*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#FAFAF8;--bg2:#F3F1EC;--bg3:#E8E5DE;
  --card:#FFFFFF;--card2:#FDFCFA;
  --border:#E5E1D8;--border2:#D4CEBC;
  --t1:#1E1B18;--t2:#3D3A36;--t3:#5C5850;--t4:#7A756D;
  --accent:#C8960C;--accent2:#B8870A;
  --navy:#3D3529;--navy2:#524836;--navyLight:#F5F0E6;
  --blue:#5C7A3D;--blue2:#6B8E4A;--blueBg:#F0F5EB;
  --green:#5C7A3D;--green2:#6B8E4A;--greenBg:#F0F5EB;
  --red:#B85042;--red2:#C86052;--redBg:#FBF0EE;
  --amber:#C8960C;--amber2:#D4A21E;--amberBg:#FDF8EC;
  --purple:#7A6840;--purple2:#8E7A50;--purpleBg:#F5F0E6;
  --teal:#8B7635;--teal2:#9E8840;
  --mono:'DM Sans','Noto Sans KR',system-ui,sans-serif;--sans:'Noto Sans KR',sans-serif;--display:'Outfit',sans-serif;
}
body{font-family:var(--sans);background:var(--bg);color:var(--t2);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;word-break:break-all}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#C8CDD5;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#9CA3AF}

