:root {
  --bg:#0b1c2e; --grid:#0d2040; --surface:#122540; --surface2:#1a3050;
  --border:#7ee8e860; --accent:#7ee8e8; --accent-dim:#7ee8e818; --accent2:#b8f4f4;
  --accent-bright:#00e0ff;
  --text:#dff4f4; --text-dim:#7eb8c8; --text-muted:#3a6a7a; --radius:5px;
  --g:#3ecf8e; --r:#ff8080; --gp:#7ee8e8;
  --rpt-bg:#eef5fa; --rpt-border:#b8d8ea; --rpt-header:#d4eaf5;
  --rpt-text:#1a3048; --rpt-dim:#4a7090; --rpt-muted:#8ab0c8; --rpt-line:#cce0ee;
  --rpt-green:#1a7a3a; --rpt-red:#b03030; --rpt-section:#a8cce0;
  --header-h:58px; --footer-h:52px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;min-height:100vh;padding-top:var(--header-h);padding-bottom:var(--footer-h)}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:36px 36px;pointer-events:none;z-index:0}

/* ═══ GP REPORT MODAL ═══ */
.gp-overlay{position:fixed;inset:0;z-index:700;background:var(--bg);display:none;flex-direction:column;overflow:hidden}
.gp-overlay.open{display:flex}
.gp-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:80px 20px 80px;-webkit-overflow-scrolling:touch}
.gp-shift-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.gp-shift-title{font-family:'DM Serif Display',serif;font-size:16px;color:var(--text);margin-bottom:3px}
.gp-shift-meta{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);letter-spacing:0.06em}
.gp-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.gp-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.gp-table{width:100%;border-collapse:collapse;font-size:12px;min-width:680px}
.gp-table th{padding:8px 10px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.06em;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}
.gp-table th.lh{text-align:left;padding-left:14px;min-width:200px}
.gp-table th.th{border-left:1px solid var(--border);color:var(--text-dim)}
.gp-table th.th-gp{color:var(--text-dim)}
.gp-table td{padding:7px 10px;color:var(--text-dim);text-align:right;white-space:nowrap;border-bottom:1px solid rgba(13,32,64,0.7)}
.gp-table td.lc{text-align:left;padding-left:14px;color:var(--text-muted);font-size:11.5px}
.gp-table td.tc{border-left:1px solid var(--border);font-family:'DM Mono',monospace;font-size:11px}
.gp-table td.tc-gp{font-family:'DM Mono',monospace;font-size:10px}
.gp-table td.mv{font-family:'DM Mono',monospace;font-size:11px}
.gp-section-row td{padding:8px 14px 4px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.07em;color:var(--text-muted);text-transform:uppercase;background:var(--surface2);border-top:1px solid var(--border);text-align:right}
.gp-subtotal-row td{background:var(--surface2);font-family:'DM Mono',monospace;font-size:11px;font-weight:600;border-top:1px solid var(--border)}
.gp-subtotal-row td.lc{color:var(--text)}
.gp-gp-row td{background:var(--surface);font-family:'DM Mono',monospace;font-size:12px;font-weight:600;border-top:1px solid var(--border)}
.gp-pct-row td{font-family:'DM Mono',monospace;font-size:11px;font-style:italic;color:var(--text-muted)}
.gp-est{color:#c8a840!important;font-style:italic}
.gp-no-data{padding:28px;font-family:'DM Mono',monospace;font-size:11px;color:var(--text-muted);letter-spacing:0.06em;text-align:center}
.gp-footnote{padding:8px 14px;font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);letter-spacing:0.04em;border-top:1px solid var(--border);background:var(--surface2)}
/* Provider Summary Modal */
.prov-overlay{position:fixed;inset:0;z-index:600;background:var(--bg);display:none;flex-direction:column;overflow:hidden}
.prov-overlay.open{display:flex}
.prov-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:80px 20px 80px;-webkit-overflow-scrolling:touch}
.chrome-bar{position:fixed;left:0;right:0;z-index:200;display:flex;align-items:center;padding:0 24px;gap:12px;background:rgba(11,28,46,0.97);backdrop-filter:blur(16px)}
.chrome-bar.top{top:0;height:var(--header-h);border-bottom:1px solid var(--border);justify-content:space-between}
.chrome-bar.bottom{bottom:0;height:var(--footer-h);border-top:1px solid var(--border);justify-content:space-between}

/* Logo */
.logo-row{display:flex;align-items:center;gap:12px}
.logo-img{width:36px;height:36px;border-radius:6px;flex-shrink:0}
.logo-text{display:flex;flex-direction:column;gap:2px}
.logo-name{font-family:'DM Serif Display',serif;font-size:22px;color:var(--text);letter-spacing:-0.02em;line-height:1.1}
.header-subtitle{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dim);letter-spacing:0.12em;text-transform:uppercase}

/* Hamburger */
.nav-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 7px;cursor:pointer;flex-shrink:0;transition:all 0.2s}
.nav-btn:hover{border-color:var(--accent);background:var(--accent-dim)}
.nav-btn span{display:block;width:100%;height:1.5px;background:var(--text-dim);border-radius:2px;transition:background 0.2s}
.nav-btn:hover span{background:var(--accent)}
.nav-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,0.5);display:none;backdrop-filter:blur(2px)}
.nav-overlay.open{display:block}
.nav-drawer{position:fixed;top:0;right:-280px;width:280px;height:100%;z-index:400;background:rgba(9,22,40,0.99);border-left:1px solid var(--border);transition:right 0.3s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;padding-top:var(--header-h)}
.nav-drawer.open{right:0}
.nav-drawer-header{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);letter-spacing:0.18em;text-transform:uppercase;padding:20px 24px 12px;border-bottom:1px solid var(--surface2)}
.nav-item{display:flex;align-items:center;gap:12px;padding:14px 24px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--text-dim);cursor:pointer;transition:all 0.15s;border-bottom:1px solid var(--surface2)}
.nav-item:hover{color:var(--accent);background:var(--accent-dim)}
.nav-item svg{width:15px;height:15px;flex-shrink:0;opacity:0.6}
.nav-note{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);padding:16px 24px;letter-spacing:0.06em;line-height:1.6}

/* Modal header elements */
.page-title{font-family:'DM Serif Display',serif;font-size:16px;color:var(--text);letter-spacing:-0.01em;line-height:1.15}
.page-subtitle{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-dim);letter-spacing:0.06em}
.live-pill{display:flex;align-items:center;gap:7px;background:var(--accent-dim);border:1px solid var(--border);padding:5px 12px;border-radius:20px;flex-shrink:0}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
.live-text{font-family:'DM Mono',monospace;font-size:10px;color:var(--accent);letter-spacing:0.06em;white-space:nowrap}
.btn-back{display:flex;align-items:center;gap:6px;font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dim);background:var(--surface);border:1px solid var(--border);padding:6px 12px;border-radius:var(--radius);cursor:pointer;transition:all 0.2s}
.btn-back:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}
.btn-back svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn{font-family:'DM Mono',monospace;font-size:11px;border-radius:var(--radius);cursor:pointer;transition:all 0.2s;padding:6px 14px;border:1px solid;white-space:nowrap}
.btn-ghost{color:var(--text-dim);background:var(--surface);border-color:var(--border)}
.btn-ghost:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}
.btn-accent{color:var(--rpt-text);background:var(--accent);border-color:var(--accent)}
.btn-accent:hover{background:var(--accent2)}
.btn-sm{font-size:10px;padding:4px 10px}
.footer-left{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}
.footer-right{display:flex;align-items:center;gap:8px}

/* Layout */
.main{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:24px 28px}
.section-label{font-family:'DM Mono',monospace;font-size:12px;color:var(--text-muted);letter-spacing:0.18em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.section-label::after{content:'';flex:1;height:1px;background:var(--surface2)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}

/* Center single items in multi-column layouts */
.three-col > *:only-child,
.two-col > *:only-child {
  grid-column: 1 / -1;
  max-width: 50%;
  margin: 0 auto;
}
@media(max-width:768px) {
  .three-col > *:only-child,
  .two-col > *:only-child {
    max-width: 100%;
  }
}

/* KPI cards — responsive: 4-col desktop, 2-col mobile */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:relative;overflow:hidden;transition:border-color 0.2s,background 0.2s;cursor:pointer;text-align:center}
.kpi-card:hover{border-color:var(--accent);background:var(--surface2)}
.kpi-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);opacity:0.4}
.kpi-label{font-family:'DM Mono',monospace;font-size:11px;color:var(--text);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:10px;line-height:1.4}
.kpi-value{font-family:'DM Sans',sans-serif;font-weight:700;font-size:30px;color:var(--accent-bright);letter-spacing:-0.02em;line-height:1;margin-bottom:6px}
.kpi-value.loading{color:var(--text-muted);font-size:24px}
.kpi-value.kv-green{color:var(--g)!important}
.kpi-value.kv-red{color:var(--r)!important}
.kpi-value.kv-blue{color:var(--gp)!important}
.kpi-value.kv-white{color:var(--text)!important}
.kpi-sub{font-size:12px;color:var(--text-dim);font-family:'DM Mono',monospace}
.kpi-drill-hint{position:absolute;top:10px;right:12px;font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:0.06em;opacity:0;transition:opacity 0.2s}
.kpi-card:hover .kpi-drill-hint{opacity:1}
.chart-note{position:absolute;top:8px;right:12px;font-family:'DM Mono',monospace;font-size:9px;font-weight:700;color:var(--accent-bright);letter-spacing:0.08em;text-transform:uppercase;z-index:1;pointer-events:none}

