
:root{
  --bg:#0a111b; --sidebar:#0d1724; --panel:#101c2a; --panel-2:#142234;
  --border:#223247; --border-soft:#1a293b; --text:#eef4fa; --muted:#8fa4bb;
  --dim:#60758c; --gold:#e4ad45; --gold-soft:#6f5522; --green:#48bd86;
  --red:#ef6b63; --blue:#62a9ff; --shadow:0 10px 28px rgba(0,0,0,.16);
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;
}
*{box-sizing:border-box}
html,body,#root{min-height:100%;margin:0}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.app-shell{min-height:100vh;display:flex}
.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:linear-gradient(180deg,#0e1826 0%,#0b1420 100%);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10}
.brand{padding:24px 22px 22px;border-bottom:1px solid var(--border)}
.brand-kicker{font:600 11px var(--mono);letter-spacing:.12em;color:var(--gold)}
.brand-title{margin:7px 0 2px;font-size:17px;font-weight:700;letter-spacing:-.01em}
.brand-sub{font-size:12px;color:var(--dim)}
.nav{padding:14px 10px;display:flex;flex-direction:column;gap:3px}
.nav a{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--muted);padding:10px 12px;border:1px solid transparent;border-radius:7px;font-size:13px;transition:.15s ease}
.nav a:hover{background:#122033;color:var(--text)}
.nav a.active{background:#162639;color:var(--text);border-color:#21364d;box-shadow:inset 2px 0 0 var(--gold)}
.nav-icon{width:17px;text-align:center;color:var(--dim);font-size:13px}
.nav a.active .nav-icon{color:var(--gold)}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding:17px 20px 20px}
.source-label{font:600 10px var(--mono);letter-spacing:.1em;color:var(--dim)}
.source-path{font:11px var(--mono);color:#7890aa;margin-top:4px}
.source-time{font:11px var(--mono);color:var(--dim);line-height:1.55;margin-top:8px}
.main{margin-left:252px;width:calc(100% - 252px);min-width:0;padding:0 34px 56px}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-soft);margin-bottom:26px}
.topbar-left{display:flex;align-items:center;gap:10px}
.eyebrow{font:11px var(--mono);color:var(--dim);letter-spacing:.04em}
.live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #244337;background:#10251d;color:#72c99d;border-radius:999px;font:600 10px var(--mono)}
.live-dot{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 0 3px rgba(72,189,134,.08)}
.top-actions{display:flex;align-items:center;gap:9px}
.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}
.page-title h2{margin:0;font-size:23px;line-height:1.15;letter-spacing:-.02em}
.page-title p{margin:7px 0 0;color:var(--muted);font-size:12.5px}
.page-meta{text-align:right;color:var(--dim);font:11px var(--mono);line-height:1.65}
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.card{background:linear-gradient(180deg,var(--panel) 0%,#0f1a27 100%);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}
.kpi{padding:18px 19px;position:relative;overflow:hidden}
.kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}
.kpi-label{color:var(--muted);font-size:11.5px}
.kpi-value{font:500 27px var(--mono);margin-top:8px;letter-spacing:-.03em}
.kpi-sub{font-size:11px;color:var(--dim);margin-top:5px}
.kpi-icon{position:absolute;right:15px;top:14px;font-size:16px;color:var(--dim)}
.two-col{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);align-items:start}
.panel-head{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border)}
.panel-title{font-size:13px;font-weight:600}
.panel-sub{font:10px var(--mono);color:var(--dim)}
.panel-body{padding:15px 16px}
.table-wrap{overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;font-size:12.5px}
.data-table th{text-align:left;color:#7188a0;font:500 10.5px var(--mono);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.data-table td{padding:12px;border-bottom:1px solid var(--border-soft);vertical-align:middle;white-space:nowrap}
.data-table tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#132131}
.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.account-cell{display:flex;flex-direction:column;gap:3px}
.account-name{font-weight:600;color:var(--text)}
.account-id{font:10.5px var(--mono);color:var(--dim)}
.family-chip{display:inline-flex;padding:4px 7px;border:1px solid var(--border);border-radius:5px;background:#111e2d;color:#b9c9d8;font-size:11px}
.severity{display:inline-flex;align-items:center;gap:6px;font:600 10.5px var(--mono)}
.status-dot{width:7px;height:7px;border-radius:50%}
.status-dot.HIGH{background:var(--red)}
.status-dot.MEDIUM{background:var(--gold)}
.status-dot.LOW{background:var(--green)}
.note{padding:11px 13px;border:1px solid #2c3b4d;background:#101c2a;border-radius:6px;color:var(--muted);font-size:11.5px;line-height:1.5}
.note strong{color:var(--text)}
.summary-list{display:flex;flex-direction:column;gap:12px}
.summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.summary-row .label{color:var(--muted);font-size:12px}
.summary-row .value{font:500 12px var(--mono);color:var(--text)}
.progress{height:7px;background:#172536;border-radius:99px;overflow:hidden;margin-top:7px}
.progress > span{display:block;height:100%;background:var(--gold);border-radius:99px}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini-stat{padding:12px;background:#111e2d;border:1px solid var(--border-soft);border-radius:6px}
.mini-stat .v{font:500 18px var(--mono)}
.mini-stat .l{font-size:10.5px;color:var(--dim);margin-top:4px}
.panel{margin-bottom:16px}
.full{width:100%}
.hero{padding:18px;margin-bottom:18px;background:linear-gradient(110deg,#122133 0%,#101c2a 55%,#111b29 100%);border:1px solid var(--border);border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero h3{margin:0;font-size:14px}
.hero p{margin:5px 0 0;color:var(--muted);font-size:12px}
.hero-right{display:flex;gap:10px;align-items:center}
.metric-box{padding:9px 12px;border:1px solid var(--border);background:#0d1825;border-radius:6px;text-align:right}
.metric-box .v{font:500 14px var(--mono)}
.metric-box .l{font-size:9.5px;color:var(--dim);margin-top:2px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}
.filters select,.filters input{background:#101d2c;border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:6px;font-size:11.5px}
.filters input{min-width:220px}
.filters select:focus,.filters input:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.candidate{padding:17px;background:linear-gradient(180deg,#122131,#101b28);border:1px solid var(--border);border-radius:8px;position:relative}
.candidate.critical{border-left:3px solid var(--red)}
.candidate.low{border-left:3px solid var(--green)}
.candidate h4{margin:0;font-size:15px}
.candidate-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.badge{font:600 9.5px var(--mono);padding:4px 6px;border-radius:4px;border:1px solid var(--border)}
.detail-list{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0}
.detail-list dt{color:var(--dim);font-size:11.5px}
.detail-list dd{margin:0;color:var(--text);font:11.5px var(--mono);text-align:right}
.impact{margin-top:14px;padding-top:13px;border-top:1px solid var(--border-soft);display:flex;justify-content:space-between;align-items:center}
.impact .label{color:var(--dim);font-size:10.5px}
.impact .value{font:500 15px var(--mono);color:#f0c66b}
.rec-list{display:flex;flex-direction:column}
.rec{display:grid;grid-template-columns:88px minmax(0,1fr) 130px 118px;gap:15px;align-items:center;padding:15px 16px;border-bottom:1px solid var(--border-soft)}
.rec:last-child{border-bottom:0}
.rec-title{font-size:12.5px;font-weight:600}
.rec-meta{font-size:10.5px;color:var(--dim);margin-top:4px}
.rec-impact{text-align:right;font:500 13px var(--mono)}
.approval{font-size:10.5px;color:var(--muted);line-height:1.4}
.approval strong{color:#b8c7d5;font-weight:500}
.bar-row{display:grid;grid-template-columns:92px minmax(100px,1fr) 76px;align-items:center;gap:10px;padding:8px 0}
.bar-label{font-size:11px;color:var(--muted)}
.bar-track{height:9px;background:#172536;border-radius:99px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,#9c752e,var(--gold));border-radius:99px}
.bar-value{text-align:right;font:500 11px var(--mono)}
.empty{text-align:center;padding:38px 15px;color:var(--dim);font-size:12px}
.loading{padding:60px;text-align:center;color:var(--muted)}
.error{padding:18px;border:1px solid #57312f;background:#25181a;color:#efaaa5;border-radius:7px}
.footer-line{margin-top:14px;color:var(--dim);font:10px var(--mono)}
.muted-cell{color:var(--dim)}
@media(max-width:1100px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr}
  .main{padding-left:24px;padding-right:24px}
}
@media(max-width:800px){
  .sidebar{position:relative;width:100%;height:auto;inset:auto}
  .app-shell{display:block}
  .main{margin-left:0;width:100%;padding:0 16px 40px}
  .brand{padding:16px 18px}
  .nav{flex-direction:row;overflow-x:auto;padding:9px}
  .nav a{white-space:nowrap}
  .sidebar-bottom{display:none}
  .topbar{height:60px}
  .page-title{align-items:flex-start;flex-direction:column}
  .page-meta{text-align:left}
  .hero{align-items:flex-start;flex-direction:column}
  .hero-right{width:100%;flex-wrap:wrap}
  .rec{grid-template-columns:1fr;gap:7px}
  .rec-impact{text-align:left}
}
@media(max-width:560px){
  .kpis{grid-template-columns:1fr}
  .mini-grid{grid-template-columns:1fr}
}

/* v5 analytics layer */
:root{
  --chart-1:#e2ae43;--chart-2:#4dbb89;--chart-3:#5b9bd5;--chart-4:#a47bd4;--chart-5:#d97865;--chart-6:#75b7b2;
}
.filterbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:20px;background:#0e1a28;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 25px rgba(0,0,0,.08)}
.filter-heading{display:flex;align-items:center;gap:7px;height:36px;padding:0 7px 0 2px;color:var(--text);font-size:12px}
.filter-icon{font-size:16px;color:var(--gold)}
.filter-count{font:10px var(--mono);color:var(--gold);border:1px solid #4d3e21;background:#211b10;padding:3px 6px;border-radius:99px;margin-left:3px}
.filter-field{display:flex;flex-direction:column;gap:5px;min-width:145px}
.filter-field span{font:10px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.filter-field select,.filter-field input{height:36px;background:#101d2c;border:1px solid #26384d;color:var(--text);padding:0 10px;border-radius:6px;font-size:11.5px;min-width:145px}
.search-field{flex:1;min-width:190px}.search-field input{width:100%}
.clear-filters{height:36px;padding:0 12px;border-radius:6px;background:#132235;border:1px solid var(--border);color:var(--muted);font-size:11px}.clear-filters:hover:not(:disabled){color:var(--text);border-color:#3b536d}.clear-filters:disabled{opacity:.4;cursor:default}
.charts-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);margin-bottom:16px}.account-visual-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);margin-bottom:16px}
.chart-card{background:linear-gradient(180deg,#111f2e 0%,#0f1a27 100%);border:1px solid var(--border);border-radius:8px;padding:16px;min-height:100%;box-shadow:var(--shadow)}
.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.chart-head h4{margin:0;font-size:13px}.chart-head p{margin:5px 0 0;font-size:10.5px;color:var(--dim)}.chart-big{font:500 22px var(--mono);color:var(--text)}
.hbars{display:flex;flex-direction:column;gap:12px}.hbar-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(100px,2fr) 100px;gap:10px;align-items:center}.hbar-label{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{height:10px;background:#172536;border-radius:99px;overflow:hidden}.hbar-track span{display:block;height:100%;min-width:0;background:linear-gradient(90deg,#a97d2f,#e0af45);border-radius:99px}.hbar-value{text-align:right;font:500 11px var(--mono);font-variant-numeric:tabular-nums}.chart-empty{padding:42px 10px;text-align:center;color:var(--dim);font-size:11px}
.donut-layout{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:20px}.donut{width:160px;height:160px;border-radius:50%;display:grid;place-items:center}.donut-hole{width:100px;height:100px;border-radius:50%;background:#101b28;border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-hole strong{font:500 15px var(--mono)}.donut-hole span{font-size:9px;color:var(--dim);margin-top:3px}.legend{display:flex;flex-direction:column;gap:10px}.legend-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--muted)}.legend-row strong{font:500 10.5px var(--mono);color:var(--text)}.legend-row>span{display:flex;align-items:center;gap:7px;min-width:0}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.c1{background:var(--chart-1)}.legend-dot.c2{background:var(--chart-2)}.legend-dot.c3{background:var(--chart-3)}.legend-dot.c4{background:var(--chart-4)}.legend-dot.c5{background:var(--chart-5)}.legend-dot.c6{background:var(--chart-6)}
.health-row{padding:11px 0;border-bottom:1px solid var(--border-soft)}.health-row:last-child{border-bottom:0}.health-row>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.health-row strong{font:600 11.5px var(--mono)}.health-row span{font-size:10.5px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-meter{display:grid;grid-template-columns:1fr 55px;gap:9px;align-items:center}.health-meter>div{height:8px;background:#172536;border-radius:99px;overflow:hidden}.health-meter>div span{display:block;height:100%;background:linear-gradient(90deg,#d97865,#e2ae43,#4dbb89);border-radius:99px}.health-meter b{font:500 10.5px var(--mono);text-align:right}
.gauge{padding:24px 6px 8px}.gauge-track{height:18px;border-radius:99px;background:linear-gradient(90deg,#172536 0%,#172536 89.5%,#3a2927 89.5%,#3a2927 90%,#172536 90%);overflow:hidden}.gauge-track span{display:block;height:100%;background:linear-gradient(90deg,#d97865,#e2ae43,#4dbb89);border-radius:99px}.gauge-scale{display:flex;justify-content:space-between;color:var(--dim);font:9px var(--mono);margin-top:8px}.line-chart{width:100%;overflow:hidden}.line-chart svg{width:100%;height:auto;display:block}.chart-gridline{stroke:#223447;stroke-width:1}.chart-axis{fill:#7188a0;font:11px var(--mono)}.trend-line{fill:none;stroke:#e2ae43;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.trend-area{fill:none;stroke:transparent}.trend-point{fill:#0f1a27;stroke:#e2ae43;stroke-width:2}
.rec-kpis{margin-bottom:16px}.rec-kpis .kpi{min-height:108px}.mini-grid .kpi{box-shadow:none;margin:0;padding:14px}.mini-grid .kpi-value{font-size:21px}.mini-grid .kpi-sub{font-size:10px}
@media(max-width:1100px){.charts-grid,.account-visual-grid{grid-template-columns:1fr}.donut-layout{grid-template-columns:150px 1fr}.donut{width:145px;height:145px}.donut-hole{width:90px;height:90px}}
@media(max-width:800px){.filterbar{align-items:stretch}.filter-heading{height:32px}.filter-field{min-width:calc(50% - 5px)}.filter-field select,.filter-field input{min-width:0}.search-field{min-width:100%}.clear-filters{width:100%}.hbar-row{grid-template-columns:105px 1fr 75px}.donut-layout{grid-template-columns:1fr;justify-items:center}.legend{width:100%}}
@media(max-width:560px){.filter-field{min-width:100%}.hbar-row{grid-template-columns:1fr 72px}.hbar-track{grid-column:1/-1;grid-row:2}.hbar-value{grid-column:2;grid-row:1}.chart-big{font-size:18px}}

/* v6 executive + recommendation workflow */
:root{
  --purple:#a47bd4;--red:#d97865;--cyan:#75b7b2;
}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(226,174,67,.14),transparent 32%),linear-gradient(135deg,#142438,#101a27 62%);border:1px solid #2a4057;box-shadow:0 14px 35px rgba(0,0,0,.18)}
.hero:after{content:"";position:absolute;right:-70px;bottom:-95px;width:250px;height:250px;border:1px solid rgba(226,174,67,.14);border-radius:50%;box-shadow:0 0 0 28px rgba(226,174,67,.025),0 0 0 58px rgba(226,174,67,.018)}
.kpi{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.kpi:hover{transform:translateY(-2px);border-color:#38516b;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.kpi-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #2a4057;border-radius:7px;background:#0e1a28;color:var(--accent);font:600 14px var(--mono);margin-bottom:11px}
.optimization-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.optimization-card{position:relative;padding:16px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,#122131,#0f1a27);min-height:132px;overflow:hidden}
.optimization-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--opt-accent,var(--gold))}
.optimization-card .opt-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.optimization-card h4{margin:0;font-size:12.5px}.optimization-card p{margin:7px 0 0;color:var(--dim);font-size:10.5px;line-height:1.5}.opt-status{font:600 9px var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid #294058;border-radius:99px;padding:4px 7px;color:#8fb3d2}.opt-status.live{color:#6bc49b;border-color:#28543f;background:#10271f}.opt-status.ready{color:#e2ae43;border-color:#57451f;background:#251e11}.opt-status.future{color:#879bb0;border-color:#2b3a4b;background:#121c27}.opt-value{font:500 18px var(--mono);margin-top:7px;color:var(--text)}
.status-pills{display:flex;gap:8px;flex-wrap:wrap;padding-top:13px}.status-pill{display:flex;align-items:center;gap:9px;background:#101d2c;border:1px solid #26384d;border-radius:7px;padding:7px 9px;color:var(--muted);cursor:pointer}.status-pill:hover,.status-pill.selected{border-color:#536a80;background:#162638;color:var(--text)}.status-pill>b{font:500 10px var(--mono);color:var(--text)}
.workflow-summary{margin-bottom:16px;padding:16px}.workflow-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.workflow-title strong{display:block;font-size:13px}.workflow-title span{display:block;margin-top:4px;color:var(--dim);font-size:10.5px}.workflow-note{font:10px var(--mono)!important;color:var(--gold)!important;white-space:nowrap}
.status-badge{display:inline-flex;align-items:center;gap:6px;font:600 9.5px var(--mono);padding:4px 7px;border-radius:99px;border:1px solid #30455b;white-space:nowrap}.status-badge i{width:6px;height:6px;border-radius:50%;display:block;background:#8ba0b5}.status-badge.new{color:#8fb3d2}.status-badge.pending{color:#e2ae43;border-color:#594721;background:#211b10}.status-badge.pending i{background:#e2ae43}.status-badge.progress{color:#a9c8ee;border-color:#324d70;background:#122238}.status-badge.progress i{background:#5b9bd5}.status-badge.blocked,.status-badge.rejected{color:#e59a8b;border-color:#5a302c;background:#241719}.status-badge.blocked i,.status-badge.rejected i{background:#d97865}.status-badge.approved,.status-badge.closed{color:#6bc49b;border-color:#28543f;background:#10271f}.status-badge.approved i,.status-badge.closed i{background:#4dbb89}.status-badge.snoozed{color:#b9a9db;border-color:#463b59;background:#1d1826}.status-badge.snoozed i{background:#a47bd4}
.workflow-row{grid-template-columns:86px minmax(0,1fr) 155px;gap:18px;padding:18px 18px 16px;align-items:center}.rec-severity{align-self:start;padding-top:2px}.rec-main{min-width:0}.rec-main .rec-title{font-size:13px;line-height:1.35}.rec-meta{line-height:1.5;margin-top:6px;white-space:normal}.rec-meta strong{color:#dce7f1;font-weight:600}.rec-impact{text-align:right;font:600 15px var(--mono);font-variant-numeric:tabular-nums}.rec-impact small{display:block;color:var(--dim);font:9px var(--mono);margin-top:4px;font-weight:400}.rec-controls{grid-column:1/-1;display:grid;grid-template-columns:170px minmax(160px,1fr) 170px auto;gap:10px;align-items:end;padding:13px 0 0;margin-top:1px;border-top:1px solid var(--border-soft)}.rec-controls label{display:flex;flex-direction:column;gap:5px;min-width:0}.rec-controls label>span{font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--dim)}.rec-controls select,.rec-controls input{height:36px;width:100%;background:#0d1825;border:1px solid #2a3d52;color:var(--text);border-radius:6px;padding:0 9px;font-size:11px}.rec-controls select:focus,.rec-controls input:focus{outline:1px solid var(--gold);border-color:var(--gold)}.rec-controls input::placeholder{color:#63788d}.rec-approval{align-self:end;height:36px;display:flex;align-items:center;padding:0 10px;border:1px solid #2a3d52;border-radius:6px;color:#8298ae;font:10px var(--mono);white-space:nowrap}.rec:hover{background:#111f2e}.rec + .rec{border-top:1px solid var(--border-soft)}
.optimization-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.optimization-strip .mini-op{padding:12px 14px;border:1px solid var(--border);background:#101c2a;border-radius:7px}.mini-op-label{font:9px var(--mono);color:var(--dim);text-transform:uppercase}.mini-op-value{font:500 16px var(--mono);margin-top:6px}.mini-op-sub{font-size:10px;color:var(--muted);margin-top:4px}
@media(max-width:1100px){.optimization-grid{grid-template-columns:repeat(2,1fr)}.workflow-row{grid-template-columns:78px minmax(0,1fr) 135px}.rec-controls{grid-template-columns:150px minmax(140px,1fr) 150px}.rec-approval{display:none}}
@media(max-width:800px){.optimization-grid{grid-template-columns:1fr}.workflow-title{align-items:flex-start;flex-direction:column}.workflow-row{grid-template-columns:1fr;gap:9px}.rec-impact{text-align:left}.rec-controls{grid-column:1;grid-template-columns:1fr}.optimization-strip{grid-template-columns:1fr}}

/* Final recommendation layout — v8 */
.recommendation-panel{overflow:hidden}
.recommendation-panel .panel-head{padding:14px 18px;min-height:58px}
.recommendation-panel .panel-head>div{display:flex;flex-direction:column;gap:3px}
.panel-caption{font-size:10px;color:var(--dim)}
.rec-list{display:flex;flex-direction:column;width:100%}
.rec-card{display:block;width:100%;padding:18px 18px 16px;background:linear-gradient(180deg,rgba(18,33,49,.72),rgba(15,26,39,.72));border-bottom:1px solid var(--border-soft);transition:background .15s ease,box-shadow .15s ease}
.rec-card:last-child{border-bottom:0}
.rec-card:hover{background:#132235;box-shadow:inset 3px 0 0 var(--gold)}
.rec-card-main{display:grid;grid-template-columns:92px minmax(0,1fr) max-content;gap:18px;align-items:start;width:100%}
.rec-priority{padding-top:2px;min-width:0}
.rec-copy{min-width:0}
.rec-copy .rec-title{font-size:14px;font-weight:600;line-height:1.4;color:var(--text);overflow-wrap:anywhere}
.rec-meta{display:flex;flex-wrap:wrap;gap:5px 0;margin-top:7px;color:var(--dim);font-size:10.5px;line-height:1.4}
.rec-meta span,.rec-meta strong{display:inline-flex;align-items:center;white-space:nowrap}
.rec-meta span:before{content:"•";margin:0 7px;color:#3c5065}
.rec-meta strong{color:#b9c9d8;font-weight:600}
.rec-impact{text-align:right;min-width:135px;padding-top:1px}
.rec-impact strong{display:block;font:600 16px var(--mono);font-variant-numeric:tabular-nums;color:#f1c66b;white-space:nowrap}
.rec-impact span{display:block;margin-top:4px;color:var(--dim);font:9px var(--mono);white-space:nowrap}
.rec-workflow{display:grid;grid-template-columns:180px minmax(180px,1fr) 180px minmax(245px,auto);gap:12px;align-items:end;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-soft);width:100%}
.workflow-field{min-width:0;display:flex;flex-direction:column;gap:5px}
.workflow-field>span{font:600 9px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:#6f849a}
.workflow-field select,.workflow-field input{width:100%;height:38px;background:#0c1724;border:1px solid #2a3d52;color:var(--text);border-radius:6px;padding:0 10px;font-size:11px;min-width:0}
.workflow-field select{cursor:pointer}
.workflow-field select:hover,.workflow-field input:hover{border-color:#3a536d}
.workflow-field select:focus,.workflow-field input:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.workflow-field input::placeholder{color:#60758c}
.approval-box{height:38px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #2a3d52;background:#0d1825;border-radius:6px;min-width:0;color:#8298ae}
.approval-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;border:1px solid #36516a;color:#77a0bf;font:600 10px var(--mono);flex:0 0 auto}
.approval-box div{min-width:0;display:flex;flex-direction:column;gap:2px}
.approval-box strong{font-size:10.5px;font-weight:600;color:#b7c7d5;white-space:nowrap}
.approval-box small{font:9px var(--mono);color:var(--dim);white-space:nowrap}
.status-badge{vertical-align:middle}
@media(max-width:1050px){.rec-workflow{grid-template-columns:160px minmax(150px,1fr) 160px}.approval-box{grid-column:1/-1}.rec-card-main{grid-template-columns:84px minmax(0,1fr) max-content}.rec-impact{min-width:120px}}
@media(max-width:700px){.rec-card{padding:15px}.rec-card-main{grid-template-columns:1fr;gap:9px}.rec-priority{order:0}.rec-impact{text-align:left;min-width:0}.rec-impact strong{font-size:15px}.rec-workflow{grid-template-columns:1fr;gap:10px;margin-top:13px}.approval-box{grid-column:auto}.approval-box strong,.approval-box small{white-space:normal}.rec-meta{gap:3px 0}}

/* Theme toggle + light mode */
.theme-toggle{height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border-radius:6px;background:#132235;border:1px solid var(--border);color:var(--muted);font:500 11px var(--mono);transition:.15s ease}
.theme-toggle:hover{border-color:#35506c;background:#17283d;color:var(--text)}
.theme-icon{font-size:14px;line-height:1}

body.light-theme{
  --bg:#f4f7fb; --sidebar:#ffffff; --panel:#ffffff; --panel-2:#f7f9fc;
  --border:#d8e0ea; --border-soft:#e8edf3; --text:#172334; --muted:#53657a;
  --dim:#718096; --gold:#a56d08; --gold-soft:#ead9ae; --green:#18865b;
  --red:#c7473f; --blue:#2674c9; --shadow:0 8px 24px rgba(30,50,75,.08);
}
body.light-theme .sidebar{background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%)}
body.light-theme .nav a:hover{background:#edf3f9}
body.light-theme .nav a.active{background:#eef3f8;border-color:#d5e0eb}
body.light-theme .source-path{color:#61758c}
body.light-theme .live-badge{border-color:#bfe2d2;background:#eefaf4;color:#197a55}
body.light-theme .refresh-btn,
body.light-theme .theme-toggle{background:#fff;border-color:var(--border);color:var(--text)}
body.light-theme .refresh-btn:hover,
body.light-theme .theme-toggle:hover{background:#f2f6fa;border-color:#b9c7d6}
body.light-theme .card{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}
body.light-theme .panel,
body.light-theme .chart-card{background:#fff}
body.light-theme .hero{background:linear-gradient(110deg,#f3f7fb 0%,#fff 55%,#f7f9fc 100%)}
body.light-theme .filterbar{background:#fff;box-shadow:0 6px 20px rgba(30,50,75,.06)}
body.light-theme .filter-field select,
body.light-theme .filter-field input{background:#fff;border-color:#ccd6e2;color:var(--text)}
body.light-theme .clear-filters{background:#f7f9fc;border-color:#d2dce7;color:var(--muted)}
body.light-theme .data-table th{color:#65778c}
body.light-theme .data-table tbody tr:hover{background:#f5f8fb}
body.light-theme .family-chip{background:#f5f8fb;color:#45596e}
body.light-theme .note{border-color:#d7e0e9;background:#f8fafc}
body.light-theme .mini-stat{background:#f5f8fb}
body.light-theme .candidate{background:linear-gradient(180deg,#f8fafc,#fff)}
body.light-theme .bar-track,
body.light-theme .hbar-track,
body.light-theme .health-meter>div,
body.light-theme .progress{background:#e8edf3}
body.light-theme .bar-fill{background:linear-gradient(90deg,#a56d08,#d79b28)}
body.light-theme .hbar-track span{background:linear-gradient(90deg,#a56d08,#d79b28)}
body.light-theme .gauge-track{background:linear-gradient(90deg,#e8edf3 0%,#e8edf3 89.5%,#eadfdd 89.5%,#eadfdd 90%,#e8edf3 90%)}
body.light-theme .donut-hole{background:#fff}
body.light-theme .chart-gridline{stroke:#dce4ec}
body.light-theme .chart-axis{fill:#687a8e}
body.light-theme .trend-point{fill:#fff}
body.light-theme .status-pills .status-pill{background:#f7f9fc}
body.light-theme .workflow-summary,
body.light-theme .recommendation-panel{background:#fff}
body.light-theme .approval strong{color:#3d5268}
body.light-theme .error{border-color:#e7b9b5;background:#fff4f3;color:#a63d36}
body.light-theme code{background:#eef2f6;color:#465a70}

@media(max-width:800px){
  .top-actions{flex-wrap:wrap;justify-content:flex-end}
  .theme-toggle,}


/* Light mode hard-coded dark component fixes — v11.1 */
body.light-theme .optimization-card{
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
  border-color:#d8e0ea;
  box-shadow:0 5px 16px rgba(30,50,75,.06);
}
body.light-theme .optimization-card h4{color:var(--text)}
body.light-theme .optimization-card p{color:var(--muted)}
body.light-theme .opt-status{
  border-color:#c9d5e1;
  color:#52677c;
  background:#f4f7fa;
}
body.light-theme .opt-status.live{
  color:#197a55;
  border-color:#bfe2d2;
  background:#eefaf4;
}
body.light-theme .opt-status.ready{
  color:#94630a;
  border-color:#e2c987;
  background:#fff8e7;
}
body.light-theme .opt-status.future{
  color:#536a80;
  border-color:#cbd7e3;
  background:#f3f6f9;
}
body.light-theme .opt-value{color:var(--text)}

body.light-theme .optimization-strip .mini-op{
  background:#fff;
  border-color:#d8e0ea;
  box-shadow:0 4px 12px rgba(30,50,75,.05);
}
body.light-theme .mini-op-label{color:#718096}
body.light-theme .mini-op-value{color:var(--text)}
body.light-theme .mini-op-sub{color:var(--muted)}

body.light-theme .rec-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border-bottom-color:#dfe6ee;
}
body.light-theme .rec-card:hover{
  background:#f4f8fc;
  box-shadow:inset 3px 0 0 var(--gold);
}
body.light-theme .rec-copy .rec-title{color:var(--text)}
body.light-theme .rec-meta{color:var(--dim)}
body.light-theme .rec-meta strong{color:#334b63}
body.light-theme .rec-meta span:before{color:#9aabba}
body.light-theme .rec-impact strong{color:#a56d08}
body.light-theme .rec-impact span{color:var(--dim)}

body.light-theme .rec-workflow{
  border-top-color:#dfe6ee;
}
body.light-theme .workflow-field>span{color:#6b7f94}
body.light-theme .workflow-field select,
body.light-theme .workflow-field input{
  background:#fff;
  border-color:#ccd6e2;
  color:var(--text);
}
body.light-theme .workflow-field select:hover,
body.light-theme .workflow-field input:hover{
  border-color:#aebfd0;
}
body.light-theme .workflow-field input::placeholder{color:#8292a3}

body.light-theme .approval-box{
  background:#f7f9fc;
  border-color:#ccd6e2;
  color:#53677b;
}
body.light-theme .approval-icon{
  border-color:#aac1d5;
  color:#3c6f97;
  background:#eef5fa;
}
body.light-theme .approval-box strong{color:#334b63}
body.light-theme .approval-box small{color:#718096}

body.light-theme .status-pills .status-pill{
  background:#f7f9fc;
  border-color:#d2dce7;
  color:#53657a;
}
body.light-theme .status-pills .status-pill:hover,
body.light-theme .status-pills .status-pill.selected{
  background:#eef3f8;
  border-color:#b8c7d6;
  color:var(--text);
}
body.light-theme .status-pills .status-pill>b{color:var(--text)}

body.light-theme .status-badge{
  border-color:#cbd7e3;
  background:#f4f7fa;
  color:#536a80;
}
body.light-theme .status-badge.new{
  color:#526d86;
  border-color:#cbd8e5;
  background:#f4f7fa;
}
body.light-theme .status-badge.pending{
  color:#94630a;
  border-color:#e2c987;
  background:#fff8e7;
}
body.light-theme .status-badge.progress{
  color:#2869aa;
  border-color:#bfd3e8;
  background:#edf5fd;
}
body.light-theme .status-badge.blocked,
body.light-theme .status-badge.rejected{
  color:#a63d36;
  border-color:#e7b9b5;
  background:#fff4f3;
}
body.light-theme .status-badge.approved,
body.light-theme .status-badge.closed{
  color:#197a55;
  border-color:#bfe2d2;
  background:#eefaf4;
}
body.light-theme .status-badge.snoozed{
  color:#66558c;
  border-color:#d2c7e5;
  background:#f5f1fb;
}

body.light-theme .rec + .rec{border-top-color:#dfe6ee}

/* Other components with legacy hard-coded dark surfaces */
body.light-theme .metric-box,
body.light-theme .mini-stat,
body.light-theme .family-chip,
body.light-theme .candidate{
  color:var(--text);
}
body.light-theme .metric-box{
  background:#f7f9fc;
  border-color:#d8e0ea;
}
body.light-theme .filters select,
body.light-theme .filters input{
  background:#fff;
  border-color:#ccd6e2;
  color:var(--text);
}
body.light-theme .filters select:focus,
body.light-theme .filters input:focus{outline:1px solid var(--gold);border-color:var(--gold)}

body.light-theme .rec-controls select,
body.light-theme .rec-controls input,
body.light-theme .rec-approval{
  background:#fff;
  border-color:#ccd6e2;
  color:var(--text);
}
body.light-theme .rec-controls input::placeholder{color:#8292a3}
body.light-theme .rec-approval{color:#53677b}
body.light-theme .rec-approval strong{color:#334b63}

body.light-theme .chart-card,
body.light-theme .panel,
body.light-theme .card{
  color:var(--text);
}


/* Cognito authentication UI — v12 */
.auth-gate{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:var(--bg,#0b1220);
  color:var(--text,#e7eef6);
  font-family:var(--sans,Arial,sans-serif);
}
.auth-card{
  width:min(440px,100%);
  padding:34px;
  border:1px solid var(--border,#26384d);
  border-radius:12px;
  background:var(--panel,#101c2a);
  box-shadow:0 18px 50px rgba(0,0,0,.20);
  text-align:center;
}
.auth-kicker{
  color:var(--gold,#d6a33a);
  font:600 11px var(--mono,monospace);
  letter-spacing:.12em;
}
.auth-title{margin-top:9px;font-size:18px;font-weight:650}
.auth-spinner{
  width:24px;height:24px;margin:24px auto 14px;
  border:2px solid var(--border,#26384d);
  border-top-color:var(--gold,#d6a33a);
  border-radius:50%;
  animation:authspin .8s linear infinite;
}
.auth-message{font:11px var(--mono,monospace);color:var(--dim,#8298ae)}
@keyframes authspin{to{transform:rotate(360deg)}}

.auth-user{
  height:34px;
  max-width:260px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:6px;
  color:var(--muted);
  font:10px var(--mono);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.auth-user-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--green);
  flex:0 0 auto;
}
.signout-btn{
  height:34px;
  padding:0 10px;
  border-radius:6px;
  background:transparent;
  border:1px solid var(--border);
  color:var(--muted);
  font:500 11px var(--mono);
  cursor:pointer;
}
.signout-btn:hover{
  background:var(--panel-2);
  border-color:#aebfd0;
  color:var(--text);
}
body.light-theme .auth-gate{
  background:#f4f7fb;
  color:#172334;
}
body.light-theme .auth-card{
  background:#fff;
  border-color:#d8e0ea;
  box-shadow:0 18px 50px rgba(30,50,75,.10);
}
body.light-theme .auth-message{color:#718096}
body.light-theme .auth-user,
body.light-theme .signout-btn{
  background:#fff;
  border-color:#d8e0ea;
  color:#53657a;
}
body.light-theme .signout-btn:hover{background:#f2f6fa;border-color:#b9c7d6;color:#172334}
@media(max-width:800px){
  .auth-user{max-width:190px}
}
@media(max-width:560px){
  .auth-user{display:none}
}

/* Convertible RI exchange recommendations — v15 */
.ri-exchange-panel{margin-top:18px}.ri-exchange-card{padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);margin-bottom:12px}.ri-exchange-card:last-child{margin-bottom:0}.ri-exchange-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ri-exchange-head strong{display:block;font-size:13px}.ri-exchange-head span{display:block;margin-top:4px;color:var(--muted);font:10px var(--mono)}.ri-exchange-util{font:11px var(--mono);white-space:nowrap;color:var(--gold)}.ri-exchange-recommendation{margin:14px 0;padding:11px 12px;border-left:3px solid var(--gold);background:var(--panel);color:var(--muted);font-size:11px;line-height:1.55}.ri-target-title{margin:12px 0 8px;color:var(--text);font-size:11px;font-weight:650}.ri-approval-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px;color:var(--muted);font:10px var(--mono)}.rec-ri-detail{margin:10px 0 2px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--panel-2)}.rec-ri-recommendation{font-size:11px;color:var(--muted);line-height:1.5}.rec-ri-target-title{margin:9px 0 6px;font-size:10px;font-weight:650;color:var(--text)}.rec-ri-target{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:8px;padding:7px 0;border-top:1px solid var(--border);font:10px var(--mono);color:var(--muted)}.rec-ri-target strong{color:var(--text)}@media(max-width:760px){.ri-exchange-head{flex-direction:column}.rec-ri-target{grid-template-columns:1fr}}

/* ============================================================
   RI UTILIZATION / UNDERUTILIZED FLEET — UI FIX
   ============================================================ */
.ri-fleet-visuals{grid-template-columns:minmax(0,1.65fr) minmax(340px,.9fr);align-items:stretch;margin-bottom:16px}
.ri-fleet-visuals .chart-card{min-height:184px}
.ri-fleet-panel{overflow:hidden}
.ri-fleet-panel .panel-head{min-height:62px;padding:10px 18px}
.ri-fleet-panel .panel-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.ri-fleet-panel .panel-caption{font:600 9px var(--mono);letter-spacing:.07em;color:var(--dim);text-transform:uppercase}
.ri-fleet-panel .panel-sub{white-space:nowrap}
.ri-fleet-rule{padding:12px 14px;border:1px solid var(--border-soft);background:#0d1825;border-radius:7px;color:var(--muted);font-size:11px;line-height:1.55}
.ri-fleet-rule strong{color:var(--text);font-weight:600}
.ri-fleet-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.ri-fleet-summary{min-width:0;padding:13px 14px;border:1px solid var(--border);border-radius:7px;background:linear-gradient(180deg,#122131,#0f1a27)}
.ri-fleet-summary span{display:block;color:var(--dim);font:600 9px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.ri-fleet-summary strong{display:block;margin-top:7px;color:var(--text);font:500 19px var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ri-fleet-summary small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.ri-fleet-list{display:flex;flex-direction:column;gap:12px}
.ri-fleet-record{padding:0;border:1px solid var(--border);border-radius:9px;background:linear-gradient(180deg,#111f2e 0%,#0f1a27 100%);overflow:hidden}
.ri-fleet-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 16px 13px;border-bottom:1px solid var(--border-soft)}
.ri-fleet-record-head>div:first-child{min-width:0}
.ri-record-instance{display:block;color:var(--text);font-size:13px;font-weight:650}
.ri-record-owner{display:block;margin-top:5px;color:var(--dim);font:9.5px var(--mono);line-height:1.5;overflow-wrap:anywhere}
.ri-fleet-number{text-align:right;flex:0 0 auto}
.ri-fleet-number strong{display:block;color:var(--gold);font:500 18px var(--mono);font-variant-numeric:tabular-nums}
.ri-fleet-number span{display:block;margin-top:3px;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.05em}
.ri-fleet-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0 8px;border-bottom:1px solid var(--border-soft)}
.ri-fleet-stats>div{min-width:0;padding:12px 9px;border-right:1px solid var(--border-soft)}
.ri-fleet-stats>div:last-child{border-right:0}
.ri-fleet-stats span{display:block;color:var(--dim);font:600 8.5px var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.ri-fleet-stats strong{display:block;margin-top:6px;color:var(--text);font:500 12px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ri-fleet-action{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:18px;align-items:center;padding:13px 16px;background:#101d2b;border-bottom:1px solid var(--border-soft)}
.ri-action-copy{min-width:0}
.action-label{display:block;margin-bottom:5px;color:var(--gold);font:600 8.5px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.ri-action-copy strong{display:block;color:var(--muted);font-size:10.5px;line-height:1.55;font-weight:500;overflow-wrap:anywhere}
.ri-action-status{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:0}
.ri-action-status small{color:var(--dim);font:8.5px var(--mono);text-align:right;line-height:1.35;max-width:260px}
.ri-target-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 16px 8px;color:var(--text);font-size:10.5px;font-weight:650}
.ri-target-title em{font:600 8.5px var(--mono);font-style:normal;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.ri-target-table{margin:0}
.ri-target-table th{padding:8px 12px;background:#0d1825}
.ri-target-table td{padding:10px 12px}
.ri-no-target{display:flex;align-items:flex-start;gap:10px;margin:10px 16px 15px;padding:11px 12px;border:1px solid #3a3424;border-radius:7px;background:#19170f;color:var(--muted);line-height:1.45}
.ri-no-target-icon{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--gold-soft);border-radius:50%;color:var(--gold);font:600 10px var(--mono)}
.ri-no-target strong{display:block;color:#d8c28d;font-size:10.5px;margin-bottom:3px}
.ri-no-target span{display:block;font-size:9.5px;color:var(--dim)}
.ri-no-target b{color:#b5c4d2;font-weight:600}
.ri-fleet-bar .hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ri-fleet-bar .hbar-value{white-space:nowrap}

body.light-theme .ri-fleet-rule{background:#f7f9fc;border-color:#dfe6ed;color:#53677b}
body.light-theme .ri-fleet-summary{background:linear-gradient(180deg,#fff,#f7f9fc);border-color:#d8e0ea}
body.light-theme .ri-fleet-record{background:linear-gradient(180deg,#fff,#f8fafc);border-color:#d8e0ea}
body.light-theme .ri-fleet-action{background:#f7f9fc}
body.light-theme .ri-target-table th{background:#f5f8fb}
body.light-theme .ri-no-target{background:#fff9ec;border-color:#e6d7ad}
body.light-theme .ri-no-target strong{color:#765516}
body.light-theme .ri-no-target span{color:#718096}

@media(max-width:1100px){
  .ri-fleet-visuals{grid-template-columns:1fr}
  .ri-fleet-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ri-fleet-stats>div:nth-child(3){border-right:0}
  .ri-fleet-stats>div:nth-child(n+4){border-top:1px solid var(--border-soft)}
}
@media(max-width:760px){
  .ri-fleet-summary-grid{grid-template-columns:1fr}
  .ri-fleet-record-head{flex-direction:column;gap:10px}
  .ri-fleet-number{text-align:left}
  .ri-fleet-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
  .ri-fleet-stats>div{border-right:0;border-bottom:1px solid var(--border-soft)}
  .ri-fleet-stats>div:nth-child(odd){border-right:1px solid var(--border-soft)}
  .ri-fleet-stats>div:nth-last-child(-n+2){border-bottom:0}
  .ri-fleet-action{grid-template-columns:1fr;gap:10px}
  .ri-action-status{align-items:flex-start}
  .ri-action-status small{text-align:left;max-width:none}
}

/* ============================================================
   ACCOUNT-WISE RI / SP COVERAGE — v19
   ============================================================ */
.coverage-kpis{margin-bottom:16px}
.account-coverage-panel{overflow:hidden}
.account-coverage-panel .panel-head{min-height:62px;padding:10px 18px}
.account-coverage-panel .panel-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.account-coverage-panel .panel-caption{font:600 9px var(--mono);letter-spacing:.07em;color:var(--dim);text-transform:uppercase}
.account-coverage-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.account-coverage-summary>div{min-width:0;padding:13px 14px;border:1px solid var(--border);border-radius:7px;background:linear-gradient(180deg,#122131,#0f1a27)}
.account-coverage-summary span{display:block;color:var(--dim);font:600 9px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.account-coverage-summary strong{display:block;margin-top:7px;color:var(--text);font:500 18px var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.account-coverage-summary small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.coverage-note{margin-bottom:14px}
.account-coverage-table th{white-space:nowrap}
.account-coverage-table td{vertical-align:middle}
.account-coverage-table .account-cell{min-width:170px}
.sharing-enabled-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid rgba(72,191,123,.28);border-radius:999px;color:#83d9a5;background:rgba(72,191,123,.07);font:600 9px var(--mono);letter-spacing:.04em}
.sharing-enabled-badge i{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block}
.account-coverage-table td strong{font-weight:600;color:var(--text)}
body.light-theme .account-coverage-summary>div{background:linear-gradient(180deg,#fff,#f7f9fc);border-color:#d8e0ea}
body.light-theme .sharing-enabled-badge{color:#28794a;background:#f1fbf5;border-color:#bfe7cd}
@media(max-width:1200px){.account-coverage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.account-coverage-table{min-width:1100px}.account-coverage-panel .table-wrap{overflow-x:auto}}
@media(max-width:560px){.account-coverage-summary{grid-template-columns:1fr}}
