:root{--bg-main: #0A0C10;--bg-header: #14171D;--bg-panel: #14171D;--bg-soft: #0D0F13;--ink-main: #E8EAED;--ink-muted: #8890A0;--line: #232830;--accent: #00D9FF;--accent-2: #FFB020;--critical: #FF5C5C;--high: #FFB020;--medium: #F2C94C;--low: #34D399;--violet: #8B7FFF}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Inter,IBM Plex Sans,Segoe UI,sans-serif;color:var(--ink-main);background:var(--bg-main)}.wm-shell{min-height:100vh;display:flex;flex-direction:column}.wm-header{height:74px;border-bottom:1px solid var(--line);background:var(--bg-header);display:flex;justify-content:space-between;align-items:center;padding:0 18px}.brand-wrap{display:flex;gap:12px;align-items:center}.brand-mark{height:36px;width:36px;border-radius:10px;display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:.8px;background:linear-gradient(135deg,var(--accent) 0%,var(--violet) 100%);color:#0a0c10}.brand-wrap h1{margin:0;font-size:20px}.brand-wrap p{margin:2px 0 0;color:var(--ink-muted);font-size:12px;letter-spacing:.4px}.header-controls{display:flex;align-items:center;gap:10px}.live-pill{font-size:12px;font-weight:700;color:#0a0c10;background:var(--accent);padding:5px 9px;border-radius:999px}select{background:var(--bg-soft);color:var(--ink-main);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.wm-main{flex:1;display:grid;grid-template-columns:220px 1fr 320px;gap:14px;padding:14px}.left-rail,.right-rail,.center-stage{border:1px solid var(--line);border-radius:14px;background:var(--bg-panel)}.source-counts,.sync-status{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px;background:#0a0c107a}.sync-status h3{margin:0 0 8px;font-size:13px}.sync-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;font-size:12px}.sync-row span{color:var(--ink-muted)}.sync-row strong{color:var(--ink-muted);font-size:12px;text-align:right}.sync-hint{margin-top:4px;color:var(--ink-muted);font-size:11px}.sync-error{margin:8px 0 0;color:var(--high);font-size:11px}.source-counts h3{margin:0 0 8px;font-size:13px}.source-tags{display:flex;flex-wrap:wrap;gap:6px}.source-tag{border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:11px;color:var(--ink-muted);background:#00d9ff1a}.source-empty{margin:0;color:var(--ink-muted);font-size:12px}.context-panels{display:grid;gap:10px}.context-card{border:1px solid var(--line);border-radius:10px;background:#0a0c10bd;padding:10px}.context-card h3{margin:0 0 8px;font-size:13px}.context-card p{margin:0;color:var(--ink-muted);font-size:12px;line-height:1.35}.left-rail,.right-rail{padding:12px}.left-rail h2,.right-rail h2{margin:0 0 10px;font-size:13px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.8px}.left-rail nav{display:flex;flex-direction:column;gap:6px}.rail-btn{text-align:left;padding:9px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-main);cursor:pointer}.rail-btn:hover,.rail-btn.active{border-color:var(--line);background:#00d9ff1a}.rail-card{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#0a0c107a}.rail-card h3{margin:0 0 8px;font-size:13px}.rail-card ol{margin:0;padding-left:18px;color:var(--ink-muted)}.integration-card p{margin:0 0 8px;color:var(--ink-muted);font-size:12px;line-height:1.35}.integration-flow{display:flex;flex-wrap:wrap;gap:6px}.integration-step{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11px;color:var(--ink-muted);background:#00d9ff1a}.center-stage{padding:12px}.stage-top h2{margin:0}.stage-top p{margin:6px 0 0;color:var(--ink-muted)}.kpi-grid{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.kpi-card{border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);padding:10px}.kpi-card span{color:var(--ink-muted);font-size:12px}.kpi-card strong{display:block;font-size:28px;margin-top:4px}.kpi-card em{color:var(--ink-muted);font-style:normal;font-size:12px}.map-panel{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.map-note{margin:0;padding:8px 12px;font-size:11px;color:var(--ink-muted);border-top:1px solid var(--line);background:var(--bg-soft)}.context-main-panel{overflow:hidden}.context-main-content{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}.panel-head{height:42px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;border-bottom:1px solid var(--line);background:var(--bg-soft)}.panel-head h3{margin:0;font-size:14px}.panel-head-right{display:flex;align-items:center;gap:10px}.map-mode-toggle{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.map-mode-btn{border:0;background:var(--bg-soft);color:var(--ink-muted);padding:3px 9px;font-size:11px;font-weight:700;cursor:pointer}.map-mode-btn.active{background:var(--accent);color:#0a0c10}.map-canvas{height:260px;position:relative;background:linear-gradient(180deg,#0a0c10,#08090c)}.map-canvas .soc-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0 0 12px 12px}.map-canvas .soc-globe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0 0 12px 12px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#141830,#07080e 65%)}.map-canvas .soc-globe canvas{width:100%!important;height:100%!important}.map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink-muted);font-size:14px;letter-spacing:.4px;background:linear-gradient(180deg,#0a0c10,#08090c)}.soc-map .maplibregl-control-container .maplibregl-ctrl{background:var(--bg-panel);border:1px solid var(--line);box-shadow:none}.soc-map .maplibregl-ctrl button{background:var(--bg-panel);color:var(--ink-main)}.soc-map .maplibregl-popup-content{background:var(--bg-panel);color:var(--ink-main);border:1px solid var(--line);border-radius:8px;font-family:Inter,IBM Plex Sans,Segoe UI,sans-serif}.soc-map .maplibregl-popup-tip{border-top-color:var(--line);border-bottom-color:var(--line)}.soc-map .maplibregl-ctrl-attrib{background:#0a0c10cc;color:var(--ink-muted)}.bottom-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}.panel{border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);padding:12px}.panel h3{margin:0 0 10px}.panel ul{margin:0;padding-left:17px;color:var(--ink-muted)}.panel li{overflow-wrap:anywhere;line-height:1.35}.sandbox-panel{display:flex;flex-direction:column;gap:10px}.sandbox-legacy-layout{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.sandbox-submit-panel{min-height:420px}.sandbox-form-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px}.sandbox-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ink-muted)}.sandbox-form-grid input,.sandbox-form-grid select{background:var(--bg-soft);color:var(--ink-main);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.sandbox-form-span-2{grid-column:1 / -1}.sandbox-flag{align-items:center;flex-direction:row!important;gap:8px!important}.sandbox-helper{margin:0;color:var(--ink-muted);font-size:12px}.sandbox-submit-btn{border:1px solid var(--line);background:#00d9ff1a;color:var(--ink-main);border-radius:8px;padding:10px;cursor:pointer}.sandbox-submit-btn:disabled{opacity:.7;cursor:wait}.sandbox-form{display:flex;gap:8px}.sandbox-form input{flex:1;background:var(--bg-soft);color:var(--ink-main);border:1px solid var(--line);border-radius:8px;padding:9px 10px}.sandbox-form button,.sandbox-cancel-btn{border:1px solid var(--line);background:#00d9ff1a;color:var(--ink-main);border-radius:8px;padding:8px 10px;cursor:pointer}.sandbox-form button:disabled{opacity:.7;cursor:wait}.sandbox-success{margin:0;color:var(--low);font-size:12px}.sandbox-error{margin:0;color:var(--high);font-size:12px}.sandbox-job-list{display:grid;gap:8px}.sandbox-job-item{border:1px solid var(--line);border-radius:10px;background:#0a0c10bd;padding:10px}button.sandbox-job-item{width:100%;text-align:left;color:var(--ink-main);cursor:pointer}.sandbox-job-item-active{border-color:var(--accent);background:#00d9ff1a}.sandbox-job-item p{margin:6px 0;color:var(--ink-muted);font-size:12px;overflow-wrap:anywhere}.sandbox-job-head,.sandbox-job-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.sandbox-job-meta{margin-bottom:6px;color:var(--ink-muted);font-size:11px}.sandbox-status-text{margin:0;color:var(--high);font-size:13px}.sandbox-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px}.sandbox-snapshot-item{border:1px solid var(--line);border-radius:10px;background:#0a0c10bd;padding:8px}.sandbox-snapshot-item span{display:block;color:var(--ink-muted);font-size:12px}.sandbox-snapshot-item strong{font-size:28px;line-height:1.1}.sandbox-job-detail{display:grid;gap:6px}.bar{margin-top:10px;height:8px;border-radius:999px;background:var(--bg-soft);overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--violet) 100%)}.feed-list{display:grid;gap:8px;max-height:430px;overflow-y:auto;padding-right:4px}.feed-list::-webkit-scrollbar{width:8px}.feed-list::-webkit-scrollbar-track{background:#0a0c108c;border-radius:999px}.feed-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.feed-list::-webkit-scrollbar-thumb:hover{background:#333944}.feed-item{border:1px solid var(--line);border-radius:10px;background:#0a0c10bd;padding:10px}.feed-item p{margin:8px 0;font-size:13px}.feed-top,.feed-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-muted)}.sev{padding:2px 7px;border-radius:999px;font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.5px}.sev-critical{color:#1a0404;background:var(--critical)}.sev-high{color:#1a0e00;background:var(--high)}.sev-medium{color:#1a1400;background:var(--medium)}.sev-low{color:#001a0e;background:var(--low)}@media (max-width: 1200px){.wm-main{grid-template-columns:200px 1fr}.right-rail{grid-column:1 / -1}}@media (max-width: 860px){.wm-header{height:auto;padding:12px;flex-direction:column;align-items:flex-start;gap:10px}.wm-main{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.bottom-grid{grid-template-columns:1fr}.sandbox-form{flex-direction:column}.sandbox-legacy-layout,.sandbox-form-grid,.sandbox-snapshot-grid{grid-template-columns:1fr}}