/* Chart — solid page-color bg, no border */
.chart-section{margin-bottom:28px}
.chart-title{font-family:'DM Serif Display',serif;font-size:17px;color:var(--text);margin-bottom:3px}
.chart-subtitle{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.chart-progress{flex:1;height:2px;background:var(--surface2);border-radius:2px;overflow:hidden;max-width:200px}
.chart-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width 0.3s ease;width:0%}
.chart-progress-text{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted)}
.chart-wrap{position:relative;width:100%;height:240px;background:var(--bg);border-radius:var(--radius);padding:12px}
.chart-wrap canvas{display:block;width:100%!important;height:100%!important;cursor:pointer}
.chart-loading-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:11px;color:var(--text-muted);letter-spacing:0.06em}

/* ═══ DARK REPORT CARDS (dashboard condensed) ═══ */
.drpt-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.drpt-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface2)}
.drpt-title{font-family:'DM Serif Display',serif;font-size:14px;color:var(--accent2)}
.drpt-header-right{display:flex;align-items:center;gap:8px}
.drpt-badge{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);background:var(--bg);border:1px solid var(--surface2);padding:3px 8px;border-radius:3px;letter-spacing:0.06em}
.drpt-subheader{display:flex;justify-content:flex-end;padding:6px 16px 0;background:var(--surface2)}
.drpt-body{padding:14px 16px}
.drpt-body.stmt{min-height:520px}
.drpt-sec{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);letter-spacing:0.14em;text-transform:uppercase;padding:6px 0 4px;margin-top:6px;border-bottom:1px solid var(--surface2)}
.drpt-sec:first-child{margin-top:0;padding-top:0}
.drpt-subsec{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);letter-spacing:0.12em;text-transform:uppercase;padding:4px 0 3px;padding-left:12px;margin-top:3px;border-bottom:1px solid rgba(30,60,90,0.5)}
.drpt-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(13,32,64,0.7);font-size:13px;animation:fadeIn 0.25s ease forwards;opacity:0}
.drpt-row:last-child{border-bottom:none}
.drpt-lbl{color:var(--text-dim);flex:1;font-family:'DM Sans',sans-serif}
.drpt-lbl.i1{padding-left:12px}
.drpt-lbl.i2{padding-left:24px}
.drpt-amt{font-family:'DM Mono',monospace;font-size:13px;min-width:90px;text-align:right;white-space:nowrap;color:var(--text-dim)}
.drpt-amt.g{color:var(--g)}
.drpt-amt.r{color:var(--r)}
.drpt-row.sub{border-top:1px solid var(--surface2);margin-top:2px}
.drpt-row.sub .drpt-lbl{font-weight:600;color:var(--text)}
.drpt-row.sub .drpt-amt{font-weight:600}
.drpt-row.grand{border-top:2px solid var(--border);margin-top:4px}
.drpt-row.grand .drpt-lbl{font-weight:700;font-size:13px;color:var(--accent2)}
.drpt-row.grand .drpt-amt{font-weight:700;font-size:12px}

/* Multi-column P&L layout (LOCUMs dashboard) */
.drpt-header-mc{display:grid;grid-template-columns:1.8fr repeat(3, 1fr) 1.1fr;gap:8px;padding:6px 0 4px;border-bottom:1px solid var(--border);font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted)}
.drpt-lbl-mc-h{text-align:left}
.drpt-amt-mc-h{text-align:right}
.drpt-amt-mc-h.total{font-weight:600;color:var(--text-dim)}
.drpt-row-mc{display:grid;grid-template-columns:1.8fr repeat(3, 1fr) 1.1fr;gap:8px;padding:5px 0;border-bottom:1px solid rgba(13,32,64,0.7);font-size:13px;animation:fadeIn 0.25s ease forwards;opacity:0}
.drpt-row-mc:last-child{border-bottom:none}
.drpt-lbl-mc{color:var(--text-dim);font-family:'DM Sans',sans-serif}
.drpt-lbl-mc.i1{padding-left:12px}
.drpt-amt-mc{font-family:'DM Mono',monospace;font-size:12px;text-align:right;white-space:nowrap;color:var(--text-dim)}
.drpt-amt-mc.g{color:var(--g)}
.drpt-amt-mc.r{color:var(--r)}
.drpt-amt-mc.gp{color:var(--gp)}
.drpt-amt-mc.total{font-weight:600;font-size:13px}
.drpt-row-mc.sub{border-top:1px solid var(--surface2);margin-top:2px}
.drpt-row-mc.sub .drpt-lbl-mc{font-weight:600;color:var(--text)}
.drpt-row-mc.sub .drpt-amt-mc{font-weight:600}
.drpt-row-mc.grand{border-top:2px solid var(--border);margin-top:4px}
.drpt-row-mc.grand .drpt-lbl-mc{font-weight:700;font-size:13px;color:var(--accent2)}
.drpt-row-mc.grand .drpt-amt-mc{font-weight:700;font-size:12px}

/* Responsive: stack columns on narrow screens */
@media(max-width:768px){
  .drpt-header-mc,.drpt-row-mc{grid-template-columns:1fr;gap:4px}
  .drpt-amt-mc-h,.drpt-amt-mc{text-align:left;padding-left:12px}
  .drpt-amt-mc-h.total,.drpt-amt-mc.total{border-top:1px solid var(--surface2);margin-top:4px;padding-top:4px}
}

/* Dark side panels (accounts bar, company info) */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface2)}
.panel-title{font-family:'DM Serif Display',serif;font-size:14px;color:var(--accent2)}
.panel-badge{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);background:var(--bg);border:1px solid var(--surface2);padding:3px 8px;border-radius:3px;letter-spacing:0.06em}
.panel-body{padding:16px}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:9px;animation:fadeIn 0.4s ease forwards;opacity:0}
.bar-label{font-size:12px;color:var(--text-dim);min-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-track{flex:1;height:5px;background:var(--surface2);border-radius:3px;overflow:hidden}
.bar-fill{height:100%;border-radius:3px;transition:width 0.8s cubic-bezier(0.4,0,0.2,1)}
.bar-fill.asset{background:var(--accent)}
.bar-fill.liability{background:#e05555}
.bar-fill.expense{background:#c8a840}
.bar-val{font-family:'DM Mono',monospace;font-size:12px;color:var(--text-dim);min-width:75px;text-align:right}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.info-key{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px}
.info-val{font-size:13px;color:var(--text)}

/* ═══ LIGHT REPORT STYLES (expanded modal views) ═══ */
.rpt-card{background:var(--rpt-bg);border:1px solid var(--rpt-border);border-radius:var(--radius);overflow:hidden}
.rpt-header{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--rpt-border);background:var(--rpt-header)}
.rpt-title{font-family:'DM Serif Display',serif;font-size:14px;color:var(--rpt-text)}
.rpt-header-right{display:flex;align-items:center;gap:8px}
.rpt-badge{font-family:'DM Mono',monospace;font-size:9px;color:var(--rpt-dim);background:rgba(255,255,255,0.6);border:1px solid var(--rpt-border);padding:3px 8px;border-radius:3px;letter-spacing:0.06em}
.rpt-body{padding:14px 16px}
.rpt-major{font-family:'DM Sans',sans-serif;font-weight:600;font-size:12px;color:var(--rpt-text);background:rgba(168,204,224,0.3);padding:6px 10px;margin:12px -4px 4px;border-radius:3px}
.rpt-sub{font-family:'DM Sans',sans-serif;font-size:11px;color:var(--rpt-dim);padding:5px 0 3px;border-bottom:1px solid var(--rpt-line);margin-top:6px;font-weight:500}
.rpt-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--rpt-line);font-size:12px;animation:fadeIn 0.25s ease forwards;opacity:0}
.rpt-row:last-child{border-bottom:none}
.rpt-label{color:var(--rpt-text);flex:1}
.rpt-amount{font-family:'DM Mono',monospace;font-size:11px;color:var(--rpt-text);text-align:right;min-width:88px;white-space:nowrap}
.rpt-amount.pos{color:var(--rpt-green)}
.rpt-amount.neg{color:var(--rpt-red)}
.rpt-amount.bold{font-weight:600;font-size:12px}
.rpt-row.subtotal{border-top:1px solid var(--rpt-section);margin-top:1px}
.rpt-row.subtotal .rpt-label{font-weight:600}
.rpt-row.grand{border-top:2px solid var(--rpt-text);margin-top:4px}
.rpt-row.grand .rpt-label{font-weight:700;font-size:13px}
.i1{padding-left:12px}.i2{padding-left:24px}.i3{padding-left:36px}

