/* --- ESTILOS GENERALES --- */
.erm-form-container, 
.erm-ticket-container,
.erm-validator-container {
    max-width: 600px;
    margin: 20px auto;
    padding: 25px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.erm-form-container h2, 
.erm-ticket-container h2,
.erm-validator-container h2 {
    text-align: center;
    color: #333;
    margin-top: 0;
    margin-bottom: 20px;
}

/* --- ESTILOS PARA FORMULARIOS (Registro y Validación) --- */
.erm-form-group {
    margin-bottom: 20px;
}

.erm-form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #555;
}

.erm-form-group input[type="text"],
.erm-form-group input[type="email"],
.erm-validation-form input[type="text"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; 
    font-size: 1em;
}

.erm-form-group input[type="submit"],
.erm-button {
    width: 100%;
    padding: 12px;
    background-color: #0073aa;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    display: inline-block;
}

.erm-form-group input[type="submit"]:hover,
.erm-button:hover {
    background-color: #005a87;
}

/* --- ESTILOS PARA EL VALIDADOR FRONTEND --- */
.erm-validation-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccd0d4;
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
}

.erm-validation-form input[type="text"] {
    font-size: 1.4em;
    text-align: center;
}

#erm-validation-result {
    margin-top: 20px;
    padding: 20px;
    border-radius: 4px;
    text-align: center;
    font-size: 1.1em;
    line-height: 1.6;
    display: none; /* Se mostrará con JS */
}

#erm-validation-result.notice-success {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    display: block;
}

#erm-validation-result.notice-error,
#erm-validation-result.notice-warning {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    display: block;
}
#erm-validation-result.notice-warning {
    background-color: #fff3cd;
    border-color: #ffeeba;
    color: #856404;
}


/* --- ESTILOS PARA EL TICKET VIRTUAL --- */
.erm-ticket {
    border: 2px dashed #0073aa;
    padding: 20px;
    margin-top: 20px;
    text-align: center;
    background-color: #fff;
}

.erm-ticket h3 {
    margin-top: 0;
    color: #0073aa;
}

#erm-qrcode {
    margin: 20px auto;
    padding: 10px;
    background: white;
    display: inline-block;
    border: 1px solid #eee;
}

#erm-qrcode img {
    display: block;
}

.erm-instructions {
    margin-top: 15px;
    font-style: italic;
    color: #777;
}

/* --- ESTILOS PARA NOTIFICACIONES GENERALES --- */
.erm-notice {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    border-left-width: 4px;
    border-left-style: solid;
}
.erm-notice.erm-error {
    background-color: #f8d7da;
    border-color: #f5c6cb;
    color: #721c24;
}
.erm-notice.erm-warning {
    background-color: #fff3cd;
    border-color: #ffeeba;
    color: #856404;
}

/* Estilos para los estados en la tabla de admin */
.erm-status-registrado {
    display: inline-block;
    padding: 2px 8px;
    background-color: #ffb900; /* Amarillo */
    color: #000;
    border-radius: 3px;
    font-weight: bold;
}
.erm-status-ingresado {
    display: inline-block;
    padding: 2px 8px;
    background-color: #4caf50; /* Verde */
    color: #fff;
    border-radius: 3px;
    font-weight: bold;
}
