/* ==================== BASE Y SUPERFICIES ==================== */
:root{color-scheme:dark;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-synthesis:none;color:#f5f8ff;background:#142e50;--muted:#c1cee2;--line:#ffffff20;--glass:#162f50bd;--accent:#a9eced}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 18% 2%,#6d9dc876,transparent 46%),linear-gradient(155deg,#335f89 0%,#203f68 35%,#10233f 80%);background-attachment:fixed}body[data-cielo=noche]{background:radial-gradient(ellipse at 75% 5%,#536a9b55,transparent 42%),linear-gradient(155deg,#243757,#162945 50%,#0e1c33)}body[data-cielo=lluvia]{background:radial-gradient(ellipse at 20% 0%,#9cacbf55,transparent 42%),linear-gradient(155deg,#50677d,#283e57 45%,#16263d)}
main{max-width:1060px;margin:auto;padding:26px 28px 40px}a{color:#b8ebf2;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}button,a,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #b4f5ee;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}
h1,h2,h3,p{margin:0}h2{font-size:15px;font-weight:600;letter-spacing:.1px}h3{font-size:13px;font-weight:500;color:var(--muted)}.glass{background:var(--glass);border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 35px #06182f14}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-note{font-size:12px;line-height:1.6;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.brand{font-size:14px;font-weight:600;letter-spacing:.1px;color:#f5f8ff;text-decoration:none}.app-header nav{display:flex;gap:18px}.app-header nav a{font-size:12px;text-decoration:none;color:#d2e1f3}
details{font-size:12px;color:var(--muted);line-height:1.75}summary{cursor:pointer;color:#e2edfc;font-size:12px;list-style-position:outside;margin-left:12px}details>p{margin-top:12px}footer{font-size:11px;line-height:1.8;color:#bdcde1;padding:12px 8px}footer p+p{margin-top:8px}.error,#conexion{color:#ffe0ae}
/* ==================== SENSOR OPCIONAL Y REFERENCIAS ==================== */
.sensor-panel,.references-panel,.air-panel{padding:22px;margin:18px 0}.badge{font-size:10px;padding:7px 10px;border:1px solid #ffffff35;border-radius:20px;white-space:nowrap;color:#d9e4f5}.badge.live{color:#a4f5d5;border-color:#8bdeb45c}.sensor-values{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px 0}.sensor-values span{font-size:12px;color:var(--muted)}.sensor-values p{font-size:34px;margin-top:6px}.comparison{border-top:1px solid var(--line);padding:16px 0}.comparison p{font-size:14px;margin-top:8px}#historial-sensor{margin-top:18px}#ultima-lectura{margin-top:12px}#grafico{width:100%;height:auto;margin-top:15px}.gridline{stroke:#ffffff20;stroke-width:1}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.reference-grid p{font-size:24px;margin:8px 0}.reference-grid small{font-size:10px;color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;margin-top:15px}th{font-size:11px;color:var(--muted);font-weight:500}td,th{padding:12px 10px;border-bottom:1px solid var(--line);min-width:72px}td:first-child,th:first-child{padding-left:0;min-width:170px}td small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.air-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:14px}.air-grid span{font-size:12px;color:var(--muted)}.air-grid p{font-size:21px;margin-top:8px}
@media(max-width:640px){main{padding:20px 16px 30px}.app-header{margin-bottom:20px;gap:10px}.brand{font-size:12px}.app-header nav{gap:12px}.app-header nav a{font-size:11px}.glass{border-radius:20px}.sensor-panel,.references-panel,.air-panel{padding:18px}.sensor-panel .panel-heading{align-items:flex-start}.sensor-panel h2{max-width:170px}.reference-grid{gap:10px}.reference-grid h3{font-size:11px}.reference-grid p{font-size:20px}.air-grid{grid-template-columns:1fr 1fr}.panel-heading>.section-note{font-size:10px;text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