/* Skeletons */
@keyframes fadeIn{to{opacity:1}}
.skeleton{background:linear-gradient(90deg,var(--surface2) 25%,var(--surface) 50%,var(--surface2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:3px;height:12px;margin-bottom:8px}
.rsk{background:linear-gradient(90deg,#d4e8f5 25%,#eef5fa 50%,#d4e8f5 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:3px;height:12px;margin-bottom:8px}
.dsk{background:linear-gradient(90deg,var(--surface2) 25%,var(--surface) 50%,var(--surface2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:3px;height:11px;margin-bottom:7px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.error-msg{font-family:'DM Mono',monospace;font-size:10px;color:var(--rpt-red);padding:10px 12px;background:rgba(176,48,48,0.08);border:1px solid rgba(176,48,48,0.2);border-radius:3px}
.error-dark{font-family:'DM Mono',monospace;font-size:10px;color:var(--r);padding:10px 12px;background:rgba(224,85,85,0.08);border:1px solid rgba(224,85,85,0.2);border-radius:3px}

/* Modal overlays — light (BS expanded, P&L expanded, KPI detail) */
.modal-overlay{display:none;position:fixed;inset:0;z-index:500;background:var(--rpt-bg);flex-direction:column}
.modal-overlay.open{display:flex}
.modal-body-scroll{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--rpt-bg);padding:112px 28px 108px}
.modal-body-scroll .rpt-row{padding:6px 0;font-size:12px}
.modal-body-scroll .rpt-major{font-size:13px;padding:7px 10px;margin:14px -4px 6px}
.modal-body-scroll .rpt-card{max-width:900px;margin:0 auto;width:100%;box-sizing:border-box}
/* P&L body extra top pad for filter sub-bar (~48px) */
#pl-modal-body{padding-top:158px}

/* Controls */
.date-label{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dim)}
.date-input{font-family:'DM Mono',monospace;font-size:11px;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:var(--radius);cursor:pointer}
.date-input:focus{outline:none;border-color:var(--accent)}
.select-input{font-family:'DM Mono',monospace;font-size:11px;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:var(--radius);cursor:pointer}
.select-input:focus{outline:none;border-color:var(--accent)}

/* ═══ CALENDAR MODAL ═══ */
.cal-overlay{display:none;position:fixed;inset:0;z-index:500;background:var(--bg);flex-direction:column}
.cal-overlay.open{display:flex}
/* Fixed sub-header for filters */
.cal-subheader{position:fixed;left:0;right:0;z-index:502;background:rgba(9,20,38,0.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:7px 16px 8px;display:none;flex-direction:column;gap:5px;top:var(--header-h)}
.cal-subheader.open{display:flex}
.cal-filter-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.cal-filter-label{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:0.12em;text-transform:uppercase;min-width:44px;flex-shrink:0}
.cal-filter-btn{font-family:'DM Mono',monospace;font-size:9px;padding:3px 9px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;transition:all 0.15s;white-space:nowrap}
.cal-filter-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}
/* Scroll area — pad for header + ~72px subheader */
.cal-scroll{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg);padding:148px 12px 80px}
/* Week-based spanning layout */
.cal-month-block{margin-bottom:28px}
.cal-month-title{font-family:'DM Serif Display',serif;font-size:16px;color:var(--accent2);margin:0 0 6px 2px}
.cal-week-row{margin-bottom:3px;background:var(--surface);border-radius:4px;overflow:hidden;border:1px solid var(--surface2)}
.cal-week-dates{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--surface2)}
.cal-date-cell{padding:3px 5px;min-width:0;border-right:1px solid var(--surface2)}
.cal-date-cell:last-child{border-right:none}
.cal-date-cell.today{background:var(--accent-dim)}
.cal-date-cell.other-month{opacity:0.3}
.cal-date-top{display:flex;align-items:baseline;gap:3px}
.cal-dow-label{font-family:'DM Mono',monospace;font-size:7px;color:var(--text-muted);letter-spacing:0.06em;text-transform:uppercase}
.cal-day-num{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dim);font-weight:500}
.cal-date-cell.today .cal-day-num{color:var(--accent);font-weight:700}
.cal-lanes{padding:2px 3px 3px}
.cal-lane{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}
.cal-lane:last-child{margin-bottom:0}
/* Shift block */
.cal-shift-block{border-radius:3px;padding:3px 5px;cursor:pointer;overflow:hidden;transition:opacity 0.15s;display:flex;align-items:flex-start;gap:5px;min-height:56px}
.cal-shift-block:hover{opacity:0.82}
.cal-shift-avatar{width:48px;height:48px;border-radius:4px;object-fit:cover;flex-shrink:0;border:none;background:transparent;margin-top:0}
.cal-shift-avatar-ph{width:48px;height:48px;border-radius:4px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;color:rgba(255,255,255,0.45);margin-top:0}
.cal-shift-text{flex:1;min-width:0;overflow:hidden}
.cal-shift-loc{font-family:'DM Mono',monospace;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;letter-spacing:0.03em}
.cal-shift-opp{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;opacity:0.85;font-family:'DM Sans',sans-serif}
.cal-shift-prov{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;opacity:0.72;margin-top:1px;font-family:'DM Sans',sans-serif}
.cal-open-badge{font-family:'DM Mono',monospace;font-size:7px;background:rgba(224,85,85,0.3);border:1px solid rgba(224,85,85,0.5);border-radius:2px;padding:0 3px;display:inline-block;margin-top:1px;color:#ffaaaa}
/* Shift detail drawer */
.cal-detail{position:fixed;bottom:0;left:0;right:0;z-index:600;background:var(--surface);border-top:1px solid var(--border);padding:20px 24px 32px;transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);max-height:55vh;overflow-y:auto}
.cal-detail.open{transform:translateY(0)}
.cal-detail-close{position:absolute;top:14px;right:18px;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;line-height:1}
.cal-detail-title{font-family:'DM Serif Display',serif;font-size:16px;color:var(--accent2);margin-bottom:4px;padding-right:30px}
.cal-detail-sub{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);margin-bottom:14px}
.cal-detail-row{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.cal-detail-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex-shrink:0;background:var(--surface2)}
.cal-detail-avatar-ph{width:52px;height:52px;border-radius:50%;background:var(--surface2);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;color:var(--text-muted)}
.cal-detail-provider{font-size:13px;color:var(--text);font-weight:500}
.cal-detail-meta{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);margin-top:3px}
.cal-detail-financials{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--surface2);text-align:center}
.cal-detail-financials .label{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.1em}
.cal-detail-financials .value{font-family:'DM Sans',sans-serif;font-weight:700;font-size:15px;margin-top:3px}
@media(max-width:480px){.up-status{display:none!important}.gp-status-badge{display:none!important}}
.accrual-note{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);letter-spacing:0.04em;padding:6px 12px 4px;opacity:0.75}
/* ═══ SHARED CASH BASE ═══ */
.cash-overlay{position:fixed;inset:0;z-index:500;background:var(--bg);display:none;flex-direction:column;overflow:hidden}
.cash-overlay.open{display:flex}
.cash-page{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.cash-page.active{display:flex}
.cash-chrome{position:relative;flex-shrink:0;background:rgba(11,28,46,0.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:14px 16px 12px;display:flex;align-items:center;justify-content:space-between;z-index:2}
.cash-scroll{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg);padding:20px 16px 72px;-webkit-overflow-scrolling:touch}
.cash-section-label{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;display:flex;align-items:center;gap:10px}
.cash-section-label::after{content:'';flex:1;height:1px;background:var(--surface2)}
.cash-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px}
.cash-strip-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;text-align:center;position:relative;overflow:hidden}
.cash-strip-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);opacity:0.35}
.cash-strip-label{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:6px}
.cash-strip-val{font-family:'DM Sans',sans-serif;font-weight:700;font-size:19px;color:var(--accent-bright);letter-spacing:-0.02em;line-height:1}
.cash-strip-val.g{color:var(--g)}.cash-strip-val.r{color:var(--r)}.cash-strip-val.w{color:var(--text)}
.cash-strip-sub{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);margin-top:3px}
.cash-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:16px}
.cash-chart-title{font-family:'DM Serif Display',serif;font-size:14px;color:var(--text);margin-bottom:2px}
.cash-chart-sub{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cash-chart-progress{height:2px;background:var(--surface2);border-radius:2px;overflow:hidden;width:100px;flex-shrink:0}
.cash-chart-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width 0.3s ease;width:0%}
.cash-chart-wrap{position:relative;width:100%;height:210px;background:var(--bg);border-radius:var(--radius)}
.wf-chart-wrap{position:relative;width:100%;height:280px;background:var(--bg);border-radius:var(--radius)}
.wf-sel-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0 0;margin-top:4px}
.wf-sel-label{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase}
.wf-sel-range{font-family:'DM Mono',monospace;font-size:10px;color:var(--accent)}
.wf-sel-btn{font-family:'DM Mono',monospace;font-size:9px;padding:4px 10px;border-radius:6px;border:1px solid rgba(126,232,232,0.3);background:var(--accent-dim);color:var(--accent);cursor:pointer;white-space:nowrap;transition:all 0.15s}
.wf-sel-btn:hover{background:rgba(126,232,232,0.18)}
.wf-sel-btn.ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}
/* Frozen-pane weekly CF table */
.cf-week-outer{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative;border-radius:var(--radius);margin-bottom:16px;background:var(--surface);border:1px solid var(--border)}
.cf-week-table{border-collapse:separate;border-spacing:0;font-size:11px;min-width:max-content;width:100%}
.cf-week-table th{padding:6px 10px;font-family:'DM Mono',monospace;font-size:8px;letter-spacing:0.06em;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}
.cf-week-table th.lh{text-align:left;padding-left:12px;min-width:190px;position:sticky;left:0;z-index:3;background:var(--surface2);box-shadow:2px 0 4px rgba(0,0,0,0.3)}
.cf-week-table th.tot-col{border-left:2px solid var(--border);background:var(--surface2)}
.cf-week-table td{padding:7px 10px;color:var(--text-dim);text-align:right;border-bottom:1px solid rgba(13,32,64,0.5);font-family:'DM Mono',monospace;font-size:10px;white-space:nowrap}
.cf-week-table td.lc{text-align:left;font-family:'DM Sans',sans-serif;font-size:11px;padding-left:12px;color:var(--text-dim);position:sticky;left:0;z-index:2;background:var(--surface);box-shadow:2px 0 4px rgba(0,0,0,0.25)}
.cf-week-table td.tot-col{border-left:2px solid var(--border)}
.cf-week-table tr.sec-hd td{background:var(--surface2);font-family:'DM Mono',monospace;font-size:8px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);padding:5px 10px;position:sticky;left:0;z-index:2}
.cf-week-table tr.subtot td{background:var(--surface2);font-weight:700;color:var(--text);border-top:1px solid var(--border)}
.cf-week-table tr.subtot td.lc{background:var(--surface2)}
.cf-week-table tr.grand td{background:var(--bg);font-weight:700;font-size:11px;border-top:2px solid var(--border);color:var(--accent2)}
.cf-week-table tr.grand td.lc{background:var(--bg)}
.cf-week-table td.pos{color:var(--g)}.cf-week-table td.neg{color:var(--r)}
.cf-drill-tag{font-family:'DM Mono',monospace;font-size:7px;padding:1px 5px;border-radius:3px;border:1px solid rgba(126,232,232,0.2);background:var(--accent-dim);color:var(--accent);cursor:pointer;margin-left:5px;white-space:nowrap;display:inline-block;vertical-align:middle;transition:all 0.15s}
.cf-drill-tag:hover{background:rgba(126,232,232,0.18);border-color:var(--accent)}
/* CF drill overlay */
.cf-drill-overlay{position:fixed;inset:0;z-index:600;background:var(--bg);display:none;flex-direction:column;overflow:hidden}
.cf-drill-overlay.open{display:flex}
.cf-drill-chrome{position:relative;flex-shrink:0;background:rgba(11,28,46,0.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;z-index:2}
.cf-drill-scroll{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg);padding:20px 0 64px}
/* Drill table — also frozen first col */
.cf-drill-outer{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}
.cf-drill-table{border-collapse:separate;border-spacing:0;font-size:11px;min-width:max-content;width:100%}
.cf-drill-table th{padding:6px 10px;font-family:'DM Mono',monospace;font-size:8px;letter-spacing:0.06em;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}
.cf-drill-table th.lh{text-align:left;padding-left:12px;min-width:200px;position:sticky;left:0;z-index:3;background:var(--surface2);box-shadow:2px 0 4px rgba(0,0,0,0.3)}
.cf-drill-table th.tot-col{border-left:2px solid var(--border)}
.cf-drill-table td{padding:7px 10px;color:var(--text-dim);text-align:right;border-bottom:1px solid rgba(13,32,64,0.5);font-family:'DM Mono',monospace;font-size:10px;white-space:nowrap}
.cf-drill-table td.lc{text-align:left;font-family:'DM Sans',sans-serif;font-size:11px;padding-left:12px;color:var(--text-dim);position:sticky;left:0;z-index:2;background:var(--surface);box-shadow:2px 0 4px rgba(0,0,0,0.25)}
.cf-drill-table td.tot-col{border-left:2px solid var(--border)}
.cf-drill-table tr.subtot td{background:var(--surface2);font-weight:700;color:var(--text);border-top:1px solid var(--border)}
.cf-drill-table tr.subtot td.lc{background:var(--surface2)}
.cf-drill-table td.pos{color:var(--g)}.cf-drill-table td.neg{color:var(--r)}
.cash-note{font-family:'DM Mono',monospace;font-size:8.5px;color:var(--text-muted);padding:7px 14px;letter-spacing:0.04em;line-height:1.6;background:var(--surface2);border-top:1px solid rgba(13,32,64,0.5);margin:0 0 8px}
/* Agg CF v2 */
.cf-agg-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}
.cf-agg-hd{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);background:var(--surface2);padding:7px 12px;border-bottom:1px solid var(--border)}
.cf-agg-row{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid rgba(13,32,64,0.6);gap:6px}
.cf-agg-row:last-child{border-bottom:none}
.cf-agg-lbl{flex:1;font-family:'DM Sans',sans-serif;font-size:11.5px;color:var(--text-dim)}
.cf-agg-amt{font-family:'DM Mono',monospace;font-size:11px;min-width:90px;text-align:right;white-space:nowrap}
.cf-agg-amt.pos{color:var(--g)}.cf-agg-amt.neg{color:var(--r)}
.cf-agg-sub{display:flex;align-items:center;padding:8px 12px;border-top:1px solid var(--border);background:var(--surface2);gap:6px}
.cf-agg-sub-lbl{flex:1;font-family:'DM Mono',monospace;font-size:10px;font-weight:600;color:var(--text);letter-spacing:0.04em}
.cf-agg-sub-amt{font-family:'DM Mono',monospace;font-size:11px;min-width:90px;text-align:right;font-weight:700}
.cf-grand{display:flex;align-items:center;padding:11px 12px;border-top:2px solid var(--border);background:var(--bg)}
.cf-grand-lbl{flex:1;font-family:'DM Serif Display',serif;font-size:13px;color:var(--accent2)}
.cf-grand-amt{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:700;min-width:90px;text-align:right}
/* Range bar v2 */
.cash-range-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px}
.cash-range-label{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;white-space:nowrap}
.cash-range-btn{font-family:'DM Mono',monospace;font-size:9px;padding:4px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface2);color:var(--text-dim);cursor:pointer;transition:all 0.15s;white-space:nowrap}
.cash-range-btn:hover,.cash-range-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}
/* KPI v1 grid */
.cash-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.cash-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;position:relative;overflow:hidden}
.cash-kpi-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);opacity:0.25}
.cash-kpi-title{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;line-height:1.4}
.cash-kpi-val{font-family:'DM Sans',sans-serif;font-weight:700;font-size:17px;color:var(--accent-bright);letter-spacing:-0.01em;line-height:1;margin-bottom:3px}
.cash-kpi-val.g{color:var(--g)}.cash-kpi-val.r{color:var(--r)}.cash-kpi-val.w{color:var(--text)}.cash-kpi-val.b{color:var(--accent-bright)}
.cash-kpi-sub{font-family:'DM Mono',monospace;font-size:7.5px;color:var(--text-muted);line-height:1.4}
/* KPI table v2 */
.cash-metrics-table{width:100%;border-collapse:collapse;font-size:11px}
.cash-metrics-table th{padding:6px 10px;font-family:'DM Mono',monospace;font-size:8px;letter-spacing:0.08em;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);text-align:left}
.cash-metrics-table th.r{text-align:right}
.cash-metrics-table td{padding:9px 10px;border-bottom:1px solid rgba(13,32,64,0.5);vertical-align:middle}
.cash-metrics-table td.r{text-align:right}
.cash-metrics-table tr:last-child td{border-bottom:none}
.cash-metric-name{font-family:'DM Sans',sans-serif;font-size:11.5px;color:var(--text-dim);margin-bottom:2px}
.cash-metric-def{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);line-height:1.5}
.cash-metric-val{font-family:'DM Sans',sans-serif;font-weight:700;font-size:15px;margin-bottom:2px}
.cash-metric-val.g{color:var(--g)}.cash-metric-val.r{color:var(--r)}.cash-metric-val.w{color:var(--text)}.cash-metric-val.b{color:var(--accent-bright)}
.cash-metric-status{font-family:'DM Mono',monospace;font-size:7.5px;letter-spacing:0.06em;padding:2px 5px;border-radius:3px;display:inline-block}
.cash-metric-status.good{background:rgba(62,207,142,0.12);color:var(--g);border:1px solid rgba(62,207,142,0.25)}
.cash-metric-status.warn{background:rgba(200,168,64,0.12);color:#c8a840;border:1px solid rgba(200,168,64,0.25)}
.cash-metric-status.bad{background:rgba(255,128,128,0.12);color:var(--r);border:1px solid rgba(255,128,128,0.25)}
.cash-metric-status.na{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border)}


