/* Sitio de herramientas de Polly (web/): mismo tono del kit (navy, crema, oro), hecho para el celular primero. */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@600;700&family=Nunito:wght@400;700;800&display=swap');
:root{--navy:#163053;--navy2:#0b1730;--crema:#fff6e5;--oro:#b8860b;--oro2:#fcdf87;--gris:#4a5568;--claro:#f6f7fb;--linea:#dfe3ec;--verde:#276749;--rojo:#9b2c2c;--wa:#25d366}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;font-family:'Nunito',system-ui,sans-serif;font-size:17px;line-height:1.55;color:#1a202c;background:#fff}
a{color:var(--navy)}
header.cab{background:var(--navy);color:var(--crema);padding:14px max(16px,env(safe-area-inset-left,0px))}
header.cab .in{max-width:860px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
header.cab a.marca{display:flex;align-items:center;gap:10px;color:var(--crema);text-decoration:none;font-family:'Quicksand';font-weight:700;font-size:20px}
header.cab a.marca img{width:36px;height:36px;border-radius:50%;background:#fff;padding:3px}
header.cab nav a{color:var(--crema);opacity:.9;text-decoration:none;font-size:15px;margin-left:14px}
main{max-width:860px;margin:0 auto;padding:22px max(16px,env(safe-area-inset-left,0px)) 40px max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:'Quicksand',sans-serif;color:var(--navy);line-height:1.15;text-wrap:balance}
h1{font-size:clamp(26px,5.5vw,36px);margin:6px 0 10px}
h2{font-size:22px;margin:30px 0 10px}
h3{font-size:18px;margin:18px 0 6px}
p.lead{font-size:18px;color:var(--gris);margin:0 0 18px}
.tarjeta{background:var(--claro);border:1px solid var(--linea);border-radius:16px;padding:18px;margin:14px 0}
form.herr{display:grid;gap:14px}
form.herr label{display:grid;gap:6px;font-weight:700;font-size:15px}
form.herr input,form.herr select{font:inherit;padding:11px 12px;border:1px solid #b9c0cf;border-radius:10px;background:#fff;min-width:0;width:100%}
form.herr .fila{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:560px){form.herr .fila{grid-template-columns:1fr}}
form.herr .chk{display:flex;align-items:center;gap:10px;font-weight:600}
form.herr .chk input{width:auto}
button.btn{font:inherit;font-weight:800;font-family:'Quicksand';font-size:17px;padding:13px 22px;border:0;border-radius:12px;background:var(--navy);color:var(--crema);cursor:pointer}
button.btn:hover{background:#1f3f6b}
.res{display:none;margin-top:18px}
.res.visible{display:block}
.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:12px 0}
.kpi{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:12px 14px}
.kpi b{display:block;font-family:'Quicksand';font-size:22px;color:var(--navy)}
.kpi span{font-size:14px;color:var(--gris)}
table{width:100%;border-collapse:collapse;font-size:15px;margin:10px 0}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--linea);vertical-align:top}
th{color:var(--navy);background:#fff}
.estado-pasada{color:var(--gris)} .estado-hoy{color:var(--verde);font-weight:800} .estado-proxima{color:var(--navy);font-weight:700}
.polly{background:var(--navy);color:var(--crema);border-radius:18px;padding:20px;margin:26px 0 10px;display:grid;gap:10px}
.polly h2{color:var(--oro2);margin:0;font-size:21px}
.polly p{margin:0}
.polly a.wa{display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#fff;text-decoration:none;font-weight:800;font-family:'Quicksand';padding:12px 18px;border-radius:999px;width:fit-content}
.polly small{opacity:.8}
.nota{font-size:14px;color:var(--gris);margin:10px 0}
.aviso{border-left:4px solid var(--oro);background:#fffaf0;padding:10px 14px;border-radius:0 10px 10px 0;font-size:15px;margin:14px 0}
details{border:1px solid var(--linea);border-radius:12px;padding:10px 14px;margin:8px 0;background:#fff}
summary{cursor:pointer;font-weight:700;color:var(--navy)}
.grid-herr{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid-herr a{display:block;text-decoration:none;color:inherit;background:var(--claro);border:1px solid var(--linea);border-radius:16px;padding:18px}
.grid-herr a:hover{border-color:var(--navy)}
.grid-herr a b{font-family:'Quicksand';color:var(--navy);font-size:18px;display:block;margin-bottom:6px}
footer{border-top:1px solid var(--linea);margin-top:30px;padding:18px 16px 28px;font-size:14px;color:var(--gris);text-align:center}
footer a{color:var(--gris)}
.anuncio{min-height:90px;margin:18px 0;background:var(--claro);border:1px dashed var(--linea);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#a0aec0;font-size:13px}
