:root{--bg:#f4f6f8;--panel:#fff;--ink:#111820;--muted:#687686;--line:#dfe5ea;--accent:#173f37;--accent2:#24685c;--danger:#b83333;--warning:#c78319;--ok:#2f7450;--shadow:0 7px 22px rgba(22,35,47,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,select,input{font:inherit}.topbar{height:66px;position:fixed;top:0;left:0;right:0;background:#101a1d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;z-index:50;border-bottom:1px solid #283438}.brand{display:flex;gap:10px;align-items:center}.brand-mark{width:34px;height:34px;border:1px solid #65847d;border-radius:9px;display:grid;place-items:center;font-weight:800}.brand b{display:block;letter-spacing:.12em}.brand span{display:block;color:#a9b8b8;font-size:11px;margin-top:2px}.top-actions{display:flex;gap:8px}.top-actions select,.top-actions button{height:36px;border-radius:8px;border:1px solid #36464a;background:#182529;color:#e9f1ef;padding:0 11px}.top-actions .primary{background:#e6f0ec;color:#133c34;border-color:#e6f0ec;font-weight:700}.sidebar{position:fixed;top:66px;left:0;bottom:0;width:76px;background:#132025;padding:12px 8px;z-index:30;display:flex;flex-direction:column;gap:6px;overflow:auto}.nav{background:transparent;border:0;color:#aebbbc;border-radius:9px;min-height:48px;padding:7px 4px;font-size:18px;cursor:pointer}.nav span{display:block;font-size:9px;margin-top:3px}.nav.active,.nav:hover{background:#25443e;color:#fff}.workspace{margin-left:76px;padding:86px 18px 24px;max-width:1800px}.headline{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--accent2);font-weight:800}.headline h1{margin:3px 0 2px;font-size:27px}.headline #breadcrumb{font-size:11px;color:var(--muted)}.status{text-align:right}.status span,.status small{display:block;color:var(--muted);font-size:10px}.status b{font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 2px 8px rgba(22,35,47,.03)}.kpi span,.kpi small{display:block;color:var(--muted);font-size:10px}.kpi b{font-size:25px;display:block;margin:2px 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.panel-head{height:46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 12px;font-size:12px}.panel-head div span,.panel-head>span{display:block;color:var(--muted);font-size:9px;margin-top:2px}.main-grid{display:grid;grid-template-columns:minmax(600px,2.25fr) minmax(260px,.75fr);gap:10px}.map-card{height:560px;position:relative}#map{display:block;width:100%;height:513px}.segmented{display:flex;gap:4px}.segmented button{border:0;background:#edf2f1;padding:6px 8px;border-radius:7px;color:#52615f;font-size:10px}.segmented .active{background:#203f39;color:#fff}.map-overlay{position:absolute;left:12px;bottom:12px;right:12px;background:rgba(18,29,33,.92);color:#fff;border-radius:10px;padding:8px 10px;display:flex;gap:12px;align-items:center;z-index:7;backdrop-filter:blur(8px)}.map-overlay label{font-size:9px;color:#b9c7c5}.map-overlay select{margin-left:6px;background:#fff;border:0;border-radius:5px;padding:4px}.toggle{display:flex;align-items:center;gap:4px}.map-overlay button{margin-left:auto;background:#dfeae6;color:#183d36;border:0;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:700}.right-stack{display:grid;grid-template-rows:1fr 1.05fr;gap:10px;height:560px}.risk-list{padding:10px}.risk{display:grid;grid-template-columns:1fr 44px;gap:8px;padding:9px 2px;border-bottom:1px solid #eef1f3}.risk:last-child{border:0}.risk strong{font-size:11px}.risk span{font-size:9px;color:var(--muted)}.risk-score{font-size:16px!important;font-weight:800!important;text-align:right;color:var(--danger)!important}.mini-dashboard{padding-bottom:8px}.mini-dashboard canvas{height:175px!important;padding:8px 11px}.mini-foot{display:flex;gap:6px;padding:0 10px}.mini-foot button{flex:1;border:1px solid var(--line);background:#f8faf9;border-radius:7px;padding:7px;font-size:10px}.bottom-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:10px;margin-top:10px}.prospect-panel{min-height:330px}.mc-controls{display:flex;gap:5px}.mc-controls select{font-size:9px;padding:5px;border:1px solid var(--line);border-radius:6px;background:#fff}.mc-grid{display:grid;grid-template-columns:1fr 180px;gap:10px;padding:10px}.mc-grid canvas{height:250px!important}.mc-metrics{display:flex;flex-direction:column;gap:8px}.mc-metrics span{border:1px solid var(--line);padding:8px;border-radius:8px;color:var(--muted);font-size:9px}.mc-metrics b{display:block;color:var(--ink);font-size:21px}.mc-metrics small{font-size:9px;color:var(--muted);line-height:1.35}.ai-panel{min-height:330px;display:flex;flex-direction:column}.ai-panel i{font-size:8px;font-style:normal;background:#e8f0ed;color:#1c5a4f;padding:4px 6px;border-radius:10px}.chat-log{flex:1;padding:10px;overflow:auto;max-height:190px;font-size:10px}.assistant-msg,.user-msg{padding:8px 9px;border-radius:8px;margin-bottom:7px;line-height:1.4}.assistant-msg{background:#eef3f2}.user-msg{background:#203f39;color:white;margin-left:30px}.quick-prompts{display:flex;gap:4px;padding:0 8px 7px}.quick-prompts button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:5px 7px;font-size:8px}#chatForm{display:grid;grid-template-columns:1fr 62px;gap:5px;padding:8px;border-top:1px solid var(--line)}#chatForm input{border:1px solid var(--line);border-radius:7px;padding:7px 8px;font-size:10px}#chatForm button{border:0;background:#203f39;color:#fff;border-radius:7px;font-size:10px}.notice{margin-top:10px;border:1px solid #e4cc79;background:#fff8d9;padding:8px 11px;border-radius:9px;font-size:9px;color:#745e19}
@media(max-width:1100px){.main-grid,.bottom-grid{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr;grid-template-rows:none;height:auto}.map-card{height:520px}#map{height:473px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.sidebar{width:54px}.workspace{margin-left:54px;padding-left:10px;padding-right:10px}.nav span{display:none}.topbar{padding:0 8px}.brand span{display:none}.top-actions #periodSelect{display:none}.kpi-grid{grid-template-columns:1fr 1fr}.right-stack{grid-template-columns:1fr}.map-overlay{flex-wrap:wrap}.headline{align-items:flex-start}.main-grid{display:block}.right-stack{margin-top:10px}.mc-grid{grid-template-columns:1fr}.mc-metrics{display:grid;grid-template-columns:repeat(3,1fr)}.mc-metrics small{grid-column:1/-1}}
.top-actions .update{background:#24353a;border-color:#54716e;color:#dcebe7;font-weight:700}.top-actions .analysis{background:#31584f;border-color:#4e766d;color:#fff;font-weight:700}.top-actions button:disabled{opacity:.55;cursor:progress}.badge{font-size:8px;background:#e8f0ed;color:#1b5a4e;padding:4px 7px;border-radius:10px;font-weight:800}.source-strip{margin-top:10px}.source-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:9px}.source-card{display:flex;gap:7px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:7px 8px;min-height:48px}.source-card>span{font-size:12px}.source-card b,.source-card small{display:block}.source-card b{font-size:9px}.source-card small{font-size:8px;color:var(--muted);margin-top:2px;line-height:1.2}.source-card.up>span{color:#2f7450}.source-card.down>span{color:#b83333}.source-card.idle>span{color:#9ba5ad}.mc-controls button{font-size:9px;padding:5px 8px;border:0;border-radius:6px;background:#203f39;color:#fff}.empty{padding:16px;color:var(--muted);font-size:10px;line-height:1.4}.toast{position:fixed;right:18px;bottom:18px;background:#163c34;color:#fff;padding:10px 14px;border-radius:9px;font-size:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}.toast.bad{background:#8d2d2d}
@media(max-width:1250px){.top-actions{gap:4px}.top-actions button{font-size:9px;padding:0 8px}.source-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.top-actions .analysis,.top-actions .update{font-size:0;width:36px}.top-actions .analysis:after{content:'✦';font-size:15px}.top-actions .update:after{content:'↻';font-size:15px}.source-cards{grid-template-columns:1fr}.map-overlay{max-height:126px;overflow:auto}}