/* ═══ P&L FILTER SUB-BAR ═══ */
.pl-subheader{position:fixed;left:0;right:0;z-index:502;background:rgba(232,242,250,0.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--rpt-border);padding:7px 16px 8px;display:none;flex-direction:column;gap:6px;top:var(--header-h)}
.pl-subheader.open{display:flex}
.pl-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pl-filter-label{font-family:'DM Mono',monospace;font-size:9px;color:var(--rpt-dim);letter-spacing:0.1em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.pl-select{font-family:'DM Mono',monospace;font-size:11px;background:#fff;border:1px solid var(--rpt-border);color:var(--rpt-text);padding:4px 10px;border-radius:var(--radius);cursor:pointer;min-width:160px}
.pl-select:focus{outline:none;border-color:var(--rpt-section)}

/* ═══ MULTI-COLUMN P&L TABLE ═══ */
.pl-mc-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}
.pl-mc-table{width:100%;border-collapse:collapse;font-size:12px;min-width:500px}
.pl-mc-table th{padding:6px 8px 5px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.06em;color:var(--rpt-dim);background:var(--rpt-header);border-bottom:2px solid var(--rpt-border);text-align:right;white-space:normal;word-break:keep-all;overflow-wrap:normal;max-width:88px;min-width:62px;vertical-align:bottom;line-height:1.35}
.pl-mc-table th.lh{text-align:left;padding-left:14px;min-width:190px;max-width:none;whitespace:nowrap;vertical-align:bottom}
.pl-mc-table th.rh-total{color:var(--rpt-dim);font-weight:600;border-left:1px solid var(--rpt-section);background:rgba(168,204,224,0.15)}
.pl-mc-table td{padding:5px 10px;color:var(--rpt-text);text-align:right;white-space:nowrap;border-bottom:1px solid var(--rpt-line);font-family:'DM Mono',monospace;font-size:11px}
.pl-mc-table td.lc{text-align:left;padding-left:14px;font-family:'DM Sans',sans-serif;color:var(--rpt-dim);font-size:11.5px}
.pl-mc-table td.lc.i1{padding-left:24px}
.pl-mc-table td.lc.i2{padding-left:38px}
.pl-mc-table td.lc.hdr{font-weight:600;color:var(--rpt-text);font-size:12px;font-family:'DM Sans',sans-serif;background:rgba(168,204,224,0.25);padding:6px 14px}
.pl-mc-table td.lc.sub{font-weight:600;color:var(--rpt-text);background:rgba(168,204,224,0.12)}
.pl-mc-table td.tc{font-family:'DM Mono',monospace}
.pl-mc-table td.tc.total-col{border-left:1px solid var(--rpt-section);font-weight:600;color:var(--rpt-text)}
.pl-mc-table tr.mc-section td{background:rgba(126,232,232,0.12);font-family:'DM Sans',sans-serif;font-weight:600;font-size:12px;color:rgba(126,232,232,0.9);padding:8px 14px;border-top:2px solid rgba(126,232,232,0.25);border-bottom:1px solid rgba(126,232,232,0.15);text-transform:uppercase;letter-spacing:0.03em}
.pl-mc-table tr.mc-section td.total-col{background:rgba(126,232,232,0.18)}
.pl-mc-table tr.mc-sub td{background:rgba(168,204,224,0.12);font-family:'DM Sans',sans-serif;font-weight:600;color:var(--rpt-text);border-top:1px solid var(--rpt-border)}
.pl-mc-table tr.mc-sub td.total-col{background:rgba(168,204,224,0.22)}
.pl-mc-table tr.mc-grand td{background:var(--rpt-header);font-family:'DM Mono',monospace;font-weight:700;font-size:12px;border-top:2px solid var(--rpt-text);color:var(--rpt-text)}
.pl-mc-table tr.mc-grand td.total-col{background:rgba(168,204,224,0.28)}
.pl-mc-table tr.mc-grand td.lc{font-family:'DM Sans',sans-serif}
.pl-mc-table .pos{color:var(--rpt-green)}
.pl-mc-table .neg{color:var(--rpt-red)}
.pl-mc-table .gp{color:var(--rpt-section)}
.pl-mc-table td.zero{color:var(--rpt-muted);font-size:12px}
.pl-mc-table tr.mc-section td.tc,.pl-mc-table tr.mc-sub td.tc,.pl-mc-table tr.mc-grand td.tc{font-family:'DM Mono',monospace}
@media(max-width:640px){.cal-scroll{padding-top:168px;padding-left:4px;padding-right:4px}.cal-shift-loc{font-size:8px}}

/* Data source divider & pipeline heading */
.data-divider{display:flex;align-items:center;gap:0;margin:40px 0 32px;position:relative}
.data-divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0.45}
.data-divider-center{display:flex;align-items:center;gap:12px;padding:0 20px;flex-shrink:0}
.data-divider-icon{font-size:20px;opacity:0.75}
.data-divider-text{font-family:'DM Mono',monospace;font-size:10px;color:var(--accent);letter-spacing:0.22em;text-transform:uppercase;opacity:0.85}

