@import "https://fonts.googleapis.com/css2?family=Syne:wght@600;700;800&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400;500&display=swap";
:root{--bg-primary:#090c0f;--bg-secondary:#0f1318;--bg-card:#131920;--bg-hover:#1a2230;--accent-green:#00ff94;--accent-amber:#f5a623;--accent-red:#f44;--accent-blue:#4a9eff;--text-primary:#f0f4f8;--text-secondary:#8a9bae;--text-tertiary:#4a5568;--text-number:#fff;--border-default:#ffffff14;--border-accent:#00ff944d;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;min-height:100vh}.scanline-bg{position:relative;overflow:hidden}.scanline-bg:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00ff9403 2px 4px);position:fixed;inset:0}.grid-bg{background-image:linear-gradient(var(--border-default) 1px, transparent 1px), linear-gradient(90deg, var(--border-default) 1px, transparent 1px);background-size:40px 40px}.card{background:var(--bg-card);border:1px solid var(--border-default);transition:border-color .2s,transform .2s}.card:hover{border-color:#ffffff24;transform:scale(1.005)}.card-glow{border-left:4px solid var(--accent-green)}.btn-primary{background:var(--accent-green);color:#090c0f;font-family:var(--font-mono);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border:none;padding:12px 28px;font-size:14px;font-weight:500;transition:opacity .2s,transform .15s}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-outline{color:var(--accent-green);border:1px solid var(--border-accent);font-family:var(--font-mono);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;padding:10px 24px;font-size:12px;transition:background .2s}.btn-outline:hover{background:#00ff9414}.upload-zone{background:var(--bg-secondary);border:1.5px dashed #00ff9459;justify-content:center;align-items:center;width:100%;max-width:500px;margin:0 auto;padding:52px 40px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.upload-zone:hover,.upload-zone-active{border-color:var(--accent-green);background:#00ff940a;box-shadow:0 0 30px #00ff9414}.spinner{border:2px solid #00ff9433;border-top-color:var(--accent-green);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-pulse{background:var(--bg-hover);border-radius:2px;animation:1.6s ease-in-out infinite pulse;display:block}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.metric-bar{background:var(--border-default);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:24px;display:grid}.metric-card{background:var(--bg-card);padding:20px 24px;animation:.4s ease-out both slide-up}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.metric-label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:8px;font-size:10px}.metric-value{font-family:var(--font-mono);color:var(--text-number);margin-bottom:6px;font-size:28px;font-weight:700;line-height:1}.charts-row{grid-template-columns:60% 40%;gap:16px;margin-bottom:16px;display:grid}.chart-fade-in{animation:.5s ease-out .4s both fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.prediction-panel{background:var(--bg-card);border:1px solid var(--border-default);border-left:4px solid var(--accent-green);gap:0;margin-bottom:16px;padding:32px;display:flex;box-shadow:0 0 40px #00ff940d}.slide-in-right{animation:.5s ease-out .6s both slide-right}@keyframes slide-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.section-heading{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-primary);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.section-heading:before{content:"";background:linear-gradient(90deg, var(--accent-green), #4a9eff99);width:20px;height:2px;display:inline-block}.chart-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);margin-bottom:14px;font-size:12px}.savings-simulator{padding:20px}.savings-simulator .sim-title{font-family:var(--font-mono);color:var(--text-primary);text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:700}.savings-simulator .sim-subtitle{font-family:var(--font-body);color:var(--text-secondary);margin-top:6px;font-size:14px}.savings-simulator .sim-save-label{font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px}.savings-simulator .sim-save-amount{font-family:var(--font-mono);color:var(--accent-green);margin:0;font-size:24px;font-weight:700}.savings-simulator .sim-save-note{color:var(--text-secondary);font-size:12px}.savings-simulator .sim-save-box{border:2px solid var(--accent-green);text-align:center;background:#00ff9414;border-radius:8px;padding:16px 24px;box-shadow:0 0 40px #00ff9426,inset 0 0 20px #00ff9414}.savings-simulator .sim-save-box .sim-save-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-secondary);text-transform:uppercase;margin:0 0 8px;font-size:13px}.savings-simulator .sim-save-box .sim-save-amount{font-family:var(--font-mono);color:var(--accent-green);text-shadow:0 0 20px #00ff9466;margin:0 0 6px;font-size:36px;font-weight:800;line-height:1}.savings-simulator .sim-save-box .sim-save-note{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);margin:0;font-size:11px}.savings-simulator .sim-cat-name{font-family:var(--font-mono);color:var(--text-primary);font-size:12px}.savings-simulator .sim-cat-value{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.savings-simulator .sim-slider-pct{color:var(--text-secondary)}.savings-simulator .sim-slider-saved{font-family:var(--font-mono);color:var(--accent-green)}.insights-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.insight-card{background:var(--bg-card);border:1px solid var(--border-default);border-left:4px solid;padding:20px;transition:transform .2s,border-color .2s;animation:.4s ease-out both slide-up}.insight-card:hover{transform:scale(1.01)}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-default);flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:24px 0;display:flex;position:sticky;top:0}.sidebar-logo{border-bottom:1px solid var(--border-default);margin-bottom:16px;padding:0 24px 24px}.nav-item{color:var(--text-tertiary);cursor:pointer;font-size:13px;font-family:var(--font-body);align-items:center;gap:10px;padding:10px 24px;transition:color .15s,background .15s;display:flex}.nav-item:hover{color:var(--text-primary);background:#ffffff08}.nav-item.active{color:var(--text-primary);border-left:2px solid var(--accent-green);background:#00ff940f;padding-left:22px}.dashboard-layout{min-height:100vh;display:flex}.dashboard-main{flex:1;padding:32px;overflow-y:auto}@media (max-width:1200px){.sidebar{width:60px}.sidebar-logo span,.nav-item span{display:none}.nav-item{justify-content:center;padding:12px}.charts-row{grid-template-columns:1fr}}@media (max-width:768px){.metric-bar{grid-template-columns:1fr 1fr}.insights-grid{grid-template-columns:1fr}.prediction-panel{flex-direction:column}.dashboard-main{padding:16px}}.logo-text{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:22px;font-weight:700}.logo-dot{color:var(--accent-green)}.trust-strip{flex-wrap:wrap;justify-content:center;gap:32px;display:flex}.trust-item{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono);align-items:center;gap:8px;display:flex}.error-card{color:var(--accent-red);font-family:var(--font-mono);background:#ff44440f;border:1px solid #ff44444d;max-width:500px;margin:0 auto;padding:16px 20px;font-size:13px}.cached-badge{color:var(--accent-blue);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;background:#4a9eff1a;border:1px solid #4a9eff4d;align-items:center;gap:6px;padding:3px 8px;font-size:10px;display:inline-flex}@page{size:A4;margin:18mm}@media print{html,body{color:#000!important;background:#fff!important}.sidebar,.nav-item,.logo-text,.btn-outline,#download-report-btn{display:none!important}.dashboard-main{width:100%!important;padding:12mm!important}.card{box-shadow:none!important;background:#fff!important;border:none!important}.section-heading,.chart-title{color:#111!important}img,svg{max-width:100%!important;height:auto!important}table{page-break-inside:avoid!important;border-collapse:collapse!important}tr{page-break-inside:avoid!important}.prediction-panel,.insights-grid{break-inside:avoid!important}a{color:#000!important;text-decoration:none!important}.no-print{display:none!important}}
