:root{color:#102033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#edf2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.page{--accent:#16845f;--accent-strong:#0f6b4c;--soft:#e7f7ef;background:linear-gradient(135deg, #ffffffb8, #ffffff2e), linear-gradient(135deg, var(--soft), #eff4f8 48%, #f8fafc);min-height:100vh;padding:28px;transition:background .24s}.page.expensive{--accent:#c02f31;--accent-strong:#971f22;--soft:#fde7e7}.dashboard-shell{width:min(1180px,100%);margin:0 auto}.topbar,.section-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.topbar{margin-bottom:22px}.topbar-actions{align-items:center;gap:10px;display:flex}.segmented-control,.view-control,.range-control{background:#ffffffd1;border:1px solid #0f172a24;border-radius:8px;align-items:center;gap:4px;height:44px;padding:4px;display:inline-flex}.segmented-control button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:88px;height:34px;font-size:14px;font-weight:800}.view-control button,.range-control button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:72px;height:34px;font-size:14px;font-weight:800}.segmented-control button.active,.view-control button.active,.range-control button.active{color:#fff;background:var(--accent)}.eyebrow{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2{color:#0f172a;margin:0}h1{font-size:clamp(30px,4vw,52px);line-height:1.02}h2{font-size:24px}.icon-button{color:#0f172a;cursor:pointer;background:#ffffffd1;border:1px solid #0f172a24;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.cache-button{color:#334155;cursor:pointer;background:#ffffffd1;border:1px solid #0f172a24;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 13px;font-weight:800;display:inline-flex}.cache-button:disabled{cursor:wait;opacity:.62}.alert{color:#971f22;background:#fff2f2;border:1px solid #c02f3147;border-radius:8px;margin-bottom:18px;padding:14px 16px;font-weight:700}.hero-panel,.stat-card,.chart-panel,.analysis-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border:1px solid #0f172a1a;box-shadow:0 24px 60px #0f172a1c}.hero-panel{border-top:8px solid var(--accent);border-radius:8px;grid-template-columns:minmax(210px,1fr) minmax(260px,1.15fr);align-items:center;gap:28px;padding:clamp(24px,5vw,46px);display:grid}.status-block{align-items:center;gap:16px;display:flex}.status-icon{color:#fff;background:var(--accent);width:66px;height:66px;box-shadow:0 16px 28px color-mix(in srgb, var(--accent) 36%, transparent);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.status-label{color:var(--accent-strong);font-size:clamp(34px,6vw,74px);font-weight:900;line-height:.92;display:block}.status-block p{color:#475569;margin:10px 0 0;font-weight:700}.price-block{text-align:right;justify-self:end}.price-block strong{color:#0f172a;font-size:clamp(54px,10vw,118px);line-height:.9;display:block}.price-block span{color:#475569;font-size:24px;font-weight:800}.meta-grid{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.meta-grid div{color:#334155;background:#f8fafcd1;border:1px solid #0f172a14;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:12px 14px;font-weight:700;display:flex}.stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0;display:grid}.stat-card{border-radius:8px;align-items:center;gap:14px;padding:18px;display:flex}.stat-icon{width:42px;height:42px;color:var(--accent-strong);background:var(--soft);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.stat-card span{color:#64748b;font-size:13px;font-weight:700;display:block}.stat-card strong{color:#0f172a;margin-top:4px;font-size:clamp(20px,2.3vw,30px);display:block}.chart-panel{border-radius:8px;padding:22px}.history-panel,.range-control{margin-bottom:16px}.history-chart-wrap{height:430px}.analysis-panel{border-radius:8px;margin-top:16px;padding:22px}.section-heading{margin-bottom:18px}.section-heading>span{color:#64748b;text-align:right;font-size:13px;font-weight:700}.chart-wrap{width:100%;height:360px}.upload-button{color:#fff;background:var(--accent);cursor:pointer;border:1px solid #0f172a24;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:800;display:inline-flex}.upload-button input{display:none}.empty-analysis{color:#475569;text-align:center;background:#f8fafcd1;border:1px dashed #0f172a2e;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:96px;font-weight:800;display:flex}.analysis-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;display:grid}.insight-list{gap:10px;margin:16px 0;display:grid}.match-warning{color:#92400e;background:#fff7ed;border:1px solid #b4530947;border-radius:8px;margin-top:16px;padding:12px 14px;font-weight:800}.insight-list div{border-left:4px solid var(--accent);color:#334155;background:#f8fafce6;border-radius:8px;padding:12px 14px;font-weight:700}.usage-chart{width:100%;height:260px;margin-top:8px}.table-wrap{margin-top:18px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px;font-size:14px}th,td{text-align:right;border-bottom:1px solid #0f172a14;padding:12px 14px}th:first-child,td:first-child{text-align:left}th{color:#475569;text-transform:uppercase;background:#f8fafceb;font-size:12px;font-weight:900}td{color:#0f172a;font-weight:700}@media (width<=760px){.page{padding:18px}.topbar,.section-heading,.topbar-actions{align-items:flex-start}.topbar,.topbar-actions,.section-heading{flex-direction:column}.segmented-control,.view-control,.range-control,.cache-button,.upload-button{width:100%}.segmented-control button,.view-control button,.range-control button{flex:1}.hero-panel,.stats-grid,.meta-grid,.analysis-summary{grid-template-columns:1fr}.price-block{text-align:left;justify-self:start}.chart-wrap{height:310px}}