/* Section Headers (matching Forward Looking style but larger & bold) */
.section-header{display:flex;align-items:center;gap:0;margin:32px 0 24px;position:relative}
.section-header.first{margin-top:0}
.section-header-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0.45}
.section-header-center{display:flex;align-items:center;gap:14px;padding:0 20px;flex-shrink:0}
.section-header-icon{font-size:22px;opacity:0.75;color:var(--accent)}
.section-header-text{font-family:'DM Mono',monospace;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:0.22em;text-transform:uppercase;opacity:0.9}

.pipeline-heading{font-family:'DM Serif Display',serif;font-size:24px;color:var(--accent2);margin-bottom:6px;letter-spacing:-0.01em}
.pipeline-heading-row{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.pipeline-heading-sub{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-muted);letter-spacing:0.14em;text-transform:uppercase}

@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.two-col{grid-template-columns:1fr}.three-col{grid-template-columns:1fr}.main{padding:16px}.chrome-bar{padding:0 14px}.modal-body-scroll{padding:100px 14px 100px}.rpt-body{padding:12px 10px}.rpt-major{margin:10px -2px 4px}}
@media print{.chrome-bar{display:none!important}.modal-body-scroll{padding:0;overflow:visible}}

/* ═══ BUSINESS INTELLIGENCE ═══ */
.bi-line-row{display:flex;align-items:center;gap:8px;margin-bottom:9px;animation:fadeIn 0.35s ease forwards;opacity:0}
.bi-line-name{font-size:11px;color:var(--text-dim);width:120px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bi-line-track{flex:1;height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;min-width:40px}
.bi-line-fill{height:100%;border-radius:3px;transition:width 0.9s cubic-bezier(0.4,0,0.2,1)}
.bi-line-rev{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dim);min-width:68px;text-align:right;white-space:nowrap}
.bi-gp-pill{font-family:'DM Mono',monospace;font-size:8px;padding:2px 6px;border-radius:10px;white-space:nowrap;min-width:42px;text-align:center}
.bi-gp-pill.hi{background:rgba(62,207,142,0.15);color:var(--g);border:1px solid rgba(62,207,142,0.25)}
.bi-gp-pill.mid{background:rgba(200,168,64,0.15);color:#c8a840;border:1px solid rgba(200,168,64,0.25)}
.bi-gp-pill.lo{background:rgba(255,128,128,0.12);color:var(--r);border:1px solid rgba(255,128,128,0.2)}
.bi-opp-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(13,32,64,0.7);animation:fadeIn 0.25s ease forwards;opacity:0}
.bi-opp-row:last-child{border-bottom:none}
.bi-rank{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);width:16px;text-align:center;flex-shrink:0}
.bi-opp-info{flex:1;min-width:0}
.bi-opp-name{font-size:11.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bi-opp-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.bi-opp-rev{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dim);white-space:nowrap}
.bi-overlay{position:fixed;inset:0;z-index:600;background:var(--bg);display:none;flex-direction:column;overflow:hidden}
.bi-overlay.open{display:flex}
.bi-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:76px 20px 80px;-webkit-overflow-scrolling:touch}
.bi-tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}
.bi-tab{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-muted);padding:10px 18px;cursor:pointer;border-bottom:2px solid transparent;transition:all 0.15s;letter-spacing:0.06em;text-transform:uppercase}
.bi-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.bi-section-title{font-family:'DM Serif Display',serif;font-size:15px;color:var(--accent2);margin-bottom:12px}
.bi-note{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);letter-spacing:0.05em;line-height:1.7;margin-bottom:16px;padding:8px 12px;background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius)}
.bi-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:24px}
.bi-table{width:100%;border-collapse:collapse;font-size:12px;min-width:400px}
.bi-table th{padding:7px 10px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.07em;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;text-transform:uppercase}
.bi-table th:first-child{text-align:left;min-width:160px}
.bi-table th.center{text-align:center}
.bi-table td{padding:7px 10px;color:var(--text-dim);text-align:right;border-bottom:1px solid rgba(13,32,64,0.7);font-family:'DM Mono',monospace;font-size:11px;white-space:nowrap}
.bi-table td:first-child{text-align:left;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--text-dim)}
.bi-table td.center{text-align:center;color:var(--text-muted);font-size:10px}
.bi-table tr.bi-total td{border-top:2px solid var(--border);color:var(--text);font-weight:600;background:var(--surface2)}
.bi-chart-wrap{height:200px;background:var(--bg);border-radius:var(--radius);padding:8px;margin-bottom:20px;position:relative}
.bi-chart-wrap canvas{display:block;width:100%!important;height:100%!important}

