:root{
    --vino:#5F1B2D;
    --vino-hover:#4A1523;
    --dorado:#CD975D;
    --blanco:#FFFFFF;
    --gris:#F6F4F2;
    --texto:#333333;
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family:'Segoe UI',sans-serif;

    background:
    linear-gradient(
    135deg,
    #F8F3EF 0%,
    #F2ECE6 100%);

    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:20px;
}

.container{
    width:100%;
    max-width:500px;
}

.card{

    background:#FFFFFF;

    border-top:8px solid var(--vino);

    border-radius:18px;

    padding:30px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.12);

}

.header{
    text-align:center;
    margin-bottom:25px;
}

.logo-ieped{

    max-width:250px;
    width:100%;

    margin-bottom:15px;
}

.header h2{

    color:var(--vino);

    margin:0;

    font-size:22px;
}

.subtitulo{

    color:var(--dorado);

    margin-top:8px;

    font-size:13px;

    font-weight:600;
}

label{

    display:block;

    margin-bottom:8px;

    color:var(--vino);

    font-weight:700;
}

input{

    width:100%;

    padding:14px;

    border-radius:10px;

    border:1px solid #D6D6D6;

    margin-bottom:18px;

    font-size:15px;
}

input:focus{

    outline:none;

    border-color:var(--vino);

    box-shadow:
    0 0 0 3px rgba(95,27,45,.10);
}

button{

    width:100%;

    padding:14px;

    border:none;

    border-radius:10px;

    background:var(--vino);

    color:white;

    font-weight:700;

    cursor:pointer;

    transition:.3s;
}

button:hover{

    background:var(--vino-hover);
}

button:disabled{

    opacity:.6;
    cursor:not-allowed;
}

video{

    width:100%;

    border-radius:15px;

    margin-top:15px;

    border:3px solid #EFE7E0;
}

.success{

    color:#2E7D32;

    font-weight:700;

    text-align:center;

    margin-bottom:15px;
}

.contador{

    text-align:center;

    font-weight:700;

    color:var(--vino);

    margin-top:10px;
}

.hidden{
    display:none;
}

/* EMPLEADO */

.empleado-info{

    text-align:center;

    background:#FAF8F6;

    border:1px solid #E8DCCF;

    border-radius:12px;

    padding:15px;

    margin-bottom:15px;
}

.empleado-info h3{

    margin:0;

    color:var(--vino);

    font-size:22px;
}

.empleado-info p{

    margin-top:8px;

    color:var(--dorado);

    font-weight:700;
}

/* LOADING */

.loading{

    text-align:center;

    margin-top:20px;
}

.loading p{

    color:var(--vino);

    font-weight:700;
}

.spinner{

    width:45px;
    height:45px;

    margin:auto;

    border:4px solid #EAEAEA;

    border-top:4px solid var(--vino);

    border-radius:50%;

    animation:spin 1s linear infinite;
}

@keyframes spin{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

/* SUCCESS */

.success-card{

    text-align:center;
}

.success-icon{

    width:70px;
    height:70px;

    margin:auto;

    background:#2E7D32;

    color:white;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:34px;

    font-weight:bold;

    margin-bottom:15px;
}

/* MODAL */

.modal{

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(95,27,45,.85);

    justify-content:center;
    align-items:center;

    z-index:999;

    display:flex;
}

.modal.hidden{
    display:none;
}

.modal-content{

    background:white;

    width:90%;
    max-width:400px;

    padding:25px;

    border-radius:18px;

    text-align:center;

    animation:fadeUp .25s ease;
}

.modal-icon{

    font-size:52px;

    margin-bottom:10px;
}

.modal-content h2{

    color:var(--vino);
}

.modal-success .modal-icon{

    color:#2E7D32;
}

.modal-error .modal-icon{

    color:#C62828;
}

.footer-ieped{

    text-align:center;

    margin-top:15px;

    color:var(--vino);

    font-size:12px;

    font-weight:600;
}

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}
