*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #eef2f7;--card: #ffffff;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--grid: #e5e7eb;--accent: #1d4ed8;--hover: #f1f5f9}body.dark{--bg: #0b1220;--card: #111b2e;--border: #1f2c45;--text: #e2e8f0;--muted: #8ca0bd;--grid: #1e2a44;--accent: #60a5fa;--hover: #16223a}body{background:var(--bg);color:var(--text);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:13px;line-height:1.45;transition:background .2s ease,color .2s ease}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--card);border-bottom:1px solid var(--border);padding:10px 20px;position:sticky;top:0;z-index:40}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#1d4ed8,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}.brand h1{font-size:16.5px;font-weight:700}.brand .sub{font-size:11.5px;color:var(--muted)}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.seg{display:inline-flex;background:var(--hover);border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px}.seg button{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:5px 11px;border-radius:7px;font-size:12px;font-weight:600}.seg button.on{background:var(--accent);color:#fff}.filters select,.dark-btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:9px;padding:6px 10px;font-size:12px;cursor:pointer}.grid{flex:1;display:flex;flex-direction:column;gap:12px;padding:12px 20px;max-width:1720px;width:100%;margin:0 auto}.kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kpi{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:12px;padding:11px 14px;box-shadow:0 1px 2px #0f172a0d}.kpi-head{display:flex;justify-content:space-between;align-items:center}.kpi-label{font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.rag-dot{width:10px;height:10px;border-radius:50%}.kpi-value{font-size:21px;font-weight:800;margin:4px 0 2px}.kpi-note{font-size:11px;color:var(--muted)}.kpi-foot{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;margin-top:6px;flex-wrap:wrap}.kpi-target{color:var(--muted)}.kpi-vslast{font-weight:700}.kpi-vslast.up{color:#059669}.kpi-vslast.down{color:#dc2626}.kpi-sub{font-size:10.5px;color:var(--muted);margin-top:3px}.charts-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;position:relative}.card-title{font-size:12px;font-weight:800;color:var(--text);margin-bottom:6px;letter-spacing:.2px}.drill-link{position:absolute;top:10px;right:12px;border:none;background:transparent;color:var(--accent);font-size:11px;font-weight:700;cursor:pointer}.panels-grid{display:grid;grid-template-columns:1fr 300px;gap:12px;align-items:start}.panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.panel-head{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.panel-head h3{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.panel-decision{font-size:10.5px;color:var(--accent);font-weight:700}.ptitle{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:10px 0 5px}.panel .ptitle:first-of-type{margin-top:0}.empty{font-size:11.5px;color:var(--muted);padding:6px 0}.attention-panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;position:sticky;top:70px;max-height:calc(100vh - 90px);overflow-y:auto}.attention{display:flex;flex-direction:column;gap:8px}.alert{display:block;width:100%;text-align:left;cursor:pointer;background:var(--bg);border:1px solid var(--border);border-left-width:4px;border-radius:10px;padding:10px 12px;color:var(--text);font:inherit}.alert.sev-critical{border-left-color:#ef4444}.alert.sev-warning{border-left-color:#f59e0b}.alert.sev-info{border-left-color:#3b82f6}.alert-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.alert-title{font-weight:700;font-size:12px}.alert-detail{font-size:11px;color:var(--muted);margin-top:3px}.alert-action{margin-top:6px;padding:6px 9px;border-radius:7px;font-size:11px;background:var(--card);border:1px dashed var(--border);color:var(--text);display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}.act-label{font-size:9px;font-weight:800;letter-spacing:.5px;color:var(--accent);white-space:nowrap}.sev-chip{padding:1.5px 7px;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.4px}.sev-critical{background:#fee2e2;color:#b91c1c}.sev-warning{background:#fef3c7;color:#b45309}.sev-info{background:#dbeafe;color:#1d4ed8}.tbl-wrap{overflow-x:auto}.tbl-wrap.mini{border:1px solid var(--border);border-radius:8px}.data-table{width:100%;border-collapse:collapse}.data-table th{background:var(--hover);color:var(--muted);text-align:left;font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;padding:5px 8px;font-weight:800;white-space:nowrap}.data-table td{padding:5px 8px;font-size:11.5px;border-top:1px solid var(--border);color:var(--text);white-space:nowrap}.data-table tbody tr:hover td{background:var(--hover)}.up{color:#059669;font-weight:700}.down{color:#dc2626;font-weight:700}.warn-txt{color:#b45309;font-weight:700}.drill-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1e73;z-index:60;display:flex;justify-content:flex-end}.drill-panel{width:min(560px,92vw);height:100%;background:var(--card);border-left:1px solid var(--border);padding:18px 20px;overflow-y:auto;animation:slide .18s ease}@keyframes slide{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}.drill-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.drill-head h3{font-size:15px}.drill-close{border:1px solid var(--border);background:var(--card);color:var(--text);width:30px;height:30px;border-radius:8px;cursor:pointer;font-weight:700}.foot{padding:12px 20px;color:var(--muted);font-size:11px;border-top:1px solid var(--border)}.loading,.error-banner{padding:40px;text-align:center;color:var(--muted)}@media(max-width:1280px){.kpi-strip{grid-template-columns:repeat(3,1fr)}.charts-row{grid-template-columns:1fr 1fr}.panels-grid{grid-template-columns:1fr}.attention-panel{position:static;max-height:none}}@media(max-width:860px){.kpi-strip{grid-template-columns:repeat(2,1fr)}.charts-row,.panels{grid-template-columns:1fr}}@media(max-width:560px){.kpi-strip{grid-template-columns:1fr}}.shell{flex:1;display:flex;align-items:flex-start}.menu-toggle{display:none;flex:0 0 auto;width:40px;height:40px;padding:10px;flex-direction:column;justify-content:center;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:9px;cursor:pointer}.menu-toggle span{display:block;height:2px;width:100%;background:var(--text);border-radius:2px;transition:transform .18s ease,opacity .18s ease}.menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.navrail{position:sticky;top:70px;flex:0 0 180px;display:flex;flex-direction:column;gap:6px;padding:14px 12px}.nav-close{display:none}.nav-btn{text-align:left;border:1px solid var(--border);background:var(--card);color:var(--text);padding:10px 14px;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:700;transition:background .12s ease}.nav-btn:hover{background:var(--hover)}.nav-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.content{flex:1;min-width:0;padding:2px 0 0}.custom-range{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.custom-range input{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;padding:5px 8px;font-size:12px}.nav-backdrop{display:none}@media(max-width:900px){.menu-toggle{display:flex}.shell{flex-direction:column}.navrail{position:fixed;top:0;left:0;bottom:0;z-index:60;width:min(270px,80vw);flex-direction:column;gap:8px;padding:16px 14px 20px;background:var(--card);border-right:1px solid var(--border);box-shadow:12px 0 32px #0f172a38;transform:translate(-105%);transition:transform .2s ease}.navrail.open{transform:translate(0)}.nav-close{display:block;align-self:flex-end;width:34px;height:34px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:9px;cursor:pointer;font-size:15px;font-weight:700;margin-bottom:4px}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#0a0f1e73}}.legacy{display:flex;flex-direction:column;gap:12px}.legacy-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.legacy-tabs{display:flex;flex-wrap:wrap;gap:6px}.legacy-tab{border:1px solid var(--border);background:var(--card);color:var(--muted);padding:6px 13px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:700}.legacy-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.legacy-range{font-size:12px;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px 12px}.legacy-range b{color:var(--text)}.legacy-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.legacy-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:12px;padding:11px 14px}.legacy-card.good{border-top-color:#10b981}.legacy-card.bad{border-top-color:#ef4444}.legacy-card.warn{border-top-color:#f59e0b}.legacy-card-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.legacy-card-value{font-size:19px;font-weight:800;margin:3px 0}.legacy-card-sub{font-size:11px;color:var(--muted)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:1100px){.two-cols{grid-template-columns:1fr}}.legacy-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(120deg,var(--card),var(--hover));border:1px solid var(--border);border-radius:14px;padding:16px 20px}.legacy-banner-title{font-size:16px;font-weight:800}.legacy-banner-stats{margin-left:auto;display:flex;gap:8px}.exec-stat{padding:4px 12px;border-radius:999px;font-size:11px;font-weight:800;color:#fff}.exec-stat.bad{background:#ef4444}.exec-stat.warn{background:#f59e0b}.exec-stat.ok{background:#10b981}.legacy-group{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.legacy-group-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.legacy-toggle{width:22px;height:22px;border:1px solid var(--border);background:var(--card);color:var(--accent);border-radius:6px;cursor:pointer;font-size:11px;font-weight:800}.legacy-badge{padding:3px 10px;border-radius:7px;font-size:10px;font-weight:800;color:#fff}.legacy-cement{background:#0f766e}.legacy-armcl{background:#b45309}.legacy-ispat{background:#7c3aed}.legacy-absl{background:#1d4ed8}.legacy-cluster{background:#475569}.legacy-group-title{font-size:13px;font-weight:800}.legacy-strip{display:inline-flex;gap:2px;flex-wrap:wrap;max-width:380px;overflow:hidden}.legacy-dot{width:9px;height:9px;border-radius:2.5px}.legacy-dot.d-bad{background:#ef4444}.legacy-dot.d-warn{background:#f59e0b}.legacy-dot.d-good{background:#10b981}.legacy-dot.d-info{background:#3b82f6}.legacy-count{margin-left:auto;font-size:11px;color:var(--muted);font-weight:700}.legacy-more{margin-top:8px;border:1px solid var(--border);background:var(--card);color:var(--accent);padding:6px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700}.legacy-insights{display:flex;flex-direction:column;gap:10px;margin-top:10px}.legacy-insight{display:flex;gap:12px;background:var(--card);border:1px solid var(--border);border-left-width:4px;border-radius:12px;padding:12px 15px}.legacy-insight.ins-good{border-left-color:#10b981}.legacy-insight.ins-bad{border-left-color:#ef4444}.legacy-insight.ins-warn{border-left-color:#f59e0b}.legacy-insight.ins-info{border-left-color:#3b82f6}.legacy-ins-left{display:flex;gap:11px;flex:1;min-width:0}.legacy-ins-ico{width:30px;height:30px;border-radius:50%;flex:0 0 30px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:14px}.ins-good .legacy-ins-ico{background:#10b981}.ins-bad .legacy-ins-ico{background:#ef4444}.ins-warn .legacy-ins-ico{background:#f59e0b}.ins-info .legacy-ins-ico{background:#3b82f6}.legacy-ins-body{flex:1;min-width:0}.legacy-ins-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.legacy-sev-chip{padding:2px 8px;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.4px}.legacy-sev-chip.chip-bad{background:#fee2e2;color:#b91c1c}.legacy-sev-chip.chip-warn{background:#fef3c7;color:#b45309}.legacy-sev-chip.chip-good{background:#dcfce7;color:#15803d}.legacy-sev-chip.chip-info{background:#dbeafe;color:#1d4ed8}.legacy-tag{padding:2px 8px;border-radius:6px;font-size:9.5px;font-weight:700;background:var(--hover);color:var(--muted)}.legacy-ins-title{font-weight:700;font-size:13px}.legacy-ins-detail{font-size:12px;color:var(--muted);margin-top:3px}.legacy-ins-action{margin-top:7px;padding:7px 10px;border-radius:8px;font-size:12px;background:var(--hover);border:1px dashed var(--border);display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.legacy-act{font-size:9px;font-weight:800;letter-spacing:.5px;color:var(--accent);white-space:nowrap}.legacy-ins-viz{flex:0 0 150px;width:150px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding-left:12px;border-left:1px dashed var(--border)}.legacy-spark{width:132px;height:44px}.legacy-bar{height:6px;background:var(--hover);border-radius:3px;overflow:hidden}.legacy-bar-fill{height:100%;border-radius:3px}.legacy-ins-foot{display:flex;justify-content:space-between;align-items:baseline}.legacy-note{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.geo-select,.geo-target{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;padding:6px 10px;font-size:12.5px}@media(max-width:760px){.legacy-ins-viz{display:none}}.legacy-areas{display:flex;flex-direction:column;gap:14px}.legacy-area{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px}.legacy-area-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.legacy-area-num{width:28px;height:28px;border-radius:8px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}.legacy-area-head h3{font-size:14px;font-weight:800}.legacy-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.legacy-tile{border:1px solid var(--border);border-radius:12px;padding:11px 13px 8px;background:var(--bg);display:flex;flex-direction:column;gap:4px}.legacy-tile.st-miss{border-top:3px solid #ef4444}.legacy-tile.st-warn{border-top:3px solid #f59e0b}.legacy-tile.st-hit{border-top:3px solid #10b981}.legacy-tile.st-gap{border-top:3px solid #94a3b8}.legacy-tile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.legacy-tile-name{font-weight:700;font-size:12.5px}.legacy-tile-value{font-size:18px;font-weight:800;color:var(--accent)}.legacy-tile.st-miss .legacy-tile-value{color:#b91c1c}.legacy-tile.st-warn .legacy-tile-value{color:#b45309}.legacy-tile-target{font-size:10.5px;color:var(--muted)}.cluster{display:flex;flex-direction:column;gap:14px}.cluster-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;position:sticky;top:58px;z-index:45;background:var(--bg);padding:8px 0;border-radius:0 0 8px 8px}.cluster-filters select{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:9px;padding:6px 10px;font-size:12px}.cluster-section{display:flex;flex-direction:column;gap:10px}.pl-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.plcard{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:11px;padding:10px 12px}.plcard-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.plcard-value{font-size:17px;font-weight:800;margin:4px 0}.plcard-foot{display:flex;flex-direction:column;gap:2px;font-size:9.5px;color:var(--muted)}.plcard-foot .up{color:#059669}.plcard-foot .down{color:#dc2626}.pl-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.margin-ladder,.split-panel{background:var(--card);border:1px solid var(--border);border-radius:11px;padding:12px 14px}.ladder-row{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px}.ladder-row span{width:110px;color:var(--muted)}.ladder-track{flex:1;height:12px;background:var(--hover);border-radius:6px;overflow:hidden}.ladder-fill{height:100%;border-radius:6px}.ladder-row b{width:44px;text-align:right}.split-wrap{display:flex;flex-direction:column;gap:10px}.split-row{display:flex;align-items:center;gap:10px}.split-label{width:90px;font-size:11px;color:var(--muted)}.split-bar{flex:1;display:flex;height:16px;border-radius:8px;overflow:hidden;background:var(--hover)}.split-seg{height:100%}.split-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted)}.split-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}.bridge-controls{display:flex;gap:12px;align-items:center}.bridge-headline{margin-top:8px;font-size:12.5px;font-weight:700;color:var(--text);background:var(--hover);border-left:3px solid var(--accent);padding:8px 12px;border-radius:6px}.tree-node{margin:2px 0}.tree-row{display:flex;align-items:center;gap:6px}.tree-toggle{width:20px;height:20px;border:1px solid var(--border);background:var(--card);color:var(--accent);border-radius:5px;cursor:pointer;font-size:10px}.tree-toggle.blank{border:none;background:transparent}.tree-branch{font-weight:700;font-size:12.5px}.tree-cause{font-size:11.5px;color:var(--muted)}.recovery-summary{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px}.recovery-summary b{font-size:14px}.top10-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.top10-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:11px;padding:10px 12px;position:relative}.top10-num{position:absolute;top:8px;right:10px;font-size:13px;font-weight:800;color:var(--muted);opacity:.5}.top10-label{font-size:11px;font-weight:700;color:var(--text);padding-right:22px}.top10-value{font-size:15px;font-weight:800;margin:3px 0}.top10-target{font-size:9.5px;color:var(--muted)}.scorecards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.scorecard{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:11px;padding:12px 14px}.scorecard-head{font-size:13px;font-weight:800;margin-bottom:8px}.score-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-top:1px solid var(--border);font-size:11.5px;cursor:help}.score-label{flex:1;color:var(--muted)}.score-val{font-weight:700}.score-rag{width:18px;height:18px;border-radius:50%;color:#fff;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center}.rag-red{background:#ef4444}.rag-amber{background:#f59e0b}.rag-green{background:#10b981}.leak-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.leak-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:11px;padding:12px 14px}.leak-title{font-size:13px;font-weight:800}.leak-impact{font-size:20px;font-weight:800;color:var(--accent);margin:6px 0 2px}.leak-impact span{font-size:11px;color:var(--muted);font-weight:600}.leak-vs{font-size:10.5px;color:var(--muted)}.leak-detail{margin-top:6px;font-size:11.5px;color:var(--muted)}.cluster-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.cluster-tab{border:1px solid var(--border);background:var(--card);color:var(--muted);padding:7px 14px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:700}.cluster-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.roi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.dr-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.dr-gap{flex:1 1 100%;font-size:12px;color:var(--muted);background:var(--hover);border-left:3px solid #f59e0b;padding:8px 12px;border-radius:6px}.dr-owner{font-size:11px;color:var(--muted)}.dr-tags{display:flex;flex-wrap:wrap;gap:6px}.dr-tag{padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:700}.dr-tag.ok{background:#dcfce7;color:#15803d}.dr-tag.warn{background:#fef3c7;color:#b45309}.dr-tag.bad{background:#fee2e2;color:#b91c1c}@media(max-width:1280px){.pl-strip{grid-template-columns:repeat(3,1fr)}.scorecards{grid-template-columns:repeat(2,1fr)}.pl-row{grid-template-columns:1fr}}@media(max-width:760px){.pl-strip{grid-template-columns:repeat(2,1fr)}.scorecards{grid-template-columns:1fr}}.plcard-note{font-size:9.5px;color:var(--muted);font-style:italic;margin-top:2px}.scorecard-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.sc-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:10px;padding:9px 10px}.sc-label{font-size:10px;font-weight:700;color:var(--muted);line-height:1.2;min-height:26px}.sc-value{font-size:15px;font-weight:800;margin:3px 0}.sc-note{font-size:9px;color:var(--muted);font-style:italic}.sc-target{font-size:9px;color:var(--muted);margin-top:2px}@media(max-width:1280px){.scorecard-strip{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.scorecard-strip{grid-template-columns:repeat(2,1fr)}}.score-layout{display:grid;grid-template-columns:140px 1fr 1fr;gap:10px;align-items:stretch}.score-gauge{border:2px solid;border-radius:12px;padding:12px;text-align:center;display:flex;flex-direction:column;justify-content:center;background:var(--card)}.gauge-value{font-size:34px;font-weight:800}.gauge-label{font-size:12px;font-weight:700}.gauge-sub{font-size:9.5px;color:var(--muted)}.pillar-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:11px;padding:12px 14px}.pillar-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.pillar-value{font-size:24px;font-weight:800}.pillar-rating{font-size:11px;color:var(--muted)}.area-tiles{display:grid;grid-template-columns:repeat(9,1fr);gap:8px;margin-top:10px}.area-tile{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:10px;padding:8px 9px;cursor:pointer}.area-label{font-size:10px;font-weight:700;color:var(--muted);line-height:1.15;min-height:24px}.area-score{font-size:18px;font-weight:800}.area-cov{font-size:9px;color:var(--muted)}.pull-down{background:var(--card);border:1px solid var(--border);border-radius:11px;padding:12px 14px;margin-top:10px}.pull-item{font-size:12px;padding:5px 0;border-top:1px solid var(--border)}.pull-item:first-of-type{border-top:none}@media(max-width:1280px){.area-tiles{grid-template-columns:repeat(5,1fr)}.score-layout{grid-template-columns:1fr 1fr}}@media(max-width:760px){.area-tiles{grid-template-columns:repeat(2,1fr)}.score-layout{grid-template-columns:1fr}}.go-btn{border:1px solid var(--border);background:var(--card);color:var(--accent);padding:3px 10px;border-radius:7px;cursor:pointer;font-size:11px;font-weight:700}.go-btn:hover{background:var(--hover)}.m360{font-weight:800;text-align:center;white-space:nowrap}.m360.green{background:#dcfce7;color:#15803d}.m360.amber{background:#fef3c7;color:#b45309}.m360.red{background:#fee2e2;color:#b91c1c}.m360.gray{background:#f1f5f9;color:#94a3b8}.ceo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ceo-card{border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:10px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:10px}.ceo-card.green{border-left-color:#16a34a}.ceo-card.amber{border-left-color:#d97706}.ceo-card.red{border-left-color:#dc2626}.ceo-card-head{display:flex;justify-content:space-between;align-items:center}.ceo-dept{font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.03em;font-size:12px}.ceo-status-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8}.ceo-card.green .ceo-status-dot{background:#16a34a}.ceo-card.amber .ceo-status-dot{background:#d97706}.ceo-card.red .ceo-status-dot{background:#dc2626}.ceo-headline{font-size:14px;font-weight:700;color:#1e293b}.ceo-kpis{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ceo-kpi{background:#f8fafc;border-radius:8px;padding:8px}.ceo-kpi-v{display:block;font-weight:800;color:#0f172a;font-size:13px}.ceo-kpi-l{display:block;color:#64748b;font-size:11px}.ceo-insight{font-size:12px;color:#475569;line-height:1.5;border-top:1px dashed #e2e8f0;padding-top:8px}.ceo-action{font-size:12px;font-weight:700;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 10px}.ceo-card.red .ceo-action{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.ceo-card.green .ceo-action{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b;margin-top:2px}.kpi-note-src{font-size:11px;color:#94a3b8;margin-top:2px;font-style:italic}.fin-focus{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fin-item{border:1px solid #e2e8f0;border-top:4px solid #94a3b8;border-radius:10px;padding:12px;background:#fff}.fin-item.green{border-top-color:#10b981}.fin-item.amber{border-top-color:#f59e0b}.fin-item.red{border-top-color:#ef4444}.fin-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.fin-value{font-size:18px;font-weight:800;color:#0f172a;margin:4px 0}.fin-bar{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.fin-fill{height:100%;background:#94a3b8}.fin-item.green .fin-fill{background:#10b981}.fin-item.amber .fin-fill{background:#f59e0b}.fin-item.red .fin-fill{background:#ef4444}.fin-pct{font-size:11px;color:#94a3b8;margin-top:4px}.fin-focus-flag{margin-top:6px;font-size:11px;font-weight:700;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:4px 8px}.fin-item.amber .fin-focus-flag{color:#b45309;background:#fffbeb;border-color:#fde68a}.fin-ok{margin-top:6px;font-size:11px;font-weight:700;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:4px 8px}.mini-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mini-kpi{border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:8px;padding:8px 10px;background:#fff}.mini-kpi.green{border-left-color:#10b981}.mini-kpi.amber{border-left-color:#f59e0b}.mini-kpi.red{border-left-color:#ef4444}.mini-kpi.gray{border-left-color:#cbd5e1;opacity:.75}.mini-kpi-label{font-size:11px;color:#64748b}.mini-kpi-value{font-size:15px;font-weight:800;color:#0f172a;margin-top:2px}.mini-kpi-target{font-size:10px;color:#94a3b8;margin-top:2px}.kpi-drill{display:flex;flex-direction:column;gap:10px}.kpi-drill-status{display:flex;align-items:center;gap:12px}.kpi-drill-value{font-size:24px;font-weight:800;color:#0f172a}.kpi-drill-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px dashed #e2e8f0;padding-bottom:6px}.kpi-drill-row span{color:#64748b;flex-shrink:0}.kpi-drill-row b{color:#0f172a;text-align:right}.kpi-drill-insight{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px;font-size:13px;color:#92400e;line-height:1.5}.kpi-type-row4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi-type-card{border:1px solid #e2e8f0;border-top:4px solid #94a3b8;border-radius:10px;background:#fff;overflow:hidden}.kpi-type-card:nth-child(1){border-top-color:#10b981}.kpi-type-card:nth-child(2){border-top-color:#3b82f6}.kpi-type-card:nth-child(3){border-top-color:#8b5cf6}.kpi-type-card:nth-child(4){border-top-color:#f59e0b}.kpi-type-head{font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:12px;color:#0f172a;padding:10px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.kpi-type-body{padding:4px 8px}.kpi-type-row{display:flex;flex-direction:column;gap:2px;padding:8px 4px;border-bottom:1px dashed #eef2f7}.kpi-type-row:last-child{border-bottom:none}.kpi-type-row-label{font-size:11px;color:#64748b;line-height:1.3}.kpi-type-row-val{font-size:14px;font-weight:800;color:#0f172a}.mini-kpi-gap{font-size:11px;font-weight:700;color:#b45309;margin-top:2px}.kpi-drill-drivers{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;background:#f8fafc}.kpi-drill-drivers-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b;margin-bottom:6px}.kpi-drill-driver{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:4px 0;border-bottom:1px dashed #eef2f7}.kpi-drill-driver:last-child{border-bottom:none}.kpi-drill-driver span{color:#64748b}.kpi-drill-driver b{color:#0f172a;text-align:right}.cc{display:flex;flex-direction:column;gap:14px;padding:4px}.cc-hero{display:flex;align-items:center;gap:24px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px;cursor:pointer;flex-wrap:wrap}.cc-ring-wrap{flex-shrink:0}.cc-hero-info{flex:1;min-width:200px}.cc-hero-title{font-size:15px;color:#64748b;font-weight:600}.cc-hero-rating{font-size:26px;font-weight:800;margin:2px 0}.cc-hero-rating.green{color:#10b981}.cc-hero-rating.lightgreen{color:#84cc16}.cc-hero-rating.amber{color:#f59e0b}.cc-hero-rating.orange{color:#f97316}.cc-hero-rating.red{color:#ef4444}.cc-hero-rating.gray{color:#94a3b8}.cc-hero-sub{font-size:12px;color:#94a3b8}.cc-hero-pillars{display:flex;gap:12px;flex-wrap:wrap}.cc-pillar{width:150px;border:1px solid #e2e8f0;border-top:4px solid #94a3b8;border-radius:10px;padding:12px;background:#fff;cursor:pointer}.cc-pillar:hover{box-shadow:0 2px 8px #0000000f}.cc-pillar-label{font-size:11px;color:#64748b;font-weight:600}.cc-pillar-score{font-size:24px;font-weight:800}.cc-pillar-weight{font-size:11px;color:#94a3b8}.cc-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cc-kpi{border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:10px;padding:13px;background:#fff;cursor:pointer}.cc-kpi:hover{box-shadow:0 2px 8px #0000000f}.cc-kpi.green{border-left-color:#10b981}.cc-kpi.lightgreen{border-left-color:#84cc16}.cc-kpi.amber{border-left-color:#f59e0b}.cc-kpi.orange{border-left-color:#f97316}.cc-kpi.red{border-left-color:#ef4444}.cc-kpi.gray{border-left-color:#cbd5e1}.cc-kpi-head{display:flex;justify-content:space-between;align-items:center}.cc-kpi-num{font-size:11px;font-weight:800;color:#94a3b8}.cc-kpi-pillar{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.cc-kpi-name{font-size:14px;font-weight:700;color:#0f172a;margin:4px 0 6px}.cc-kpi-actual{font-size:22px;font-weight:800;color:#0f172a}.cc-kpi-tgt{font-size:11px;color:#94a3b8}.cc-kpi-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.cc-kpi-score{font-size:18px;font-weight:800}.cc-kpi-weight{font-size:11px;color:#94a3b8}.cc-kpi-ach{font-size:11px;color:#64748b;margin-top:3px}.cc-kpi-ach b{font-weight:700}.cc-kpi-reason{font-size:10.5px;line-height:1.4;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:5px 7px;margin-top:6px}.cc-kpi-sentence{font-size:11px;line-height:1.4;color:#475569;background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;padding:7px 9px;margin-bottom:8px}.cc-rev-sentence{font-size:13px;line-height:1.45;color:#0f172a;font-weight:600;background:#eff6ff;border:1px solid #dbeafe;border-radius:9px;padding:10px 12px}.cc-rev-toggle{display:inline-flex;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9px;padding:3px;gap:2px}.cc-rev-toggle button{border:none;background:transparent;color:#64748b;cursor:pointer;padding:5px 10px;border-radius:7px;font-size:11px;font-weight:700}.cc-rev-toggle button.on{background:#1d4ed8;color:#fff}.cc-rev-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cc-rev-stats>div{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;padding:8px 10px}.cc-rev-stats span{display:block;font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.cc-rev-stats b{font-size:15px;color:#0f172a}.cc-rev-stats .down b{color:#dc2626}.cc-rev-stats .up b{color:#059669}.cc-rev-landing{font-size:12px;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px}.cc-rev-predictive{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;background:#fff}.cc-pred-line{font-size:12px;padding:4px 0;border-bottom:1px dashed #eef2f7;color:#334155}.cc-pred-line:last-child{border-bottom:none}.cc-pred-line.action{color:#b45309;font-weight:600}.cc-pred-line.bad{color:#dc2626}.cc-pred-line.good{color:#059669}.cc-dq-alert{font-size:12px;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px}.cc-dq-warn{font-size:12px;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:8px 10px}.cc-tag{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569}.cc-bridge{display:flex;gap:6px;flex-wrap:wrap}.cc-bridge-step{flex:1;min-width:60px;background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;padding:8px;text-align:center}.cc-bridge-label{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.02em}.cc-bridge-val{font-size:13px;font-weight:700;color:#0f172a}.cc-bridge-val.down{color:#dc2626}.cc-bridge-val.up{color:#059669}.cc-cause-tree{display:flex;flex-direction:column;gap:6px}.cc-cause{border:1px solid #eef2f7;border-left:4px solid #94a3b8;border-radius:8px;padding:8px 10px;background:#fff}.cc-cause-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-cause-bucket{font-size:13px;font-weight:700;color:#0f172a}.cc-cause-signal{font-size:11px;font-weight:700;color:#b45309}.cc-cause-amount{font-size:12px;font-weight:800;margin-left:auto}.cc-cause-note{font-size:11px;color:#64748b;margin-top:2px}.cc-alerts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cc-alert-col{border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#fff}.cc-alert-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}.cc-alert-title.bad{color:#dc2626}.cc-alert-title.warn{color:#b45309}.cc-alert-item{font-size:12px;color:#475569;padding:4px 0;border-bottom:1px dashed #eef2f7}.cc-alert-item:last-child{border-bottom:none}.cc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:100;display:flex;justify-content:flex-end}.cc-drawer{width:460px;max-width:92vw;height:100%;background:#fff;box-shadow:-8px 0 24px #00000026;display:flex;flex-direction:column;animation:ccSlide .2s ease}.cc-drawer-wide{width:min(1120px,96vw)}.cc-rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}@media(max-width:900px){.cc-rev-grid{grid-template-columns:1fr}}@keyframes ccSlide{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.cc-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e2e8f0}.cc-drawer-head h3{font-size:16px;font-weight:800;color:#0f172a;margin:0}.cc-drawer-body{padding:16px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.cc-kpi-status{display:flex;align-items:center;gap:12px}.cc-rating{font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px}.cc-rating.green{background:#dcfce7;color:#15803d}.cc-rating.lightgreen{background:#ecfccb;color:#3f6212}.cc-rating.amber{background:#fef3c7;color:#b45309}.cc-rating.orange{background:#ffedd5;color:#c2410c}.cc-rating.red{background:#fee2e2;color:#b91c1c}.cc-rating.gray{background:#f1f5f9;color:#64748b}.cc-kpi-score{font-size:30px;font-weight:800;color:#0f172a}.cc-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px dashed #eef2f7;padding:6px 0}.cc-row span{color:#64748b;flex-shrink:0}.cc-row b{color:#0f172a;text-align:right}.cc-drivers{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;background:#f8fafc}.cc-drivers-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b;margin-bottom:6px}.cc-driver{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:4px 0;border-bottom:1px dashed #eef2f7}.cc-driver:last-child{border-bottom:none}.cc-driver span{color:#64748b}.cc-driver b{color:#0f172a;text-align:right}.cc-bu-title{font-size:12px;font-weight:700;color:#0f172a;margin-top:8px}@media(max-width:900px){.cc-kpi-grid{grid-template-columns:repeat(2,1fr)}.cc-alerts{grid-template-columns:1fr}}@media(max-width:560px){.cc-kpi-grid{grid-template-columns:1fr}}.cc-kpi-trend{display:flex;align-items:center;gap:8px;margin-top:6px}.cc-spark{overflow:visible}.cc-kpi-trend-lbl{font-size:9px;color:#cbd5e1}.cc-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cc-health{border:1px solid #e2e8f0;border-top:5px solid #94a3b8;border-radius:14px;padding:18px;background:#fff;cursor:pointer;box-shadow:0 1px 3px #0f172a0a}.cc-health:hover{box-shadow:0 2px 8px #0000000f}.cc-health.green{border-top-color:#10b981}.cc-health.lightgreen{border-top-color:#84cc16}.cc-health.amber{border-top-color:#f59e0b}.cc-health.orange{border-top-color:#f97316}.cc-health.red{border-top-color:#ef4444}.cc-health-head{display:flex;justify-content:space-between;align-items:center}.cc-health-bu{font-size:15px;font-weight:800;color:#0f172a}.cc-health-score{font-size:30px;font-weight:800;letter-spacing:-.02em}.cc-health-rating{font-size:11px;color:#94a3b8}.cc-health-metrics{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.cc-health-metrics span{font-size:10px;color:#64748b;background:#f8fafc;padding:2px 6px;border-radius:4px}.cc-health-problems{margin-top:6px}.cc-health-prob{font-size:11px;color:#b91c1c;padding:2px 0}.cc-health-ok{font-size:11px;color:#15803d;margin-top:6px}@media(max-width:900px){.cc-health-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.cc-health-grid{grid-template-columns:1fr}}.cc-health-cluster{grid-column:1 / -1;border:2px solid #0ea5e9;border-top-width:4px}.cc-health-bar{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden;margin:6px 0}.cc-health-fill{height:100%;border-radius:3px}.cc-health-click{font-size:10px;color:#94a3b8;margin-top:4px;text-align:right}.cc-predictive{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cc-pred{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:12px;border:1px solid #e2e8f0;border-left:5px solid #94a3b8;background:#fff;box-shadow:0 1px 2px #0f172a0a}.cc-pred.bad{border-left-color:#ef4444}.cc-pred.warn{border-left-color:#f59e0b}.cc-pred.good{border-left-color:#10b981}.cc-pred-head{display:flex}.cc-pred-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:999px}.cc-pred-badge.bad{background:#fee2e2;color:#b91c1c}.cc-pred-badge.warn{background:#fef3c7;color:#b45309}.cc-pred-badge.good{background:#dcfce7;color:#15803d}.cc-pred-text{font-size:14px;color:#1e293b;line-height:1.5;font-weight:500}@media(max-width:700px){.cc-predictive{grid-template-columns:1fr}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#0f766e);padding:20px}.login-card{width:100%;max-width:400px;background:#fff;border-radius:18px;padding:32px;box-shadow:0 20px 50px #0000004d}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.login-mark{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}.login-brand h1{font-size:18px;font-weight:800;color:#0f172a;margin:0}.login-brand p{font-size:12px;color:#64748b;margin:2px 0 0}.login-form{display:flex;flex-direction:column;gap:14px}.login-form label{display:flex;flex-direction:column;gap:6px}.login-form label span{font-size:12px;font-weight:700;color:#475569}.login-form input{border:1px solid #e2e8f0;border-radius:10px;padding:11px 12px;font-size:14px;width:100%;box-sizing:border-box}.login-form input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81f}.login-pw{position:relative}.login-pw input{padding-right:60px}.login-show{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#1d4ed8;font-size:12px;font-weight:700;cursor:pointer}.login-btn{background:#1d4ed8;color:#fff;border:none;border-radius:10px;padding:12px;font-size:15px;font-weight:700;cursor:pointer}.login-btn:hover{background:#1e40af}.login-error{background:#fee2e2;color:#b91c1c;border-radius:8px;padding:10px 12px;font-size:13px}.login-hint{font-size:11.5px;color:#94a3b8;text-align:center}.user-pill{font-size:12px;font-weight:700;color:#475569;background:#f1f5f9;border-radius:999px;padding:6px 12px}.cc-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cc-charts .card{padding:14px}.cc-risk{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.cc-risk-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;border-radius:10px;border:1px solid #e2e8f0;min-width:110px}.cc-risk-item.critical{background:#fee2e2;border-color:#fecaca}.cc-risk-item.watch{background:#fef3c7;border-color:#fde68a}.cc-risk-kpi{font-size:11px;color:#475569;text-align:center}.cc-risk-score{font-size:20px;font-weight:800}.cc-risk-item.critical .cc-risk-score{color:#dc2626}.cc-risk-item.watch .cc-risk-score{color:#d97706}.cc-ai-fab{position:fixed;bottom:22px;right:22px;z-index:90;background:linear-gradient(135deg,#1d4ed8,#60a5fa);color:#fff;border:none;border-radius:999px;padding:14px 20px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px #1d4ed859}.cc-ai-panel{position:fixed;bottom:90px;right:22px;z-index:91;width:360px;max-width:92vw;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 12px 40px #0f172a33;display:flex;flex-direction:column;overflow:hidden}.cc-ai-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #e2e8f0;font-weight:800;color:#0f172a}.cc-ai-lang{font-size:11px;color:#64748b;font-weight:600;margin-left:auto}.cc-ai-body{padding:12px 16px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.cc-ai-msg{font-size:13px;line-height:1.45;padding:8px 12px;border-radius:12px;max-width:85%}.cc-ai-msg.user{background:#1d4ed8;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.cc-ai-msg.ai{background:#f1f5f9;color:#1e293b;align-self:flex-start;border-bottom-left-radius:4px}.cc-ai-input{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #e2e8f0}.cc-ai-input input{flex:1;border:1px solid #e2e8f0;border-radius:10px;padding:9px 12px;font-size:13px}.cc-ai-input input:focus{outline:none;border-color:#1d4ed8}.cc-ai-mic{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:9px 12px;cursor:pointer;font-size:15px}.cc-ai-mic.on{background:#fee2e2;border-color:#fecaca;animation:ccPulse 1s infinite}.cc-ai-send{background:#1d4ed8;color:#fff;border:none;border-radius:10px;padding:9px 14px;cursor:pointer;font-size:15px}@keyframes ccPulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:700px){.cc-charts{grid-template-columns:1fr}}.cc-ai-speak{font-size:11px;font-weight:700;border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:8px;padding:4px 8px;cursor:pointer;margin-left:auto}.cc-ai-speak.on{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.cc-ai-msg.listening{animation:ccPulse 1s infinite;color:#b45309;font-style:italic}.cc-risk-reason{font-size:9px;color:#64748b;text-align:center;line-height:1.2;margin-top:2px}.cc-ai-msg-wrap{display:flex;flex-direction:column;gap:6px;max-width:90%}.cc-ai-msg-wrap.user{align-self:flex-end}.cc-ai-msg-wrap.ai{align-self:flex-start}.cc-ai-table{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:4px 6px;overflow-x:auto}.cc-ai-table table{font-size:11px}.cc-ai-table th,.cc-ai-table td{padding:3px 6px;white-space:nowrap}.cc-ai-langbtn{font-size:11px;font-weight:700;border:1px solid #e2e8f0;background:#fff;color:#1d4ed8;border-radius:8px;padding:4px 8px;cursor:pointer}.cc-ai-stop{align-self:center;background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;margin-top:4px}