/* ═══ R3 BENEFIT ANALYSIS DASHBOARD ═══ */
.r3-page{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.r3-page.active{display:flex}
.r3-chrome{position:relative;flex-shrink:0;background:rgba(232,242,250,0.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--rpt-border);padding:14px 16px 12px;display:flex;align-items:center;justify-content:space-between;z-index:2}
.r3-scroll{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--rpt-bg);padding:0 0 56px}
.r3-section-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--rpt-section);padding:16px 16px 5px;border-top:1px solid var(--rpt-border);margin-top:4px}
.r3-section-label.first{border-top:none;margin-top:0;padding-top:12px}
.r3-stmt-row{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid var(--rpt-line);gap:8px;min-height:40px}
.r3-stmt-row.subtotal{background:rgba(168,204,224,0.1);border-top:1px solid var(--rpt-border);border-bottom:1px solid var(--rpt-border)}
.r3-stmt-row.grand{background:rgba(168,204,224,0.2);border-top:2px solid var(--rpt-section);border-bottom:2px solid var(--rpt-section)}
.r3-lbl{flex:1;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--rpt-text);line-height:1.35}
.r3-lbl.i1{color:var(--rpt-dim);font-size:11.5px;padding-left:14px}
.r3-lbl.bold{font-weight:600}
.r3-amt{font-family:'DM Mono',monospace;font-size:12px;text-align:right;min-width:88px;white-space:nowrap}
.r3-amt.pos{color:var(--rpt-green)}.r3-amt.neg{color:var(--rpt-red)}.r3-amt.bold{font-weight:600;font-size:13px}
.r3-amt.inset{padding-right:20px}
.r3-amt.gp{color:var(--rpt-section)}
.rpt-amount.gp{color:var(--rpt-section)}
#r3-pg-main .r3-amt.gp{color:var(--accent)}
.drpt-amt.gp{color:#00D9FF}
.drpt-amt.white{color:#FFFFFF;font-weight:600}
.r3-drill{font-family:'DM Mono',monospace;font-size:9px;padding:3px 9px;border-radius:8px;border:1px solid rgba(82,145,185,0.5);background:rgba(82,145,185,0.08);color:var(--rpt-section);cursor:pointer;flex-shrink:0;transition:all 0.15s;letter-spacing:0.04em}
.r3-drill:hover{background:rgba(82,145,185,0.2)}
.r3-surplus-box{margin:16px;padding:18px 16px;border-radius:6px;text-align:center}
.r3-surplus-box.pos{background:rgba(62,207,142,0.08);border:1px solid rgba(62,207,142,0.35)}
.r3-surplus-box.neg{background:rgba(224,85,85,0.08);border:1px solid rgba(224,85,85,0.35)}
.r3-surplus-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--rpt-dim)}
.r3-surplus-amt{font-family:'DM Serif Display',serif;font-size:28px;margin:6px 0 2px}
.r3-surplus-amt.pos{color:var(--rpt-green)}.r3-surplus-amt.neg{color:var(--rpt-red)}
.r3-surplus-sub{font-family:'DM Mono',monospace;font-size:9px;color:var(--rpt-dim)}
.r3-note-box{margin:12px 16px;padding:12px 14px;border-radius:5px;background:rgba(168,204,224,0.1);border:1px solid var(--rpt-border)}
.r3-note-label{font-family:'DM Mono',monospace;font-size:9px;color:var(--rpt-dim);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px}
.r3-note-text{font-family:'DM Sans',sans-serif;font-size:11.5px;color:var(--rpt-text);line-height:1.6}
.r3-veh-table{width:100%;border-collapse:collapse;font-size:11px}
.r3-veh-table th{padding:5px 10px;font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:0.06em;color:var(--rpt-dim);background:var(--rpt-header);border-bottom:2px solid var(--rpt-border);text-align:right;white-space:nowrap}
.r3-veh-table th.l{text-align:left}
.r3-veh-table td{padding:7px 10px;text-align:right;border-bottom:1px solid var(--rpt-line);font-family:'DM Mono',monospace;font-size:11px;color:var(--rpt-text)}
.r3-veh-table td.l{text-align:left;font-family:'DM Sans',sans-serif;font-size:11.5px;color:var(--rpt-dim)}
.r3-veh-table tr.tot td{font-weight:600;background:rgba(168,204,224,0.12);border-top:1px solid var(--rpt-border)}
.r3-txn-table{width:100%;border-collapse:collapse;font-size:11px}
.r3-txn-table th{padding:5px 10px;font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:0.06em;color:var(--rpt-dim);background:var(--rpt-header);border-bottom:2px solid var(--rpt-border);text-align:right;white-space:nowrap}
.r3-txn-table th.l{text-align:left}.r3-txn-table td{padding:6px 10px;text-align:right;border-bottom:1px solid var(--rpt-line);font-family:'DM Mono',monospace;font-size:11px;color:var(--rpt-text)}
.r3-txn-table td.l{text-align:left;font-family:'DM Sans',sans-serif;font-size:11.5px}
.r3-txn-table tr.tot td{font-weight:600;background:rgba(168,204,224,0.12);border-top:1px solid var(--rpt-border)}
.r3-info-note{padding:12px 16px;font-family:'DM Mono',monospace;font-size:9px;color:var(--rpt-dim);line-height:1.7;letter-spacing:0.02em}

/* ── R3 main page dark-mode overrides ──────────────────────────────────── */
#r3-pg-main .r3-scroll{background:var(--bg)}
#r3-pg-main .r3-chrome{background:rgba(9,20,38,0.98);border-color:var(--border)}
#r3-pg-main .r3-chrome .page-title{color:var(--text)}
#r3-pg-main .r3-chrome .page-subtitle{color:var(--text-muted)}
#r3-pg-main .r3-section-label{color:var(--accent);border-color:var(--border);letter-spacing:0.14em}
#r3-pg-main .r3-section-label.first{border-top:none}
#r3-pg-main .r3-stmt-row{border-color:var(--border)}
#r3-pg-main .r3-stmt-row.subtotal{background:var(--surface2);border-color:var(--border)}
#r3-pg-main .r3-stmt-row.grand{background:var(--surface);border-color:var(--accent-dim)}
#r3-pg-main .r3-lbl{color:var(--text-dim)}
#r3-pg-main .r3-lbl.bold{color:var(--text)}
#r3-pg-main .r3-lbl.i1{color:var(--text-muted)}
#r3-pg-main .r3-amt.pos{color:var(--g)}
#r3-pg-main .r3-amt.neg{color:var(--r)}
#r3-pg-main .r3-surplus-box.pos{background:rgba(62,207,142,0.07);border-color:rgba(62,207,142,0.3)}
#r3-pg-main .r3-surplus-box.neg{background:rgba(224,85,85,0.07);border-color:rgba(224,85,85,0.3)}
#r3-pg-main .r3-surplus-label{color:var(--text-muted)}
#r3-pg-main .r3-surplus-amt.pos{color:var(--g)}
#r3-pg-main .r3-surplus-amt.neg{color:var(--r)}
#r3-pg-main .r3-surplus-sub{color:var(--text-muted)}
#r3-pg-main .r3-note-box{background:var(--surface);border-color:var(--border)}
#r3-pg-main .r3-note-label{color:var(--text-muted)}
#r3-pg-main .r3-note-text{color:var(--text-dim)}
#r3-pg-main .r3-drill{color:var(--accent);border-color:var(--accent-dim);background:rgba(126,232,232,0.08)}
#r3-pg-main .r3-drill:hover{background:rgba(126,232,232,0.18)}

/* ── R3 Proforma — dark theme matching r3-pg-main ── */
#r3-pg-proforma .r3-scroll{background:var(--bg)}
#r3-pg-proforma .r3-chrome{background:rgba(9,20,38,0.98);border-color:var(--border)}
#r3-pg-proforma .r3-chrome .page-title{color:var(--text)}
#r3-pg-proforma .r3-chrome .page-subtitle{color:var(--text-muted)}
#r3-pg-proforma .r3-section-label{color:var(--accent);border-color:var(--border);letter-spacing:0.14em}
#r3-pg-proforma .r3-section-label.first{border-top:none}
.pf-chart-wrap{padding:0 16px 4px;position:relative}
.pf-chart-wrap canvas{max-height:230px}
.pf-period-note{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);letter-spacing:0.06em;padding:6px 16px 2px}
.pf-cumline-wrap{padding:0 16px 4px}
.pf-cumline-wrap canvas{max-height:160px}
.pf-kpi-row{display:flex;gap:8px;padding:14px 16px 0;flex-wrap:wrap}
.pf-kpi{flex:1;min-width:110px;background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:10px 12px;text-align:center}
.pf-kpi-lbl{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:0.07em;text-transform:uppercase;margin-bottom:4px}
.pf-kpi-val{font-family:'DM Serif Display',serif;font-size:20px}
.pf-kpi-val.pos{color:var(--g)}.pf-kpi-val.neg{color:var(--r)}
.pf-kpi-sub{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);margin-top:2px}
.pf-legend{display:flex;flex-wrap:wrap;gap:10px;padding:8px 16px 0;align-items:center}
.pf-legend-item{display:flex;align-items:center;gap:5px;font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted)}
.pf-legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.pf-assumption-box{margin:12px 16px 0;padding:12px 14px;border-radius:5px;background:var(--surface);border:1px solid var(--border)}
.pf-assumption-lbl{font-family:'DM Mono',monospace;font-size:8.5px;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px}
.pf-assumption-row{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:10.5px;color:var(--text-dim);padding:4px 0;border-bottom:1px solid var(--border)}
.pf-assumption-row:last-child{border-bottom:none}
.pf-assumption-row span:last-child{color:var(--accent)}
/* Proforma weekly table */
.pf-table{width:100%;border-collapse:collapse;font-size:10px}
.pf-table th{padding:5px 8px;font-family:'DM Mono',monospace;font-size:8px;letter-spacing:0.05em;color:var(--text-muted);background:var(--surface2);border-bottom:2px solid var(--border);text-align:right;white-space:nowrap}
.pf-table th.l{text-align:left}
.pf-table td{padding:5px 8px;text-align:right;border-bottom:1px solid var(--border);font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dim)}
.pf-table td.l{text-align:left;font-family:'DM Sans',sans-serif;font-size:10.5px;color:var(--text-dim);white-space:nowrap}
.pf-table td.pos{color:var(--g)}.pf-table td.neg{color:var(--r)}
.pf-table td.bold{font-weight:600;color:var(--text)}
.pf-table tr.tot td{font-weight:600;background:var(--surface);border-top:1px solid var(--accent-dim)}
.pf-table tr.tot td.pos{color:var(--g)}.pf-table tr.tot td.neg{color:var(--r)}
.pf-debug-box{margin:8px 16px;padding:10px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);line-height:1.7}


/* ═══════════════════════════════════════════════════════════════════════════
   NEW DASHBOARD STYLES - ADD TO END OF styles.css
   ═══════════════════════════════════════════════════════════════════════════ */

/* View Switcher */
.view-switcher {
  display: flex;
  gap: 0;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 4px;
  margin: 16px;
}

.view-tab {
  flex: 1;
  padding: 12px 24px;
  background: transparent;
  color: rgba(255,255,255,0.6);
  border: none;
  border-radius: 6px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}

.view-tab:hover {
  color: rgba(255,255,255,0.9);
  background: rgba(255,255,255,0.04);
}

.view-tab.active {
  background: rgba(126,232,232,0.15);
  color: rgba(126,232,232,1);
  border: 1px solid rgba(126,232,232,0.3);
  box-shadow: 0 0 20px rgba(126,232,232,0.2);
}

/* Dashboard Views */
.dashboard-view {
  display: none;
}

.dashboard-view.active {
  display: block;
}

/* KPI Row */
.kpi-row {
  display: flex;
  gap: 16px;
  margin: 16px;
}

@media (max-width: 768px) {
  .kpi-row {
    flex-direction: column;
  }
}

/* KPI Cards */
.kpi-card {
  flex: 1;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease;
}

.kpi-card:hover {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.12);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.kpi-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 12px;
}

.kpi-value {
  font-family: 'DM Mono', monospace;
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1.2;
}

.kpi-value.positive { 
  color: rgba(62,207,142,1); 
}

