/* 夜航指挥台：午夜蓝黑底、雷达青主色、风险分级、航空任务控制现代主义。 */
:root{--bg:#071019;--bg-2:#0a151f;--panel:#0e1b26;--panel-2:#111f2b;--line:rgba(170,210,225,.12);--line-strong:rgba(170,210,225,.22);--text:#e7f0f3;--muted:#8196a3;--dim:#526672;--teal:#2de1c2;--teal-soft:rgba(45,225,194,.12);--amber:#f4b942;--danger:#ff5d73;--danger-soft:rgba(255,93,115,.12);--blue:#66aaff;--ease:cubic-bezier(.23,1,.32,1);--sans:"Noto Sans SC",sans-serif;--mono:"IBM Plex Mono",monospace}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 var(--sans);min-height:100vh}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input{outline:none}button:focus-visible,a:focus-visible,input:focus-visible{box-shadow:0 0 0 3px rgba(45,225,194,.25)}
.eyebrow{font:600 10px/1.2 var(--mono);letter-spacing:.16em;color:var(--muted)}.mono{font-family:var(--mono)}.align-right{text-align:right!important}.runway-light{display:inline-block;width:18px;height:3px;background:var(--dim);box-shadow:0 0 10px transparent;border-radius:1px}.runway-light.ok{background:var(--teal);box-shadow:0 0 10px rgba(45,225,194,.5)}.runway-light.warning{background:var(--amber);box-shadow:0 0 10px rgba(244,185,66,.45)}.runway-light.danger{background:var(--danger);box-shadow:0 0 10px rgba(255,93,115,.5)}
.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;display:flex;flex-direction:column;padding:24px 18px;background:#08131c;border-right:1px solid var(--line);z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(45,225,194,.18))}.brand span{display:grid;gap:1px}.brand strong{font:600 14px/1 var(--mono);letter-spacing:.07em}.brand small{font-size:11px;color:var(--muted)}.nav-stack{display:grid;gap:7px;margin-top:44px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-left:2px solid transparent;color:#91a5b0;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}.nav-item:hover{background:rgba(255,255,255,.025);color:var(--text)}.nav-item.active{background:linear-gradient(90deg,var(--teal-soft),transparent);border-left-color:var(--teal);color:#f3fffc}.nav-icon{display:grid;place-items:center;width:21px;height:21px;font:500 16px/1 var(--mono);color:var(--muted)}.active .nav-icon{color:var(--teal)}.sidebar-foot{margin-top:auto;padding:18px 12px 0;border-top:1px solid var(--line)}.node-line{display:flex;align-items:center;gap:9px;margin:12px 0 16px;font:11px var(--mono);color:#9bb0ba}.text-button{border:0;background:none;padding:0;color:var(--muted);font-size:12px;cursor:pointer}.text-button:hover{color:var(--text)}
.workspace{grid-column:2;min-width:0}.topbar{height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(7,16,25,.89);backdrop-filter:blur(18px);position:sticky;top:0;z-index:15}.topbar h1{font-size:22px;line-height:1.2;margin:7px 0 0;letter-spacing:-.03em}.topbar-actions{display:flex;align-items:center;gap:18px}.clock{font:500 12px var(--mono);color:#aabac2}.status-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);background:rgba(255,255,255,.025);font-size:12px;color:#aac0c9}.status-pill.warning{border-color:rgba(244,185,66,.22);color:#e2c47d}.content-stage{padding:28px 34px 52px;max-width:1700px;margin:0 auto}.flash-stack{position:fixed;top:114px;right:28px;z-index:50;display:grid;gap:8px}.flash{padding:11px 15px;border:1px solid var(--line);background:#11222e;box-shadow:0 18px 50px rgba(0,0,0,.3);color:#c8d7dd}.flash.success{border-left:3px solid var(--teal)}.flash.error{border-left:3px solid var(--danger)}
.hero-status{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);min-height:245px;border:1px solid var(--line);background:linear-gradient(135deg,#0f202b,#0a151e);overflow:hidden}.hero-copy{padding:34px 38px;display:flex;flex-direction:column;justify-content:center}.hero-copy h2{font-size:29px;line-height:1.18;letter-spacing:-.035em;margin:12px 0 11px}.hero-copy p{max-width:650px;margin:0;color:#93a8b3}.hero-meta{display:flex;gap:28px;margin-top:30px;font:11px var(--mono);color:#91a6b0}.hero-meta span{display:flex;align-items:center;gap:9px}.radar-panel{position:relative;min-height:245px;overflow:hidden;border-left:1px solid var(--line)}.radar-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8);opacity:.72}.radar-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d1d27 0%,transparent 45%),linear-gradient(0deg,rgba(7,16,25,.75),transparent 55%)}.radar-panel b,.radar-panel small{position:absolute;z-index:2;left:26px}.radar-panel b{bottom:37px;font:500 22px var(--mono);letter-spacing:.15em}.radar-panel small{bottom:22px;font:500 9px var(--mono);letter-spacing:.17em;color:var(--teal)}.radar-sweep{position:absolute;z-index:1;right:22%;top:12%;width:150px;height:150px;border:1px solid rgba(45,225,194,.35);border-radius:50%;box-shadow:0 0 35px rgba(45,225,194,.08) inset}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:1px;background:var(--line)}.metric-card{padding:23px 25px;background:var(--panel);min-height:150px;position:relative}.metric-card:before{content:"";position:absolute;top:0;left:0;width:34px;height:2px;background:var(--line-strong)}.metric-card.accent:before{background:var(--teal)}.metric-card>span{color:#8ca2ad;font-size:12px}.metric-card strong{display:block;margin:16px 0 7px;font:500 36px/1 var(--mono);letter-spacing:-.045em}.metric-card strong i{font:500 15px var(--mono);color:var(--muted);margin-left:4px}.metric-card small{font:500 9px var(--mono);letter-spacing:.15em;color:var(--dim)}.metric-card.accent strong{color:var(--teal)}
.split-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;margin-top:24px}.data-panel{background:var(--panel);border:1px solid var(--line);min-width:0}.data-panel.full{margin-top:18px}.panel-head{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:15px 19px;border-bottom:1px solid var(--line)}.panel-head h3{font-size:15px;margin:4px 0 0}.panel-head a{font-size:11px;color:var(--teal)}.panel-head>div{display:flex;align-items:center;gap:11px}.panel-head>div:first-child:not(:only-child){display:block}.count-badge{padding:3px 7px;background:rgba(255,255,255,.04);color:var(--muted);font:10px var(--mono)}.table-wrap{overflow:auto}.ops-table{width:100%;border-collapse:collapse;white-space:nowrap}.ops-table th{padding:12px 14px;text-align:left;background:#0a1720;border-bottom:1px solid var(--line);font:500 10px var(--mono);letter-spacing:.08em;color:#718793}.ops-table td{padding:13px 14px;border-bottom:1px solid rgba(170,210,225,.07);font-size:12px;color:#b6c6cd}.ops-table tbody tr{transition:background .18s var(--ease)}.ops-table tbody tr:hover{background:rgba(45,225,194,.027)}.ops-table tbody tr:last-child td{border-bottom:0}.order-id{color:#d8e7ec!important}.type-tag,.result-tag{display:inline-flex;align-items:center;gap:7px;padding:3px 7px;background:rgba(102,170,255,.08);color:#9dc5ee;font-size:10px}.type-tag.urgent{background:var(--danger-soft);color:#ff8b9c}.result-tag i{width:12px;height:2px;background:var(--muted)}.result-tag.answered{color:var(--teal);background:var(--teal-soft)}.result-tag.answered i{background:var(--teal)}.result-tag.no_answer{color:var(--amber);background:rgba(244,185,66,.1)}.result-tag.no_answer i{background:var(--amber)}.result-tag.failed{color:var(--danger);background:var(--danger-soft)}.result-tag.failed i{background:var(--danger)}.empty-row td{text-align:center!important;padding:50px!important;color:var(--dim)!important}.empty-row b,.empty-row span{display:block}.empty-row b{color:#8ca2ad;margin-bottom:5px}.empty-row span{font-size:11px}.compact th:nth-child(2),.compact td:nth-child(2){display:none}
.page-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:105px;padding:24px 26px;background:linear-gradient(115deg,#0f1d28,#0b1720);border:1px solid var(--line);position:relative;overflow:hidden}.page-tools:after{content:"";position:absolute;right:-50px;top:-80px;width:260px;height:260px;border:1px solid rgba(45,225,194,.08);border-radius:50%}.page-tools p{margin:8px 0 0;max-width:690px;color:#8fa5af}.date-filter{position:relative;z-index:1;display:flex;align-items:end;gap:7px}.date-filter label{font-size:10px;color:var(--muted);margin-right:4px}.date-filter input,.date-filter button{height:37px;border:1px solid var(--line-strong);background:#0a151e;color:#bed0d7;padding:0 11px;font:11px var(--mono)}.date-filter button{color:var(--teal);cursor:pointer}.date-filter button:active,.primary-button:active{transform:scale(.97)}
.config-intro{align-items:center}.config-form{display:grid;gap:14px;margin-top:18px}.config-section{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:30px;padding:27px;background:var(--panel);border:1px solid var(--line)}.config-title{display:flex;gap:16px}.config-title>span{font:500 12px var(--mono);color:var(--teal)}.config-title h3{margin:0 0 7px;font-size:15px}.config-title p{margin:0;color:var(--muted);font-size:12px;max-width:390px}.config-fields{display:grid;gap:13px}.config-fields.two{grid-template-columns:repeat(2,1fr)}.config-fields.three{grid-template-columns:repeat(3,1fr)}.config-fields label>span{display:block;margin-bottom:7px;color:#9eb1ba;font-size:11px}.input-unit{display:flex;border:1px solid var(--line-strong);background:#09151e;transition:border-color .18s var(--ease)}.input-unit:focus-within{border-color:rgba(45,225,194,.55)}.input-unit.urgent:focus-within{border-color:rgba(255,93,115,.55)}.input-unit input{min-width:0;width:100%;height:42px;padding:0 12px;border:0;background:transparent;color:var(--text);font:500 15px var(--mono)}.input-unit b{display:grid;place-items:center;padding:0 11px;border-left:1px solid var(--line);color:var(--dim);font-size:10px}.wide-input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line-strong);background:#09151e;color:#c1d1d8;font:11px var(--mono)}.switch-row{display:flex!important;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid var(--line);background:#0a1720}.switch-row>span{margin:0!important}.switch-row b,.switch-row small{display:block}.switch-row small{color:var(--muted);margin-top:4px}.switch-row input{position:absolute;opacity:0}.switch-row i{position:relative;width:38px;height:20px;background:#263a45;border-radius:20px;transition:background .18s var(--ease)}.switch-row i:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#8396a0;transition:transform .18s var(--ease),background .18s var(--ease)}.switch-row input:checked+i{background:rgba(45,225,194,.26)}.switch-row input:checked+i:after{transform:translateX(18px);background:var(--teal)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding-top:9px}.form-actions>span{font-size:11px;color:var(--dim)}.primary-button{min-width:155px;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border:1px solid var(--teal);background:var(--teal);color:#031a16;font-weight:700;cursor:pointer;transition:transform .16s var(--ease),filter .18s var(--ease)}.primary-button:hover{filter:brightness(1.08)}
.login-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(390px,.7fr);min-height:100vh}.login-visual{position:relative;overflow:hidden;min-height:650px}.login-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.login-visual-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,20,.2),rgba(5,13,20,.82)),linear-gradient(0deg,rgba(5,13,20,.92),transparent 60%)}.visual-copy{position:absolute;z-index:2;left:7vw;right:6vw;bottom:9vh}.visual-copy h1{font-size:clamp(38px,4vw,64px);line-height:1.12;letter-spacing:-.055em;margin:17px 0}.visual-copy p{max-width:590px;color:#aac0c9;font-size:15px}.visual-status{display:flex;align-items:center;gap:10px;width:min(450px,100%);margin-top:34px;padding:12px 0;border-top:1px solid rgba(255,255,255,.17);font:11px var(--mono);color:#a9bcc5}.visual-status b{margin-left:auto;color:var(--teal)}.login-panel{display:grid;place-items:center;padding:45px;background:#08131c;border-left:1px solid var(--line)}.login-form-wrap{width:min(380px,100%)}.login-brand{margin-bottom:78px}.login-heading h2{font-size:27px;letter-spacing:-.04em;margin:10px 0}.login-heading p{color:var(--muted);font-size:12px}.auth-form{display:grid;gap:16px;margin-top:30px}.auth-form label span{display:block;color:#9cb0b9;font-size:11px;margin-bottom:7px}.auth-form input{width:100%;height:46px;padding:0 13px;border:1px solid var(--line-strong);background:#071019;color:var(--text);transition:border-color .18s var(--ease)}.auth-form input:focus{border-color:rgba(45,225,194,.62)}.auth-form .primary-button{width:100%;margin-top:8px}.security-note{margin-top:18px;font-size:10px;color:var(--dim);text-align:center}.security-note span{color:#7c9a9c}
@media (prefers-reduced-motion:no-preference){.hero-status,.metrics-grid,.split-grid,.page-tools,.data-panel,.config-section{animation:enter .36s var(--ease) both}.metric-card:nth-child(2){animation-delay:40ms}.metric-card:nth-child(3){animation-delay:80ms}.metric-card:nth-child(4){animation-delay:120ms}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.runway-light.ok{animation:pulse 2.8s ease-in-out infinite}@keyframes pulse{50%{opacity:.55;box-shadow:0 0 4px rgba(45,225,194,.25)}}}
@media(max-width:1050px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{width:76px;padding:21px 11px}.brand span,.nav-item>span:last-child,.sidebar-foot .eyebrow,.node-line span,.text-button{display:none}.brand{justify-content:center}.brand img{width:43px}.nav-item{justify-content:center;padding:12px}.sidebar-foot{padding:16px 0;display:flex;justify-content:center}.workspace{grid-column:2}.hero-status{grid-template-columns:1fr}.radar-panel{display:none}.metrics-grid{grid-template-columns:repeat(2,1fr)}.split-grid{grid-template-columns:1fr}.config-section{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}}
@media(max-width:680px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:auto;height:65px;flex-direction:row;align-items:center;padding:7px 12px;border-right:0;border-top:1px solid var(--line);z-index:50}.sidebar>.brand,.sidebar-foot{display:none}.nav-stack{grid-template-columns:repeat(4,1fr);width:100%;margin:0;gap:3px}.nav-item{border-left:0;border-bottom:2px solid transparent}.nav-item.active{border-bottom-color:var(--teal);background:var(--teal-soft)}.workspace{padding-bottom:64px}.topbar{height:83px;padding:0 17px}.topbar h1{font-size:18px}.topbar .eyebrow,.clock{display:none}.content-stage{padding:17px 14px 34px}.hero-copy{padding:25px 21px}.hero-copy h2{font-size:24px}.hero-meta{flex-direction:column;gap:8px;margin-top:22px}.metrics-grid{grid-template-columns:1fr 1fr}.metric-card{padding:18px;min-height:128px}.metric-card strong{font-size:29px}.page-tools{align-items:stretch;flex-direction:column;padding:20px}.date-filter{align-items:stretch}.date-filter label{display:none}.date-filter input{flex:1}.config-fields.two,.config-fields.three{grid-template-columns:1fr}.config-section{padding:20px}.form-actions{align-items:stretch;flex-direction:column}.form-actions .primary-button{width:100%}.login-panel{padding:28px}.login-brand{margin-bottom:60px}.flash-stack{left:14px;right:14px;top:94px}}
