:root{--bg:#ECEDF3;--surface:#FBFAF6;--surface-2:#F4F1E9;--rail:#A4B4CF;--topbar:#FBFAF6;--ink:#492A1E;--ink-2:#6E574B;--ink-3:#9C8778;--line:#E5E1D6;--line-cool:#DDE0EA;--brand:#A4B4CF;--brand-deep:#6980B2;--accent:#4E6399;--accent-soft:#E7EAF3;--accent-line:#C7D0E6;--cream:#F2E6BD;--cream-soft:#FAF3D9;--on-accent:#fff;--good:#3E7A5A;--good-bg:#E4F0E8;--warn:#B0761F;--warn-bg:#F8ECD3;--crit:#B8462F;--crit-bg:#F8E2DB;--shadow-sm:0 1px 2px rgba(73,42,30,.06);--shadow:0 1px 2px rgba(73,42,30,.05),0 12px 30px -16px rgba(73,42,30,.22);--shadow-lift:0 2px 4px rgba(73,42,30,.06),0 20px 44px -18px rgba(73,42,30,.3);--r-card:18px;--r-tile:14px;--r-btn:12px;color-scheme:light;--f-cjk:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,sans-serif;--f-round:ui-rounded,"SF Pro Rounded","PingFang SC","Microsoft YaHei",system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-cjk);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}.num,.n,.mono{font-family:var(--f-round);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700}button{font-family:inherit;cursor:pointer}a{color:var(--accent)}svg.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}svg.ic.sm{width:15px;height:15px;stroke-width:1.8}svg.ic.xs{width:13px;height:13px;stroke-width:2}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.segmented{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;flex:none}.segmented button,.segmented a{border:0;background:none;padding:7px 13px;border-radius:999px;font-weight:700;font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none}.segmented button:hover,.segmented a:hover{color:var(--ink)}.segmented button.on,.segmented a.on{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-sm)}.segmented .on svg{stroke:var(--on-accent)}.iconbtn{width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;flex:none;position:relative}.iconbtn:hover{color:var(--ink);border-color:var(--accent-line)}.iconbtn .pip{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--crit);border:2px solid var(--surface)}.xlink{font-size:12px;font-weight:700;color:var(--accent);text-decoration:none;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:999px;padding:6px 12px;white-space:nowrap;flex:none}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pane{animation:rise .26s ease}.app{display:grid;grid-template-columns:220px 1fr;min-height:86vh}@media (max-width:1080px){.app{grid-template-columns:72px 1fr}.rail .lbl{display:none}.rail{padding:16px 10px}.navitem{justify-content:center}}.rail{background:var(--rail);padding:18px 14px;display:flex;flex-direction:column;gap:5px}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 14px}.cloud{width:36px;height:36px;flex:none;filter:drop-shadow(0 2px 4px rgba(73,42,30,.18))}.brand .wm{font-family:var(--f-round);font-weight:800;color:var(--ink);line-height:1}.brand .wm b{display:block;font-size:15px}.brand .wm span{font-size:10px;letter-spacing:.12em;color:var(--ink-2);text-transform:uppercase;font-weight:700}.nav-sec{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.6;font-weight:800;padding:13px 10px 4px}.navitem{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:12px;color:var(--ink);text-decoration:none;font-weight:600;font-size:13.5px;opacity:.82;border:0;background:none;width:100%;text-align:left;transition:background .15s,opacity .15s}.navitem:hover{opacity:1;background:#ffffff47}.navitem.active{background:var(--surface);opacity:1;box-shadow:var(--shadow-sm);font-weight:700}.navitem .badge{margin-left:auto;background:var(--crit);color:#fff;font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px;font-family:var(--f-round)}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.env{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink);opacity:.72;padding:8px 12px;background:#ffffff38;border-radius:10px;font-weight:600}.dot{width:8px;height:8px;border-radius:50%;flex:none}.dot.live{background:var(--good)}.dot.run{background:var(--brand-deep)}.dot.warn{background:var(--warn)}.dot.crit{background:var(--crit)}.dot.idle{background:var(--ink-3)}.main{display:flex;flex-direction:column;min-width:0}.topbar{background:var(--topbar);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:12px 24px;flex-wrap:wrap}.pagetitle b{font-family:var(--f-round);font-size:18px;font-weight:800;display:block;line-height:1.15}.pagetitle span{font-size:12px;color:var(--ink-2)}.spacer{flex:1}.avatar{display:flex;align-items:center;gap:9px}.avatar .pic{width:34px;height:34px;border-radius:11px;background:var(--brand);display:grid;place-items:center;color:var(--ink);font-family:var(--f-round);font-weight:800;font-size:13px;flex:none;border:1px solid rgba(73,42,30,.12)}.avatar .meta b{font-size:13px;display:block;line-height:1.2}.avatar .meta span{font-size:11px;color:var(--ink-3)}.canvas{padding:20px 24px 36px}.btn{display:inline-flex;align-items:center;gap:7px;border-radius:var(--r-btn);border:1px solid transparent;padding:9px 15px;font-weight:700;font-size:13px;font-family:inherit;white-space:nowrap}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-sm)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--accent-line);color:var(--accent)}.btn.sm{padding:6px 11px;font-size:12px;border-radius:9px}.btn.wide{width:100%;justify-content:center;padding:11px 15px;font-size:14px}.btn[disabled]{opacity:.5;cursor:not-allowed}.tinybtn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:4px 9px;font-size:11.5px;font-weight:700;color:var(--ink-2);display:inline-flex;gap:5px;align-items:center}.tinybtn:hover{border-color:var(--accent-line);color:var(--accent)}.tinybtn.solid{background:var(--warn);color:#3a2a10;border-color:transparent}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-sm);margin-bottom:16px}.card.pad{padding:18px}.card-h{display:flex;align-items:center;gap:10px;padding:15px 18px 11px;flex-wrap:wrap}.card-h h3{margin:0;font-size:15px;font-family:var(--f-round);font-weight:800}.card-h .sub{font-size:12px;color:var(--ink-3)}.card-h .r{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.link{color:var(--accent);font-weight:700;font-size:12.5px;text-decoration:none;display:inline-flex;align-items:center;gap:3px}.link:hover{text-decoration:underline}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2)}.chip.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.chip.g{background:var(--good-bg);color:var(--good);border-color:transparent}.chip.w{background:var(--warn-bg);color:var(--warn);border-color:transparent}.chip.c{background:var(--crit-bg);color:var(--crit);border-color:transparent}.chip.b{background:var(--accent-soft);color:var(--accent);border-color:transparent}.chip.xs{padding:2px 8px;font-size:11px}.ph0,.ph1,.ph2{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:10.5px;font-weight:800;font-family:var(--f-round);letter-spacing:.04em;flex:none}.ph0{background:var(--good-bg);color:var(--good)}.ph1{background:var(--accent-soft);color:var(--accent)}.ph2{background:var(--warn-bg);color:var(--warn)}.sla{font-family:var(--f-round);font-weight:800;font-size:11.5px;padding:2px 8px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.sla.ok{background:var(--good-bg);color:var(--good)}.sla.soon{background:var(--warn-bg);color:var(--warn)}.sla.late{background:var(--crit-bg);color:var(--crit)}.row-2{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:start}.row-2b{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media (max-width:1180px){.row-2,.row-2b{grid-template-columns:1fr}}.section-t{display:flex;align-items:baseline;gap:10px;margin:20px 2px 12px}.section-t h2{margin:0;font-family:var(--f-round);font-size:17px;font-weight:800}.section-t span{font-size:12px;color:var(--ink-3)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}@media (max-width:1180px){.kpis{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);padding:14px 15px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:5px}.kpi .k{font-size:12px;color:var(--ink-2);font-weight:600;display:flex;align-items:center;gap:6px}.kpi .v{font-family:var(--f-round);font-size:25px;font-weight:800;line-height:1}.kpi .v small{font-size:13px;font-weight:700;color:var(--ink-3)}.kpi .foot{display:flex;align-items:center;gap:7px;margin-top:2px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-3)}.delta{font-family:var(--f-round);font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:2px}.delta.up{color:var(--good)}.delta.down{color:var(--crit)}.delta.flat{color:var(--ink-3)}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}@media (max-width:1180px){.mini-grid{grid-template-columns:repeat(2,1fr)}}.mchart{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);padding:14px 15px}.mchart .k{font-size:12px;color:var(--ink-2);font-weight:600}.mchart .v{font-family:var(--f-round);font-size:23px;font-weight:800;margin:2px 0 8px;line-height:1}.mchart .v small{font-size:13px;color:var(--ink-3);font-weight:700}.tablewrap{overflow-x:auto;padding:0 18px 8px}.dtable{width:100%;border-collapse:collapse;font-size:12.5px;min-width:620px}.dtable th{text-align:left;font-weight:700;color:var(--ink-3);font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.dtable td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.dtable tr:last-child td{border-bottom:0}.dtable tbody tr:hover td{background:var(--surface-2)}.dtable td.ar,.dtable th.ar{text-align:right}.dtable .mono,.dtable .num{font-family:var(--f-round);font-weight:700}.dtable .nm{font-weight:700;white-space:nowrap}.dtable tr.sel td{background:var(--accent-soft)}.dead{text-decoration:line-through;color:var(--ink-3)}.pager{display:flex;align-items:center;gap:6px;padding:4px 18px 16px;font-size:11.5px;color:var(--ink-3)}.pager .pg{border:1px solid var(--line);background:var(--surface);border-radius:9px;min-width:30px;height:30px;padding:0 8px;font-size:12.5px;font-weight:700;color:var(--ink-2);display:grid;place-items:center;font-family:var(--f-round)}.pager .pg.on{background:var(--accent);color:var(--on-accent);border-color:transparent}.pager .sp{flex:1}.pick{width:16px;height:16px;border-radius:5px;border:1.6px solid var(--line);display:inline-grid;place-items:center;flex:none;background:var(--surface);color:transparent;cursor:pointer}.pick.on{background:var(--accent);border-color:var(--accent);color:#fff}.deflist{margin:0;padding:0 18px 16px;font-size:12.5px}.deflist div{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.deflist div:last-child{border-bottom:0}.deflist dt{flex:none;width:132px;color:var(--ink-3);font-weight:600}.deflist dd{margin:0;flex:1}.deflist dd .in{display:inline-block;min-width:200px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:5px 10px;color:var(--ink);font-size:12.5px}.deflist dd .in.ph{color:var(--ink-3)}.deflist dd .in.sel:after{content:" ▾";color:var(--ink-3)}.note{font-size:12px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:10px 13px;margin:0 18px 16px}.note b{color:var(--ink)}.note.crit{border-left-color:var(--crit)}.note.good{border-left-color:var(--good)}.note.warn{border-left-color:var(--warn)}.mband{font-size:12px;color:var(--ink-2);background:var(--cream-soft);border:1px solid var(--line);border-left:3px solid var(--cream);border-radius:0 10px 10px 0;padding:9px 12px;margin:0 18px 14px;display:flex;gap:8px;align-items:flex-start}.mband b{color:var(--ink)}.mband svg{color:var(--warn);margin-top:1px}.subtabs{display:flex;gap:7px;flex-wrap:wrap;padding:0 0 16px}.subtabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:6px}.subtabs button:hover{color:var(--ink);border-color:var(--accent-line)}.subtabs button.on{background:var(--accent);color:var(--on-accent);border-color:transparent}.subtabs button.on .ph0,.subtabs button.on .ph1,.subtabs button.on .ph2{background:#ffffff38;color:var(--on-accent)}.chain{display:flex;align-items:center;gap:0;flex-wrap:wrap;padding:12px 18px 4px}.chain .st{display:flex;flex-direction:column;gap:2px;align-items:center;min-width:78px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.chain .st b{font-size:12px;font-weight:700;white-space:nowrap}.chain .st span{font-family:var(--f-round);font-weight:800;font-size:14px;color:var(--ink-2)}.chain .st.on{background:var(--accent-soft);border-color:var(--accent-line)}.chain .st.on span{color:var(--accent)}.chain .st.good{background:var(--good-bg);border-color:transparent}.chain .st.good span{color:var(--good)}.chain .st.warn{background:var(--warn-bg);border-color:transparent}.chain .st.warn span{color:var(--warn)}.chain .st.bad{background:var(--crit-bg);border-color:transparent}.chain .st.bad span{color:var(--crit)}.chain .st.pickable{cursor:pointer}.chain .cn{color:var(--line-cool);padding:0 3px;flex:none}.chainbr{display:flex;align-items:center;gap:8px;padding:8px 18px 0;font-size:12px;color:var(--ink-3);flex-wrap:wrap}.tasklist{display:flex;flex-direction:column}.task{display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line)}.task:first-child{border-top:0}.task:hover{background:var(--surface-2)}.thumb{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;font-family:var(--f-round);font-weight:800;color:#fff;font-size:15px;position:relative;box-shadow:var(--shadow-sm)}.thumb .pw{position:absolute;right:-3px;bottom:-3px;width:17px;height:17px;background:var(--surface);border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow-sm)}.task .info{min-width:0;flex:1}.task .info .t1{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task .info .oid{font-family:var(--f-round);color:var(--ink-3);font-size:12px;font-weight:700}.task .info .t2{font-size:12px;color:var(--ink-2);margin-top:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task .sc{font-family:var(--f-round);font-weight:800;font-size:15px;color:var(--accent);min-width:34px;text-align:right}.task .act{display:flex;gap:8px;align-items:center}.rankrow{display:flex;align-items:center;gap:12px;padding:7px 0}.rankrow .rl{width:104px;font-size:12.5px;font-weight:700;flex:none;white-space:nowrap}.rankrow .rt{flex:1;height:22px;background:var(--surface-2);border-radius:7px;overflow:hidden}.rankrow .rf{height:100%;border-radius:7px;background:linear-gradient(90deg,var(--brand),var(--brand-deep))}.rankrow .rv{font-family:var(--f-round);font-weight:800;font-size:12.5px;width:104px;text-align:right;flex:none;color:var(--ink-2)}.sw{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink-2);border:0;background:none;padding:0}.sw i{width:36px;height:20px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);position:relative;flex:none;display:block}.sw i:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--ink-3);transition:left .15s}.sw.on i{background:var(--accent-soft);border-color:var(--accent-line)}.sw.on i:after{left:18px;background:var(--accent)}.sw.on{color:var(--accent)}.svc{display:flex;flex-wrap:wrap;gap:9px;padding:4px 18px 16px}.svcpill{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:9px 12px;font-size:12.5px;font-weight:600}.filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 18px 12px}.filters .fl{font-size:11.5px;color:var(--ink-3);font-weight:700}.logincard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:26px 24px}.logincard .lh{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:18px;text-align:center}.logincard .lh b{font-family:var(--f-round);font-size:18px;font-weight:800}.logincard .lh span{font-size:12px;color:var(--ink-3)}.field{margin-bottom:12px}.field label{display:block;font-size:11.5px;color:var(--ink-3);font-weight:700;margin-bottom:5px}.field .box{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:10px 12px;font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:8px}.field .hint{font-size:11px;color:var(--ink-3);margin-top:4px}.blockcard{background:var(--surface);border:1px dashed var(--crit);border-radius:var(--r-card);padding:30px 24px;text-align:center}.blockcard .ic-wrap{width:56px;height:56px;border-radius:17px;background:var(--crit-bg);color:var(--crit);display:grid;place-items:center;margin:0 auto 12px}.blockcard h3{margin:6px 0;font-family:var(--f-round);font-size:17px;font-weight:800}.blockcard p{margin:0 auto 14px;font-size:12.5px;color:var(--ink-2);max-width:420px;line-height:1.75}.blockcard .mono{color:var(--crit)}.loginwrap{min-height:100vh;display:grid;place-items:center;padding:32px}.logincard{width:100%;max-width:400px}input.in,select.in,textarea.in{display:inline-block;min-width:200px;max-width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:5px 10px;color:var(--ink);font-size:12.5px;font-family:inherit;line-height:1.5}input.in:focus,select.in:focus,textarea.in:focus{outline:none;border-color:var(--accent-line);background:var(--surface)}input.in::placeholder,textarea.in::placeholder{color:var(--ink-3)}textarea.in{min-height:72px;resize:vertical}select.in{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;padding-right:6px;cursor:pointer}input[type=file].in{min-width:0;padding:6px 8px;font-size:12px}input[type=file].in::file-selector-button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:3px 9px;margin-right:8px;font:inherit;font-size:11.5px;font-weight:700;color:var(--ink-2);cursor:pointer}.field .box input,.deflist dd .in input{border:0;background:none;outline:none;font:inherit;color:inherit;width:100%}