.kpi-value.negative { 
  color: rgba(239,68,68,1); 
}

.kpi-value.neutral {
  color: rgba(251,191,36,1);
}

.kpi-period {
  font-family: 'DM Sans', sans-serif;
  font-size: 10px;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Ensure text is centered in statement KPI badges */
.stmt-kpi-badge-label {
  text-align: center;
}

.stmt-kpi-badge-value {
  text-align: center;
}

/* Chart containers */
.drpt-body canvas {
  max-height: 100%;
}

/* Multi-column P&L table styling */
/* Mobile responsiveness for view switcher */
@media (max-width: 600px) {
  .view-switcher {
    flex-direction: column;
  }
  
  .view-tab {
    padding: 12px;
    font-size: 12px;
  }
}

/* Loading skeleton animation for charts */
@keyframes skeleton-loading {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: calc(200px + 100%) 0;
  }
}

.chart-skeleton {
  height: 280px;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.02) 0px,
    rgba(255,255,255,0.06) 40px,
    rgba(255,255,255,0.02) 80px
  );
  background-size: 200px 100%;
  animation: skeleton-loading 1.5s infinite;
  border-radius: 4px;
}

/* ══════════════════════════════════════════════════════════════
   PROVIDER SOLUTIONS REDESIGN — EXECUTIVE CLINICAL LIGHT THEME
   Preserves existing HTML + JS functionality. This section intentionally
   overrides the original dark dashboard styling without changing behavior.
   ══════════════════════════════════════════════════════════════ */
:root {
  --bg:#f4f8fb;
  --grid:#dbeaf2;
  --surface:#ffffff;
  --surface2:#edf5f9;
  --border:#bfdbe8;
  --accent:#0b9fc7;
  --accent-dim:#0b9fc714;
  --accent2:#0f5f7c;
  --accent-bright:#008ec0;
  --text:#102f42;
  --text-dim:#4f778a;
  --text-muted:#87a7b5;
  --radius:16px;
  --g:#17895c;
  --r:#c84d4d;
  --gp:#0b9fc7;
  --rpt-bg:#f7fbfd;
  --rpt-border:#c7dfeb;
  --rpt-header:#e6f2f7;
  --rpt-text:#17364b;
  --rpt-dim:#577c90;
  --rpt-muted:#98b3c0;
  --rpt-line:#d9e9f0;
  --rpt-green:#137a4f;
  --rpt-red:#b63f3f;
  --rpt-section:#bcd9e7;
  --header-h:68px;
  --footer-h:58px;
}

* { scrollbar-color: rgba(11,159,199,.38) transparent; }
body {
  background:
    radial-gradient(circle at top left, rgba(11,159,199,.18), transparent 34rem),
    linear-gradient(135deg, #f8fcfe 0%, #eef6fa 44%, #f4f8fb 100%) !important;
  color: var(--text) !important;
  font-family: 'DM Sans', system-ui, -apple-system, Segoe UI, sans-serif !important;
}
body::before {
  opacity:.55 !important;
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px) !important;
  background-size:42px 42px !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 70%);
}

