:root{--bg:#070d1a;--soft:#0a1224;--surface:#0e1830;--surface2:#121f3d;--border:rgba(88,166,255,.2);--text:#e8f2ff;--sub:#8fa3c4;--cyan:#22d3ee;--green:#34d399;--yellow:#fbbf24;--orange:#fb923c;--red:#fb7185;--sidebar:226px;--top:72px;font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:radial-gradient(circle at 18% 5%,rgba(34,211,238,.08),transparent 25%),linear-gradient(145deg,#070d1a,#081224 55%,#050a14);min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:rgba(7,13,26,.96);border-right:1px solid var(--border);padding:22px 16px;z-index:5}.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(34,211,238,.5);border-radius:11px;color:var(--cyan);font:bold 15px Consolas;box-shadow:0 0 22px rgba(34,211,238,.12)}.brand strong{display:block;font-size:18px}.brand small{display:block;color:var(--sub);font-size:11px;margin-top:4px}.nav-item{width:100%;border:0;border-left:3px solid transparent;border-radius:7px;background:transparent;color:var(--sub);text-align:left;padding:13px 14px;margin:4px 0;font-size:14px;cursor:pointer}.nav-item:hover{background:rgba(34,211,238,.07);color:var(--text)}.nav-item.active{background:rgba(34,211,238,.12);border-left-color:var(--cyan);color:var(--cyan)}.role-box{position:absolute;left:16px;right:16px;bottom:20px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--soft)}.role-box label{display:block;color:var(--sub);font-size:12px;margin-bottom:7px}.role-box select{width:100%;background:var(--surface2);color:var(--text);border:1px solid var(--border);padding:9px;border-radius:6px}.role-box p{font-size:10px;color:#64789d;line-height:1.5;margin:10px 0 0}.topbar{position:fixed;z-index:4;left:var(--sidebar);right:0;top:0;height:var(--top);display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:rgba(7,13,26,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}h1,h2,h3,p{margin-top:0}.topbar h1{font-size:22px;margin-bottom:5px}.topbar p{color:var(--sub);font-size:12px;margin-bottom:0}.top-status{display:flex;align-items:center;gap:12px}.status,.tag{padding:5px 9px;border-radius:5px;font-size:11px;background:rgba(34,211,238,.1);color:var(--cyan);border:1px solid rgba(34,211,238,.25)}.status.ok{color:var(--green);background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.24)}.status.warn,.orange-tag{color:var(--yellow);background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.25)}time{font:14px Consolas;color:var(--sub)}main{margin-left:var(--sidebar);padding:calc(var(--top) + 20px) 24px 34px}.demo-banner{padding:9px 13px;margin-bottom:14px;border:1px solid rgba(251,191,36,.25);background:rgba(251,191,36,.08);color:#fde68a;font-size:12px;border-radius:7px}.view{display:none}.active-view{display:block;animation:rise .35s ease}@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card{background:linear-gradient(150deg,rgba(14,24,48,.97),rgba(10,18,36,.96));border:1px solid var(--border);border-radius:11px;box-shadow:0 7px 24px rgba(0,0,0,.22);padding:17px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.kpi-grid.three{grid-template-columns:repeat(3,1fr)}.kpi span{color:var(--sub);font-size:12px}.kpi strong{display:block;font:28px Consolas;margin:10px 0 7px}.kpi strong em{font:13px "Microsoft YaHei";color:var(--sub);margin-left:4px}.kpi small{color:#7186a8}.orange{color:var(--orange)}.layout-2-1{display:grid;grid-template-columns:minmax(650px,2fr) minmax(300px,1fr);gap:14px;margin-bottom:14px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.card-head h2{font-size:15px;margin-bottom:5px}.card-head p{font-size:11px;color:var(--sub);margin-bottom:0}.radar-map{position:relative;height:360px;overflow:hidden;border:1px solid rgba(88,166,255,.14);border-radius:8px;background:radial-gradient(circle at 52% 52%,rgba(34,211,238,.08),transparent 3%),linear-gradient(160deg,#071426,#0b1b31)}.radar-map.large{height:480px}.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(86,130,174,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(86,130,174,.07) 1px,transparent 1px);background-size:32px 32px}.ring{position:absolute;border:1px dashed rgba(34,211,238,.22);border-radius:50%;left:52%;top:52%;transform:translate(-50%,-50%)}.r1{width:100px;height:100px}.r2{width:210px;height:210px}.r3{width:330px;height:330px}.airport{position:absolute;left:52%;top:52%;transform:translate(-50%,-50%);text-align:center;color:var(--cyan);z-index:2}.airport span{display:block;width:9px;height:9px;border-radius:50%;background:var(--cyan);margin:auto;box-shadow:0 0 14px var(--cyan)}.airport b{font-size:11px;white-space:nowrap}.runway{position:absolute;left:45%;top:50%;width:105px;height:7px;border:1px solid #7892b5;background:#253652;transform:rotate(26deg)}.cell{position:absolute;border-radius:49% 51% 44% 56%;filter:drop-shadow(0 0 14px rgba(251,113,133,.3));background:radial-gradient(circle at 42% 42%,#fb7185 0 20%,#fb923c 22% 46%,#fbbf24 49% 68%,rgba(52,211,153,.55) 72%,transparent 74%);display:grid;place-content:center;text-align:center;color:#fff}.cell-a{width:142px;height:118px;left:18%;top:58%;transform:rotate(-15deg)}.cell-b{width:78px;height:64px;left:12%;top:38%;opacity:.75}.cell b{font:12px Consolas}.cell small{font-size:9px}.track{position:absolute;width:245px;border-top:2px dashed rgba(251,146,60,.65);left:29%;top:61%;transform:rotate(-23deg);transform-origin:left}.track:after{content:"";position:absolute;right:-3px;top:-6px;border-left:9px solid var(--orange);border-top:5px solid transparent;border-bottom:5px solid transparent}.range-label{position:absolute;color:#5f7699;font:10px Consolas}.label-5{left:55%;top:34%}.label-10{left:60%;top:20%}.label-20{left:68%;top:8%}.legend{display:flex;gap:18px;color:var(--sub);font-size:10px;margin-top:10px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.dot.green{background:var(--green)}.dot.yellow{background:var(--yellow)}.dot.red{background:var(--red)}.alert{padding:13px;border-left:3px solid;margin-bottom:10px;background:rgba(255,255,255,.025);border-radius:5px}.alert>span{font-size:10px}.alert h3{font-size:13px;margin:6px 0}.alert p{font-size:12px;line-height:1.55;margin-bottom:8px}.alert small{font-size:10px;color:var(--sub)}.alert.danger{border-color:var(--red)}.alert.danger>span{color:var(--red)}.alert.warning{border-color:var(--orange)}.alert.warning>span{color:var(--orange)}.alert.info{border-color:var(--cyan)}.alert.info>span{color:var(--cyan)}.timeline-card{margin-bottom:14px}.timeline-head{display:grid;grid-template-columns:80px repeat(7,1fr);font:10px Consolas;color:var(--sub);padding-left:80px;margin-bottom:7px}.timeline-row{display:grid;grid-template-columns:80px 1fr;align-items:center;margin:8px 0}.timeline-row>b{font-size:11px;color:var(--sub)}.bar{height:16px;background:#091326;border-radius:3px;position:relative;overflow:hidden}.bar i{position:absolute;top:0;bottom:0;opacity:.8}.blue{background:#2563eb}.green-bg{background:var(--green)}.yellow-bg{background:var(--yellow)}.orange-bg{background:var(--orange)}.red-bg{background:var(--red)}.ghost,.primary{border-radius:6px;padding:8px 12px;cursor:pointer;font-size:12px}.ghost{border:1px solid var(--border);background:var(--surface2);color:var(--text)}.primary{border:1px solid var(--cyan);background:var(--cyan);color:#06202a;font-weight:bold}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.metrics div{padding:12px;background:rgba(255,255,255,.025);border-radius:6px}.metrics dt{font-size:10px;color:var(--sub)}.metrics dd{margin:6px 0 0;font:15px Consolas}.model-note,.evidence{padding:12px;background:rgba(34,211,238,.06);border:1px solid rgba(34,211,238,.14);border-radius:7px;margin-top:14px}.model-note p,.evidence p{font-size:11px;color:var(--sub);line-height:1.5;margin:6px 0}.model-note small{font-size:10px;color:#7186a8}.chart-card{margin-bottom:14px}.bars{display:flex;align-items:flex-end;height:220px;gap:10px;padding:24px 12px 0;border-bottom:1px solid var(--border)}.rain-bar{flex:1;position:relative;background:linear-gradient(to top,rgba(34,211,238,.35),var(--cyan));border-radius:4px 4px 0 0;min-width:20px}.rain-bar span{position:absolute;top:-20px;width:100%;text-align:center;font:10px Consolas}.rain-bar small{position:absolute;bottom:-23px;width:100%;text-align:center;color:var(--sub);font:9px Consolas}.line-chart{width:100%;height:310px}.line-chart .grid line{stroke:rgba(88,166,255,.13)}.line-chart .area{fill:rgba(34,211,238,.12)}.line-chart .line{fill:none;stroke:var(--cyan);stroke-width:3}.line-chart .threshold{stroke:var(--orange);stroke-dasharray:6 5}.line-chart text{fill:var(--sub);font-size:11px}.reason-list{padding-left:19px;color:#c9d7ec}.reason-list li{margin:12px 0;font-size:12px;line-height:1.6}.confidence{margin-top:25px}.confidence span{font-size:11px;color:var(--sub)}.confidence b{float:right;font:14px Consolas;color:var(--cyan)}.confidence i{display:block;clear:both;height:7px;background:#091326;border-radius:8px;margin-top:10px}.confidence em{display:block;height:100%;background:var(--cyan);border-radius:8px}.alert-workspace{display:grid;grid-template-columns:320px 1fr;gap:14px}.count{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(251,191,36,.15);color:var(--yellow);font:bold 12px Consolas}.queue-item{width:100%;display:block;text-align:left;background:transparent;border:1px solid transparent;color:var(--text);padding:13px;border-radius:7px;cursor:pointer;margin:6px 0}.queue-item b{display:block;font-size:12px}.queue-item span{display:block;color:var(--sub);font-size:10px;margin-top:6px}.queue-item.selected{background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.22)}.editor label{display:block;color:var(--sub);font-size:11px;margin:13px 0}.editor textarea{display:block;width:100%;height:72px;resize:vertical;margin-top:7px;padding:10px;background:#091326;border:1px solid var(--border);border-radius:6px;color:var(--text);line-height:1.55}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.approval-msg{height:20px;color:var(--green);font-size:11px;text-align:right;margin-top:9px}.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.source h2{font-size:13px}.source strong{font-size:15px}.source p,.source small{font-size:11px;color:var(--sub)}.ok-card{border-top:3px solid var(--green)}.warn-card{border-top:3px solid var(--orange)}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:11px;border-bottom:1px solid rgba(88,166,255,.12);text-align:left}th{color:var(--sub);background:rgba(18,31,61,.7)}@media(max-width:1300px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.quality-grid{grid-template-columns:repeat(2,1fr)}}

.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 13px}.demo-banner b{display:block;margin-bottom:3px}.demo-banner span{color:#d8c990;font-size:10px}.scenario-switch{display:flex;gap:6px;flex-shrink:0}.scenario-btn{border:1px solid rgba(251,191,36,.28);background:rgba(7,13,26,.45);color:#fde68a;border-radius:5px;padding:7px 10px;font-size:11px;cursor:pointer}.scenario-btn:hover,.scenario-btn.active{background:var(--yellow);border-color:var(--yellow);color:#1f1603}.scenario-btn:disabled{opacity:.55;cursor:wait}