/* ── HEADER ── */
.hdr{background:linear-gradient(135deg,#3D3529 0%,#5C4E3A 100%);
  padding:0 32px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:100;height:52px}
.hdr-logo{width:32px;height:32px;background:#C8960C;
  border-radius:4px;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;color:#fff;font-family:var(--display);margin-right:14px}
.hdr-title{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.8px;color:#fff}
.hdr-title span{color:var(--accent);opacity:.6}
.hdr-sub{font-size:9px;color:rgba(255,255,255,.45);letter-spacing:.3px;margin-top:1px;font-weight:300}
.badges{display:flex;gap:5px;flex-wrap:wrap}
.badge{padding:3px 10px;border-radius:2px;font-size:9.2px;font-weight:600;letter-spacing:.4px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.7)}
.bd-blue{border-color:rgba(0,160,175,.4);color:var(--accent);background:rgba(0,160,175,.1)}
.bd-green{border-color:rgba(46,139,87,.4);color:#5EC48A;background:rgba(46,139,87,.1)}
.bd-amber{border-color:rgba(196,138,0,.4);color:#E0A820;background:rgba(196,138,0,.1)}
.bd-red{border-color:rgba(192,64,64,.3);color:#E87070;background:rgba(192,64,64,.08)}
.bd-purple{border-color:rgba(91,74,158,.3);color:#9080D0;background:rgba(91,74,158,.08)}

/* ── TABS ── */
.tab-nav{background:#fff;border-bottom:1px solid var(--border);padding:0 2px;display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;align-items:center;
  scrollbar-width:thin;position:sticky;top:60px;z-index:98}
.tab-nav::-webkit-scrollbar{height:6px}
.tab-nav::-webkit-scrollbar-thumb{background:#D7CCC8;border-radius:3px}
.tab-nav .tab-row-break{display:none}
.tab-btn{background:none;border:none;color:var(--t4);padding:5px 6px;font-size:10px;letter-spacing:-0.2px;line-height:1.15;text-align:center;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;
  transition:all .2s;white-space:nowrap;letter-spacing:.1px}
.tab-btn:hover{color:var(--t1)}
.tab-btn.active{color:var(--navy);border-bottom-color:var(--accent);font-weight:600}

/* ── CONTENT ── */
.tab-content{display:none;padding:24px 32px 32px;animation:fadeUp .3s ease;max-width:1440px;margin:0 auto;
  overflow-y:auto !important;max-height:calc(100vh - 95px) !important}
.tab-content.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes rdcPulse{0%,100%{box-shadow:0 0 0 0 rgba(184,80,66,.3)}50%{box-shadow:0 0 12px 4px rgba(184,80,66,.15)}}

/* ── 조직 필터 바 ── */
.org-filter-bar{display:flex;align-items:center;gap:4px;padding:8px 32px;
  background:#EDE9E1;border-bottom:1px solid var(--border);flex-wrap:wrap;z-index:50;
  position:sticky;top:0;
  box-shadow:0 2px 8px rgba(0,0,0,.12);margin:0 -32px 16px -32px}
.org-filter-bar.of-hide{display:none}
.org-filter-bar .of-lbl{font-size:9px;font-weight:700;color:var(--t3);margin-right:4px;white-space:nowrap}
.org-filter-bar .of-btn{padding:3px 10px;border-radius:3px;font-size:9px;font-weight:600;cursor:pointer;
  border:1px solid var(--border);background:#fff;color:var(--t3);transition:all .15s;white-space:nowrap;font-family:var(--sans)}
.org-filter-bar .of-btn:hover{border-color:var(--accent);color:var(--t1)}
.org-filter-bar .of-btn.of-on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700;opacity:1}
.org-filter-bar .of-btn.of-dim{opacity:0.45}
.org-filter-bar .of-btn.of-dim.of-on{opacity:1}
.org-filter-bar .of-sep{width:1px;height:14px;background:var(--border);margin:0 4px}
.org-filter-bar .of-btn.of-branch{font-size:8px;color:var(--accent)}
.org-filter-bar .of-btn.of-branch.of-on{background:var(--accent);color:#fff !important;border-color:var(--accent) !important}
.org-filter-bar .of-btn.of-center{font-size:8px;color:var(--purple)}
.org-filter-bar .of-btn.of-center.of-on{background:var(--purple);color:#fff;border-color:var(--purple)}

/* ── TREND SUB TOGGLE ── */
.trend-sub-btn{padding:6px 16px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;
  border:1px solid var(--border);background:#fff;color:var(--t3);transition:all .15s;font-family:var(--sans)}
.trend-sub-btn:hover{border-color:var(--accent);color:var(--t1)}
.trend-sub-btn.trend-sub-on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}

/* ── SEC TITLE ── */
.sec-ttl{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--navy);
  text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:16px;
  font-family:var(--display)}
.dash-fc-btn{padding:2px 8px;font-size:9px;font-weight:700;border:1px solid rgba(196,181,253,.4);border-radius:3px;background:rgba(124,58,237,.15);color:#c4b5fd;cursor:pointer;font-family:var(--sans);transition:all .15s;white-space:nowrap}
.dash-fc-btn:hover{background:rgba(124,58,237,.3);color:#fff}
.dash-fc-btn.dash-fc-on{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.4)}
.dash-fc-btn.dash-fc-forecast{background:#7c3aed;color:#fff;border-color:#7c3aed;box-shadow:0 0 8px rgba(124,58,237,.4)}
.mc-tog{padding:2px 8px;font-size:8px;font-weight:600;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--t3);cursor:pointer;font-family:var(--sans);transition:all .15s}
.mc-tog:hover{background:var(--bg2)}
.mc-tog.mc-tog-on{background:var(--navy);color:#fff;border-color:var(--navy)}
.unit-tag{font-size:9px;font-weight:600;color:#fff;background:var(--navy);padding:2px 8px;border-radius:3px;letter-spacing:0;text-transform:none;white-space:nowrap}
.sec-ttl::after{content:'';flex:1;height:1px;background:var(--border)}

/* ── KPI ── */
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}
.kpi{background:#fff;border:1px solid var(--border);
  border-radius:4px;padding:16px 18px;position:relative;overflow:hidden;
  transition:all .2s;cursor:default}
.kpi:hover{border-color:var(--accent);box-shadow:0 2px 12px rgba(0,43,73,.08)}
.kpi::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%}
.kpi.c1::before{background:var(--accent)}
.kpi.c2::before{background:var(--green)}
.kpi.c3::before{background:var(--amber)}
.kpi.c4::before{background:var(--purple)}
.kpi.c5::before{background:var(--navy)}
.kpi-lbl{font-size:9px;color:var(--t4);letter-spacing:.3px;font-weight:500;margin-bottom:8px;text-transform:uppercase}
.kpi-val{font-family:var(--mono);font-size:18px;font-weight:600;color:var(--t1);margin-bottom:6px;letter-spacing:-.5px}
.kpi-sub{display:flex;align-items:center;gap:6px}
.pill{font-size:7px;font-weight:700;padding:2px 8px;border-radius:2px}
.pg{background:var(--greenBg);color:var(--green)}
.pa{background:var(--amberBg);color:var(--amber)}
.pb{background:var(--blueBg);color:var(--blue)}
.pr{background:var(--redBg);color:var(--red)}
.pt{background:var(--navyLight);color:var(--navy)}
.pp{background:var(--purpleBg);color:var(--purple)}
.kpi-desc{font-size:8px;color:var(--t4)}
.kpi-ico{position:absolute;right:14px;top:14px;font-size:18px;opacity:.04}

/* ── ALERT ── */
.alert-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.ac{border-radius:4px;padding:14px 16px;border-left:3px solid;background:#fff}
.ac-r{border-color:var(--red)}
.ac-a{border-color:var(--amber)}
.ac-b{border-color:var(--accent)}
.ac-g{border-color:var(--green)}
.a-tag{font-size:9px;font-weight:600;letter-spacing:.2px;margin-bottom:5px}
.ac-r .a-tag{color:var(--red)}.ac-a .a-tag{color:var(--amber)}
.ac-b .a-tag{color:var(--accent)}.ac-g .a-tag{color:var(--green)}
.a-val{font-family:var(--mono);font-size:17px;font-weight:600;color:var(--t1)}
.a-desc{font-size:8px;color:var(--t4);margin-top:4px;line-height:1.7}

/* ── CARD ── */
.card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:18px}
.card-hd{font-size:10px;font-weight:600;color:var(--navy);letter-spacing:.2px;
  margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}

/* ── TABLE ── */
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:9px}
th{background:var(--navy);color:#fff;padding:8px 10px;text-align:center;font-weight:600;
  letter-spacing:.3px;border-bottom:none;white-space:nowrap;font-size:8px}
td{padding:7px 10px;text-align:center;border-bottom:1px solid var(--border);
  font-family:var(--mono);font-size:8px;white-space:nowrap;color:var(--t2)}
tr:hover td{background:rgba(0,160,175,.03)}
td.L{text-align:left;font-family:var(--sans);font-size:9px}
td.LL{text-align:left;font-family:var(--sans);font-size:9px}
.grade{display:inline-block;padding:2px 8px;border-radius:2px;font-weight:700;font-size:8px}
.gS{background:var(--amberBg);color:var(--amber);border:none}
.gA{background:var(--blueBg);color:var(--blue);border:none}
.gB{background:var(--greenBg);color:var(--green);border:none}
.gC{background:var(--amberBg);color:var(--amber);border:none}
.gD{background:var(--redBg);color:var(--red);border:none}

/* ── TAB SEPARATORS ── */
.tab-sep{font-size:7px;font-weight:700;letter-spacing:0.5px;padding:3px 4px;white-space:nowrap;flex-shrink:0;
  align-self:center;border-radius:2px;margin:0 2px;font-family:var(--display)}
.tab-sep.grow{color:var(--accent);background:var(--navyLight)}
.tab-sep.profit{color:var(--green);background:var(--greenBg)}
.tab-sep.stable{color:var(--amber);background:var(--amberBg)}
.tab-sep.infra{color:var(--t4);background:var(--bg2)}
.tab-sep.px{color:var(--red);background:var(--redBg)}

/* ── CATEGORY SECTION HEADERS ── */
.cat-hdr{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:10px 0}
.cat-icon{width:32px;height:32px;border-radius:4px;display:flex;align-items:center;
  justify-content:center;font-size:14px;font-weight:900}
.cat-title{font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;
  font-family:var(--display)}
.cat-sub{font-size:9px;color:var(--t4);margin-top:2px}
.cat-grow .cat-icon{background:var(--navyLight);color:var(--accent)}
.cat-grow .cat-title{color:var(--navy)}
.cat-profit .cat-icon{background:var(--greenBg);color:var(--green)}
.cat-profit .cat-title{color:var(--green)}
.cat-stable .cat-icon{background:var(--amberBg);color:var(--amber)}
.cat-stable .cat-title{color:var(--amber)}
.cat-divider{border:none;border-top:1px solid var(--border);margin:24px 0 18px}

/* ── PNL ── */
.pnl-wrap{background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden}
.pr-row{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border);
  transition:background .15s;cursor:default;gap:4px}
.pr-row:hover{background:rgba(0,160,175,.02)}
.pr-row.h1{background:var(--navyLight);border-bottom:2px solid var(--border)}
.pr-row.sub{background:var(--greenBg);border-top:1px solid var(--green);border-bottom:1px solid var(--green)}
.pr-row.tax{background:var(--amberBg)}
.pr-row.net{background:var(--greenBg);border-top:2px solid var(--green)}
.pr-row.eva{background:var(--purpleBg);border:1px solid var(--purple);margin:4px 0;border-radius:3px}
.pi0{font-size:10.5px;font-weight:700;color:var(--t1);flex:3}
.pi1{font-size:9.5px;color:var(--t2);flex:3;padding-left:16px}
.pi2{font-size:9.5px;color:var(--t3);flex:3;padding-left:32px}
.pi3{font-size:8.5px;color:var(--t4);flex:3;padding-left:48px}
.pi4{font-size:7.5px;color:var(--t4);flex:3;padding-left:60px;font-style:italic}
.pamt{font-family:var(--mono);font-size:9.5px;font-weight:500;min-width:130px;text-align:right}
.pamt-l{font-family:var(--mono);font-size:8.5px;color:var(--t4);min-width:110px;text-align:right;font-style:italic}
.ptag{font-size:6px;padding:1px 6px;border-radius:2px;font-weight:700;margin-left:6px;white-space:nowrap}
.pt-rev{background:var(--navyLight);color:var(--navy)}
.pt-cst{background:var(--redBg);color:var(--red)}
.pt-prf{background:var(--greenBg);color:var(--green)}
.pt-rsk{background:var(--amberBg);color:var(--amber)}
.pt-l4{background:var(--purpleBg);color:var(--purple)}

/* ── WATERFALL ── */
.wf{background:#fff;border:1px solid var(--border);border-radius:4px;padding:16px}
.wf-item{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.wf-lbl{font-size:8px;color:var(--t3);width:85px;text-align:right;white-space:nowrap}
.wf-bg{flex:1;height:20px;background:var(--bg2);border-radius:2px;overflow:hidden}
.wf-fill{height:100%;border-radius:2px;display:flex;align-items:center;padding-left:6px;
  font-size:6px;font-weight:700;white-space:nowrap;transition:width .9s ease}
.wf-v{font-family:var(--mono);font-size:7px;width:70px;text-align:right;color:var(--t2)}

/* ── ASSUM ── */
.assum-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.assum-sec{background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden}
.assum-hd{padding:8px 14px;font-size:9px;font-weight:700;letter-spacing:.3px}
.assum-row{display:flex;align-items:center;padding:6px 14px;border-top:1px solid var(--border);gap:8px}
.assum-row:hover{background:var(--bg)}
.assum-lbl{font-size:9px;color:var(--t2);flex:2}
.assum-sub{font-size:6px;color:var(--t4);flex:2;line-height:1.4}
.assum-inp{background:#fff;border:1px solid var(--accent);color:var(--navy);
  font-family:var(--mono);font-size:10px;font-weight:500;padding:4px 8px;
  border-radius:3px;width:100px;text-align:right;outline:none;transition:all .2s}
.assum-inp:focus{border-color:var(--navy);color:var(--navy);box-shadow:0 0 0 2px rgba(0,160,175,.15)}
.assum-unit{font-size:8px;color:var(--t4);min-width:28px}

/* ── MGMT TABLE ── */
.mgmt-table{width:100%;border-collapse:collapse;font-size:8px;margin-top:12px}
.mgmt-table th{background:var(--navy);color:#fff;padding:8px 12px;text-align:left;font-size:8px;font-weight:600;border-bottom:none}
.mgmt-table td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top;font-family:var(--sans);font-size:9px;color:var(--t2);line-height:1.6}
.mgmt-table tr:hover td{background:rgba(0,160,175,.04)}
.mgmt-table td.L1{font-size:10px;font-weight:700;color:var(--navy)}
.mgmt-table td.L2{color:var(--t2)}
.mgmt-table td.L3{color:var(--t3)}
.mgmt-table td.L4{color:var(--purple);font-family:var(--mono);font-size:7px}
.lv-tag{display:inline-block;font-size:6px;font-weight:700;padding:2px 6px;border-radius:2px;margin-right:5px;vertical-align:middle}
.lv-s{background:var(--amberBg);color:var(--amber)}
.lv-m{background:var(--navyLight);color:var(--navy)}
.lv-l{background:var(--greenBg);color:var(--green)}
.src-badge{display:inline-block;font-size:6px;padding:2px 6px;border-radius:2px;background:var(--purpleBg);color:var(--purple);margin-bottom:3px}
.method-txt{font-size:8px;color:var(--t4);margin-top:2px;font-style:italic}

/* ── SIM ── */
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.res-row{display:flex;justify-content:space-between;align-items:center;
  padding:7px 12px;border-radius:3px;border:1px solid var(--border);margin-bottom:4px}
.res-row.hl-g{background:rgba(46,139,87,.05);border-color:var(--green)}
.res-row.hl-a{background:rgba(196,138,0,.05);border-color:var(--amber)}
.res-row.hl-p{background:rgba(91,74,158,.05);border-color:var(--purple)}
.res-row.hl-t{background:rgba(0,160,175,.05);border-color:var(--accent)}
.res-row.hl-r{background:rgba(192,64,64,.05);border-color:var(--red)}
.res-lbl{font-size:9px;color:var(--t3)}
.res-val{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--t1)}

/* ── INSIGHT ── */
.insight{background:#fff;border:1px solid var(--border);border-radius:4px;padding:14px;margin-top:12px}
.ins-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border)}
.ins-row:last-child{border-bottom:none}
.itag{font-size:7px;font-weight:700;padding:2px 6px;border-radius:2px;white-space:nowrap;margin-top:2px}
.it-r{background:var(--redBg);color:var(--red)}
.it-a{background:var(--amberBg);color:var(--amber)}
.it-g{background:var(--greenBg);color:var(--green)}
.it-b{background:var(--navyLight);color:var(--navy)}
.it-p{background:var(--purpleBg);color:var(--purple)}
.itext{font-size:9px;color:var(--t2);line-height:1.8}

/* ── MINI CHART ── */
.mini-chart{display:flex;align-items:flex-end;gap:3px;height:50px;margin-top:8px}
.mini-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:50px;position:relative}
.bar-rv{border-radius:2px 2px 0 0;width:100%;background:var(--accent)}
.bar-op{position:absolute;bottom:0;width:40%;border-radius:2px 2px 0 0;background:var(--green);opacity:.85}
.bar-nt{position:absolute;bottom:0;right:0;width:20%;border-radius:2px 2px 0 0;background:var(--amber);opacity:.8}
.mini-lbl{font-size:7px;color:var(--t4);margin-top:3px}
.chart-leg{display:flex;gap:12px;margin-top:8px}
.leg-i{display:flex;align-items:center;gap:5px;font-size:8px;color:var(--t3)}
.leg-d{width:8px;height:8px;border-radius:1px}

/* ── DIST BAR ── */
.dist-bar{display:flex;border-radius:2px;overflow:hidden;height:22px;margin:8px 0}
.dist-seg{display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600}

/* ── COHORT ── */
.hm-h{background:var(--greenBg);color:var(--green);border-radius:2px;font-weight:700}
.hm-m{background:var(--amberBg);color:var(--amber);border-radius:2px}
.hm-l{background:var(--redBg);color:var(--red);border-radius:2px}
.hm-n{background:var(--bg2);color:var(--t4);border-radius:2px}

/* ── L4 특수 행 ── */
.l4-row{background:var(--purpleBg)}
.l4-formula{font-size:8px;color:var(--t4);font-family:var(--mono);padding:3px 8px;
  background:var(--bg);border-radius:2px;margin-left:4px}

/* ── PRODUCT TABLE ── */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:14px}
.prod-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:12px 14px}
.prod-card-hd{font-size:10px;font-weight:600;color:var(--navy);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.prod-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border)}
.prod-row:last-child{border-bottom:none}
.prod-lbl{font-size:8px;color:var(--t4)}
.prod-val{font-family:var(--mono);font-size:9px;color:var(--t1)}

.sc-cur td{background:var(--navyLight)!important;font-weight:700}
/* ------------------------------------------------------------------
   [시스템 덮어쓰기] 300명 규모의 실질 영업 현장 데이터 산출 로직
   이 코드는 기존의 gblReset 함수를 무효화하고 새로운 로직을 적용합니다.
------------------------------------------------------------------ */
window.gblReset = function(silent) {
  M = [];
  var totalCount = 300; // 재적 300명 고정
  var orgs = ["강남본부", "강북본부", "경기지사", "영남본부", "호남본부", "직할지점"];
  var carriers = ["삼성화재", "현대해상", "DB손보", "메리츠", "KB손보", "흥국화재", "한화손보"];
  var actCnt = 0;

  for (var i = 1; i <= totalCount; i++) {
    var r = Math.random();
    
    // 1. 가동 상태 결정 (현실적 가동률 약 68% 반영)
    var status = "가동";
    if (r > 0.68) status = "비가동";
    if (r > 0.93) status = "휴면";

    // 2. 성과 등급(Tier) 부여 - 상위 10%가 핵심 실적을 내는 구조
    var tier = "C"; 
    var tr = Math.random();
    if (tr > 0.90) tier = "S";      // 상위 10%
    else if (tr > 0.70) tier = "A"; // 상위 30%
    else if (tr < 0.20) tier = "D"; // 하위 20%

    // 3. 실제 실적 및 수입보험료 산출
    var count = 0;
    var premium = 0;
    if (status === "가동") {
      actCnt++;
      if (tier === "S") {
        count = Math.floor(Math.random() * 12) + 8; 
        premium = count * (Math.floor(Math.random() * 40000) + 70000); 
      } else if (tier === "A") {
        count = Math.floor(Math.random() * 5) + 4;
        premium = count * (Math.floor(Math.random() * 30000) + 50000);
      } else if (tier === "C") {
        count = Math.floor(Math.random() * 3) + 1;
        premium = count * (Math.floor(Math.random() * 20000) + 40000);
      } else {
        count = 1;
        premium = Math.floor(Math.random() * 20000) + 30000;
      }
    }

    M.push({
      id: "A" + (1000 + i),
      name: "설계사" + (1000 + i),
      org: orgs[Math.floor(Math.random() * orgs.length)],
      status: status,
      tier: tier,
      carrier: carriers[Math.floor(Math.random() * carriers.length)],
      count: count,
      premium: Math.floor(premium / 10) * 10,
      joined: "2023-" + (Math.floor(Math.random() * 12) + 1) + "-15"
    });
  }

  // 화면 갱신 함수들 안전하게 실행
  var fns = ['gblRefreshAll', 'buildChart', 'buildOrgFilterBar', 'renderPnL', 'renderMgmt'];
  fns.forEach(function(f) {
    if (typeof window[f] === 'function') {
      try { window[f](); } catch(e) { /* silent */ }
    }
  });

  if (!silent) {
    alert("✅ 실제 영업현장 데이터(300명) 반영 완료\n" 
        + "----------------------------\n"
        + "• 총 재적: " + totalCount + "명\n"
        + "• 실제 가동: " + actCnt + "명\n"
        + "• 평균 가동률: " + ((actCnt/totalCount)*100).toFixed(1) + "%");
  }
};

// 페이지 로드 시 또는 초기화 시 자동으로 실행되도록 설정
setTimeout(function() { gblReset(true); }, 100);





/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   v22 APEX — WORLD-CLASS 3D EXECUTIVE DESIGN
   Font: DM Sans (tabular-nums)
   Effect: Neumorphic depth + Glass surfaces
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

:root{
  --bg:#F5F3EE;--bg2:#EAE6DE;--bg3:#DDD8CE;
  --card:#FFFFFF;--card2:#FDFCFA;
  --border:#E5E1D8;--border2:#D4CEBC;
  --t1:#2D2A26;--t2:#4A4641;--t3:#7A756D;--t4:#A09A90;
  --accent:#C8960C;--accent2:#E8B030;
  --navy:#3D3529;--navy2:#524836;--navyLight:#F5F0E6;
  --blue:#5C7A3D;--blue2:#6B8E4A;--blueBg:#F0F5EB;
  --green:#5C7A3D;--green2:#6B8E4A;--greenBg:#F0F5EB;
  --red:#B85042;--red2:#D4685A;--redBg:#FBF0EE;
  --amber:#C8960C;--amber2:#D4A21E;--amberBg:#FDF8EC;
  --purple:#7A6840;--purple2:#9E8850;--purpleBg:#F5F0E6;
  --teal:#8B7635;--teal2:#9E8840;
  --mono:'DM Sans','Noto Sans KR',system-ui,sans-serif;
  --sans:'DM Sans','Noto Sans KR',system-ui,sans-serif;
  --display:'DM Sans','Noto Sans KR',system-ui,sans-serif;
  --R:10px;
  --shadow-sm:0 1px 2px rgba(61,53,41,.04),0 1px 4px rgba(61,53,41,.02);
  --shadow-md:0 2px 8px rgba(61,53,41,.06),0 4px 16px rgba(61,53,41,.03);
  --shadow-lg:0 4px 12px rgba(61,53,41,.08),0 12px 32px rgba(61,53,41,.05);
  --shadow-xl:0 8px 24px rgba(61,53,41,.1),0 20px 48px rgba(61,53,41,.06);
}

body{font-family:var(--sans);background:var(--bg);color:var(--t2);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:'cv11' 1,'ss01' 1}

/* ── HEADER ── */
.hdr{height:60px;
  background:linear-gradient(135deg,#3D3529,#5C4E3A);
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 2px 24px rgba(0,0,0,.2);
  padding:0 32px}
.hdr-logo{width:38px;height:38px;border-radius:10px;font-size:14px;
  background:linear-gradient(135deg,#C8960C,#E8B030);
  box-shadow:0 0 0 3px rgba(200,150,12,.2),0 0 20px rgba(200,150,12,.15)}
.hdr-title{font-size:16px;font-weight:700;letter-spacing:.8px}
.hdr-title span{color:#E8B030;opacity:.8}
.hdr-sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.3px}
.badge{padding:4px 12px;border-radius:6px;font-size:9.2px;font-weight:700;
  letter-spacing:.6px;backdrop-filter:blur(8px);transition:.2s}
.badge:hover{transform:translateY(-1px)}

/* ── TABS ── */
.tab-nav{background:#fff;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border);padding:0 2px;display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;align-items:center;position:sticky;top:60px;z-index:98}
.tab-btn{padding:5px 6px;font-size:10px;font-weight:500;letter-spacing:-0.2px;line-height:1.15;text-align:center;color:var(--t4);
  border-bottom:2.5px solid transparent;transition:.25s;letter-spacing:.1px}
.tab-btn:hover{color:var(--t1);background:rgba(200,150,12,.04)}
.tab-btn.active{color:var(--navy);font-weight:700;border-bottom-color:var(--accent);
  background:linear-gradient(180deg,rgba(14,165,233,.04),transparent)}
.tab-sep{font-size:7px;font-weight:800;letter-spacing:0.5px;padding:3px 4px;border-radius:6px}
.tab-sep.px{color:#E11D48;background:#FFF1F2}

/* ── CONTENT ── */
.tab-content{padding:28px 32px 40px;max-width:1520px;margin:0 auto}
@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* ── SECTION TITLE ── */
.sec-ttl{font-size:12px;font-weight:800;letter-spacing:2.5px;color:var(--t1);
  font-family:var(--display);margin-bottom:22px}
.sec-ttl::after{background:linear-gradient(to right,var(--border),transparent)}

/* ── KPI ── */
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}
.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--R);
  padding:22px 22px 18px;position:relative;overflow:hidden;
  box-shadow:var(--shadow-sm);transition:.3s cubic-bezier(.25,.8,.25,1)}
.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:rgba(14,165,233,.15)}
.kpi::before{content:'';position:absolute;top:0;left:0;width:6px;height:100%;border-radius:6px 0 0 6px}
.kpi::after{content:'';position:absolute;top:0;left:0;width:40px;height:100%;opacity:.04;pointer-events:none}
.kpi.c1::before{background:linear-gradient(180deg,#8B6914,#C8960C,#E8C050)}
.kpi.c1::after{background:linear-gradient(135deg,#C8960C,transparent)}
.kpi.c2::before{background:linear-gradient(180deg,#5C7A3D,#7A9E55,#A8C882)}
.kpi.c2::after{background:linear-gradient(135deg,#7A9E55,transparent)}
.kpi.c3::before{background:linear-gradient(180deg,#B85042,#D4685A,#E8A090)}
.kpi.c3::after{background:linear-gradient(135deg,#D4685A,transparent)}
.kpi.c4::before{background:linear-gradient(180deg,#7A6840,#9E8850,#C4B080)}
.kpi.c4::after{background:linear-gradient(135deg,#9E8850,transparent)}
.kpi.c5::before{background:linear-gradient(180deg,#3D3529,#5C4E3A,#8A7E6E)}
.kpi.c5::after{background:linear-gradient(135deg,#5C4E3A,transparent)}
.kpi-lbl{font-size:10.5px;font-weight:700;color:var(--t3);letter-spacing:.8px;
  margin-bottom:10px;text-transform:uppercase}
.kpi-val{font-family:var(--mono);font-size:28px;font-weight:800;color:var(--t1);
  letter-spacing:-1.5px;line-height:1;margin-bottom:10px}
.bkpi .kpi-val{font-size:36px;letter-spacing:-2px}
.kpi-sub{display:flex;align-items:center;gap:8px}
.kpi-desc{font-size:9px;color:var(--t3);line-height:1.4}

/* ── ALERT ── */
.alert-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
.ac{background:#fff;border-radius:var(--R);padding:20px 22px;
  border-left:6px solid;transition:.3s;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.ac::after{content:'';position:absolute;top:0;left:0;width:50px;height:100%;opacity:.03;pointer-events:none}
.ac:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.ac-r{border-color:#E11D48;background:linear-gradient(160deg,#fff 50%,#FFF5F6)}
.ac-r::after{background:linear-gradient(135deg,#E11D48,transparent)}
.ac-a{border-color:#D97706;background:linear-gradient(160deg,#fff 50%,#FFFEF5)}
.ac-a::after{background:linear-gradient(135deg,#D97706,transparent)}
.ac-b{border-color:#0284C7;background:linear-gradient(160deg,#fff 50%,#F0F9FF)}
.ac-b::after{background:linear-gradient(135deg,#0284C7,transparent)}
.ac-g{border-color:#059669;background:linear-gradient(160deg,#fff 50%,#F0FDF9)}
.ac-g::after{background:linear-gradient(135deg,#059669,transparent)}
.a-tag{font-size:11px;font-weight:800;letter-spacing:.4px;margin-bottom:8px}
.ac-r .a-tag{color:#BE123C}.ac-a .a-tag{color:#B45309}
.ac-b .a-tag{color:#0369A1}.ac-g .a-tag{color:#047857}
.a-val{font-family:var(--mono);font-size:26px;font-weight:800;color:var(--t1);
  letter-spacing:-1px;line-height:1.2}
.a-desc{font-size:10px;color:var(--t3);margin-top:6px;line-height:1.7}

/* ── CARD ── */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--R);
  padding:20px 22px;box-shadow:var(--shadow-sm);transition:.3s}
.card:hover{box-shadow:var(--shadow-md)}
.card-hd{font-size:12px;font-weight:800;color:var(--t1);letter-spacing:.2px;
  margin-bottom:16px;padding-bottom:12px;border-bottom:1.5px solid var(--bg2);
  display:flex;justify-content:space-between;align-items:center}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}

/* ── TABLE ── */
.tbl-wrap{overflow-x:auto;border-radius:var(--R);border:1px solid var(--border);box-shadow:var(--shadow-sm)}
table{width:100%;border-collapse:collapse;font-size:11px}
th{background:linear-gradient(135deg,#0B1222 0%,#162032 100%);color:rgba(255,255,255,.92);
  padding:12px 14px;text-align:center;font-weight:700;letter-spacing:.5px;
  white-space:nowrap;font-size:10px;position:sticky;top:0;z-index:1}
td{padding:10px 14px;text-align:center;border-bottom:1px solid var(--bg2);
  font-family:var(--mono);font-size:10px;white-space:nowrap;color:var(--t2)}
tr:hover td{background:rgba(14,165,233,.025)}
td.L{text-align:left;font-family:var(--sans);font-size:11px}

/* ── PILL ── */
.pill{font-size:9px;font-weight:800;padding:4px 12px;border-radius:5px;letter-spacing:.3px;white-space:nowrap}
.pg{background:#DCFCE7;color:#15803D;border:1px solid #BBF7D0}
.pr{background:#FEE2E2;color:#B91C1C;border:1px solid #FECACA}
.pa{background:#FEF9C3;color:#A16207;border:1px solid #FDE68A}
.pb{background:#EFF6FF;color:#1E40AF;border:1px solid #DBEAFE}
.pp{background:#F5F3FF;color:#5B21B6;border:1px solid #EDE9FE}
.pt{background:#ECFEFF;color:#155E75;border:1px solid #CFFAFE}

/* ── GRADE ── */
.grade{display:inline-block;padding:4px 12px;border-radius:5px;font-weight:800;
  font-size:10px;letter-spacing:.4px}
.gS{background:linear-gradient(135deg,#FEF3C7,#FDE68A);color:#78350F;box-shadow:0 0 0 1px rgba(245,158,11,.3)}
.gA{background:linear-gradient(135deg,#DBEAFE,#BFDBFE);color:#1E3A8A;box-shadow:0 0 0 1px rgba(59,130,246,.2)}
.gB{background:#ECFDF5;color:#065F46;box-shadow:0 0 0 1px rgba(5,150,105,.15)}
.gC{background:#FFF7ED;color:#9A3412;box-shadow:0 0 0 1px rgba(234,88,12,.15)}
.gD{background:#FFF1F2;color:#9F1239;box-shadow:0 0 0 1px rgba(225,29,72,.15)}

/* ═══ EDITABLE INPUT ═══ */
.ed,.assum-inp,.sim-inp{
  background:#FAFBFC;
  border:2px solid #D0D7E2;border-radius:7px;
  padding:7px 11px;font-family:var(--mono);font-size:11px;
  color:var(--t1);font-weight:600;outline:none;transition:.2s;text-align:right}
.ed:focus,.assum-inp:focus,.sim-inp:focus{
  background:#fff;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(14,165,233,.1),0 1px 4px rgba(14,165,233,.08)}
.ed::placeholder,.assum-inp::placeholder{color:var(--t4);font-weight:400;font-style:italic}
.ed-s{width:60px}.ed-m{width:90px}.ed-l{width:110px}.ed-left{text-align:left}
select.ed{text-align:center;cursor:pointer;-webkit-appearance:auto;appearance:auto}
.sim-inp{font-size:18px;font-weight:800;width:130px;text-align:center;letter-spacing:-.5px}

/* ── ASSUM SECTIONS ── */
.assum-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding-bottom:40px}
.assum-sec{background:#fff;border:1px solid var(--border);border-radius:var(--R);overflow:hidden;min-width:0;
  box-shadow:var(--shadow-sm);transition:.3s}
.assum-sec:hover{box-shadow:var(--shadow-md)}
.assum-hd{padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.3px}
.assum-row{display:flex;align-items:center;padding:3px 8px;
  border-top:1px solid var(--bg2);gap:4px;transition:.15s}
.assum-row:hover{background:rgba(14,165,233,.02)}
.assum-lbl{font-size:9px;color:var(--t2);flex:2}
.assum-tbl{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}
.assum-tbl th{font-size:10px;font-weight:700;color:#64748b;padding:3px 4px;background:#f1f5f9;border-bottom:1px solid var(--bg2);white-space:nowrap}
.assum-tbl td{padding:2px 3px;border-bottom:1px solid var(--bg2);vertical-align:middle;white-space:nowrap}
.assum-tbl th:first-child,.assum-tbl td:first-child{text-align:left;white-space:normal;word-break:keep-all;font-size:9px}
.assum-tbl th:not(:first-child),.assum-tbl td:not(:first-child){text-align:right}
.assum-cell{font-family:var(--mono) !important;font-size:12px !important;font-weight:600 !important;text-align:right !important;color:var(--t1) !important}
.assum-cell-6m{color:#64748b !important}
input.assum-cell-cur{padding:1px 4px !important;border-radius:3px !important;border:1px solid #D0D7E2 !important;box-shadow:none !important;background:#fff !important;height:22px !important;width:100% !important;box-sizing:border-box !important}
input.assum-cell-fc{padding:1px 4px !important;height:22px !important;box-shadow:none !important;width:100% !important;box-sizing:border-box !important}
.assum-cell-fc{padding:1px 4px !important;color:#0e7490 !important;background:#f0fdfa !important;border:1px solid #99f6e4 !important;border-radius:3px !important;outline:none;height:22px !important;box-shadow:none !important}
.assum-cell-fc:focus{border-color:#0e7490 !important;box-shadow:0 0 0 2px rgba(14,116,144,.15) !important}
.assum-row{display:flex;align-items:center;padding:1px 8px;border-top:1px solid var(--bg2);gap:4px;transition:.15s;min-height:24px}
.assum-unit{font-size:8px;color:var(--t3);min-width:24px}
.assum-add-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);
  color:#fff;padding:4px 14px;border-radius:5px;font-size:9px;font-weight:700;
  cursor:pointer;transition:.2s;letter-spacing:.2px}
.assum-add-btn:hover{background:rgba(255,255,255,.3)}
.assum-del-btn{background:none;border:1.5px solid rgba(225,29,72,.35);color:#E11D48;
  padding:2px 6px;border-radius:4px;font-size:7px;font-weight:700;
  cursor:pointer;transition:.2s;margin-left:4px}
.assum-del-btn:hover{background:#E11D48;color:#fff;border-color:#E11D48}

/* ── BUTTONS ── */
.ba,.btn-phase.btn-add{
  background:linear-gradient(135deg,#0284C7,#0EA5E9);color:#fff;
  border:none;padding:9px 22px;border-radius:8px;font-size:11px;font-weight:700;
  cursor:pointer;box-shadow:0 2px 8px rgba(14,165,233,.2);transition:.25s;
  font-family:var(--sans);letter-spacing:.3px}
.ba:hover,.btn-phase.btn-add:hover{transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(14,165,233,.3)}
.bs,.btn-phase.btn-save{
  background:linear-gradient(135deg,#059669,#10B981);color:#fff;
  border:none;padding:9px 22px;border-radius:8px;font-size:11px;font-weight:700;
  cursor:pointer;box-shadow:0 2px 8px rgba(16,185,129,.2);font-family:var(--sans)}
.bd,.btn-del,.assum-del-btn{cursor:pointer}

/* ── SIM INPUTS ── */
.sim-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.si-card{background:#fff;border:1px solid var(--border);border-radius:var(--R);padding:14px;
  text-align:center;box-shadow:var(--shadow-sm);transition:.3s}
.si-card:hover{box-shadow:var(--shadow-md);border-color:rgba(14,165,233,.15)}
.si-lbl{font-size:10px;font-weight:700;color:var(--t3);letter-spacing:.6px;
  margin-bottom:8px;text-transform:uppercase}

/* ── GUIDE ── */
.guide,.guide-box{
  background:linear-gradient(135deg,rgba(14,165,233,.06),rgba(14,165,233,.02));
  border:1.5px solid rgba(14,165,233,.15);border-radius:var(--R);
  padding:12px 20px;margin-bottom:18px;font-size:11px;color:#0369A1;
  display:flex;align-items:center;gap:10px}
.guide b,.guide-box b{color:#0B1222}

/* ── TOOLBAR ── */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  padding:12px 18px;background:var(--card2);border-radius:var(--R);
  border:1px solid var(--border);margin:10px 0 14px}

/* ── FLOW STEPS ── */
.fbox,.flow-step{border-radius:var(--R);padding:16px;text-align:center;border:1.5px solid;
  transition:.3s;box-shadow:var(--shadow-sm)}
.fbox:hover,.flow-step:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.fbox .fv,.flow-step .fs-val{font-size:26px;font-weight:800;font-family:var(--display);line-height:1.2}
.fbox .fl,.flow-step .fs-lbl{font-size:9px;font-weight:800;letter-spacing:1.2px;
  margin-bottom:4px;text-transform:uppercase}
.fbox .fs,.flow-step .fs-sub{font-size:9px;margin-top:4px;opacity:.6}
.flow-steps,.flow{display:grid;gap:10px}

/* ── TOAST ── */
.toast,.toast-msg,.toast-box{position:fixed;bottom:24px;right:24px;
  background:#0B1222;color:#fff;
  padding:14px 28px;border-radius:var(--R);font-size:12px;font-weight:600;
  box-shadow:var(--shadow-xl);
  transform:translateY(80px);opacity:0;transition:.35s cubic-bezier(.34,1.56,.64,1);
  z-index:9999;font-family:var(--sans)}
.toast.show,.toast-msg.show,.toast-box.show{transform:translateY(0);opacity:1}

/* ── PNL ── */
.pnl-wrap{border-radius:var(--R);overflow:hidden;border:1px solid var(--border)}
.wf{background:#fff;border:1px solid var(--border);border-radius:var(--R)}

/* ── INPUT MARKER ── */
.inp-mark{display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--accent);margin-right:4px;opacity:.6;vertical-align:middle}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:5px}
::-webkit-scrollbar-thumb:hover{background:#94A3B8}

/* ── CATEGORY HEADERS ── */
.cat-hdr{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:10px 0}
.cat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:16px;font-weight:900}
.cat-title{font-size:14px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-family:var(--display)}
.cat-sub{font-size:12px;color:var(--t3);margin-top:2px}
.cat-grow .cat-icon{background:#EFF6FF;color:var(--accent)}
.cat-grow .cat-title{color:var(--navy)}
.cat-profit .cat-icon{background:var(--greenBg);color:var(--green)}
.cat-profit .cat-title{color:var(--green)}
.cat-stable .cat-icon{background:var(--amberBg);color:var(--amber)}
.cat-stable .cat-title{color:var(--amber)}
.cat-divider{border:none;border-top:1.5px solid var(--bg2);margin:22px 0 16px}

/* ── CHART ── */
.mini-chart{display:flex;align-items:flex-end;gap:3px;height:64px;margin:4px 0}
.mini-wrap{flex:1;display:flex;gap:1px;align-items:flex-end}
.bar-rv{width:80%;background:linear-gradient(180deg,var(--accent),#7DD3FC);border-radius:2px 2px 0 0;transition:.3s}
.bar-op{width:80%;background:linear-gradient(180deg,var(--green),#6EE7B7);border-radius:2px 2px 0 0;transition:.3s}
.bar-nt{width:80%;background:linear-gradient(180deg,var(--amber),#FCD34D);border-radius:2px 2px 0 0;transition:.3s}
.chart-leg{display:flex;gap:12px;margin-top:6px;font-size:9px;color:var(--t3)}
.leg-i{display:flex;align-items:center;gap:4px}.leg-d{width:8px;height:3px;border-radius:1px}

/* ── DIST BAR ── */
.dist-bar{display:flex;border-radius:4px;overflow:hidden;height:24px;box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
.dist-seg{display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:800;letter-spacing:.2px}

/* ── INSIGHT ── */
.insight{background:#fff;border:1px solid var(--border);border-radius:var(--R);padding:14px;margin-top:12px}
.ins-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border)}
.ins-row:last-child{border-bottom:none}
.itag{font-size:8.5px;font-weight:800;padding:3px 8px;border-radius:4px;white-space:nowrap;margin-top:2px}
.it-b{background:#EFF6FF;color:#1D4ED8}
.it-g{background:#ECFDF5;color:#047857}
.it-r{background:#FFF1F2;color:#BE123C}
.it-a{background:#FFFBEB;color:#B45309}
.it-p{background:#F5F3FF;color:#6D28D9}
.itext{font-size:10px;color:var(--t3);line-height:1.7}

/* ── HEATMAP ── */
.hm-h{background:#ECFDF5;color:var(--green);border-radius:3px}
.hm-m{background:var(--amberBg);color:var(--amber);border-radius:3px}
.hm-l{background:#FFF1F2;color:var(--red);border-radius:3px}
.hm-n{background:var(--bg2);color:var(--t4);border-radius:3px}

/* ── L4 ROWS ── */
.l4-row{background:var(--purpleBg)}
.l4-formula{font-size:8px;color:var(--t4);font-family:var(--mono);padding:3px 8px;
  background:var(--bg);border-radius:3px;margin-left:4px}

/* ── PRODUCT TABLE ── */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:14px}
.prod-card{background:#fff;border:1px solid var(--border);border-radius:var(--R);
  padding:12px 14px;box-shadow:var(--shadow-sm);transition:.3s}
.prod-card:hover{box-shadow:var(--shadow-md)}
.prod-card-hd{font-size:11px;font-weight:800;color:var(--navy);margin-bottom:10px;
  padding-bottom:8px;border-bottom:1.5px solid var(--border)}
.prod-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--bg2)}
.prod-row:last-child{border-bottom:none}
.prod-lbl{font-size:10px;color:var(--t3)}
.prod-val{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--t1)}

.sc-cur td{background:var(--navyLight)!important;font-weight:700}

/* ── MGMT TABLE ── */
.mgmt-table{width:100%;border-collapse:collapse;font-size:10px;margin-top:12px}
.mgmt-table th{background:linear-gradient(135deg,#0B1222,#162032);color:rgba(255,255,255,.9);
  padding:10px 14px;text-align:left;font-size:9.5px;font-weight:700;border-bottom:none}
.mgmt-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top;
  font-family:var(--sans);font-size:10px;color:var(--t2);line-height:1.7}
.mgmt-table tr:hover td{background:rgba(14,165,233,.025)}
.mgmt-table td.L1{font-size:11px;font-weight:800;color:var(--navy)}
.mgmt-table td.L2{color:var(--t2)}
.mgmt-table td.L3{color:var(--t3)}
.mgmt-table td.L4{color:var(--purple);font-family:var(--mono);font-size:9px}
.lv-tag{display:inline-block;font-size:8px;font-weight:800;padding:3px 8px;
  border-radius:4px;margin-right:5px;vertical-align:middle}
.lv-s{background:var(--amberBg);color:var(--amber)}
.lv-m{background:var(--navyLight);color:var(--navy)}
.lv-l{background:var(--greenBg);color:var(--green)}
.src-badge{display:inline-block;font-size:8px;padding:3px 8px;border-radius:4px;
  background:var(--purpleBg);color:var(--purple);margin-bottom:3px;font-weight:700}
.method-txt{font-size:9px;color:var(--t3);margin-top:2px;font-style:italic}

/* ── SIM ── */
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.res-row{display:flex;justify-content:space-between;align-items:center;
  padding:6px 12px;border-radius:6px;border:1px solid transparent;margin-bottom:3px;transition:.15s}
.res-row:hover{background:rgba(14,165,233,.02)}
.res-row.hl-g{background:rgba(5,150,105,.04);border-color:rgba(5,150,105,.1)}
.res-row.hl-a{background:rgba(217,119,6,.04);border-color:rgba(217,119,6,.1)}
.res-row.hl-p{background:rgba(124,58,237,.04);border-color:rgba(124,58,237,.1)}
.res-row.hl-t{background:rgba(14,165,233,.04);border-color:rgba(14,165,233,.1)}
.res-row.hl-r{background:rgba(225,29,72,.04);border-color:rgba(225,29,72,.1)}
.res-lbl{font-size:10.5px;color:var(--t2)}
.res-val{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--t1)}

/* ── PNL ROWS ── */
.pr-row{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid var(--bg2);
  transition:.15s;cursor:default;gap:4px}
.pr-row:hover{background:rgba(14,165,233,.015)}
.pr-row.h1{background:var(--navyLight);border-bottom:1.5px solid var(--border)}
.pr-row.sub{background:var(--greenBg);border-top:1px solid rgba(5,150,105,.2);border-bottom:1px solid rgba(5,150,105,.2)}
.pr-row.tax{background:var(--amberBg)}
.pr-row.net{background:var(--greenBg);border-top:2px solid var(--green)}
.pr-row.eva{background:var(--purpleBg);border:1px solid rgba(124,58,237,.2);margin:4px 0;border-radius:5px}
.pi0{font-size:12px;font-weight:800;color:var(--t1);flex:3}
.pi1{font-size:11px;color:var(--t2);flex:3;padding-left:16px}
.pi2{font-size:10.5px;color:var(--t3);flex:3;padding-left:32px}
.pi3{font-size:10px;color:var(--t4);flex:3;padding-left:48px}
.pi4{font-size:9.5px;color:var(--t4);flex:3;padding-left:60px;font-style:italic}
.pamt{font-family:var(--mono);font-size:11.5px;font-weight:600;min-width:140px;text-align:right}
.pamt-l{font-family:var(--mono);font-size:9.5px;color:var(--t4);min-width:110px;text-align:right;font-style:italic}
.ptag{font-size:8px;padding:2.5px 8px;border-radius:4px;font-weight:800;margin-left:8px;white-space:nowrap}
.pt-rev{background:var(--navyLight);color:var(--navy)}
.pt-cst{background:#FFF1F2;color:#E11D48}
.pt-prf{background:var(--greenBg);color:var(--green)}
.pt-rsk{background:var(--amberBg);color:var(--amber)}
.pt-l4{background:var(--purpleBg);color:var(--purple)}

/* ── WATERFALL ── */
.wf-item{display:flex;align-items:center;gap:10px;margin-bottom:5px}
.wf-lbl{font-size:10px;color:var(--t2);width:100px;text-align:right;white-space:nowrap;font-weight:500}
.wf-bg{flex:1;height:22px;background:var(--bg2);border-radius:4px;overflow:hidden}
.wf-fill{height:100%;border-radius:4px;display:flex;align-items:center;padding-left:8px;
  font-size:8px;font-weight:700;white-space:nowrap;transition:width .8s cubic-bezier(.25,.8,.25,1)}
.wf-v{font-family:var(--mono);font-size:10px;font-weight:600;width:80px;text-align:right;color:var(--t1)}

/* ── MINI LABEL ── */
.mini-lbl{font-size:9px;color:var(--t3);font-weight:500}

/* ── RESPONSIVE ADJUSTMENTS ── */
@media(max-width:1200px){
  .kpi-grid{grid-template-columns:repeat(3,1fr)}
  .assum-grid,.three-col{grid-template-columns:1fr 1fr}
  .prod-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .kpi-grid,.alert-row{grid-template-columns:1fr 1fr}
  .two-col,.sim-grid{grid-template-columns:1fr}
  .tab-content{padding:16px}
  .hdr{padding:0 16px}
}
/* ═══ 3D DEPTH OVERRIDES ═══ */
body{background:var(--bg);
  background-image:radial-gradient(circle at 30% 20%,rgba(14,165,233,.03),transparent 60%),
    radial-gradient(circle at 80% 80%,rgba(124,58,237,.02),transparent 50%)}

/* 3D Shadow System */
.hdr{box-shadow:0 4px 20px rgba(0,0,0,.35), 0 1px 0 rgba(255,255,255,.04) inset}
.hdr-logo{box-shadow:0 2px 8px rgba(14,165,233,.4), 0 0 0 2px rgba(14,165,233,.15),
  inset 0 1px 1px rgba(255,255,255,.3)}

/* Tabs — 3D raised */
.tab-nav{background:linear-gradient(180deg,#FFFFFF,#F5F6F8);
  box-shadow:0 3px 10px rgba(11,18,34,.06), inset 0 -1px 0 var(--border);border-bottom:none}
.tab-btn{text-shadow:0 1px 0 rgba(255,255,255,.8);position:relative}
.pnl-period-btn{background:#fff;border:1px solid #D7CCC8;color:#5D4037;padding:4px 12px;font-size:10px;border-radius:4px;cursor:pointer;font-weight:500;transition:all .15s}
.pnl-period-btn:hover{background:#EFEBE9;border-color:#5D4037}
.pnl-period-on{background:#5D4037!important;color:#fff!important;border-color:#5D4037!important;font-weight:700}
.org-pnl-wrap{max-height:600px;overflow:auto;border:1px solid #D7CCC8;border-radius:6px;background:#fff}
.org-pnl{width:100%;border-collapse:collapse;font-size:10px;font-family:var(--body)}
.org-pnl th{position:sticky;top:0;z-index:10;background:#3E2723;color:#fff;padding:6px 8px;font-weight:700;text-align:center;border:1px solid #5D4037;white-space:nowrap}
.org-pnl td{padding:5px 8px;border:1px solid #E8E0DB;text-align:right;white-space:nowrap}
.org-pnl .org-branch{background:#EFEBE9;font-weight:700;color:#3E2723;text-align:left;cursor:pointer}
.org-pnl .org-center{background:#FAFAF9;color:#5D4037;text-align:left;padding-left:20px;font-size:9px}
.org-pnl .org-total{background:#3E2723;color:#fff;font-weight:700;text-align:left}
.org-pnl .org-label{text-align:left;white-space:nowrap}
.org-pnl .pos{color:#2E7D32}.org-pnl .neg{color:#C62828}
.org-pnl .rate{font-size:8px;color:#9E9E9E}
.org-pnl tr.org-center-row{display:table-row}
.org-pnl tr.org-center-hide{display:none}
.tab-btn:hover{text-shadow:none}
.tab-btn.active{box-shadow:inset 0 -3px 6px rgba(14,165,233,.06);text-shadow:none}
.tab-sep{box-shadow:0 1px 1px rgba(255,255,255,.7) inset, 0 2px 6px rgba(11,18,34,.08), 0 1px 2px rgba(11,18,34,.05)}

/* Cards — 3D raised */
.kpi,.card,.ac,.prod-card,.assum-sec,.si-card,.insight,.fbox,.flow-step{
  background:linear-gradient(145deg,#FFFFFF,#F5F6F8);
  border-color:rgba(255,255,255,.7);
  box-shadow:0 1px 1px rgba(255,255,255,.6) inset, 0 4px 12px rgba(11,18,34,.1), 0 2px 4px rgba(11,18,34,.06)}
.kpi:hover,.card:hover,.prod-card:hover,.assum-sec:hover,.si-card:hover,.fbox:hover,.flow-step:hover{
  box-shadow:0 2px 3px rgba(255,255,255,.4) inset, 0 12px 36px rgba(11,18,34,.14), 0 6px 12px rgba(11,18,34,.07);
  transform:translateY(-3px)}
.ac:hover{transform:translateY(-2px);
  box-shadow:0 1px 2px rgba(255,255,255,.5) inset, 0 8px 24px rgba(11,18,34,.12), 0 4px 8px rgba(11,18,34,.06)}

/* KPI values text shadow */
.kpi-val,.a-val{text-shadow:0 1px 0 rgba(255,255,255,.6)}
.sec-ttl,.cat-title{text-shadow:0 1px 0 rgba(255,255,255,.6)}
.fbox .fv,.flow-step .fs-val{text-shadow:0 1px 0 rgba(255,255,255,.5)}

/* Inputs — 3D inset */
.ed,.assum-inp,.sim-inp{
  background:linear-gradient(180deg,#EEF0F4,#FAFBFC) !important;
  box-shadow:inset 0 2px 4px rgba(11,18,34,.1), inset 0 1px 2px rgba(11,18,34,.06) !important;
  border-color:#C4C9D4 !important}
.ed:focus,.assum-inp:focus,.sim-inp:focus{
  background:#FFFFFF !important;border-color:var(--accent) !important;
  box-shadow:inset 0 1px 2px rgba(14,165,233,.08), 0 0 0 3px rgba(14,165,233,.1),
    0 2px 6px rgba(14,165,233,.08) !important}
select.ed{background:linear-gradient(180deg,#FAFBFC,#F0F2F5) !important;
  box-shadow:0 1px 1px rgba(255,255,255,.7) inset, 0 2px 6px rgba(11,18,34,.08) !important}

/* Tables — 3D depth */
.tbl-wrap{border-color:rgba(255,255,255,.5);
  box-shadow:0 1px 1px rgba(255,255,255,.7) inset, 0 2px 6px rgba(11,18,34,.08)}
th{text-shadow:0 1px 2px rgba(0,0,0,.3);
  background:linear-gradient(180deg,#162032,#0B1222)}

/* Pills/Grades — 3D */
.pill{box-shadow:0 1px 2px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.5)}
.grade{box-shadow:0 1px 3px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.4)}
.lv-tag,.src-badge,.itag{box-shadow:0 1px 2px rgba(0,0,0,.05)}

/* Buttons — 3D press */
.ba,.btn-phase.btn-add{
  background:linear-gradient(180deg,#38BDF8,#0EA5E9,#0284C7) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 4px 12px rgba(14,165,233,.3), 0 1px 2px rgba(14,165,233,.2) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.15)}
.ba:hover,.btn-phase.btn-add:hover{
  box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 8px 20px rgba(14,165,233,.35), 0 2px 4px rgba(14,165,233,.2) !important}
.ba:active,.btn-phase.btn-add:active{transform:translateY(0) !important;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(14,165,233,.1) !important}
.bs,.btn-phase.btn-save{
  background:linear-gradient(180deg,#34D399,#10B981,#059669) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.2) inset, 0 4px 12px rgba(16,185,129,.3) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.12)}

/* Toolbar — inset */
.toolbar{background:linear-gradient(145deg,#F0F1F4,#E6E8ED);
  box-shadow:inset 0 2px 4px rgba(11,18,34,.08), inset 0 1px 2px rgba(11,18,34,.04);
  border-color:rgba(255,255,255,.5)}

/* Waterfall bars */
.wf-bg{box-shadow:inset 0 2px 4px rgba(11,18,34,.08)}
.wf-fill{box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}

/* Distribution bar */
.dist-bar{box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}
.dist-seg{text-shadow:0 1px 1px rgba(0,0,0,.15)}

/* Bar chart glow — high contrast colors */
.bar-rv{background:linear-gradient(180deg,#2563EB,#60A5FA) !important;box-shadow:0 -1px 4px rgba(37,99,235,.25)}
.bar-op{background:linear-gradient(180deg,#EAB308,#FDE047) !important;box-shadow:0 -1px 4px rgba(234,179,8,.25)}
.bar-nt{background:linear-gradient(180deg,#EA580C,#FB923C) !important;box-shadow:0 -1px 4px rgba(234,88,12,.25)}

/* PNL rows depth */
.pnl-wrap{box-shadow:0 1px 1px rgba(255,255,255,.5) inset, 0 2px 6px rgba(11,18,34,.08)}
.wf{box-shadow:0 1px 1px rgba(255,255,255,.6) inset, 0 2px 6px rgba(11,18,34,.06)}

/* Result rows subtle depth */
.res-row.hl-g,.res-row.hl-a,.res-row.hl-p,.res-row.hl-t,.res-row.hl-r{
  box-shadow:0 1px 3px rgba(0,0,0,.04)}

/* PNL special rows */
.pr-row.h1{background:linear-gradient(145deg,#EFF6FF,#E4F0FC)}
.pr-row.sub{background:linear-gradient(145deg,#ECFDF5,#E2F9EE)}
.pr-row.tax{background:linear-gradient(145deg,#FFFBEB,#FEF6DD)}
.pr-row.net{background:linear-gradient(145deg,#ECFDF5,#D1FAE5)}
.pr-row.eva{background:linear-gradient(145deg,#F5F3FF,#EDE9FE);
  box-shadow:0 1px 3px rgba(124,58,237,.06)}

/* Guide box */
.guide,.guide-box{box-shadow:0 1px 1px rgba(255,255,255,.6) inset, 0 2px 6px rgba(11,18,34,.06)}

/* Cat icons */
.cat-icon{box-shadow:0 1px 1px rgba(255,255,255,.7) inset, 0 2px 6px rgba(11,18,34,.08)}

/* Toast */
.toast,.toast-msg,.toast-box{box-shadow:0 10px 40px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.15),
  inset 0 1px 0 rgba(255,255,255,.06)}

/* Input marker glow */
.inp-mark{box-shadow:0 0 4px rgba(14,165,233,.4)}

/* ═══ CEO PRESENTATION MODE — 가독성 강화 ═══ */

/* DM Sans tabular-nums — clean zero, premium look */
*{font-feature-settings:'tnum' 1;font-variant-numeric:tabular-nums}

/* Unit styling — 1/3 size */
s.nu{text-decoration:none;font-size:0.48em;opacity:0.45;font-weight:500;vertical-align:baseline;letter-spacing:0}

/* Base font bump */
body{font-size:14px;line-height:1.6}

/* Section titles */
.sec-ttl{font-size:16px;letter-spacing:3px;margin-bottom:26px}

/* KPI — smaller values to prevent overflow */
.kpi{padding:20px 18px}
.kpi-lbl{font-size:10px;margin-bottom:10px;letter-spacing:.5px;color:var(--t2);font-weight:700}
.kpi-val{font-size:22px;letter-spacing:-1px;margin-bottom:8px;overflow:visible;white-space:normal;word-break:break-all}
.bkpi .kpi-val{font-size:28px}
.kpi-desc{font-size:9px}
.kpi-sub{gap:6px}
.pill{font-size:8px;padding:3px 10px;border-radius:6px}

/* Alert cards */
.a-tag{font-size:11px;margin-bottom:6px}
.a-val{font-size:22px;overflow:visible;white-space:normal;word-break:break-all}
.a-desc{font-size:10px;line-height:1.7}

/* ── 통합대시보드 전용: 전체 데이터 표시 20% 확대 ── */
#tab-dash .kpi-lbl{font-size:12px}
#tab-dash .kpi-val{font-size:26px}
#tab-dash .kpi-desc{font-size:11px}
#tab-dash .kpi-sub{gap:8px}
#tab-dash .pill{font-size:10px;padding:4px 12px}
#tab-dash .a-tag{font-size:13px}
#tab-dash .a-val{font-size:26px}
#tab-dash .a-desc{font-size:12px;line-height:1.8}
#tab-dash .cat-title{font-size:13px}
#tab-dash .cat-sub{font-size:10px}
#tab-dash .card-hd{font-size:14px}
#tab-dash .itext{font-size:14px;line-height:1.9}
#tab-dash .itag{font-size:12px;padding:4px 8px}
#tab-dash .ins-row{padding:12px 0;gap:12px}
#tab-dash .dist-seg{font-size:13px;font-weight:700}
#tab-dash .dist-bar{height:28px}
#tab-dash .mini-chart{height:80px}
#tab-dash .mini-wrap{flex-direction:column;align-items:center;justify-content:flex-end;height:80px}
#tab-dash .mini-lbl{font-size:9px;font-weight:600;color:var(--t2);overflow:visible;white-space:nowrap}
#tab-dash .chart-leg{gap:16px}
#tab-dash .leg-i{font-size:10px}
#tab-dash .chart-leg .leg-d{width:10px;height:10px}
/* ₩ % 명 (실효) 등 단위 마크 — 숫자와 어울리게 확대 */
#tab-dash s.nu{font-size:0.62em;opacity:0.75;font-weight:600}
/* pill·desc 등 소형 컨테이너 안에서는 단위를 숫자와 동일 크기로 */
#tab-dash .pill s.nu,
#tab-dash .kpi-desc s.nu,
#tab-dash .a-desc s.nu,
#tab-dash .kpi-sub s.nu{font-size:1em;opacity:0.85;font-weight:inherit}

/* Card headers */
.card{padding:24px}
.card-hd{font-size:14px;margin-bottom:18px;padding-bottom:14px}

/* Tables — projector readable */
table{font-size:12px}
th{font-size:11px;padding:12px 14px;letter-spacing:.5px}
td{font-size:11px;padding:11px 14px}
td.L{font-size:12px}
td.LL{font-size:11px}

/* PNL rows — bigger for projector */
.pi0{font-size:13.5px;font-weight:800}
.pi1{font-size:12.5px}
.pi2{font-size:11.5px}
.pi3{font-size:10.5px}
.pi4{font-size:9.5px}
.pamt{font-size:12.5px;font-weight:600}
.pamt-l{font-size:10.5px}
.ptag{font-size:8px;padding:2px 8px}
.pr-row{padding:10px 18px}

/* Waterfall */
.wf-lbl{font-size:10px;width:100px}
.wf-bg{height:22px;border-radius:5px}
.wf-v{font-size:9px;width:80px}
.wf-fill{font-size:8px}

/* Product cards */
.prod-card{padding:16px 18px}
.prod-card-hd{font-size:12px;margin-bottom:12px}
.prod-row{padding:6px 0}
.prod-lbl{font-size:10px}
.prod-val{font-size:11px}

/* Grade badges */
.grade{font-size:10px;padding:4px 12px}

/* Management table */
.mgmt-table{font-size:10px}
.mgmt-table th{font-size:10px;padding:10px 14px}
.mgmt-table td{font-size:11px;padding:10px 14px;line-height:1.7}
.mgmt-table td.L1{font-size:12px}

/* Insight text */
.itext{font-size:11px;line-height:1.7}
.itag{font-size:8px;padding:3px 8px}
.ins-row{padding:10px 0}

/* Results & Sim */
.res-lbl{font-size:11px}
.res-val{font-size:13px}
.res-row{padding:8px 14px;margin-bottom:4px}

/* Guide box */
.guide,.guide-box{font-size:13px;padding:14px 22px}

/* Category headers */
.cat-title{font-size:14px;letter-spacing:2px}
.cat-sub{font-size:10px}
.cat-icon{width:40px;height:40px;font-size:18px;border-radius:10px}

/* Sim inputs */
.sim-inp{font-size:22px;width:160px}
.si-lbl{font-size:10px;margin-bottom:10px}
.si-card{padding:18px}

/* Flow boxes for MBR timeline */
.fbox .fv,.flow-step .fs-val{font-size:30px}
.fbox .fl,.flow-step .fs-lbl{font-size:9px}
.fbox .fs,.flow-step .fs-sub{font-size:8px}
.fbox,.flow-step{padding:20px}

/* Tabs — larger for projector */
.tab-btn{font-size:13px;padding:16px 20px}
.tab-sep{font-size:9px;padding:5px 12px}

/* Header */
.hdr{height:64px}
.hdr-title{font-size:18px}
.hdr-sub{font-size:11px}
.badge{font-size:10.4px;padding:5px 14px}
.badge{font-weight:900 !important}
.hdr-logo{width:42px;height:42px;font-size:16px}

/* Assum sheet */
.assum-hd{font-size:12px;padding:12px 18px}
.assum-lbl{font-size:11px}
.assum-unit{font-size:10px}
.assum-inp{font-size:13px;padding:8px 12px}
.assum-del-btn{font-size:8px;padding:3px 8px}
.assum-add-btn{font-size:10px;padding:5px 16px}

/* Health & LTV */
.dist-bar{height:26px;border-radius:6px}
.dist-seg{font-size:9px}

/* Chart legend */
.chart-leg{font-size:10px;gap:16px;margin-top:8px}
.leg-d{width:10px;height:4px}

/* L4 row */
.l4-row{padding:3px 0}
/* PnL collapse/expand */
.pnl-toggle{cursor:pointer;user-select:none}
.pnl-toggle:hover{filter:brightness(0.97)}
.pnl-toggle::before{content:'▶';display:inline-block;font-size:8px;margin-right:6px;transition:transform .2s;color:var(--t4)}
.pnl-toggle.open::before{transform:rotate(90deg)}
.pnl-detail{display:none;overflow:hidden}
.pnl-detail.open{display:contents}
.l4-formula{font-size:9px;padding:4px 10px}

/* Lv tags & source badges */
.lv-tag{font-size:8px;padding:3px 8px}
.src-badge{font-size:8px;padding:3px 8px}
.method-txt{font-size:9px}

/* Toolbar */
.toolbar{padding:14px 20px;font-size:12px}

/* Ratio panel in PNL */
#ratioPanel div{padding:6px 0 !important}
#ratioPanel span{font-size:10px !important}

/* Buttons bigger */
.ba,.btn-phase.btn-add,.bs,.btn-phase.btn-save{
  font-size:13px;padding:11px 28px;border-radius:10px}

/* Badge hover for navigation */
.badge{transition:.2s}
.badge:hover{transform:translateY(-2px);filter:brightness(1.2)}
.badge[style*="cursor"]{position:relative}
.badge[style*="cursor"]::after{content:'';position:absolute;bottom:-2px;left:50%;
  width:0;height:2px;background:currentColor;transition:.2s;transform:translateX(-50%)}
.badge[style*="cursor"]:hover::after{width:80%}

/* ── Unified Input Size for Sim & Cashflow ── */
.sim-unified{font-size:20px !important;font-weight:900 !important;width:220px !important;text-align:center !important}

/* ── Upload System ── */
.upload-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(11,18,34,.6);
  backdrop-filter:blur(4px);z-index:999;display:none;align-items:center;justify-content:center}
.upload-overlay.show{display:flex}
.upload-box{background:#fff;border-radius:16px;padding:32px;width:600px;max-width:92vw;
  box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:90vh;overflow-y:auto}
.upload-box h2{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:6px}
.upload-box p{font-size:11px;color:var(--t3);margin-bottom:16px;line-height:1.7}
.upload-drop{border:2.5px dashed var(--accent);border-radius:12px;padding:36px 20px;
  text-align:center;cursor:pointer;transition:.2s;background:rgba(14,165,233,.02)}
.upload-drop:hover,.upload-drop.dragover{background:rgba(14,165,233,.08);border-color:#0284C7}
.upload-result{margin-top:14px;padding:12px 16px;border-radius:8px;font-size:11px;line-height:1.8;display:none}
.upload-result.ok{display:block;background:#ECFDF5;color:#065F46;border:1px solid #D1FAE5}
.upload-result.err{display:block;background:#FFF1F2;color:#9F1239;border:1px solid #FECDD3}
.upload-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:22px;
  cursor:pointer;color:var(--t4)}
.upload-close:hover{color:var(--red)}
.ubtn{padding:8px 18px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;
  border:none;font-family:var(--sans);transition:.2s;display:inline-flex;align-items:center;gap:5px}
.ubtn-green{background:linear-gradient(135deg,#059669,#10B981);color:#fff;box-shadow:0 2px 8px rgba(16,185,129,.2)}
.ubtn-blue{background:linear-gradient(135deg,#0284C7,#0EA5E9);color:#fff;box-shadow:0 2px 8px rgba(14,165,233,.2)}
.ubtn-red{background:linear-gradient(135deg,#DC2626,#EF4444);color:#fff;box-shadow:0 2px 8px rgba(239,68,68,.2)}
.ubtn:hover{transform:translateY(-1px)}
/* File list */
.flist{margin-top:14px}
.flist-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;
  background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-bottom:6px;font-size:11px}
.flist-name{font-weight:700;color:var(--navy)}
.flist-info{font-size:9px;color:var(--t4)}
.flist-del{background:none;border:1px solid var(--red);color:var(--red);padding:3px 10px;
  border-radius:4px;font-size:9px;font-weight:700;cursor:pointer}
.flist-del:hover{background:var(--red);color:#fff}

/* ── Period Display ── */
.pd-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:14px 18px;
  background:linear-gradient(145deg,#fff,#F5F6F8);border:1.5px solid var(--border);
  border-radius:var(--R);box-shadow:0 1px 1px rgba(255,255,255,.6) inset,0 4px 12px rgba(11,18,34,.08)}
.pd-btn{padding:5px 11px;border-radius:4px;font-size:9px;font-weight:700;cursor:pointer;
  border:1.5px solid var(--border);background:linear-gradient(145deg,#fff,#F0F1F4);
  color:var(--t4);transition:.2s;font-family:var(--sans)}
.pd-btn:hover{color:var(--t1);border-color:var(--accent)}
.pd-btn.pd-on,.pd-btn.tr-q-on{background:linear-gradient(135deg,#0B1222,#162032);color:#fff;
  border-color:#0B1222;box-shadow:0 4px 12px rgba(11,18,34,.25)}
/* Global period bar (brown) button overrides */
#globalPdBar .pd-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.7)}
#globalPdBar .pd-btn:hover{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(200,150,12,.5)}
#globalPdBar .pd-btn.gbl-q-on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px rgba(200,150,12,.4)}
.pd-tag{display:inline-block;font-size:11px;font-weight:800;padding:3px 10px;
  border-radius:4px;vertical-align:middle;margin-left:5px;letter-spacing:.3px;
  box-shadow:0 1px 3px rgba(0,0,0,.08)}
.pd-tag-y{background:#DBEAFE;color:#1E40AF}.pd-tag-h{background:#E0E7FF;color:#3730A3}
.pd-tag-m{background:#ECFDF5;color:#065F46}.pd-tag-w{background:#FEF3C7;color:#92400E}
.pd-tag-d{background:#FFF1F2;color:#9F1239}
.tab-footnote{margin-top:24px;padding:10px 16px;background:var(--bg2);border-radius:6px;
  font-size:9px;color:var(--t4);line-height:1.8;border-left:3px solid var(--border)}
.tab-footnote b{color:var(--t3)}

/* ── Agent Table Spacious ── */
#agentTbl{font-size:10px;border-collapse:separate;border-spacing:0;table-layout:auto;width:3200px;border:none}
#agentTbl thead tr:nth-child(1) th{position:sticky;top:0;z-index:6;border:none;font-size:12px !important;font-weight:800;letter-spacing:.5px;padding:8px 6px !important}
#agentTbl thead tr:nth-child(2) th{position:sticky;top:30px;z-index:5;box-shadow:0 3px 6px rgba(0,0,0,.08);border:none}
#agentTbl th{padding:5px 4px !important;font-size:8px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:none}
#agentTbl td{padding:4px 3px !important;font-size:10px !important;white-space:nowrap;overflow:visible;border:none;border-bottom:1px solid rgba(0,0,0,.04)}
#agentTbl tbody tr:hover td{background:rgba(14,165,233,.04)}
#agentTbl .ed{padding:5px 6px !important;font-size:10px !important;border-radius:4px !important;
  box-sizing:border-box;border:1.5px solid #D0D7E2 !important;
  background:#FAFBFC !important;transition:.2s !important;width:100% !important}
#agentTbl .ed:focus{border-color:var(--accent) !important;background:#fff !important;
  box-shadow:0 0 0 2px rgba(14,165,233,.12) !important}
#agentTbl .ed-left{text-align:left !important}
#agentTbl .grade{font-size:9px !important;padding:3px 8px !important;border-radius:4px !important}
#agentTbl .bd{padding:3px 8px !important;font-size:9px !important}
#agentTbl .ag-chk{width:14px;height:14px;cursor:pointer;accent-color:var(--accent)}
#agentTbl .ed:hover{border-color:#A0B0C0 !important;background:#fff !important}
#agentTbl input[type=number]::-webkit-inner-spin-button,
#agentTbl input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#agentTbl input[type=number]{-moz-appearance:textfield}
#agentTbl select.ed{padding:5px 2px !important;width:100% !important}
/* Column group vertical separators — 40열 (체크1+기본11+매출9+원가9+총이익3+리스크7) */
#agentTbl td:nth-child(13),#agentTbl th:nth-child(13){border-left:2px solid rgba(5,150,105,.15) !important}
#agentTbl td:nth-child(22),#agentTbl th:nth-child(22){border-left:2px solid rgba(124,58,237,.15) !important}
#agentTbl td:nth-child(31),#agentTbl th:nth-child(31){border-left:2px solid rgba(30,58,95,.15) !important}
#agentTbl td:nth-child(34),#agentTbl th:nth-child(34){border-left:2px solid rgba(220,38,38,.15) !important}
/* Group tinted backgrounds — 40열 */
#agentTbl tbody td:nth-child(n+2):nth-child(-n+12){background:rgba(0,95,131,.015)}
#agentTbl tbody td:nth-child(n+13):nth-child(-n+21){background:rgba(46,139,87,.02)}
#agentTbl tbody td:nth-child(n+22):nth-child(-n+30){background:rgba(91,74,158,.02)}
#agentTbl tbody td:nth-child(n+31):nth-child(-n+33){background:rgba(0,43,73,.02)}
#agentTbl tbody td:nth-child(n+34):nth-child(-n+40){background:rgba(192,64,64,.02)}
/* 입력 필드 최대 폭 확보 — 금액 셀은 넉넉하게 */
#agentTbl thead tr:first-child th{border-right:1.5px solid rgba(255,255,255,.3) !important}
/* 금액 산출 셀 */
#agentTbl .amt{font-family:var(--mono);text-align:right;min-width:70px;padding-right:6px !important;color:var(--t2)}
/* 2행 헤더 높이 */
#agentTbl thead th{line-height:1.2;padding:4px 5px !important;font-size:8px !important}
/* ── 스크롤바 두께 2배 확대 (가로+세로) ── */
.tbl-wrap::-webkit-scrollbar{width:16px;height:16px}
.tbl-wrap::-webkit-scrollbar-track{background:var(--bg2);border-radius:8px}
.tbl-wrap::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#94A3B8,#64748B);border-radius:8px;border:2px solid var(--bg2)}
.tbl-wrap::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#64748B,#475569)}
.tbl-wrap::-webkit-scrollbar-corner{background:var(--bg2)}
.tbl-wrap{scrollbar-width:auto;scrollbar-color:#94A3B8 var(--bg2)}

/* ── Glossary ── */
.gl-cat-btn{padding:5px 11px;border-radius:4px;font-size:10px;font-weight:700;cursor:pointer;
  border:1px solid var(--border);background:#fff;color:var(--t3);font-family:var(--sans);transition:.15s}
.gl-cat-btn:hover{border-color:var(--accent);color:var(--accent)}
.gl-cat-btn.gl-cat-on{background:var(--navy);color:#fff;border-color:var(--navy)}
.gl-sec{margin-bottom:16px}
.gl-sec-hd{font-size:12px;font-weight:800;color:var(--navy);padding:7px 11px;background:var(--bg2);border-radius:4px;margin-bottom:6px}
.gl-row{display:flex;padding:10px 14px;border-bottom:1px solid #D7CCC8;gap:10px;align-items:baseline;border-left:3px solid transparent;transition:.15s}
.gl-row:hover{background:#FFF9F5;border-left-color:#E65100}
.gl-term{font-size:13px;font-weight:800;color:#5D4037;min-width:150px}
.gl-en{font-size:10px;color:#E65100;font-family:var(--mono);min-width:90px;font-weight:700}
.gl-desc{font-size:11px;color:#212121;flex:1;line-height:1.75}
.gl-why{font-size:10px;color:#5D4037;line-height:1.6;margin-top:4px;padding:5px 10px;background:#FFF9C4;border-left:2px solid #F9A825;border-radius:3px}
/* 확장 상세 설명 영역 */
.gl-detail{margin-top:8px;padding:10px 12px;background:#FAFAFA;border:1px solid #D7CCC8;border-left:3px solid #5D4037;border-radius:4px;font-size:11px;line-height:1.85;color:#212121;width:100%}
.gl-detail-hd{font-size:10px;font-weight:800;color:#5D4037;margin-bottom:4px;letter-spacing:.3px}
.gl-formula{margin-top:6px;padding:8px 10px;background:#FFF3E0;border:1px dashed #E65100;border-radius:3px;font-size:10px;line-height:1.7;color:#5D4037;font-family:var(--mono)}
.gl-formula-hd{font-weight:800;color:#E65100;margin-bottom:3px;font-family:var(--sans);font-size:10px}
.gl-toggle{cursor:pointer;font-size:10px;color:#E65100;font-weight:700;margin-left:8px;user-select:none}
.gl-toggle:hover{text-decoration:underline}
.gl-detail-hide{display:none}
.gl-row.gl-expanded{background:#FFF9F5;border-left-color:#E65100}
.ag-sel-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--redBg);
  border:1px solid var(--red);border-radius:6px;margin-bottom:8px;font-size:11px;color:var(--red);font-weight:700}
.ag-sel-bar button{padding:5px 14px;border-radius:6px;font-size:10px;font-weight:700;
  cursor:pointer;border:none;color:#fff;background:var(--red);font-family:var(--sans)}
.ag-sel-bar button:hover{opacity:.85}

/* ══ 6 Tabs: Level-Unified Font System ══
   Lv0=26px 핵심수치 | Lv1=16px 제목 | Lv2=15px 보조수치
   Lv3=13px 라벨본문  | Lv4=11px 설명  | Lv5=9px 태그     */
#tab-product,#tab-health,#tab-cashflow,#tab-mgmt,#tab-source,#tab-assum{font-size:13px !important}
/* Lv0: 핵심 수치 — 26px */
#tab-product .kpi-val,#tab-health .kpi-val,#tab-cashflow .kpi-val,
#tab-health .a-val,#tab-cashflow .a-val{font-size:26px !important}
/* Lv1: 카드/섹션 제목 — 16px */
#tab-product .card-hd,#tab-health .card-hd,#tab-cashflow .card-hd,
#tab-mgmt .card-hd,#tab-source .card-hd,#tab-assum .card-hd,
#tab-product .prod-card-hd,#tab-assum .assum-hd{font-size:16px !important}
/* Lv2: 보조 수치 — 15px */
#tab-product .prod-val,#tab-health .res-val,#tab-cashflow .res-val{font-size:15px !important}
/* Lv3: 라벨/본문 — 13px */
#tab-product .prod-lbl,#tab-health .res-lbl,#tab-cashflow .res-lbl,
#tab-health .a-tag,#tab-cashflow .a-tag,#tab-cashflow .kpi-lbl,
#tab-product td,#tab-health td,#tab-cashflow td,#tab-mgmt td,#tab-source td,
#tab-health .itext,#tab-assum .assum-lbl,
#tab-mgmt .mgmt-table td,#tab-source .mgmt-table td{font-size:13px !important;line-height:1.8}
#tab-mgmt td.L1,#tab-source td.L1{font-size:15px !important}
/* Lv4: 설명/보조 — 11px */
#tab-health .a-desc,#tab-cashflow .a-desc,
#tab-product th,#tab-health th,#tab-cashflow th,#tab-mgmt th,#tab-source th,
#tab-mgmt .method-txt,#tab-source .method-txt,
#tab-assum .assum-unit,#tab-mgmt td.L4,#tab-source td.L4,
#tab-assum .assum-del-btn,#tab-assum .assum-add-btn{font-size:11px !important}
/* Lv5: 태그/마이크로 — 9px */
#tab-health .itag,#tab-mgmt .lv-tag,#tab-source .lv-tag,
#tab-mgmt .src-badge,#tab-source .src-badge{font-size:9px !important}
/* Lv5: JS inline font-size overrides → all to 9px */
#tab-product [style*="font-size:6px"],#tab-health [style*="font-size:6px"],
#tab-cashflow [style*="font-size:6px"],
#tab-product [style*="font-size:7px"],#tab-health [style*="font-size:7px"],
#tab-cashflow [style*="font-size:7px"],
#tab-product [style*="font-size:8px"],#tab-health [style*="font-size:8px"],
#tab-cashflow [style*="font-size:8px"],
#tab-product [style*="font-size:9px"],#tab-health [style*="font-size:9px"],
#tab-cashflow [style*="font-size:9px"]{font-size:9px !important}
/* Assum input (입력창 — 20% reduced) */
#tab-assum .assum-inp{font-size:14px !important;padding:5px 8px !important;width:90px !important}

/* ══ 8 Panels: 3-Color System ══
   색1: var(--t3) 라벨   색2: var(--t1) 수치   색3: var(--accent) 강조  */
/* 행형 패널: 시책비·CSM·조직효율·현행vs분급 */
#policyBreak>div>span:first-child,
#csmPanel>div>span:first-child,
#healthOrg>div>span:first-child,
#cfCompare>div>span:first-child{font-size:13px !important;color:var(--t3) !important}
#policyBreak>div>span:last-child,
#csmPanel>div>span:last-child,
#healthOrg>div>span:last-child,
#cfCompare>div>span:last-child{font-size:15px !important;color:var(--t1) !important}
#healthOrg>div>span:last-child>span,
#cfCompare>div>span:last-child>span{font-size:11px !important;color:var(--t4) !important}
/* 강조행: 마지막 행만 accent */
#policyBreak>div:last-child>span:first-child{color:var(--accent) !important}
#policyBreak>div:last-child>span:last-child{color:var(--accent) !important}
#csmPanel>div:last-child>span:first-child{color:var(--accent) !important}
#csmPanel>div:last-child>span:last-child{color:var(--accent) !important}

/* 카드형 패널: Efficiency·1200%룰·내부통제 */
#efficiencyPanel div>div>div:first-child,
#cf1200>div:first-child>div>div:first-child,
#cfCompliance>div:first-child>div>div:first-child{font-size:11px !important;color:var(--t3) !important}
#efficiencyPanel div>div>div:nth-child(2),
#efficiencyPanel div>div>div:last-child{font-size:16px !important;color:var(--t1) !important}
#cf1200>div:first-child>div>div:nth-child(2),
#cfCompliance>div:first-child>div>div:nth-child(2){font-size:16px !important;color:var(--t1) !important}
#cf1200>div:first-child>div>div:last-child,
#cfCompliance>div:first-child>div>div:last-child{font-size:9px !important;color:var(--t4) !important}

/* HHI */
#healthHHI>div:first-child>span:first-child{font-size:13px !important;color:var(--t3) !important}
#healthHHI>div:first-child>span:last-child{font-size:16px !important;color:var(--t1) !important}
#healthHHI>div:first-child>span:last-child>span{font-size:11px !important;color:var(--t3) !important}
#healthHHI>div:last-child{font-size:11px !important;color:var(--t4) !important}
#healthHHI .dist-seg{font-size:11px !important}

/* 1200% progress */
#cf1200>div:nth-child(2)>div:last-child{font-size:9px !important}

/* Cashflow chart */
#cfCash div[style*="font-size:6px"]{font-size:9px !important;color:var(--t3) !important}
#cfCash>div:last-child{font-size:11px !important;color:var(--t3) !important}

/* 내부통제 하단 */
#cfCompliance>div:last-child{font-size:11px !important;color:var(--t3) !important}

/* ── 가정시트 서브탭 ── */
.assum-sub-btn{background:none;border:none;color:var(--t4);padding:9px 14px;font-size:10.5px;

/* ── 업로드 카드 ── */
.upl-card{background:linear-gradient(145deg,#fff,#FAFBFC);border:1px solid var(--border);
  border-radius:var(--R);padding:14px 16px;transition:.2s;
  box-shadow:0 1px 3px rgba(11,18,34,.05)}
.upl-card:hover{box-shadow:0 4px 14px rgba(11,18,34,.1);transform:translateY(-1px)}
.upl-card-hd{display:flex;justify-content:space-between;align-items:center;
  font-size:12px;font-weight:800;margin-bottom:6px}
.upl-card-cnt{font-size:9px;font-weight:700;padding:2px 8px;border-radius:10px;
  background:var(--bg2);color:var(--t3)}
.upl-card-desc{font-size:9.5px;color:var(--t3);line-height:1.7;margin-bottom:10px;min-height:32px}
.upl-card-btns{display:flex;gap:6px}

  font-family:var(--sans);font-weight:600;cursor:pointer;border-bottom:2.5px solid transparent;
  transition:all .2s;white-space:nowrap;letter-spacing:.1px}
.assum-sub-btn:hover{color:var(--t1);background:rgba(14,165,233,.03)}
.assum-sub-btn.assum-sub-on{color:var(--navy);border-bottom-color:var(--accent);font-weight:800;
  background:linear-gradient(180deg,rgba(14,165,233,.06),transparent)}
/* 지점 서브탭 색상 */
.assum-sub-btn[onclick*="br_"]{color:var(--blue)}
.assum-sub-btn[onclick*="br_"].assum-sub-on{color:var(--navy);border-bottom-color:var(--blue)}
/* 센터 서브탭 색상 */
.assum-sub-btn[onclick*="ct_"]{color:var(--green);font-size:9.5px;padding:8px 10px}
.assum-sub-btn[onclick*="ct_"].assum-sub-on{color:#047857;border-bottom-color:var(--green)}
/* 변경된 값 강조 */
.assum-inp.modified{border-color:#F59E0B !important;background:rgba(245,158,11,.06) !important}
.assum-inp.modified:focus{border-color:var(--accent) !important}
.assum-override-badge{display:inline-block;font-size:7px;font-weight:800;padding:1px 6px;
  border-radius:3px;background:#FFFBEB;color:#B45309;border:1px solid #FEF3C7;margin-left:6px;vertical-align:middle}


/* ═══════════ Budget Tab Styles ═══════════ */
#tab-budget { font-size: 13px; }
#tab-budget .bg-view-btn,
#tab-budget .bg-period-btn {
  padding: 6px 12px; border: 1px solid #cbd5e1; background: #fff;
  border-radius: 6px; font-size: 12px; font-weight: 600;
  cursor: pointer; color: #475569; transition: all 0.15s;
}
#tab-budget .bg-view-btn:hover,
#tab-budget .bg-period-btn:hover { background: #e0e7ff; border-color: #6366f1; }
#tab-budget .bg-view-btn.active { background: #6366f1; color: #fff; border-color: #6366f1; }
#tab-budget .bg-period-btn.active { background: #0ea5e9; color: #fff; border-color: #0ea5e9; }
#tab-budget .bg-tip {
  position: absolute; top: 6px; right: 8px; cursor: help;
  width: 16px; height: 16px; line-height: 16px; text-align: center;
  background: #64748b; color: #fff; border-radius: 50%;
  font-size: 10px; font-weight: 700;
}
#tab-budget .bg-tip:hover { background: #6366f1; }

/* Budget 피벗 테이블 */
#tab-budget .bg-pivot {
  width: 100%; border-collapse: collapse; font-size: 11px;
  font-family: 'Inter', 'Malgun Gothic', sans-serif;
}
#tab-budget .bg-pivot th {
  background: #1e293b; color: #fff; padding: 8px 6px; text-align: right;
  font-weight: 700; border: 1px solid #334155; white-space: nowrap;
}
#tab-budget .bg-pivot th.bg-col-label { text-align: left; background: #0f172a; }
#tab-budget .bg-pivot td {
  padding: 6px 8px; text-align: right; border: 1px solid #e2e8f0;
  font-variant-numeric: tabular-nums;
}
#tab-budget .bg-pivot td.bg-col-label {
  text-align: left; font-weight: 700; background: #f1f5f9; color: #0f172a;
}
#tab-budget .bg-pivot tr.bg-row-total td {
  background: #fef3c7; font-weight: 800; border-top: 2px solid #f59e0b;
}
#tab-budget .bg-pivot tr.bg-row-total td.bg-col-label { background: #fde68a; }
#tab-budget .bg-pivot td.bg-pos { color: #059669; }
#tab-budget .bg-pivot td.bg-neg { color: #dc2626; }
#tab-budget .bg-pivot tr.bg-row-biz:hover { background: #f0f9ff; cursor: pointer; }
#tab-budget .bg-pivot tr.bg-row-center td { background: #fafbfc; font-size: 10px; color: #475569; }
#tab-budget .bg-pivot tr.bg-row-center td.bg-col-label { padding-left: 24px; font-weight: 500; }

/* KPI 값 색상 */
#tab-budget .bg-kpi-pos { color: #059669 !important; }
#tab-budget .bg-kpi-neg { color: #dc2626 !important; }
#tab-budget .bg-kpi-warn { color: #d97706 !important; }