:root{--bg:#f6f7f9;--panel:#fff;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--grid:#eef0f3;--actual:#2563eb;--forecast:#16a34a;--p90:#ea580c;--error:#b91c1c;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}main{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:24px 16px 48px;display:flex}h1{margin:0 0 4px;font-size:28px}h2{margin:0 0 4px;font-size:18px}.muted{color:var(--muted);margin:0;font-size:14px}.panel,.controls,.card{background:var(--panel);border:1px solid var(--border);border-radius:10px}.panel{padding:16px}.controls{flex-wrap:wrap;align-items:end;gap:16px 24px;padding:16px;display:flex}.controls label{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.controls input[type=date]{font:inherit;border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-weight:400}.controls .horizon{flex:1;min-width:260px}.controls small{color:var(--muted);font-weight:400}.controls input[type=range]{width:100%;accent-color:var(--actual)}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.card{padding:14px 16px}.card-label{color:var(--muted);font-size:13px}.card-value{margin:4px 0;font-size:24px;font-weight:700}.card-hint{color:var(--muted);font-size:12px}.insight{border-left:4px solid var(--actual);background:#eff6ff;border-radius:6px;margin:12px 0 0;padding:12px 16px;font-size:15px}.notice{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin:0;padding:12px 16px}.notice.error{color:var(--error);border-color:var(--error)}.tooltip{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;line-height:1.6;box-shadow:0 4px 12px #00000014}
