
:root{
  font-family:Inter,Segoe UI,Arial,sans-serif;color:#17231d;background:#f3f6f4;
  --dark:#15231b;--dark2:#20352a;--green:#2f7d57;--green2:#e8f3ec;--line:#dfe7e1;
  --muted:#6c7870;--card:#fff;--danger:#b54545;--warning:#b57a1c;--shadow:0 10px 30px rgba(24,45,33,.05);
}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:#f3f6f4}button,input,select,textarea{font:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(47,125,87,.22);outline-offset:2px}
.appShell{min-height:100vh}.side{width:252px;background:var(--dark);color:white;padding:18px 12px;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:40;transition:width .22s ease}.workspace{margin-left:252px;min-width:0;transition:margin-left .22s ease}.main{padding:30px clamp(18px,3vw,42px);max-width:1600px;margin:auto}.navCollapsed .side{width:78px}.navCollapsed .workspace{margin-left:78px}.navCollapsed .navLabel,.navCollapsed .brand span,.navCollapsed .brand{font-size:0}.navCollapsed .brand:before{content:"CI";font-size:20px;font-weight:900}.navCollapsed .nav button{justify-content:center}.navCollapsed .sideFoot{justify-content:center}
.sideTop{display:flex;align-items:center;gap:8px;margin-bottom:14px}.brand{font-size:24px;font-weight:900;letter-spacing:-.8px;padding:5px 8px;flex:1;white-space:nowrap}.brand span,.mobileHeader span{color:#74c696}.navCollapse,.mobileClose,.hamburger{border:0;background:transparent;color:inherit;cursor:pointer;border-radius:8px;min-width:38px;min-height:38px}.navCollapse:hover{background:#263c31}.mobileClose{display:none}.nav{display:grid;gap:3px}.nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;color:#b9c7bf;padding:10px;border-radius:9px;cursor:pointer;min-height:42px;white-space:nowrap}.nav button:hover,.nav button.active{background:#294236;color:#fff}.navIcon{width:30px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:9px;font-weight:900;background:rgba(255,255,255,.07);letter-spacing:.4px;flex:none}.nav button.active .navIcon{background:#4b906c}.sideFoot{display:flex;gap:8px;align-items:center;color:#93a69a;font-size:11px;padding:18px 10px 4px}.statusDot{width:8px;height:8px;border-radius:50%;background:#75c998;box-shadow:0 0 0 4px rgba(117,201,152,.12)}.mobileHeader{display:none}
h1{font-size:clamp(25px,3vw,34px);margin:0 0 5px;letter-spacing:-.7px}h2,h3{letter-spacing:-.25px}.sub,.small{color:var(--muted);font-size:12px;line-height:1.55}.top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{border:1px solid var(--line);background:white;color:#26352c;border-radius:9px;padding:9px 13px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px}.btn:hover{border-color:#b9c9bf;background:#fafcfb}.btn:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#286c4c}.danger{color:var(--danger)}.largeBtn{padding:12px 18px;font-weight:750}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.two,.responsiveCharts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card,.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.card{padding:17px;margin-bottom:14px}.kpi{font-size:28px;font-weight:900}.label{font-size:11px;color:var(--muted)}.chart{height:280px;min-width:0}.tableWrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-weight:750}input,select,textarea{border:1px solid var(--line);background:#fff;color:#18231d;border-radius:9px;padding:9px 10px;min-width:0;max-width:100%}textarea{resize:vertical}.form{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.form>*{flex:1;min-width:150px}.pill{padding:5px 8px;border-radius:20px;background:var(--green2);color:#286c4c;font-size:10px}.warn{background:#fff8e8}.bad{background:#fff0f0}.msg{padding:10px;border-radius:9px;background:#f7faf8;margin:7px 0}.trace{font-family:ui-monospace,Consolas,monospace;font-size:11px;white-space:pre-wrap;background:#f7faf8;padding:12px;border-radius:9px;overflow:auto}.notice{border-left:4px solid var(--green);padding:11px 12px;background:#f7fbf8;margin:10px 0;border-radius:0 9px 9px 0}.error{border-left-color:var(--danger);background:#fff5f5}hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:850;color:var(--green);margin-bottom:7px}.dashHero,.reportHero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.dashHero p,.reportHero p{color:var(--muted);margin:7px 0 0;max-width:680px;font-size:13px}.heroActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.overviewGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:13px}.metricCard{appearance:none;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px;cursor:pointer;min-width:0;box-shadow:var(--shadow);transition:transform .14s ease,border-color .14s ease}.metricCard:hover{transform:translateY(-2px);border-color:#b7cbbd}.metricCard span{display:block;color:var(--muted);font-size:10px;font-weight:750}.metricCard strong{display:block;font-size:clamp(20px,2.1vw,30px);line-height:1.25;margin:5px 0;overflow:hidden;text-overflow:ellipsis}.metricCard small{color:var(--muted);font-size:10px}.heroMetric{background:linear-gradient(140deg,#173b29,#245a3e);color:#fff;border-color:#173b29}.heroMetric span,.heroMetric small{color:#c3d9cc}.metricAlert{border-color:#e7c49a;background:#fffaf2}.decisionStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#1b2d23;color:#fff;border-radius:14px;margin-bottom:15px;overflow:hidden}.decisionStrip>div{padding:15px 17px;border-right:1px solid rgba(255,255,255,.08)}.decisionStrip>div:last-child{border:0}.decisionStrip span,.decisionStrip small{display:block;color:#9eb1a5;font-size:10px}.decisionStrip b{display:block;font-size:13px;margin:5px 0}
.panel{margin-bottom:14px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:0 15px;min-height:58px}.panel-toggle{display:flex;align-items:center;gap:10px;flex:1;text-align:left;border:0;background:transparent;cursor:pointer;padding:12px 0;color:inherit}.panel-toggle b{display:block;font-size:14px}.panel-toggle small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.chev{width:24px;height:24px;border-radius:7px;background:#f1f5f2;display:grid;place-items:center;flex:none}.panel-actions{display:flex;gap:7px}.panel-body{border-top:1px solid var(--line);padding:15px}.panel-closed .panel-head{background:#fbfcfb}.responsiveCharts>*{min-width:0}.responsiveCharts+.responsiveCharts{margin-top:14px}.insightGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.insightCard{border:1px solid var(--line);background:#fbfcfb;border-radius:11px;padding:13px;text-align:left;cursor:pointer}.insightCard:hover{background:#f5f9f6}.insightCard b{display:block;margin:8px 0 4px}.insightCard p{font-size:12px;line-height:1.5;margin:0 0 8px}.insightCard small{color:var(--muted)}.severity{font-size:9px;text-transform:uppercase;padding:3px 6px;border-radius:20px;background:#edf3ef}.severity.warning{background:#fff4dc;color:#9a6715}.severity.high{background:#fff0f0;color:#9d3f3f}.studioBar{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:8px;margin-bottom:10px}.customGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.customWidget{border:1px dashed #cddbd1;border-radius:13px;padding:10px;min-width:0;background:#fcfdfc}.widgetTools{display:flex;justify-content:flex-end;gap:5px}.miniBtn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 8px;cursor:pointer;font-size:10px}.emptyState{background:#fff;border:1px dashed #cbd8cf;border-radius:18px;padding:55px 20px;text-align:center}.emptyState p{max-width:540px;margin:8px auto 18px;color:var(--muted)}.emptyIcon{font-size:45px;color:#9db2a3}.emptyInline{padding:25px;text-align:center;color:var(--muted)}
.reportContext{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(200px,2fr) 1fr 1fr;gap:8px;margin-bottom:14px}.segmented{background:#e9eeeb;padding:4px;border-radius:10px;display:flex}.segmented button{border:0;background:transparent;padding:8px 11px;border-radius:7px;cursor:pointer;color:#526158}.segmented button.active{background:#fff;color:#18231d;box-shadow:0 2px 8px rgba(20,40,28,.07)}.assistantWorkspace{background:linear-gradient(145deg,#183226,#213e30);color:#fff;border-radius:17px;padding:22px;margin-bottom:15px}.assistantIntro{display:flex;gap:13px;align-items:flex-start}.assistantIntro h2{margin:0 0 5px}.assistantIntro p{margin:0 0 16px;color:#b6c9bd;font-size:12px;max-width:720px}.aiMark{width:42px;height:42px;border-radius:12px;background:#79c99a;color:#143222;display:grid;place-items:center;font-weight:900;flex:none}.promptBox{width:100%;min-height:115px;background:#10271c;border-color:#395846;color:#fff;padding:14px;line-height:1.55}.promptExamples{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.promptExamples button{border:1px solid #456553;background:transparent;color:#d7e6dc;border-radius:20px;padding:6px 10px;cursor:pointer;font-size:10px}.reportBuilder{display:grid;grid-template-columns:220px minmax(0,1fr) 230px;gap:14px;align-items:start;margin-bottom:15px}.builderLibrary,.builderCanvas,.builderSettings{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}.builderLibrary,.builderSettings{position:sticky;top:18px}.builderLibrary h3,.builderSettings h3,.builderCanvas h3{margin:0 0 6px}.libraryItem{width:100%;display:flex;gap:8px;align-items:center;border:0;border-bottom:1px solid #edf1ee;background:transparent;padding:9px 4px;cursor:pointer;text-align:left;font-size:11px}.libraryItem span{width:20px;height:20px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center}.libraryItem.selected{color:#276b4a;font-weight:750}.libraryItem.selected span{background:var(--green2);border-color:#bcd9c6}.customSection{display:flex;gap:5px;margin-top:10px}.customSection input{width:100%}.canvasHead{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.reportSection{border:1px solid var(--line);border-radius:10px;margin-bottom:9px;overflow:hidden;background:#fcfdfc}.sectionBar{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#f7faf8}.sectionBar b{flex:1;font-size:12px}.dragHandle{color:#90a096;cursor:grab}.reportSection textarea{width:100%;border:0;border-radius:0;min-height:78px;background:#fff}.builderSettings label{display:grid;gap:5px;font-size:10px;color:var(--muted);margin:9px 0}.builderSettings input,.builderSettings select{width:100%}.builderSettings .checkRow{display:flex;align-items:center;gap:7px;color:#26352c}.builderSettings .checkRow input{width:auto}.builderSettings>.btn{width:100%;margin:4px 0}.reportPaper{max-width:850px;margin:auto;background:#fff;border:1px solid #d9dfdb;min-height:500px;box-shadow:0 18px 40px rgba(30,48,37,.08);padding:42px}.paperCover{min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:4px solid var(--green);padding-bottom:24px;margin-bottom:30px}.paperCover h2{font-size:30px;margin:8px 0}.paperCover p{color:var(--muted)}.paperBrand{font-weight:900;color:var(--green)}.paperSection{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:16px 0;border-bottom:1px solid #e8ece9}.paperSection>span{color:#9aaa9f;font-size:10px}.paperSection h3{margin:0 0 5px}.paperSection p{margin:0;color:#718078;font-size:11px;line-height:1.55}.paperFooter{margin-top:25px;padding-top:10px;border-top:1px solid #e7ece8;color:#85948a;font-size:9px}.accent-navy .paperCover{border-color:#2d714f}.accent-navy .paperBrand{color:#2d714f}.accent-charcoal .paperCover{border-color:#30343b}.accent-charcoal .paperBrand{color:#30343b}.accent-teal .paperCover{border-color:#287d7d}.accent-teal .paperBrand{color:#287d7d}.reportPaper.technical{font-family:ui-monospace,Consolas,monospace}.reportPaper.minimal .paperCover{min-height:150px}.reportGenerateBar,.exportResult{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:14px 0}.reportGenerateBar span,.exportResult p{color:var(--muted);font-size:11px;margin:3px 0}.exportResult{border-color:#bcd8c5;background:#f6fbf7}
.navBackdrop{display:none}
@media(max-width:1250px){.overviewGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.reportBuilder{grid-template-columns:190px minmax(0,1fr)}.builderSettings{grid-column:1/-1;position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.builderSettings h3,.builderSettings hr{grid-column:1/-1}.builderSettings>.btn,.builderSettings>select,.builderSettings>input{width:auto}.insightGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.responsiveCharts,.two{grid-template-columns:1fr}.decisionStrip{grid-template-columns:repeat(2,minmax(0,1fr))}.decisionStrip>div:nth-child(2){border-right:0}.customGrid{grid-template-columns:1fr}.studioBar{grid-template-columns:repeat(2,minmax(0,1fr))}.reportContext{grid-template-columns:repeat(2,minmax(0,1fr))}.reportBuilder{grid-template-columns:1fr}.builderLibrary,.builderSettings{position:static}.builderLibrary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.builderLibrary h3,.builderLibrary p,.customSection{grid-column:1/-1}.builderSettings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .side{width:min(86vw,310px);transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 35px rgba(0,0,0,.18)}.side.mobileOpen{transform:translateX(0)}.navCollapsed .side{width:min(86vw,310px)}.navCollapsed .navLabel,.navCollapsed .brand,.navCollapsed .brand span{font-size:inherit}.navCollapsed .brand{font-size:24px}.navCollapsed .brand:before{content:none}.navCollapsed .nav button{justify-content:flex-start}.workspace,.navCollapsed .workspace{margin-left:0}.navCollapse{display:none}.mobileClose{display:block;font-size:22px}.navBackdrop{display:block;position:fixed;inset:0;background:rgba(13,24,18,.45);border:0;z-index:35}.mobileHeader{height:58px;display:grid;grid-template-columns:44px auto 1fr;align-items:center;gap:7px;padding:0 13px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.mobileHeader b{font-size:18px}.mobileHeader>span:last-child{text-align:right;color:var(--muted);font-size:10px}.hamburger{color:#24372c;font-size:20px}.main{padding:18px 13px}.dashHero,.reportHero,.top{flex-direction:column}.heroActions{justify-content:flex-start;width:100%}.heroActions>*{flex:1}.overviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.decisionStrip{grid-template-columns:1fr}.decisionStrip>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.insightGrid{grid-template-columns:1fr}.panel-head{align-items:flex-start}.panel-actions{padding-top:10px}.studioBar,.reportContext{grid-template-columns:1fr}.reportBuilder{display:block}.builderLibrary,.builderCanvas,.builderSettings{margin-bottom:12px}.builderLibrary{display:block}.builderSettings{display:block}.reportPaper{padding:24px 18px}.reportGenerateBar,.exportResult{flex-direction:column;align-items:stretch}.reportGenerateBar .btn,.exportResult .actions{width:100%}.reportGenerateBar .btn{width:100%}.chart{height:245px}.tableWrap{margin-left:-4px;margin-right:-4px}.form>*{min-width:100%}
}
@media(max-width:430px){.overviewGrid{grid-template-columns:1fr}.metricCard strong{font-size:25px}.heroActions{display:grid;grid-template-columns:1fr}.responsiveCharts{gap:10px}.panel-body{padding:11px}.reportPaper{padding:20px 14px}.paperCover h2{font-size:24px}.segmented{width:100%}.segmented button{flex:1}.promptExamples{display:grid}.studioBar{display:grid}.decisionStrip{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.runtimePage{display:none}.runtimePage.active{display:block}
.runtimeToolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.runtimeToolbar>*{min-width:120px}
.runtimeCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jsonBox{white-space:pre-wrap;font:11px/1.5 ui-monospace,Consolas,monospace;background:#f7faf8;border-radius:9px;padding:12px;overflow:auto;max-height:420px}
.mappingSheet{margin:14px 0}.mappingRow{display:grid;grid-template-columns:minmax(120px,1.4fr) 1fr 80px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}
.simpleChart{display:flex;align-items:flex-end;gap:8px;height:220px;padding:20px 8px 28px;border-bottom:1px solid var(--line)}
.simpleBar{flex:1;min-width:18px;background:linear-gradient(#3d8c65,#2f7d57);border-radius:6px 6px 0 0;position:relative}.simpleBar span{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted);max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simpleBar b{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:8px;color:#456}
.sectionEditor{border:1px solid var(--line);border-radius:10px;margin:8px 0;overflow:hidden}.sectionEditor header{display:flex;align-items:center;gap:8px;background:#f7faf8;padding:8px}.sectionEditor header b{flex:1}.sectionEditor textarea{width:100%;border:0;border-radius:0;min-height:80px}
@media(max-width:900px){.runtimeCards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.runtimeCards{grid-template-columns:1fr}.mappingRow{grid-template-columns:1fr}.runtimeToolbar>*{width:100%}}


/* =========================
   CarbonIQ 2026 UI polish
   ========================= */
:root{
  --bg:#f4f7f5;
  --surface:#ffffff;
  --surface-2:#f8faf9;
  --text:#17231d;
  --muted:#67746d;
  --line:#dfe7e2;
  --line-strong:#cdd8d2;
  --accent:#2f7d57;
  --accent-dark:#236144;
  --accent-soft:#e7f3ec;
  --success:#2f7d57;
  --warning:#a96811;
  --danger:#b74444;
  --shadow-sm:0 1px 2px rgba(24,34,29,.04),0 4px 14px rgba(24,34,29,.04);
  --shadow:0 12px 34px rgba(24,34,29,.08);
  --radius:16px;
  --radius-sm:11px;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;letter-spacing:-.01em}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.main{max-width:1600px;margin:0 auto;padding:28px 30px 60px}
.top,.dashHero,.reportHero{
  display:flex;justify-content:space-between;gap:24px;align-items:flex-start;
  margin-bottom:22px
}
.top h1,.dashHero h1,.reportHero h1{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.06;letter-spacing:-.035em}
.sub,.dashHero p,.reportHero p{color:var(--muted);margin-top:8px;max-width:780px;line-height:1.6}
.eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11px;font-weight:800;letter-spacing:.12em;
  color:var(--accent);background:var(--accent-soft);
  padding:6px 9px;border-radius:999px;margin-bottom:10px
}
.card,.panel,.metricCard,.decisionStrip>div,.exportResult,.assistantWorkspace,.reportContext{
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)
}
.card{border-radius:var(--radius);padding:18px}
.panel{border-radius:var(--radius);overflow:hidden;margin:14px 0}
.panel-head{background:linear-gradient(180deg,#fff,#fbfcfb);border-bottom:1px solid var(--line)}
.panel-toggle{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:15px 17px;background:transparent;border:0;color:var(--text)}
.panel-toggle span>small{display:block;color:var(--muted);font-weight:500;margin-top:3px}
.chev{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);border:1px solid var(--line)}
.panel-body{padding:16px}
.overviewGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}
.metricCard{
  appearance:none;border-radius:14px;padding:16px;text-align:left;min-height:126px;
  transition:.18s ease;display:flex;flex-direction:column;justify-content:space-between
}
.metricCard:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-strong)}
.metricCard span{font-size:12px;font-weight:700;color:var(--muted)}
.metricCard strong{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.03em}
.metricCard small{color:var(--muted);line-height:1.4}
.heroMetric{background:linear-gradient(145deg,#203c2f,#2f7d57);color:#fff;border-color:transparent}
.heroMetric span,.heroMetric small{color:#dfeee6}
.metricAlert{border-color:#e8c58c;background:#fffaf1}
.decisionStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-radius:14px;overflow:hidden;margin-bottom:16px}
.decisionStrip>div{border:0;border-right:1px solid var(--line);padding:14px 16px;min-height:92px}
.decisionStrip>div:last-child{border-right:0}
.decisionStrip span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.decisionStrip b{display:block;font-size:15px;line-height:1.35}
.decisionStrip small{display:block;color:var(--muted);margin-top:6px}
.responsiveCharts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.responsiveCharts .card{min-height:330px}
.card h3{margin:0 0 12px;font-size:16px}
.actions,.heroActions,.runtimeToolbar,.reportContext{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.btn,.miniBtn{
  border:1px solid var(--line-strong);background:#fff;color:var(--text);border-radius:10px;
  transition:.16s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:700
}
.btn{padding:10px 14px;min-height:40px}
.miniBtn{padding:6px 8px;font-size:12px}
.btn:hover,.miniBtn:hover{border-color:#aebcb4;box-shadow:0 4px 12px rgba(24,34,29,.06)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.miniBtn.danger,.btn.danger{color:var(--danger);border-color:#efcece;background:#fffafa}
.largeBtn{min-height:46px;padding-inline:20px}
input,select,textarea{
  background:#fff;border:1px solid var(--line-strong);border-radius:10px;padding:10px 11px;color:var(--text);outline:none;
  transition:.15s ease
}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,125,87,.10)}
textarea{line-height:1.55}
.form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.notice{
  border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:12px 14px;margin:8px 0;line-height:1.5
}
.notice.warn{background:#fff9ee;border-color:#efd7a8}
.notice.error{background:#fff5f5;border-color:#efc8c8}
.small{font-size:12px;color:var(--muted);line-height:1.5}
.pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:5px 9px;font-size:12px;color:var(--muted)}
.tableWrap{overflow:auto;padding:0}
.tableWrap table{min-width:900px}
table{width:100%;border-collapse:separate;border-spacing:0}
th{
  position:sticky;top:0;z-index:2;background:#f8faf9;color:#536159;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)
}
td{padding:11px 12px;border-bottom:1px solid #edf1ee;vertical-align:top;font-size:13px}
tbody tr:hover{background:#fbfdfc}
.emptyState,.emptyInline{
  border:1px dashed #bdcbc4;background:#fbfdfc;border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted)
}
.emptyState h2{color:var(--text);margin-top:0}
.side{background:#183126;border-right:1px solid rgba(255,255,255,.06)}
.brand{font-size:21px;font-weight:900;letter-spacing:-.04em}
.brand span{color:#8bd0ab}
.nav button{
  border:0;background:transparent;color:#dbe7df;border-radius:10px;padding:10px 11px;
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;transition:.16s ease
}
.nav button:hover{background:rgba(255,255,255,.07)}
.nav button.active{background:#2d664b;color:#fff}
.navIcon{
  width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center;
  font-size:10px;font-weight:900;letter-spacing:.04em;flex:0 0 auto
}
.nav button.active .navIcon{background:rgba(255,255,255,.14)}
.sideFoot{color:#b7c8be;font-size:12px}
.statusDot{width:8px;height:8px;border-radius:999px;background:#6fcf97;box-shadow:0 0 0 4px rgba(111,207,151,.10)}
.reportBuilder{display:grid;grid-template-columns:240px minmax(0,1fr) 260px;gap:14px}
.builderLibrary,.builderCanvas,.builderSettings{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-sm)
}
.libraryItem{
  width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:1px solid transparent;background:transparent;
  border-radius:9px;padding:8px 9px;margin:3px 0
}
.libraryItem:hover{background:var(--surface-2)}
.libraryItem.selected{background:var(--accent-soft);border-color:#cfe3d6;color:#245d42}
.sectionEditor{border:1px solid var(--line);border-radius:12px;margin:9px 0;overflow:hidden;background:#fff}
.sectionEditor header{background:#f8faf9;border-bottom:1px solid var(--line);padding:9px}
.sectionEditor textarea{min-height:90px;padding:12px;background:#fff}
.reportPaper{border:1px solid #dfe5e1;background:#fff;box-shadow:0 18px 50px rgba(17,29,23,.08);border-radius:4px;max-width:840px;margin:0 auto;padding:42px;min-height:650px}
.paperCover{padding-bottom:34px;border-bottom:1px solid var(--line);margin-bottom:26px}
.paperBrand{font-weight:900;font-size:13px;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}
.paperCover h2{font-size:34px;margin:14px 0 5px}
.paperSection{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #eef2ef}
.paperSection>span{font-size:11px;color:#89958f;font-weight:800}
.assistantWorkspace{padding:18px;border-radius:var(--radius)}
.assistantIntro{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.aiMark{width:38px;height:38px;border-radius:11px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:900}
.promptBox{width:100%;min-height:135px;font-size:15px}
.promptExamples{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.promptExamples button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;color:#506058}
.exportResult{display:flex;justify-content:space-between;gap:12px;align-items:center;border-radius:var(--radius);padding:16px;margin-top:12px}
.jsonBox{border:1px solid var(--line);background:#f8faf9!important}
.simpleChart{background:linear-gradient(#fff,#fbfcfb);border-radius:10px}
.reportGenerateBar{
  position:sticky;bottom:12px;display:flex;justify-content:space-between;gap:15px;align-items:center;
  background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow);
  border-radius:14px;padding:12px 14px;margin-top:14px;z-index:5
}
@media(max-width:1250px){
  .overviewGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .reportBuilder{grid-template-columns:210px minmax(0,1fr)}
  .builderSettings{grid-column:1/-1}
}
@media(max-width:900px){
  .main{padding:20px 16px 50px}
  .top,.dashHero,.reportHero{flex-direction:column}
  .overviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .decisionStrip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .decisionStrip>div:nth-child(2){border-right:0}
  .responsiveCharts{grid-template-columns:1fr}
  .reportBuilder{grid-template-columns:1fr}
  .builderSettings{grid-column:auto}
}
@media(max-width:560px){
  .overviewGrid{grid-template-columns:1fr}
  .decisionStrip{grid-template-columns:1fr}
  .decisionStrip>div{border-right:0;border-bottom:1px solid var(--line)}
  .metricCard{min-height:112px}
  .reportPaper{padding:22px}
  .form>*{width:100%}
  .actions>.btn,.heroActions>.btn,.heroActions>select{flex:1 1 150px}
  .reportGenerateBar{position:static;flex-direction:column;align-items:stretch}
}


.alertBuilderGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.alertBuilderGrid label,.builderSettings label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#536159}
.channelBox{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:13px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;margin:12px 0}
.checkRow{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px!important;font-weight:700!important}
.checkRow input{width:auto!important}
.channelRecipients{grid-template-columns:repeat(2,minmax(0,1fr))}
.ruleCard{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.ruleCard:last-child{border-bottom:0}
.canvasHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
@media(max-width:1200px){.alertBuilderGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.alertBuilderGrid,.channelRecipients{grid-template-columns:1fr}.ruleCard{align-items:flex-start;flex-direction:column}}


/* Signature decision-intelligence experiences */
.decisionFlow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0 18px}
.decisionFlow>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;min-height:84px}
.decisionFlow span{display:block;font-size:11px;color:var(--accent);font-weight:900;margin-bottom:7px}
.decisionFlow b{font-size:13px;line-height:1.35}
.recommendHero{padding:10px 0 16px}.recommendHero h2{font-size:25px;margin:12px 0 8px;letter-spacing:-.03em}
.sliderGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}
.sliderGrid label{display:flex;flex-direction:column;gap:8px;background:var(--surface-2);border:1px solid var(--line);padding:13px;border-radius:12px;font-size:12px}
.sliderGrid input[type=range]{padding:0;width:100%;accent-color:var(--accent)}
.presetGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.preset{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:left}
.preset:hover{border-color:var(--accent);background:var(--accent-soft)}
.preset b,.preset small{display:block}.preset small{color:var(--muted);margin-top:5px}
.maccChart{height:300px;display:flex;align-items:flex-end;gap:8px;padding:25px 10px 45px;border-bottom:1px solid var(--line);overflow-x:auto}
.maccBar{min-width:105px;max-width:150px;flex:1;background:#d6b068;border-radius:8px 8px 2px 2px;position:relative;padding:8px;color:#4b3818}
.maccBar.saving{background:#91c4a7;color:#193c2a}
.maccBar b{font-size:11px}.maccBar span{position:absolute;top:calc(100% + 8px);left:0;width:100%;font-size:10px;line-height:1.15;color:var(--muted);white-space:normal}
.portfolioList{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
.portfolioItem{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff}
.portfolioItem input{width:auto;margin-top:3px}.portfolioItem span{display:flex;flex-direction:column;gap:4px}.portfolioItem small{color:var(--muted)}
.pathwayTrack{height:26px;background:#edf1ee;border-radius:999px;overflow:hidden;margin:20px 0}.pathCurrent{height:100%;background:linear-gradient(90deg,var(--accent),#80b99a);border-radius:999px}
.confidenceHero{display:flex;align-items:center;gap:22px;margin-bottom:14px}
.confidenceRing{width:116px;height:116px;border:12px solid var(--accent-soft);outline:5px solid var(--accent);border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:28px;flex:0 0 auto}
.confidenceRing strong{font-size:32px}.confidenceRing span{font-size:12px;color:var(--muted)}
@media(max-width:900px){.decisionFlow{grid-template-columns:repeat(2,1fr)}.sliderGrid{grid-template-columns:repeat(2,1fr)}.portfolioList{grid-template-columns:1fr}}
@media(max-width:560px){.decisionFlow,.sliderGrid,.presetGrid{grid-template-columns:1fr}.confidenceHero{align-items:flex-start;flex-direction:column}}


.recommendationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.recommendationCard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.recommendationCard.topRecommendation{border-color:#a9cdb9;box-shadow:0 14px 38px rgba(47,125,87,.12)}
.recommendationCard.topRecommendation:before{content:"TOP RECOMMENDATION";position:absolute;right:-42px;top:18px;transform:rotate(35deg);background:var(--accent);color:#fff;font-size:9px;font-weight:900;padding:5px 44px;letter-spacing:.08em}
.recHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.recHead h2{font-size:21px;margin:4px 0 6px;letter-spacing:-.025em}.recHead p{margin:0;color:var(--muted);font-size:12px}
.scoreOrb{width:68px;height:68px;border-radius:50%;background:var(--accent-soft);border:5px solid #b9dbc7;display:flex;align-items:baseline;justify-content:center;padding-top:18px;flex:0 0 auto}
.scoreOrb strong{font-size:20px}.scoreOrb span{font-size:9px;color:var(--muted)}
.recMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}
.recMetrics>div{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px}
.recMetrics span,.nextStep span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;margin-bottom:4px}
.recMetrics b{font-size:12px}
.recWhy{border-top:1px solid var(--line);padding-top:13px}.recWhy>b{font-size:12px}.recWhy p{font-size:12px;color:#526159;line-height:1.45;margin:7px 0}
.nextStep{background:#f1f7f3;border-left:3px solid var(--accent);padding:11px 12px;margin:12px 0;border-radius:0 10px 10px 0}.nextStep b{font-size:12px;line-height:1.5}
.recActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.recActions .btn{padding:8px 10px;font-size:11px;min-height:34px}
.recDisclaimer{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.explainRecommendation{margin-top:15px;border-color:#b9d5c4}
@media(max-width:1000px){.recommendationGrid{grid-template-columns:1fr}}
@media(max-width:560px){.recMetrics{grid-template-columns:repeat(2,1fr)}.recHead{flex-direction:column}.scoreOrb{order:-1}}


.dashboardBuilder{display:grid;grid-template-columns:2fr repeat(3,1fr) auto auto;gap:8px;align-items:end;margin-bottom:14px}
#customDashWidgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.customWidget{min-height:250px}
.builderSettings input[type=color]{height:42px;padding:4px;cursor:pointer}
.builderSettings input[type=file]{font-size:11px;padding:8px}
.brandPreview{border-left:4px solid var(--accent);padding-left:10px}
@media(max-width:1100px){.dashboardBuilder{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dashboardBuilder,#customDashWidgets{grid-template-columns:1fr}}


.formulaCard{border:1px solid var(--line);border-radius:14px;padding:15px;margin:10px 0;background:#fff}
.formulaActive{border-left:5px solid #2f7d57}.formulaInactive{border-left:5px solid #b7beb9;opacity:.82}
.formulaTop{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.formulaTop h3{margin:7px 0 4px}
.okPill{background:#e3f2e8;color:#236342}.offPill{background:#eef0ef;color:#6b756f}
.btn.danger{background:#fff1f1;border-color:#efcaca;color:#9d3434}


.levelSummary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}
.levelChip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;cursor:pointer}
.levelChip b{font-size:15px}.levelChip span{font-size:11px;font-weight:800;text-transform:uppercase}
.levelChip.active{box-shadow:0 0 0 2px rgba(47,125,87,.12);border-color:var(--accent)}
.level-critical{border-color:#efb2b2!important}.level-high{border-color:#efc9a5!important}.level-warning{border-color:#ecd99c!important}.level-info{border-color:#c2e5d3!important}.level-medium{border-color:#ecd99c!important}.level-low{border-color:#cddbd2!important}
.severityBadge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.severity-critical{background:#fde7e7;color:#a52323}.severity-high{background:#fff0df;color:#a14d0c}.severity-warning,.severity-medium{background:#fff7d9;color:#7b5b00}.severity-info{background:#edf8f2;color:#2a744f}.severity-low{background:#edf4ef;color:#356148}
.levelBorder-critical{border-left:5px solid #b72d2d}.levelBorder-high{border-left:5px solid #b8862a}.levelBorder-medium{border-left:5px solid #c29a18}.levelBorder-low{border-left:5px solid #789485}
.alertItem{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;margin:9px 0;line-height:1.5}
.severityRow-critical{border-left:6px solid #b72d2d;background:#fffafa}.severityRow-high{border-left:6px solid #b8862a}.severityRow-warning{border-left:6px solid #c29a18}.severityRow-info{border-left:6px solid #53a67d}
.aiTrustBar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.aiTrustBar>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}.aiTrustBar b{display:block}.aiTrustBar small{color:var(--muted)}
.aiAskBox textarea{min-height:86px;resize:vertical}.aiConversation{display:flex;flex-direction:column;gap:10px;margin-top:14px}.chatBubble{border-radius:16px;padding:15px;max-width:920px}.userBubble{background:#17251d;color:#fff;margin-left:auto;max-width:72%}.userBubble small{opacity:.7}.aiBubble{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.aiBubble.grounded{border-left:5px solid #2f7d57}.aiBubble.notFound{border-left:5px solid #bd8b2e}.aiAnswerHead{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.aiAnswerText{font-size:14px;line-height:1.7}.dataFound{background:#e6f3ea;color:#236342}.dataMissing{background:#fff3d8;color:#7a5700}.missingReason{margin-top:12px;background:#fff8e8;border:1px solid #ecd99c;padding:10px;border-radius:10px;font-size:12px}.aiBubble details{margin-top:12px}.aiBubble summary{cursor:pointer;color:var(--muted);font-size:11px}
@media(max-width:700px){.aiTrustBar{grid-template-columns:1fr}.userBubble{max-width:92%}}


.globalContext{position:sticky;top:0;z-index:20;background:rgba(245,248,246,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:13px;padding:8px;margin-bottom:10px;display:grid;grid-template-columns:auto repeat(6,minmax(90px,1fr)) auto auto auto;gap:6px;align-items:center}
.globalContext input,.globalContext select{min-width:0;padding:7px;font-size:10px}.globalContext>b{font-size:11px}.contextCount{font-size:9px;font-weight:900;background:var(--accent-soft);padding:5px 7px;border-radius:999px}
.rcaTree{overflow:auto}.rcaNode{border-left:3px solid var(--accent);padding:10px 0 4px 14px;margin:5px 0}.rcaNode>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rcaNode span{font-weight:800}.rcaNode small,.rcaNode em{font-size:10px;color:var(--muted)}.rcaNode p{font-size:11px;color:var(--muted)}.rcaChildren{margin-left:24px}
.qualityHero{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:12px}
.scenarioCompare{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.drillRow{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line)}details summary{cursor:pointer;padding:7px}.equation{font-family:ui-monospace,monospace;background:#17251d;color:#fff;padding:13px;border-radius:10px;margin-bottom:12px}
.workflowActions,.recLifecycle{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}.recLifecycle{background:var(--surface-2);padding:8px;border-radius:9px}.recLifecycle span{font-size:10px;font-weight:900;text-transform:uppercase}.recLifecycle select{padding:6px;font-size:10px}
@media(max-width:1100px){.globalContext{grid-template-columns:repeat(4,1fr)}.globalContext>b{grid-column:1/-1}.scenarioCompare{grid-template-columns:1fr}}
@media(max-width:700px){.globalContext{position:static;grid-template-columns:1fr 1fr}.globalContext>b{grid-column:1/-1}.rcaChildren{margin-left:10px}}


/* =========================================================
   CarbonIQ 2026 SaaS UI Redesign
   ========================================================= */
:root{
  --bg:#f6f8f7;
  --surface:#ffffff;
  --surface-2:#f9fbfa;
  --surface-3:#eef4f0;
  --text:#132019;
  --text-2:#34453b;
  --muted:#738077;
  --line:#e5ebe7;
  --line-strong:#d8e1db;
  --accent:#1f7a52;
  --accent-2:#2f9368;
  --accent-soft:#eaf5ef;
  --sidebar:#10231a;
  --sidebar-2:#163126;
  --sidebar-text:#d8e5dd;
  --danger:#b63b3b;
  --warning:#b87816;
  --radius:16px;
  --radius-sm:11px;
  --shadow-sm:0 1px 2px rgba(17,34,24,.03),0 5px 16px rgba(17,34,24,.035);
  --shadow:0 14px 36px rgba(18,36,25,.07);
  color:var(--text);
  background:var(--bg);
}
html,body{background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}
body{font-size:14px}
.appShell{background:var(--bg);min-height:100vh}

/* Sidebar */
.side{
  width:248px;background:linear-gradient(180deg,var(--sidebar) 0%,#0d2017 100%);
  padding:16px 12px 14px;border-right:1px solid rgba(255,255,255,.04);
  scrollbar-width:thin;scrollbar-color:#294438 transparent;
}
.workspace{margin-left:248px;min-height:100vh}
.sideTop{padding:2px 4px 12px;margin:0 0 6px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand{font-size:22px;letter-spacing:-.7px;padding:6px 8px;color:#fff}
.brand span{color:#72d49b}
.nav{display:block;padding:8px 0 12px}
.navGroup{margin:4px 0 13px}
.navGroupLabel{
  color:#6f887a;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  padding:7px 10px 5px;
}
.nav button{
  min-height:38px;padding:8px 9px;border-radius:10px;color:#aebfb5;font-size:11px;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.nav button:hover{background:rgba(255,255,255,.055);color:#f2f8f4}
.nav button.active{
  background:linear-gradient(90deg,rgba(47,147,104,.23),rgba(47,147,104,.10));
  color:#fff;box-shadow:inset 2px 0 0 #5bc18b;
}
.navIcon{
  width:28px;height:27px;background:rgba(255,255,255,.055);color:#9db4a7;border:1px solid rgba(255,255,255,.04);
}
.nav button.active .navIcon{background:#2c855f;color:white;border-color:transparent}
.sideFoot{
  position:sticky;bottom:0;background:linear-gradient(180deg,rgba(13,32,23,.1),#0d2017 35%);
  margin-top:8px;padding:15px 9px 4px;border-top:1px solid rgba(255,255,255,.055);
}
.navCollapse{color:#91a99b}
.navCollapse:hover{background:rgba(255,255,255,.07)}
.navCollapsed .side{width:76px}
.navCollapsed .workspace{margin-left:76px}
.navCollapsed .navGroupLabel{font-size:0;padding:6px 0}
.navCollapsed .navGroupLabel:after{content:"";display:block;height:1px;background:rgba(255,255,255,.08);margin:5px 10px}
.navCollapsed .nav button{justify-content:center;padding:7px}
.navCollapsed .navLabel{display:none}
.navCollapsed .brand{font-size:0}
.navCollapsed .brand:before{content:"CI";font-size:18px;font-weight:900;color:#fff}

/* Desktop app header */
.workspaceHeader{
  height:64px;position:sticky;top:0;z-index:35;background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;
  justify-content:space-between;padding:0 26px;
}
.workspaceHeaderLeft,.workspaceHeaderRight{display:flex;align-items:center;gap:12px}
.workspaceHeader .hamburger{
  display:grid;place-items:center;color:var(--text-2);border:1px solid var(--line);background:#fff;width:36px;height:36px;
}
.crumb{display:flex;align-items:center;gap:9px;font-size:11px}
.crumbRoot{color:var(--muted)}
.crumbRoot:after{content:"/";margin-left:9px;color:#b7c0ba}
.crumb b{font-size:12px;color:var(--text)}
.runtimeBadge{
  display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:7px 10px;font-size:10px;font-weight:700;color:var(--text-2)
}
.runtimeBadge i{width:7px;height:7px;border-radius:50%;background:#41b97c;box-shadow:0 0 0 4px rgba(65,185,124,.10)}
.headerIcon{
  width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;
  color:var(--warning);font-weight:900
}
.userChip{
  border:1px solid var(--line);background:#fff;border-radius:12px;padding:5px 8px 5px 5px;display:flex;gap:8px;align-items:center;
  color:var(--text);cursor:default
}
.userChip>span{width:30px;height:30px;border-radius:9px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-size:10px;font-weight:900}
.userChip div{display:grid;text-align:left;line-height:1.15}.userChip b{font-size:10px}.userChip small{font-size:8px;color:var(--muted);margin-top:2px}

/* Main canvas */
.main{padding:26px clamp(22px,3vw,46px) 64px;max-width:1540px;margin:0 auto}
.top,.dashHero,.reportHero{
  align-items:center;margin:6px 0 18px;padding:0;
}
.top h1,.dashHero h1,.reportHero h1{
  font-size:30px;line-height:1.15;letter-spacing:-.035em;font-weight:780;color:var(--text)
}
.top .sub,.dashHero p,.reportHero p{font-size:12px;color:var(--muted);max-width:760px}
.eyebrow{color:var(--accent);font-size:9px;letter-spacing:.16em}
.actions{gap:7px}

/* Context filter */
.contextShell{
  background:#fff;border:1px solid var(--line);border-radius:14px;margin:0 0 16px;box-shadow:var(--shadow-sm);overflow:hidden
}
.contextSummary{display:flex;justify-content:space-between;align-items:center;padding:10px 12px}
.contextIdentity{display:flex;align-items:center;gap:9px;min-width:0}
.contextIdentity>span{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:16px
}
.contextIdentity div{min-width:0}.contextIdentity b{font-size:11px;display:block}.contextIdentity small{
  display:block;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:750px
}
.contextSummaryActions{display:flex;align-items:center;gap:7px}
.contextCount{background:#f2f5f3;color:#66746c;padding:5px 8px;border-radius:999px;font-size:9px}
.globalContext{
  position:static!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;
  background:#fbfcfb!important;box-shadow:none!important;backdrop-filter:none!important;margin:0!important;
  padding:12px!important;grid-template-columns:repeat(6,minmax(120px,1fr)) auto!important;gap:9px!important
}
.globalContext label{display:grid;gap:5px}.globalContext label span{font-size:9px;color:var(--muted);font-weight:750}
.globalContext input,.globalContext select{font-size:10px!important;padding:8px 9px!important;background:#fff}
.contextActions{display:flex;gap:6px;align-items:end}
.contextActions .btn{min-height:35px;padding:7px 10px;font-size:10px}

/* Buttons and controls */
.btn{
  border-color:var(--line-strong);border-radius:10px;padding:8px 12px;min-height:36px;font-size:11px;font-weight:700;
  box-shadow:none;transition:.15s ease
}
.btn:hover{border-color:#bdc9c1;background:#f8faf9;transform:translateY(-1px)}
.btn.primary,.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover,.primary:hover{background:#196a47;border-color:#196a47}
.miniBtn{
  border-color:var(--line);border-radius:8px;padding:6px 8px;background:#fff;color:var(--text-2);font-weight:650
}
input,select,textarea{
  border-color:var(--line-strong);border-radius:10px;padding:9px 10px;background:#fff;font-size:11px;
  transition:border-color .15s ease,box-shadow .15s ease
}
input:hover,select:hover,textarea:hover{border-color:#c6d2ca}
input:focus,select:focus,textarea:focus{border-color:#7eb699;box-shadow:0 0 0 3px rgba(31,122,82,.09);outline:0}

/* Cards / panels */
.card,.panel,.builderLibrary,.builderCanvas,.builderSettings{
  border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--surface)
}
.card{padding:18px;margin-bottom:14px}
.panel{margin-bottom:14px}
.panel-head{min-height:56px;padding:0 16px}
.panel-toggle b{font-size:12px;color:var(--text)}.panel-toggle small{font-size:9px}
.panel-body{padding:16px;background:#fff}
.chev{background:#f3f6f4;color:var(--muted)}
.notice{
  border:1px solid #dce9e1;border-left:4px solid var(--accent);background:#f8fbf9;border-radius:10px;padding:10px 12px;font-size:11px
}
.notice.warn{border-color:#eedcaf;border-left-color:#c08a28;background:#fffaf0}
.notice.error,.error{border-color:#efc6c6;border-left-color:var(--danger);background:#fff7f7}

/* Dashboard */
.overviewGrid{gap:12px;margin-bottom:14px}
.metricCard{
  border-radius:16px;padding:16px 16px 14px;box-shadow:var(--shadow-sm);border:1px solid var(--line);min-height:112px;
  position:relative;overflow:hidden
}
.metricCard:after{content:"";position:absolute;right:-24px;top:-24px;width:70px;height:70px;border-radius:50%;background:rgba(31,122,82,.035)}
.metricCard span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.metricCard strong{font-size:27px;letter-spacing:-.04em;margin:9px 0 4px}
.heroMetric{background:linear-gradient(145deg,#123625,#1e6848);box-shadow:0 14px 30px rgba(22,82,55,.15)}
.heroMetric:after{background:rgba(255,255,255,.07);width:105px;height:105px}
.decisionStrip{
  border-radius:16px;background:#12251b;box-shadow:var(--shadow-sm);margin-bottom:15px
}
.decisionStrip>div{padding:15px 16px}.decisionStrip span,.decisionStrip small{color:#8fa49a}.decisionStrip b{font-size:12px}
.simpleChart{padding:16px 10px 8px;background:#fff;border:1px solid var(--line);border-radius:12px;min-height:220px}

/* Tables */
.tableWrap{border:1px solid var(--line);border-radius:12px;background:#fff}
.tableWrap table{border-collapse:separate;border-spacing:0}
th{
  background:#f7f9f8;color:#718078;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;
  position:sticky;top:0;z-index:2
}
th,td{padding:11px 12px;border-bottom:1px solid #edf1ee;font-size:10.5px}
tbody tr:hover td{background:#fafcfb}
tbody tr:last-child td{border-bottom:0}

/* Recommendation & alert cards */
.recommendationGrid{gap:13px}
.recommendationCard{border-radius:17px;padding:17px;box-shadow:var(--shadow-sm)}
.recommendationCard:hover{box-shadow:var(--shadow);transform:translateY(-1px);transition:.18s ease}
.recHead h2{font-size:18px}
.recMetrics{gap:6px}.recMetrics>div{background:#f8faf9;border-color:#e8eeea}
.levelSummary{background:#fff;border:1px solid var(--line);padding:7px;border-radius:13px;display:inline-flex;box-shadow:var(--shadow-sm)}
.levelChip{border:0!important;background:transparent;border-radius:9px;padding:7px 10px}
.levelChip.active{background:#f0f5f2;box-shadow:none;border:0}
.alertItem{border-radius:12px;box-shadow:none;padding:12px 13px}

/* Forms / builders */
.form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin:0 0 14px}
.alertBuilderGrid{gap:9px}.alertBuilderGrid label{font-size:10px;color:var(--muted)}
.channelBox{background:#f8faf9}
.formulaCard{border-radius:14px;padding:14px;box-shadow:var(--shadow-sm);margin:8px 0}
.formulaTop h3{font-size:14px}
.reportBuilder{gap:12px}
.builderLibrary,.builderCanvas,.builderSettings{padding:15px}
.reportPaper{border-radius:8px;box-shadow:0 18px 50px rgba(20,36,27,.08)}
.assistantWorkspace{
  background:linear-gradient(145deg,#122b1e,#1b4933);border:1px solid #234b37;box-shadow:0 18px 40px rgba(16,44,30,.12)
}
.aiTrustBar>div{box-shadow:var(--shadow-sm)}
.aiAskBox{padding:14px}
.chatBubble{font-size:12px}.aiBubble{border-radius:14px}.userBubble{border-radius:14px;background:#153a28}

/* RCA / quality */
.rcaTree{padding:16px}
.rcaNode{border-left:2px solid #96c5a9;padding-left:13px}
.rcaNode>div{background:#fafcfb;border:1px solid var(--line);border-radius:10px;padding:9px 10px}
.qualityHero{box-shadow:var(--shadow-sm)}
.confidenceRing{width:104px;height:104px;border-width:10px;padding-top:24px}

/* Empty states */
.emptyState{border:1px dashed #d4ddd7;background:#fff;border-radius:18px;padding:48px 24px;box-shadow:var(--shadow-sm)}
.emptyState h2{font-size:18px;margin-bottom:4px}.emptyState p{font-size:11px}

/* Mobile */
.mobileHeader{display:none}
@media(max-width:1100px){
  .globalContext{grid-template-columns:repeat(3,minmax(130px,1fr))!important}
  .contextActions{grid-column:1/-1}
  .workspaceHeader{padding:0 16px}
  .userChip div{display:none}
}
@media(max-width:820px){
  .workspaceHeader{display:none}
  .mobileHeader{
    display:flex;position:sticky;top:0;z-index:35;height:56px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:0 13px;color:var(--text)
  }
  .mobileHeader .mobileHamburger{display:grid;color:var(--text);border:1px solid var(--line);background:#fff}
  .mobileHeader>b{font-size:15px}.mobileHeader>b span{color:var(--accent)}.mobileHeader>span{font-size:10px;color:var(--muted);margin-left:auto}
  .side{transform:translateX(-105%);width:260px!important;box-shadow:0 20px 60px rgba(0,0,0,.22)}
  .side.mobileOpen{transform:translateX(0)}
  .workspace,.navCollapsed .workspace{margin-left:0}
  .mobileClose{display:grid;color:#fff}
  .main{padding:18px 13px 54px}
  .globalContext{grid-template-columns:1fr 1fr!important}
  .contextIdentity small{max-width:380px}
  .top h1,.dashHero h1,.reportHero h1{font-size:25px}
}
@media(max-width:560px){
  .globalContext{grid-template-columns:1fr!important}
  .contextActions{grid-column:auto}
  .contextSummary{align-items:flex-start}
  .contextSummaryActions{flex-direction:column;align-items:flex-end}
  .overviewGrid{gap:9px}.metricCard{min-height:98px;padding:14px}
  .metricCard strong{font-size:23px}
  .card{padding:14px}
  .levelSummary{display:flex;width:100%;overflow:auto}
  .recMetrics{grid-template-columns:1fr 1fr}
}

/* scrollbar */
*{scrollbar-width:thin;scrollbar-color:#c9d4cc transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#c9d4cc;border-radius:999px}
::-webkit-scrollbar-track{background:transparent}

/* =========================================================
   CarbonIQ Enterprise Product System — interaction states
   ========================================================= */
:root{
 --r-sm:6px;--r-md:10px;--r-lg:14px;
 --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;
 --success:#267a4b;--success-bg:#edf8f1;--warning:#9a6514;--warning-bg:#fff8e8;--error:#a83a3a;--error-bg:#fff2f2;--info:#2f6650;--info-bg:#eef6f1;
 --e1:0 1px 2px rgba(16,32,23,.03),0 4px 12px rgba(16,32,23,.035);
 --e2:0 10px 28px rgba(16,32,23,.10);--e3:0 22px 58px rgba(16,32,23,.16);
}
*{box-sizing:border-box}button,a,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,.btn:disabled{cursor:not-allowed;opacity:.48;transform:none!important}
:focus-visible{outline:2px solid #4b9a73!important;outline-offset:2px!important}
.card,.panel,.metricCard,.recommendationCard{border-radius:var(--r-lg);box-shadow:var(--e1)}
.btn{border-radius:var(--r-sm)}input,select,textarea,.miniBtn{border-radius:var(--r-sm)}
.btn:active,.miniBtn:active,.iconButton:active{transform:translateY(1px)}
.btn.loading{pointer-events:none}.buttonSpinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-right:6px;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}

/* Initial load */
.initialLoader{position:fixed;inset:0;z-index:500;background:#f7f9f8;display:grid;place-content:center;justify-items:center;gap:10px;color:#24352b;transition:opacity .25s ease,visibility .25s ease}.initialLoader.hide{opacity:0;visibility:hidden}.loaderMark{width:58px;height:58px;border:1px solid #dfe7e2;border-radius:14px;background:#fff;display:grid;place-items:center;font-weight:900;font-size:19px;box-shadow:var(--e1)}.loaderMark span{color:var(--accent)}.initialLoader>b{font-size:12px}.loaderLine{width:140px;height:3px;background:#e6ece8;overflow:hidden;border-radius:99px}.loaderLine i{display:block;width:45%;height:100%;background:var(--accent);animation:loaderMove 1.1s ease-in-out infinite}@keyframes loaderMove{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}

/* Global search */
.globalSearchTrigger{width:250px;height:36px;border:1px solid var(--line);background:#f8faf9;border-radius:var(--r-md);display:flex;align-items:center;gap:8px;padding:0 9px;color:var(--muted);font-size:10px;text-align:left}.globalSearchTrigger:hover{background:#fff;border-color:#cbd6cf}.globalSearchTrigger span:nth-child(2){flex:1}.globalSearchTrigger kbd,.commandInput kbd{font-size:8px;border:1px solid var(--line-strong);background:#fff;padding:3px 5px;border-radius:4px;color:#7b8880;box-shadow:0 1px 1px rgba(0,0,0,.03)}
.searchOverlay{position:fixed;inset:0;z-index:300;background:rgba(13,27,19,.34);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;opacity:0;transition:.12s ease}.searchOverlay.open{opacity:1}.commandPalette{width:min(650px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e3);overflow:hidden}.commandInput{height:56px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 14px}.commandInput>span{font-size:20px;color:var(--muted)}.commandInput input{flex:1;border:0!important;box-shadow:none!important;background:transparent;font-size:13px}.commandResults{max-height:440px;overflow:auto;padding:8px}.resultGroup>span{display:block;padding:8px 9px 5px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.resultGroup button{width:100%;border:0;background:transparent;border-radius:7px;padding:9px;display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;text-align:left;color:var(--text)}.resultGroup button:hover,.resultGroup button:focus{background:var(--surface-3)}.resultGroup i{width:28px;height:28px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;font-style:normal;font-size:8px;color:var(--accent);background:#fff}.resultGroup b{font-size:11px}.resultGroup small{font-size:9px;color:var(--muted)}.searchEmpty{padding:34px;text-align:center}.searchEmpty p{color:var(--muted);font-size:10px}

/* Toasts */
.toastRegion{position:fixed;z-index:450;top:76px;right:18px;display:grid;gap:8px;width:min(360px,calc(100vw - 28px));pointer-events:none}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e2);padding:10px;display:grid;grid-template-columns:28px 1fr auto auto;gap:8px;align-items:center;transform:translateX(20px);opacity:0;transition:.18s ease}.toast.show{transform:none;opacity:1}.toastIcon{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;font-weight:900}.toast b{font-size:10.5px}.toast-success .toastIcon{background:var(--success-bg);color:var(--success)}.toast-info .toastIcon{background:var(--info-bg);color:var(--info)}.toast-warning .toastIcon{background:var(--warning-bg);color:var(--warning)}.toast-error .toastIcon{background:var(--error-bg);color:var(--error)}.toastAction,.toastClose{border:0;background:transparent;color:var(--accent);font-size:9px;font-weight:800}.toastClose{font-size:15px;color:var(--muted)}

/* Modal */
.overlay{position:fixed;inset:0;z-index:350;background:rgba(13,27,19,.38);display:grid;place-items:center;padding:18px;opacity:0;transition:.16s}.overlay.open{opacity:1}.modal{width:min(480px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e3);transform:translateY(8px) scale(.99);transition:.16s}.overlay.open .modal{transform:none}.modalHead,.drawerHead,.notificationHead{display:flex;justify-content:space-between;align-items:flex-start;padding:18px;border-bottom:1px solid var(--line)}.modalHead h2,.drawerHead h2,.notificationHead h2{font-size:17px;margin:3px 0 0}.modalBody{padding:18px;color:var(--text-2);font-size:11px;line-height:1.6}.modalActions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}.iconButton{width:30px;height:30px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);display:grid;place-items:center;color:var(--muted)}.iconButton:hover{background:var(--surface-3);color:var(--text)}.btn.danger{background:var(--error);border-color:var(--error);color:#fff}

/* Drawers */
.drawerBackdrop{position:fixed;inset:0;z-index:320;background:rgba(13,27,19,.18)}.detailDrawer{position:fixed;z-index:330;right:0;top:0;bottom:0;width:min(470px,92vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--e3);transform:translateX(102%);transition:transform .22s ease;display:flex;flex-direction:column}.detailDrawer.open{transform:none}.drawerBody{padding:18px;overflow:auto;flex:1}.drawerMetric{padding:18px 0 24px;border-bottom:1px solid var(--line);margin-bottom:18px}.drawerMetric span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.drawerMetric strong{font-size:34px;letter-spacing:-.04em}.drawerMetric small{margin-left:5px;color:var(--muted)}

/* Notifications */
.notificationButton{position:relative}.notificationDot{position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:#c95353;border:1px solid #fff}.notificationPanel{position:fixed;z-index:340;right:0;top:0;bottom:0;width:min(420px,94vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--e3);transform:translateX(102%);transition:.22s ease}.notificationPanel.open{transform:none}.notificationTabs{display:flex;gap:3px;padding:10px 14px;border-bottom:1px solid var(--line);overflow:auto}.notificationTabs button{border:0;background:transparent;border-radius:6px;padding:6px 8px;font-size:9px;color:var(--muted)}.notificationTabs button.active{background:var(--surface-3);color:var(--text);font-weight:800}.notificationList{overflow:auto;height:calc(100% - 118px)}.notificationItem{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 16px;display:grid;grid-template-columns:8px 1fr;gap:10px;text-align:left;color:var(--text)}.notificationItem:hover{background:var(--surface-2)}.notificationItem b{font-size:11px}.notificationItem p{font-size:10px;color:var(--text-2);margin:4px 0}.notificationItem small{font-size:8.5px;color:var(--muted)}.notificationSeverity{width:7px;height:7px;border-radius:50%;margin-top:5px}.notificationEmpty{text-align:center;padding:60px 24px}.notificationEmpty>span{display:grid;margin:auto;width:42px;height:42px;border-radius:50%;place-items:center;background:var(--success-bg);color:var(--success);font-size:18px}.notificationEmpty b{display:block;margin-top:12px}.notificationEmpty p{font-size:10px;color:var(--muted)}

/* Skeletons */
.pageSkeleton{display:grid;gap:14px}.skeletonGroup{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skeleton{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;overflow:hidden;position:relative}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(130,150,138,.08),transparent);animation:shimmer 1.35s infinite}@keyframes shimmer{100%{transform:translateX(100%)}}.skeleton i{display:block;height:9px;background:var(--surface-3);border-radius:4px;margin:8px 0}.skeleton i:nth-child(2){height:25px;width:55%}.skeleton i:nth-child(3){width:75%}.skeleton-chart{height:240px;grid-column:span 2}.skeleton-chart i:nth-child(2){height:150px;width:100%}.skeleton-kpi{height:112px}

/* States */
.stateCard{min-height:300px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);display:grid;place-content:center;justify-items:center;text-align:center;padding:42px;box-shadow:var(--e1)}.stateCard .stateIcon,.chartState .stateIcon{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-size:18px;margin-bottom:12px}.stateCard h2{font-size:17px;margin:0 0 6px}.stateCard p{max-width:500px;color:var(--muted);font-size:11px;line-height:1.6}.stateActions{display:flex;gap:8px;margin-top:14px}.stateError .stateIcon{background:var(--error-bg);color:var(--error);border-color:#efd1d1}.stateCard details{width:min(560px,100%);text-align:left;margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.stateCard pre{white-space:pre-wrap;font-size:9px;color:var(--muted)}
.chartState{height:220px;border:1px dashed var(--line-strong);border-radius:var(--r-md);display:grid;place-content:center;justify-items:center;text-align:center;color:var(--muted)}.chartState b{font-size:11px;color:var(--text)}.chartState span{font-size:9px;margin-top:4px}

/* Processing */
.processingCard{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);padding:18px;margin-top:14px;box-shadow:var(--e1)}.processingTop{display:flex;justify-content:space-between;align-items:start}.processingTop h2{font-size:15px;margin:4px 0}.processingTop>b{font-size:17px;color:var(--accent)}.progressTrack{height:5px;background:var(--surface-3);border-radius:99px;overflow:hidden;margin:14px 0}.progressTrack i{display:block;width:0;height:100%;background:var(--accent);transition:width .3s ease}.processSteps{display:grid;gap:2px}.processSteps>div{display:grid;grid-template-columns:20px 1fr auto;gap:8px;padding:8px;border-bottom:1px solid var(--line);font-size:10px}.processSteps small{color:var(--muted)}.processMeta{display:flex;justify-content:space-between;color:var(--muted);font-size:8.5px;padding-top:10px}

/* Upload */
.workflowSteps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:16px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);overflow:hidden}.workflowSteps>div{padding:12px 14px;border-right:1px solid var(--line);display:grid;grid-template-columns:25px 1fr;column-gap:8px}.workflowSteps>div:last-child{border:0}.workflowSteps span{grid-row:1/3;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);font-size:9px;font-weight:900}.workflowSteps .active span{background:var(--accent);color:#fff}.workflowSteps b{font-size:10px}.workflowSteps small{font-size:8.5px;color:var(--muted)}.uploadCard{padding:24px}.sectionHeading h2{font-size:18px;margin:4px 0}.sectionHeading p{font-size:10.5px;color:var(--muted)}.dropZone{position:relative;border:1px dashed #b9c8bf;border-radius:var(--r-md);background:var(--surface-2);min-height:230px;display:grid;place-content:center;justify-items:center;text-align:center;padding:28px;transition:.16s}.dropZone:hover,.dropZone:focus-within{border-color:#78a98d;background:#f7fbf8}.dropZone.dragging{border:2px solid var(--accent);background:var(--accent-soft);transform:scale(1.002)}.dropZone.invalid{border-color:var(--error);background:var(--error-bg)}.dropZone>input{position:absolute;width:1px;height:1px;opacity:0}.dropIcon{width:44px;height:44px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:#fff;color:var(--accent);font-size:20px;margin-bottom:12px}.dropZone h3{font-size:13px;margin:0}.dropZone p{font-size:9.5px;color:var(--muted)}.linkButton{border:0;background:transparent;color:var(--accent);font-weight:800;padding:0}.uploadFileCard{width:min(520px,100%);margin-top:14px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 11px;display:flex;justify-content:space-between;align-items:center}.uploadFileCard>div{display:flex;align-items:center;gap:9px;text-align:left}.uploadFileCard b,.uploadFileCard small{display:block}.uploadFileCard small{color:var(--muted);font-size:8.5px}.fileType{width:35px;height:35px;border-radius:6px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:7px;font-weight:900}.successMark{color:var(--success);font-weight:900}.uploadMeta{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-top:14px}.uploadMeta label{display:grid;gap:5px;flex:1}.uploadMeta label span{font-size:9px;font-weight:800}.uploadMeta em{font-style:normal;color:var(--muted);font-weight:500}.uploadMeta .btn{min-width:140px}

/* Enterprise tables */
.tableToolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.tableSearch{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:0 9px;min-width:260px;color:var(--muted)}.tableSearch input{border:0!important;box-shadow:none!important;background:transparent;width:100%}.tableWrap{max-height:620px}.tableWrap th{top:0}.tableWrap tbody tr{transition:background .12s}.tableWrap tbody tr:hover{background:var(--surface-2)}

/* Chart interactions */
.chartFrame{position:relative}.chartToolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--muted);font-size:8.5px}.chartToolbar>div{display:flex;gap:4px}.simpleChart{overflow:visible}.simpleBar{border:0;border-radius:4px 4px 1px 1px;background:var(--accent);opacity:.78;transition:opacity .15s,transform .15s,filter .15s;color:inherit}.simpleBar:hover,.simpleBar:focus{opacity:1;transform:translateY(-2px);filter:saturate(1.08)}

/* AI states */
.aiThinking{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:16px;display:grid;grid-template-columns:7px 7px 7px 1fr;gap:5px;align-items:center;margin-bottom:10px}.aiThinking>span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:aiPulse 1s infinite}.aiThinking>span:nth-child(2){animation-delay:.15s}.aiThinking>span:nth-child(3){animation-delay:.3s}.aiThinking b{font-size:10px;margin-left:7px}.aiThinking small{grid-column:4;color:var(--muted);font-size:8.5px;margin-left:7px}@keyframes aiPulse{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}

/* Tooltips */
[title]{position:relative}.headerIcon:hover,.iconButton:hover{box-shadow:var(--e1)}

/* Dark mode intentionally designed */
html[data-theme="dark"]{--bg:#111814;--surface:#18211c;--surface-2:#1b2720;--surface-3:#223129;--text:#edf3ef;--text-2:#c3cec7;--muted:#8e9c93;--line:#2b3a31;--line-strong:#394a40;--accent:#58ad7d;--accent-soft:#1e392a;--sidebar:#0b120e;--sidebar-2:#101b14;--e1:0 1px 2px rgba(0,0,0,.12),0 5px 16px rgba(0,0,0,.12);--e2:0 12px 30px rgba(0,0,0,.28);--e3:0 25px 65px rgba(0,0,0,.42);--success-bg:#183123;--warning-bg:#352b16;--error-bg:#351d1d;--info-bg:#1b3629;color-scheme:dark}
html[data-theme="dark"] body,html[data-theme="dark"] .appShell{background:var(--bg)}html[data-theme="dark"] .workspaceHeader{background:rgba(24,33,28,.94)}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .btn,html[data-theme="dark"] .miniBtn,html[data-theme="dark"] .iconButton,html[data-theme="dark"] .userChip,html[data-theme="dark"] .runtimeBadge{background:#1b251f;color:var(--text)}html[data-theme="dark"] .initialLoader{background:#111814;color:var(--text)}html[data-theme="dark"] .loaderMark{background:#18211c}html[data-theme="dark"] .globalSearchTrigger{background:#1b251f}html[data-theme="dark"] .simpleBar{background:#58ad7d}html[data-theme="dark"] th{background:#1c2821}html[data-theme="dark"] tbody tr:hover td{background:#1d2922}

/* Responsive enterprise behavior */
@media(max-width:1100px){.globalSearchTrigger{width:170px}.globalSearchTrigger kbd{display:none}.skeletonGroup{grid-template-columns:1fr 1fr}.workflowSteps{grid-template-columns:1fr 1fr}.workflowSteps>div:nth-child(2){border-right:0}.workflowSteps>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:820px){.toastRegion{top:66px}.detailDrawer{width:100vw}.globalSearchTrigger{display:none}.skeletonGroup{grid-template-columns:1fr 1fr}.skeleton-chart{grid-column:1/-1}.uploadMeta{align-items:stretch;flex-direction:column}.uploadMeta .btn{width:100%}.tableToolbar{align-items:stretch;flex-direction:column}.tableSearch{min-width:0}.notificationPanel{width:100vw}.drawerHead,.notificationHead{padding-top:calc(18px + env(safe-area-inset-top))}}
@media(max-width:560px){.workflowSteps{grid-template-columns:1fr}.workflowSteps>div{border-right:0;border-bottom:1px solid var(--line)!important}.skeletonGroup{grid-template-columns:1fr}.skeleton-chart{grid-column:auto}.stateCard{padding:28px 18px;min-height:260px}.modalActions{display:grid;grid-template-columns:1fr 1fr}.toastRegion{right:10px;width:calc(100vw - 20px)}.processMeta{display:grid;gap:3px}.commandPalette{width:calc(100vw - 18px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.explainFlow{display:grid;gap:0}.explainFlow>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.explainFlow>div>span{width:26px;height:26px;border:1px solid var(--line);background:var(--surface-2);border-radius:6px;display:grid;place-items:center;color:var(--accent);font-size:9px;font-weight:900}.explainFlow section{padding:3px 0 12px}.explainFlow small,.drawerResult span{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.06em}.explainFlow b{display:block;margin-top:3px;font-size:10.5px}.explainFlow>i{height:18px;width:1px;background:var(--line-strong);margin-left:13px}.drawerResult{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:18px 0}.drawerResult strong{display:block;font-size:28px;margin-top:4px;letter-spacing:-.03em}
th.sortable{cursor:pointer;user-select:none}th.sortable:after{content:' ↕';opacity:.35;font-size:8px}th.sortable[data-sort="asc"]:after{content:' ↑';opacity:1;color:var(--accent)}th.sortable[data-sort="desc"]:after{content:' ↓';opacity:1;color:var(--accent)}

/* Sidebar state hotfix: one authoritative desktop open/collapsed behavior. */
@media(min-width:821px){
  .side{width:248px;transform:none!important;transition:width .22s ease!important}
  .workspace{margin-left:248px;transition:margin-left .22s ease}
  .navCollapsed .side{width:76px}
  .navCollapsed .workspace{margin-left:76px}
  .navCollapsed .navCollapse{display:grid;place-items:center}
  .navCollapsed .navLabel{display:none}
  .navCollapsed .brand{font-size:0}
  .navCollapsed .brand span{font-size:0}
  .navCollapsed .brand:before{content:"CI";font-size:18px;font-weight:900;color:#fff}
  .navCollapsed .nav button{justify-content:center;padding-left:7px;padding-right:7px}
}
.settingsTabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.alertRuleGrid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin:14px 0}.alertRuleGrid label{display:grid;gap:5px;font-size:10px;color:var(--muted)}.alertRuleGrid input,.alertRuleGrid select{width:100%}.channelRow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0}.channelRow label{display:flex;gap:6px;align-items:center}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}@media(max-width:1000px){.alertRuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.alertRuleGrid{grid-template-columns:1fr}.settingsTabs .btn{flex:1}}

/* Final sidebar toggle: always-visible desktop edge control. */
@media(min-width:821px){
  .side{overflow:visible!important}
  .nav{height:calc(100vh - 125px);overflow-y:auto;overflow-x:hidden}
  .navCollapse{
    display:grid!important;place-items:center;position:absolute;right:-15px;top:25px;z-index:60;
    width:30px;height:30px;min-width:30px;min-height:30px;padding:0;border:1px solid #d8e3dc!important;
    border-radius:50%;background:#fff!important;color:#1d4f37!important;box-shadow:0 4px 14px rgba(12,35,23,.18);
    cursor:pointer;font-size:23px;font-weight:800;line-height:1;
  }
  .navCollapse:hover{transform:scale(1.06);background:#f2f8f4!important}
  .navCollapse span{transform:translateY(-1px)}
}

/* Carbon AI chat workspace */
.aiPageHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.aiPageHead h1{margin:2px 0 5px}.aiPageHead p{margin:0;color:var(--muted);max-width:760px;font-size:12px;line-height:1.55}.aiChatShell{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.aiChatTop{display:flex;align-items:center;gap:11px;padding:14px 17px;border-bottom:1px solid var(--line);background:#fbfcfb}.aiChatTop>div:nth-child(2){display:grid;gap:2px;flex:1}.aiChatTop small,.evidenceTitle small{color:var(--muted);font-size:10px}.aiAvatar{width:34px;height:34px;border-radius:10px;background:#183226;color:#9de0b5;display:grid;place-items:center;font-weight:900;font-size:11px;flex:none}.aiAvatar.big{width:48px;height:48px;border-radius:14px;margin:auto}.groundedBadge{font-size:10px;color:#27714b;background:#e9f7ee;border:1px solid #c9e7d3;border-radius:20px;padding:5px 9px}.aiQuick{padding:0 16px;margin:12px 0}.aiQuick button{color:#3f5548;border-color:#d8e2db;background:#fff}.chatStream{min-height:420px;max-height:65vh;overflow:auto;padding:20px;background:#f8faf8}.chatEmpty{text-align:center;max-width:520px;margin:75px auto;color:var(--muted)}.chatEmpty h3{color:#26352c;margin:12px 0 5px}.chatEmpty p{font-size:11px;line-height:1.6}.chatTurn{margin-bottom:24px}.bubble{border-radius:14px;padding:12px 14px}.bubble p{margin:5px 0;line-height:1.65;white-space:pre-wrap}.userBubble{background:#203b2d;color:#fff;margin-left:auto;max-width:72%}.userBubble span{font-size:9px;color:#bcd0c3;text-transform:uppercase;font-weight:800}.assistantTurn{display:flex;gap:10px;align-items:flex-start;margin-top:11px;max-width:900px}.assistantContent{flex:1;min-width:0}.aiBubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.answerStatus{display:flex;justify-content:space-between;gap:10px;align-items:center}.statusOk,.statusWarn{font-size:9px;border-radius:20px;padding:4px 7px}.statusOk{background:#e8f7ed;color:#257147}.statusWarn{background:#fff5df;color:#966414}.evidencePanel{border:1px solid #dce6df;border-radius:12px;background:#fff;margin-top:8px;overflow:hidden}.evidenceTitle{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 13px;background:#f1f7f3;border-bottom:1px solid #dce6df}.evidenceTitle>div{display:grid;gap:2px}.evidenceTitle>span{font-size:9px;color:#52705d}.evidenceMetrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;padding:12px}.evidenceMetric{border:1px solid #e3e9e5;border-radius:9px;padding:9px;background:#fcfdfc;display:grid;gap:4px}.evidenceMetric span{font-size:9px;text-transform:capitalize;color:var(--muted)}.evidenceMetric b{font-size:14px}.evidenceRow{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 13px;border-top:1px solid #edf1ee;font-size:10px;line-height:1.5}.evidenceRow>b{color:#415448}.evidenceRow>span{color:#66766c}.evidenceRow.limitation{background:#fff9ed}.rawEvidence{border-top:1px solid #edf1ee;padding:9px 13px;font-size:10px}.rawEvidence summary{cursor:pointer;color:#65766b;font-weight:700}.rawEvidence pre{white-space:pre-wrap;overflow:auto;background:#f7faf8;padding:10px;border-radius:8px}.chatComposer{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 16px;border-top:1px solid var(--line);background:#fff}.chatComposer textarea{min-height:58px;max-height:150px;resize:vertical}.chatComposer .btn{min-width:90px}.chatComposer>small{grid-column:1/-1;color:var(--muted);font-size:9px}@media(max-width:760px){.aiPageHead{display:block}.aiPageHead .actions{margin-top:10px}.userBubble{max-width:90%}.chatStream{padding:12px}.evidenceRow{grid-template-columns:1fr;gap:3px}.groundedBadge{display:none}.chatComposer{grid-template-columns:1fr}.chatComposer .btn{width:100%}}
/* Reduction Plan decision center */
.reductionHero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px;background:linear-gradient(135deg,#f7fbf8,#eef7f1);border:1px solid #dce9e0;border-radius:18px;padding:24px}.reductionHero h1{margin:0;font-size:clamp(30px,3vw,42px);letter-spacing:-.04em}.reductionHero p{max-width:800px;color:var(--muted);line-height:1.6;margin:8px 0 0}.reductionStep{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;margin:18px 0}.stepNo{width:38px;height:38px;border-radius:12px;background:#203c2f;color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:var(--shadow-sm)}.stepContent{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm)}.stepTitle{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.stepTitle h2{margin:0;font-size:20px}.stepTitle p{margin:5px 0 0;color:var(--muted);line-height:1.5}.targetGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.targetCard{border:1px solid var(--line);background:#fafcfb;border-radius:13px;padding:15px;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.targetCard span,.opportunityMetrics span,.evidenceGrid span,.planSummary span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.targetCard strong{font-size:23px}.targetCard small{color:var(--muted)}.targetCard.editable{background:#f1f8f3;border-color:#cfe3d6}.targetInput{display:flex;align-items:center;gap:6px}.targetInput input{width:90px;font-size:22px;font-weight:800}.opportunityList{display:grid;gap:12px}.opportunityCard{border:1px solid var(--line);border-radius:14px;overflow:hidden;display:grid;grid-template-columns:78px minmax(0,1fr);background:#fff;transition:.16s}.opportunityCard.selected{border-color:#8fc3a3;box-shadow:0 0 0 2px rgba(47,125,87,.08)}.opportunityRank{background:#f6f9f7;border-right:1px solid var(--line);padding:18px 10px;text-align:center}.opportunityRank span{display:block;font-size:25px;font-weight:900;color:var(--accent)}.opportunityRank small{display:block;color:var(--muted);margin-top:5px}.opportunityMain{padding:15px}.opportunityName{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.opportunityName h3{margin:0 0 4px;font-size:17px}.opportunityName p{margin:0;color:var(--muted);font-size:12px}.opportunityMetrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:13px 0}.opportunityMetrics>div{background:#fafcfb;border:1px solid #edf1ee;border-radius:10px;padding:10px}.opportunityMetrics b{display:block;margin-top:5px;font-size:14px}.assumptionBar{display:flex;align-items:center;gap:12px;background:#f7faf8;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.assumptionBar>div:first-child{flex:1}.assumptionBar span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.assumptionEdit{display:flex;align-items:center;gap:5px}.assumptionEdit input{width:72px}.evidenceBtn{border:0;background:transparent;color:var(--accent);font-weight:800;padding:7px}.evidencePanel{margin-top:10px;border:1px solid #cfe3d6;background:#f7fbf8;border-radius:12px;padding:14px}.evidenceHeader{display:flex;justify-content:space-between;gap:12px}.evidenceHeader p{margin:4px 0 0;color:var(--muted);font-size:12px}.evidenceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.evidenceGrid>div{background:#fff;border:1px solid #dfeae3;border-radius:10px;padding:11px}.evidenceGrid b{display:block;margin:6px 0;font-size:13px}.evidenceGrid small{color:var(--muted);line-height:1.4}.evidenceNote{margin-top:10px;padding:10px;border-left:3px solid var(--accent);background:#fff;font-size:12px;line-height:1.5}.opportunityControls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.opportunityControls label{font-size:11px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:5px}.opportunityControls input,.opportunityControls select{padding:7px 8px;min-width:90px}.planSummary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden}.planSummary>div{padding:15px;border-right:1px solid var(--line);background:#fafcfb}.planSummary>div:last-child{border-right:0}.planSummary strong{display:block;font-size:20px;margin-top:7px}.planSummary strong small{font-size:11px}.planSummary .targetStatus{background:#fff8eb}.planSummary.planMet .targetStatus{background:#eef8f1}.targetStatus small{display:block;color:var(--muted);margin-top:5px;line-height:1.4}
@media(max-width:1100px){.targetGrid{grid-template-columns:repeat(2,1fr)}.opportunityMetrics{grid-template-columns:repeat(3,1fr)}.evidenceGrid{grid-template-columns:repeat(2,1fr)}.planSummary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.reductionHero{flex-direction:column}.reductionStep{grid-template-columns:1fr}.stepNo{margin-bottom:-4px}.targetGrid,.opportunityMetrics,.evidenceGrid,.planSummary{grid-template-columns:1fr}.opportunityCard{grid-template-columns:1fr}.opportunityRank{border-right:0;border-bottom:1px solid var(--line);text-align:left;padding:10px 14px;display:flex;gap:8px;align-items:center}.opportunityRank span{font-size:17px}.opportunityName,.assumptionBar{align-items:stretch;flex-direction:column}.planSummary>div{border-right:0;border-bottom:1px solid var(--line)}}
.facilityCards,.formulaCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.facilityCard,.formulaCard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-align:left;color:var(--text);box-shadow:var(--shadow-sm)}.facilityCard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.facilityCardTop,.sectionLine,.formulaCardHead,.formulaFooter,.unitHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.facilityEmoji{font-size:32px}.statusBadge{font-size:11px;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:5px 8px;border-radius:999px}.facilityCarbon b{font-size:28px}.facilityStats{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:11px;color:var(--muted)}.openFacility{margin-top:12px;color:var(--accent);font-weight:800}.iconPicker,.formulaTokens{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.iconPicker button,.formulaTokens button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px;font-size:18px}.iconPicker button.selected{background:var(--accent-soft);border-color:var(--accent)}.facilityFormGrid,.formulaGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.facilityFormGrid label,.formulaGrid label,.expressionBox{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}.customFieldRow{display:grid;grid-template-columns:1fr .7fr 1fr;gap:8px;margin:8px 0}.facilityMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.facilityMetric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column}.facilityMetric b{font-size:25px;margin:6px 0}.facilityMetric span,.facilityMetric small{font-size:11px;color:var(--muted)}.facilityMetric.hero{background:#244d39;color:#fff}.facilityMetric.hero span,.facilityMetric.hero small{color:#dcece3}.facilityDetailGrid,.formulaLayout{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.customRead,.equipmentNode{background:var(--surface-2);padding:10px;border-radius:9px;margin-top:8px}.customRead span,.equipmentNode small{display:block;color:var(--muted);font-size:11px}.unitNode{border:1px solid var(--line);border-radius:12px;padding:13px;margin-top:10px}.equipmentGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.expressionBox textarea{min-height:80px;font-family:monospace}.expressionPreview{background:#17231d;color:#e9f4ed;border-radius:10px;padding:12px;margin:10px 0}.expressionPreview span{display:block;font-size:10px;color:#9fb4a8}.formulaCardHead>div{display:flex;flex-direction:column}.formulaCardHead span,.formulaFooter{font-size:11px;color:var(--muted)}.formulaCard code{display:block;background:var(--surface-2);padding:10px;border-radius:8px;margin:12px 0}.formulaCard.disabled{opacity:.6}.activeText{color:var(--accent)}.switch{position:relative;width:42px;height:24px}.switch input{display:none}.switch span{position:absolute;inset:0;background:#c8d0cc;border-radius:20px}.switch span:after{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translateX(18px)}
@media(max-width:900px){.facilityCards,.formulaCards{grid-template-columns:1fr 1fr}.facilityMetrics{grid-template-columns:1fr 1fr}.facilityDetailGrid,.formulaLayout{grid-template-columns:1fr}}@media(max-width:600px){.facilityCards,.formulaCards,.facilityFormGrid,.formulaGrid,.equipmentGrid,.facilityMetrics{grid-template-columns:1fr}.customFieldRow{grid-template-columns:1fr}}
.facilityMetricsSix{grid-template-columns:repeat(6,minmax(0,1fr))}.facilityDashboardCharts{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-bottom:14px}.consumptionPanel{min-height:300px}.consumptionRows{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.consumptionRows>div{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px}.consumptionRows span{font-size:12px;color:var(--muted);font-weight:700}.consumptionRows b{font-size:22px}@media(max-width:1200px){.facilityMetricsSix{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.facilityDashboardCharts{grid-template-columns:1fr}.facilityMetricsSix{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.facilityMetricsSix,.consumptionRows{grid-template-columns:1fr}}
.referenceDesignBox{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(220px,320px) auto;gap:14px;align-items:center;padding:20px;margin:18px 0;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,rgba(45,113,79,.08),rgba(47,125,87,.05))}.referenceDesignBox h3{margin:4px 0}.referenceDesignBox p{margin:0;color:var(--muted);max-width:700px}.referenceUpload,.attachBtn{cursor:pointer;border:1px dashed var(--border);border-radius:12px;padding:11px 14px;font-weight:700;background:var(--card)}.referenceUpload input,.attachBtn input{display:none}.chatAttachmentBar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--border);background:var(--card)}.attachedFile{font-size:12px;padding:7px 10px;border-radius:999px;background:rgba(47,125,87,.1);font-weight:700}@media(max-width:900px){.referenceDesignBox{grid-template-columns:1fr}.chatAttachmentBar{flex-wrap:wrap}}
.scenarioHero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 28px;margin-bottom:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f7faf8,#eef5f0)}.scenarioHero h2{margin:5px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.65}.scenarioHorizon{min-width:210px}.scenarioHorizon select{width:100%;margin-top:7px}.scenarioLayout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;align-items:start}.scenarioResults{position:sticky;top:12px}.leverGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scenarioLever{display:grid;grid-template-columns:1fr 80px 18px;align-items:center;gap:7px;padding:11px;border:1px solid var(--line);border-radius:12px}.scenarioLever span{display:flex;flex-direction:column}.scenarioLever small{opacity:.6;margin-top:2px}.scenarioLever input{margin:0}.scenarioLever em{font-style:normal;opacity:.6}.scenarioTarget{margin-top:12px}.miniInput{width:80px!important;display:inline-block!important}.emptyScenario{text-align:center;padding:60px 30px}.scenarioKpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.scenarioKpis>div{padding:14px;border:1px solid var(--line);border-radius:12px}.scenarioKpis small,.scenarioKpis span{display:block}.scenarioKpis b{font-size:25px}.riskKpi{background:#fff5f3}.goodKpi{background:#f1faf4}.confidenceLine{padding:10px;border-radius:10px;background:var(--soft)}.impactRow{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.impactRow div{display:flex;flex-direction:column}.impactRow small{opacity:.65;margin-top:3px}.badText{color:#a33}.goodText{color:#28734b}.methodBox{padding:12px;margin-top:8px;background:var(--soft);border-radius:10px}.methodBox p{margin:3px 0 10px}.riskCard{padding:13px;border-left:4px solid #c48730;background:#fff9ef;border-radius:8px;margin:9px 0}.riskCard.high{border-left-color:#b9483e;background:#fff4f2}.riskCard p{margin:5px 0}.goodState{padding:15px;background:#f1faf4;border-radius:10px}.forecastRow{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.forecastRow div{text-align:right;display:flex;gap:14px}.pill{font-size:10px;padding:3px 7px;border-radius:20px;background:var(--soft);font-weight:500}@media(max-width:1100px){.scenarioLayout{grid-template-columns:1fr}.scenarioResults{position:static}}@media(max-width:700px){.scenarioHero{display:block}.scenarioHorizon{margin-top:15px}.leverGrid,.scenarioKpis{grid-template-columns:1fr}}

/* Unified calculation workspace: same tab interaction pattern as Settings / Alerts. */
.calculationTabs{margin-top:2px;margin-bottom:18px}.calculationCenterBody>.top{display:none}.calculationCenterBody{min-width:0}.calculationTabs .btn{min-width:160px}
@media(max-width:600px){.calculationTabs .btn{flex:1;min-width:0}}

/* Calculation Center — formula workspace redesign */
.formulaStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.formulaStats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:5px}.formulaStats span{font-size:11px;color:var(--muted)}.formulaStats b{font-size:24px}.formulaToolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.formulaToolbar>div{display:flex;gap:8px;flex:1}.formulaToolbar input{max-width:360px;flex:1}.formulaWorkspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr);gap:14px;align-items:start}.formulaTablePanel{padding:0;overflow:hidden}.formulaTablePanel table{margin:0}.formulaTablePanel tbody tr{cursor:pointer}.formulaTablePanel tbody tr:hover,.formulaTablePanel .selectedRow{background:var(--accent-soft)}.formulaStatus{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;background:#f0f2f1;color:#7a8580;font-size:10px;font-weight:800}.formulaStatus.on{background:#e9f7ee;color:#23824c}.formulaDetailPanel{min-height:370px;position:sticky;top:18px}.formulaDetailHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.formulaDetailHead h2{margin:0 0 7px;font-size:20px}.formulaMeta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.formulaMeta>div{background:var(--surface-2);border-radius:9px;padding:10px}.formulaMeta span{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.formulaCode{background:#f5faf8;border:1px solid var(--line);border-radius:10px;padding:14px;margin:8px 0 16px;line-height:1.6}.formulaCode code{color:var(--accent);font-weight:700}.variableChips{display:flex;gap:7px;flex-wrap:wrap}.variableChips span{background:var(--accent-soft);color:var(--accent);padding:7px 9px;border-radius:8px;font-size:11px;font-weight:700}.formulaUsage{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.emptyFormula{padding:30px;text-align:center;color:var(--muted)}.formulaBuilderV2{margin-top:14px}.builderColumns{display:grid;grid-template-columns:.8fr 1.3fr 1fr;gap:16px;margin-top:16px;align-items:start}.builderActions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.calculationTabs{border-bottom:1px solid var(--line);gap:0}.calculationTabs .btn{border-radius:10px 10px 0 0;border-bottom:0;margin-bottom:-1px}.calculationTabs .btn.primary{background:#fff;color:var(--accent);border-color:var(--line);border-top:2px solid var(--accent);box-shadow:none}
@media(max-width:1000px){.formulaWorkspace{grid-template-columns:1fr}.formulaDetailPanel{position:static}.builderColumns{grid-template-columns:1fr}.formulaStats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.formulaStats{grid-template-columns:1fr 1fr}.formulaToolbar{align-items:stretch;flex-direction:column}.formulaToolbar>div{flex-direction:column}.formulaToolbar input{max-width:none}.formulaMeta{grid-template-columns:1fr 1fr}}

/* Company-centric Carbon Intelligence Dashboard */
.companyDashHero{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;padding:25px 28px;margin-bottom:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f8fbf9,#eef6f1)}.companyDashHero h1{font-size:30px;margin:5px 0}.companyDashHero p{margin:0;color:var(--muted);max-width:760px}.companyContext{display:flex;align-items:center;gap:10px}.companyContext>div{display:flex;flex-direction:column;min-width:160px}.companyContext span{font-size:9px;color:var(--muted);text-transform:uppercase}.companyContext b{font-size:10px}.globalFilterBar{position:sticky;top:0;z-index:20;display:flex;gap:8px;align-items:center;padding:10px 12px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);box-shadow:var(--e1)}.globalFilterBar b{margin-right:auto}.dataState{font-size:10px;font-weight:800;padding:6px 9px;border-radius:999px}.dataState.actual{background:#edf8f1;color:#267a4b}.carbonSection{margin:0 0 16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--e1)}.sectionKicker{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--accent);margin-bottom:5px}.carbonKpis{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:10px}.carbonKpi{border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px;text-align:left;display:flex;flex-direction:column;gap:5px;color:var(--text)}.carbonKpi:hover,.carbonKpi.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.carbonKpi.total{background:#173c2d;color:#fff;border-color:#173c2d}.carbonKpi span{font-size:10px;opacity:.75}.carbonKpi b{font-size:23px}.carbonKpi small{font-size:9px;opacity:.7}.companyFacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.companyFacts span{padding:7px 10px;background:var(--surface-2);border-radius:8px;font-size:10px}.companyFacts b{font-size:12px;margin-right:3px}.sectionHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:8px}.sectionHead h2{margin:0 0 3px}.sectionHead p{margin:0;color:var(--muted);font-size:10px}.contextBadge{font-size:9px;padding:6px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.scopeBlock{border-left:3px solid var(--accent)}.textAction{border:0;background:transparent;color:var(--accent);font-weight:800;padding:8px 0}.traceBanner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:13px;border-radius:10px;background:var(--surface-2)}.traceBanner span{font-size:10px;color:var(--muted)}.targetStory{display:flex;align-items:center;gap:14px}.targetStory>div:not(.targetArrow){display:flex;flex-direction:column;padding:10px 13px;background:var(--surface-2);border-radius:10px;min-width:145px}.targetStory span{font-size:9px;color:var(--muted)}.targetArrow{font-size:20px;color:var(--muted)}.actionSection{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f1f8f4,#fff)}.actionSection h2{margin:3px 0}.actionSection p{margin:0;color:var(--muted);max-width:760px}.explainOverlay{position:fixed;inset:0;z-index:500;background:rgba(12,25,18,.3);display:flex;justify-content:flex-end}.explainDrawer{width:min(480px,100vw);height:100%;background:#fff;padding:28px;box-shadow:var(--e3);overflow:auto;position:relative}.explainClose{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:26px}.explainValue{font-size:32px;font-weight:900;padding:16px 0;border-bottom:1px solid var(--line)}.explainValue small{font-size:11px;color:var(--muted)}.explainDrawer h3{font-size:12px;margin-top:20px}.explainDrawer p{font-size:11px;color:var(--muted);line-height:1.7}@media(max-width:1100px){.carbonKpis{grid-template-columns:repeat(2,1fr)}.carbonKpi.total{grid-column:span 2}.companyDashHero{align-items:flex-start;flex-direction:column}.targetStory{flex-wrap:wrap}}@media(max-width:700px){.carbonKpis{grid-template-columns:1fr}.carbonKpi.total{grid-column:auto}.globalFilterBar,.companyContext{flex-wrap:wrap}.traceBanner{grid-template-columns:1fr}.actionSection{align-items:flex-start;flex-direction:column;gap:12px}}
.studioGrid{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(480px,1.1fr);gap:16px;align-items:start}.chartConfigSummary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}.chartConfigSummary span{border:1px solid var(--line,#dfe6e2);border-radius:10px;padding:10px;font-size:11px}.chartConfigSummary b{display:block;margin-top:4px;font-size:12px}.recentCharts{display:grid;gap:10px}.recentChart{display:flex;justify-content:space-between;gap:16px;align-items:center}.recentChart p{margin:4px 0 9px;color:#69756f;font-size:12px}.customDashEmpty{display:flex;justify-content:space-between;align-items:center}.customChartWrap{position:relative}.removeWidget{position:absolute;right:12px;top:12px;border:0;background:#fff;border-radius:8px;padding:5px 8px;cursor:pointer;font-size:11px;box-shadow:0 1px 6px #0001}@media(max-width:1000px){.studioGrid{grid-template-columns:1fr}.chartConfigSummary{grid-template-columns:repeat(2,1fr)}}

.dataQualityWarning{margin:0 0 16px;padding:12px 14px;border:1px solid #e6c86e;background:#fff9e7;border-radius:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.dataQualityWarning span{flex:1;color:#5d5438}.explainableChart{position:relative}.explainableChart>.card{height:100%}.explainChartBtn{position:absolute;right:12px;top:10px;border:1px solid #d9e2dd;background:#fff;border-radius:8px;padding:6px 9px;font-size:11px;cursor:pointer}.explainChartBtn:hover{background:#f3f7f5}.globalFilterBar select{max-width:150px}
.chartTitleRow{display:flex;justify-content:space-between;gap:12px;align-items:center}.chartExport{display:flex;gap:5px;flex-wrap:wrap}.chartExport button{border:1px solid #d8e9e0;background:#fff;border-radius:7px;padding:5px 8px;font-size:11px;cursor:pointer}.drillDrawer .drillValue{font-size:30px;font-weight:800;margin:10px 0}.productTable td,.productTable th{white-space:nowrap}.targetTrajectory{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.targetTrajectory>div{padding:14px;border:1px solid #e5eeea;border-radius:12px}.targetTrajectory span{display:block;font-size:12px;color:#687386}.targetTrajectory b{display:block;margin-top:5px}.statusAtRisk{color:#a86600}.statusOffTrack{color:#b42318}.statusOnTrack{color:#087443}.widgetEditBar{display:flex;gap:6px;justify-content:flex-end;margin:6px 0}.widgetEditBar button{font-size:11px}.customChartWrap.wide{grid-column:1/-1}.customChartWrap.compact .chart{height:220px}
.dataState.scenario{background:#f2edff;color:#6847a8}.dragHandle{cursor:grab;font-size:10px;color:var(--muted);margin-right:auto;padding:6px 8px}.customChartWrap[draggable=true]{transition:opacity .15s,transform .15s}.customChartWrap[draggable=true]:active{opacity:.7}.reductionSummary{display:grid;grid-template-columns:220px 1fr;gap:14px;margin:12px 0}.reductionSummary>div:first-child{border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column}.reductionSummary>div:first-child b{font-size:26px}.reductionSummary small,.reductionSummary span{color:var(--muted);font-size:10px}.reductionOpps{display:grid;gap:7px}.reductionOpps button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;cursor:pointer}.reductionOpps button b,.reductionOpps button span{display:block}.reductionOpps button:hover{background:var(--surface-2)}@media(max-width:700px){.reductionSummary{grid-template-columns:1fr}}

/* === CarbonIQ visual redesign pass: Calculations + Company Dashboard === */
.calculationCenterBody{background:#f5faf8;border:1px solid #e7efeb;border-top:0;border-radius:0 0 18px 18px;padding:22px}
.calculationTabs{background:#fff;padding:0 22px;border:1px solid #e7efeb;border-radius:16px 16px 0 0;box-shadow:0 8px 24px rgba(19,51,35,.04)}
.calculationTabs .btn{border:0!important;background:transparent!important;color:#6d7887!important;border-radius:0!important;padding:16px 18px!important;font-weight:800!important}
.calculationTabs .btn.primary{color:#2f7d57!important;border-bottom:3px solid #2f7d57!important}
.formulaStats{gap:14px;margin-bottom:18px}.formulaStats>div{border-radius:15px;padding:18px 20px;border-color:#e4eee9;box-shadow:0 6px 20px rgba(28,67,48,.05)}
.formulaStats>div:nth-child(2){border-left:4px solid #25a768}.formulaStats>div:nth-child(3){border-left:4px solid #aeb7c4}.formulaStats>div:nth-child(4){border-left:4px solid #2f7d57}.formulaStats b{font-size:28px;color:#193125}
.formulaToolbar{background:#fff;border:1px solid #e4eee9;border-radius:15px;padding:12px 14px;margin-bottom:16px}.formulaToolbar input,.formulaToolbar select{background:#f8fcfa;border-color:#e3ede8}
.formulaWorkspace{grid-template-columns:minmax(0,1.5fr) minmax(370px,.85fr);gap:18px}.formulaTablePanel,.formulaDetailPanel{border-radius:16px;border-color:#e4eee9;box-shadow:0 10px 28px rgba(28,67,48,.06)}
.formulaTablePanel thead{background:#f7fcfa}.formulaTablePanel th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8791a1;padding:14px 16px}.formulaTablePanel td{padding:16px}.formulaTablePanel tbody tr{border-left:3px solid transparent}.formulaTablePanel tbody tr:hover{background:#f8fdfb}.formulaTablePanel .selectedRow{background:#eef6f1!important;border-left-color:#2f7d57}
.formulaDetailPanel{padding:22px}.formulaDetailHead h2{font-size:23px;color:#193125}.formulaCode{background:#122b1f;color:#e5f6ee;border:0;padding:18px}.formulaCode code{color:#9cdbbc}.formulaMeta>div{background:#f7fcfa;border:1px solid #eef3f0}.variableChips span{background:#eef6f1;color:#2f7d57;border:1px solid #e3f5ec}.formulaBuilderV2{border:1px solid #ddf2e8;border-radius:16px;box-shadow:0 12px 34px rgba(39,106,73,.08);padding:22px}.formulaTokens button{background:#eef6f1!important;color:#2f7d57!important;border:1px solid #e3f5ec!important;border-radius:9px!important}.expressionPreview{background:#122b1f!important;color:#fff!important;border-radius:12px!important;padding:16px!important}.expressionPreview code{color:#ade1c7!important}
.companyDashHero{background:linear-gradient(120deg,#102b24,#174c3b 58%,#1d6650);color:#fff;border:0;border-radius:20px;padding:30px 32px;box-shadow:0 16px 40px rgba(16,55,42,.18)}.companyDashHero .eyebrow{color:#9ad8bd}.companyDashHero p{color:#c7ddd4}.companyDashHero h1{font-size:34px;letter-spacing:-.03em}.companyDashHero select{background:#fff;color:#193125}.companyContext span{color:#a8cabe}.companyContext b{color:#fff;font-size:11px}
.globalFilterBar{border-radius:15px;padding:12px 14px;box-shadow:0 8px 28px rgba(18,45,35,.07)}.carbonSection{border-radius:18px;padding:22px;box-shadow:0 8px 26px rgba(22,45,36,.055)}.carbonKpis{gap:14px}.carbonKpi{border-radius:15px;padding:18px;min-height:112px}.carbonKpi.total{background:linear-gradient(135deg,#143c30,#1d6049);box-shadow:0 10px 25px rgba(20,70,52,.18)}.carbonKpi b{font-size:27px}.scopeBlock{border-left:0;border-top:4px solid #2d8b67}.sectionKicker{font-size:10px}.companyFacts{margin-top:14px}.companyFacts span{padding:9px 12px;border:1px solid #edf1ee;background:#f8faf9}.traceBanner{border:1px solid #e5eee9;background:#f7fbf9;border-radius:13px}
@media(max-width:1000px){.formulaWorkspace{grid-template-columns:1fr}}
.calculationHero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#102b24,#174c3b);color:#fff;border-radius:20px;padding:27px 30px;margin-bottom:16px;box-shadow:0 14px 36px rgba(27,76,52,.16)}.calculationHero .eyebrow{font-size:9px;letter-spacing:.14em;color:#ade1c7;font-weight:900}.calculationHero h1{font-size:32px;margin:5px 0}.calculationHero p{margin:0;color:#cde8da}.calcHeroBadge{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:12px 16px;display:flex;flex-direction:column;min-width:190px}.calcHeroBadge span,.calcHeroBadge small{font-size:9px;color:#bbdacb}.calcHeroBadge b{font-size:15px;margin:3px 0}

/* Unified CarbonIQ workspaces — visible UI consolidation */
.workspaceHero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:22px;margin-bottom:0;color:#fff;box-shadow:0 18px 44px rgba(22,61,42,.16)}.workspaceHero h1{font-size:32px;margin:5px 0 7px}.workspaceHero p{max-width:760px;margin:0;color:#d7ede2;line-height:1.55}.workspaceHero .eyebrow{color:#ade1c7}.dataWorkspaceHero{background:linear-gradient(120deg,#153b28,#225d40)}.futureHero{background:linear-gradient(120deg,#163a28,#2c6d4d)}.intelligenceHero{background:radial-gradient(circle at 85% 10%,rgba(118,205,162,.3),transparent 28%),linear-gradient(120deg,#123021,#174c3b 60%,#1b4a33)}.workspaceHeroBadge{min-width:210px;padding:14px 17px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);border-radius:14px;display:flex;flex-direction:column}.workspaceHeroBadge span,.workspaceHeroBadge small{font-size:10px;color:#bfe1d0}.workspaceHeroBadge b{font-size:18px;margin:4px 0}.workspaceTabs{display:flex;gap:4px;background:#fff;border:1px solid #e2eee8;border-top:0;padding:13px 18px 0;border-radius:0 0 18px 18px;margin-bottom:18px;box-shadow:0 8px 24px rgba(28,67,48,.04)}.workspaceTabs button{border:0;background:transparent;padding:12px 18px 14px;font-weight:750;color:#748093;cursor:pointer;border-bottom:3px solid transparent}.workspaceTabs button.active{color:#2f7d57;border-bottom-color:#2f7d57}.workspaceTabs button span{background:#eef7f2;padding:2px 7px;border-radius:20px;margin-left:5px;font-size:10px}.workspaceTabBody>.top{display:none}.intelligenceSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.intelligenceSummary>div{background:#fff;border:1px solid #e3efe9;border-radius:14px;padding:15px 17px;box-shadow:0 7px 22px rgba(24,66,45,.04)}.intelligenceSummary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8994a5}.intelligenceSummary b{display:block;margin-top:5px;color:#1b382a}.intelligenceAnalyze{background:#fff!important;color:#2a724e!important;border-color:#fff!important;font-weight:800}.intelligenceRca{background:#fff;border:1px solid #e0ede6;border-radius:18px;padding:22px;margin:18px 0}.rootCauseHero{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;background:#f9fdfb;border:1px solid #e5f6ee;border-radius:15px;padding:20px}.rootCauseHero h3{font-size:22px;margin:8px 0}.rootCauseMetrics{display:grid;grid-template-columns:1fr;gap:8px}.rootCauseMetrics>div{background:#fff;border:1px solid #e6f1ec;border-radius:10px;padding:10px 12px}.rootCauseMetrics span{display:block;font-size:10px;color:#8994a5}.rootCauseMetrics b{font-size:13px}.intelligenceRca+.aiPageHead{margin-top:24px}.intelligenceHero~.aiPageHead{background:#fff;border:1px solid #e0ede6;border-radius:18px;padding:22px;margin-top:18px}.intelligenceHero~.aiPageHead .eyebrow{color:#2f7d57}.intelligenceHero~.aiChatShell{border:1px solid #e0ede6;border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(24,66,45,.06)}
@media(max-width:900px){.workspaceHero{align-items:flex-start;flex-direction:column}.workspaceHeroBadge{min-width:0;width:100%}.intelligenceSummary{grid-template-columns:1fr 1fr}.rootCauseHero{grid-template-columns:1fr}}@media(max-width:600px){.workspaceTabs{overflow:auto}.intelligenceSummary{grid-template-columns:1fr}}

/* Standalone no-Node chart renderer */
.fallbackChart{height:auto!important;min-height:260px;padding:12px;display:flex;flex-direction:column;gap:10px;overflow:auto}
.fallbackBarRow{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(180px,3fr) minmax(80px,.7fr);align-items:center;gap:12px;border:0;background:transparent;text-align:left;padding:7px 4px;cursor:pointer;color:inherit}
.fallbackBarRow:hover{background:#f5f8f7;border-radius:8px}
.fallbackTrack{height:13px;background:#edf2f0;border-radius:999px;overflow:hidden;display:block}
.fallbackTrack i{height:100%;display:block;background:linear-gradient(90deg,#1e5e42,#2f7d57);border-radius:999px}
.fallbackLabel{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fallbackBarRow b{text-align:right;font-size:12px}

/* Patch 03 — Calculations + Explain popup */
.formulaModalOverlay{position:fixed;inset:0;background:rgba(12,30,21,.55);z-index:9999;display:flex;align-items:center;justify-content:center;padding:28px;backdrop-filter:blur(3px)}
.formulaModalWindow{width:min(1050px,96vw);max-height:90vh;overflow:auto;margin:0!important;box-shadow:0 28px 80px rgba(0,0,0,.25)}
.calculatorPanel{padding:24px;margin-bottom:14px;background:linear-gradient(135deg,#fff,#f6faf7)}
.calculatorPanel h2{margin:5px 0 4px;font-size:24px}
.calculatorControls{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:end;margin-top:18px}
.calculatorControls .datasetSelect{min-width:0}
.explainNumberPopup{width:min(760px,92vw);max-height:86vh;overflow:auto}
.explainTrace{white-space:pre-wrap;overflow:auto;background:#122b1f;color:#e5f6ee;border-radius:12px;padding:16px;margin-top:14px;max-height:52vh}
@media(max-width:800px){.calculatorControls{grid-template-columns:1fr}.formulaModalOverlay{padding:12px}}

/* Patch 04 — Human-readable Explain This Number */
.explainReadable{display:flex;flex-direction:column;gap:16px;margin-top:14px}
.explainHeroNumber{padding:20px;border-radius:16px;background:linear-gradient(135deg,#102b24,#174c3b);color:white;display:flex;flex-direction:column;gap:4px}
.explainHeroNumber span,.explainHeroNumber small{opacity:.76}.explainHeroNumber strong{font-size:32px;line-height:1.15}
.explainSummary{padding:4px 2px}.explainSummary h3{margin:0 0 8px}.explainSummary p{margin:0;line-height:1.7;color:#43505f}
.explainEquation{border:1px solid #dce6e2;background:#f8fbfa;border-radius:14px;padding:16px}
.humanEquation{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;font-size:14px}
.humanEquation span,.humanEquation strong{padding:9px 11px;border-radius:9px;background:white;border:1px solid #dfe8e5}
.humanEquation strong{background:#e9f7f2;border-color:#bde5d6;color:#096b50}
.explainGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.explainInfoCard{border:1px solid #e1e8e5;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:4px}
.explainInfoCard span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#748078}.explainInfoCard b{font-size:14px}.explainInfoCard small{color:#6b7580}
.explainEvidence{border-top:1px solid #e4e9e7;padding-top:14px}.explainEvidence h3{margin:0 0 8px}.explainEvidence p{margin:4px 0;color:#59636d;font-size:13px}
.explainWarning{display:flex;flex-direction:column;gap:4px;background:#fff7e6;border:1px solid #f1d59a;border-radius:12px;padding:13px;color:#79530b}
@media(max-width:700px){.explainGrid{grid-template-columns:1fr}.explainHeroNumber strong{font-size:26px}}

/* Patch 05 — Forecast planning, horizon cards, AI actions, chart catalog */
.forecastPlanner{padding:22px}.forecastDateHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.forecastDateHead h2{margin:4px 0}
.forecastRangeBadge{padding:8px 12px;border-radius:999px;background:#eef6f1;border:1px solid #ddf2e8;font-size:12px;font-weight:700}
.forecastDateGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.forecastDateGrid label{display:flex;flex-direction:column;gap:7px;font-weight:700}.forecastDateGrid input{padding:12px;border:1px solid #dbe4e1;border-radius:10px}
.forecastAssumptions{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.forecastAssumptions label{display:flex;flex-direction:column;gap:6px}.forecastAssumptions input{padding:10px;border:1px solid #dbe4e1;border-radius:9px}
.forecastResultGrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:14px}.forecastLegend{display:flex;gap:18px;font-size:12px;color:#66736e;margin-top:8px}.forecastModelCard p{line-height:1.5}
.horizonDateBoxes{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.horizonDateBoxes button{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:inherit;border-radius:11px;padding:9px 10px;display:flex;flex-direction:column;align-items:center;cursor:pointer}.horizonDateBoxes button span{font-size:18px;font-weight:800}.horizonDateBoxes button small{opacity:.75}.horizonDateBoxes button.active{background:white;color:#174c3b;border-color:white;box-shadow:0 4px 16px rgba(0,0,0,.12)}
@media(max-width:850px){.forecastDateGrid,.forecastAssumptions,.forecastResultGrid{grid-template-columns:1fr}.forecastDateHead{flex-direction:column}}

/* Patch 12 — data-driven visualization engine */
.smartSvg{width:100%;min-height:250px;overflow:visible}.chartLine{stroke:var(--accent,#2f7d57);stroke-width:3;vector-effect:non-scaling-stroke}.chartArea{fill:rgba(47,125,87,.12)}.chartPoint,.scatterPoint{fill:var(--accent,#2f7d57);cursor:pointer}.axisLabel{font-size:10px;fill:#64748b}.series1{stroke:#16a34a;fill:#16a34a}.series2{stroke:#d6a21c;fill:#d6a21c}.series3{stroke:#1e5e42;fill:#1e5e42}.series4{stroke:#3f9b72;fill:#3f9b72}.series5{stroke:#ef4444;fill:#ef4444}
.donutWrap{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:20px;align-items:center}.donutSvg{width:100%;max-height:250px}.donutHole{fill:var(--card,#fff)}.pieSlice{cursor:pointer;stroke:#fff;stroke-width:2}.chartLegend{display:grid;gap:8px}.chartLegend span{display:flex;gap:8px;align-items:center;justify-content:space-between}.legendDot{width:10px;height:10px;border-radius:50%;background:#2f7d57;display:inline-block}
.stackRow{display:grid;grid-template-columns:minmax(110px,180px) 1fr 90px;gap:12px;align-items:center;width:100%;border:0;background:transparent;padding:8px 0;text-align:left}.stackTrack{display:flex;height:18px;border-radius:6px;overflow:hidden;background:#eff6f2}.stackPart{height:100%;background:#2f7d57}.waterfallRows,.stackedRows{display:grid;gap:7px}.waterfallItem{display:grid;grid-template-columns:minmax(120px,180px) 1fr 90px;gap:12px;align-items:center}.waterfallItem i{height:16px;border-radius:4px;background:#16a34a}.waterfallItem i.negative{background:#ef4444}
.treemap{display:flex;flex-wrap:wrap;gap:6px;min-height:230px}.treeCell{min-width:110px;min-height:80px;border:0;border-radius:10px;padding:12px;background:#2f7d57;color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between}.heatmapGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px}.heatCell{min-height:75px;border-radius:8px;padding:10px;background:#2f7d57;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.gaugeWrap{display:grid;place-items:center;min-height:240px}.gauge{width:190px;height:95px;border-radius:190px 190px 0 0;background:conic-gradient(from 270deg at 50% 100%,#2f7d57 var(--pct),#e5e7eb 0);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:10px}.gauge b{font-size:28px}.chartMissing{padding:28px;text-align:center;color:#64748b;background:#f8fcfa;border-radius:10px}
.datasetProfile{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.profileChips{display:flex;flex-wrap:wrap;gap:7px}.profileChips span{padding:6px 9px;border-radius:999px;background:#eef6f1;color:#1e5e42;font-size:12px;font-weight:700}.recommendedViz{margin:16px 0;padding:16px;border:1px solid #bfe2cd;background:#fafdfc;border-radius:12px}.recommendedViz.warning{border-color:#fbbf24;background:#fffbeb}.recommendedViz h3{margin:5px 0 7px}.recommendedViz p{margin:0 0 12px;line-height:1.55}.missingData{font-weight:700;color:#9a6514}.horizontalBar .fallbackLabel{white-space:normal}.chartConfigSummary{flex-wrap:wrap}
@media(max-width:760px){.donutWrap{grid-template-columns:1fr}.datasetProfile{display:block}.stackRow,.waterfallItem{grid-template-columns:100px 1fr 70px}}

/* Patch 15 */
.scenarioDecisionPanel{margin-top:18px;padding:18px;border-radius:16px;border:1px solid #dce7e2;background:#f8fbfa}.scenarioDecisionPanel h3{margin:0 0 8px}.decisionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.decisionGrid div{background:white;border:1px solid #e4ece8;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.decisionGrid span{font-size:12px;color:#68736e}@media(max-width:800px){.decisionGrid{grid-template-columns:1fr}}

/* Scenario flexibility: custom dates, scope assumptions and traceable results */
.scenarioDates{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:330px}.scenarioDates label{font-size:10px;font-weight:700}.scenarioDates input{display:block;width:100%;margin-top:6px}.scopeAssumption{border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:14px;background:#fbfcfb}.scopeAssumptionHead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.scopeAssumptionHead div{display:flex;flex-direction:column}.scopeAssumptionHead small{color:var(--muted);margin-top:3px}.customLever{display:grid;grid-template-columns:minmax(160px,1fr) 150px 110px 34px;gap:8px;align-items:center;margin-top:8px}.customLever input,.customLever select{margin:0}.scenarioActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 14px}.scopeResultGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.scopeResult{text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px;cursor:pointer}.scopeResult:hover{background:var(--soft)}.scopeResult small,.scopeResult span{display:block}.scopeResult b{display:block;font-size:18px;margin:4px 0}.scopeResult span{font-size:10px;color:var(--muted)}
@media(max-width:700px){.scenarioDates,.scopeResultGrid{grid-template-columns:1fr;min-width:0}.customLever{grid-template-columns:1fr}.scopeAssumptionHead{align-items:flex-start;flex-direction:column}}

/* Scenario Simulator — fixed AI chat, explain icons, scenario-only outputs */
.aiAssistantSection{overflow:visible}
.aiButton{margin-top:10px;min-height:46px;padding:0 20px;border:0!important;color:#fff!important;background:linear-gradient(135deg,#1e5e42,#1e5e42)!important;box-shadow:0 10px 24px rgba(11,107,87,.18);font-weight:800}
.aiButton:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(11,107,87,.24)}
.expandedAIChat.aiChatBox{width:100%!important;max-width:none!important;height:540px!important;min-height:540px!important;resize:none!important;margin-top:16px!important;padding:0!important;display:grid!important;grid-template-rows:64px minmax(0,1fr) 118px!important;border:1px solid rgba(11,107,87,.22)!important;border-radius:18px!important;background:#f8fbfa!important;overflow:hidden!important;box-shadow:0 16px 36px rgba(20,55,48,.10)}
.aiChatHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#fff;border-bottom:1px solid var(--line)}
.aiChatHeader>div{display:flex;flex-direction:column;gap:3px}.aiChatHeader b{font-size:15px}.aiChatHeader small{color:var(--muted)}
.aiOnlineDot{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 9px;border-radius:999px;background:#e8f7f1;color:#087354;font-size:11px;font-weight:900}
.aiChatMessages{padding:18px;overflow:auto;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.aiMessage{max-width:82%;padding:12px 14px;border-radius:15px;line-height:1.45}.aiMessage p{margin:5px 0 0}.assistantBubble{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}.userBubble{align-self:flex-end;background:#e9f6f3;border:1px solid #c8e7df;border-bottom-right-radius:5px}
.aiPreview{align-self:stretch;padding:14px 16px;border-radius:14px;border:1px solid #bfe0d6;background:#f1faf7}.aiPreview>b{display:block;margin:6px 0}.aiPreview .btn{margin-top:8px}
.aiChatComposer{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;padding:14px 16px;background:#fff;border-top:1px solid var(--line);align-items:stretch}
.aiChatComposer textarea{width:100%!important;height:88px!important;min-height:88px!important;max-height:88px!important;resize:none!important;margin:0!important;padding:12px 14px!important;border-radius:12px!important}
.aiSendButton{height:88px!important;margin:0!important;border:0!important;background:#1a4932!important;color:#fff!important;font-weight:800}
.runScenarioAction{margin-top:16px}
.infoExplain{display:inline-flex!important;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#edf6f3;color:#087354!important;border:1px solid #c9e4dc;font-size:16px!important;font-weight:900;line-height:1;cursor:pointer;margin-top:7px}
.miniResultCard:hover .infoExplain,.scopeResult:hover .infoExplain{background:#087354;color:#fff!important}
.scenarioOutputTools{margin-top:18px!important;border:1px solid #d7e8e3!important;background:linear-gradient(180deg,#fff,#f8fbfa)!important}
.scenarioOutputHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.scenarioOutputHead h3{margin:4px 0 6px}.scenarioOutputHead p{margin:0;max-width:760px}
.scenarioToolButtons{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.scenarioChartBtn{border:0!important;background:#2a734f!important;color:#fff!important;box-shadow:0 8px 18px rgba(42,115,79,.16)}
.scenarioReportBtn{border:0!important;background:#6a4c93!important;color:#fff!important;box-shadow:0 8px 18px rgba(106,76,147,.16)}
.scenarioChart{margin-top:18px!important;background:#fff!important;border:1px solid var(--line)!important}.scenarioChart .chartBars{min-height:250px;display:flex;align-items:flex-end;justify-content:center;gap:60px;padding:28px 24px 10px}.scenarioChart .chartItem{min-width:150px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.scenarioChart .bar{width:76px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#2a734f,#70b291)}
.scenarioExportModal{max-width:620px!important}.reportMeta{display:grid;gap:5px;padding:14px 16px;border-radius:12px;background:#f6f9f8;border:1px solid var(--line);margin-bottom:14px}.reportMeta span{font-size:12px;color:var(--muted)}
.reportFormatGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.reportFormatCard{appearance:none;border:1px solid var(--line);border-radius:14px;background:#fff;padding:20px;text-align:left;cursor:pointer;transition:.15s}.reportFormatCard:hover{transform:translateY(-2px);border-color:#87b8aa;box-shadow:0 10px 22px rgba(20,55,48,.08)}.reportFormatCard strong{display:block;font-size:20px;margin-bottom:6px;color:#1a4932}.reportFormatCard span{font-size:12px;color:var(--muted)}
@media(max-width:760px){.expandedAIChat.aiChatBox{height:500px!important;min-height:500px!important}.aiChatComposer{grid-template-columns:1fr;grid-template-rows:78px 44px}.aiChatComposer textarea{height:78px!important;min-height:78px!important;max-height:78px!important}.aiSendButton{height:44px!important}.reportFormatGrid{grid-template-columns:1fr}.scenarioToolButtons{flex-direction:column}.scenarioToolButtons .btn{width:100%}}


/* CarbonIQ Scenario AI improvements */
.aiChatBox.expandedAIChat{
 width:520px !important;
 min-height:560px !important;
 max-height:560px !important;
 position:relative;
 background:#ffffff !important;
 color:#13251c !important;
 border-radius:18px;
 box-shadow:0 18px 45px rgba(0,0,0,.18);
 overflow:hidden;
}
.aiChatBox.expandedAIChat *{
 color:#13251c;
}
.aiChatMessages{
 min-height:380px;
 max-height:380px;
 overflow-y:auto;
 background:#f8fcfa;
 padding:18px;
}
.aiChatInput input, .aiChatInput textarea{
 color:#13251c !important;
 background:#fff !important;
}
.scenarioChartBtn{
 background:linear-gradient(135deg,#2f7d57,#10b981)!important;
 color:white!important;
}
.scenarioReportBtn{
 background:linear-gradient(135deg,#2f7d57,#1e5e42)!important;
 color:white!important;
}

/* CarbonIQ Scenario AI UI improvements */
.expandedAIChat{
 width:520px !important;
 min-height:560px !important;
 max-height:560px !important;
 display:flex !important;
 flex-direction:column !important;
 background:#ffffff !important;
 color:#13251c !important;
 border-radius:20px !important;
 overflow:hidden !important;
}
.expandedAIChat *{color:#13251c;}
.aiChatMessages{flex:1;overflow-y:auto;padding:18px;}
.aiChatComposer{padding:16px;background:#f8fcfa;}
.aiChatComposer textarea{min-height:90px;color:#13251c!important;background:white!important;}
.aiButton{background:linear-gradient(135deg,#1e5e42,#2f7d57)!important;color:white!important;}
.scenarioChartBtn{background:linear-gradient(135deg,#2f7d57,#3f9b72)!important;color:white!important;}
.scenarioReportBtn{background:linear-gradient(135deg,#059669,#10b981)!important;color:white!important;}

.scenarioChartGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.chartPanel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.infoExplain{cursor:pointer;font-size:18px;color:#176b57}.scenarioReportBtn{background:#176b57;color:#fff}.scenarioChartBtn{background:#30855b;color:#fff}.aiChatBox{width:520px!important;height:560px!important;color:#111!important}.aiChatBox *{color:#111;}

/* Scenario Enterprise Report and AI Chat enhancements */
.scenarioExportModal .reportFormatCard{border-radius:16px;padding:22px;border:1px solid #e3f1e9;background:#ffffff;cursor:pointer;transition:.2s}.scenarioExportModal .reportFormatCard:hover{transform:translateY(-2px)}.scenarioChatPanel{width:520px!important;min-height:560px!important}.scenarioChatPanel textarea,.scenarioChatPanel input{color:#13251c!important}.scenarioKpiInfo{cursor:pointer}

.bar{height:12px;background:#e5e7eb;border-radius:8px;overflow:hidden;margin:10px 0}.bar span{display:block;height:100%;background:linear-gradient(90deg,#1e5e42,#2f7d57);border-radius:8px}.scenarioChartGrid{display:grid;gap:18px}.chartPanel{min-height:180px}


/* CarbonIQ Reduction Plan / Scenario UI polish */
.cq-dashboard-card,
.reduction-plan-card,
.ai-assistant-card,
.scenario-section-card {
  border-radius: 18px;
  padding: 18px;
  background: #ffffff;
  border: 1px solid rgba(20,80,60,.10);
  box-shadow: 0 8px 24px rgba(0,0,0,.05);
}

.cq-primary-btn,
button.primary,
.btn-primary {
  border-radius: 12px !important;
  font-weight: 600;
  padding: 10px 18px;
  cursor: pointer;
}

.cq-secondary-btn,
button.secondary,
.btn-secondary {
  border-radius: 12px !important;
  padding: 10px 18px;
}

.cq-danger-btn,
button.danger {
  border-radius: 12px !important;
  padding: 10px 18px;
}

.scope-filter select,
.emissions-scope-filter select {
  border-radius: 12px;
  padding: 10px 14px;
  border: 1px solid rgba(20,80,60,.18);
  background: white;
}

.progress-bar,
.reduction-progress-bar {
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
}

/* CarbonIQ Step 2 UI improvements */
.modalCard{
 background:#fff;
 border-radius:16px;
 padding:20px;
 box-shadow:0 10px 30px rgba(0,0,0,.08);
 display:flex;
 flex-direction:column;
 gap:12px;
}
.modalCard button,.heroActions button,.aiReductionAssistant button{
 border-radius:12px;
 min-height:40px;
 font-weight:600;
}
.aiReductionAssistant{
 border-radius:18px;
 padding:18px;
 border:1px solid rgba(22,163,74,.18);
 background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(47,125,87,.08));
}
.scopeExplorerBadge{
 display:inline-flex;
 align-items:center;
 padding:6px 12px;
 border-radius:999px;
 background:rgba(47,125,87,.08);
 font-size:12px;
 font-weight:600;
}

/* CarbonIQ Dashboard Enhancements */
.activePlanHeader,.progressCard,.aiReductionAssistant{border-radius:16px;padding:18px;margin:12px 0}
.progressTrack{height:10px;border-radius:10px;overflow:hidden;background:#e9f1ed}
.progressFill{height:100%;border-radius:10px}
.btn.primary,.btn.secondary,.btn.danger{border-radius:10px;padding:10px 16px;font-weight:600}
.statusBadge{border-radius:999px;padding:5px 12px}


/* CarbonIQ Reduction Plan Dashboard UI Fix */
.planManagementPanel,
.activePlan,
.activePlanHeader,
.progressCard,
.aiReductionAssistant,
.planCard,
.modalCard {
  box-sizing: border-box;
}

.planManagementPanel {
  margin-top: 24px;
  padding: 24px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid #dce8df;
  box-shadow: 0 10px 30px rgba(18,45,32,.06);
}

.planManagementPanel > h3 {
  margin-bottom: 18px;
}

.planCard {
  padding: 18px;
  margin-top: 14px;
  border-radius: 16px;
  background: #f8fbf9;
  border: 1px solid #e0ebe4;
}

.planCard button,
.activePlan button,
.modalCard button {
  border: 0;
  border-radius: 12px;
  padding: 10px 16px;
  cursor: pointer;
  font-weight: 600;
  transition: .2s ease;
}

.planCard button:hover,
.activePlan button:hover,
.modalCard button:hover {
  transform: translateY(-1px);
}

.activePlan {
  margin-top: 24px;
  padding: 24px;
  border-radius: 20px;
  background: linear-gradient(180deg,#ffffff,#f7fcf8);
  border: 1px solid #d6e8dc;
}

.activePlanHeader {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
}

.statusBadge {
  padding:6px 14px;
  border-radius:999px;
  background:#dff4e8;
  color:#147a4a;
  font-weight:700;
}

.progressCard {
  padding:18px;
  border-radius:16px;
  background:#f4f9f5;
  margin-bottom:22px;
}

.progressTrack {
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#dfe9e2;
  margin-top:12px;
}

.progressFill {
  height:100%;
  border-radius:999px;
  background:#17824f;
}

.aiReductionAssistant {
  margin-top:24px;
  padding:20px;
  border-radius:18px;
  background:#eef8f2;
  border:1px solid #cce5d6;
}

.modalCard {
  padding:24px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dce8df;
}

.emptyPlanState{padding:24px;border-radius:16px;text-align:center;margin:16px 0;border:1px solid rgba(0,0,0,.08);background:#fff}.emptyPlanState h4{margin:0 0 8px}.emptyPlanState p{margin:0 0 16px;color:#64748b}

.carbonToast{position:fixed;top:24px;right:24px;z-index:9999;background:#1e5e42;color:#fff;padding:14px 20px;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.18);font-weight:600;}

/* --- Phase 1 fix: one consistent categorical palette for slices, lines, legend dots and stacked parts --- */
.pieSlice.series0{fill:#14532d}
.legendDot.series0,.stackPart.series0{background:#14532d}
.legendDot.series1,.stackPart.series1{background:#16a34a}
.legendDot.series2,.stackPart.series2{background:#d6a21c}
.legendDot.series3,.stackPart.series3{background:#1e5e42}
.legendDot.series4,.stackPart.series4{background:#3f9b72}
.legendDot.series5,.stackPart.series5{background:#ef4444}
.userBubble p{color:#0f3d2e !important;opacity:1 !important}.userBubble span{color:#166534 !important;opacity:1 !important}



/* =====================================================================
   Reduction Plan (rp-*) — rebuilt page
   ===================================================================== */
.rp{--rp-ink:var(--text,#13231a);--rp-muted:var(--muted,#64748b);--rp-line:var(--line,#e2e8e4);--rp-card:var(--surface,#fff);--rp-soft:var(--surface-2,#f6f9f7);
  --rp-green:#1f7a52;--rp-green-2:#2fa36b;--rp-green-soft:#e7f4ec;--rp-amber:#b7791f;--rp-amber-soft:#fdf6e7;--rp-red:#b54545;--rp-red-soft:#fdf0f0;--rp-blue:#3aa16e;
  display:flex;flex-direction:column;gap:16px;color:var(--rp-ink);max-width:1400px}
.rp h1{font-size:32px;line-height:1.1;margin:4px 0 6px;letter-spacing:-.02em}
.rp h2{font-size:20px;margin:0 0 4px;letter-spacing:-.01em}
.rp h3{font-size:15px;margin:0 0 4px}
.rp-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--rp-green)}
.rp-muted{color:var(--rp-muted);font-size:13px;margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rp-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;flex-wrap:wrap;padding:24px 28px;border-radius:20px;
  background:linear-gradient(135deg,#f3faf6 0%,#e4f2ea 100%);border:1px solid #d5e9dd}
.rp-head p{margin:0;color:#3f5a4b;max-width:560px}
.rp-head-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rp-head-actions select{min-width:200px}
.rp select,.rp input{font:inherit;font-size:14px;color:var(--rp-ink);background:var(--rp-card);border:1px solid #cfdad3;border-radius:10px;padding:9px 11px;transition:border-color .15s,box-shadow .15s}
.rp select:focus,.rp input:focus{outline:none;border-color:var(--rp-green);box-shadow:0 0 0 3px rgba(31,122,82,.15)}
.rp input:disabled,.rp select:disabled{opacity:.6}
.rp-card{background:var(--rp-card);border:1px solid var(--rp-line);border-radius:18px;padding:20px 22px;box-shadow:0 1px 2px rgba(16,40,28,.04)}
.rp-btn{font:inherit;font-size:13px;font-weight:700;border-radius:10px;padding:9px 14px;border:1px solid #cfdad3;background:var(--rp-card);color:var(--rp-ink);cursor:pointer;transition:background .15s,transform .05s;white-space:nowrap}
.rp-btn:hover:not(:disabled){background:var(--rp-soft)}
.rp-btn:active:not(:disabled){transform:translateY(1px)}
.rp-btn:disabled{opacity:.55;cursor:not-allowed}
.rp-btn-primary{background:var(--rp-green);border-color:var(--rp-green);color:#fff}
.rp-btn-primary:hover:not(:disabled){background:#186543}
.rp-btn-ghost{border-color:transparent;color:var(--rp-red)}
.rp-btn-ghost:hover:not(:disabled){background:var(--rp-red-soft)}
.rp-btn-sm{padding:7px 12px;font-size:12px}
.rp-icon-btn{width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:none;color:var(--rp-muted);font-size:20px;line-height:1;cursor:pointer}
.rp-icon-btn:hover:not(:disabled){background:var(--rp-red-soft);color:var(--rp-red)}
.rp-toast{border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600}
.rp-toast-ok{background:var(--rp-green-soft);color:#165a3c;border:1px solid #bfe2cd}
.rp-toast-error{background:var(--rp-red-soft);color:var(--rp-red);border:1px solid #f1c9c9}
.rp-empty{padding:40px;text-align:center;color:var(--rp-muted);background:var(--rp-card);border:1px dashed #cfdad3;border-radius:18px}
.rp-empty-inline{padding:22px;border-radius:12px}
.rp-error{color:var(--rp-red);background:var(--rp-red-soft);border-radius:10px;padding:8px 12px;font-size:13px;margin:0}
.rp-chip{display:inline-flex;gap:4px;background:var(--rp-soft);border:1px solid var(--rp-line);border-radius:999px;padding:2px 10px;font-size:12px;color:#3f5a4b}
.rp-actions{display:flex;gap:10px;margin-top:4px}
/* create */
.rp-create{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding:26px 28px}
.rp-create-main{display:flex;flex-direction:column;gap:14px}
.rp-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#3b4d43}
.rp-field small{font-weight:400;color:var(--rp-muted)}
.rp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rp-check{display:flex;gap:8px;align-items:center;font-size:13px;grid-column:1/-1}
.rp-check input{width:16px;height:16px;accent-color:var(--rp-green)}
.rp-seg{display:inline-flex;background:var(--rp-soft);border:1px solid var(--rp-line);border-radius:12px;padding:3px;gap:3px;align-self:flex-start}
.rp-seg button{font:inherit;font-size:13px;font-weight:600;border:0;background:none;padding:8px 14px;border-radius:9px;color:var(--rp-muted);cursor:pointer}
.rp-seg button.on{background:var(--rp-card);color:var(--rp-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.rp-seg button:disabled{opacity:.5;cursor:not-allowed}
.rp-seg-sm button{padding:6px 12px;font-size:12px}
.rp-create-preview{background:linear-gradient(180deg,#123d2a,#0f2f21);color:#e8f5ee;border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;align-self:start}
.rp-create-preview .rp-kicker{color:#86d3a9}
.rp-create-preview .rp-muted{color:#a9c9b8}
.rp-prev-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px;font-size:14px}
.rp-prev-row span{color:#a9c9b8}
.rp-prev-big{display:flex;flex-direction:column;gap:2px;padding:6px 0}
.rp-prev-big span{font-size:12px;color:#a9c9b8;text-transform:uppercase;letter-spacing:.06em}
.rp-prev-big b{font-size:38px;line-height:1.1;letter-spacing:-.02em}
.rp-prev-big small{color:#a9c9b8}
/* plan bar + KPIs */
.rp-planbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.rp-planbar-actions{display:flex;gap:8px;align-items:center}
.rp-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.rp-kpi{background:var(--rp-card);border:1px solid var(--rp-line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.rp-kpi span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--rp-muted)}
.rp-kpi b{font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rp-kpi small{font-size:12px;color:var(--rp-muted)}
.rp-kpi-strong{background:#123d2a;border-color:#123d2a}
.rp-kpi-strong span,.rp-kpi-strong small{color:#a9c9b8}.rp-kpi-strong b{color:#fff}
.rp-kpi-good{border-color:#bfe2cd;background:var(--rp-green-soft)}.rp-kpi-good b{color:#165a3c}
.rp-kpi-warn{border-color:#f3dcae;background:var(--rp-amber-soft)}.rp-kpi-warn b{color:#8a5a12}
.rp-kpi-bad{border-color:#f1c9c9;background:var(--rp-red-soft)}.rp-kpi-bad b{color:var(--rp-red)}
/* progress */
.rp-progress-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rp-bar{position:relative;height:16px;background:#edf2ef;border-radius:999px;overflow:hidden}
.rp-bar-planned{position:absolute;inset:0 auto 0 0;background:repeating-linear-gradient(45deg,#f0b94a,#f0b94a 6px,#f4c869 6px,#f4c869 12px);border-radius:999px;transition:width .4s}
.rp-bar-planned.ok{background:repeating-linear-gradient(45deg,#7cc79d,#7cc79d 6px,#93d3ae 6px,#93d3ae 12px)}
.rp-bar-achieved{position:absolute;inset:0 auto 0 0;background:var(--rp-green);border-radius:999px;transition:width .4s}
.rp-bar-goal{position:absolute;right:0;top:0;bottom:0;width:3px;background:#123d2a}
.rp-bar-legend{display:flex;gap:16px;margin-top:10px;font-size:12px;color:var(--rp-muted)}
.rp-bar-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.rp-bar-legend .achieved{background:var(--rp-green)}.rp-bar-legend .planned{background:#93d3ae}.rp-bar-legend .goal{background:#123d2a}
/* two-column */
.rp-two{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:16px}
.rp-chart{width:100%;height:auto;margin-top:8px}
.rp-grid{stroke:#e8eeea;stroke-width:1}
.rp-axis{font-size:11px;fill:#7a8a80}
.rp-l-base{fill:none;stroke:#b8c4bd;stroke-width:2;stroke-dasharray:3 4}
.rp-l-target{fill:none;stroke:#123d2a;stroke-width:2;stroke-dasharray:7 5}
.rp-l-proj{fill:none;stroke:var(--rp-green-2,#2fa36b);stroke-width:3;stroke-linejoin:round}
.rp-a-proj{fill:rgba(47,163,107,.10)}
.rp-dot-ok{fill:#2fa36b;stroke:#fff;stroke-width:2}.rp-dot-bad{fill:#b54545;stroke:#fff;stroke-width:2}
.rp-legend text{font-size:11px;fill:#3f5a4b}
.rp-flags{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.rp-flag{font-size:13px;line-height:1.45;padding:9px 12px 9px 34px;border-radius:10px;position:relative}
.rp-flag:before{position:absolute;left:12px;top:9px;font-weight:800}
.rp-flag-ok{background:var(--rp-green-soft);color:#165a3c}.rp-flag-ok:before{content:'✓'}
.rp-flag-warning{background:var(--rp-amber-soft);color:#7a4f10}.rp-flag-warning:before{content:'!'}
.rp-flag-critical{background:var(--rp-red-soft);color:var(--rp-red)}.rp-flag-critical:before{content:'!'}
.rp-flag-info{background:#f0f9f4;color:#1e5e42}.rp-flag-info:before{content:'i'}
.rp-fin{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 12px}
.rp-fin div{background:var(--rp-soft);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.rp-fin span{font-size:11px;color:var(--rp-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.rp-fin b{font-size:17px;font-variant-numeric:tabular-nums}
.rp-inline-form{display:flex;gap:8px}.rp-inline-form input{flex:1;min-width:0}
/* initiatives */
.rp-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rp-table-wrap{overflow-x:auto;margin:0 -6px}
.rp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.rp-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--rp-muted);font-weight:700;padding:8px 6px;border-bottom:1px solid var(--rp-line);white-space:nowrap}
.rp-table td{padding:10px 6px;border-bottom:1px solid #eef2ef;vertical-align:middle;font-variant-numeric:tabular-nums}
.rp-table tr:hover td{background:#fafcfb}
.rp-row-muted td{opacity:.55}
.rp-title-cell{min-width:220px;max-width:340px}
.rp-title-cell b{display:block;font-size:14px;line-height:1.3}
.rp-title-cell small{display:block;color:var(--rp-muted);margin-top:2px}
.rp-table input{padding:6px 8px;font-size:13px;border-radius:8px}
.rp-yr{width:74px}.rp-num{width:96px}.rp-owner{width:120px}
.rp-status{font-size:12px;font-weight:700;padding:6px 8px;border-radius:999px}
.rp-status-planned{background:#f0f9f4;color:#1e5e42;border-color:#d3efe1}
.rp-status-in-progress{background:var(--rp-amber-soft);color:#7a4f10;border-color:#f3dcae}
.rp-status-completed{background:var(--rp-green-soft);color:#165a3c;border-color:#bfe2cd}
.rp-status-on-hold{background:#f3f4f6;color:#4b5563}
.rp-status-cancelled{background:#f3f4f6;color:#9ca3af;text-decoration:line-through}
.rp-prog{display:flex;align-items:center;gap:8px;min-width:130px}
.rp-prog input[type=range]{flex:1;accent-color:var(--rp-green);padding:0;border:0;box-shadow:none}
.rp-prog span{width:36px;text-align:right;font-size:12px;color:var(--rp-muted)}
.rp-tag{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#f0f9f4;color:#1e5e42;white-space:nowrap}
.rp-tag-warn{background:var(--rp-amber-soft);color:#7a4f10}
/* candidates */
.rp-cands{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.rp-cand{border:1px solid var(--rp-line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--rp-soft);transition:border-color .15s,box-shadow .15s}
.rp-cand:hover{border-color:#bfe2cd;box-shadow:0 4px 14px rgba(16,40,28,.06)}
.rp-cand-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.rp-cand-top b{font-size:14px;line-height:1.3}
.rp-cand>small{color:var(--rp-muted)}
.rp-score{flex:none;min-width:34px;height:34px;border-radius:10px;background:#123d2a;color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center}
.rp-cand-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.rp-cand-stats div{background:var(--rp-card);border-radius:10px;padding:7px 8px;display:flex;flex-direction:column}
.rp-cand-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--rp-muted);font-weight:700}
.rp-cand-stats b{font-size:14px}
.rp-cand-warn{margin:0;font-size:12px;color:#7a4f10;background:var(--rp-amber-soft);border-radius:8px;padding:6px 8px}
.rp-cand-note{margin:0;font-size:12px;color:var(--rp-muted)}
.rp-cand .rp-btn{align-self:flex-start;margin-top:auto}
.rp-custom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rp-span-2{grid-column:span 2}
@media (max-width:1100px){.rp-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-two{grid-template-columns:1fr}.rp-custom{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.rp-create{grid-template-columns:1fr}.rp-kpis{grid-template-columns:1fr 1fr}.rp-grid-2,.rp-custom{grid-template-columns:1fr}.rp-span-2{grid-column:auto}.rp h1{font-size:26px}.rp-head{padding:18px}}
.rp-two{align-items:start}
.rp-title-cell{min-width:200px;max-width:280px}
.rp-yr{width:66px}.rp-num{width:84px}.rp-owner{width:100px}
.rp-prog{min-width:110px}
.rp-table td,.rp-table th{padding-left:5px;padding-right:5px}
.rp-years{display:flex;align-items:center;gap:4px}.rp-years span{color:var(--rp-muted)}
.rp-yr{width:62px}.rp-num{width:76px}.rp-owner{width:96px}.rp-prog{min-width:96px}
.rp-title-cell{min-width:180px;max-width:250px}
.rp-table{table-layout:auto}
.rp-title-cell{width:230px;min-width:0;max-width:230px}
.rp-title-cell b{white-space:normal;overflow-wrap:anywhere}
.rp-table input[type=number]{-moz-appearance:textfield;appearance:textfield}
.rp-table input[type=number]::-webkit-outer-spin-button,.rp-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rp-yr{width:58px;text-align:center}.rp-num{width:70px}
.rp-table td .rp-tag{display:block;width:max-content}
.rp-prog{min-width:0;width:120px}
.rp-status{padding:6px 6px}

/* =====================================================================
   Connected workspace: top bar, decision center, pathway, alerts bell,
   add-to-plan modal, explorer filters
   ===================================================================== */
.topBar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px clamp(16px,3vw,30px);
  background:rgba(246,248,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid #e3eae6}
.topBarCrumb b{font-size:14px;color:#1d3327}
.topBarRight{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topBarDataset{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#5b6d63;text-transform:uppercase;letter-spacing:.05em}
.globalDataset{min-width:220px;font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid #cfdad3;background:#fff;text-transform:none;letter-spacing:0;font-weight:600;color:#13231a}
.topBarStatus{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap}
.topBarStatus.ok{background:#e7f4ec;color:#165a3c}.topBarStatus.warn{background:#fdf6e7;color:#8a5a12}
.globalFilterBar{top:58px}
@media (max-width:900px){.topBar{top:58px}.topBarCrumb{display:none}.globalDataset{min-width:0;max-width:200px}}
/* decision center */
.dc{margin-bottom:16px}
.dc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.dc-head h2{margin:2px 0 0;font-size:20px}
.dc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.dc-card{text-align:left;font:inherit;cursor:pointer;border:1px solid #e1e8e4;background:#fff;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-height:132px;
  transition:transform .12s,box-shadow .12s,border-color .12s;position:relative;overflow:hidden;color:#13231a}
.dc-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#cfdad3}
.dc-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,40,28,.09)}
.dc-card:focus-visible{outline:3px solid rgba(31,122,82,.35);outline-offset:2px}
.dc-kicker{font-size:10.5px;font-weight:800;letter-spacing:.09em;color:#6b7d73}
.dc-main{font-size:23px;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}
.dc-sub{font-size:12.5px;color:#56685e;line-height:1.35}
.dc-action{margin-top:auto;font-size:12px;font-weight:700;color:#1f7a52}
.dc-good:before{background:#2fa36b}.dc-good .dc-main{color:#165a3c}
.dc-warn:before{background:#e0a33a}.dc-warn .dc-main{color:#8a5a12}
.dc-bad:before{background:#c94a4a}.dc-bad .dc-main{color:#a33a3a}
.dc-loading{min-height:60px;cursor:default;color:#6b7d73}
@media (max-width:1250px){.dc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.dc-grid{grid-template-columns:1fr 1fr}}
/* unified pathway */
.pw .sectionHead{align-items:flex-start}
.pw-svg{width:100%;height:auto;margin:6px 0 4px}
.pw-grid{stroke:#e8eeea}.pw-axis{font-size:12px;fill:#728378}.pw-legend{font-size:12px;fill:#3f5a4b}
.pw-actual{fill:none;stroke:#13231a;stroke-width:3}
.pw-actual-dot{fill:#13231a;stroke:#fff;stroke-width:2}
.pw-forecast{fill:none;stroke:#e0a33a;stroke-width:2.5;stroke-dasharray:6 5}
.pw-plan{fill:none;stroke:#2fa36b;stroke-width:3}
.pw-target{fill:none;stroke:#3aa16e;stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round}
.pw-verdict{border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:260px}
.pw-verdict.ok{background:#e7f4ec;color:#165a3c}.pw-verdict.bad{background:#fdf0f0;color:#a33a3a}
.pw-verdict span{font-size:13px}
.pw-verdict .textAction{align-self:flex-start;padding:0;margin-top:4px}
/* dashboard fixes */
.globalFilterBar select.freqSelect{min-width:110px;max-width:none}
.factLink{border:0;background:none;color:#1f7a52;font-weight:700;font-size:13px;cursor:pointer;margin-left:auto}
.fallbackBarRow .fallbackLabel{background:none!important;color:#24372c!important;padding:0!important;border-radius:0!important;font-size:12.5px;font-weight:600}
.fallbackTrack i{background:linear-gradient(90deg,#1f7a52,#2fa36b)!important}
.chartPoint,.pieSlice,.fallbackBarRow,.stackRow{cursor:pointer}
/* alerts bell */
.bell{position:relative}
.bell-btn{position:relative;width:38px;height:38px;border-radius:12px;border:1px solid #cfdad3;background:#fff;color:#3f5a4b;display:grid;place-items:center;cursor:pointer}
.bell-btn.hot{color:#a33a3a;border-color:#f1c9c9;background:#fdf0f0}
.bell-count{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#c94a4a;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.bell-backdrop{position:fixed;inset:0;background:transparent;border:0;z-index:60;cursor:default}
.bell-panel{position:absolute;right:0;top:46px;width:min(420px,92vw);max-height:70vh;overflow:auto;background:#fff;border:1px solid #e1e8e4;border-radius:16px;box-shadow:0 24px 60px rgba(16,40,28,.18);z-index:61;padding:12px}
.bell-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 10px;border-bottom:1px solid #eef2ef}
.bell-empty{color:#6b7d73;padding:18px 6px;margin:0}
.bell-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bell-item{border:1px solid #eef2ef;border-left:4px solid #cfdad3;border-radius:12px;padding:8px 10px}
.bell-item.sev-critical{border-left-color:#c94a4a}.bell-item.sev-high{border-left-color:#c4602e}.bell-item.sev-warning,.bell-item.sev-medium{border-left-color:#e0a33a}
.bell-main{border:0;background:none;text-align:left;padding:0;width:100%;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:#13231a;font:inherit}
.bell-main b{font-size:13.5px}.bell-main small{font-size:12px;color:#56685e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bell-sev{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#6b7d73}
.bell-actions{display:flex;gap:6px;margin-top:6px}
.bell-actions button{font-size:12px;border:1px solid #cfdad3;background:#fff;border-radius:8px;padding:4px 8px;cursor:pointer}
.bell-actions button:hover{background:#f3f7f5}
.bell-foot{margin-top:10px}
/* add-to-plan modal */
.atp-overlay{position:fixed;inset:0;background:rgba(10,25,18,.42);display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}
.atp-card{background:#fff;border-radius:18px;padding:22px;width:min(560px,100%);box-shadow:0 30px 70px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:12px;max-height:90vh;overflow:auto}
.atp-head{display:flex;justify-content:space-between;align-items:center}.atp-head h3{margin:0;font-size:18px}
.atp-x{border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:#6b7d73}
.atp-why{margin:0;background:#f3f8f5;border-radius:10px;padding:10px 12px;font-size:13px;color:#2f4a3b}
.atp-field{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:#3b4d43}
.atp-field input,.atp-field select{font:inherit;font-size:14px;padding:9px 10px;border:1px solid #cfdad3;border-radius:10px}
.atp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.atp-actions{display:flex;gap:8px}
.atp-empty p{margin:0 0 10px}
.atp-error{color:#a33a3a;background:#fdf0f0;border-radius:8px;padding:8px 10px;margin:0;font-size:13px}
@media (max-width:560px){.atp-grid{grid-template-columns:1fr}}
.rcaActions,.anomActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.anomActions span{font-size:13px;color:#3b4d43;margin-right:auto}
.clickRow{cursor:pointer}.clickRow:hover td{background:#f5f9f7}
.scenarioToPlan{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-left:4px solid #2fa36b}
.scenarioToPlan h3{margin:0 0 4px}
/* explorer */
.ex-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.ex-filter{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#5b6d63;min-width:150px}
.ex-filter select,.ex-filter input{font:inherit;font-size:14px;font-weight:500;padding:8px 10px;border:1px solid #cfdad3;border-radius:10px;color:#13231a}
.ex-formula{font-family:ui-monospace,Consolas,monospace;background:#0f2a1e;color:#d9f2e4;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.6;margin:6px 0 10px}
.kpiGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kpiGrid .kpiCard{background:#f6f9f7;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.kpiGrid .kpiCard small{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#6b7d73}
.kpiGrid .kpiCard b{font-size:22px;font-variant-numeric:tabular-nums}
@media (max-width:700px){.kpiGrid{grid-template-columns:1fr}}

/* =====================================================================
   One page-header style everywhere (dashboard, workspaces, LayoutTitle pages, plan)
   ===================================================================== */
.companyDashHero,.workspaceHero,.calculationHero,.reportHero,.scenarioHero,.rp-head,.main>.top,.aiPageHead{
  background:linear-gradient(120deg,#0f2a1f 0%,#174c3b 60%,#1d6650 100%)!important;color:#fff!important;border:0!important;border-radius:20px!important;
  padding:24px 30px!important;margin-bottom:16px!important;box-shadow:0 14px 34px rgba(16,55,42,.16)!important;
  display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;gap:20px!important;flex-wrap:wrap}
.companyDashHero h1,.workspaceHero h1,.calculationHero h1,.reportHero h1,.scenarioHero h2,.rp-head h1,.main>.top h1,.aiPageHead h1{
  color:#fff!important;font-size:30px!important;line-height:1.1!important;letter-spacing:-.025em!important;margin:4px 0 6px!important}
.companyDashHero p,.workspaceHero p,.calculationHero p,.reportHero p,.scenarioHero p,.rp-head p,.main>.top .sub,.aiPageHead p{color:#c7ddd4!important;font-size:14px!important;max-width:760px;margin:0!important;line-height:1.5}
.companyDashHero .eyebrow,.workspaceHero .eyebrow,.calculationHero .eyebrow,.reportHero .eyebrow,.scenarioHero .eyebrow,.rp-head .rp-kicker,.aiPageHead .eyebrow{
  background:none!important;color:#9ad8bd!important;padding:0!important;font-size:11px!important;letter-spacing:.12em!important;font-weight:800!important}
.companyDashHero .btn,.workspaceHero .btn,.calculationHero .btn,.reportHero .btn,.rp-head .rp-btn,.main>.top .btn,.aiPageHead .btn{background:#fff!important;color:#123d2a!important;border-color:#fff!important}
.companyDashHero .btn.primary,.workspaceHero .btn.primary,.main>.top .btn.primary,.rp-head .rp-btn-primary{background:#86d3a9!important;border-color:#86d3a9!important;color:#0f2a1f!important}
.main>.top .actions,.workspaceHero .actions,.aiPageHead .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.companyContext span{color:#9ad8bd!important}.companyContext b{color:#fff!important}
.workspaceHeroBadge,.calcHeroBadge{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
.calculationCenterBody>.top{display:none!important}
@media (max-width:700px){.companyDashHero,.workspaceHero,.calculationHero,.reportHero,.scenarioHero,.rp-head,.main>.top,.aiPageHead{padding:18px!important}
  .companyDashHero h1,.workspaceHero h1,.calculationHero h1,.reportHero h1,.rp-head h1,.main>.top h1,.aiPageHead h1{font-size:24px!important}}

/* Reduction Plan — plans library & version history */
.rp-btn-on{background:var(--rp-soft);border-color:var(--rp-green);color:var(--rp-green)}
.rp-head .rp-btn:not(.rp-btn-primary){background:rgba(255,255,255,.92)}
.rp-lib-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}
.rp-tabs{display:flex;gap:4px;background:var(--rp-soft);border:1px solid var(--rp-line);border-radius:12px;padding:4px;flex-wrap:wrap}
.rp-tab{font:inherit;font-size:13px;font-weight:700;border:0;background:transparent;color:#3f5a4b;padding:7px 12px;border-radius:9px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.rp-tab.on{background:var(--rp-card);color:var(--rp-green);box-shadow:0 1px 2px rgba(16,40,28,.12)}
.rp-tab-n{font-size:11px;background:#e2ebe5;color:#3f5a4b;border-radius:999px;padding:1px 7px;min-width:18px;text-align:center}
.rp-tab.on .rp-tab-n{background:var(--rp-green);color:#fff}
.rp-lib-search{min-width:240px;flex:0 1 320px;padding:9px 12px;border:1px solid #cfdad3;border-radius:10px;font:inherit;font-size:13px}
.rp-check{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:#3f5a4b;white-space:nowrap;cursor:pointer}
.rp-lib-table td{vertical-align:top}
.rp-lib-sub{font-size:12px;color:var(--rp-muted);margin-top:3px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rp-link{font:inherit;font-weight:800;font-size:14px;color:var(--rp-ink);background:none;border:0;padding:0;cursor:pointer;text-align:left}
.rp-link:hover:not(:disabled){color:var(--rp-green);text-decoration:underline}
.rp-link:disabled{color:var(--rp-muted);cursor:not-allowed}
.rp-nowrap{white-space:nowrap}
.rp-good{color:#165a3c;font-weight:700}
.rp-lib-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:184px}
.rp-lib-actions .rp-btn{width:100%}
.rp-minibar{width:110px;height:8px;border-radius:999px;background:#e8eee9;overflow:hidden;margin-top:6px}
.rp-minibar i{display:block;height:100%;background:#d99a2b;border-radius:999px}
.rp-minibar i.ok{background:var(--rp-green)}
.rp-pstatus{display:inline-block;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.rp-pstatus-draft,.rp-pstatus-select.rp-pstatus-draft{background:#f3f4f6;color:#4b5563;border-color:#e5e7eb}
.rp-pstatus-active,.rp-pstatus-select.rp-pstatus-active{background:#f0f9f4;color:#1e5e42;border-color:#d3efe1}
.rp-pstatus-approved,.rp-pstatus-select.rp-pstatus-approved{background:var(--rp-green-soft);color:#165a3c;border-color:#bfe2cd}
.rp-pstatus-archived,.rp-pstatus-select.rp-pstatus-archived{background:#faf5ea;color:#7a6a4f;border-color:#eadfc8}
.rp-pstatus-select{font-weight:800}
.rp-versions{border-color:#cfe0d6}
.rp-ver-form{display:flex;gap:8px;flex-wrap:wrap}
.rp-ver-form input{min-width:220px;padding:8px 12px;border:1px solid #cfdad3;border-radius:10px;font:inherit;font-size:13px}
.rp-ver-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.rp-ver-list li{border:1px solid var(--rp-line);border-radius:12px;background:var(--rp-card)}
.rp-ver-list li.open{border-color:#bfe2cd;box-shadow:0 1px 3px rgba(16,40,28,.08)}
.rp-ver-row{display:flex;gap:12px;align-items:center;padding:10px 12px}
.rp-ver-no{flex:0 0 auto;font-weight:800;font-size:12px;color:var(--rp-green);background:var(--rp-green-soft);border-radius:8px;padding:4px 8px}
.rp-ver-main{flex:1;min-width:0}
.rp-ver-detail{padding:4px 14px 14px;border-top:1px dashed var(--rp-line);display:grid;gap:10px}
.rp-ver-table{font-size:13px}
@media(max-width:760px){.rp-lib-search{flex:1 1 100%;min-width:0}.rp-ver-row{flex-wrap:wrap}.rp-ver-form{width:100%}.rp-ver-form input{flex:1;min-width:0}}
.rp-lib-table .rp-row-muted td:last-child{opacity:1}

/* Formula builder (engine v2) */
.fb-kind{display:inline-block;margin:4px 4px 0 0;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;background:#f0f2f1;color:#56635c}
.fb-kind-factor{background:#eef6f1;color:#399e6c}
.fb-kind-column{background:#e9f7ee;color:#1f7a4a}
.fb-expr{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.fb-tok-col{color:#2fbf7a;font-weight:800}
.formulaCode .fb-tok-col{color:#6ee7a8}
.fb-tok-builtin{color:#9cdbbc;font-weight:800}
.fb-tok-var{color:#e0b25a;font-weight:800}
.variableChips .fb-chip-col{background:#e9f7ee;color:#1f7a4a;border-color:#c6ead4;font-family:ui-monospace,Menlo,Consolas,monospace}
.fb-modal{width:min(1320px,98vw);max-height:94vh;display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:18px}
.fb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 12px;border-bottom:1px solid var(--line)}
.fb-head h2{margin:2px 0 4px}
.fb-head p{margin:0}
.fb-body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:18px;padding:16px 22px;overflow:auto;flex:1}
.fb-left,.fb-right{display:flex;flex-direction:column;gap:12px;min-width:0}
.fb-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fb-seg button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit}
.fb-seg button small{color:var(--muted);font-size:11px}
.fb-seg button.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.fb-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fb-grid label,.fb-full{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;min-width:0}
.fb-span2{grid-column:1/-1}
.fb-box{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfb;display:flex;flex-direction:column;gap:8px;min-width:0}
.fb-box-title{font-size:12px;font-weight:800;color:var(--text)}
.fb-box-title .small{font-weight:500}
.fb-box p.small{margin:0}
.fb-check{display:flex;gap:8px;align-items:flex-start;font-size:12px;font-weight:600}
.fb-check input{margin-top:2px}
.fb-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
.fb-cond{display:grid;grid-template-columns:1.3fr .7fr 1.2fr auto;gap:6px}
.fb-templates{display:flex;flex-wrap:wrap;gap:6px}
.fb-template{border:1px dashed #b9cfc2;background:#fff;border-radius:999px;padding:6px 11px;font:inherit;font-size:12px;font-weight:700;color:var(--accent);cursor:pointer}
.fb-template:hover{background:var(--accent-soft)}
.fb-colsearch{padding:7px 10px;font-size:12px}
.fb-cols{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto}
.fb-col{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dfe5e1;background:#fff;border-radius:9px;padding:5px 9px;cursor:pointer;font:inherit;max-width:100%}
.fb-col b{font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-all}
.fb-col small{font-size:10px;color:var(--muted)}
.fb-col.num{border-color:#bfe2cd}
.fb-col:hover{background:var(--accent-soft);border-color:var(--accent)}
.fb-var{display:grid;grid-template-columns:1fr .8fr 1.2fr auto auto;gap:6px;align-items:center}
.fb-var input,.fb-var select{min-width:0}
.fb-tokens{display:flex;flex-wrap:wrap;gap:5px}
.fb-token{border:1px solid #d9e2dc;background:#fff;border-radius:8px;padding:5px 9px;font:inherit;font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace;cursor:pointer}
.fb-token.builtin{background:#eef6f1;border-color:#ddf2e8;color:#399e6c;font-weight:700}
.fb-token.fn{background:#fdf8ee;border-color:#f0e2c4;color:#7a5a12}
.fb-token:hover{filter:brightness(.96)}
.fb-exprbox textarea{width:100%;min-height:76px;resize:vertical}
.fb-render{background:#122b1f;color:#e5f6ee;border-radius:10px;padding:10px 12px;font-size:13px;min-height:20px}
.fb-check-line{font-size:12px;font-weight:700;padding:7px 10px;border-radius:8px}
.fb-check-line.ok{background:#e9f7ee;color:#1f7a4a}
.fb-check-line.bad{background:#fdf0f0;color:#b54545}
.fb-previewbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fb-preview{display:flex;flex-direction:column;gap:10px}
.fb-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fb-summary>div{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;display:flex;flex-direction:column}
.fb-summary span{font-size:11px;color:var(--muted)}
.fb-summary b{font-size:18px}
.fb-summary small{font-size:11px;color:var(--muted)}
.fb-summary .up b{color:#b7791f}
.fb-summary .down b{color:#1f7a4a}
.fb-table{font-size:12px}
.fb-table td{vertical-align:top}
.fb-inputs{display:flex;flex-wrap:wrap;gap:4px 10px;max-width:420px}
.fb-inputs span{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px}
.fb-inputs i{font-style:normal;color:var(--muted)}
.fb-row-err{background:#fff7f7}
.fb-err{color:#b54545;font-size:11px}
.fb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--line);background:#fff;flex-wrap:wrap}
@media(max-width:1000px){.fb-body{grid-template-columns:1fr}.fb-summary{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fb-grid,.fb-seg{grid-template-columns:1fr}.fb-cond{grid-template-columns:1fr 1fr}.fb-var{grid-template-columns:1fr 1fr}.fb-modal{max-height:100vh;border-radius:0}}
.fb-preview .tableWrap{overflow:auto;max-height:340px}
.fb-table{min-width:0!important;width:100%;table-layout:auto}
.fb-table th:last-child,.fb-table td:last-child{text-align:right;white-space:nowrap;position:sticky;right:0;background:#fff}
.fb-table tr.fb-row-err td:last-child{background:#fff7f7;white-space:normal;min-width:180px}
.fb-inputs{max-width:none}

/* Report style panel (reference styles) */
.rsx{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin:14px 0;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm)}
.rsx-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.rsx-head h3{margin:2px 0 4px}
.rsx-head p{margin:0;max-width:820px;color:var(--muted);font-size:13px}
.rsx-upload{position:relative;cursor:pointer;white-space:nowrap}
.rsx-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.rsx-upload.disabled{opacity:.6;pointer-events:none}
.rsx-cards{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.rsx-card{flex:0 0 132px;display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px;cursor:pointer;font:inherit}
.rsx-card.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),inset 0 0 0 1px var(--accent)}
.rsx-card b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsx-card small{font-size:10px;color:var(--muted);display:flex;gap:6px;align-items:center}
.rsx-thumb{height:120px;border-radius:8px;background:#eef1ef;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rsx-thumb img{max-width:100%;max-height:100%;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.rsx-swatch-page{width:78px;height:106px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:5px;overflow:hidden}
.rsx-swatch-page i{display:block;width:100%}
.rsx-swatch-page b{display:block;height:5px;width:55%;margin-left:8px;border-radius:2px;background:#1F4D3A}
.rsx-badge{background:var(--accent);color:#fff;border-radius:999px;padding:1px 6px;font-weight:800}
.rsx-detail{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:18px;border-top:1px solid var(--line);padding-top:14px}
.rsx-pages{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.rsx-pages img{max-width:100%;max-height:260px;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.15);background:#fff}
.rsx-pages img+img{max-height:150px}
.rsx-learned{display:flex;flex-direction:column;gap:10px;min-width:0}
.rsx-learned-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rsx-learned ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px}
.rsx-palette{display:flex;gap:6px}
.rsx-palette span{width:30px;height:22px;border-radius:6px;border:1px solid rgba(0,0,0,.12)}
.rsx-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rsx-toggle{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:700;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}
.rsx-map summary{cursor:pointer;font-size:13px;font-weight:700}
.rsx-map table{margin-top:8px;font-size:12px}
.rsx-edit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--line);padding-top:14px}
.rsx-edit-col{display:flex;flex-direction:column;gap:8px;min-width:0}
.rsx-edit-col label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700}
.rsx-edit-col label.checkRow{flex-direction:row;align-items:center;gap:6px;font-weight:600}
.rsx-color{flex-direction:row!important;align-items:center;gap:8px!important}
.rsx-color input{width:34px;height:26px;padding:0;border:1px solid var(--line);border-radius:6px;background:none}
.rsx-color span{flex:1}
.rsx-color code{font-size:11px;color:var(--muted)}
.rsx-sizes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.rsx-sizes input{width:100%}
.rsx-edit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.sectionTitleInput{flex:1;min-width:120px;max-width:340px;padding:5px 9px!important;font-size:12px!important;margin:0 8px}
.rsx-preview{display:flex;gap:18px;flex-wrap:wrap;padding:18px;background:#e9ecea;border-radius:14px;justify-content:center}
.rsx-pv-page{position:relative;width:300px;height:424px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.14);padding:26px 22px 30px;overflow:hidden;font-size:9px}
.rsx-preview.land .rsx-pv-page{width:424px;height:300px}
.rsx-pv-cover{padding:0}
.rsx-pv-band{position:absolute;left:0;right:0;top:0}
.rsx-pv-covertext{position:absolute;left:22px;right:22px}
.rsx-pv-header{position:absolute;top:8px;left:22px;right:22px;font-size:7px;padding:2px 0}
.rsx-pv-sec h4{margin:8px 0 5px;font-size:12px}
.rsx-pv-sec p{margin:0 0 5px;line-height:1.4}
.rsx-pv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:4px 0}
.rsx-pv-kpis div{padding:6px;font-size:11px}
.rsx-pv-table{width:100%;font-size:8px;min-width:0!important}
.rsx-pv-table th,.rsx-pv-table td{padding:3px 5px;text-align:left}
.rsx-pv-footer{position:absolute;bottom:10px;right:22px;font-size:7px}
.reportPdfFrame{width:100%;height:820px;border:1px solid var(--line);border-radius:14px;margin-top:12px;background:#fff}
@media(max-width:900px){.rsx-detail,.rsx-edit{grid-template-columns:1fr}}
.rsx-pv-table th{text-transform:none!important;letter-spacing:0!important;font-size:8px!important}

/* Facility workspace & traceability */
.tv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,#123a2a,#1f6a4b);color:#fff;border-radius:20px;padding:22px 26px;margin-bottom:14px}
.tv-head h1{margin:2px 0 4px;font-size:30px}
.tv-head .eyebrow{color:#9fd8b8}
.tv-head .small{color:#d5ebde}
.tv-head .btn:not(.primary){background:rgba(255,255,255,.95)}
.tv-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.tv-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}
.tv-tabs button{font:inherit;font-size:13px;font-weight:700;border:0;background:none;padding:10px 14px;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}
.tv-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}
.tv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:12px}
.tv-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.tv-kpi span{font-size:11px;color:var(--muted);font-weight:700}
.tv-kpi b{font-size:26px;letter-spacing:-.02em}
.tv-kpi small{font-size:11px;color:var(--muted)}
.tv-kpi.hero{background:#1f4d3a;border-color:#1f4d3a;color:#fff}
.tv-kpi.hero span,.tv-kpi.hero small{color:#cfe7d9}
.tv-kpi.bad small{color:#b54545;font-weight:700}
.tv-kpi.good small{color:#1f7a4a;font-weight:700}
.tv-insights{display:grid;gap:6px;background:#f4faf6;border:1px solid #d6ecdf;border-radius:14px;padding:12px 16px;margin-bottom:12px;font-size:13px}
.tv-insights div:before{content:'●';color:var(--accent);margin-right:8px;font-size:9px;vertical-align:middle}
.tv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tv-trace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;align-items:start}
.tv-tree-card{max-height:78vh;overflow:auto}
.tv-tree-head{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.tv-tree-tools{display:flex;gap:6px;margin-top:4px}
.tv-rootrow{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid var(--line);background:#f7faf8;border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer;margin-bottom:6px}
.tv-rootrow.sel{border-color:var(--accent);background:var(--accent-soft)}
.tv-rootrow span:last-child{margin-left:auto;color:var(--muted);font-size:12px}
.tv-tree{list-style:none;margin:0;padding:0 0 0 16px;border-left:1px dashed #d4ddd8}
.tv-tree.root{padding-left:4px;border-left:0}
.tv-row{display:flex;align-items:center;gap:2px;margin:2px 0}
.tv-caret{width:22px;height:28px;border:0;background:none;cursor:pointer;color:var(--muted);font-size:12px;flex:0 0 22px}
.tv-caret:disabled{cursor:default;opacity:.5}
.tv-main{flex:1;min-width:0;display:grid;grid-template-columns:auto minmax(80px,1.2fr) minmax(50px,.8fr) auto;grid-template-areas:"lvl label bar val" "lvl meta meta meta";gap:1px 10px;align-items:center;text-align:left;border:1px solid transparent;background:none;border-radius:9px;padding:5px 8px;font:inherit;font-size:13px;cursor:pointer}
.tv-main:hover{background:#f4f7f5}
.tv-row.sel .tv-main{background:var(--accent-soft);border-color:#bfe2cd}
.tv-level{grid-area:lvl;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b7770;background:#eef2ef;border-radius:6px;padding:3px 6px;align-self:start;margin-top:2px}
.lvl-scope .tv-level{background:#fff2e3;color:#9a5a12}
.lvl-operating_unit .tv-level{background:#eef6f1;color:#1e5e42}
.lvl-equipment .tv-level{background:#f3eefe;color:#5b3fa0}
.lvl-emission_source .tv-level{background:#e9f7ee;color:#1f7a4a}
.tv-label{grid-area:label;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-bar{grid-area:bar;height:7px;background:#edf1ee;border-radius:9px;overflow:hidden}
.tv-bar i{display:block;height:100%;background:var(--accent);border-radius:9px}
.tv-val{grid-area:val;white-space:nowrap;text-align:right}
.tv-val small{color:var(--muted)}
.tv-meta{grid-area:meta;font-size:11px;color:var(--muted)}
.tv-records{display:flex;flex-direction:column;gap:8px}
.tv-rec-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.tv-path{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.tv-crumb{font-size:11px;background:#f1f4f2;border-radius:999px;padding:2px 8px}
.tv-crumb i{font-style:normal;color:var(--muted)}
.tv-rec-sum{font-size:13px;color:var(--muted)}
.tv-rec-sum b{color:var(--text);font-size:16px}
.tv-table-wrap{max-height:62vh;overflow:auto}
.tv-table{font-size:12px;min-width:0!important}
.tv-table td{vertical-align:top}
.tv-explain{padding:4px 9px!important;font-size:11px!important}
.tv-empty{color:var(--muted);padding:30px;text-align:center}
.tv-alert{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-left:4px solid #d99a2b;border-radius:12px;padding:10px 12px;margin:8px 0}
.tv-alert.sev-critical{border-left-color:#b54545}.tv-alert.sev-high{border-left-color:#b8862a}
.tv-alert p{margin:4px 0 0}
.tv-dev{font-weight:800}.tv-dev.up{color:#b54545}.tv-dev.down{color:#1f7a4a}
.tv-alert-drawer{width:min(980px,96vw)!important;max-width:none!important}
.tv-alert-meta{font-size:12px;color:var(--muted);margin-bottom:10px}
.tv-why{font-size:15px;line-height:1.55;background:#fffaf0;border:1px solid #f0e2c4;border-radius:12px;padding:12px 14px}
.tv-cond{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0;display:grid;gap:8px}
.tv-cond-head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.tv-cond-head b{font-size:22px}
.tv-cond-bar{position:relative;height:12px;background:#edf1ee;border-radius:9px}
.tv-cond-bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#d99a2b,#b54545);border-radius:9px}
.tv-cond-bar em{position:absolute;top:-4px;bottom:-4px;width:2px;background:#1a1a1a}
.tv-spark{border:1px solid var(--line);border-radius:12px;padding:10px}
.tv-spark svg{width:100%;height:90px}
.tv-spark polyline{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke}
.tv-spark .act{stroke:#b54545}.tv-spark .exp{stroke:#7a8a82;stroke-dasharray:4 3}
.tv-spark .lg{display:inline-block;width:14px;height:3px;vertical-align:middle}
.tv-spark .lg.act{background:#b54545}.tv-spark .lg.exp{background:#7a8a82}
.tv-steps{margin:0;padding-left:20px;display:grid;gap:5px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}
.tv-alert-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;position:sticky;bottom:0;background:#fff;padding-top:10px}
.bell-why{font-weight:800;color:var(--accent)!important}
@media(max-width:1000px){.tv-grid,.tv-trace{grid-template-columns:1fr}}
.tv-eyebrow{margin-top:14px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#9fd8b8}
.tv-alert-actions{position:static}
.tv-rec-card{max-height:78vh;overflow:auto}
.smartSvg path.chartLine{fill:none!important;stroke-width:2.2}
.smartSvg .legendSwatch{stroke:none}
.smartSvg .legendSwatch.series0{fill:#1f4d3a}.smartSvg .legendSwatch.series1{fill:#2fa36b}.smartSvg .legendSwatch.series2{fill:#d99a2b}
.smartSvg path.chartLine.series0{stroke:#1f4d3a}.smartSvg path.chartLine.series1{stroke:#2fa36b}.smartSvg path.chartLine.series2{stroke:#d99a2b}
.smartSvg circle.chartPoint.series1{fill:#2fa36b}.smartSvg circle.chartPoint.series2{fill:#d99a2b}

/* ============================================================ Phase 8 — feedback layer (toasts, tooltips, error pages) */
.toastHost{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column-reverse;gap:10px;width:min(400px,calc(100vw - 32px));pointer-events:none}
.toastHost .toast{opacity:1;transform:none;transition:none;pointer-events:auto;position:relative;display:grid;grid-template-columns:28px 1fr 22px;gap:10px;align-items:start;padding:13px 13px 15px;border-radius:13px;background:var(--surface,#fff);color:var(--text,#17231d);border:1px solid var(--line,#dfe7e2);border-left:4px solid var(--info,#2f6650);box-shadow:0 16px 40px rgba(18,36,25,.18);overflow:hidden;animation:toastIn .22s cubic-bezier(.2,.8,.3,1)}
@keyframes toastIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.toastHost .toast b{font-size:13px}.toast-success{border-left-color:var(--success,#267a4b)}.toast-error{border-left-color:var(--error,#a83a3a)}.toast-warning{border-left-color:var(--warning,#9a6514)}.toast-loading{border-left-color:var(--accent,#2f7d57)}
.toastIcon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:13px;background:var(--info-bg,#eef6f1);color:var(--info,#2f6650)}
.toast-success .toastIcon{background:var(--success-bg,#edf8f1);color:var(--success,#267a4b)}.toast-error .toastIcon{background:var(--error-bg,#fff2f2);color:var(--error,#a83a3a)}.toast-warning .toastIcon{background:var(--warning-bg,#fff8e8);color:var(--warning,#9a6514)}
.toastIcon.spin{border:3px solid var(--line,#dfe7e2);border-top-color:var(--accent,#2f7d57);background:none;animation:toastSpin .8s linear infinite}
@keyframes toastSpin{to{transform:rotate(360deg)}}
.toastBody{min-width:0;font-size:13px;line-height:1.45}.toastBody>b{display:block;margin-bottom:2px}.toastHint{color:var(--muted);font-size:12px;margin-top:4px}
.toastFields{margin:6px 0 0;padding-left:16px;font-size:12px;color:var(--muted)}.toastFields code{font-size:11px;background:var(--surface-2,#f3f6f4);padding:1px 4px;border-radius:4px}
.toastActions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.toastActions button{border:1px solid var(--line);background:var(--surface-2,#f3f6f4);color:var(--text);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer}
.toastActions button:hover{border-color:var(--accent)}.toastActions button.ghost{background:none;font-weight:500;color:var(--muted);font-family:ui-monospace,monospace;font-size:11px}
.toastClose{border:0;background:none;font-size:18px;line-height:1;color:var(--muted);cursor:pointer;padding:0}.toastClose:hover{color:var(--text)}
.toastBar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:currentColor;opacity:.25;transform-origin:left;animation:toastBar linear forwards}
.toast-success .toastBar{color:var(--success,#267a4b)}.toast-error .toastBar{color:var(--error,#a83a3a)}.toast-warning .toastBar{color:var(--warning,#9a6514)}.toast-info .toastBar{color:var(--info,#2f6650)}
@keyframes toastBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.ciqTip{position:fixed;z-index:1100;max-width:320px;padding:9px 11px;border-radius:10px;background:#15231b;color:#eef4f0;font-size:12px;line-height:1.45;box-shadow:0 12px 30px rgba(0,0,0,.25);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;white-space:pre-line}
.ciqTip.on{opacity:1;transform:none}.ciqTip b{display:block;margin-bottom:3px;color:#fff}.ciqTipKind{display:inline-block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#8fd1ab;margin-bottom:3px}
html[data-theme="dark"] .ciqTip{background:#e9f1ec;color:#15231b}html[data-theme="dark"] .ciqTip b{color:#0c1a12}
.term{border-bottom:1px dotted currentColor;cursor:help}
.infoTip{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:5px;border-radius:50%;border:1px solid var(--line-strong,#c9d5cd);color:var(--muted);font:700 10px/1 Georgia,serif;font-style:italic;cursor:help;vertical-align:1px}.infoTip:hover,.infoTip:focus{border-color:var(--accent);color:var(--accent);outline:none}
[data-tip]{cursor:help}button[data-tip],a[data-tip],rect[data-tip],circle[data-tip]{cursor:pointer}
.errorPage{max-width:620px;margin:60px auto;padding:34px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.errorPageIcon{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:900;background:var(--error-bg,#fff2f2);color:var(--error,#a83a3a)}
.errorPage p{color:var(--muted)}.errorPageActions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}
.errorPageDetail{text-align:left;max-height:240px;overflow:auto;background:var(--surface-2,#f3f6f4);padding:12px;border-radius:10px;font-size:11px;margin-top:14px;white-space:pre-wrap}
.warnText{color:var(--warning,#9a6514)}.goodText{color:var(--success,#267a4b)}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin:6px 0 10px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:11px;height:11px;border-radius:3px;display:inline-block}

/* ============================================================ Emission factor library */
.flTabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2,#eef3f0);border:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}
.flTabs button{border:0;background:none;padding:8px 14px;border-radius:9px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer}.flTabs button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.flTabs.small button{padding:6px 11px;font-size:12px}
.flHero,.suHero,.asHero{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:16px}
.flHero h1,.suHero h1,.asHero h1{margin:0;font-size:clamp(24px,2.6vw,36px);letter-spacing:-.03em;line-height:1.1}
.flHero p,.suHero p,.asHero p{color:var(--muted);font-size:13px;line-height:1.6;max-width:720px;margin:8px 0 0}
.flHeroStats,.suHeroKpis{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;flex-shrink:0}
.flHeroStats>div,.suHeroKpis>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px}
.flHeroStats b,.suHeroKpis b{display:block;font-size:21px;letter-spacing:-.02em}.flHeroStats span,.suHeroKpis span{font-size:11px;color:var(--muted)}
.flFilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.flFilters>input{flex:1;min-width:200px}.flFilters .checkRow input{flex:none;min-width:0;width:auto}
.flTable td{vertical-align:top}.flVal{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;white-space:nowrap}
.flPub{font-weight:700;font-size:12px}
.flBadge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.2px;background:var(--surface-2,#eef3f0);color:var(--muted);margin:3px 4px 0 0}
.flBadge.ok{background:var(--success-bg,#edf8f1);color:var(--success,#267a4b)}.flBadge.warn{background:var(--warning-bg,#fff8e8);color:var(--warning,#9a6514)}.flBadge.use{background:var(--info-bg,#eef6f1);color:var(--info,#2f6650)}.flBadge.ref{background:#f2eefa;color:#5b3fa0}
.flActs{display:flex;gap:6px;flex-wrap:wrap}.flActs .btn{padding:6px 10px;font-size:12px}
.flDetail{background:var(--surface-2,#f6f9f7);border-radius:10px;padding:12px;margin-top:8px}.flDetailGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 16px;font-size:12px}
.flModal{width:min(560px,94vw);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:10px}.flModal h2{margin:0}.flModal label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}
.flModal label.checkRow{flex-direction:row;align-items:center;font-weight:500}.flAdoptVal{font-family:ui-monospace,monospace;font-size:14px;background:var(--surface-2,#f3f6f4);padding:10px;border-radius:9px}
.flWhere{display:flex;flex-direction:column;gap:4px}
.flProvHead{display:flex;gap:18px;align-items:center;padding:16px 18px;border-radius:14px;margin-bottom:12px;border:1px solid var(--line);background:var(--surface)}
.flProvHead.ok{background:var(--success-bg,#edf8f1)}.flProvHead.warn{background:var(--warning-bg,#fff8e8)}
.flProvHead span{display:block;font-size:11px;color:var(--muted)}.flProvHead b{font-size:30px;letter-spacing:-.03em}.flProvHead p{margin:0;font-size:13px}
.flProvBar{display:flex;height:16px;border-radius:8px;overflow:hidden;gap:2px;background:var(--line)}.flProvBar i{display:block;height:100%}
.flAlt{font-size:12px;white-space:nowrap}.flAlt .up{color:var(--warning)}.flAlt .down{color:var(--info,#2f6650)}

/* ============================================================ Data assurance */
.asHeroState{flex-shrink:0;padding:14px 16px;border-radius:14px;border:1px solid var(--line);max-width:300px}.asHeroState span{display:block;font-weight:800}.asHeroState small{color:var(--muted);font-size:11px}
.asHeroState.frozen{background:#f0f9f4;border-color:#c9e9d9}.asHeroState.open{background:var(--surface)}
.asYears{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
.asYear{border-top:4px solid var(--line-strong,#c9d5cd)}.asYear.st-in-review{border-top-color:#c58a1d}.asYear.st-approved{border-top-color:#1f8a5a}.asYear.st-locked{border-top-color:#1f4d3a}
.asYearHead{display:flex;justify-content:space-between;gap:12px}.asYearHead h2{margin:0;font-size:24px}
.asStatus{display:inline-block;margin-top:4px;font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--surface-2,#eef3f0)}
.st-in-review .asStatus{background:#fff4dd;color:#8a5d0c}.st-approved .asStatus{background:#e8f3ec;color:#348f62}.st-locked .asStatus{background:#1f4d3a;color:#fff}
.asSnap{text-align:right;font-size:11px;color:var(--muted)}.asSnap b{display:block;font-size:16px;color:var(--text)}.asSnap small{display:block}.asSnap code{font-size:10px}
.asSteps{display:flex;list-style:none;padding:0;margin:16px 0;counter-reset:s}.asSteps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--muted);position:relative}
.asSteps li:not(:first-child):before{content:'';position:absolute;top:12px;right:50%;width:100%;height:2px;background:var(--line);z-index:0}
.asSteps li.done:before,.asSteps li.now:before{background:var(--accent)}
.asSteps i{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;background:var(--surface);border:2px solid var(--line)}
.asSteps li.done i{background:var(--accent);border-color:var(--accent);color:#fff}.asSteps li.now i{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft,#e3f1e9)}.asSteps li.now span{color:var(--text);font-weight:800}
.asActions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.asVerify{font-size:12px;font-weight:700}.asVerify.ok{color:var(--success)}.asVerify.bad{color:var(--error)}
.asHistory{margin-top:12px;font-size:12px}.asHistory summary{cursor:pointer;color:var(--muted);font-weight:700}.asHistory ul{padding-left:16px}.asHistory li{margin:7px 0}
.asComment{font-style:italic;color:var(--text-2,#3b4a41);margin:2px 0}
.asBadge{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.asBadge.st-in-review{background:#fff4dd;border-color:#ecd29b;color:#8a5d0c}.asBadge.st-approved{background:#e8f3ec;border-color:#c3e9d6;color:#348f62}.asBadge.st-locked{background:#1f4d3a;border-color:#1f4d3a;color:#fff}

/* ============================================================ Scope 3 / product footprint / carbon finance */
.suEmpty{text-align:center;padding:40px}.suEmpty p{color:var(--muted)}
.suGuide{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.suGuide>div{background:var(--info-bg,#eef6f1);border-radius:10px;padding:9px 13px;font-size:13px}
.suStream{margin:18px 0 8px;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}
.suGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:10px}
.suCat{appearance:none;text-align:left;display:flex;flex-direction:column;gap:6px;padding:13px;border-radius:13px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;min-height:132px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.suCat:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow)}.suCat>b{font-size:13px;line-height:1.3}
.suCatTop{display:flex;justify-content:space-between;align-items:center}.suNo{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-weight:900;font-size:12px;background:var(--surface-2,#eef3f0)}
.suStatus{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--surface-2,#eef3f0);color:var(--muted)}
.suCat.st-ok{border-left:4px solid var(--success,#267a4b)}.suCat.st-ok .suStatus{background:var(--success-bg);color:var(--success)}.suCat.st-ok .suNo{background:var(--success);color:#fff}
.suCat.st-warn{border-left:4px solid var(--warning)}.suCat.st-warn .suStatus{background:var(--warning-bg);color:var(--warning)}
.suCat.st-muted{opacity:.7}.suCat.st-muted>b{text-decoration:line-through;text-decoration-color:var(--muted)}
.suCatVal{font-size:18px;font-weight:800;letter-spacing:-.02em}.suCatVal small{font-size:11px;font-weight:500;color:var(--muted)}
.suBar{height:5px;border-radius:3px;background:var(--line)}.suBar i{display:block;height:100%;border-radius:3px;background:var(--success,#267a4b)}
.suMethod{font-size:10px;color:var(--muted);margin-top:auto}
.suMapRow{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.suMapRow>:first-child{flex:1}.suMapRow select{max-width:300px}
.suControls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}.suControls label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--muted)}
.suControls.cf label input{width:110px}.suControls.cf label:first-child input{width:140px}.suControls>.small{flex-basis:100%}
.suPrices{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.suPrices input{width:110px}
svg .suGrid0{stroke:var(--line);stroke-width:1}svg .suAxis{fill:var(--muted);font-size:11px}svg .suAxis.strong{fill:var(--text);font-weight:700}
svg .suZero{stroke:var(--text);stroke-width:1.2}svg .suPrice{stroke:#b54545;stroke-width:1.6;stroke-dasharray:6 4}
.suMacBar{transition:opacity .12s ease}.suMacBar.neg{fill:#1baf7a}.suMacBar.ok{fill:#1f8a5a}.suMacBar.hi{fill:#d6a21c}.suMacBar:hover{opacity:.82}.suMacBar.sel{stroke:var(--text);stroke-width:2}
.legend i.lgNeg{background:#1baf7a}.legend i.lgOk{background:#1f8a5a}.legend i.lgHi{background:#d6a21c}
.suLine{fill:none;stroke-width:2.4}.suLine.actual{stroke:#1f4d3a}.suLine.bau{stroke:#d6a21c;stroke-dasharray:6 4}.suLine.plan{stroke:#1f8a5a}
.suDot{stroke:var(--surface,#fff);stroke-width:2}.suDot.actual{fill:#1f4d3a}.suDot.bau{fill:#d6a21c}.suDot.plan{fill:#1f8a5a}.suDot:hover{r:7}
.suPriceTabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:12px;color:var(--muted)}
.suPriceTabs button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-weight:700;font-size:12px;cursor:pointer;color:var(--text)}.suPriceTabs button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.suInsights{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-bottom:12px}.suInsights>div{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:10px 13px;font-size:13px}
.suSel{margin-top:12px;padding:14px;border-radius:12px;background:var(--surface-2,#f6f9f7);border:1px solid var(--line)}.suSel>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
.suSelGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.suSelGrid>div{background:var(--surface);border-radius:9px;padding:8px 10px}.suSelGrid span{display:block;font-size:10px;color:var(--muted)}.suSelGrid b{font-size:13px}
.suCbam{margin-top:12px}
.card svg{width:100%;height:auto;display:block}

/* ============================================================ Standards templates on Reports */
.stdStrip{margin-bottom:14px}.stdHead p{margin:4px 0 10px}
.stdGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.stdCard{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.stdCard.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft,#e3f1e9)}
.stdCard>b{font-size:15px}.stdCard small{color:var(--muted);font-size:11px}.stdBtns{display:flex;gap:6px;margin-top:6px}.stdBtns .btn{padding:6px 10px;font-size:12px}
.stdIndex{margin-top:14px}.stdSummary{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.stdPill{display:inline-block;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap;background:var(--surface-2,#eef3f0)}
.stdPill.ok{background:var(--success-bg);color:var(--success)}.stdPill.warn{background:var(--warning-bg);color:var(--warning)}.stdPill.todo{background:var(--info-bg);color:var(--info)}.stdPill.bad{background:var(--error-bg);color:var(--error)}
@media (max-width:760px){.flHero,.suHero,.asHero{flex-direction:column}.flHeroStats,.suHeroKpis{width:100%}.asYears{grid-template-columns:1fr}.asBadge{display:none}}
.flTable td{white-space:normal;font-size:12px}.flTable td:nth-child(3){max-width:300px}.flTable td:nth-child(3) .small{overflow-wrap:anywhere}.flTable td.flVal{white-space:nowrap}

/* ============================================================ Phase 9 — plant historian, data confidence, flare monitor */
:root{--g-high:#1f8a55;--g-high-bg:#e6f5ec;--g-med:#b47a12;--g-med-bg:#fdf3dc;--g-low:#c0392b;--g-low-bg:#fde8e6}
html[data-theme="dark"]{--g-high-bg:#173426;--g-med-bg:#3a2e14;--g-low-bg:#3d1d1a}
.g-high{color:var(--g-high)}.g-medium{color:var(--g-med)}.g-low{color:var(--g-low)}
.hiStartGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.hiStart{display:flex;flex-direction:column;gap:10px}.hiStart h3{margin:0}.hiStart label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700}
.hiLive{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:13px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);min-width:230px}
.hiLive>span{font-size:11px;font-weight:900;letter-spacing:.8px;color:var(--muted)}.hiLive.on>span{color:#1f8a55;animation:hiPulse 1.6s ease-in-out infinite}
.hiLive b{font-size:16px}.hiLive small{color:var(--muted);font-size:11px}.hiLive em{font-style:normal;font-size:10px;font-weight:800;color:#8a5d0c;background:#fff4dd;border-radius:6px;padding:2px 7px;align-self:flex-start}
.hiLive .btn{margin-top:6px;align-self:flex-start;padding:6px 11px;font-size:12px}
@keyframes hiPulse{50%{opacity:.45}}
.hiBar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.hiBar select{min-width:280px}
.hiKpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}.hiKpis .conf{font-size:24px}
.hiKpis b.g-high{color:var(--g-high)}.hiKpis b.g-medium{color:var(--g-med)}.hiKpis b.g-low{color:var(--g-low)}
.hiGrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;margin-bottom:14px}.hiGrid2>.card{margin:0}
.hiFeedRow{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.hiFeedRow:last-child{border:0}.hiFeedRow .small{flex:1;min-width:180px}
.hiPath{font-size:11px;background:var(--surface-2,#f3f6f4);padding:5px 8px;border-radius:7px;overflow-wrap:anywhere;flex-basis:100%}
.hiSwitch{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;cursor:pointer}.hiSwitch input{position:absolute;opacity:0;width:0;height:0}
.hiSwitch span{width:36px;height:20px;border-radius:999px;background:var(--line-strong,#c9d5cd);position:relative;transition:background .15s}
.hiSwitch span:after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.hiSwitch input:checked+span{background:#1f8a55}.hiSwitch input:checked+span:after{transform:translateX(16px)}.hiSwitch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.hiConf{display:inline-grid;grid-template-columns:64px auto;align-items:center;column-gap:7px}
.hiConf:before{content:'';grid-area:1/1;height:6px;border-radius:3px;background:var(--line)}
.hiConf i{grid-area:1/1;height:6px;border-radius:3px;background:currentColor;max-width:100%}.hiConf b{grid-area:1/2;font-size:12px}
.hiConf.g-high{color:var(--g-high)}.hiConf.g-medium{color:var(--g-med)}.hiConf.g-low{color:var(--g-low)}
.hiChip{display:inline-flex;align-items:center;gap:4px;margin-top:3px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:800;background:var(--surface-2,#eef3f0)}
.hiChip code{font-size:10px;background:none;padding:0}.hiChip.g-high{background:var(--g-high-bg)}.hiChip.g-medium{background:var(--g-med-bg)}.hiChip.g-low{background:var(--g-low-bg)}
.hiBadge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;color:var(--text)}
.hiBadge i{width:8px;height:8px;border-radius:50%;background:currentColor}.hiBadge.g-high i{background:var(--g-high)}.hiBadge.g-medium i{background:var(--g-med)}.hiBadge.g-low i{background:var(--g-low)}
.hiBadge.live i{animation:hiPulse 1.6s ease-in-out infinite;box-shadow:0 0 0 3px var(--g-high-bg)}
.hiMapHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.hiMapHead h3{margin:0}
.hiMapWrap{max-height:520px;overflow:auto}.hiMap td{padding:4px 5px}.hiMap input,.hiMap select{font-size:12px;padding:5px 6px;min-width:0}.hiMap th{white-space:nowrap;position:sticky;top:0;background:var(--surface);z-index:1}
.hiMap tr.hiUnmapped td{background:var(--g-med-bg)}
.hiScore{display:flex;flex-direction:column;gap:8px}.hiScore>span{font-size:12px;color:var(--muted);font-weight:700}.hiScore>b{font-size:44px;letter-spacing:-.04em;line-height:1}
.hiGrades{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hiGrades>div{border-radius:10px;padding:9px 11px}.hiGrades b{display:block;font-size:20px}.hiGrades span{font-size:11px;color:var(--muted)}
.hiGrades .g-high{background:var(--g-high-bg)}.hiGrades .g-medium{background:var(--g-med-bg)}.hiGrades .g-low{background:var(--g-low-bg)}
.hiRules{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.hiRules label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--muted)}.hiRules input{width:120px}
.hiMethod{margin:12px 0 0;padding-left:17px;line-height:1.55}
.legend i.g-high{background:var(--g-high)}.legend i.g-medium{background:#e0a526}.legend i.g-low{background:var(--g-low)}.legend i.g-none{background:var(--line)}
.hiHeatWrap{overflow-x:auto}.hiHeat{border-collapse:separate;border-spacing:2px;font-size:10px}.hiHeat th{font-weight:700;color:var(--muted);text-align:center;padding:2px}.hiHeat tbody th{text-align:left;white-space:nowrap;padding-right:8px}
.hiHeat td{padding:0}.hiHeat td button,.hiHeat td span{display:block;width:22px;height:22px;border-radius:4px;border:0;padding:0;cursor:pointer}
.hiHeat td button.g-high{background:#2f9e66}.hiHeat td button.g-medium{background:#e0a526}.hiHeat td button.g-low{background:#d0453a}.hiHeat td span.g-none{background:var(--line);cursor:default}
.hiHeat td button.partial{background-image:repeating-linear-gradient(45deg,transparent 0 3px,rgba(255,255,255,.4) 3px 5px)}.hiHeat td button.sel{outline:2px solid var(--text);outline-offset:1px}.hiHeat td button:hover{transform:scale(1.15)}
.hiCell{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:12px;padding:11px 13px;border-radius:10px;background:var(--surface-2,#f6f9f7);font-size:13px}
.hiIssueHead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.hiIssueHead h3{margin:0}
.hiType{display:inline-block;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap}.hiType.t-bad{background:var(--g-low-bg);color:var(--g-low)}.hiType.t-warn{background:var(--g-med-bg);color:var(--g-med)}.hiType.t-info{background:var(--info-bg,#eef6f1);color:var(--info,#2f6650)}
svg .hiLine{fill:none;stroke:#1f8a5a;stroke-width:1.4}svg .hiBad{fill:#d03b3b;stroke:var(--surface,#fff);stroke-width:1}svg .hiBad.uncertain{fill:#c98a12}
.flareTop{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:12px;margin-bottom:14px}.flareTop>.card{margin:0;display:flex;flex-direction:column;gap:5px}
.flareTop span{font-size:11px;color:var(--muted);font-weight:700}.flareTop b{font-size:28px;letter-spacing:-.03em}.flareTop b small{font-size:13px;font-weight:600;color:var(--muted)}.flareTop small{font-size:11px;color:var(--muted)}
.flareNow{border-left:5px solid #1f8a55}.flareNow em{font-style:normal;font-size:12px;font-weight:800;color:#1f8a55}
.flareNow.alarm{border-left-color:#c0392b;background:linear-gradient(90deg,var(--g-low-bg),var(--surface) 70%)}.flareNow.alarm em{color:#c0392b;animation:hiPulse 1.2s ease-in-out infinite}.flareNow.alarm b{color:#c0392b}
.flareHead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}.flareHead h3{margin:0}.flareHead .suPriceTabs{margin:0}
.flareAlarm{display:flex;gap:6px;align-items:flex-end}.flareAlarm label{display:flex;flex-direction:column;font-size:10px;font-weight:700;color:var(--muted)}.flareAlarm input{width:76px;padding:5px 7px}.flareAlarm .btn{padding:6px 11px}
svg.flareChart{cursor:crosshair;margin-top:8px}svg .flareLine{fill:none;stroke:#1f8a5a;stroke-width:1.6;stroke-linejoin:round}svg .flareEv{fill:rgba(235,104,52,.16)}
svg .flareCursor{stroke:var(--muted);stroke-dasharray:3 3}svg .flareDot{fill:#1f8a5a;stroke:var(--surface,#fff);stroke-width:2}
.flareReadout{font-size:13px;margin-top:4px}
svg .flareBar{fill:#92d7b4}svg .flareBar.hi{fill:#d6a21c}svg .flareBar:hover{fill:#1f8a5a}
.aiModeChip{display:inline-block;margin-top:10px;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px}.aiModeChip.rules{background:var(--info-bg,#eef6f1);color:var(--info,#2f6650)}.aiModeChip.llm{background:#f2eefa;color:#5b3fa0}
@media (max-width:900px){.hiKpis{grid-template-columns:repeat(2,1fr)}.flareTop{grid-template-columns:1fr 1fr}.hiBadge{display:none}}
.suHero.hiEmbedded{align-items:center;margin:4px 0 12px}.suHero.hiEmbedded>p{margin:0;max-width:640px}

/* ============================================================ Formula builder — pick from data */
.fb-data{margin:0 22px 14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2,#f7faf8);display:flex;flex-direction:column;gap:10px}
.fb-data-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.fb-data-bar select{max-width:240px}.fb-data-search{width:180px}
.fb-data-count{margin-left:auto}
.fb-seg.mini{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:9px;background:var(--surface);border:1px solid var(--line)}
.fb-seg.mini span{font-size:11px;color:var(--muted);padding:0 6px}.fb-seg.mini button{border:0;background:none;padding:5px 10px;border-radius:7px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}
.fb-seg.mini button.on{background:var(--accent);color:#fff}
.fb-impact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
.fb-impact-title{display:flex;flex-direction:column;justify-content:center;gap:2px}.fb-impact-title b{font-size:13px}
.fb-impact-row{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:3px 8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.fb-impact-row.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft,#e3f1e9)}
.fb-impact-row>span{font-size:11px;font-weight:800;color:var(--muted)}.fb-impact-row>b{grid-column:1;font-size:15px}.fb-impact-row>small{grid-column:2;justify-self:end;font-size:11px;font-weight:800;color:var(--muted)}
.fb-impact-row>small.up{color:var(--warning,#9a6514)}.fb-impact-row>small.down{color:var(--success,#267a4b)}
.fb-impact-bars{display:flex;flex-direction:column;gap:2px}.fb-impact-bars i{display:block;height:5px;border-radius:3px}.fb-impact-bars i.b{background:var(--line-strong,#c9d5cd)}.fb-impact-bars i.a{background:var(--accent)}
.fb-impact-line{margin:6px 0}
.fb-selbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:8px 12px;border-radius:10px;background:var(--info-bg,#eef6f1)}
.fb-suggest{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}
.fb-suggest-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px}
.fb-suggest-card code{font-size:11.5px;background:var(--surface-2,#f3f6f4);padding:6px 8px;border-radius:7px;overflow-wrap:anywhere}.fb-suggest-card small{color:var(--muted);font-size:11px}
.fb-suggest-card>div{display:flex;gap:6px;flex-wrap:wrap}.fb-suggest-card .btn{padding:5px 10px;font-size:12px}
.fb-gridwrap{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.fb-grid-t{border-collapse:separate;border-spacing:0;font-size:12px;width:max-content;min-width:100%}
.fb-grid-t th,.fb-grid-t td{padding:5px 9px;border-bottom:1px solid var(--line);white-space:nowrap;text-align:left}
.fb-grid-t th{position:sticky;top:0;z-index:2;background:var(--surface);font-weight:700}
.fb-grid-t .num{text-align:right}.fb-grid-t td.num{font-variant-numeric:tabular-nums}
.fb-colhead{border:0;background:none;padding:3px 6px;margin:-3px -6px;border-radius:6px;font:inherit;font-weight:700;color:var(--text);cursor:pointer;display:inline-flex;gap:5px;align-items:center}
.fb-colhead i{font-style:normal;font-size:9px;font-weight:900;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 3px}
.fb-colhead:hover{background:var(--accent-soft,#e3f1e9);color:var(--accent)}
.fb-grid-t th.used .fb-colhead{background:#e8f3ec;color:#348f62}.fb-grid-t td.used{background:rgba(69,187,128,.05)}
.fb-grid-t .fb-ck{width:28px;position:sticky;left:0;background:inherit;z-index:1}.fb-grid-t th.fb-ck{z-index:3}
.fb-rowno{color:var(--muted);font-variant-numeric:tabular-nums}
.fb-grid-t tbody tr{background:var(--surface)}.fb-grid-t tbody tr:hover{background:var(--surface-2,#f6f9f7)}
.fb-grid-t tbody tr.hit{background:rgba(31,138,85,.07)}.fb-grid-t tbody tr.hit td.fb-new b{color:#1f8a55}
.fb-grid-t tbody tr.miss td:not(.fb-ck){color:var(--muted);opacity:.65}
.fb-grid-t tbody tr.sel{background:#e8f3ec}.fb-grid-t tbody tr.sel td{opacity:1}
.fb-grid-t td{cursor:default}.fb-grid-t td[data-tip]{cursor:cell}
.fb-cur,.fb-new{border-left:1px solid var(--line)}.fb-grid-t th.fb-new{color:#1f8a55}
.fb-null{color:var(--line-strong,#c9d5cd)}.fb-more{text-align:center}
@media (max-width:900px){.fb-impact{grid-template-columns:1fr 1fr}.fb-data-count{margin-left:0}}
.fb-data{flex-shrink:0;max-height:52vh;overflow:auto;margin-top:14px}.fb-gridwrap{max-height:30vh;min-height:150px}

/* busy overlay — long-running changes block the page, leaving asks first */
.busyOverlay{position:fixed;inset:0;z-index:1200;background:rgba(14,26,19,.42);backdrop-filter:blur(2px);display:grid;place-items:center;animation:busyIn .15s ease-out}
@keyframes busyIn{from{opacity:0}to{opacity:1}}
.busyCard{width:min(420px,calc(100vw - 32px));background:var(--surface,#fff);color:var(--text);border-radius:18px;padding:26px 24px 20px;box-shadow:0 24px 70px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.busyCard.warn{animation:busyShake .35s ease}
@keyframes busyShake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.busySpinner{width:44px;height:44px;border-radius:50%;border:4px solid var(--line,#dfe7e2);border-top-color:var(--accent,#2f7d57);animation:toastSpin .8s linear infinite;margin-bottom:8px}
.busyCard>b{font-size:17px}.busyTime{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.busyCard>p{margin:6px 0 0;font-size:13px;color:var(--muted)}.busyCard>small{font-size:11px;color:var(--muted);margin-top:4px}
.busyWarn{margin-top:10px;padding:12px;border-radius:12px;background:var(--warning-bg,#fff8e8);border:1px solid #ecd29b;width:100%}.busyWarn p{font-size:12px;margin:4px 0 10px;color:var(--text)}
.busyWarn>div{display:flex;gap:8px;justify-content:center}
.busyPill{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:1100;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-weight:700;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);cursor:pointer;color:var(--text)}
.busyPill i{width:12px;height:12px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:toastSpin .8s linear infinite}
.rp-maintabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2,#eef3f0);border:1px solid var(--line);margin:0 0 16px}
.rp-maintabs button{border:0;background:none;padding:9px 16px;border-radius:9px;font-weight:800;font-size:13px;color:var(--muted);cursor:pointer}.rp-maintabs button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.tgBar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.tgBar p{margin:0;max-width:720px}

/* alert "Why? Trace it" */
.tv-alert-overlay{z-index:900}
.tv-why-box{background:var(--surface-2,#f6f9f7);border-left:4px solid var(--accent);border-radius:10px;padding:11px 14px;margin:12px 0}.tv-why-box b{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.tv-why-box p{margin:4px 0 0;font-size:14px;line-height:1.55}
.tv-where{margin:10px 0}.tv-where>b{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.tv-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}
.tv-crumb{display:inline-flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:5px 10px;font-size:12px;font-weight:700;color:var(--text);cursor:pointer;max-width:240px;text-align:left}
.tv-crumb small{font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.tv-crumb:hover{border-color:var(--accent);background:var(--accent-soft,#e3f1e9)}
.tv-crumb.rec{border-style:dashed}.tv-crumb em{font-style:normal;color:var(--muted);font-weight:600}.tv-sep{color:var(--muted);font-weight:700}
.tv-go{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border-radius:12px;background:linear-gradient(90deg,var(--accent-soft,#e3f1e9),var(--surface));border:1px solid var(--line)}
.tv-go>div{display:flex;flex-direction:column}.tv-go b{font-size:14px}
.tv-chart{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.tv-chart-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:4px}
.tv-chart svg{width:100%;height:auto;display:block}
svg .tv-grid{stroke:var(--line)}svg .tv-ax{fill:var(--muted);font-size:10px}svg .tv-ax.strong{fill:var(--text);font-weight:700}
svg .tv-exp{fill:none;stroke:#97b5a6;stroke-width:1.5;stroke-dasharray:5 4}svg .tv-act{fill:none;stroke:#1f6a47;stroke-width:1.8}
svg .tv-flag{fill:#d03b3b;stroke:var(--surface,#fff);stroke-width:1.5}svg .tv-flag.focus{fill:#d03b3b;stroke:#d03b3b;stroke-opacity:.35;stroke-width:8}
svg .tv-focusband{fill:rgba(208,59,59,.1)}svg .tv-cursor{stroke:var(--muted);stroke-dasharray:3 3}
.tv-readout{font-size:12px;min-height:18px}.tv-readout .lg{display:inline-block;width:12px;height:3px;vertical-align:middle;margin-left:6px}.tv-readout .lg.act{background:#1f6a47}.tv-readout .lg.exp{background:#97b5a6}.tv-readout .lg.flag{width:8px;height:8px;border-radius:50%;background:#d03b3b}
.tv-more{margin:10px 0}.tv-more summary{cursor:pointer;font-weight:700}
.anomFocus{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 10px;padding:10px 14px;border-radius:12px;background:#fdecea;border:1px solid #f3c2bc}
.anomFocus>span{color:#d03b3b;font-size:18px;animation:hiPulse 1.2s ease-in-out infinite}.anomFocus>div{flex:1;min-width:220px;font-size:13px}.anomFocus small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
html[data-theme="dark"] .anomFocus{background:#3d1d1a;border-color:#6b2a24}
svg .anomFocusBand{fill:rgba(208,59,59,.1)}svg .anomFocusRing{fill:none;stroke:#d03b3b;stroke-width:2.5;animation:hiPulse 1.4s ease-in-out infinite}
svg .flareFocus{fill:rgba(235,104,52,.22);stroke:#d6a21c;stroke-width:2}
.flashFocus{animation:flashFocus 1.8s ease}@keyframes flashFocus{0%,40%{box-shadow:0 0 0 4px rgba(208,59,59,.35)}100%{box-shadow:none}}

/* Sidebar toggle v2 — sits inside the sidebar header, not on the edge */
@media(min-width:821px){
  .side .sideTop{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}
  .side .navCollapse{
    position:static!important;display:grid!important;place-items:center;flex:none;
    width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border-radius:10px;
    border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.05)!important;color:#a9c3b4!important;
    box-shadow:none;transform:none;transition:background .15s ease,color .15s ease,border-color .15s ease;
  }
  .side .navCollapse:hover{background:rgba(127,214,163,.14)!important;border-color:rgba(127,214,163,.35)!important;color:#d9f5e4!important;transform:none}
  .side .navCollapse:focus-visible{outline:2px solid #7fd6a3;outline-offset:2px}
  .side .navCollapse svg{display:block}
  .navCollapsed .side .sideTop{flex-direction:column;gap:10px;padding-bottom:12px}
  .navCollapsed .side .brand{padding:4px 0;text-align:center}
}

/* ============================================================ Targets & Net Zero v2 */
.tg-strip{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tg-strip>span{align-self:center;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-right:4px}
.tg-strip>div{display:flex;align-items:baseline;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}
.tg-strip>div.on{border-color:var(--accent);background:var(--accent-soft,#e3f1e9)}
.tg-strip small{font-size:11px;color:var(--muted);font-weight:700}.tg-strip b{font-size:14px}.tg-strip em{font-style:normal;font-size:10px;color:var(--muted)}
.tg-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tg-chip{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:8px 12px;cursor:pointer;color:var(--text);min-width:180px}
.tg-chip i{grid-row:1/3;align-self:center;width:9px;height:9px;border-radius:50%}.tg-chip i.ok{background:#1f8a55}.tg-chip i.bad{background:#c0392b}
.tg-chip b{font-size:13px}.tg-chip small{font-size:11px;color:var(--muted)}.tg-chip.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft,#e3f1e9)}
.tg-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;padding:22px 24px;border-radius:18px;border:1px solid var(--line);background:var(--surface);margin-bottom:14px;position:relative;overflow:hidden}
.tg-hero:before{content:'';position:absolute;inset:0 auto 0 0;width:6px;background:#1f8a55}.tg-hero.bad:before{background:#c0392b}
.tg-hero.ok{background:linear-gradient(120deg,rgba(31,138,85,.07),var(--surface) 55%)}.tg-hero.bad{background:linear-gradient(120deg,rgba(192,57,43,.07),var(--surface) 55%)}
.tg-status{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#e6f5ec;color:#1f8a55}
.tg-hero.bad .tg-status{background:#fde8e6;color:#c0392b}
.tg-hero h2{margin:10px 0 2px;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.03em;line-height:1.1}
.tg-name{margin:0 0 14px;color:var(--muted);font-size:13px}
.tg-progress-track{height:12px;border-radius:999px;background:var(--line);overflow:hidden}.tg-progress-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3fa877,#1f6a47);transition:width .4s ease}
.tg-hero.bad .tg-progress-track i{background:linear-gradient(90deg,#e0a526,#c0392b)}
.tg-progress-txt{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:12px}.tg-progress-txt span{color:var(--muted)}
.tg-verdict{margin:14px 0 0;font-size:14px;line-height:1.55}
.tg-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.tg-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.tg-stat,.tg-gap{border-radius:12px;padding:11px 13px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.tg-stat small,.tg-gap small{font-size:11px;font-weight:700;color:var(--muted)}.tg-stat b{font-size:20px;letter-spacing:-.02em}.tg-stat em,.tg-gap em{font-style:normal;font-size:11px;color:var(--muted)}
.tg-stat.actual b{color:var(--text)}.tg-stat.allow{border-style:dashed}.tg-stat.target b{color:#1f6a47}
.tg-gap{grid-column:1/-1;flex-direction:row;align-items:baseline;gap:10px;flex-wrap:wrap}.tg-gap b{font-size:18px}
.tg-gap.ok{background:#e6f5ec;border-color:#bfe3cd}.tg-gap.ok b{color:#1f8a55}.tg-gap.bad{background:#fde8e6;border-color:#f3c2bc}.tg-gap.bad b{color:#c0392b}
html[data-theme="dark"] .tg-gap.ok{background:#173426;border-color:#245c3d}html[data-theme="dark"] .tg-gap.bad{background:#3d1d1a;border-color:#6b2a24}
.tg-chart-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.tg-chart-head h3{margin:0}.tg-chart-head p{margin:4px 0 0}
.tg-chart svg{width:100%;height:auto;display:block;margin-top:6px}
svg .tg-grid{stroke:var(--line)}svg .tg-ax{fill:var(--muted);font-size:11px}svg .tg-ax.strong{fill:var(--text);font-weight:700}
svg .tg-zone{fill:rgba(31,138,85,.09)}svg .tg-path{stroke:#1f8a55;stroke-width:2.5;stroke-dasharray:7 6}
svg .tg-act{fill:none;stroke:#17231d;stroke-width:2.6;stroke-linejoin:round}html[data-theme="dark"] svg .tg-act{stroke:#e9f1ec}
svg .tg-dot{fill:#17231d;stroke:var(--surface,#fff);stroke-width:2}svg .tg-dot.ok{fill:#1f8a55}svg .tg-dot.bad{fill:#c0392b}
svg .tg-base{fill:var(--surface,#fff);stroke:#17231d;stroke-width:2}
svg .tg-now{stroke:var(--muted);stroke-dasharray:3 4}svg .tg-gapline{stroke-width:4;stroke-linecap:round}svg .tg-gapline.ok{stroke:#1f8a55}svg .tg-gapline.bad{stroke:#c0392b}
svg .tg-flagpole{stroke:#1f6a47;stroke-width:2}svg .tg-flag{fill:#1f8a55}svg .tg-cursor{stroke:var(--muted);stroke-dasharray:2 3}
.legend i.lg-act{background:#17231d;height:3px}.legend i.lg-path{background:repeating-linear-gradient(90deg,#1f8a55 0 5px,transparent 5px 8px);height:3px}.legend i.lg-zone{background:rgba(31,138,85,.2)}
.tg-readout{font-size:12px;min-height:18px;margin-top:4px;color:var(--muted)}.tg-readout b{color:var(--text)}
.tg-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.tg-grid2>.card{margin:0}
.tg-timeline{list-style:none;padding:0;margin:10px 0 0;position:relative}
.tg-timeline:before{content:'';position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tg-ms{display:grid;grid-template-columns:16px 52px 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:7px 0;position:relative}
.tg-ms i{grid-row:1/3;width:16px;height:16px;border-radius:50%;border:2px solid var(--line-strong,#c9d5cd);background:var(--surface);z-index:1}
.tg-ms b{grid-row:1/3;font-size:15px}.tg-ms span{font-size:13px;font-weight:700}.tg-ms small{grid-column:3;font-size:11px;color:var(--muted)}.tg-ms em{grid-column:4;grid-row:1/3;font-style:normal;font-size:11px;font-weight:800}
.tg-ms.base i{background:#17231d;border-color:#17231d}.tg-ms.met i{background:#1f8a55;border-color:#1f8a55}.tg-ms.met em{color:#1f8a55}
.tg-ms.missed i{background:#c0392b;border-color:#c0392b}.tg-ms.missed em{color:#c0392b}.tg-ms.future em{color:var(--muted)}
.tg-plans{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.tg-plan{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 13px;cursor:pointer;color:var(--text)}
.tg-plan:hover{border-color:var(--accent)}.tg-plan>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.tg-plan small{color:var(--muted);font-size:11px}
.tg-pstatus{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--surface-2,#eef3f0)}.tg-pstatus.s-active{background:#e6f5ec;color:#1f8a55}.tg-pstatus.s-approved{background:#e8f3ec;color:#348f62}.tg-pstatus.s-draft{background:#fff4dd;color:#8a5d0c}
.tg-cover{height:7px;border-radius:999px;background:var(--line);overflow:hidden}.tg-cover i{display:block;height:100%;background:var(--accent);border-radius:999px}
.tg-noplan{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.tg-empty{text-align:center;padding:44px 24px;border:1px dashed var(--line-strong,#c9d5cd);border-radius:18px;background:var(--surface)}
.tg-empty b{display:block;font-size:18px;margin-bottom:6px}.tg-empty p{color:var(--muted);max-width:520px;margin:0 auto 14px}.tg-empty-icon{font-size:40px;color:var(--accent);line-height:1;margin-bottom:8px}
.tg-form2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tg-modal input[type=range]{width:100%;accent-color:var(--accent)}
@media (max-width:900px){.tg-hero{grid-template-columns:1fr}.tg-form2{grid-template-columns:1fr}}

/* sidebar icons (replace the two-letter codes) */
.nav .navIcon{width:32px;height:32px;border-radius:9px;color:#a9c3b4;background:rgba(255,255,255,.05);transition:background .15s ease,color .15s ease}
.nav .navIcon svg{display:block}
.nav button:hover .navIcon{color:#e3f5ea;background:rgba(127,214,163,.12)}
.nav button.active .navIcon{color:#fff;background:#2c855f}

/* Settings sits at the foot of the sidebar, above the Local mode line */
.sideFoot .footNav{padding:0 0 6px}.sideFoot .footStatus{display:flex;align-items:center;gap:8px;padding:6px 9px 0}
.side > .nav{height:calc(100vh - 175px)!important}
.sideFoot .footNav{height:auto!important;overflow:visible!important;padding:0 0 6px!important}
.sideFoot{display:block!important}

/* ============================================================ Dashboard — Footprint breakdown board */
.bd{margin:16px 0}
.bd-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.bd-head h2{margin:2px 0 4px}.bd-head p{margin:0}
.bd-views{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:14px 0 14px;overflow-x:auto}
.bd-views button{border:0;background:none;padding:10px 14px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.bd-views button.on{color:var(--text);border-bottom-color:var(--accent)}.bd-views button:hover{color:var(--text)}
.bd-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.bd-kpi{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:13px 15px;color:var(--text);cursor:default;position:relative;overflow:hidden}
.bd-kpi:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--c,transparent)}
.bd-kpi span{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}.bd-kpi span i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.bd-kpi b{font-size:24px;letter-spacing:-.02em}.bd-kpi small{font-size:11px;color:var(--muted)}
.bd-kpi.total{background:linear-gradient(140deg,#173b29,#245a3e);border-color:#173b29;color:#fff}.bd-kpi.total span,.bd-kpi.total small{color:#c3d9cc}
.bd-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px;margin-bottom:12px}
.bd-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:14px 16px;margin-bottom:12px;position:relative}.bd-grid2>.bd-card{margin:0}
.bd-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.bd-card-head b{display:block;font-size:14px}.bd-card-head span{font-size:11px;color:var(--muted)}
.bd-seg{display:inline-flex;padding:3px;border-radius:9px;background:var(--surface-2,#eef3f0);border:1px solid var(--line);position:absolute;top:12px;right:14px}
.bd-seg button{border:0;background:none;padding:4px 10px;border-radius:7px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer}.bd-seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.bd-donut{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:14px;align-items:center}.bd-donut svg{width:100%;height:auto}
svg .bd-hit{cursor:pointer;transition:opacity .12s ease,d .15s ease}svg .bd-hit:hover{opacity:.82}
svg .bd-dc-v{font-size:26px;font-weight:800;fill:var(--text)}svg .bd-dc-v.sm{font-size:20px}svg .bd-dc-l{font-size:11px;fill:var(--muted)}
.bd-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin-top:6px}.bd-legend span{display:inline-flex;align-items:center;gap:6px}
.bd-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.bd-legend i.dash{height:3px;background:repeating-linear-gradient(90deg,#e34948 0 5px,transparent 5px 8px)}
.bd-legend.col{flex-direction:column;flex-wrap:nowrap;gap:7px}.bd-legend.col span{justify-content:flex-start;padding:4px 6px;border-radius:7px;cursor:default}.bd-legend.col span b{margin-left:auto;color:var(--text)}
.bd-legend.col span.on{background:var(--surface-2,#eef3f0);color:var(--text)}.bd-legend.col span.strong{color:var(--text);font-weight:700}.bd-legend hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}
.bd-hbars{display:flex;flex-direction:column;gap:10px;padding:6px 0}.bd-hbar{display:grid;grid-template-columns:150px 1fr 70px;gap:10px;align-items:center;font-size:12px}
.bd-hbar>div{height:12px;border-radius:6px;background:var(--line)}.bd-hbar i{display:block;height:100%;border-radius:6px}.bd-hbar b{text-align:right}
.bd-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;max-height:330px;overflow:auto;padding-right:2px}
.bd-tile{display:grid;grid-template-columns:40px 1fr auto;grid-template-rows:auto auto;gap:4px 10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;color:var(--text);
  background:linear-gradient(120deg,color-mix(in srgb,var(--c) 9%,var(--surface)),var(--surface) 70%);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}
.bd-tile:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.bd-tile.dim{opacity:.35}
.bd-tile-ic{grid-row:1/3;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--c)}
.bd-tile b{display:block;font-size:13px;line-height:1.25}.bd-tile div span{font-size:12px;color:var(--muted)}
.bd-tile em{font-style:normal;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;align-self:start;white-space:nowrap}
.bd-tile-bar{grid-column:2/4;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.bd-tile-bar u{display:block;height:100%;background:var(--c);text-decoration:none}
.bd-svg{width:100%;height:auto;display:block}
svg .bd-gridl{stroke:var(--line)}svg .bd-ax{fill:var(--muted);font-size:11px}svg .bd-ax.strong{fill:var(--text);font-weight:700}svg .bd-ax.up{fill:#c0392b;font-weight:700}svg .bd-ax.down{fill:#1f8a55;font-weight:700}
svg .bd-flag{fill:#b47a12;font-size:13px}svg .bd-link{transition:opacity .12s ease}svg .bd-link:hover{opacity:.6}
svg .bd-avg{stroke:#17231d;stroke-width:1.5;stroke-dasharray:6 4}html[data-theme="dark"] svg .bd-avg{stroke:#e9f1ec}
svg .bd-req{fill:none;stroke:#e34948;stroke-width:2;stroke-dasharray:6 4}svg .bd-att{fill:none;stroke:#17231d;stroke-width:2.4}svg .bd-attdot{fill:#17231d;stroke:var(--surface,#fff);stroke-width:2}
html[data-theme="dark"] svg .bd-att{stroke:#e9f1ec}html[data-theme="dark"] svg .bd-attdot{fill:#e9f1ec}
.bd-list{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.bd-list-row{display:grid;grid-template-columns:12px minmax(140px,1.2fr) 2fr 52px 110px;gap:12px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 16px;text-align:left;cursor:pointer;color:var(--text);font-size:13px}
.bd-list-row:last-child{border-bottom:0}.bd-list-row:hover{background:var(--surface-2,#f6f9f7)}.bd-list-row i{width:10px;height:10px;border-radius:3px}
.bd-list-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.bd-list-bar u{display:block;height:100%;text-decoration:none;border-radius:4px}.bd-list-row small{color:var(--muted);text-align:right}
.bd-table{width:100%;border-collapse:collapse;font-size:13px}.bd-table th{font-size:11px;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.bd-table td{padding:9px 10px;border-bottom:1px solid var(--line)}.bd-table .num{text-align:right;font-variant-numeric:tabular-nums}.bd-table tbody tr{cursor:pointer}.bd-table tbody tr:hover{background:var(--surface-2,#f6f9f7)}
.bd-table tfoot td{font-weight:800;border-bottom:0;background:var(--surface-2,#f6f9f7)}
.bd-td-bar{width:28%}.bd-td-bar div{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--line);gap:1px}.bd-td-bar i{display:block;height:100%}
.bd-hot{display:flex;flex-direction:column}
.bd-hot-row{display:grid;grid-template-columns:28px minmax(160px,1.3fr) 2fr 80px 50px 70px;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 4px;text-align:left;cursor:pointer;color:var(--text);font-size:13px}
.bd-hot-row:last-child{border-bottom:0}.bd-hot-row:hover{background:var(--surface-2,#f6f9f7)}
.bd-hot-n{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-weight:800;font-size:12px;background:var(--surface-2,#eef3f0)}
.bd-hot-row div span{display:block;font-size:11px;color:var(--muted)}.bd-hot-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.bd-hot-bar u{display:block;height:100%;text-decoration:none}
.bd-hot-row small{color:var(--muted)}.bd-hot-row em{font-style:normal;font-size:12px;font-weight:800;color:var(--muted)}.bd-hot-row em.up{color:#c0392b}.bd-hot-row em.down{color:#1f8a55}
@media (max-width:1100px){.bd-kpis{grid-template-columns:repeat(2,1fr)}.bd-kpi.total{grid-column:1/-1}.bd-grid2{grid-template-columns:1fr}}
@media (max-width:700px){.bd-donut{grid-template-columns:1fr}.bd-list-row,.bd-hot-row{grid-template-columns:12px 1fr 60px}.bd-list-bar,.bd-list-row small,.bd-hot-bar,.bd-hot-row small,.bd-hot-row em{display:none}}
.bd-legend.col span.sub{padding:2px 6px 2px 20px;font-size:11px}.bd-legend.col span.sub b{font-weight:600;color:var(--muted)}

/* ============================================================ Business analysis charts (donut / rank / treemap / pareto) */
.bz{display:flex;flex-direction:column;min-height:0}
.bz-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.bz-head h3{margin:0}.bz-head span{font-size:11px;color:var(--muted)}
.bz-empty{padding:26px 14px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--line-strong,#c9d5cd);border-radius:12px}.bz-empty b{display:block;color:var(--text);margin-bottom:4px}.bz-empty p{margin:0}
.bz-single{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:1px solid var(--line);background:linear-gradient(120deg,var(--accent-soft,#e3f1e9),var(--surface) 70%);border-radius:14px;padding:18px 20px;cursor:pointer;color:var(--text)}
.bz-single span{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--accent)}.bz-single b{font-size:22px}.bz-single em{font-style:normal;font-size:15px;font-weight:700}.bz-single small{color:var(--muted);font-size:11px;margin-top:4px}
.bz-donut{display:grid;grid-template-columns:minmax(150px,190px) 1fr;gap:16px;align-items:center}.bz-donut svg{width:100%;height:auto}
svg .bz-hit{cursor:pointer;transition:opacity .12s ease}svg .bz-hit:hover{opacity:.85}svg .bz-c1{font-size:22px;font-weight:800;fill:var(--text)}svg .bz-c2{font-size:10px;fill:var(--muted)}
.bz-legend{display:flex;flex-direction:column;gap:2px}
.bz-legend button{display:grid;grid-template-columns:10px 1fr auto auto;gap:8px;align-items:center;border:0;background:none;padding:6px 8px;border-radius:8px;text-align:left;cursor:pointer;color:var(--text);font-size:12px}
.bz-legend button.on,.bz-legend button:hover{background:var(--surface-2,#eef3f0)}.bz-legend i{width:10px;height:10px;border-radius:3px}.bz-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bz-legend small{color:var(--muted);min-width:56px;text-align:right}
.bz-rank{display:flex;flex-direction:column}
.bz-rrow{display:grid;grid-template-columns:24px minmax(110px,170px) 1fr 70px 38px;gap:10px;align-items:center;border:0;border-bottom:1px solid var(--line);background:none;padding:8px 2px;text-align:left;cursor:pointer;color:var(--text);font-size:12.5px}
.bz-rrow:last-child{border-bottom:0}.bz-rrow:hover{background:var(--surface-2,#f6f9f7)}
.bz-n{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--surface-2,#eef3f0);color:var(--muted)}
.bz-rlabel,.bz-plabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bz-rtrack,.bz-ptrack{height:10px;border-radius:5px;background:var(--surface-2,#eef3f0);overflow:hidden}.bz-rtrack i,.bz-ptrack i{display:block;height:100%;border-radius:5px;background:#2f7d57}
.bz-rrow b,.bz-prow b{text-align:right;font-variant-numeric:tabular-nums}.bz-rrow small{color:var(--muted);text-align:right}
.bz-sub{font-size:11px;color:var(--muted);margin-top:6px;align-self:flex-end}
.bz-tree{position:relative;width:100%;aspect-ratio:100/62;border-radius:12px;overflow:hidden}
.bz-cell{position:absolute;border:2px solid var(--surface,#fff);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;text-align:left;cursor:pointer;overflow:hidden;transition:filter .12s ease}
.bz-cell:hover{filter:brightness(1.07)}.bz-cell b{font-size:12.5px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bz-cell span{font-size:11px;opacity:.85}
.bz-cell.unk{background-image:repeating-linear-gradient(45deg,transparent 0 6px,rgba(255,255,255,.45) 6px 9px)}
.bz-note{font-size:11px;color:var(--muted);margin-top:6px}
.bz-pareto{display:flex;flex-direction:column}
.bz-prow{display:grid;grid-template-columns:minmax(110px,170px) 1fr 64px 96px;gap:10px;align-items:center;border:0;background:none;padding:7px 2px;text-align:left;cursor:pointer;color:var(--muted);font-size:12.5px;border-bottom:1px solid var(--line)}
.bz-prow:hover{background:var(--surface-2,#f6f9f7)}.bz-prow.core{color:var(--text)}.bz-prow:not(.core) .bz-ptrack i{background:#9fc3ae}
.bz-pcum{position:relative;height:18px;border-radius:5px;background:var(--surface-2,#eef3f0);overflow:hidden}.bz-pcum u{position:absolute;inset:0 auto 0 0;background:rgba(47,125,87,.18);text-decoration:none}
.bz-pcum em{position:relative;font-style:normal;font-size:11px;font-weight:800;padding-left:6px;line-height:18px;color:var(--text)}
.bz-cut{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:11px;font-weight:800;color:#b47a12}.bz-cut:before,.bz-cut:after{content:'';flex:1;border-top:2px dashed #e0b25a}
@media (max-width:700px){.bz-donut{grid-template-columns:1fr}.bz-rrow{grid-template-columns:22px 1fr 60px}.bz-rtrack,.bz-rrow small{display:none}.bz-prow{grid-template-columns:1fr 60px 70px}.bz-ptrack{display:none}}

/* ---- Business analysis: auto-chosen shapes ---- */
.bz-auto{flex:none;font-style:normal;font-size:10.5px;font-weight:800;color:var(--accent,#2f7d57);background:var(--accent-soft,#e3f1e9);border-radius:999px;padding:3px 9px;white-space:nowrap;cursor:help}
.bz-head span{display:block}
.bz-rings{display:flex;flex-wrap:wrap;justify-content:space-around;gap:14px;padding:10px 0 4px}
.bz-rings button{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;cursor:pointer;color:var(--text);padding:6px;border-radius:12px;min-width:110px}
.bz-rings button:hover{background:var(--surface-2,#f3f7f5)}.bz-rings svg{width:118px;height:118px}.bz-rings b{font-size:12.5px;margin-top:6px}.bz-rings small{color:var(--muted);font-size:11.5px}
svg .bz-ring-bg{fill:none;stroke:var(--surface-2,#eef3f0);stroke-width:10}svg path.bz-ring-bg{fill:var(--surface-2,#eef3f0);stroke:none}svg .bz-ring-v{font-size:19px;font-weight:800;fill:var(--text)}
.bz-waffle{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;width:min(100%,280px);margin:6px auto 10px}
.bz-waffle i{aspect-ratio:1;border-radius:4px;cursor:pointer;transition:opacity .12s ease}.bz-waffle i.dim,.bz-strip button.dim{opacity:.28}
.bz-keys{display:flex;flex-wrap:wrap;gap:4px 6px}.bz-keys button{display:flex;align-items:center;gap:6px;border:0;background:none;padding:4px 7px;border-radius:7px;cursor:pointer;color:var(--text);font-size:11.5px}
.bz-keys button.on,.bz-keys button:hover{background:var(--surface-2,#eef3f0)}.bz-keys i{width:10px;height:10px;border-radius:3px}.bz-keys b{color:var(--muted);font-weight:700}
.bz-cards{display:flex;flex-direction:column;gap:8px}
.bz-cards button{display:grid;grid-template-columns:40px 1fr minmax(80px,34%);gap:12px;align-items:center;text-align:left;cursor:pointer;color:var(--text);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);background:color-mix(in srgb,var(--c) 9%,var(--surface,#fff));border-radius:12px;padding:10px 14px}
.bz-cards button:hover{border-color:var(--c)}.bz-cards svg{width:38px;height:38px;padding:7px;border-radius:9px;background:var(--surface,#fff);fill:none;stroke:var(--c);stroke-width:2}
.bz-cards span{display:flex;flex-direction:column;min-width:0}.bz-cards b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bz-cards small{color:var(--muted);font-size:11.5px}
.bz-cards u{height:8px;border-radius:4px;background:var(--surface,#fff);overflow:hidden}.bz-cards u i{display:block;height:100%;border-radius:4px;background:var(--c)}
.bz-radial svg{width:100%;max-height:250px}svg .bz-rl{font-size:8.5px;font-weight:700;fill:var(--text)}
.bz-lolly{display:flex;flex-direction:column}
.bz-lolly button{margin:0;min-height:0;display:grid;grid-template-columns:minmax(100px,38%) 1fr 54px;gap:10px;align-items:center;border:0;background:none;padding:6px 2px;cursor:pointer;color:var(--text);font-size:12.5px;text-align:left;border-radius:6px}
.bz-lolly button:hover{background:var(--surface-2,#f6f9f7)}.bz-lolly span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.bz-lolly b{font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.bz-lolly u{position:relative;height:12px;display:block}.bz-lolly u i{position:absolute;left:0;top:5px;height:2px;background:#9fc3ae;min-width:8px}
.bz-lolly u i:after{content:'';position:absolute;right:-7px;top:-6px;width:14px;height:14px;border-radius:50%;background:#2f7d57}.bz-lolly button.lead b{color:var(--text);font-weight:800}
.bz-cols{display:grid;gap:8px;align-items:end;height:240px;padding-top:22px}
.bz-cols button{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;height:100%;border:0;background:none;padding:0;cursor:pointer;color:var(--text);min-width:0}
.bz-cols b{font-size:11px;text-align:center;margin-bottom:3px;font-variant-numeric:tabular-nums}.bz-cols .tail b{color:var(--muted);font-weight:600}
.bz-col{flex:0 0 150px;display:flex;align-items:flex-end}.bz-col i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:#2f7d57;transition:filter .12s ease}.bz-cols .tail .bz-col i{background:#a9cbb7}
.bz-cols button:hover .bz-col i{filter:brightness(1.1)}
.bz-cols small{font-size:10.5px;color:var(--muted);text-align:center;margin-top:6px;line-height:1.25;height:2.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.bz-cols .cut:before{content:'';position:absolute;left:-5px;top:-14px;bottom:2.9em;border-left:2px dashed #e0b25a}
.bz-cols .cut em{position:absolute;right:calc(100% + 8px);top:-20px;white-space:nowrap;font-style:normal;font-size:11px;font-weight:800;color:#b47a12}
.bz-bubbles svg{width:100%;max-height:260px;display:block}svg .bz-bl{font-weight:800;fill:#fff;letter-spacing:0}.bz svg text{letter-spacing:0}svg .bz-bv{fill:#fff;opacity:.9}
.bz-strip{display:flex;gap:3px;height:46px;margin:6px 0 12px}
.bz-strip button{border:0;border-radius:8px;color:#fff;font-weight:800;font-size:12px;cursor:pointer;min-width:6px;padding:0;transition:opacity .12s ease}
.bz-polar svg{width:100%;max-height:250px;display:block}svg .bz-pl{font-size:9px;font-weight:700;fill:var(--muted)}svg .bz-pc{font-size:13px;font-weight:800;fill:var(--text)}
/* ---- Business analysis: shape switcher, compare, top "Your charts" ---- */
.bz-head{align-items:center}.bz-subline{display:block;font-size:11px;color:var(--muted);margin:-8px 0 10px}
.bz-ctl{position:relative;flex:none}
button.bz-auto{border:0;display:inline-flex;align-items:center;gap:5px;font-family:inherit}button.bz-auto:hover{filter:brightness(.96)}
.bz-auto.manual{background:#f0f9f4;color:#43a072}.bz-caret{font-size:9px;opacity:.8}
.bz-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:260px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(16,32,24,.16);padding:6px;display:flex;flex-direction:column}
.bz-menu button{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--text)}
.bz-menu button:hover{background:var(--surface-2,#eef3f0)}.bz-menu button.on{background:var(--accent-soft,#e3f1e9);font-weight:700}.bz-menu button.on:after{content:'✓';color:var(--accent,#2f7d57)}
.bz-menu small{color:var(--muted);font-size:10.5px;font-weight:600}.bz-menu hr{margin:4px 2px;border-top:1px solid var(--line)}.bz-menu .bz-menu-cmp{color:var(--accent,#2f7d57);font-weight:700}
.bz-gauge svg{width:100%;max-height:200px;display:block;margin-bottom:6px}
.bz-cmp-overlay{position:fixed;inset:0;z-index:300;background:rgba(13,24,18,.45);display:grid;place-items:center;padding:20px}
.bz-cmp{background:var(--bg,#f4f6f5);border-radius:18px;width:min(1240px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.bz-cmp-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.bz-cmp-head h2{margin:2px 0 4px}.bz-cmp-head p{margin:0;color:var(--muted);font-size:13px}
.bz-cmp-head .explainClose{position:static}
.bz-cmp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.bz-cmp-card{background:var(--surface,#fff);border:2px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.bz-cmp-card.on{border-color:var(--accent,#2f7d57)}.bz-cmp-card .bz-body{flex:1}.bz-cmp-card .bz-subline{margin:0 0 8px}
.bz-cmp-top{display:flex;justify-content:space-between;align-items:center}.bz-cmp-top b{font-size:14px}
.customDashStrip{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px dashed var(--line-strong,#c9d5cd);border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:12.5px;color:var(--muted)}
.customDashStrip b{color:var(--text)}
.customDashTop .widgetEditBar{align-items:center}.customDashTop .dragHandle{margin-right:0;font-size:13px}
tr.suFocus td{background:var(--accent-soft,#e3f1e9)}.suFocusBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media (max-width:700px){.bz-cmp-grid{grid-template-columns:1fr}.customDashStrip{flex-direction:column;align-items:flex-start}}
.bz-menu .bz-menu-auto{flex-direction:column;align-items:flex-start;gap:2px;position:relative;padding-right:26px}.bz-menu .bz-menu-auto small{font-weight:500;line-height:1.35;max-width:250px}.bz-menu .bz-menu-auto.on:after{position:absolute;right:10px;top:9px}
.bz-legend button{grid-template-columns:10px minmax(0,1fr) auto auto}
.bz-cmp-card .bz-donut{grid-template-columns:130px minmax(0,1fr);gap:10px}.bz-cmp-card .bz-legend small{display:none}
/* ---- AI on this computer: settings, learning, feedback ---- */
.aiPrivacy{border-left:4px solid var(--green,#2f7d57);background:#f1f8f3;border-radius:0 10px 10px 0;padding:10px 12px;font-size:12.5px;line-height:1.55;margin:4px 0 14px}
.aiChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.aiChoice{display:flex;flex-direction:column;gap:4px;text-align:left;border:2px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer;color:var(--text)}
.aiChoice b{font-size:13.5px}.aiChoice span{font-size:12px;color:var(--muted);line-height:1.45}.aiChoice.on{border-color:var(--green,#2f7d57);background:#f4faf6}.aiChoice.on b:before{content:'● ';color:var(--green,#2f7d57)}
.aiLocal{margin-top:12px;display:flex;flex-direction:column;gap:6px}.aiLocal label{font-size:12px;font-weight:700;color:var(--muted)}.aiLocal .form{margin:0}
.aiHow{margin-top:6px;font-size:12.5px}.aiHow summary{cursor:pointer;font-weight:700;color:var(--green,#2f7d57)}.aiHow ol{margin:8px 0;padding-left:20px;line-height:1.7}.aiHow code{background:#eef3f0;padding:1px 6px;border-radius:5px}
.aiSources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 12px}.aiSources>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.aiSources b{font-size:14px}.aiSources span{font-size:11.5px;color:var(--muted);line-height:1.45}
.aiMemTable td{white-space:normal;vertical-align:top}.aiMemKind{font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:999px;background:#e3f1e9;color:#256b48}.aiMemKind.correction{background:#fff1dc;color:#9a5b00}
.aiFeedback{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px}.aiFeedback .btn{min-height:30px;padding:5px 10px;font-size:12px}.aiFbDone{font-size:12px;font-weight:700;color:var(--green,#2f7d57)}
.aiFix{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}.aiFix textarea{width:100%}.aiFix>div{display:flex;gap:8px}
.aiLearned{border:1px solid #f0d7a8;background:#fff8ea;border-radius:10px;padding:9px 11px;margin:6px 0;font-size:12.5px;display:flex;flex-direction:column;gap:3px}.aiLearned b{color:#9a5b00;font-size:11.5px}
@media (max-width:760px){.aiChoices,.aiSources{grid-template-columns:1fr}}
.aiMemOverlay{position:fixed;inset:0;z-index:320;background:rgba(13,24,18,.45);display:grid;place-items:center;padding:20px}
.aiMemDialog{background:#fff;border-radius:16px;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:8px}
.aiMemDialog h3{margin:0}.aiMemDialog label{font-size:12px;font-weight:700;color:var(--muted);margin-top:4px}.aiMemDialog textarea{width:100%;line-height:1.5}
.aiMemQ{background:#f4f7f5;border-radius:9px;padding:9px 11px;font-size:13px}
.aiMemNote{font-size:12px;color:#2f4a3b;background:#f1f8f3;border-radius:9px;padding:9px 11px;line-height:1.5}
.aiMemActions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
/* ---- Formula builder: simplified five-step layout ---- */
.fb-simple.fb-modal{width:min(960px,98vw)}
.fb-steps{display:flex;flex-direction:column;gap:12px}
.fb-step{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:10px;min-width:0}
.fb-step-head{display:flex;align-items:center;gap:9px}.fb-step-head h3{margin:0;font-size:15px}
.fb-step-num{width:24px;height:24px;border-radius:50%;background:var(--green,#2f7d57);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.fb-help{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;border:1.5px solid #9db3a6;color:#5d7467;font-size:10.5px;font-weight:800;cursor:help;flex:none;margin-left:4px;line-height:1;background:#fff}
.fb-help:hover,.fb-help:focus{background:var(--green,#2f7d57);border-color:var(--green,#2f7d57);color:#fff;outline:none}
.fb-field{display:flex;flex-direction:column;gap:5px;min-width:0}.fb-label{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:700;color:#4b5d53}
.fb-more{border-top:1px dashed var(--line);padding-top:8px}.fb-more>summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--green,#2f7d57);display:flex;align-items:center;gap:4px;list-style:none}
.fb-more>summary:before{content:'▸';font-size:10px;transition:transform .15s}.fb-more[open]>summary:before{transform:rotate(90deg)}.fb-more[open]>summary{margin-bottom:10px}
.fb-mini-label{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:700;color:#4b5d53;margin-right:4px}
.fb-simple .fb-templates{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fb-exprwrap{border:1px solid #cfe0d6;border-radius:12px;padding:10px 12px;background:#fbfdfc;display:flex;flex-direction:column;gap:6px}
.fb-exprlabel{font-size:12px;font-weight:800;color:#2f4a3b}.fb-exprwrap textarea{width:100%;font-size:14px;border-color:#d7e3dc}
.fb-simple .fb-tokens{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fb-fn{position:relative}.fb-fnmenu{position:absolute;left:0;top:calc(100% + 4px);z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(16,32,24,.16);padding:5px;min-width:300px;display:flex;flex-direction:column}
.fb-fnmenu button{display:grid;grid-template-columns:150px 1fr;gap:8px;align-items:center;text-align:left;border:0;background:none;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:12px;color:var(--text)}
.fb-fnmenu button:hover{background:#eef4f0}.fb-fnmenu code{font-size:11.5px;color:#7a4b00}.fb-fnmenu span{color:var(--muted)}
.fb-colsbox{display:flex;flex-direction:column;gap:7px}.fb-col.more{border-style:dashed;color:var(--green,#2f7d57)}
.fb-simple .fb-cond{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1.2fr) auto;gap:8px}
.fb-condtext{display:flex;gap:6px;align-items:center}.fb-condtext input{flex:1}
.fb-link{border:0;background:none;color:var(--green,#2f7d57);font-size:12px;cursor:pointer;padding:0;align-self:flex-start;text-decoration:underline}
.fb-reason{padding:0 2px}
@media(max-width:640px){.fb-simple .fb-cond{grid-template-columns:1fr 1fr}}
/* tooltips and toasts above every modal (formula builder overlay is z-index 9999) */
.ciqTip{z-index:10050}.toastHost{z-index:10040}
.fb-help{position:relative}
/* ---- Facilities: actions menu, archive, edit ---- */
.facilityCard{cursor:pointer;text-align:left}.facilityCard:focus-visible{outline:2px solid var(--green,#2f7d57);outline-offset:2px}
.facilityCard.archived{opacity:.75;background:#f7f8f7}
.facCardRight{display:flex;align-items:center;gap:6px}.statusBadge.off{background:#eceeed;color:#5f6b65}
.facMenuWrap{position:relative}.facMenuBtn{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:28px;cursor:pointer;font-size:16px;line-height:1;color:#46584e}
.facMenuBtn:hover{background:#f1f5f2}
.facMenu{position:absolute;right:0;top:calc(100% + 4px);z-index:25;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(16,32,24,.16);padding:5px;min-width:150px;display:flex;flex-direction:column}
.facMenu button{border:0;background:none;text-align:left;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:12.5px;color:var(--text)}.facMenu button:hover{background:#eef4f0}.facMenu button.danger{color:#b42318}.facMenu button.danger:hover{background:#fdeeee}
.facToolbar{display:flex;justify-content:flex-start;margin:4px 0 12px}
.facSeg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.facSeg button{border:0;background:none;padding:8px 14px;cursor:pointer;font-size:12.5px;color:#46584e}.facSeg button.on{background:var(--green,#2f7d57);color:#fff;font-weight:700}
.facEditOverlay{position:fixed;inset:0;z-index:330;background:rgba(13,24,18,.45);display:grid;place-items:center;padding:20px}
.facEdit{background:#fff;border-radius:16px;width:min(520px,100%);padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.facEdit h3{margin:0 0 4px}.facEdit label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#4b5d53}.facEdit p{margin:-4px 0 0}
.facEditGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.facEditActions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.studioIntro{margin:0 0 12px}
.ciTabs{margin:14px 0}
.aiCompactBar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}.aiCompactBar .aiModeChip{background:#e3f1e9;color:#1f5e40}
/* ---- Assistant: understood-as, mini chart, next questions ---- */
.aiUnderstood{font-size:11.5px;color:#5d7467;background:#f1f6f3;border-radius:8px;padding:5px 9px;margin:4px 0 6px;display:inline-block}.aiUnderstood span{font-weight:700;color:#2f7d57}
.aiMiniChart{margin:8px 0 4px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;max-width:640px}
.aiMiniChart .chart{height:190px}.aiMiniChart h3,.aiMiniChart .chartTitleRow h3{font-size:12.5px;margin:0 0 4px}.aiMiniChart .chartExport{display:none}
.aiNext{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px;align-items:center}
.aiSuggest{border:1px solid #cfe0d6;background:#f6faf7;color:#245a40;border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer;text-align:start}
.aiSuggest:hover{background:#e6f2eb;border-color:#9cc3ad}.aiSuggest:disabled{opacity:.5;cursor:default}
.aiNavBtn{min-height:30px;padding:5px 12px;font-size:12px}

/* ============================================================ Theme v3 — one consistent palette across CarbonIQ
   Brand: deep green UI. Charts: validated categorical order (colour-blind safe on adjacent pairs):
   1 green #1f8a5a · 2 blue #3570c4 · 3 amber #d6a21c · 4 violet #8659c4 · 5 coral #cf6a4c · 6 teal #159e99 · 7 bronze #b8862a · 8 rose #c4558d
   Scopes always use slots 1–3 (Scope 1 green, Scope 2 blue, Scope 3 amber). Status colours stay reserved. */
:root{--green:#2f7d57;--green-700:#1e5e42;--green-900:#123d2a;--green2:#e8f3ec;--green-50:#f3f8f5;--accent:#2f7d57;
  --s1:#1f8a5a;--s2:#3570c4;--s3:#d6a21c;--s4:#8659c4;--s5:#cf6a4c;--s6:#159e99;--s7:#b8862a;--s8:#c4558d;
  --track:#e9efeb;--warning:#b8862a;--danger:#b54545}
/* chart series (lines, areas, points, slices, legends, stacks, treemap) */
.series0{--sc:var(--s1)}.series1{--sc:var(--s2)}.series2{--sc:var(--s3)}.series3{--sc:var(--s4)}.series4{--sc:var(--s5)}.series5{--sc:var(--s6)}
.smartSvg path.chartLine[class*="series"]{stroke:var(--sc)!important}.smartSvg .chartArea[class*="series"]{fill:var(--sc)!important;fill-opacity:.12!important}
.smartSvg .chartPoint[class*="series"],.smartSvg .scatterPoint[class*="series"]{fill:var(--sc)!important}
.pieSlice[class*="series"],.smartSvg .legendSwatch[class*="series"]{fill:var(--sc)!important}
.legendDot[class*="series"],.stackPart[class*="series"],.treeCell[class*="series"]{background:var(--sc)!important}
.chartLine{stroke:var(--s1)}.chartArea{fill:rgba(31,138,90,.12)}
/* horizontal / simple bars: one solid colour on a neutral track — no gradients, no blue track */
.fallbackTrack{background:var(--track)!important}.fallbackTrack i{background:var(--s1)!important}
.bar:not(.chart){background:var(--track)!important}.bar:not(.chart)>span{background:var(--s1)!important}
.simpleBar{background:var(--s1)!important}.pathCurrent{background:var(--green)!important}
.stackTrack{background:var(--track)!important}
/* buttons: brand green, no rainbow gradients */
.aiButton,.scenarioChartBtn,.scenarioReportBtn{background:var(--green)!important;color:#fff!important;box-shadow:none!important}
.aiButton:hover,.scenarioChartBtn:hover,.scenarioReportBtn:hover{background:var(--green-700)!important}
.btn.primary,.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover,.primary:hover{background:var(--green-700);border-color:var(--green-700)}
/* hero panels: the same deep-green family everywhere (no navy) */
.calculationHero,.explainHeroNumber{background:linear-gradient(120deg,#102b24,#174c3b 58%,#1d6650)!important;color:#fff}
/* tabs: active state in brand green */
.settingsTabs .btn.primary,.calculationTabs .btn.primary{background:transparent!important;color:var(--green)!important;border-color:transparent!important;box-shadow:inset 0 -3px 0 var(--green)!important}
/* soft backgrounds that were blue-tinted */
.decisionStrip,.aiChatTop{border-color:var(--line)}
.fallbackChart{background:#f7faf8!important;border-radius:12px}
