:root{
  --bg:#0d1012;--sidebar:#101316;--surface:#14181b;--surface-2:#181d20;--surface-3:#1d2327;
  --line:#2b3338;--line-soft:#22292d;--text:#e7eaec;--muted:#929ba1;--faint:#687178;
  --amber:#d6a15b;--amber-2:#efc17d;--amber-soft:#2b241b;--green:#7db58d;--green-soft:#17261d;
  --red:#d67f77;--red-soft:#2d1e1d;--blue:#7ea6bf;--blue-soft:#18262f;--warn:#d7b56d;
  --shadow:0 18px 55px rgba(0,0,0,.22);--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--sans)}
body{font-size:13px;letter-spacing:.005em}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}
button,input,select,textarea{font:inherit}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}
.brand-block{height:72px;display:flex;align-items:center;gap:11px;padding:0 17px;border-bottom:1px solid var(--line)}
.brand-mark{width:32px;height:32px;border:1px solid #644b31;background:linear-gradient(145deg,#2d251b,#17191a);display:grid;place-items:center;color:var(--amber-2);font:700 11px var(--mono);letter-spacing:.08em}
.brand-block strong{display:block;font-size:12px;letter-spacing:.15em;color:#f0d0a0}.brand-block small{display:block;margin-top:3px;font:9px var(--mono);color:var(--faint);letter-spacing:.08em}
.period-card{margin:14px 12px 6px;padding:11px 12px;border:1px solid var(--line);background:#121619}.period-card b{display:block;margin:5px 0 3px;font:12px var(--mono);color:#dce0e2}.period-card>span:last-child{color:var(--faint);font-size:10px}
.eyebrow{font:9px var(--mono);letter-spacing:.15em;color:var(--faint);text-transform:uppercase}.nav{padding:9px}.nav-section{padding:13px 9px 6px;font:9px var(--mono);letter-spacing:.16em;color:#596269}.nav-section.system{margin-top:9px}
.nav-item{width:100%;height:37px;border:1px solid transparent;background:transparent;color:#8f989e;display:grid;grid-template-columns:27px 1fr auto;align-items:center;text-align:left;border-radius:3px;padding:0 9px;cursor:pointer}
.nav-item:hover{color:#d8dcde;background:#151a1d}.nav-item.active{background:var(--amber-soft);border-color:#55432f;color:#f1c889}.nav-index{font:9px var(--mono);color:#5f686e}.nav-item.active .nav-index{color:var(--amber)}
.nav-badge{padding:2px 5px;border-radius:9px;font:9px var(--mono)}.nav-badge.danger{background:var(--red-soft);color:#e5a19a;border:1px solid #663d39}
.side-status{margin-top:auto;padding:12px 15px 16px;border-top:1px solid var(--line);display:grid;gap:8px}.status-pair{display:flex;justify-content:space-between;font:9px var(--mono);color:#626c73}.status-pair b{font-weight:500;color:#a5adb2}.ok-text{color:var(--green)!important}.ok-dot:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:6px;vertical-align:1px}
.main{min-width:0}.topbar{height:58px;position:sticky;top:0;z-index:20;background:rgba(15,18,20,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.mobile-menu{display:none;background:none;border:0;color:var(--text);font-size:18px}.breadcrumb{color:#7e888f;font-size:10px;letter-spacing:.1em}.breadcrumb span{padding:0 7px;color:#475057}.breadcrumb b{color:#c7cdd1;font-weight:600}
.top-status{display:flex;align-items:center;gap:13px}.status-chip{font:9px var(--mono);color:var(--green);letter-spacing:.08em}.status-chip i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px}.sync-label{font:9px var(--mono);color:#646f76}
.content{max-width:1540px;padding:25px 28px 44px}.screen{display:none}.screen.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:19px}
.page-head h1{font-size:25px;font-weight:560;letter-spacing:-.025em;margin:5px 0 5px}.page-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.55;max-width:760px}.head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:#181d20;color:#cbd0d3;border-radius:4px;padding:8px 11px;font-size:11px;cursor:pointer}.btn:hover{border-color:#655038;color:#f1cb90}.btn.primary{background:var(--amber);color:#17120d;border-color:var(--amber);font-weight:700}.btn.primary:hover{background:#e1ae69;color:#17120d}.btn.ghost{background:transparent}.btn.small{padding:6px 10px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:17px}.metric-card{min-height:154px;border:1px solid var(--line);background:linear-gradient(180deg,#151a1d,#121618);padding:14px 15px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.metric-card.accent{border-top:2px solid var(--amber)}.metric-card.blue{border-top:2px solid var(--blue)}.metric-card.danger-card{border-top:2px solid var(--red)}.metric-top{display:flex;justify-content:space-between;color:#899299;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.metric-code{font:9px var(--mono);color:#667078}.metric-value{margin:13px 0 5px;font:21px var(--mono);letter-spacing:-.04em;color:#f1f3f4}.metric-sub{font-size:10px;color:#6f7980}.progress{height:5px;background:#2c3337;margin:13px 0 7px}.progress i{display:block;height:100%;background:var(--amber)}.blue .progress i{background:var(--blue)}.metric-foot{display:flex;justify-content:space-between;font:9px var(--mono);color:#69737a}.split-line{display:flex;justify-content:space-between;border-top:1px solid var(--line-soft);padding-top:8px;margin-top:8px;color:#727c83;font-size:10px}.split-line span:first-child{color:#c2c8cb;font-family:var(--mono)}
.dashboard-grid{display:grid;grid-template-columns:1.2fr 1.2fr .9fr;gap:14px}.dashboard-grid.second-row{margin-top:14px;grid-template-columns:.9fr 1.2fr 1.2fr}.span-2{grid-column:span 2}.panel{border:1px solid var(--line);background:var(--surface);min-width:0}.panel-head{min-height:52px;padding:11px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-head.compact{min-height:48px}
.panel-kicker{font:9px var(--mono);letter-spacing:.12em;color:#5f6970}.panel-head h2{font-size:12px;font-weight:600;margin:3px 0 0;color:#d9dddf}.text-btn{background:none;border:0;color:#a98554;font-size:10px;cursor:pointer}.text-btn:hover{color:var(--amber-2)}
.activity-list{padding:0 13px}.activity-row{width:100%;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:72px 100px minmax(0,1fr) 82px 76px;gap:9px;align-items:center;padding:11px 1px;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer}.activity-row:last-child{border-bottom:0}.activity-row:hover{background:#171c1f}
.event-time{font:9px var(--mono);color:#69737a}.pill{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:3px 6px;border-radius:3px;border:1px solid;font:9px var(--mono);white-space:nowrap}.pill.rm{color:#deb276;background:#2b2218;border-color:#694d2e}.pill.review{color:#d9bd72;background:#292619;border-color:#706133}.pill.ok{color:#9dcaaa;background:var(--green-soft);border-color:#355c42}.pill.neutral{color:#96a4ad;background:#1b2328;border-color:#3b4a53}.pill.warn{color:#e0bd74;background:#2b2618;border-color:#705e32}
.event-main b{font:11px var(--mono);font-weight:500;color:#d8bd8f}.event-main small{display:block;margin-top:3px;color:#778188;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-amount{text-align:right;font:10px var(--mono);color:#c9ced1}.event-amount.positive{color:var(--green)}.event-state{text-align:right;font:9px var(--mono);color:var(--green)}.event-state.held{color:var(--warn)}.muted{color:var(--faint)!important}
.control-list{padding:10px 15px 13px}.control-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;color:#7f898f;border-bottom:1px solid var(--line-soft)}.control-row:last-child{border-bottom:0}.control-row b{font:10px var(--mono);font-weight:500;color:#cbd0d3}.control-row.highlight{background:#152019;margin:5px -6px 0;padding:10px 6px;color:#89a993}.control-row.highlight b{color:var(--green)}.divider{height:1px;background:var(--line);margin:6px 0}
.danger-text{color:var(--red)!important}.budget-bars{padding:15px}.budget-bar{margin-bottom:18px}.budget-bar:last-child{margin-bottom:4px}.budget-label,.budget-caption{display:flex;justify-content:space-between}.budget-label{color:#9ca5aa;font-size:10px}.budget-label b{font:10px var(--mono);color:#dfe2e4}.track{height:8px;background:#2a3135;border:1px solid #353d41;margin:8px 0 6px}.track i{height:100%;display:block;background:var(--amber)}.budget-bar.blue .track i{background:var(--blue)}.budget-caption{font:9px var(--mono);color:#626d74}
.exception-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:14px;gap:10px}.exception{border-left:2px solid #685235;background:#171b1e;padding:10px 11px}.exception b{font-size:10px;color:#c9ced0;display:block;margin-bottom:6px}.exception span{color:#768087;font-size:10px;line-height:1.45}
.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.search-box{display:flex;align-items:center;gap:7px;width:300px;background:#14191c;border:1px solid var(--line);padding:0 9px}.search-box span{color:#68737a}.search-box input{width:100%;border:0;background:transparent;color:var(--text);padding:9px 0;outline:none}
select,input,textarea{background:#14191c;border:1px solid var(--line);color:#cbd0d3;border-radius:3px;padding:9px 9px;outline:none}select:focus,input:focus,textarea:focus{border-color:#6b5538}.toolbar select{min-width:220px}.toolbar-meta{margin-left:auto;font:9px var(--mono);color:#69747a}.toolbar-meta b{color:#bec5c9;font-weight:500}
.table-card{border:1px solid var(--line);overflow:auto;background:var(--surface)}table{width:100%;border-collapse:collapse;min-width:820px}th{position:sticky;top:0;background:#191e21;color:#778188;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px;border-bottom:1px solid var(--line-soft);color:#aeb5b9;font-size:10px;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr.clickable:hover{background:#1a2023;cursor:pointer}.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.code{font-family:var(--mono);color:#ddb274!important}.section-badge{width:22px;height:22px;display:grid;place-items:center;border:1px solid #57472f;background:#242016;color:#d9ae72;font:10px var(--mono)}.category{color:#8fa5b2;font:9px var(--mono)}
.drawer{position:fixed;right:0;top:58px;bottom:0;width:430px;max-width:92vw;background:#121618;border-left:1px solid var(--line);z-index:50;transform:translateX(102%);transition:transform .18s ease;box-shadow:var(--shadow);padding:18px}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:13px}.drawer-head h3{margin:5px 0 0;font:22px var(--mono);color:#e7bf82}.icon-btn{border:1px solid var(--line);background:#181d20;color:#aab1b5;width:30px;height:30px;border-radius:3px;cursor:pointer}.drawer-section{padding:14px 0;border-bottom:1px solid var(--line-soft)}.drawer-section span{display:block;color:#667078;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.drawer-section b{font-size:12px;color:#d8dcde}.drawer-pr{display:flex;justify-content:space-between;padding:8px 0;font:10px var(--mono);color:#aab1b5}
.info-strip{margin-top:10px;border-left:2px solid var(--amber);background:#15191b;padding:10px 12px;color:#808a90;font-size:10px;line-height:1.5}.info-strip b{color:#caa36c}
.pr-title{color:var(--amber);font-family:var(--mono);font-size:18px}.compact-select{min-width:180px}.pr-summary-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin-bottom:14px;background:#131719}.pr-summary-strip>div{padding:10px 12px;border-right:1px solid var(--line)}.pr-summary-strip>div:last-child{border-right:0}.pr-summary-strip span{display:block;color:#687178;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.pr-summary-strip b{font:11px var(--mono);font-weight:500;color:#d5dadc}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pr-grid.lower{margin-top:14px}.read-only,.audit-ok{font:9px var(--mono);color:#68747a}.audit-ok{color:var(--green)}.raw-facts{padding:15px;display:grid;gap:10px}.fact-row{display:grid;grid-template-columns:120px 1fr;gap:12px;border-bottom:1px solid var(--line-soft);padding-bottom:9px}.fact-row:last-child{border-bottom:0}.fact-row span{color:#68727a;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.fact-row b{font:10px var(--mono);font-weight:500;color:#c5cbce;white-space:normal;line-height:1.45}
.audit-decision{padding:15px}.audit-block{padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid var(--line-soft)}.audit-block:last-child{margin-bottom:0;border-bottom:0}.audit-block span{display:block;color:#667078;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.audit-block b{font-size:11px;color:#d9dcde}.audit-block p{margin:5px 0 0;color:#899299;font-size:10px;line-height:1.55}.posting-list{padding:10px 14px}.posting-row{display:grid;grid-template-columns:90px 1fr 100px;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft);align-items:center}.posting-row:last-child{border-bottom:0}.posting-row b{font:10px var(--mono);color:#ddb273}.posting-row span{color:#90999f;font-size:10px}.posting-row em{font:10px var(--mono);text-align:right;color:#cbd0d3;font-style:normal}
.timeline{padding:12px 14px}.timeline-item{position:relative;padding:0 0 16px 18px;border-left:1px solid #3a454b;margin-left:5px}.timeline-item:last-child{padding-bottom:2px}.timeline-item:before{content:"";position:absolute;left:-4px;top:1px;width:7px;height:7px;border-radius:50%;background:var(--amber)}.timeline-item b{font:10px var(--mono);color:#c6cccf}.timeline-item span{display:block;color:#778188;margin-top:4px;font-size:10px;line-height:1.45}
.review-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:11px;background:#131719}.review-summary div{padding:10px 12px;border-right:1px solid var(--line)}.review-summary div:last-child{border-right:0}.review-summary span{display:block;font-size:9px;color:#68737a;text-transform:uppercase;letter-spacing:.07em}.review-summary b{display:block;margin-top:5px;font-size:10px;color:#c4cace}.queue-total{font:10px var(--mono);padding:7px 9px;border:1px solid #653d39;background:var(--red-soft);color:#dfa099}
.review-list{border:1px solid var(--line);background:var(--surface)}.review-card{display:grid;grid-template-columns:175px minmax(0,1fr) 165px 70px;gap:13px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line-soft)}.review-card:last-child{border-bottom:0}.review-id b{font:11px var(--mono);color:#dfb577;display:block;margin-bottom:7px}.review-copy h3{font-size:11px;margin:0 0 5px;color:#d2d7da;font-weight:600}.review-copy p{margin:0;color:#788289;font-size:10px;line-height:1.45}.review-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 7px}.review-meta span{font-size:9px;color:#68737a}.review-meta b{font:9px var(--mono);color:#b8c0c4;font-weight:500;text-align:right}.pagination-note{text-align:center;margin-top:10px;color:#606a71;font:9px var(--mono)}
.workbook-top{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#131719;padding:11px 13px;margin-bottom:10px}.workbook-file{display:flex;align-items:center;gap:10px}.file-icon{width:31px;height:31px;display:grid;place-items:center;background:#1d3023;border:1px solid #395d43;color:#92c29d;font-weight:700}.workbook-file b{display:block;font-size:11px}.workbook-file span:last-child{display:block;margin-top:3px;color:#6d777e;font-size:9px}.workbook-check{text-align:right}.workbook-check span{display:block;font-size:9px;color:#69737a;margin-bottom:4px}.workbook-check b{font:10px var(--mono)}
.sheet-tabs{display:flex;gap:1px}.sheet-tab{border:1px solid var(--line);background:#14191c;color:#7d878d;padding:8px 14px;font-size:10px;cursor:pointer}.sheet-tab.active{background:#202720;color:#b7d0be;border-color:#3f5946}.sheet-frame{display:none;border:1px solid var(--line);overflow:auto;background:#0f1315;max-height:490px}.sheet-frame.active{display:block}.sheet-grid{display:grid;min-width:900px;font:10px var(--mono)}.sheet-grid.rm-sheet{grid-template-columns:90px 2fr 155px 145px 145px 145px}.sheet-grid.con-sheet{grid-template-columns:150px 150px 2fr 70px 70px 90px 100px 130px}.cell{padding:9px 10px;border-right:1px solid #2b3338;border-bottom:1px solid #2b3338;color:#aab1b5;min-height:34px}.cell.header{position:sticky;top:0;background:#1a2023;color:#8f989e;font-weight:700;z-index:2}.cell.wide{white-space:normal}.cell.num{text-align:right}.cell.active-cell{background:#2b2419;color:#e9bd7e}
.history-kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:10px;background:#131719}.history-kpis>div{padding:11px 13px;border-right:1px solid var(--line)}.history-kpis>div:last-child{border-right:0}.history-kpis span{display:block;color:#6b757b;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.history-kpis b{display:block;margin-top:6px;font:12px var(--mono);color:#d5dadd}
.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.system-card{border:1px solid var(--line);background:var(--surface);padding:13px;display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center}.system-icon{width:35px;height:35px;display:grid;place-items:center;border:1px solid #3a454b;background:#181e21;font:10px var(--mono);color:#8e9aa1}.system-card small{display:block;color:#667178;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.system-card b{display:block;margin-top:4px;font:11px var(--mono);color:#d1d6d8}.system-card p{margin:3px 0 0;color:#69737a;font-size:9px}.system-state{font:9px var(--mono);padding:4px 6px;border:1px solid}.system-state.success{color:#94c2a0;border-color:#395c42;background:var(--green-soft)}.system-state.pending{color:#d4b778;border-color:#65562f;background:#282416}
.deployment-flow{margin-top:3px}.flow-steps{display:flex;align-items:center;padding:16px;gap:7px;overflow:auto}.flow-step{min-width:145px;border:1px solid var(--line);background:#151a1d;padding:10px}.flow-step span{width:20px;height:20px;display:grid;place-items:center;border:1px solid #465158;color:#7e8990;font:9px var(--mono);margin-bottom:7px}.flow-step b{font-size:9px;color:#929ba1}.flow-step.done{border-color:#355944}.flow-step.done span{color:#96c3a1;border-color:#396148}.flow-step.current{border-color:#745a36;background:#211c15}.flow-step.current span{border-color:#8a6739;color:#e1b674}.flow-arrow{color:#4a555b}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-backdrop.open{display:flex}.modal{width:min(690px,96vw);background:#121618;border:1px solid #3a4348;box-shadow:var(--shadow)}.modal-head{padding:15px 16px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head h2{margin:5px 0 0;font:18px var(--mono);color:#deb67b}.modal-warning{margin:13px 15px 0;padding:10px;border-left:2px solid var(--warn);background:#211e16;color:#bdb18d;font-size:10px;line-height:1.5}
.decision-tabs{display:flex;padding:13px 15px 0;gap:5px;flex-wrap:wrap}.decision-tab{border:1px solid var(--line);background:#151a1d;color:#818b91;padding:7px 9px;font-size:10px;cursor:pointer}.decision-tab.active{border-color:#705632;background:#282117;color:#e4ba7c}.decision-panel{display:none;padding:15px}.decision-panel.active{display:block}.decision-panel label{display:block;color:#737e84;font-size:9px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.decision-panel select,.decision-panel input,.decision-panel textarea{width:100%}.decision-panel textarea{min-height:85px;resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help{font-size:9px;color:#69737a;line-height:1.5;margin:7px 0 0}.modal-foot{display:flex;justify-content:flex-end;gap:7px;padding:12px 15px;border-top:1px solid var(--line)}
.toast{position:fixed;right:22px;bottom:20px;max-width:420px;background:#1d2326;border:1px solid #765b37;color:#e4bd82;padding:10px 12px;font:10px var(--mono);box-shadow:var(--shadow);display:none;z-index:130}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.dashboard-grid.second-row{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.pr-summary-strip{grid-template-columns:repeat(3,1fr)}.review-card{grid-template-columns:150px minmax(0,1fr) 130px}.review-card .review-open{grid-column:3}.system-grid{grid-template-columns:1fr}}
@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;transform:translateX(-103%);transition:transform .18s ease;width:238px}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block}.topbar{padding:0 14px}.sync-label{display:none}.content{padding:18px 13px 35px}.page-head{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr}.dashboard-grid,.dashboard-grid.second-row{grid-template-columns:1fr}.span-2{grid-column:auto}.activity-row{grid-template-columns:75px 1fr 65px}.activity-row .pill{display:none}.event-main{grid-column:2}.event-amount{grid-column:3;grid-row:1}.event-state{grid-column:3}.exception-grid{grid-template-columns:1fr}.pr-grid{grid-template-columns:1fr}.pr-summary-strip,.review-summary,.history-kpis{grid-template-columns:1fr 1fr}.review-card{grid-template-columns:1fr}.review-card .review-open{grid-column:auto}.review-meta{max-width:220px}.toolbar{align-items:stretch;flex-direction:column}.search-box{width:100%}.toolbar select{width:100%}.toolbar-meta{margin-left:0}.workbook-top{align-items:flex-start;flex-direction:column;gap:10px}.workbook-check{text-align:left}.field-grid{grid-template-columns:1fr}}


/* v2 — spreadsheet-first UI */
.sheet-page-head{margin-bottom:12px}.sheet-page-head p b{color:#cdd3d6}
.sheet-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sheet-help{margin-left:auto;color:#657078;font:9px var(--mono)}
.excel-shell{border:1px solid var(--line);background:#101416;min-height:620px}
.excel-titlebar{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border-bottom:1px solid var(--line);background:#151a1d;color:#788289;font:9px var(--mono)}
.excel-titlebar>div{display:flex;align-items:center;gap:8px}.excel-titlebar b{color:#cbd1d4;font-weight:600}.excel-file-dot{width:8px;height:8px;border-radius:2px;background:var(--amber);display:inline-block}.excel-file-dot.blue-dot{background:var(--blue)}
.excel-scroll{width:100%;height:650px;overflow:auto;position:relative;background:#0f1315}
.excel-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed;font:10px var(--mono)}
.excel-grid th,.excel-grid td{position:relative;height:27px;padding:5px 7px;border-right:1px solid #283036;border-bottom:1px solid #283036;background:#111619;color:#aeb6ba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.excel-grid .col-letter{position:sticky;top:0;z-index:8;background:#1c2226;color:#77838a;text-align:center;font-weight:600;height:25px}
.excel-grid .corner{position:sticky!important;left:0;top:0;z-index:12!important;background:#1b2125!important;width:44px!important;min-width:44px!important}
.excel-grid .row-number{position:sticky;left:0;z-index:7;background:#171d20!important;color:#667178;text-align:right;width:44px;min-width:44px;padding-right:8px}
.excel-grid tr:nth-child(6) td{position:sticky;top:25px;z-index:6;background:#1b2226;color:#a9b3b8;font-weight:700}
.excel-grid tr:nth-child(6) .row-number{z-index:10}
.excel-grid .sticky-a{position:sticky;left:44px;z-index:5;background:#13191c}.excel-grid .sticky-b{position:sticky;left:114px;z-index:5;background:#13191c}
.excel-grid.consumables-grid .sticky-a{left:44px}.excel-grid.consumables-grid .sticky-b{left:110px}.excel-grid.consumables-grid .sticky-c{position:sticky;left:255px;z-index:5;background:#13191c}
.excel-grid .sheet-title{background:#171b1e;color:#e0b778;font-weight:700}.excel-grid .sheet-section td{background:#201c15;color:#e0b778;font-weight:700}.excel-grid .sheet-subtotal td{background:#192025;color:#c7d0d4;font-weight:700}.excel-grid .sheet-header td{background:#1b2226;color:#a9b3b8;font-weight:700}
.excel-grid td.number{text-align:right;font-variant-numeric:tabular-nums}.excel-grid td.blank{color:transparent}.excel-grid td.pr-value{background:#182018;color:#9cc2a5}.excel-grid td.search-hit{outline:2px solid var(--amber);outline-offset:-2px;background:#332716!important;color:#f0c987!important}
.excel-grid th:nth-child(2),.excel-grid td:nth-child(2){width:70px;min-width:70px}.excel-grid th:nth-child(3),.excel-grid td:nth-child(3){width:365px;min-width:365px}
.excel-grid.consumables-grid th:nth-child(2),.excel-grid.consumables-grid td:nth-child(2){width:66px;min-width:66px}
.excel-grid.consumables-grid th:nth-child(3),.excel-grid.consumables-grid td:nth-child(3){width:145px;min-width:145px}
.excel-grid.consumables-grid th:nth-child(4),.excel-grid.consumables-grid td:nth-child(4){width:300px;min-width:300px}
.excel-grid td{min-width:105px;max-width:330px}.excel-grid td:nth-child(n+4){min-width:115px}
.pr-link{border:0;background:transparent;color:#e0b574;padding:0;font:11px var(--mono);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.pr-link:hover{color:#f2ce96}
.review-workspace-backdrop{padding:18px}.review-workspace{width:min(1500px,98vw);height:min(880px,94vh);background:#101416;border:1px solid #3a4449;box-shadow:var(--shadow);display:flex;flex-direction:column}
.review-workspace-head{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--line)}.review-workspace-head h2{margin:4px 0 3px;font:19px var(--mono);color:#e0b574}.review-workspace-head p{margin:0;color:#707b82;font-size:10px}
.review-workspace-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(390px,.8fr);min-height:0;flex:1}
.email-pane{min-width:0;border-right:1px solid var(--line);display:flex;flex-direction:column}.decision-pane{min-width:0;overflow:auto;background:#121719}
.pane-head{height:52px;padding:10px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.pane-head h3{font-size:11px;margin:3px 0 0}
.email-meta{display:grid;grid-template-columns:70px 1fr;padding:10px 13px;border-bottom:1px solid var(--line);gap:5px 10px;font:9px var(--mono)}.email-meta span{color:#657078}.email-meta b{color:#b8c0c4;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.email-body{margin:0;padding:15px 17px;overflow:auto;white-space:pre-wrap;word-break:break-word;font:11px/1.62 var(--mono);color:#c5ccd0;background:#0e1214;flex:1}
.review-current{padding:14px;border-bottom:1px solid var(--line)}.review-current h3{font-size:13px;margin:10px 0 5px}.review-current p{color:#849097;font-size:10px;line-height:1.55;margin:0}
.review-current-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.review-current-grid div{border:1px solid var(--line);padding:8px}.review-current-grid span{display:block;color:#667178;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.review-current-grid b{display:block;margin-top:5px;font:10px var(--mono);color:#c8ced1}
.vertical-tabs{padding:12px 14px 0}.decision-pane .decision-panel{padding:14px}.stacked-label{margin-top:11px!important}.decision-actions{display:flex;justify-content:flex-end;gap:7px;padding:13px 14px;border-top:1px solid var(--line);margin-top:4px}
@media(max-width:1000px){.review-workspace-body{grid-template-columns:1fr}.email-pane{border-right:0;border-bottom:1px solid var(--line);min-height:440px}.review-workspace{height:96vh}.decision-pane{max-height:430px}.sheet-help{display:none}}


/* v3 — readable review email viewer */
.review-workspace{
  height:calc(100vh - 32px);
  max-height:none;
  overflow:hidden;
}
.review-workspace-body{
  min-height:0;
  overflow:hidden;
}
.email-pane{
  min-height:0;
  overflow:hidden;
}
.email-pane-head{
  flex:0 0 54px;
}
.email-pane-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.email-view-tab{
  border:1px solid var(--line);
  background:#141a1d;
  color:#78858c;
  border-radius:3px;
  padding:6px 8px;
  font-size:9px;
  cursor:pointer;
}
.email-view-tab.active{
  color:#edc486;
  border-color:#6f5636;
  background:#292118;
}
.email-expand{
  padding:6px 8px;
  font-size:9px;
}
.email-scroll{
  position:relative;
  min-height:0;
  flex:1 1 auto;
  overflow-y:scroll;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:#7d6543 #161b1e;
  background:#0e1214;
}
.email-scroll::-webkit-scrollbar{
  width:13px;
  height:13px;
}
.email-scroll::-webkit-scrollbar-track{
  background:#151a1d;
  border-left:1px solid #273036;
}
.email-scroll::-webkit-scrollbar-thumb{
  background:#745b3a;
  border:3px solid #151a1d;
  border-radius:8px;
}
.email-scroll::-webkit-scrollbar-thumb:hover{
  background:#9a7648;
}
.email-scroll-hint{
  flex:0 0 25px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#171c1f;
  border-top:1px solid var(--line);
  color:#9c815c;
  font:9px var(--mono);
  letter-spacing:.1em;
}
.email-view{display:none;min-height:100%}
.email-view.active{display:block}
.mail-card{
  max-width:1120px;
  margin:16px auto 28px;
  background:#f5f5f2;
  color:#202426;
  border:1px solid #d4d7d5;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.mail-envelope{
  display:flex;
  gap:12px;
  padding:16px 18px;
  background:#ffffff;
  border-bottom:1px solid #dfe2e0;
}
.mail-avatar{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e7eee9;
  color:#386048;
  border:1px solid #cfd9d2;
  font:700 10px var(--mono);
  flex:0 0 auto;
}
.mail-envelope-main{min-width:0;flex:1}
.mail-envelope-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#303537;
  font-size:11px;
}
.mail-envelope-title span{
  color:#7b8285;
  font:10px var(--mono);
  text-align:right;
}
.mail-subject{
  margin-top:6px;
  font-size:15px;
  font-weight:650;
  color:#171a1c;
}
.mail-forwarded{
  margin-top:6px;
  color:#788084;
  font-size:10px;
}
.mail-body-clean{
  padding:20px 20px 26px;
  font-size:11px;
  line-height:1.6;
}
.mail-body-clean p{margin:0 0 12px}
.mail-note-block{
  margin:14px 0 18px;
  padding:11px 12px;
  border-left:3px solid #c6924f;
  background:#fff8ed;
}
.mail-note-block span{
  display:block;
  color:#8b7657;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mail-note-block b{
  display:block;
  margin-top:4px;
  color:#443625;
  font-weight:600;
}
.mail-section-title{
  margin:15px 0 7px;
  font-size:11px;
  font-weight:700;
  color:#2b3032;
}
.mail-table-wrap{
  overflow:auto;
  border:1px solid #d8dcda;
}
.mail-table{
  min-width:860px;
  width:100%;
  border-collapse:collapse;
  background:#fff;
}
.mail-table th{
  position:static;
  background:#eef1ef;
  color:#596267;
  border-right:1px solid #dce0de;
  border-bottom:1px solid #cfd4d1;
  padding:8px 9px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.mail-table td{
  color:#303638;
  border-right:1px solid #e2e5e3;
  border-bottom:1px solid #e5e8e6;
  padding:7px 9px;
  font-size:10px;
  white-space:nowrap;
}
.mail-table td.material{
  color:#694a22;
  font-family:var(--mono);
}
.mail-table td.desc{
  white-space:normal;
  min-width:220px;
}
.mail-table .num{
  text-align:right;
  font-family:var(--mono);
}
.mail-table tr.missing-material td.material{
  color:#b15049;
  font-weight:700;
  background:#fff1ef;
}
.mail-total{
  margin-left:auto;
  width:min(310px,100%);
  display:flex;
  justify-content:space-between;
  padding:12px 10px;
  border-bottom:3px double #6e7578;
  color:#282d2f;
}
.mail-total b{font:700 12px var(--mono)}
.mail-signoff{
  margin-top:24px;
  color:#4c5356;
}
.mail-signoff span{color:#848b8e}
#email-raw{
  background:#0d1113;
  min-height:100%;
}
#email-raw .email-meta{
  position:sticky;
  top:0;
  z-index:2;
  background:#121719;
}
#email-raw .email-body{
  overflow:visible;
  min-height:auto;
  padding:18px 20px 60px;
}
.review-workspace.email-expanded .review-workspace-body{
  grid-template-columns:1fr;
}
.review-workspace.email-expanded .decision-pane{
  display:none;
}
.review-workspace.email-expanded .mail-card{
  max-width:1280px;
}
.decision-pane{
  min-height:0;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#4d5b62 #151a1d;
}
.decision-pane::-webkit-scrollbar{width:10px}
.decision-pane::-webkit-scrollbar-track{background:#151a1d}
.decision-pane::-webkit-scrollbar-thumb{background:#445158;border:2px solid #151a1d;border-radius:6px}
@media(max-width:1000px){
  .email-pane-actions .read-only{display:none}
  .email-expand{display:none}
  .review-workspace-body{overflow-y:auto}
  .email-pane{height:62vh;min-height:520px}
  .decision-pane{max-height:none}
}

/* Classification-review safety: visible in the unified queue, but never
   offered workbook-mapping actions until Finance selects a classification. */
.classification-review-notice{margin:12px 0;padding:12px;border:1px solid #6d5436;background:#241e17}
.classification-review-notice p{margin:8px 0 0;color:#c7b69f;font-size:10px;line-height:1.55}
.decision-actions .btn.primary:disabled{opacity:.45;cursor:not-allowed}

/* Manual classification workflow */
.classification-decision-box{border:1px solid #3a2f23;background:#15191b;padding:12px;margin:0 0 12px}
.classification-route-head p{margin:8px 0 12px;color:#b8b0a6;font-size:10px;line-height:1.5}
.classification-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.classification-route{display:flex;gap:8px;align-items:flex-start;border:1px solid #30383d;background:#101416;padding:9px;cursor:pointer}
.classification-route:hover{border-color:#6e5637}.classification-route input{margin-top:2px}.classification-route span{display:flex;flex-direction:column;gap:3px}
.classification-route b{font-size:10px;color:#eee}.classification-route small{font-size:9px;color:#89949a;line-height:1.4}
.classification-rm-target,.classification-reason{display:block;margin-top:10px}.classification-rm-target label,.classification-reason{font-size:9px;color:#9aa4a9;text-transform:uppercase;letter-spacing:.06em}
.classification-rm-target select,.classification-reason textarea{display:block;width:100%;margin-top:5px;background:#0c1012;color:#e7e7e4;border:1px solid #384248;padding:8px;font:10px var(--mono)}
@media(max-width:900px){.classification-route-grid{grid-template-columns:1fr}}

/* Manual classification workflow */
.classification-decision-box{border:1px solid #3a2f23;background:#15191b;padding:12px;margin:0 0 12px}
.classification-route-head p{margin:8px 0 12px;color:#b8b0a6;font-size:10px;line-height:1.5}
.classification-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.classification-route{display:flex;gap:8px;align-items:flex-start;border:1px solid #30383d;background:#101416;padding:9px;cursor:pointer}
.classification-route:hover{border-color:#6e5637}.classification-route input{margin-top:2px}.classification-route span{display:flex;flex-direction:column;gap:3px}
.classification-route b{font-size:10px;color:#eee}.classification-route small{font-size:9px;color:#89949a;line-height:1.4}
.classification-rm-target,.classification-reason{display:block;margin-top:10px}.classification-rm-target label,.classification-reason{font-size:9px;color:#9aa4a9;text-transform:uppercase;letter-spacing:.06em}
.classification-rm-target select,.classification-reason textarea{display:block;width:100%;margin-top:5px;background:#0c1012;color:#e7e7e4;border:1px solid #384248;padding:8px;font:10px var(--mono)}
@media(max-width:900px){.classification-route-grid{grid-template-columns:1fr}}


/* admin login */
.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#1d211f 0,#0d1012 45%,#090b0c 100%)}
.login-shell{width:min(430px,100%)}
.login-card{border:1px solid var(--line);background:linear-gradient(180deg,#151a1d,#101416);box-shadow:var(--shadow);padding:0 24px 22px}
.login-brand{height:78px;margin:0 -24px;padding:0 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.login-brand h1{margin:0;font-size:13px;letter-spacing:.13em;color:#f0d0a0}.login-brand p{margin:4px 0 0;font:9px var(--mono);color:var(--faint);letter-spacing:.08em}
.login-copy{padding:24px 0 18px}.login-copy h2{margin:7px 0 7px;font-size:22px;font-weight:560}.login-copy p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.login-form{display:grid;gap:10px}.login-form label{display:grid;gap:7px;color:#7f898f;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.login-form input{width:100%;font:13px var(--mono);text-transform:none;letter-spacing:normal}.login-form .btn{margin-top:3px;padding:10px 12px}
.login-error{border-left:2px solid var(--red);background:var(--red-soft);color:#e2aaa5;padding:9px 10px;font-size:10px;margin:0 0 15px}.login-foot{margin-top:18px;border-top:1px solid var(--line-soft);padding-top:13px;color:#5f6970;text-align:center;font:8px var(--mono);letter-spacing:.12em}

/* v4 - role based dashboard access */

.role-picker{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:5px;
}

.role-option{
    display:flex!important;
    grid-template-columns:none!important;
    flex-direction:row!important;
    align-items:flex-start;
    gap:9px!important;
    border:1px solid var(--line);
    background:#111619;
    padding:11px!important;
    cursor:pointer;
    text-transform:none!important;
    letter-spacing:normal!important;
}

.role-option:hover{
    border-color:#665137;
    background:#171a1c;
}

.role-option input{
    width:auto!important;
    margin:2px 0 0;
    accent-color:var(--amber);
}

.role-option span{
    display:block;
}

.role-option b{
    display:block;
    color:#d6dadd;
    font-size:11px;
}

.role-option small{
    display:block;
    margin-top:4px;
    color:#707a80;
    font-size:9px;
    line-height:1.4;
}

.role-chip{
    padding:4px 7px;
    border:1px solid;
    font:8px var(--mono);
    letter-spacing:.08em;
}

.role-chip.role-admin{
    color:#e2bd80;
    border-color:#6f5434;
    background:#282016;
}

.role-chip.role-viewer{
    color:#9ab8c9;
    border-color:#405b69;
    background:#17232a;
}

body[data-role="viewer"] .decision-pane{
    position:relative;
}

body[data-role="viewer"] .decision-pane::before{
    content:"VIEWER ACCESS · CHANGES REQUIRE AN ADMINISTRATOR";
    display:block;
    padding:8px 13px;
    border-bottom:1px solid #405b69;
    background:#152229;
    color:#90afbf;
    font:8px var(--mono);
    letter-spacing:.09em;
}

@media(max-width:600px){
    .role-picker{
        grid-template-columns:1fr;
    }
}

/* v5 - today's PR activity + automation health */

.today-control{
    border:1px solid var(--line);
    background:var(--surface);
    margin-bottom:14px;
}

.today-head{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:11px 14px;
    border-bottom:1px solid var(--line);
}

.today-head h2{
    margin:4px 0 0;
    font-size:13px;
    font-weight:600;
}

.automation-health{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:280px;
    justify-content:flex-end;
}

.automation-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--faint);
}

.automation-health b{
    display:block;
    color:#aeb6ba;
    font:9px var(--mono);
    letter-spacing:.08em;
}

.automation-health small{
    display:block;
    margin-top:3px;
    color:#68737a;
    font-size:9px;
}

.automation-health[data-state="healthy"] .automation-dot{
    background:var(--green);
    box-shadow:0 0 0 4px rgba(125,181,141,.08);
}

.automation-health[data-state="healthy"] b{
    color:var(--green);
}

.automation-health[data-state="delayed"] .automation-dot{
    background:var(--warn);
}

.automation-health[data-state="delayed"] b{
    color:var(--warn);
}

.automation-health[data-state="attention"] .automation-dot{
    background:var(--red);
}

.automation-health[data-state="attention"] b{
    color:var(--red);
}

.today-metrics{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    border-bottom:1px solid var(--line);
}

.today-metrics>div{
    padding:10px 12px;
    border-right:1px solid var(--line-soft);
}

.today-metrics>div:last-child{
    border-right:0;
}

.today-metrics span{
    display:block;
    color:#667178;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.today-metrics b{
    display:block;
    margin-top:5px;
    color:#d4d9dc;
    font:12px var(--mono);
}

.today-table-wrap{
    max-height:310px;
    overflow:auto;
}

.today-table{
    min-width:900px;
}

.today-table td{
    white-space:nowrap;
}

.today-table .today-subject{
    max-width:420px;
    overflow:hidden;
    text-overflow:ellipsis;
}

.today-result{
    display:inline-flex;
    border:1px solid var(--line);
    padding:3px 6px;
    font:8px var(--mono);
    letter-spacing:.04em;
}

.today-booked,
.today-revision{
    color:#9fcaaa;
    background:var(--green-soft);
    border-color:#355c42;
}

.today-review{
    color:#d9bd72;
    background:#292619;
    border-color:#706133;
}

.today-skipped{
    color:#9fa9af;
    background:#1b2328;
    border-color:#3b4a53;
}

.today-duplicate,
.today-no-change{
    color:#8fa1ac;
    background:#172128;
    border-color:#344852;
}

.today-empty{
    text-align:center;
    color:#69737a;
    padding:22px!important;
}

@media(max-width:1180px){
    .today-metrics{
        grid-template-columns:repeat(4,1fr);
    }

    .today-metrics>div{
        border-bottom:1px solid var(--line-soft);
    }
}

@media(max-width:700px){
    .today-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .automation-health{
        justify-content:flex-start;
        min-width:0;
    }

    .today-metrics{
        grid-template-columns:repeat(2,1fr);
    }
}

/* v6 - contextual help */

.heading-with-help{
    display:flex;
    align-items:center;
    gap:7px;
}

.help-trigger{
    width:18px;
    height:18px;
    flex:0 0 18px;
    display:inline-grid;
    place-items:center;
    padding:0;
    border:1px solid #4b555b;
    border-radius:50%;
    background:#151a1d;
    color:#839098;
    font:700 9px var(--mono);
    cursor:pointer;
}

.help-trigger:hover{
    color:#efc17d;
    border-color:#765b37;
    background:#211c15;
}

.help-modal-backdrop{
    position:fixed;
    inset:0;
    z-index:160;
    display:none;
    place-items:center;
    padding:20px;
    background:rgba(0,0,0,.68);
}

.help-modal-backdrop.open{
    display:grid;
}

.help-modal{
    width:min(540px,95vw);
    border:1px solid #3a4449;
    background:#121719;
    box-shadow:var(--shadow);
}

.help-modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    padding:15px 16px;
    border-bottom:1px solid var(--line);
}

.help-modal-head h2{
    margin:5px 0 0;
    font-size:17px;
    font-weight:600;
    color:#e2e6e8;
}

.help-modal-body{
    padding:17px 16px 20px;
    color:#a0a9ae;
    font-size:11px;
    line-height:1.7;
}

.help-modal-body strong{
    color:#d4dade;
}


/* v7 - management viewer + Today's Activity polish */

.viewer-access-banner{
    margin-bottom:14px;
    padding:11px 13px;
    border:1px solid #344d59;
    border-left:3px solid var(--blue);
    background:#131d22;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.viewer-access-banner>div{
    display:flex;
    align-items:center;
    gap:11px;
}

.viewer-lock{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border:1px solid #415f6e;
    background:#17272f;
    color:#98bacb;
    font:700 9px var(--mono);
}

.viewer-access-banner b{
    display:block;
    color:#b4cbd6;
    font:9px var(--mono);
    letter-spacing:.09em;
}

.viewer-access-banner p{
    margin:4px 0 0;
    color:#778990;
    font-size:10px;
    line-height:1.45;
}

.viewer-access-state{
    color:#7897a6;
    font:8px var(--mono);
    letter-spacing:.09em;
    white-space:nowrap;
}


/* Make Today's overview a proper management card */

.today-control{
    border:1px solid var(--line)!important;
    background:linear-gradient(
        180deg,
        #14191c,
        #111517
    )!important;
    margin-bottom:14px!important;
}

.today-control .today-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:62px!important;
    padding:12px 14px!important;
    border-bottom:1px solid var(--line)!important;
}

.today-control .today-metrics{
    display:grid!important;
    grid-template-columns:repeat(
        7,
        minmax(100px,1fr)
    )!important;
    border-bottom:1px solid var(--line)!important;
}

.today-control .today-metrics>div{
    min-height:67px;
    padding:12px 13px!important;
    border-right:1px solid var(--line-soft)!important;
}

.today-control .today-metrics>div:last-child{
    border-right:0!important;
}

.today-control .today-metrics span{
    display:block!important;
    color:#6c777e!important;
    font-size:8px!important;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.today-control .today-metrics b{
    display:block!important;
    margin-top:7px!important;
    color:#e0e4e6!important;
    font:16px var(--mono)!important;
}

.today-control .today-table-wrap{
    max-height:330px;
    overflow:auto;
}

.today-control .today-table{
    margin:0;
    border:0;
}

.today-control .today-table th{
    top:0;
    z-index:2;
}


/* Automation status */

.automation-health{
    padding:7px 9px;
    border:1px solid var(--line-soft);
    background:#101416;
}

.automation-health[data-state="healthy"]{
    border-color:#31513b;
    background:#121d16;
}

.automation-health[data-state="delayed"]{
    border-color:#665830;
    background:#201d13;
}

.automation-health[data-state="attention"]{
    border-color:#653d39;
    background:#231716;
}


/* Viewer can inspect decision controls but cannot edit them */

body[data-role="viewer"] .decision-pane
input:disabled,
body[data-role="viewer"] .decision-pane
select:disabled,
body[data-role="viewer"] .decision-pane
textarea:disabled{
    opacity:.58;
    cursor:not-allowed;
}

body[data-role="viewer"]
.viewer-protected-action{
    background:#1b252b;
    border-color:#405b69;
    color:#9eb7c3;
}

body[data-role="viewer"]
.viewer-protected-action:hover{
    background:#202d34;
    border-color:#547385;
    color:#bfd1da;
}


/* Cleaner Viewer review button */

body[data-role="viewer"]
.review-decide{
    background:#182329;
    border-color:#3b5664;
    color:#9bb5c1;
}

body[data-role="viewer"]
.review-decide:hover{
    background:#1c2b32;
    border-color:#527181;
    color:#c2d3da;
}


@media(max-width:1180px){
    .today-control .today-metrics{
        grid-template-columns:
            repeat(4,minmax(120px,1fr))
            !important;
    }
}

@media(max-width:700px){
    .viewer-access-banner{
        align-items:flex-start;
        flex-direction:column;
    }

    .today-control .today-head{
        align-items:flex-start!important;
        flex-direction:column;
        gap:10px;
    }

    .today-control .today-metrics{
        grid-template-columns:
            repeat(2,minmax(120px,1fr))
            !important;
    }
}

/* v8 - one-step classification + Consumables mapping */

.classification-consumables-target{
    margin-top:13px;
    border:1px solid var(--line);
    background:#101517;
}

.classification-consumables-intro{
    padding:12px 13px;
    border-bottom:1px solid var(--line);
}

.classification-consumables-intro b{
    color:#dce2e5;
    font-size:11px;
}

.classification-consumables-intro p{
    margin:4px 0 0;
    color:#77858c;
    font-size:9px;
    line-height:1.5;
}

.classification-consumable-line{
    padding:13px;
    border-bottom:1px solid var(--line);
}

.classification-consumable-line:last-child{
    border-bottom:0;
}

.classification-line-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:9px;
}

.classification-line-head span,
.classification-line-meta span,
.classification-readonly-grid span{
    display:block;
    color:#65747c;
    font:8px var(--mono);
    letter-spacing:.06em;
}

.classification-line-head b{
    display:block;
    margin-top:4px;
    color:#cdd5d9;
    font-size:10px;
}

.classification-line-head strong{
    color:#d6b16e;
    font:10px var(--mono);
    white-space:nowrap;
}

.classification-line-meta{
    margin-bottom:11px;
}

.classification-line-meta b{
    display:block;
    margin-top:3px;
    color:#aab8bf;
    font:9px var(--mono);
}

.classification-consumable-line label{
    display:block;
    color:#7f8c92;
    font-size:9px;
    margin-top:9px;
}

.classification-consumable-line select{
    width:100%;
    margin-top:5px;
}

.classification-new-row,
.classification-existing-row{
    margin-top:9px;
    padding:10px;
    border:1px solid var(--line-soft);
    background:#0e1214;
}

.classification-readonly-grid{
    display:grid;
    grid-template-columns:1fr 1.6fr;
    gap:10px;
    margin-top:10px;
}

.classification-readonly-grid>div{
    padding:8px;
    border:1px solid var(--line-soft);
}

.classification-readonly-grid b{
    display:block;
    margin-top:4px;
    color:#b6c1c6;
    font:9px var(--mono);
}

.classification-warning{
    margin:9px 0 0;
    color:#c98b79;
    font-size:9px;
    line-height:1.5;
}

/* v8 - light / dark themes */

.theme-toggle{
    display:flex;
    align-items:center;
    gap:6px;
    height:27px;
    padding:0 8px;
    border:1px solid var(--line);
    background:var(--surface);
    color:var(--muted);
    border-radius:3px;
    font:8px var(--mono);
    letter-spacing:.08em;
    cursor:pointer;
}

.theme-toggle:hover{
    border-color:var(--amber);
    color:var(--amber);
}


/* LIGHT MODE */

:root[data-theme="light"]{
    --bg:#f5f7fa;
    --sidebar:#102034;

    --surface:#ffffff;
    --surface-2:#f8fafc;
    --surface-3:#eef2f6;

    --line:#d8e0e8;
    --line-soft:#e7ecf1;

    --text:#14233a;
    --muted:#708096;
    --faint:#93a0b2;

    --amber:#bf873c;
    --amber-2:#a96f27;
    --amber-soft:#f5ebdc;

    --green:#2d9271;
    --green-soft:#e7f5ef;

    --red:#ba5c57;
    --red-soft:#faeceb;

    --blue:#527da0;
    --blue-soft:#e9f1f7;

    --warn:#b68a38;

    --shadow:
        0 12px 36px rgba(24,45,72,.08);
}


:root[data-theme="light"] body{
    background:var(--bg);
    color:var(--text);
}


/* Keep the sidebar navy like the reference */

:root[data-theme="light"] .sidebar{
    background:#102034;
    border-right-color:#20344c;
}

:root[data-theme="light"] .brand-block{
    border-bottom-color:#263a51;
}

:root[data-theme="light"] .brand-block strong{
    color:#ffffff;
}

:root[data-theme="light"] .brand-block small{
    color:#8093aa;
}

:root[data-theme="light"] .period-card{
    background:#15273c;
    border-color:#294057;
}

:root[data-theme="light"] .period-card b{
    color:#f1f5f9;
}

:root[data-theme="light"] .nav-section{
    color:#69819d;
}

:root[data-theme="light"] .nav-item{
    color:#a9b9ca;
}

:root[data-theme="light"] .nav-item:hover{
    background:#192d45;
    color:#ffffff;
}

:root[data-theme="light"] .nav-item.active{
    background:#1d3551;
    border-color:#2e4866;
    color:#ffffff;
}

:root[data-theme="light"] .nav-item.active .nav-index{
    color:#d49a4d;
}

:root[data-theme="light"] .side-status{
    border-top-color:#263b53;
}

:root[data-theme="light"] .side-status .status-pair{
    color:#7087a0;
}

:root[data-theme="light"] .side-status .status-pair b{
    color:#c3cfdb;
}


/* Header */

:root[data-theme="light"] .topbar{
    background:rgba(255,255,255,.95);
    border-bottom-color:#dce3e9;
}

:root[data-theme="light"] .breadcrumb{
    color:#718097;
}

:root[data-theme="light"] .breadcrumb b{
    color:#23364f;
}


/* Main cards */

:root[data-theme="light"] .metric-card,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .today-control,
:root[data-theme="light"] .table-card,
:root[data-theme="light"] .review-list,
:root[data-theme="light"] .system-card{
    background:#ffffff!important;
    border-color:#d9e0e7!important;
    box-shadow:
        0 8px 24px rgba(25,45,70,.04);
}

:root[data-theme="light"] .metric-value,
:root[data-theme="light"] .panel-head h2,
:root[data-theme="light"] .page-head h1{
    color:#11233e;
}

:root[data-theme="light"] .page-head p,
:root[data-theme="light"] .metric-sub{
    color:#718199;
}


/* Tables */

:root[data-theme="light"] th{
    background:#f4f7f9;
    color:#718096;
    border-color:#dce3e9;
}

:root[data-theme="light"] td{
    color:#4e6078;
    border-color:#e7ecf1;
}

:root[data-theme="light"] tbody tr:hover{
    background:#f8fafc;
}


/* Today activity */

:root[data-theme="light"]
.today-control .today-head{
    background:#ffffff;
}

:root[data-theme="light"]
.today-control .today-metrics>div{
    background:#ffffff;
}

:root[data-theme="light"]
.today-control .today-metrics b{
    color:#11233e!important;
}


/* Workbook / spreadsheet */

:root[data-theme="light"] .excel-shell,
:root[data-theme="light"] .excel-scroll{
    background:#ffffff;
}

:root[data-theme="light"] .excel-titlebar{
    background:#f4f7f9;
}

:root[data-theme="light"] .excel-grid th,
:root[data-theme="light"] .excel-grid td{
    background:#ffffff;
    color:#4a5c73;
    border-color:#e1e7ec;
}

:root[data-theme="light"]
.excel-grid .col-letter{
    background:#eef2f5;
    color:#718096;
}

:root[data-theme="light"]
.excel-grid .row-number{
    background:#f3f6f8!important;
    color:#8492a3;
}

:root[data-theme="light"]
.excel-grid td.pr-value{
    background:#edf7f1;
    color:#35765d;
}


/* Inputs */

:root[data-theme="light"]
select,
:root[data-theme="light"]
input,
:root[data-theme="light"]
textarea{
    background:#ffffff;
    border-color:#d3dce4;
    color:#273a54;
}


/* Buttons */

:root[data-theme="light"] .btn{
    background:#ffffff;
    border-color:#d3dce4;
    color:#52647a;
}

:root[data-theme="light"] .btn.primary{
    background:#bd853d;
    border-color:#bd853d;
    color:#ffffff;
}

:root[data-theme="light"] .btn.ghost{
    background:#ffffff;
}


/* Review workspace stays readable */

:root[data-theme="light"] .review-workspace{
    background:#f6f8fa;
    border-color:#cfd8e1;
}

:root[data-theme="light"] .review-workspace-head,
:root[data-theme="light"] .decision-pane{
    background:#ffffff;
}

:root[data-theme="light"] .review-current{
    background:#ffffff;
}


/* Status widgets */

:root[data-theme="light"]
.automation-health{
    background:#f8fafb;
}

:root[data-theme="light"]
.automation-health[data-state="healthy"]{
    background:#edf8f2;
}


/* Viewer banner */

:root[data-theme="light"]
.viewer-access-banner{
    background:#eef5f8;
    border-color:#cadde6;
}

:root[data-theme="light"]
.viewer-lock{
    background:#e2eff4;
}


/* Help modal */

:root[data-theme="light"] .help-modal{
    background:#ffffff;
    border-color:#d1dae2;
}

:root[data-theme="light"]
.help-modal-head h2{
    color:#142640;
}

:root[data-theme="light"]
.help-modal-body{
    color:#65758b;
}


/* Theme control */

:root[data-theme="light"] .theme-toggle{
    background:#ffffff;
    border-color:#d4dde5;
    color:#63758b;
}


/* v9 - stronger light mode typography */

:root[data-theme="light"]{
    --text:#0f1726;
    --muted:#4f6078;
    --faint:#6c7b8f;
    --line:#d4dde6;
    --line-soft:#e4eaf0;
}

/* global page text */
:root[data-theme="light"] body,
:root[data-theme="light"] .content,
:root[data-theme="light"] .page,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .metric-card,
:root[data-theme="light"] .table-card,
:root[data-theme="light"] .system-card,
:root[data-theme="light"] .today-control{
    color:#0f1726 !important;
}

/* headings */
:root[data-theme="light"] h1,
:root[data-theme="light"] h2,
:root[data-theme="light"] h3,
:root[data-theme="light"] h4,
:root[data-theme="light"] .page-head h1,
:root[data-theme="light"] .panel-head h2,
:root[data-theme="light"] .metric-value,
:root[data-theme="light"] .review-copy h3{
    color:#0f1726 !important;
}

/* normal secondary text */
:root[data-theme="light"] p,
:root[data-theme="light"] .page-head p,
:root[data-theme="light"] .metric-sub,
:root[data-theme="light"] .review-copy p,
:root[data-theme="light"] .viewer-access-banner p,
:root[data-theme="light"] .help-modal-body,
:root[data-theme="light"] .breadcrumb{
    color:#4f6078 !important;
}

/* table headers + labels */
:root[data-theme="light"] th,
:root[data-theme="light"] .today-control .today-metrics span,
:root[data-theme="light"] .review-meta span,
:root[data-theme="light"] .side-status .status-pair,
:root[data-theme="light"] .metric-card .eyebrow,
:root[data-theme="light"] .panel .eyebrow{
    color:#5c6d83 !important;
}

/* table/body values */
:root[data-theme="light"] td,
:root[data-theme="light"] td a,
:root[data-theme="light"] .review-meta b,
:root[data-theme="light"] .today-control .today-metrics b,
:root[data-theme="light"] .metric-card b,
:root[data-theme="light"] .panel b,
:root[data-theme="light"] .workbook-stat b{
    color:#0f1726 !important;
}

/* recent activity rows */
:root[data-theme="light"] .feed-row,
:root[data-theme="light"] .feed-row *{
    color:inherit;
}

:root[data-theme="light"] .feed-row .feed-main,
:root[data-theme="light"] .feed-row .feed-title,
:root[data-theme="light"] .feed-row .feed-amount,
:root[data-theme="light"] .feed-row .feed-result,
:root[data-theme="light"] .feed-row .pr-link{
    color:#0f1726 !important;
}

:root[data-theme="light"] .feed-row .feed-copy,
:root[data-theme="light"] .feed-row .feed-note{
    color:#55667c !important;
}

/* right-side reconciliation area */
:root[data-theme="light"] .recon-card,
:root[data-theme="light"] .recon-card *{
    color:inherit;
}

:root[data-theme="light"] .recon-card h3,
:root[data-theme="light"] .recon-card .panel-head h2,
:root[data-theme="light"] .recon-card .amount,
:root[data-theme="light"] .recon-card b{
    color:#0f1726 !important;
}

:root[data-theme="light"] .recon-card .label,
:root[data-theme="light"] .recon-card span{
    color:#58697f !important;
}

/* top status strip */
:root[data-theme="light"] .top-status,
:root[data-theme="light"] .top-status *{
    color:#5d6d82 !important;
}

:root[data-theme="light"] .role-chip{
    color:#1a2b44 !important;
    border-color:#cfd8e1 !important;
    background:#fff !important;
}

:root[data-theme="light"] .role-admin{
    color:#7a4b10 !important;
    border-color:#e3c08c !important;
    background:#fff7ea !important;
}

:root[data-theme="light"] .role-viewer{
    color:#214768 !important;
    border-color:#b9d0e2 !important;
    background:#edf6fc !important;
}

/* buttons */
:root[data-theme="light"] .btn,
:root[data-theme="light"] .theme-toggle{
    color:#22354e !important;
}

/* form controls */
:root[data-theme="light"] input,
:root[data-theme="light"] select,
:root[data-theme="light"] textarea{
    color:#12233a !important;
}

/* review workspace text */
:root[data-theme="light"] .review-workspace,
:root[data-theme="light"] .review-workspace *{
    color:inherit;
}

:root[data-theme="light"] .review-workspace h1,
:root[data-theme="light"] .review-workspace h2,
:root[data-theme="light"] .review-workspace h3,
:root[data-theme="light"] .review-workspace b,
:root[data-theme="light"] .review-workspace strong{
    color:#0f1726 !important;
}

:root[data-theme="light"] .review-workspace p,
:root[data-theme="light"] .review-workspace small,
:root[data-theme="light"] .review-workspace .muted{
    color:#55667b !important;
}

/* no-data messages */
:root[data-theme="light"] .empty-state,
:root[data-theme="light"] .table-empty,
:root[data-theme="light"] .no-data{
    color:#55667c !important;
}


/* =========================================================
   v10 - Light mode management polish
   ========================================================= */


/* ---------------------------------------------------------
   1. Better card spacing and structure
   --------------------------------------------------------- */

:root[data-theme="light"] .metric-grid{
    gap:14px;
    margin-bottom:20px;
}

:root[data-theme="light"] .metric-card{
    padding:16px 17px;
    min-height:160px;
    border:1px solid #ccd6df !important;
    border-radius:6px;
    box-shadow:
        0 5px 18px rgba(22,43,66,.045);
}

:root[data-theme="light"] .dashboard-grid,
:root[data-theme="light"] .dashboard-grid.second-row{
    gap:16px;
}

:root[data-theme="light"] .panel{
    border:1px solid #ced8e1 !important;
    border-radius:6px;
    overflow:hidden;
}

:root[data-theme="light"] .panel-head{
    padding:13px 15px;
    border-bottom:1px solid #d5dde5;
    background:#fbfcfd;
}

:root[data-theme="light"] .panel-head h2{
    font-size:13px;
    color:#10223b !important;
}

:root[data-theme="light"] .panel-kicker{
    color:#697a90 !important;
}


/* ---------------------------------------------------------
   2. Stronger card / table borders
   --------------------------------------------------------- */

:root[data-theme="light"] .today-control,
:root[data-theme="light"] .table-card,
:root[data-theme="light"] .review-list,
:root[data-theme="light"] .workbook-top,
:root[data-theme="light"] .history-kpis,
:root[data-theme="light"] .review-summary,
:root[data-theme="light"] .pr-summary-strip,
:root[data-theme="light"] .system-card{
    border-color:#ccd6df !important;
}

:root[data-theme="light"] .today-control{
    border-radius:6px;
    overflow:hidden;
}

:root[data-theme="light"] .table-card{
    border-radius:5px;
}


/* ---------------------------------------------------------
   3. Slightly larger, clearer table typography
   --------------------------------------------------------- */

:root[data-theme="light"] table th{
    padding:11px 10px;
    color:#55677f !important;
    font-size:9.5px;
    font-weight:700;
    letter-spacing:.075em;
}

:root[data-theme="light"] table td{
    padding:11px 10px;
    color:#263950 !important;
    font-size:10.5px;
}

:root[data-theme="light"] table tbody tr:hover td{
    background:#f6f9fb;
}

:root[data-theme="light"] .code{
    color:#9a631e !important;
}

:root[data-theme="light"] .num{
    color:#172a43 !important;
}


/* Today's activity */

:root[data-theme="light"] .today-table th{
    background:#f0f4f7 !important;
}

:root[data-theme="light"] .today-table td{
    color:#21354f !important;
}

:root[data-theme="light"] .today-table .today-subject{
    color:#344a64 !important;
}


/* ---------------------------------------------------------
   4. Cleaner light-mode pills / badges
   --------------------------------------------------------- */

:root[data-theme="light"] .pill{
    font-weight:700;
    letter-spacing:.035em;
}

:root[data-theme="light"] .pill.rm{
    color:#8c5618;
    background:#fff3df;
    border-color:#e6bd7f;
}

:root[data-theme="light"] .pill.review{
    color:#755e18;
    background:#fff8dd;
    border-color:#dbc568;
}

:root[data-theme="light"] .pill.ok{
    color:#226b4e;
    background:#e8f6ef;
    border-color:#9dcdb8;
}

:root[data-theme="light"] .pill.neutral{
    color:#536779;
    background:#eef3f6;
    border-color:#c8d3dc;
}

:root[data-theme="light"] .pill.warn{
    color:#795b12;
    background:#fff4d9;
    border-color:#dcc27a;
}


/* Today result badges */

:root[data-theme="light"] .today-result{
    font-weight:700;
    border-radius:3px;
}

:root[data-theme="light"] .today-booked,
:root[data-theme="light"] .today-revision{
    color:#226b4e;
    background:#e9f7ef;
    border-color:#a7d3bd;
}

:root[data-theme="light"] .today-review{
    color:#765b16;
    background:#fff8dd;
    border-color:#dbc56f;
}

:root[data-theme="light"] .today-skipped{
    color:#566779;
    background:#f0f4f6;
    border-color:#cbd5dc;
}

:root[data-theme="light"] .today-duplicate,
:root[data-theme="light"] .today-no-change{
    color:#486278;
    background:#ebf2f6;
    border-color:#bfd0da;
}


/* Review count badge */

:root[data-theme="light"] .nav-badge.danger{
    color:#9a4740;
    background:#fdeceb;
    border-color:#e1aaa6;
}

:root[data-theme="light"] .queue-total{
    color:#97483f;
    background:#fdeeed;
    border-color:#dda9a5;
}


/* ---------------------------------------------------------
   5. Recent activity readability
   --------------------------------------------------------- */

:root[data-theme="light"] .activity-list{
    padding:0 15px;
}

:root[data-theme="light"] .activity-row{
    padding:12px 3px;
    border-bottom-color:#e2e8ed;
}

:root[data-theme="light"] .activity-row:hover{
    background:#f7f9fb;
}

:root[data-theme="light"] .event-time{
    color:#65778d !important;
}

:root[data-theme="light"] .event-main b{
    color:#8c5a1d !important;
    font-weight:650;
}

:root[data-theme="light"] .event-main small{
    color:#53667d !important;
}

:root[data-theme="light"] .event-amount{
    color:#182c45 !important;
    font-weight:600;
}

:root[data-theme="light"] .event-state{
    color:#277356 !important;
    font-weight:650;
}


/* ---------------------------------------------------------
   6. Financial reconciliation / control cards
   --------------------------------------------------------- */

:root[data-theme="light"] .control-list{
    padding:12px 16px 15px;
}

:root[data-theme="light"] .control-row{
    padding:11px 0;
    color:#50647a !important;
    border-bottom-color:#e2e8ed;
}

:root[data-theme="light"] .control-row b{
    color:#172a43 !important;
    font-size:10px;
    font-weight:650;
}

:root[data-theme="light"] .control-row.highlight{
    margin:5px -7px 0;
    padding:11px 7px;
    background:#eaf6ef;
    color:#39765d !important;
}

:root[data-theme="light"] .control-row.highlight b{
    color:#246849 !important;
}


/* ---------------------------------------------------------
   7. Today summary metrics
   --------------------------------------------------------- */

:root[data-theme="light"] .today-control .today-head{
    padding:14px 16px !important;
    background:#fbfcfd !important;
}

:root[data-theme="light"] .today-control .today-metrics>div{
    min-height:72px;
    padding:13px 14px !important;
    background:#fff !important;
}

:root[data-theme="light"] .today-control .today-metrics span{
    color:#63748a !important;
    font-weight:600;
}

:root[data-theme="light"] .today-control .today-metrics b{
    font-size:17px !important;
    color:#10233c !important;
}


/* ---------------------------------------------------------
   8. Automation health panel
   --------------------------------------------------------- */

:root[data-theme="light"] .automation-health{
    padding:8px 10px;
    border-radius:4px;
}

:root[data-theme="light"] .automation-health b{
    font-weight:700;
}

:root[data-theme="light"]
.automation-health[data-state="healthy"]{
    border-color:#8dc2a9;
    background:#eaf7f0;
}

:root[data-theme="light"]
.automation-health[data-state="healthy"] b{
    color:#247051 !important;
}

:root[data-theme="light"]
.automation-health[data-state="healthy"] small{
    color:#527565 !important;
}


/* ---------------------------------------------------------
   9. Review Queue cards
   --------------------------------------------------------- */

:root[data-theme="light"] .review-card{
    padding:15px;
    border-bottom-color:#e1e7ec;
}

:root[data-theme="light"] .review-card:hover{
    background:#fafbfd;
}

:root[data-theme="light"] .review-copy h3{
    color:#172940 !important;
    font-size:11px;
}

:root[data-theme="light"] .review-copy p{
    color:#55677e !important;
}

:root[data-theme="light"] .review-meta span{
    color:#66788e !important;
}

:root[data-theme="light"] .review-meta b{
    color:#263a52 !important;
}


/* ---------------------------------------------------------
   10. Workbook / Excel polish
   --------------------------------------------------------- */

:root[data-theme="light"] .excel-titlebar{
    background:#edf2f5;
    border-bottom-color:#ced8e0;
}

:root[data-theme="light"] .excel-titlebar b{
    color:#1c3048;
}

:root[data-theme="light"] .excel-grid th,
:root[data-theme="light"] .excel-grid td{
    border-right-color:#dbe3e9;
    border-bottom-color:#dbe3e9;
}

:root[data-theme="light"] .excel-grid td{
    color:#2f4258;
}

:root[data-theme="light"] .excel-grid .sheet-title{
    background:#f4eadb !important;
    color:#7c531f !important;
}

:root[data-theme="light"] .excel-grid .sheet-section td{
    background:#f5ecdf !important;
    color:#7e551e !important;
}

:root[data-theme="light"] .excel-grid .sheet-subtotal td{
    background:#eef3f6 !important;
    color:#293e55 !important;
}


/* ---------------------------------------------------------
   11. System / status cards
   --------------------------------------------------------- */

:root[data-theme="light"] .system-card{
    padding:15px;
    background:#fff !important;
}

:root[data-theme="light"] .system-card small{
    color:#66798f !important;
}

:root[data-theme="light"] .system-card b{
    color:#172a42 !important;
}

:root[data-theme="light"] .system-card p{
    color:#5b6d82 !important;
}

:root[data-theme="light"] .system-state.success{
    color:#216b4c;
    background:#e8f5ee;
    border-color:#9fcab6;
}

:root[data-theme="light"] .system-state.pending{
    color:#755a19;
    background:#fff6df;
    border-color:#ddc27b;
}


/* ---------------------------------------------------------
   12. Cleaner buttons
   --------------------------------------------------------- */

:root[data-theme="light"] .btn{
    border-color:#cbd6df;
    box-shadow:none;
}

:root[data-theme="light"] .btn:hover{
    border-color:#b9894c;
    color:#875819 !important;
    background:#fffaf3;
}

:root[data-theme="light"] .btn.primary{
    color:#fff !important;
    background:#b98038;
    border-color:#b98038;
}

:root[data-theme="light"] .btn.primary:hover{
    color:#fff !important;
    background:#a9702e;
    border-color:#a9702e;
}


/* ---------------------------------------------------------
   13. Light mode page spacing
   --------------------------------------------------------- */

:root[data-theme="light"] .content{
    padding-top:28px;
}

:root[data-theme="light"] .page-head{
    margin-bottom:22px;
}



/* Review explanation + verified manual material workflow */
.review-why-box {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 3px;
}

.review-why-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.review-help-button {
  width: 24px;
  height: 24px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.review-why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
}

.review-why-grid > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.review-why-grid span {
  font-size: 10px;
  opacity: .65;
  text-transform: uppercase;
}

.review-why-detail {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.1);
  opacity: .8;
}

.manual-material-entry {
  margin-top: 10px;
}

.manual-material-confirm {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px;
  cursor: pointer;
}

.manual-material-confirm input {
  width: auto;
  margin-top: 2px;
}

.manual-material-confirm span {
  line-height: 1.4;
}

@media (max-width: 900px) {
  .review-why-grid {
    grid-template-columns: 1fr;
  }
}


/* Whole-PR Finance Review workspace */
.whole-pr-resolver {
  margin-top: 14px;
}

.whole-pr-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.whole-pr-summary > div {
  padding: 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 3px;
}

.whole-pr-summary span {
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  opacity: .65;
  text-transform: uppercase;
}

.whole-pr-safety-note {
  margin-bottom: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 3px;
}

.whole-pr-safety-note p {
  margin: 5px 0 0;
  opacity: .75;
}

.whole-pr-lines {
  display: grid;
  gap: 10px;
}

.whole-pr-line-card {
  padding: 13px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 3px;
}

.whole-pr-line-card.resolved {
  border-color: rgba(70,180,120,.55);
}

.whole-pr-line-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 10px;
}

.whole-pr-line-head span {
  font-size: 10px;
  opacity: .6;
}

.whole-pr-line-head h3 {
  margin: 4px 0;
  font-size: 14px;
}

.whole-pr-line-head p {
  margin: 0;
  opacity: .75;
}

.whole-pr-line-head strong {
  white-space: nowrap;
}

.whole-pr-suggestion {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 8px 0 12px;
  padding: 8px 10px;
  border-left: 3px solid currentColor;
  background: rgba(255,255,255,.035);
}

.whole-pr-suggestion.warning {
  opacity: .85;
}

.whole-pr-suggestion span {
  font-size: 10px;
  opacity: .65;
  text-transform: uppercase;
}

.whole-pr-line-editor {
  margin-top: 10px;
}

.whole-pr-new-row-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.whole-pr-new-row-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.whole-pr-prompt,
.whole-pr-match-note {
  margin: 8px 0 0;
  font-size: 12px;
  opacity: .72;
}

@media (max-width: 1050px) {
  .whole-pr-summary {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .whole-pr-new-row-grid {
    grid-template-columns: 1fr;
  }
}


/* v13 — line-item consumption
   Component-only rules. Existing dashboard theme is unchanged. */

.consumption-kpis{
  margin-bottom:10px;
}

.consumption-control{
  margin-bottom:10px;
}

.consumption-control strong{
  font-family:var(--mono);
  font-weight:600;
}

.consumption-control.consumption-reconciled{
  border-left-color:var(--green);
}

.consumption-toolbar{
  margin-bottom:9px;
}

.consumption-toolbar .search-box{
  min-width:min(440px,100%);
}

.consumption-table-wrap{
  max-height:650px;
  overflow:auto;
}

.consumption-table{
  width:100%;
  min-width:1050px;
  border-collapse:collapse;
}

.consumption-table th{
  position:sticky;
  top:0;
  z-index:3;
}

.consumption-table th,
.consumption-table td{
  vertical-align:middle;
}

.consumption-table .consumption-description{
  min-width:260px;
  white-space:normal;
  line-height:1.45;
}

.consumption-table .consumption-used{
  font-weight:600;
}

.consumption-row-over td{
  background:var(--red-soft);
}

.consumption-row-no-budget td{
  background:var(--amber-soft);
}

.consumption-over{
  color:var(--red);
  font-weight:700;
}

.consumption-near{
  color:var(--warn);
  font-weight:700;
}

.consumption-no-budget{
  display:inline-block;
  padding:3px 5px;
  border:1px solid var(--warn);
  color:var(--warn);
  font:9px var(--mono);
}

.consumption-prs{
  min-width:90px;
}

.consumption-prs summary{
  cursor:pointer;
  color:var(--text);
  font:10px var(--mono);
}

.consumption-pr-list{
  display:grid;
  gap:5px;
  min-width:210px;
  padding-top:7px;
}

.consumption-pr-list span{
  display:block;
  font:9px/1.4 var(--mono);
  color:var(--muted);
  white-space:nowrap;
}

.legacy-sheet-hooks{
  display:none!important;
}

@media(max-width:820px){
  .consumption-kpis{
    grid-template-columns:1fr 1fr;
  }

  .consumption-toolbar{
    align-items:stretch;
    flex-direction:column;
  }

  .consumption-toolbar .search-box,
  .consumption-toolbar select{
    width:100%;
    min-width:0;
  }
}


/* v14 — consumption status legend */

.consumption-legend{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin:0 0 10px;
  padding:8px 10px;
  border:1px solid var(--line);
  background:var(--surface);
  font-size:9px;
  color:var(--muted);
}

.consumption-legend span{
  display:flex;
  align-items:center;
  gap:5px;
}

.consumption-legend b{
  color:var(--text);
  font-weight:600;
}

.consumption-legend small{
  margin-left:auto;
  font-size:9px;
  color:var(--muted);
}

.legend-dot{
  width:8px;
  height:8px;
  display:inline-block;
  border-radius:50%;
  flex:0 0 auto;
}

.legend-near,
.legend-no-budget{
  background:var(--warn);
}

.legend-over{
  background:var(--red);
}

@media(max-width:820px){
  .consumption-legend{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }

  .consumption-legend small{
    margin-left:0;
  }
}

/* ==========================================================
   Light-mode management readability pass
   Presentation only. No finance/business logic.
   ========================================================== */

:root[data-theme="light"]{
  --muted:#586b82;
  --faint:#748397;
  --red:#a9322b;
  --red-soft:#f7d9d7;
  --warn:#9a6818;
  --amber-soft:#fff0cf;
}

:root[data-theme="light"] td{
  color:#354a63;
  font-size:11px;
  line-height:1.45;
}

:root[data-theme="light"] th{
  color:#52667f;
  font-size:10px;
  font-weight:700;
}

:root[data-theme="light"] .pr-link{
  font-size:12px;
  font-weight:650;
  color:#9d651f;
}

:root[data-theme="light"] .code{
  font-size:11px;
  font-weight:600;
  color:#925c1e!important;
}

:root[data-theme="light"] .pill{
  font-size:10px;
  padding:4px 7px;
  font-weight:650;
}

:root[data-theme="light"] .category{
  font-size:10px;
  color:#526a80;
}

:root[data-theme="light"] .toolbar-meta,
:root[data-theme="light"] .pagination-note,
:root[data-theme="light"] .event-time,
:root[data-theme="light"] .event-state,
:root[data-theme="light"] .metric-foot{
  font-size:10px;
}

:root[data-theme="light"] .review-id b{
  font-size:12px;
  font-weight:650;
}

:root[data-theme="light"] .review-copy h3{
  font-size:12px;
  color:#21354d;
}

:root[data-theme="light"] .review-copy p{
  font-size:11px;
  color:#566b82;
}

:root[data-theme="light"] .review-meta span{
  font-size:10px;
  color:#60758c;
}

:root[data-theme="light"] .review-meta b{
  font-size:10px;
  color:#304860;
}

:root[data-theme="light"] .review-current p,
:root[data-theme="light"] .classification-route-head p,
:root[data-theme="light"] .classification-route small{
  font-size:11px;
}

:root[data-theme="light"] .classification-route b{
  font-size:11px;
}

:root[data-theme="light"] .review-current-grid span{
  font-size:9px;
}

:root[data-theme="light"] .review-current-grid b{
  font-size:11px;
}

:root[data-theme="light"] .consumption-table td{
  font-size:11px;
  padding-top:11px;
  padding-bottom:11px;
}

:root[data-theme="light"] .consumption-table th{
  font-size:10px;
}

:root[data-theme="light"] .consumption-prs summary{
  font-size:11px;
  font-weight:600;
}


/* Stronger Light-mode budget warnings */

:root[data-theme="light"] .consumption-row-over td{
  background:#f6d4d1!important;
  color:#5f2522;
  border-bottom-color:#e5aaa5;
}

:root[data-theme="light"] .consumption-row-over td:first-child{
  box-shadow:inset 4px 0 0 #a9322b;
}

:root[data-theme="light"] .consumption-row-over .code,
:root[data-theme="light"] .consumption-row-over .consumption-over,
:root[data-theme="light"] .consumption-row-over .danger-text{
  color:#8f211c!important;
  font-weight:750;
}

:root[data-theme="light"] .consumption-row-no-budget td{
  background:#fff0c9!important;
  color:#5e481d;
  border-bottom-color:#e7cc83;
}

:root[data-theme="light"] .consumption-row-no-budget td:first-child{
  box-shadow:inset 4px 0 0 #b47a1b;
}

:root[data-theme="light"] .consumption-no-budget{
  background:#fff7df;
  color:#7b520f;
  border-color:#b47a1b;
  font-size:10px;
  font-weight:750;
}

:root[data-theme="light"] .consumption-near{
  color:#8a5a0c;
  font-weight:750;
}

:root[data-theme="light"] .consumption-over{
  color:#98241f;
  font-weight:750;
}

:root[data-theme="light"] .legend-over{
  background:#a9322b;
}

:root[data-theme="light"] .legend-near,
:root[data-theme="light"] .legend-no-budget{
  background:#b47a1b;
}


/* ==========================================================
   Light-mode Review Workspace readability
   Management / finance viewing only
   ========================================================== */

:root[data-theme="light"] .review-workspace-head h2{
  font-size:22px;
  line-height:1.2;
  font-weight:700;
}

:root[data-theme="light"] .review-workspace-head p{
  font-size:12px;
  line-height:1.5;
  color:#52667e;
}

:root[data-theme="light"] .pane-head{
  min-height:58px;
}

:root[data-theme="light"] .pane-head h3{
  font-size:13px;
  font-weight:700;
  color:#1c3048;
}

:root[data-theme="light"] .pane-head .eyebrow,
:root[data-theme="light"] .read-only{
  font-size:10px;
}

:root[data-theme="light"] .email-view-tab,
:root[data-theme="light"] .email-expand{
  font-size:10px;
  padding:7px 10px;
}


/* Email viewer */

:root[data-theme="light"] .mail-envelope{
  padding:18px 20px;
}

:root[data-theme="light"] .mail-envelope-title{
  font-size:13px;
  font-weight:650;
}

:root[data-theme="light"] .mail-envelope-title span{
  font-size:11px;
  color:#596b7e;
}

:root[data-theme="light"] .mail-subject{
  font-size:17px;
  line-height:1.35;
}

:root[data-theme="light"] .mail-forwarded{
  font-size:11px;
  line-height:1.45;
  color:#617184;
}

:root[data-theme="light"] .mail-body-clean{
  font-size:13px;
  line-height:1.7;
  color:#27394d;
  padding:22px 22px 30px;
}

:root[data-theme="light"] .mail-note-block span{
  font-size:10px;
}

:root[data-theme="light"] .mail-note-block b{
  font-size:12px;
  line-height:1.45;
}

:root[data-theme="light"] .mail-section-title{
  font-size:13px;
  margin-top:18px;
  margin-bottom:9px;
}


/* SAP PR line items */

:root[data-theme="light"] .mail-table th{
  font-size:10.5px;
  padding:10px 10px;
  color:#46596c;
  font-weight:750;
}

:root[data-theme="light"] .mail-table td{
  font-size:12px;
  padding:9px 10px;
  line-height:1.45;
  color:#2c3c4d;
}

:root[data-theme="light"] .mail-table td.material{
  font-size:11.5px;
  font-weight:600;
}

:root[data-theme="light"] .mail-table td.desc{
  font-size:12px;
  min-width:280px;
}

:root[data-theme="light"] .mail-table tr.missing-material td.material{
  color:#972f28;
  background:#fde7e4;
}

:root[data-theme="light"] .mail-total{
  font-size:12px;
  padding-top:14px;
  padding-bottom:14px;
}

:root[data-theme="light"] .mail-total b{
  font-size:14px;
}


/* Decision pane */

:root[data-theme="light"] .review-current{
  padding:16px;
}

:root[data-theme="light"] .review-current h3{
  font-size:14px;
  color:#1b3048;
}

:root[data-theme="light"] .review-current p{
  font-size:12px;
  line-height:1.65;
  color:#4e637a;
}

:root[data-theme="light"] .review-current-grid span{
  font-size:10px;
  color:#60748a;
}

:root[data-theme="light"] .review-current-grid b{
  font-size:12px;
  color:#1f344c;
}

:root[data-theme="light"] .classification-review-notice p{
  font-size:11.5px;
  line-height:1.6;
}

:root[data-theme="light"] .classification-decision-box{
  padding:14px;
}

:root[data-theme="light"] .classification-route-head p{
  font-size:11.5px;
  line-height:1.55;
}

:root[data-theme="light"] .classification-route{
  padding:11px;
  gap:10px;
}

:root[data-theme="light"] .classification-route b{
  font-size:12px;
  color:#1d3047;
}

:root[data-theme="light"] .classification-route small{
  font-size:10.5px;
  line-height:1.5;
  color:#586c82;
}

:root[data-theme="light"] .classification-rm-target label,
:root[data-theme="light"] .classification-reason{
  font-size:10px;
}

:root[data-theme="light"] .classification-rm-target select,
:root[data-theme="light"] .classification-reason textarea{
  font-size:11.5px;
  padding:10px;
}

:root[data-theme="light"] .decision-panel label{
  font-size:10px;
}

:root[data-theme="light"] .decision-panel select,
:root[data-theme="light"] .decision-panel input,
:root[data-theme="light"] .decision-panel textarea{
  font-size:11.5px;
}

:root[data-theme="light"] .decision-actions .btn{
  font-size:11.5px;
  padding:9px 12px;
}


/* PR heading */

:root[data-theme="light"] .pr-title{
  font-size:20px;
  font-weight:700;
}


/* Light-mode email viewer tabs */

:root[data-theme="light"] .email-view-tab{
  background:#ffffff;
  color:#344a63;
  border-color:#cfd9e3;
  font-size:10px;
  font-weight:600;
}

:root[data-theme="light"] .email-view-tab:hover{
  background:#f4f7fa;
  color:#1d344d;
  border-color:#b9c7d5;
}

:root[data-theme="light"] .email-view-tab.active{
  background:#fff1d7;
  color:#80500f;
  border-color:#c7903f;
  font-weight:700;
}


/* ==========================================================
   Overview budget alerts
   Read-only presentation layer
   ========================================================== */

.budget-alert-panel{
  margin:0 0 17px;
  border:1px solid var(--line);
  background:var(--surface);
}

.budget-alert-head{
  min-height:64px;
  padding:13px 15px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.budget-alert-head h2{
  margin:4px 0 3px;
  font-size:14px;
  font-weight:650;
  color:var(--text);
}

.budget-alert-head p{
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}

.budget-alert-summary{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.budget-alert-count{
  min-width:92px;
  border:1px solid var(--line);
  padding:7px 9px;
  display:flex;
  justify-content:space-between;
  gap:9px;
  align-items:center;
  font:9px var(--mono);
  text-transform:uppercase;
  letter-spacing:.05em;
}

.budget-alert-count b{
  font-size:12px;
}

.budget-alert-count.critical{
  border-color:#70403b;
  background:var(--red-soft);
  color:#e1a09a;
}

.budget-alert-count.warning{
  border-color:#6f5d32;
  background:var(--amber-soft);
  color:#dfba72;
}

.budget-alert-table-wrap{
  width:100%;
  overflow:auto;
}

.budget-alert-table{
  min-width:1120px;
}

.budget-alert-table th{
  position:static;
}

.budget-alert-table td{
  vertical-align:middle;
}

.budget-alert-table .budget-alert-description{
  white-space:normal;
  min-width:250px;
  line-height:1.45;
}

.budget-alert-table .budget-alert-code{
  font-family:var(--mono);
  color:var(--amber-2);
  font-weight:650;
}

.budget-alert-row-critical td{
  background:rgba(129,52,46,.12);
}

.budget-alert-row-critical td:first-child{
  box-shadow:inset 3px 0 0 var(--red);
}

.budget-alert-row-warning td{
  background:rgba(168,119,43,.10);
}

.budget-alert-row-warning td:first-child{
  box-shadow:inset 3px 0 0 var(--warn);
}

.budget-alert-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid;
  border-radius:3px;
  padding:4px 7px;
  font:9px var(--mono);
  font-weight:700;
  white-space:nowrap;
}

.budget-alert-status.critical{
  color:#e3a29c;
  border-color:#70403b;
  background:var(--red-soft);
}

.budget-alert-status.warning{
  color:#deba72;
  border-color:#6c5a31;
  background:var(--amber-soft);
}

.budget-alert-loading,
.budget-alert-clear{
  padding:18px!important;
  text-align:center;
  color:var(--muted);
  font-size:11px!important;
}

.budget-alert-foot{
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  padding:9px 14px;
  color:var(--muted);
  font-size:9px;
}

.budget-alert-foot span{
  display:flex;
  align-items:center;
  gap:6px;
}

.budget-alert-foot small{
  margin-left:auto;
  color:var(--faint);
}

.budget-alert-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  display:inline-block;
}

.budget-alert-dot.critical{
  background:var(--red);
}

.budget-alert-dot.warning{
  background:var(--warn);
}


/* Light theme */

:root[data-theme="light"] .budget-alert-head h2{
  color:#1e344c;
}

:root[data-theme="light"] .budget-alert-head p{
  color:#5a6e84;
  font-size:11px;
}

:root[data-theme="light"] .budget-alert-count{
  font-size:10px;
}

:root[data-theme="light"] .budget-alert-count.critical{
  color:#8d2923;
  border-color:#d99a95;
  background:#f8dfdc;
}

:root[data-theme="light"] .budget-alert-count.warning{
  color:#80560f;
  border-color:#dbbc74;
  background:#fff0cf;
}

:root[data-theme="light"] .budget-alert-table th{
  font-size:10px;
}

:root[data-theme="light"] .budget-alert-table td{
  font-size:11px;
}

:root[data-theme="light"] .budget-alert-row-critical td{
  background:#f8dfdc;
  color:#56302d;
}

:root[data-theme="light"] .budget-alert-row-warning td{
  background:#fff3d8;
  color:#59481f;
}

:root[data-theme="light"] .budget-alert-status.critical{
  color:#8c2822;
  border-color:#d99a95;
  background:#fff0ee;
}

:root[data-theme="light"] .budget-alert-status.warning{
  color:#7b520f;
  border-color:#dab96f;
  background:#fff7e3;
}

:root[data-theme="light"] .budget-alert-code{
  color:#955f19!important;
}

:root[data-theme="light"] .budget-alert-foot{
  color:#5c7086;
  font-size:10px;
}

@media(max-width:820px){
  .budget-alert-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .budget-alert-foot small{
    margin-left:0;
    width:100%;
  }
}


/* ==========================================================
   Compact management budget-risk charts
   ========================================================== */

.budget-risk-panel{
  margin:0 0 17px;
  border:1px solid var(--line);
  background:var(--surface);
}

.budget-risk-head{
  min-height:62px;
  padding:12px 15px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.budget-risk-head h2{
  margin:3px 0;
  font-size:14px;
  color:var(--text);
}

.budget-risk-head p{
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}

.budget-risk-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:13px;
}

.budget-risk-card{
  width:100%;
  border:1px solid var(--line);
  background:var(--surface-2);
  color:inherit;
  text-align:left;
  cursor:pointer;
  padding:0;
  transition:
    border-color .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

.budget-risk-card:hover{
  border-color:#80603a;
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(0,0,0,.08);
}

.budget-risk-card-head{
  padding:11px 13px;
  border-bottom:1px solid var(--line-soft);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.budget-risk-card-head span:first-child{
  display:block;
  color:var(--faint);
  font:8px var(--mono);
  letter-spacing:.10em;
}

.budget-risk-card-head h3{
  margin:4px 0 0;
  font-size:12px;
  color:var(--text);
}

.budget-risk-open{
  color:var(--amber);
  font-size:9px;
  white-space:nowrap;
}

.budget-risk-card-body{
  min-height:150px;
  padding:13px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
}

.budget-risk-donut{
  width:126px;
  height:126px;
  border-radius:50%;
  position:relative;
  flex:0 0 126px;
  background:
    conic-gradient(
      var(--green) 0 100%
    );
}

.budget-risk-donut:after{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:50%;
  background:var(--surface);
  border:1px solid var(--line-soft);
}

.budget-risk-donut-centre{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-content:center;
  text-align:center;
}

.budget-risk-donut-centre b{
  font:22px var(--mono);
  color:var(--text);
  line-height:1;
}

.budget-risk-donut-centre span{
  margin-top:5px;
  color:var(--faint);
  font:8px var(--mono);
  text-transform:uppercase;
  letter-spacing:.10em;
}

.budget-risk-stats{
  min-width:155px;
  display:grid;
  gap:8px;
}

.budget-risk-stats>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:7px 9px;
  border:1px solid var(--line-soft);
}

.budget-risk-stats span{
  font-size:9px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.budget-risk-stats b{
  font:12px var(--mono);
}

.budget-risk-stats .critical b{
  color:var(--red);
}

.budget-risk-stats .warning b{
  color:var(--warn);
}

.budget-risk-stats .normal b{
  color:var(--green);
}

.budget-risk-legend{
  border-top:1px solid var(--line);
  padding:8px 13px;
  display:flex;
  align-items:center;
  gap:15px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:9px;
}

.budget-risk-legend span{
  display:flex;
  align-items:center;
  gap:6px;
}

.budget-risk-legend small{
  margin-left:auto;
  color:var(--faint);
}

.budget-risk-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  display:inline-block;
}

.budget-risk-dot.critical{
  background:var(--red);
}

.budget-risk-dot.warning{
  background:var(--warn);
}

.budget-risk-dot.normal{
  background:var(--green);
}


/* Budget detail popup */

.budget-alert-backdrop{
  position:fixed;
  inset:0;
  z-index:160;
  padding:24px;
  background:rgba(0,0,0,.68);
  display:flex;
  align-items:center;
  justify-content:center;
}

.budget-alert-backdrop[hidden]{
  display:none!important;
}

.budget-alert-modal{
  width:min(1380px,97vw);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.budget-alert-modal-head{
  padding:13px 15px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.budget-alert-modal-head h2{
  margin:4px 0;
  font-size:17px;
  color:var(--text);
}

.budget-alert-modal-head p{
  margin:0;
  color:var(--muted);
  font-size:10px;
}

.budget-alert-modal-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line);
}

.budget-alert-modal-kpis>div{
  padding:10px 13px;
  border-right:1px solid var(--line);
}

.budget-alert-modal-kpis>div:last-child{
  border-right:0;
}

.budget-alert-modal-kpis span{
  display:block;
  color:var(--faint);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.budget-alert-modal-kpis b{
  display:block;
  margin-top:5px;
  font:13px var(--mono);
  color:var(--text);
}

.budget-alert-modal .budget-alert-table-wrap{
  overflow:auto;
  min-height:0;
  flex:1;
}

.budget-alert-modal-foot{
  border-top:1px solid var(--line);
  padding:10px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--faint);
  font-size:9px;
}


/* Light theme */

:root[data-theme="light"] .budget-risk-head h2,
:root[data-theme="light"] .budget-risk-card-head h3,
:root[data-theme="light"] .budget-alert-modal-head h2{
  color:#20364e;
}

:root[data-theme="light"] .budget-risk-head p,
:root[data-theme="light"] .budget-alert-modal-head p{
  color:#586d83;
  font-size:11px;
}

:root[data-theme="light"] .budget-risk-card{
  background:#ffffff;
}

:root[data-theme="light"] .budget-risk-card:hover{
  border-color:#bf8a43;
  box-shadow:0 7px 20px rgba(47,67,87,.10);
}

:root[data-theme="light"] .budget-risk-donut:after{
  background:#ffffff;
}

:root[data-theme="light"] .budget-risk-donut-centre b{
  color:#1e334a;
}

:root[data-theme="light"] .budget-risk-stats span{
  color:#62758b;
  font-size:10px;
}

:root[data-theme="light"] .budget-risk-stats b{
  font-size:13px;
}

:root[data-theme="light"] .budget-risk-legend{
  color:#5c7187;
  font-size:10px;
}

:root[data-theme="light"] .budget-alert-modal{
  background:#ffffff;
}

:root[data-theme="light"] .budget-alert-modal-kpis span{
  color:#60748b;
  font-size:9px;
}

:root[data-theme="light"] .budget-alert-modal-kpis b{
  color:#243a52;
}


@media(max-width:900px){
  .budget-risk-grid{
    grid-template-columns:1fr;
  }

  .budget-risk-card-body{
    gap:22px;
  }
}

@media(max-width:560px){
  .budget-risk-card-body{
    flex-direction:column;
  }

  .budget-risk-stats{
    width:100%;
  }

  .budget-alert-backdrop{
    padding:8px;
  }
}


/* ==========================================================
   Light-mode Open Exceptions readability
   ========================================================== */

:root[data-theme="light"] .exception-grid{
  gap:10px;
}

:root[data-theme="light"] .exception{
  background:#f8fafc;
  border:1px solid #d5dee8;
  border-left:3px solid #c58a38;
  box-shadow:0 1px 2px rgba(35,55,75,.04);
}

:root[data-theme="light"] .exception b{
  display:block;
  color:#233950;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
}

:root[data-theme="light"] .exception span{
  display:block;
  margin-top:5px;
  color:#5b7086;
  font-size:10.5px;
  line-height:1.55;
}

:root[data-theme="light"] .exception:hover{
  background:#fffaf2;
  border-color:#d9b477;
}

