*,:before,:after{box-sizing:border-box}html,body,#app{width:100%;height:100%}body{margin:0}button,input{font:inherit}button{cursor:pointer}ul,ol{margin:0;padding:0;list-style:none}:root{--bg-page:#06101d;--text-primary:#e7f3ff;--text-muted:#8eabc8;--color-primary:#3ecbff;--color-gold:#f0c36a;--color-success:#3ddea2;--color-danger:#ff6b81;--color-warning:#f0c36a;--panel-bg:linear-gradient(180deg, #0a2446eb, #06142ac7);--panel-border:#50a8e647}.screen-page{flex-direction:column;gap:16px;height:100%;min-height:0;display:flex}.kpi-row{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;height:112px;display:grid}.screen-columns{flex:1;gap:16px;min-height:0;display:grid}.screen-columns>*{min-width:0;min-height:0}.screen-columns--overview{grid-template-columns:460px minmax(0,1fr) 460px}.screen-columns--split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.screen-stack{flex-direction:column;gap:16px;min-width:0;min-height:0;display:flex}.screen-stack>*{flex:1;min-height:0}.page-state{height:100%;color:var(--text-muted);letter-spacing:1px;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.page-state button{color:#d7ecff;background:#0e3056cc;border:1px solid #3ecbff73;height:32px;padding:0 16px}body{color:var(--text-primary);background:var(--bg-page);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#3ecbff59;border-radius:3px}.state-tag{white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;min-width:52px;height:22px;padding:0 6px;font-size:12px;display:inline-flex}.state-tag--ok{color:var(--color-success);background:#3ddea21f;border-color:#3ddea273}.state-tag--warn{color:var(--color-warning);background:#f0c36a1f;border-color:#f0c36a80}.state-tag--danger{color:var(--color-danger);background:#ff6b811f;border-color:#ff6b8180}.state-tag--muted{color:var(--text-muted);background:#8eabc814;border-color:#8eabc847}.cmd-btn{color:#d7ecff;background:#08284ab8;border:1px solid #3ecbff66;height:30px;padding:0 12px;font-size:13px}.cmd-btn:disabled{opacity:.45;cursor:not-allowed}.cmd-btn--danger{color:#ffd5dc;background:#781c2e59;border-color:#ff6b818c}.cmd-btn--gold{color:#ffe7b2;background:#78541459;border-color:#f0c36a8c}.cmd-btn.is-on{color:#062033;background:linear-gradient(#9ae4ff,#2aa7ef);border-color:#0000}
