:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--surface:#fff;--text:#0f172a;--muted:#64748b;--accent:#1d4ed8;--accent-soft:#dbeafe;--border:#e2e8f0;--radius:14px;--shadow:0 8px 30px #0f172a0f;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #eef2f8 0%, var(--bg) 32%, #f8fafc 100%);min-height:100dvh;color:var(--text);margin:0;font-size:16px;line-height:1.5}#app{max-width:720px;margin:0 auto;padding:1.25rem 1rem 2rem}.app-header{text-align:center;margin-bottom:1.5rem}.app-header h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,4vw,1.75rem);font-weight:700}.tagline{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1rem 1.1rem}.presets,.custom-range{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.65rem;display:flex}.presets:last-child,.custom-range:last-child{margin-bottom:0}.label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);width:100%;font-size:.75rem;font-weight:600}@media (width>=520px){.label{width:auto;margin-right:.25rem}}.chip{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:999px;padding:.4rem .95rem;font-size:.9rem;transition:background .15s,border-color .15s,box-shadow .15s}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chip-active{border-color:var(--accent);background:var(--accent-soft);color:#1e3a8a;font-weight:600}.custom-range input[type=date]{border:1px solid var(--border);font:inherit;color:var(--text);background:#fff;border-radius:8px;padding:.35rem .5rem}.dash{color:var(--muted)}.btn-apply{cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.45rem 1rem;font-size:.9rem;font-weight:600}.btn-apply:hover{filter:brightness(1.05)}.range-summary{color:#1e293b;margin:.5rem 0 0;font-size:.9rem;font-weight:500}.refresh-row{align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.btn-refresh{border:1px solid var(--border);cursor:pointer;color:#1e293b;background:#fff;border-radius:8px;padding:.4rem .8rem;font-size:.85rem;font-weight:600;position:relative}.btn-refresh:disabled{cursor:not-allowed;opacity:.55}.btn-refresh.is-busy{color:#334155}.btn-refresh.is-busy:after{content:"";vertical-align:-.12rem;border:2px solid #93c5fd;border-top-color:#1d4ed8;border-radius:50%;width:.8rem;height:.8rem;margin-left:.45rem;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.refresh-info{color:var(--muted);font-size:.75rem}.form-error{color:#b91c1c;margin:.5rem 0 0;font-size:.9rem}.cards{flex-direction:column;gap:1.25rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1rem .85rem}.card header h2{margin:0;font-size:1.1rem;font-weight:650}.meta{color:var(--muted);margin:.2rem 0 .75rem;font-size:.8rem}.chart-wrap{height:min(42vh,320px);min-height:200px;position:relative}.chart-wrap canvas{display:block}.loading{color:var(--muted);pointer-events:none;z-index:1;place-items:center;font-size:.95rem;display:grid;position:absolute;inset:0}.loading[hidden]{display:none}.footnote{color:var(--muted);margin:.5rem 0 0;font-size:.75rem}.hist-note{color:#92400e;margin:.35rem 0 0;font-size:.75rem}.app-footer{text-align:center;margin-top:2rem}.app-footer p{color:var(--muted);margin:0;max-width:34rem;margin-inline:auto;font-size:.72rem;line-height:1.45}