/* App chrome */
.chrome-bar {
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
  box-shadow: 0 10px 30px rgba(16,47,66,.08) !important;
}
.chrome-bar.top {
  border-bottom: 1px solid rgba(191,219,232,.9) !important;
}
.chrome-bar.bottom {
  border-top: 1px solid rgba(191,219,232,.9) !important;
}
.logo-img {
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  box-shadow: 0 8px 20px rgba(11,159,199,.22) !important;
  background:#fff !important;
  padding:2px !important;
}
.logo-name {
  color: var(--text) !important;
  font-size:23px !important;
  letter-spacing:-.035em !important;
}
.header-subtitle,
.page-subtitle,
.live-text,
.section-label,
.chart-subtitle,
.panel-badge,
.drpt-badge,
.rpt-badge,
.nav-drawer-header,
.nav-note {
  color: var(--text-dim) !important;
}
.live-pill {
  background: linear-gradient(135deg, rgba(11,159,199,.12), rgba(23,137,92,.08)) !important;
  border:1px solid rgba(11,159,199,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.live-dot { background:var(--g) !important; box-shadow:0 0 12px var(--g) !important; }
.nav-btn,
.btn,
.btn-back,
.btn-ghost {
  background:#fff !important;
  border:1px solid rgba(160,199,216,.7) !important;
  border-radius:14px !important;
  color:var(--text-dim) !important;
  box-shadow:0 6px 14px rgba(16,47,66,.06) !important;
}
.nav-btn:hover,
.btn:hover,
.btn-back:hover,
.btn-ghost:hover {
  color:var(--accent) !important;
  border-color:rgba(11,159,199,.55) !important;
  transform:translateY(-1px) !important;
}
.nav-btn span { background:var(--accent2) !important; }
.btn-accent {
  background:linear-gradient(135deg, var(--accent), #57c4dc) !important;
  color:#fff !important;
  border-color:transparent !important;
}

/* Navigation drawer */
.nav-overlay { background:rgba(16,47,66,.28) !important; backdrop-filter:blur(5px) !important; }
.nav-drawer {
  background:rgba(255,255,255,.98) !important;
  border-left:1px solid var(--border) !important;
  box-shadow:-22px 0 45px rgba(16,47,66,.16) !important;
}
.nav-drawer-header { border-bottom:1px solid var(--border) !important; }
.nav-item {
  color:var(--text-dim) !important;
  border-bottom:1px solid rgba(191,219,232,.6) !important;
  margin:4px 12px !important;
  padding:14px 16px !important;
  border-radius:14px !important;
}
.nav-item:hover,
.nav-item.active {
  color:var(--accent2) !important;
  background:linear-gradient(135deg, rgba(11,159,199,.12), rgba(11,159,199,.04)) !important;
  border-left:0 !important;
}

/* Layout and section rhythm */
.main { max-width:1320px !important; padding:28px 30px !important; }
.section-label {
  font-size:11px !important;
  letter-spacing:.16em !important;
  margin:8px 0 14px !important;
}
.section-label::after { background:linear-gradient(90deg, var(--border), transparent) !important; }

/* Cards and panels */
.card,
.drpt-card,
.rpt-card,
.gp-shift-header,
.gp-table-wrap,
.kpi-card,
.chart-wrap,
.modal-card,
.prov-summary-card {
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(191,219,232,.85) !important;
  border-radius:22px !important;
  box-shadow:0 18px 45px rgba(16,47,66,.10) !important;
}
.panel-header,
.drpt-header,
.rpt-header {
  background:linear-gradient(135deg, rgba(230,242,247,.95), rgba(255,255,255,.86)) !important;
  border-bottom:1px solid var(--border) !important;
}
.panel-title,
.drpt-title,
.rpt-title,
.chart-title,
.page-title,
.cal-month-title,
.cal-detail-title,
.gp-shift-title {
  color:var(--accent2) !important;
  letter-spacing:-.015em !important;
}
.panel-badge,
.drpt-badge,
.rpt-badge {
  background:#fff !important;
  border-color:rgba(191,219,232,.9) !important;
  border-radius:999px !important;
}
.panel-body,
.drpt-body,
.rpt-body { color:var(--text) !important; }

/* KPI cards — centered, branded, more executive */
.kpi-grid { gap:16px !important; margin-bottom:32px !important; }
.kpi-card {
  min-height:142px !important;
  padding:22px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(235,247,252,.92)) !important;
  overflow:hidden !important;
}
.kpi-card::before {
  content:'';
  position:absolute;
  top:-44px;
  right:-44px;
  width:112px;
  height:112px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(11,159,199,.20), rgba(11,159,199,0) 68%);
}
.kpi-card::after {
  height:5px !important;
  background:linear-gradient(90deg, #0b9fc7, #7fd6e9, transparent) !important;
  opacity:.75 !important;
}
.kpi-card:hover {
  background:#fff !important;
  border-color:rgba(11,159,199,.65) !important;
  transform:translateY(-3px) !important;
  box-shadow:0 24px 55px rgba(16,47,66,.15) !important;
}
.kpi-label {
  color:var(--text-dim) !important;
  line-height:1.25 !important;
  min-height:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-wrap:balance !important;
}
.kpi-value,
.kpi-value.neutral,
.kpi-value.kv-blue,
.kpi-value.positive {
  color:var(--accent-bright) !important;
  font-size:34px !important;
  font-family:'DM Sans', sans-serif !important;
  font-weight:800 !important;
}
.kpi-value.kv-green { color:var(--g) !important; }
.kpi-value.kv-red,
.kpi-value.negative { color:var(--r) !important; }
.kpi-sub,
.kpi-period { color:var(--text-muted) !important; }
.kpi-drill-hint {
  top:12px !important;
  right:14px !important;
  color:var(--accent) !important;
}

/* Charts */
.chart-section { margin-bottom:34px !important; }
.chart-wrap {
  background:rgba(255,255,255,.78) !important;
  min-height:260px !important;
  padding:18px !important;
}
.chart-progress { background:rgba(191,219,232,.65) !important; }
.chart-progress-bar { background:linear-gradient(90deg, var(--accent), #68cce0) !important; }
.chart-note { color:var(--accent2) !important; }
.chart-loading-msg,
.chart-progress-text { color:var(--text-muted) !important; }

/* Condensed report rows */
.drpt-sec,
.drpt-subsec,
.gp-section-row td {
  background:rgba(230,242,247,.75) !important;
  color:var(--accent2) !important;
  border-bottom:1px solid rgba(191,219,232,.8) !important;
  border-top:0 !important;
  border-radius:12px !important;
  padding:8px 10px !important;
  margin:10px 0 4px !important;
}
.drpt-row,
.drpt-row-mc,
.rpt-row,
.gp-table td,
.cash-metrics-table td {
  border-bottom:1px solid rgba(217,233,240,.9) !important;
  color:var(--text-dim) !important;
}
.drpt-lbl,
.drpt-lbl-mc,
.rpt-label,
.bar-label,
.info-val,
.cal-detail-provider { color:var(--text) !important; }
.drpt-amt,
.drpt-amt-mc,
.rpt-amount,
.bar-val { color:var(--text-dim) !important; }
.drpt-amt.g,
.drpt-amt-mc.g,
.rpt-amount.pos { color:var(--g) !important; }
.drpt-amt.r,
.drpt-amt-mc.r,
.rpt-amount.neg { color:var(--r) !important; }
.drpt-row.sub,
.drpt-row-mc.sub,
.rpt-row.subtotal { background:rgba(230,242,247,.45) !important; border-radius:10px !important; }
.drpt-row.grand,
.drpt-row-mc.grand,
.rpt-row.grand {
  background:linear-gradient(135deg, rgba(11,159,199,.10), rgba(23,137,92,.06)) !important;
  border-top:2px solid rgba(11,159,199,.35) !important;
  border-radius:14px !important;
  padding-left:10px !important;
  padding-right:10px !important;
}
.drpt-row.grand .drpt-lbl,
.drpt-row-mc.grand .drpt-lbl-mc,
.rpt-row.grand .rpt-label { color:var(--accent2) !important; }
.drpt-header-mc,
.pl-mc-table th,
.gp-table th {
  background:rgba(230,242,247,.9) !important;
  color:var(--text-dim) !important;
  border-bottom:1px solid var(--border) !important;
}

/* Bar / info panels */
.bar-track { background:rgba(191,219,232,.55) !important; height:8px !important; }
.bar-fill.asset { background:linear-gradient(90deg, var(--accent), #69cfe3) !important; }
.bar-fill.liability { background:linear-gradient(90deg, #d36060, #e58b8b) !important; }
.bar-fill.expense { background:linear-gradient(90deg, #c99a31, #e4c36d) !important; }
.info-key { color:var(--text-muted) !important; }

/* Calendar */
.cal-overlay,
.prov-overlay,
.gp-overlay { background:var(--bg) !important; }
.cal-subheader {
  background:rgba(255,255,255,.92) !important;
  border-bottom:1px solid var(--border) !important;
  box-shadow:0 12px 24px rgba(16,47,66,.08) !important;
}
.cal-filter-btn {
  background:#fff !important;
  color:var(--text-dim) !important;
  border-color:var(--border) !important;
  border-radius:999px !important;
}
.cal-filter-btn.active,
.cal-filter-btn:hover {
  background:var(--accent-dim) !important;
  color:var(--accent2) !important;
  border-color:rgba(11,159,199,.5) !important;
}
.cal-week-row {
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(191,219,232,.8) !important;
  border-radius:18px !important;
  box-shadow:0 10px 30px rgba(16,47,66,.07) !important;
}
.cal-week-dates,
.cal-date-cell,
.cal-lanes { border-color:rgba(191,219,232,.7) !important; }
.cal-date-cell.today { background:rgba(11,159,199,.10) !important; }
.cal-dow-label,
.cal-day-num,
.cal-detail-meta,
.cal-detail-financials .label { color:var(--text-muted) !important; }
.cal-date-cell.today .cal-day-num { color:var(--accent2) !important; }
.cal-shift-block { border-radius:12px !important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.35) !important; }
.cal-shift-avatar,
.cal-shift-avatar-ph { border-radius:12px !important; }
.cal-detail {
  background:rgba(255,255,255,.98) !important;
  border-top:1px solid var(--border) !important;
  box-shadow:0 -18px 45px rgba(16,47,66,.14) !important;
  border-radius:26px 26px 0 0 !important;
}
.cal-detail-avatar,
.cal-detail-avatar-ph { border-color:var(--border) !important; background:var(--surface2) !important; }
.cal-detail-financials { border-top:1px solid var(--border) !important; }

/* Expanded report and KPI detail modals */
.modal-overlay,
.kpi-detail-overlay {
  background:rgba(244,248,251,.96) !important;
  backdrop-filter:blur(10px) !important;
}
.modal-body-scroll,
.prov-body,
.gp-body,
.cal-scroll { background:transparent !important; }
.kpi-detail-card {
  background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(235,247,252,.96)) !important;
  border:1px solid rgba(11,159,199,.35) !important;
  border-radius:28px !important;
  box-shadow:0 28px 80px rgba(16,47,66,.20) !important;
}
.kpi-detail-close {
  background:#fff !important;
  border-color:var(--border) !important;
  color:var(--text-dim) !important;
  border-radius:14px !important;
}
.kpi-detail-icon {
  background:linear-gradient(135deg, rgba(11,159,199,.15), rgba(23,137,92,.08)) !important;
  border:1px solid rgba(11,159,199,.35) !important;
  color:var(--accent2) !important;
  border-radius:20px !important;
}
.kpi-detail-title-text { color:var(--text) !important; }
.kpi-detail-category,
.kpi-detail-section-label { color:var(--accent2) !important; }
.kpi-detail-section-label::before { background:var(--accent) !important; }
.kpi-detail-value.neutral,
.kpi-detail-value { color:var(--accent-bright) !important; }
.kpi-detail-value.positive { color:var(--g) !important; }
.kpi-detail-value.negative { color:var(--r) !important; }
.kpi-detail-value.warning { color:#b78321 !important; }
.kpi-detail-section-text {
  background:rgba(230,242,247,.65) !important;
  border-left:4px solid rgba(11,159,199,.35) !important;
  color:var(--text) !important;
  border-radius:16px !important;
}

/* Statement KPI badges inside inline HTML styles */
.stmt-kpi-row { gap:10px !important; padding:0 16px !important; }
.stmt-kpi-badge {
  background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(235,247,252,.9)) !important;
  border:1px solid rgba(191,219,232,.9) !important;
  border-radius:18px !important;
  box-shadow:0 10px 24px rgba(16,47,66,.07) !important;
  min-height:82px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
}
.stmt-kpi-badge:hover {
  border-color:rgba(11,159,199,.55) !important;
  transform:translateY(-2px) !important;
  background:#fff !important;
}
.stmt-kpi-badge.positive { border-color:rgba(23,137,92,.30) !important; background:rgba(23,137,92,.06) !important; }
.stmt-kpi-badge.warning { border-color:rgba(201,154,49,.35) !important; background:rgba(201,154,49,.08) !important; }
.stmt-kpi-badge.negative { border-color:rgba(200,77,77,.30) !important; background:rgba(200,77,77,.06) !important; }
.stmt-kpi-badge-label {
  color:var(--text-dim) !important;
  min-height:24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1.2 !important;
  text-wrap:balance !important;
}
.stmt-kpi-badge-value { color:var(--text) !important; font-size:17px !important; }
.stmt-kpi-badge-value.positive { color:var(--g) !important; }
.stmt-kpi-badge-value.negative { color:var(--r) !important; }
.stmt-kpi-badge-value.warning { color:#b78321 !important; }
.stmt-kpi-badge-expand { color:var(--accent2) !important; }

/* View switcher / tabs */
.view-switcher {
  background:rgba(255,255,255,.75) !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  padding:5px !important;
  box-shadow:0 10px 25px rgba(16,47,66,.07) !important;
}
.view-tab {
  border-radius:14px !important;
  color:var(--text-dim) !important;
}
.view-tab.active,
.view-tab:hover {
  background:linear-gradient(135deg, var(--accent), #6dcde0) !important;
  color:#fff !important;
}

/* Skeletons and errors */
.skeleton,
.dsk,
.rsk,
.chart-skeleton {
  background:linear-gradient(90deg, #dcecf3 25%, #f7fbfd 50%, #dcecf3 75%) !important;
  background-size:200% 100% !important;
}
.error-dark,
.error-msg {
  background:rgba(200,77,77,.08) !important;
  border-color:rgba(200,77,77,.25) !important;
  color:var(--r) !important;
  border-radius:14px !important;
}

@media(max-width:768px) {
  .main { padding:20px 14px !important; }
  .kpi-grid { grid-template-columns:repeat(2,1fr) !important; gap:12px !important; }
  .kpi-card { min-height:132px !important; padding:18px 12px !important; }
  .kpi-value { font-size:28px !important; }
  .two-col,
  .three-col { grid-template-columns:1fr !important; }
  .chrome-bar { padding:0 14px !important; }
  .logo-name { font-size:19px !important; }
  .header-subtitle { font-size:8px !important; }
}


/* ═══ THEME SWITCHER + EXTERNAL LOGO SUPPORT ═══ */
.logo-img{object-fit:cover;object-position:center;display:block;background:var(--surface2);border:1px solid var(--border);box-shadow:0 0 0 1px rgba(255,255,255,0.02)}
.nav-settings-header{margin-top:auto;border-top:1px solid var(--surface2)}
.nav-settings-item{justify-content:flex-start;gap:12px}
.nav-settings-item .theme-toggle{margin-left:auto;width:42px;height:22px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);position:relative;transition:background .2s,border-color .2s;flex:0 0 auto}
.nav-settings-item .theme-toggle-knob{position:absolute;width:16px;height:16px;border-radius:50%;left:3px;top:2px;background:var(--accent);box-shadow:0 0 10px rgba(126,232,232,.35);transition:transform .2s,background .2s}
.nav-settings-item .theme-toggle.dark{background:var(--accent-dim);border-color:var(--accent)}
.nav-settings-item .theme-toggle.dark .theme-toggle-knob{transform:translateX(19px)}
.nav-settings-item .theme-label{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-muted);min-width:34px;text-align:right;letter-spacing:.04em}
