/* Tema compartido: colores de la propuesta de creadores aprobada. */
:root {
    --verde-logo: #296e17;
    --fondo: #ffffff;
    --panel: #f5f7f4;
    --borde: var(--verde-logo);
    --texto: #142017;
    --acento: var(--verde-logo);
    --bien: var(--verde-logo);
}
body { background: #fff; color: var(--texto); }
#lluvia { opacity: .65; }
main { background: rgba(255,255,255,.94); }
h1 { text-shadow: 0 0 8px rgba(63,140,41,.12); }
.logo { background: rgba(255,255,255,.88); }
.logo img { filter: brightness(0) saturate(100%) invert(33%) sepia(49%) saturate(741%) hue-rotate(62deg) brightness(93%) contrast(93%); }
form, .informe, .tarjeta, .mensaje, nav, .logo {
    box-shadow: 0 0 14px rgba(63,140,41,.10), 0 2px 8px rgba(20,32,23,.06);
}
nav { background: #f3f6f1; }
main > h1, main > h2, main > h3, main > p:not(.mensaje), main > ul, main > ol { background: rgba(255,255,255,.88); }
.tarjeta h3 { color: var(--texto); }
.nota, .ficha-etiqueta, .dato-etiqueta, .fuente-linea, .disponible { color: #52634f; }
input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="checkbox"], select, select option, textarea {
    background-color: #fff; color: var(--acento); border-color: var(--borde);
}
textarea { font-family: inherit; }
input::placeholder, textarea::placeholder { color: #52634f; }
input:focus, select:focus, textarea:focus { box-shadow: 0 0 8px rgba(63,140,41,.25); }
input[type="checkbox"]:checked { background: var(--verde-logo); }
select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%23296e17' stroke-width='2'/></svg>");
    background-repeat: no-repeat;
    background-position: right .8rem center;
}
button, a.boton-enlace { border-color: var(--verde-logo); box-shadow: 0 2px 8px rgba(20,32,23,.06); }
button, button:hover { background: var(--verde-logo); color: #fff; }
button.secundario, a.boton-enlace { background: #fff; color: var(--verde-logo); border-color: var(--verde-logo); }
button.secundario:hover { background: #edf6e8; }
a.boton-enlace:hover { background: var(--verde-logo); color: #fff; }
button.enlace { background: none; box-shadow: none; color: var(--texto); }
button.enlace:hover { background: none; color: var(--acento); }
.chip, .avatar, .barra, .direccion { background: #edf5e8; }
.barra-no, .punto.no { background: #707b6c; }
.barra-duda, .punto.duda { background: #a0aa9a; }
.ficha-valor.duda, .e-info, .e-desconocido, .hallazgo.duda .etiqueta { color: #52634f; }
.mensaje.ok, .chip-ok, .hallazgo.ok, .accion-recomendado { background: #edf6e8; color: #245d19; }
.mensaje.error, .accion-urgente, .gravedad-alta { background: #fff0f0; color: #8b1e23; }
.mensaje.error { border-color: #b23b43; border-left-color: #b23b43; }
.mensaje.aviso, .accion-importante, .aviso-ley { background: #fff6e2; color: #694300; }
.mensaje.aviso { border-color: #9b690c; border-left-color: #9b690c; }
.riesgo-medio .riesgo-numero, .riesgo-medio .riesgo-nivel, .nivel-medio { color: #746000; }
.riesgo-alto .riesgo-numero, .riesgo-alto .riesgo-nivel, .nivel-alto, .hallazgo.alerta .etiqueta { color: #895400; }
.riesgo-critico .riesgo-numero, .riesgo-critico .riesgo-nivel, .nivel-critico { color: #a11f28; }
.etiqueta-prioridad.urgente, .etiqueta-gravedad.alta, .clave-plaintext, .clave-easytocrack { color: #a11f28; border-color: #a11f28; }
.etiqueta-prioridad.importante, .etiqueta-gravedad.media, .clave-hardtocrack, .chip-cierre-medium, .e-atencion { color: #895400; border-color: #895400; }
.chip-cierre-hard, .chip-cierre-limited, .chip-cierre-impossible, .e-critico { color: #a11f28; border-color: #a11f28; }
.tabla td, .tabla th { border-color: #c9d9c3; }
main .plan-caja { background: radial-gradient(ellipse at 100% 0%, #cde8bc 0%, #e8f3e1 38%, #f5f8f2 72%, #fff 100%); }
main .plan-opcion input:checked + .plan-caja { border-color: var(--verde-logo); box-shadow: 0 0 14px rgba(41,110,23,.25); }
main .plan-precio { text-shadow: 0 0 8px rgba(41,110,23,.12); }
main .plan-precio small, main .plan-caja ul, .cripto-caja small { color: #52634f; }
main .plan-consultas { color: var(--verde-logo); }
main .plan-cinta { background: var(--verde-logo); color: #fff; }
.metodo input:checked + span { background: var(--verde-logo); color: #fff; }
.cripto-opcion input:checked + .cripto-caja { box-shadow: 0 0 10px rgba(41,110,23,.25); }
.grafica line { stroke: #c9d9c3; }
.grafica polyline { stroke: var(--verde-logo); }

/* Laboratorio: mismas dimensiones y estados, superficies claras. */
main .lab .intro, main .lab .notice { color: #52634f; }
main .lab .card { background: #f0f4ed; border-color: var(--verde-logo); }
main .lab .numero { background: var(--verde-logo); color: #fff; }
main .lab .zona-carga { border-color: var(--verde-logo); }
main .lab .zona-carga.arrastrando { background: #e5f1dc; border-color: var(--verde-logo); }
main .lab .zona-carga:focus-within { outline-color: var(--verde-logo); }
main .lab .boton { background: var(--verde-logo); border-color: var(--verde-logo); color: #fff; }
main .lab .boton.secundario { background: #fff; color: var(--verde-logo); border-color: var(--verde-logo); }
main .lab .resumen strong, main .lab th, main .lab summary, main .lab .perfil h2 { color: var(--verde-logo); }
main .lab td, main .lab th { border-color: #c9d9c3; }
main .lab .etiqueta { background: #e5f1dc; color: #245d19; }
main .lab .ocupado { background: #fff6e2; color: #694300; border-left-color: #9b690c; }
main .lab progress { accent-color: var(--verde-logo); }
main .lab .bubble { background: #f5f7f4; border-left-color: var(--verde-logo); }
main .lab .bubble b { color: var(--verde-logo); }
main .lab .pasos a, main .lab .pasos a[data-estado="listo"] { border-color: var(--verde-logo); color: var(--verde-logo); }
main .lab .pasos a[data-estado="actual"] { background: #e5f1dc; border-color: var(--verde-logo); color: #245d19; }
main .lab .estado-flujo, main .lab .resultado-listo { background: #eaf4e3; border-color: var(--verde-logo); color: var(--texto); }
main .lab button:focus-visible, main .lab a:focus-visible, main .lab summary:focus-visible { outline-color: var(--verde-logo); }
