:root{
  --sun:#D97706;--sky:#0369A1;--sky-d:#025E8C;--navy:#F8FAFC;--navy2:#FFFFFF;--panel-c:#DBEAFE;
  --leaf:#059669;--leaf-d:#047857;--bg:#F1F5F9;--surface:#FFFFFF;--surface2:#F8FAFC;
  --border:#CBD5E1;--border2:#E2E8F0;--text:#0F172A;--text2:#475569;--text3:#64748B;
  --danger:#DC2626;--warn:#D97706;--radius:10px;
  --glow-sky:0 0 20px rgba(3,105,161,0.12);--glow-leaf:0 0 20px rgba(5,150,105,0.12);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{color-scheme:light;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:13px;overflow:hidden;}

/* SCROLLBAR */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}

/* HEADER */
.hdr{background:#0F2840;border-bottom:1px solid #1A3A5C;padding:0 20px;display:flex;align-items:center;gap:14px;height:64px;position:sticky;top:0;z-index:100;}
.logo{display:flex;align-items:center;flex-shrink:0;height:58px;overflow:hidden;}
.logo-img{height:180px;width:auto;margin-left:-40px;margin-right:-30px;margin-top:8px;}
.hbadge{font-family:'DM Mono',monospace;font-size:10px;background:rgba(56,189,248,0.12);border:1px solid rgba(56,189,248,0.25);color:#7DD3FC;padding:2px 8px;border-radius:20px;white-space:nowrap;}
.hbtns{display:flex;gap:6px;align-items:center;}
.hbtn{background:transparent;border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.75);padding:5px 12px;border-radius:6px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;transition:all .15s;}
.hbtn:hover{border-color:#7DD3FC;color:#7DD3FC;}
.hbtn.pri{background:rgba(56,189,248,0.1);border-color:#7DD3FC;color:#7DD3FC;}
.proj-in{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.9);padding:5px 10px;border-radius:6px;font-family:'DM Mono',monospace;font-size:11px;width:160px;}
.proj-in:focus{outline:none;border-color:#7DD3FC;}

/* HEADER ZONES */
.hdr-left{display:flex;align-items:center;flex-shrink:0;}
.hdr-center{display:flex;align-items:center;gap:8px;flex:1;min-width:0;}
.hdr-right{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto;}
.hdr-divider{width:1px;height:24px;background:rgba(255,255,255,0.15);margin:0 4px;}

/* AUTH CTA BUTTON */
.auth-cta-btn{background:linear-gradient(135deg,#F59E0B,#D97706);color:white;border:none;padding:6px 16px;border-radius:20px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.3px;transition:all .15s;white-space:nowrap;}
.auth-cta-btn:hover{background:linear-gradient(135deg,#FBBF24,#F59E0B);transform:translateY(-1px);box-shadow:0 4px 12px rgba(245,158,11,0.3);}

/* DASHBOARD LINK IN HEADER */
.auth-dash-link{color:rgba(255,255,255,0.75);text-decoration:none;font-size:11px;font-weight:600;padding:5px 10px;border:1px solid rgba(255,255,255,0.15);border-radius:6px;transition:all .15s;white-space:nowrap;}
.auth-dash-link:hover{border-color:#7DD3FC;color:#7DD3FC;}

/* LAYOUT */
.app{display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 64px);overflow:hidden;}

/* SIDEBAR */
.sb{background:var(--navy2);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;}
.pg{border-bottom:1px solid var(--border);}
.pgh{padding:11px 16px;display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:600;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--text3);user-select:none;background:transparent;transition:all .15s;}
.pgh:hover{background:rgba(0,0,0,0.03);color:var(--text2);}
.pgh.open{color:var(--sky);background:rgba(3,105,161,0.06);}
.pghico{font-size:14px;opacity:.8;}
.pchev{margin-left:auto;font-size:10px;transition:transform .2s;opacity:.6;}
/* STEP INDICATORS (B1) */
.step-num{width:20px;height:20px;border-radius:50%;background:var(--border);color:var(--text3);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;}
.step-num.done{background:var(--leaf);color:white;}
/* TOOLTIPS (B2) */
.ttip-btn{width:16px;height:16px;border-radius:50%;background:rgba(3,105,161,0.1);border:1px solid rgba(3,105,161,0.25);color:var(--sky);font-size:10px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:4px;vertical-align:middle;line-height:1;position:relative;}
.ttip-btn:hover{background:rgba(3,105,161,0.2);}
.ttip-popup{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:10px;color:var(--text2);width:200px;box-shadow:0 4px 12px rgba(0,0,0,0.1);z-index:200;pointer-events:none;opacity:0;transition:opacity .15s;line-height:1.4;font-weight:400;text-transform:none;letter-spacing:0;}
.ttip-btn:hover .ttip-popup{opacity:1;pointer-events:auto;}
.pgh.open .pchev{transform:rotate(180deg);opacity:1;}
/* PANEL SEARCH (B5) */
.panel-search{width:100%;padding:6px 10px;border:1.5px solid var(--border);border-radius:7px;font-family:'DM Sans',sans-serif;font-size:11px;background:var(--surface);color:var(--text);margin-bottom:8px;outline:none;}
.panel-search:focus{border-color:var(--sky);}
.pb{padding:14px 16px;display:none;background:rgba(0,0,0,0.02);}
.pb.open{display:block;}

/* FORM */
.fr{margin-bottom:12px;}
.fr label{display:block;margin-bottom:4px;font-size:11px;font-weight:500;color:var(--text2);letter-spacing:.3px;}
.fr label span{color:var(--text3);font-weight:400;margin-left:4px;font-family:'DM Mono',monospace;}
input[type=text],input[type=number],select{width:100%;padding:7px 10px;border:1.5px solid var(--border);border-radius:7px;font-family:'DM Sans',sans-serif;font-size:12px;background:var(--surface);color:var(--text);transition:border-color .15s;outline:none;}
input[type=text]:focus,input[type=number]:focus,select:focus{border-color:var(--sky);background:var(--surface2);}
select option{background:var(--surface);}
input[type=range]{width:100%;accent-color:var(--sky);height:4px;}
.rrow{display:flex;align-items:center;gap:8px;}
.rrow input[type=range]{flex:1;}
.rval{font-family:'DM Mono',monospace;font-size:11px;color:var(--sky);min-width:48px;text-align:right;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}

/* RADIO GROUP */
.rg{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;}
.rg label{display:flex;align-items:center;gap:5px;padding:5px 10px;border:1.5px solid var(--border);border-radius:20px;cursor:pointer;font-size:11px;font-weight:600;transition:all .15s;color:var(--text2);user-select:none;letter-spacing:.3px;}
.rg input[type=radio]{display:none;}
.rg label:has(input[type=radio]:checked){border-color:var(--sky);background:rgba(3,105,161,0.08);color:var(--sky);}

/* CHECKBOX */
.cbrow{display:flex;align-items:center;gap:7px;margin-bottom:7px;cursor:pointer;}
.cbrow input[type=checkbox]{accent-color:var(--sky);width:14px;height:14px;cursor:pointer;}
.cbrow span{font-size:12px;color:var(--text2);}

/* CALC BUTTON */
.calc-btn{width:100%;padding:11px;border:none;border-radius:8px;cursor:pointer;font-family:'Syne',sans-serif;font-size:14px;font-weight:800;letter-spacing:.3px;background:linear-gradient(135deg,var(--sky) 0%,var(--sky-d) 100%);color:white;transition:all .2s;position:relative;overflow:hidden;}
.calc-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);pointer-events:none;}
.calc-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(3,105,161,0.3);}
.calc-btn:active{transform:translateY(0);}
.sb-footer{padding:14px 16px;border-top:1px solid var(--border);background:var(--navy2);}
.export-row{display:flex;gap:6px;margin-top:8px;}
.ebtn{flex:1;padding:6px 8px;border:1px solid var(--border2);border-radius:6px;background:transparent;color:var(--text2);font-family:'DM Sans',sans-serif;font-size:11px;cursor:pointer;transition:all .15s;}
.ebtn:hover{border-color:var(--leaf);color:var(--leaf);}

/* PRESETS */
.brand-filter-btn{padding:3px 10px;border-radius:20px;border:1.5px solid var(--sky);background:transparent;color:var(--sky);cursor:pointer;font-size:10px;font-weight:600;transition:all .15s;white-space:nowrap;}
.brand-filter-btn.active,.brand-filter-btn:hover{background:var(--sky);color:white;}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px;}
.pc{padding:9px;border:1.5px solid var(--border);border-radius:7px;cursor:pointer;transition:all .15s;background:var(--surface);}
.pc:hover,.pc.sel{border-color:var(--sky);background:rgba(3,105,161,0.06);}
.pc .br{font-size:9px;color:var(--sky);font-weight:700;text-transform:uppercase;letter-spacing:.7px;}
.pc .md{font-size:11px;font-weight:600;color:var(--text);margin:2px 0;}
.pc .sp{font-size:10px;color:var(--text3);font-family:'DM Mono',monospace;}

/* SECTION ITEMS */
.sec-list{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;}
.si{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--surface);border-radius:7px;border:1px solid var(--border);}
.si-top{display:flex;align-items:center;gap:8px;width:100%;}
.si-shape{display:flex;align-items:center;gap:8px;padding-top:4px;border-top:1px solid var(--border);}
.si-shape select{flex:1;}
.si-shape-extra{padding-top:4px;}
.sc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.sn{font-size:12px;font-weight:600;color:var(--text);}
.sd{font-size:10px;color:var(--text3);font-family:'DM Mono',monospace;margin-left:auto;}
.sdel{margin-left:6px;background:transparent;border:none;color:var(--text3);cursor:pointer;font-size:14px;line-height:1;padding:0;transition:color .15s;}
.sdel:hover{color:var(--danger);}
.add-sec-form{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;}
.add-sec-form .fr{margin:0;}
.add-sec-row{grid-column:1/-1;display:flex;gap:7px;align-items:flex-end;}
.add-sec-row .fr{flex:1;margin:0;}
.addbtn{padding:7px 12px;border:1.5px solid var(--leaf);border-radius:7px;background:rgba(52,211,153,0.08);color:var(--leaf);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s;}
.addbtn:hover{background:rgba(52,211,153,0.15);}

/* INFO BOXES */
.ic{padding:9px 12px;border-radius:7px;margin-bottom:10px;font-size:11px;line-height:1.5;}
.ic.blue{background:rgba(3,105,161,0.06);border-left:2px solid var(--sky);color:#0369A1;}
.ic.green{background:rgba(5,150,105,0.06);border-left:2px solid var(--leaf);color:var(--leaf);}
.ic.amber{background:rgba(217,119,6,0.06);border-left:2px solid var(--warn);color:#92400E;}
.ic.red{background:rgba(220,38,38,0.06);border-left:2px solid var(--danger);color:var(--danger);}
.ic strong{display:block;font-weight:700;margin-bottom:2px;}

/* MAIN AREA */
.main{display:flex;flex-direction:column;overflow:hidden;}
.mtabs{background:var(--navy2);border-bottom:1px solid var(--border);padding:0 16px;display:flex;gap:0;flex-shrink:0;}
.tbtn{padding:13px 15px;border:none;background:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;color:var(--text3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;display:flex;align-items:center;gap:5px;}
.tbtn:hover{color:var(--text2);}
.tbtn.active{color:var(--sky);border-bottom-color:var(--sky);font-weight:700;}
.tc{flex:1;overflow:auto;padding:18px;display:none;}
.tc.active{display:block;}
.tc.cv-tab{padding:0;overflow:hidden;}
.tc.cv-tab.active{display:flex;flex-direction:column;height:100%;}

/* CANVAS AREA */
.cwrap{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:16px;position:relative;height:100%;display:flex;flex-direction:column;}
.ctbar{display:flex;align-items:center;gap:7px;margin-bottom:12px;flex-wrap:wrap;flex-shrink:0;}
.ctbar-left{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.ctbar-right{margin-left:auto;display:flex;gap:7px;align-items:center;}
.ztbtn{background:var(--surface2);border:1px solid var(--border2);color:var(--text2);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.ztbtn:hover{border-color:var(--sky);color:var(--sky);}
.zlbl{font-family:'DM Mono',monospace;font-size:10px;color:var(--text3);min-width:36px;text-align:center;}
.vis-cv{border:1px solid var(--border);border-radius:7px;background:#F0F4F8;display:block;cursor:grab;flex:1;min-height:0;}
.vis-cv:active{cursor:grabbing;}
.vis-cv.drawing{cursor:crosshair!important;}
/* DRAW EXCLUSION BUTTON (C3) */
.draw-excl-btn{background:var(--surface2);border:1px solid var(--border2);color:var(--text2);padding:4px 9px;border-radius:5px;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s;letter-spacing:.3px;}
.draw-excl-btn.active{border-color:var(--danger);background:rgba(220,38,38,0.08);color:var(--danger);}
.cleg{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;flex-shrink:0;}
.li{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text3);}
.ld{width:10px;height:10px;border-radius:2px;}

/* SECTION TABS ON CANVAS */
.stabs-row{display:flex;gap:5px;margin-bottom:10px;flex-shrink:0;overflow-x:auto;}
.stab{padding:4px 10px;border-radius:20px;font-size:10px;font-weight:700;cursor:pointer;border:1.5px solid var(--border);background:transparent;color:var(--text3);transition:all .15s;white-space:nowrap;letter-spacing:.3px;}
.stab.active{color:var(--sky);border-color:var(--sky);background:rgba(3,105,161,0.08);}

/* DISPLAY TOGGLES */
.tog-row{display:flex;gap:4px;flex-wrap:wrap;}
.tog{padding:4px 9px;border:1.5px solid var(--border);border-radius:5px;background:transparent;color:var(--text3);font-family:'DM Sans',sans-serif;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s;letter-spacing:.3px;}
.tog.on{border-color:var(--sky);background:rgba(3,105,161,0.08);color:var(--sky);}

/* RESULTS CARDS */
.sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;}
.scard{background:var(--surface);border-radius:var(--radius);padding:16px;border:1px solid var(--border);position:relative;overflow:hidden;}
.scard::after{content:'';position:absolute;top:-15px;right:-15px;width:55px;height:55px;border-radius:50%;opacity:.08;}
.scard.blue::after{background:var(--sky);}
.scard.green::after{background:var(--leaf);}
.scard.amber::after{background:var(--sun);}
.scard.red::after{background:#C084FC;}
.sc-lbl{font-size:10px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;}
.sc-val{font-size:1.6rem;font-weight:700;color:var(--text);font-family:'Syne',sans-serif;line-height:1;}
.sc-unit{font-size:12px;font-weight:400;color:var(--text2);}
.sc-sub{font-size:10px;color:var(--text3);margin-top:4px;font-family:'DM Mono',monospace;}
.scard.blue .sc-val{color:var(--sky);}
.scard.green .sc-val{color:var(--leaf);}
.scard.amber .sc-val{color:var(--sun);}
.scard.red .sc-val{color:#C084FC;}

/* PAYBACK HERO CARD (D1) */
.payback-hero{background:linear-gradient(135deg,rgba(3,105,161,0.08),rgba(52,211,153,0.08));border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;margin-bottom:18px;}
.hero-val{font-family:'Syne',sans-serif;font-size:2.2rem;font-weight:800;color:var(--sky);line-height:1;}
.hero-lbl{font-size:11px;color:var(--text3);margin-top:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;}
.hero-sub{font-size:10px;color:var(--text3);margin-top:6px;font-family:'DM Mono',monospace;}
.monthly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;}
.monthly-cell{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px;text-align:center;font-size:10px;}
.monthly-cell .mc-val{font-weight:700;color:var(--leaf);font-family:'DM Mono',monospace;}
.monthly-cell .mc-lbl{color:var(--text3);font-size:9px;margin-top:2px;}

/* DARK MODE (D2) */
[data-theme="dark"]{
  --bg:#0F172A;--surface:#1E293B;--surface2:#1A2332;--navy:#1E293B;--navy2:#162032;
  --border:#334155;--border2:#2D3B4E;--text:#E2E8F0;--text2:#94A3B8;--text3:#64748B;
  --panel-c:rgba(59,130,246,0.15);--danger:#EF4444;--warn:#F59E0B;
}
[data-theme="dark"] .hdr{background:#0B1929;border-bottom-color:#1A3A5C;}
[data-theme="dark"] input[type=text],[data-theme="dark"] input[type=number],[data-theme="dark"] select{background:var(--surface);color:var(--text);border-color:var(--border);}
[data-theme="dark"] .vis-cv{background:#0F172A;}
[data-theme="dark"] .notif.success{background:#064E3B;border-color:#10B981;color:#6EE7B7;}
[data-theme="dark"] .notif.error{background:#7F1D1D;border-color:#EF4444;color:#FCA5A5;}
[data-theme="dark"] .notif.warning{background:#78350F;border-color:#F59E0B;color:#FDE68A;}
[data-theme="dark"] .notif.info{background:#1E3A5F;border-color:#3B82F6;color:#93C5FD;}
[data-theme="dark"] .rep-hdr{background:linear-gradient(135deg,#1E293B,#162032);color:var(--text);}
[data-theme="dark"] .payback-hero{background:linear-gradient(135deg,rgba(3,105,161,0.15),rgba(52,211,153,0.1));}

/* RECENT PROJECTS MODAL (D3) */
.recent-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.recent-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:420px;max-height:80vh;overflow:auto;padding:20px;box-shadow:0 16px 48px rgba(0,0,0,0.2);}
.recent-modal h3{font-family:'Syne',sans-serif;font-size:1rem;font-weight:800;margin-bottom:14px;color:var(--text);}
.recent-item{padding:10px;border:1px solid var(--border);border-radius:7px;margin-bottom:8px;cursor:pointer;transition:all .15s;}
.recent-item:hover{border-color:var(--sky);background:rgba(3,105,161,0.06);}
.recent-item .ri-name{font-weight:600;font-size:12px;color:var(--text);}
.recent-item .ri-info{font-size:10px;color:var(--text3);font-family:'DM Mono',monospace;margin-top:3px;}
.recent-clear{display:block;margin-top:10px;background:none;border:1px solid var(--border);border-radius:6px;padding:7px;width:100%;font-size:11px;color:var(--text3);cursor:pointer;transition:all .15s;}
.recent-clear:hover{border-color:var(--danger);color:var(--danger);}

/* BRANDING MODAL (D4) */
.brand-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:420px;max-height:80vh;overflow:auto;padding:20px;box-shadow:0 16px 48px rgba(0,0,0,0.2);}
.brand-modal h3{font-family:'Syne',sans-serif;font-size:1rem;font-weight:800;margin-bottom:14px;color:var(--text);}
.brand-modal .fr{margin-bottom:10px;}
.brand-modal .fr label{display:block;margin-bottom:4px;font-size:11px;font-weight:500;color:var(--text2);}

/* ROW DATA */
.rc{background:var(--surface);border-radius:var(--radius);padding:18px;border:1px solid var(--border);margin-bottom:14px;}
.rc h3{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.rrow_{display:flex;align-items:baseline;gap:6px;padding:5px 0;border-bottom:1px solid rgba(0,0,0,0.06);}
.rrow_:last-child{border-bottom:none;}
.rk{font-size:11px;color:var(--text3);flex:1;}
.rv{font-size:12px;font-weight:600;color:var(--text);font-family:'DM Mono',monospace;text-align:right;}
.rv.green{color:var(--leaf);}
.rv.amber{color:var(--warn);}
.rv.red{color:var(--danger);}
.rv.sky{color:var(--sky);}
.rgrid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* CHARTS */
.chart-wrap{background:var(--surface);border-radius:var(--radius);padding:18px;border:1px solid var(--border);margin-bottom:14px;}
.chart-wrap h3{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px;}
.bar-chart{display:flex;align-items:flex-end;gap:3px;height:100px;padding-bottom:20px;position:relative;}
.bcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;}
.bfill{width:100%;border-radius:3px 3px 0 0;position:relative;min-height:3px;transition:height .3s;cursor:pointer;}
.bfill:hover .btip{opacity:1;transform:translateY(0);}
.btip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:10px;padding:3px 6px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:all .15s;z-index:10;font-family:'DM Mono',monospace;box-shadow:0 2px 8px rgba(0,0,0,0.1);}
.blbl{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:9px;color:var(--text3);white-space:nowrap;}
.roi-cv{width:100%;height:160px;display:block;}

/* ELECTRICAL DIAGRAM */
.elec-diag{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:16px;font-family:'DM Mono',monospace;font-size:11px;overflow-x:auto;}
.str-row{display:flex;align-items:center;gap:4px;margin-bottom:8px;flex-wrap:nowrap;}
.str-row:last-child{margin-bottom:0;}
.str-p{background:var(--panel-c);border:1.5px solid var(--sky);color:var(--sky-d);padding:4px 7px;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap;}
.str-a{color:var(--text3);font-size:12px;}
.str-inv{background:rgba(52,211,153,0.1);border:1.5px solid var(--leaf);color:var(--leaf);padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap;}
.str-par{background:rgba(251,191,36,0.1);border:1.5px solid var(--warn);color:var(--warn);padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;}
.diag-bus{height:3px;background:linear-gradient(to right,var(--sky),var(--leaf));border-radius:2px;margin:10px 0;}

/* REPORT */
.rep-wrap{max-width:760px;margin:0 auto;}
.rep-hdr{background:linear-gradient(135deg,#EFF6FF 0%,#DBEAFE 60%,#BFDBFE 100%);border:1px solid var(--border);color:var(--text);padding:28px;border-radius:12px;margin-bottom:20px;position:relative;overflow:hidden;}
.rep-hdr::before{content:'';position:absolute;top:-30px;right:-30px;width:140px;height:140px;background:radial-gradient(circle,rgba(3,105,161,.1),transparent 70%);border-radius:50%;}
.rep-hdr h1{font-family:'Syne',sans-serif;font-size:1.5rem;font-weight:800;margin-bottom:4px;color:var(--sky);}
.rep-hdr .sub{color:var(--text3);font-family:'DM Mono',monospace;font-size:11px;}
.rep-sec{margin-bottom:20px;}
.rep-sec h2{font-family:'Syne',sans-serif;font-size:1rem;font-weight:800;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px;color:var(--text);}
.spec-t{width:100%;border-collapse:collapse;}
.spec-t tr:nth-child(even) td{background:rgba(0,0,0,0.02);}
.spec-t td{padding:6px 10px;font-size:12px;border-bottom:1px solid rgba(0,0,0,0.06);}
.spec-t td:first-child{color:var(--text3);width:45%;}
.spec-t td:last-child{font-weight:600;font-family:'DM Mono',monospace;color:var(--text);}
/* Bold header row support for 6-column tables */
.spec-t tr:first-child td{color:var(--text2)!important;font-weight:700!important;background:rgba(3,105,161,0.05)!important;font-family:'DM Sans',sans-serif!important;border-bottom:2px solid var(--border)!important;}
.spec-t tr:first-child td strong{color:var(--sky);}

/* VOLTAGE BAR WIDGET (B3) */
.vbar-widget{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px;margin-top:10px;}
.vbar-widget h4{font-size:10px;font-weight:700;color:var(--sky);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.vbar-track{position:relative;height:20px;background:#E2E8F0;border-radius:4px;overflow:visible;margin-bottom:6px;}
.vbar-mppt{position:absolute;top:0;height:100%;background:rgba(52,211,153,0.25);border:1.5px solid var(--leaf);border-radius:4px;}
.vbar-marker{position:absolute;top:-4px;width:3px;height:28px;border-radius:2px;z-index:2;}
.vbar-info{font-size:10px;color:var(--text3);font-family:'DM Mono',monospace;line-height:1.6;}
/* CITY AUTOCOMPLETE (B4) */
.city-autocomplete{position:relative;}
.city-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:0 0 7px 7px;max-height:180px;overflow-y:auto;z-index:100;display:none;box-shadow:0 4px 12px rgba(0,0,0,0.1);}
.city-dropdown.show{display:block;}
.city-dropdown-item{padding:8px 10px;font-size:11px;cursor:pointer;display:flex;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.04);}
.city-dropdown-item:hover{background:rgba(3,105,161,0.06);}
.city-dropdown-item .city-name{color:var(--text);font-weight:500;}
.city-dropdown-item .city-region{color:var(--text3);font-size:10px;}
/* STRING SIZING CALCS BOX */
.str-calc{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:14px;margin-top:10px;}
.str-calc h4{font-size:11px;font-weight:700;color:var(--sky);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
.calc-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px solid rgba(0,0,0,0.06);}
.calc-row:last-child{border:none;}
.calc-row .ck{font-size:10px;color:var(--text3);}
.calc-row .cv{font-family:'DM Mono',monospace;font-size:11px;font-weight:600;color:var(--text);}
.calc-row .cv.ok{color:var(--leaf);}
.calc-row .cv.warn{color:var(--warn);}
.calc-row .cv.err{color:var(--danger);}

/* NOTIFICATIONS */
.notif{position:fixed;bottom:24px;right:24px;padding:10px 16px;border-radius:8px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;z-index:9999;animation:slideIn .25s ease;border:1px solid;}
@keyframes slideIn{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:translateX(0);}}
.notif.success{background:#ECFDF5;border-color:var(--leaf);color:var(--leaf);}
.notif.error{background:#FEF2F2;border-color:var(--danger);color:var(--danger);}
.notif.warning{background:#FFFBEB;border-color:var(--warn);color:#92400E;}
.notif.info{background:#EFF6FF;border-color:var(--sky);color:var(--sky);}

/* CALC OVERLAY / SPINNER (A1) */
.calc-overlay{position:absolute;inset:0;background:rgba(255,255,255,0.7);display:flex;align-items:center;justify-content:center;z-index:50;border-radius:var(--radius);}
.calc-spinner{width:36px;height:36px;border:3.5px solid var(--border);border-top-color:var(--sky);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* DIRTY FLAG BANNER (A2) */
.dirty-banner{background:rgba(217,119,6,0.1);border:1px solid var(--warn);border-radius:7px;padding:8px 12px;margin:0 16px 8px;font-size:11px;color:#92400E;cursor:pointer;display:flex;align-items:center;gap:6px;animation:slideDown .25s ease;}
.dirty-banner:hover{background:rgba(217,119,6,0.18);}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}

/* INPUT VALIDATION (A4) */
input.invalid{border-color:var(--danger)!important;background:rgba(220,38,38,0.04)!important;}
input.warn-border{border-color:var(--warn)!important;background:rgba(217,119,6,0.04)!important;}
.field-err{font-size:9px;color:var(--danger);margin-top:2px;line-height:1.3;}
.field-warn{font-size:9px;color:var(--warn);margin-top:2px;line-height:1.3;}

/* DIVIDER */
.dvd{height:1px;background:var(--border);margin:10px 0;}

/* PLACEHOLDER */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text3);text-align:center;gap:12px;}
.empty-state .big{font-family:'Syne',sans-serif;font-size:3rem;opacity:.15;}
.empty-state p{font-size:13px;line-height:1.6;}

/* SYSTEM DIAGRAM COMPONENT STYLES */
.sd-comp{position:absolute;border-radius:8px;padding:10px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.3px;cursor:default;}
.sd-panel-grp{background:rgba(3,105,161,0.08);border:2px solid var(--sky);color:var(--sky);}
.sd-jbox{background:rgba(251,191,36,0.15);border:2px solid var(--warn);color:var(--warn);border-radius:6px;}
.sd-inverter{background:rgba(52,211,153,0.12);border:2px solid var(--leaf);color:var(--leaf);}
.sd-battery{background:rgba(139,92,246,0.12);border:2px solid #8B5CF6;color:#8B5CF6;}
.sd-meter{background:rgba(248,113,113,0.1);border:2px solid var(--danger);color:var(--danger);}
.sd-grid{background:rgba(96,165,250,0.1);border:2px solid #60A5FA;color:#60A5FA;}
.sd-disco{background:rgba(251,191,36,0.08);border:2px dashed var(--warn);color:var(--warn);}
.sd-fuse{background:rgba(248,113,113,0.08);border:1.5px solid var(--danger);color:var(--danger);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:8px;}

/* CABLE SIZING TABLE */
.cbl-table{width:100%;border-collapse:collapse;margin-top:8px;}
.cbl-table th{font-size:10px;color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:6px 8px;border-bottom:1px solid var(--border2);text-align:left;}
.cbl-table td{font-size:11px;padding:5px 8px;border-bottom:1px solid rgba(0,0,0,0.06);font-family:'DM Mono',monospace;}
.cbl-table td.ok{color:var(--leaf);}
.cbl-table td.warn{color:var(--warn);}
.cbl-table td.err{color:var(--danger);}

/* KEYBOARD SHORTCUTS MODAL (E1) */
.kb-modal{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s;}
.kb-modal .kb-inner{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:380px;padding:20px;box-shadow:0 16px 48px rgba(0,0,0,0.2);}
.kb-modal h3{font-family:'Syne',sans-serif;font-size:1rem;font-weight:800;margin-bottom:14px;color:var(--text);}
.kb-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(0,0,0,0.06);}
.kb-row:last-child{border-bottom:none;}
.kb-key{font-family:'DM Mono',monospace;font-size:11px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:2px 8px;color:var(--text2);}
.kb-desc{font-size:12px;color:var(--text3);}

/* ONBOARDING BANNER (E2) */
.onboard-banner{background:linear-gradient(135deg,rgba(3,105,161,0.08),rgba(52,211,153,0.06));border:1px solid var(--sky);border-radius:10px;padding:14px 16px;margin:16px;font-size:12px;color:var(--text2);line-height:1.6;display:flex;align-items:flex-start;gap:10px;animation:slideDown .3s ease;}
.onboard-banner button{background:var(--sky);color:white;border:none;border-radius:6px;padding:6px 14px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;}

/* UPGRADE MODAL */
.upgrade-modal{background:var(--surface);border-radius:14px;padding:24px;max-width:480px;width:90%;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.upgrade-plan-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center;}
.upgrade-plan-featured{border-color:var(--sky);background:linear-gradient(135deg,rgba(3,105,161,0.06),rgba(52,211,153,0.04));}
.upgrade-plan-name{font-weight:700;font-size:16px;color:var(--text);margin-bottom:4px;}
.upgrade-plan-price{font-size:22px;font-weight:800;color:var(--sky);margin-bottom:8px;}
.upgrade-plan-feat{font-size:11px;color:var(--text3);line-height:1.5;margin-bottom:12px;min-height:36px;}
.upgrade-plan-btn{background:var(--sky);color:white;border:none;border-radius:8px;padding:8px 16px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;cursor:pointer;width:100%;transition:opacity .15s;}
.upgrade-plan-btn:hover{opacity:.85;}
.upgrade-plan-featured .upgrade-plan-btn{background:linear-gradient(135deg,#0369A1,#0EA5E9);}

/* DASHBOARD USAGE INDICATOR */
.usage-indicator{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin:16px auto;max-width:800px;}
.usage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.usage-label{font-size:12px;font-weight:600;color:var(--text2);}
.usage-count{font-size:11px;color:var(--text3);}
.usage-bar-bg{height:8px;background:var(--bg2);border-radius:4px;overflow:hidden;}
.usage-bar-fill{height:100%;border-radius:4px;transition:width .4s ease;}
.usage-warn{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:#ef4444;font-weight:600;}
.usage-upgrade-btn{background:#ef4444;color:white;border:none;border-radius:6px;padding:4px 10px;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:600;cursor:pointer;}
.usage-unlimited{font-size:10px;color:var(--text3);margin-top:6px;text-align:right;}

/* TABLET RESPONSIVE (E3) */
@media(max-width:1024px){
  .app{grid-template-columns:1fr;height:auto;overflow:auto;}
  .sb{max-height:40vh;overflow-y:auto;border-right:none;border-bottom:1px solid var(--border);}
  .main{height:60vh;overflow:hidden;}
  .mtabs{overflow-x:auto;flex-wrap:nowrap;}
  .tbtn{font-size:11px;padding:10px 12px;white-space:nowrap;}
  .hdr{padding:0 12px;gap:8px;height:56px;overflow-x:auto;flex-wrap:nowrap;}
  .hdr-center{display:none;}
  .hdr-right{gap:6px;}
  .hbtns{gap:4px;}
  .hbtn{padding:4px 8px;font-size:10px;}
  .proj-in{width:120px;font-size:10px;}
  body{overflow:auto;}
  .pb{padding:10px 12px;}
  .fr label{font-size:10px;}
  input[type=text],input[type=number],select{padding:5px 8px;font-size:11px;}
  .pgrid{grid-template-columns:1fr;}
  .g2{gap:6px;}
  .cwrap{padding:8px;}
  .tc{padding:12px;}
}

/* PRINT */
@media print{
  .hdr,.sb,.mtabs{display:none!important;}
  .app{display:block;height:auto;}
  .main{overflow:visible;}
  .tc{display:block!important;overflow:visible;}
  .tc.cv-tab{display:flex!important;flex-direction:column;height:auto;}
  body{background:white;color:black;}
  .rc,.scard{break-inside:avoid;}
}

/* ═══════════════════════════════════════════════════════════════
   AUTH MODAL
   ═══════════════════════════════════════════════════════════════ */
.auth-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s;}
.auth-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:380px;padding:24px;box-shadow:0 16px 48px rgba(0,0,0,0.2);}
.auth-modal h3{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;margin-bottom:18px;color:var(--text);text-align:center;}
.auth-google-btn{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .15s;}
.auth-google-btn:hover{border-color:var(--sky);background:rgba(3,105,161,0.04);}
.auth-divider{display:flex;align-items:center;margin:16px 0;gap:12px;color:var(--text3);font-size:11px;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.auth-form{display:flex;flex-direction:column;gap:10px;}
.auth-input{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:7px;font-family:'DM Sans',sans-serif;font-size:12px;background:var(--surface);color:var(--text);outline:none;box-sizing:border-box;}
.auth-input:focus{border-color:var(--sky);}
.auth-submit-btn{width:100%;padding:10px;border:none;border-radius:8px;background:var(--sky);color:white;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;}
.auth-submit-btn:hover{background:var(--sky-d);}
.auth-switch{text-align:center;margin-top:14px;font-size:11px;color:var(--text3);}
.auth-switch a{color:var(--sky);text-decoration:none;font-weight:600;margin-left:4px;}
.auth-switch a:hover{text-decoration:underline;}

/* AUTH HEADER */
.auth-dropdown{position:relative;}
.auth-dropdown-menu{display:none;position:absolute;top:100%;right:0;margin-top:6px;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:180px;box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:200;overflow:hidden;}
.auth-dropdown.open .auth-dropdown-menu{display:block;}
.auth-dd-item{display:block;padding:8px 12px;font-size:12px;color:var(--text2);cursor:pointer;text-decoration:none;transition:background .1s;}
.auth-dd-item:hover{background:rgba(3,105,161,0.06);color:var(--sky);}
.auth-avatar{width:32px;height:32px;border-radius:50%;background:var(--sky);color:white;border:none;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s;}
.auth-avatar:hover{opacity:.85;}
.auth-plan-badge{font-family:'DM Mono',monospace;font-size:9px;padding:2px 8px;border-radius:20px;white-space:nowrap;font-weight:600;}
.auth-plan-badge.trial{background:rgba(251,191,36,0.12);border:1px solid rgba(251,191,36,0.3);color:#D97706;}
.auth-plan-badge.pro{background:rgba(3,105,161,0.1);border:1px solid rgba(3,105,161,0.25);color:#0369A1;}
.auth-plan-badge.business{background:rgba(5,150,105,0.1);border:1px solid rgba(5,150,105,0.25);color:#059669;}
.auth-plan-badge.expired{background:rgba(220,38,38,0.1);border:1px solid rgba(220,38,38,0.25);color:#DC2626;}
.tester-badge{background:#7C3AED;color:white;font-family:'DM Mono',monospace;font-size:9px;padding:2px 8px;border-radius:10px;white-space:nowrap;font-weight:600;}

/* DASHBOARD PAGE */
.dash-container{max-width:960px;margin:0 auto;padding:32px 24px;}
.dash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.dash-header h2{font-family:'Syne',sans-serif;font-size:1.3rem;font-weight:800;color:var(--text);}
.dash-new-btn{background:var(--sky);color:white;border:none;border-radius:8px;padding:8px 18px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;}
.dash-new-btn:hover{background:var(--sky-d);}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:all .15s;position:relative;}
.dash-card:hover{border-color:var(--sky);box-shadow:var(--glow-sky);}
.dash-card-name{font-weight:600;font-size:13px;color:var(--text);margin-bottom:4px;}
.dash-card-info{font-size:11px;color:var(--text3);margin-bottom:8px;}
.dash-card-stats{display:flex;justify-content:space-between;font-size:10px;color:var(--text3);font-family:'DM Mono',monospace;}
.dash-card-del{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:var(--text3);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;opacity:0;}
.dash-card:hover .dash-card-del{opacity:1;}
.dash-card-del:hover{background:rgba(220,38,38,0.1);color:var(--danger);}
.dash-empty{text-align:center;padding:60px 20px;color:var(--text3);}
.dash-empty p{font-size:13px;margin-top:8px;}

/* FEATURE GATE MODAL */
.gate-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s;}
.gate-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:360px;padding:24px;box-shadow:0 16px 48px rgba(0,0,0,0.2);text-align:center;}
.gate-title{font-family:'Syne',sans-serif;font-size:1rem;font-weight:800;color:var(--text);}
.gate-upgrade-btn{background:linear-gradient(135deg,var(--sky),var(--leaf));color:white;border:none;border-radius:8px;padding:10px 24px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s;}
.gate-upgrade-btn:hover{opacity:.9;}

/* ANONYMOUS BANNER */
.anon-banner{background:linear-gradient(135deg,rgba(245,158,11,0.06),rgba(217,119,6,0.04));border-bottom:1px solid rgba(245,158,11,0.2);padding:8px 20px;font-size:11px;color:var(--text2);display:flex;align-items:center;justify-content:center;gap:10px;}
.anon-banner-dismiss{background:none;border:none;color:var(--text3);cursor:pointer;font-size:18px;margin-left:auto;padding:0 4px;opacity:.6;transition:opacity .15s;line-height:1;}
.anon-banner-dismiss:hover{opacity:1;}

/* WELCOME TOAST */
.welcome-toast{position:fixed;top:80px;right:24px;padding:12px 20px;border-radius:10px;font-size:13px;font-weight:600;z-index:9999;animation:slideIn .3s ease;background:linear-gradient(135deg,rgba(5,150,105,0.95),rgba(3,105,161,0.95));color:white;box-shadow:0 8px 24px rgba(0,0,0,0.15);}

/* TRIAL BANNER */
.trial-banner{background:rgba(251,191,36,0.08);border-bottom:1px solid rgba(251,191,36,0.2);padding:6px 20px;font-size:11px;color:#92400E;text-align:center;}
.trial-banner.warn{background:rgba(251,191,36,0.15);color:#78350F;}
.trial-banner.urgent{background:rgba(220,38,38,0.08);border-color:rgba(220,38,38,0.2);color:#991B1B;}

/* DARK MODE — Auth, Dashboard, Gate, Banners */
[data-theme="dark"] .auth-modal{background:var(--surface);border-color:var(--border);}
[data-theme="dark"] .auth-google-btn{background:var(--surface2);border-color:var(--border);color:var(--text);}
[data-theme="dark"] .auth-google-btn:hover{border-color:var(--sky);background:rgba(3,105,161,0.1);}
[data-theme="dark"] .auth-input{background:var(--surface2);border-color:var(--border);color:var(--text);}
[data-theme="dark"] .auth-dropdown-menu{background:var(--surface);border-color:var(--border);}
[data-theme="dark"] .auth-dd-item:hover{background:rgba(3,105,161,0.1);}
[data-theme="dark"] .dash-card{background:var(--surface);border-color:var(--border);}
[data-theme="dark"] .dash-card:hover{border-color:var(--sky);}
[data-theme="dark"] .gate-modal{background:var(--surface);border-color:var(--border);}
[data-theme="dark"] .anon-banner{background:rgba(245,158,11,0.08);border-color:rgba(245,158,11,0.2);color:var(--text2);}
[data-theme="dark"] .trial-banner{background:rgba(251,191,36,0.1);color:#FDE68A;}
[data-theme="dark"] .trial-banner.warn{background:rgba(251,191,36,0.15);color:#FCD34D;}
[data-theme="dark"] .trial-banner.urgent{background:rgba(220,38,38,0.1);color:#FCA5A5;}