:root{color:#1d1d1f;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Helvetica Neue,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f5f5f7;--surface: #ffffff;--surface-soft: #f5f5f7;--line: #e8e8ed;--text: #1d1d1f;--muted: #6e6e73;--faint: #86868b;--primary: #0071e3;--primary-soft: rgba(0, 113, 227, .08);--success: #34c759;--warning: #ff9500;--danger: #ff3b30;--radius: 18px;--shadow: 0 2px 12px rgba(0, 0, 0, .04);--shadow-hover: 0 6px 24px rgba(0, 0, 0, .08)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--bg);font-size:14px;line-height:1.5}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:active{transform:scale(.99)}button:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:var(--text);font-size:clamp(30px,3vw,40px);font-weight:600;line-height:1.15;letter-spacing:-.015em}h2{margin-bottom:0;color:var(--text);font-size:22px;font-weight:600;letter-spacing:-.01em}small{color:var(--muted);font-size:13px}a{color:var(--primary);transition:opacity .2s ease}a:hover{opacity:.8}.login-screen{display:grid;min-height:100svh;padding:20px;place-items:center;background:var(--bg)}.login-box{position:relative;width:min(440px,100%);padding:40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.login-logo,.brand-mark{display:grid;place-items:center;overflow:hidden;background:#fff}.login-logo{width:62px;height:62px;margin-bottom:20px;border:1px solid var(--line);border-radius:14px}.login-logo img,.brand-mark img,.server-brand img{width:100%;height:100%;object-fit:contain}.login-box h1{font-size:28px}.login-box p{margin:12px 0 24px;color:var(--muted);line-height:1.5}.login-box label{display:grid;gap:8px;margin-top:14px;color:var(--text);font-size:13px;font-weight:600}.login-box input{width:100%;padding:12px 14px;color:var(--text);border:1px solid #d2d2d7;border-radius:10px;outline:0;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.login-box input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0071e324}.login-button{width:100%;margin-top:24px;padding:13px 16px;color:#fff;border:0;border-radius:980px;background:var(--primary);cursor:pointer;font-size:15px;font-weight:600;transition:opacity .2s ease}.login-button:hover{opacity:.85}.login-button:disabled{cursor:wait;opacity:.5}.login-error{display:block;min-height:20px;margin-top:12px;color:transparent}.login-error.show{color:var(--danger)}.app-shell{position:relative;width:min(1400px,100%);min-height:100vh;margin:0 auto;padding:0 24px 56px}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:20px;width:100vw;margin-left:calc(50% - 50vw);padding:10px max(24px,calc(50vw - 676px));border-bottom:1px solid var(--line);background:#ffffffb8;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.brand{display:flex;min-width:0;align-items:center;gap:11px;padding:0;color:inherit;border:0;background:transparent;cursor:pointer;text-align:left}.brand-mark{flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line);border-radius:10px}.brand>span:last-child{min-width:0}.brand strong,.brand small{display:block}.brand strong{overflow:hidden;color:var(--text);font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.brand small{margin-top:2px;overflow:hidden;color:var(--faint);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.topbar-nav{display:flex;align-items:center;gap:4px}.topbar-nav button{padding:8px 16px;color:var(--muted);border:0;border-radius:980px;background:transparent;cursor:pointer;font-size:14px;font-weight:500;transition:color .2s ease,background .2s ease}.topbar-nav button:hover{color:var(--text)}.topbar-nav button.active{color:#fff;background:var(--primary)}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.status-pill,.live-sync{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.status-pill{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}.status-pill span,.live-sync i{width:7px;height:7px;border-radius:50%;background:var(--success)}.icon-button,.back-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;color:var(--text);border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;font-size:14px;transition:background .2s ease,border-color .2s ease}.icon-button{width:38px;padding:0}.icon-button:hover,.back-button:hover{background:var(--surface-soft)}.health-score{display:grid;min-width:66px;height:38px;place-items:center;color:var(--success);border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.health-score.warn{color:var(--warning)}.hero-panel,.panel,.detail-card,.metric-card,.notice-card,.kpi-focus-card,.plan-card,.work-card,.ability-chart-card,.realtime-panel,.server-sidebar,.server-main{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);transition:box-shadow .2s ease}.hero-panel{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-top:24px;padding:32px;border-radius:var(--radius)}.eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--primary);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.hero-panel p,.detail-head p{max-width:720px;margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.5}.executive-notice{display:inline-flex;margin-top:16px;padding:7px 14px;color:var(--muted);border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);font-size:13px;font-weight:500}.hero-live{display:grid;gap:6px;min-width:220px;padding:20px;color:var(--text);border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);cursor:pointer;text-align:left;transition:box-shadow .2s ease}.hero-live:hover{box-shadow:var(--shadow-hover)}.hero-live svg{color:var(--primary)}.hero-live span{font-size:13px;color:var(--muted)}.hero-live strong{color:var(--text);font-size:34px;font-weight:600;font-variant-numeric:tabular-nums}.mobile-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px}.mobile-action-grid button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;min-height:80px;padding:16px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;box-shadow:var(--shadow);transition:box-shadow .2s ease}.mobile-action-grid svg{grid-row:1/3;color:var(--primary)}.mobile-action-grid strong,.mobile-action-grid small{display:block}.mobile-action-grid strong{font-size:15px;font-weight:600}.mobile-action-grid small{color:var(--faint);font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}.metric-card{--tone-color: var(--primary);min-width:0;min-height:140px;padding:22px;color:inherit;border-radius:var(--radius);cursor:default;text-align:left}.metric-card:not(:disabled):hover{box-shadow:var(--shadow-hover)}.tone-blue,.tone-cyan,.tone-violet,.tone-rose{--tone-color: var(--primary)}.tone-green{--tone-color: var(--success)}.tone-amber{--tone-color: var(--warning)}.metric-icon{display:grid;width:30px;height:30px;margin-bottom:14px;place-items:center;color:var(--tone-color)}.metric-card span,.metric-card small{display:block;overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.metric-card strong{display:block;margin:8px 0;overflow:hidden;color:var(--text);font-size:clamp(30px,2.6vw,38px);font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.ops-board{margin-top:20px}.notice-card{display:grid;width:100%;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 18px;color:var(--muted);border-radius:14px;cursor:pointer;text-align:left;font-size:14px}.notice-card:hover{box-shadow:var(--shadow-hover)}.notice-card>svg:first-child{color:var(--primary)}.ops-grid{display:grid;grid-template-columns:1.05fr .9fr 1.05fr;gap:20px;margin-top:20px}.kpi-focus-card,.plan-card,.work-card,.ability-chart-card{min-width:0;padding:22px;border-radius:var(--radius)}.ability-chart-card{grid-column:1/-1}.section-title-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:17px;font-weight:600}.section-title-row button{display:inline-flex;align-items:center;gap:3px;padding:7px 12px;color:var(--primary);border:0;border-radius:980px;background:var(--primary-soft);cursor:pointer;font-size:13px;font-weight:500;transition:background .2s ease}.section-title-row button:hover{background:#0071e324}.section-title-row small{color:var(--faint);font-size:13px;font-weight:400}.gauge-wrap{display:grid;min-height:160px;place-items:center}.gauge-ring,.compact-ring{--progress: 0deg;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,var(--surface) 59%,transparent 60%),conic-gradient(var(--primary) var(--progress),var(--line) 0);transition:background .35s ease}.gauge-ring{width:134px;height:134px}.gauge-ring strong,.compact-ring strong{color:var(--text);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums}.gauge-ring small{margin-top:-40px;color:var(--faint);font-size:13px}.mini-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mini-kpis span{min-width:0;padding:10px 8px;color:var(--muted);border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);font-size:13px;text-align:center}.mini-kpis strong{display:block;overflow:hidden;margin-bottom:4px;color:var(--text);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.plan-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:14px}.plan-score{display:grid;align-content:center;gap:7px;padding:18px;border-radius:12px;background:var(--primary-soft)}.plan-score span,.plan-score small{color:var(--muted);font-size:13px}.plan-score strong{color:var(--primary);font-size:34px;font-weight:600;font-variant-numeric:tabular-nums}.plan-status-list{display:grid;gap:8px}.plan-status-list button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;color:var(--muted);border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;text-align:left;font-size:14px;transition:background .2s ease}.plan-status-list button:hover{background:var(--surface-soft)}.plan-status-list strong{color:var(--text);font-weight:600}.dot{width:8px;height:8px;border-radius:50%}.dot.cyan,.dot.blue{background:var(--primary)}.dot.red{background:var(--danger)}.work-card{width:100%;color:inherit;cursor:pointer;text-align:left}.work-card:hover{box-shadow:var(--shadow-hover)}.work-list{display:grid;gap:14px;margin-top:20px}.work-item div{display:flex;justify-content:space-between;gap:8px}.work-item strong{color:var(--text);font-size:14px;font-weight:600}.work-item small{color:var(--faint);font-size:13px;font-variant-numeric:tabular-nums}.work-item i,.ability-flow-meter i,.budget-line i,.server-stat>i{display:block;height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:var(--line)}.work-item b,.ability-flow-meter b,.budget-line b,.server-stat b{display:block;height:100%;border-radius:inherit;transition:width .35s ease}.ability-flow-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px}.ability-flow-item{min-width:0;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.ability-flow-main{display:flex;min-width:0;gap:10px}.ability-flow-main>span{flex:0 0 auto;width:4px;min-height:38px;border-radius:99px}.ability-flow-main div{min-width:0}.ability-flow-main strong,.ability-flow-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ability-flow-main strong{color:var(--text);font-size:14px;font-weight:600}.ability-flow-main small{margin-top:5px;color:var(--faint);font-size:13px;font-variant-numeric:tabular-nums}.ability-flow-meter{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-top:12px}.ability-flow-meter i{margin:0}.ability-flow-meter em{color:var(--success);font-size:13px;font-style:normal;font-variant-numeric:tabular-nums}.realtime-panel{margin-top:20px;padding:24px;border-radius:var(--radius)}.realtime-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.realtime-head .eyebrow{margin-bottom:5px}.realtime-head h2{font-size:22px}.realtime-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.realtime-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.realtime-card span,.realtime-card small{display:block;color:var(--muted);font-size:13px}.realtime-card strong{display:block;margin:8px 0;overflow:hidden;color:var(--text);font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.budget-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:18px;color:var(--muted);font-size:13px}.budget-line i{margin:0}.budget-line b{background:var(--primary)}.budget-line strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.chart-grid,.bottom-grid,.detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.panel{min-width:0;padding:22px;overflow:hidden;border-radius:var(--radius)}.panel:hover{box-shadow:var(--shadow-hover)}.panel.wide{grid-column:span 2}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:16px;color:var(--text)}.panel-title>span{display:grid;width:28px;height:28px;place-items:center;color:var(--primary)}.panel-title strong{font-size:17px;font-weight:600}.chart-note{display:block;margin-top:10px;color:var(--faint);font-size:13px}.recharts-responsive-container,.recharts-wrapper{max-width:100%;overflow:hidden}.recharts-surface{overflow:hidden}.recharts-cartesian-axis-tick text{font-size:12px}.recharts-tooltip-wrapper{z-index:8}.legend-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:-2px}.legend-list button{padding:6px 10px;color:var(--muted);border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;font-size:12px;transition:background .2s ease}.legend-list button:hover{background:var(--surface-soft)}.legend-list i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%}.table-wrap,.node-table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 10px;border-bottom:1px solid var(--line);color:var(--text);font-size:14px;text-align:left;white-space:nowrap}th{color:var(--faint);font-size:13px;font-weight:600}tbody tr{cursor:pointer;transition:background .2s ease}tbody tr:hover{background:var(--surface-soft)}td strong,td small{display:block}td strong{color:var(--text);font-weight:600}td small{margin-top:3px;color:var(--faint);font-size:13px}.success{display:inline-flex;padding:4px 8px;color:var(--success);border-radius:7px;background:#34c7591a;font-variant-numeric:tabular-nums}.stack-list,.handled-list,.insight-list{display:grid;gap:10px}.health-item,.alert-item,.handled-item,.insight,.empty-state{display:grid;width:100%;align-items:center;gap:12px;padding:13px;color:var(--muted);border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;transition:background .2s ease}.health-item,.alert-item,.handled-item{cursor:pointer}.health-item:hover,.alert-item:hover,.handled-item:hover{background:var(--surface-soft)}.health-item,.alert-item{grid-template-columns:auto 1fr auto}.handled-item{grid-template-columns:1fr}.health-item span:nth-child(2),.alert-item span:nth-child(2){min-width:0}.health-item strong,.health-item small,.alert-item strong,.alert-item small,.handled-item span,.handled-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-item strong,.alert-item strong,.handled-item span{color:var(--text);font-size:14px;font-weight:600}.health-item small,.alert-item small,.handled-item small{margin-top:4px;color:var(--faint);font-size:13px}.health-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.status-warning{background:var(--warning)}.status-offline{background:var(--danger)}.level{display:inline-grid;min-width:34px;height:28px;place-items:center;border-radius:8px;font-size:13px;font-weight:700}.P1{color:var(--danger);background:#ff3b301a}.P2{color:var(--warning);background:#ff95001f}.P3{color:var(--primary);background:var(--primary-soft)}.handled-block{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.handled-block>strong{display:block;margin-bottom:10px;color:var(--text);font-size:14px;font-weight:600}.empty-state{place-items:center;min-height:72px;color:var(--faint)}.detail-card{margin-top:24px;padding:26px;overflow:hidden;border-radius:var(--radius)}.back-button{margin-bottom:18px}.detail-head{padding:4px 2px 16px}.detail-head h1{font-size:clamp(28px,2.6vw,36px)}.detail-workbench{display:grid;grid-template-columns:.75fr 1fr 1.5fr;gap:14px;margin-top:4px}.detail-progress-card,.detail-status-cards,.detail-plan-card,.detail-kpi,.resource-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.detail-progress-card{display:grid;justify-items:center;gap:10px;color:var(--muted);font-size:13px}.compact-ring{width:108px;height:108px;background:radial-gradient(circle,var(--surface-soft) 59%,transparent 60%),conic-gradient(var(--primary) var(--progress),var(--line) 0)}.compact-ring strong{font-size:24px}.detail-status-cards{display:grid;gap:8px}.detail-status-cards>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:11px;color:var(--muted);border-radius:10px;background:var(--surface);font-size:13px}.detail-status-cards strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.detail-plan-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-plan-card>span{grid-column:1/-1;color:var(--muted);font-size:13px}.detail-plan-card div{min-width:0;padding:11px;border-radius:10px;background:var(--surface)}.detail-plan-card strong,.detail-plan-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-plan-card strong{color:var(--text);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.detail-plan-card small{margin-top:5px;color:var(--faint);font-size:13px}.detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.detail-kpi span,.detail-kpi strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-kpi span{color:var(--muted);font-size:13px}.detail-kpi strong{margin-top:8px;color:var(--text);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.insight{grid-template-columns:auto 1fr}.insight svg{color:var(--primary)}.insight strong,.insight small{display:block}.insight strong{color:var(--text);font-size:14px;font-weight:600}.insight small{margin-top:4px;color:var(--faint);font-size:13px}.alert-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.alert-center-list{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:20px}.alert-center-list>article{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.alert-center-list .section-title-row{margin-bottom:14px}.server-page{margin-top:24px}.server-layout{display:grid;grid-template-columns:300px 1fr;gap:20px}.server-sidebar,.server-main{min-width:0;padding:22px;border-radius:var(--radius)}.server-sidebar{align-self:start}.server-brand{display:flex;align-items:center;gap:10px}.server-brand>span{display:grid;width:40px;height:40px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.server-brand strong,.server-brand small{display:block}.server-brand strong{color:var(--text);font-size:14px;font-weight:600}.server-brand small{margin-top:3px;color:var(--faint);font-size:13px}.server-health-main{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--primary-soft)}.server-health-main span,.server-health-main strong{display:block}.server-health-main span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.server-health-main strong{margin-top:7px;color:var(--primary);font-size:36px;font-weight:600;font-variant-numeric:tabular-nums}.server-stats{display:grid;gap:12px}.server-stat>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;color:var(--muted);font-size:13px}.server-stat strong{color:var(--text);font-weight:600}.server-dot{width:7px;height:7px;border-radius:50%}.normal{background:var(--success)}.warning{background:var(--warning)}.offline{background:var(--danger)}.server-stat b.normal{background:var(--success)}.server-stat b.warning{background:var(--warning)}.server-stat b.offline{background:var(--danger)}.server-resource-grid,.server-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.resource-card span,.resource-card strong{display:block}.resource-card span{color:var(--muted);font-size:13px}.resource-card strong{margin-top:6px;color:var(--text);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.server-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.server-main-head h1{font-size:clamp(26px,2.4vw,34px)}.server-main-head p{max-width:680px;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.server-overview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.rack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.rack-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.rack-header{display:flex;justify-content:space-between;gap:8px}.rack-header strong{color:var(--text);font-size:14px;font-weight:600}.rack-header small{overflow:hidden;color:var(--faint);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.rack-nodes{display:grid;grid-template-columns:repeat(12,minmax(8px,1fr));gap:5px;margin-top:14px}.node-cell{position:relative;height:32px;padding:0;border:1px solid rgba(0,0,0,.05);border-radius:7px;cursor:pointer}.node-cell:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%}.node-normal{background:#e8f5e9}.node-normal:after{background:var(--success)}.node-warning{background:#fff3e0}.node-warning:after{background:var(--warning)}.node-offline{background:#ffebee}.node-offline:after{background:var(--danger)}.node-tooltip{position:absolute;z-index:10;left:50%;bottom:calc(100% + 8px);display:none;width:200px;padding:12px;transform:translate(-50%);color:var(--muted);border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-hover);text-align:left}.node-tooltip strong,.node-tooltip small{display:block}.node-tooltip strong{color:var(--text);font-weight:600}.node-tooltip small{margin-top:4px;color:var(--faint);font-size:13px}.node-cell:hover .node-tooltip,.node-cell:focus .node-tooltip{display:block}.node-detail-panel{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.node-status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:8px;font-size:13px;font-weight:600}.node-status-pill.normal{color:#248a3d;background:#e8f5e9}.node-status-pill.warning{color:#c93400;background:#fff3e0}.node-status-pill.offline{color:#d70015;background:#ffebee}.task-command-list{display:grid;gap:16px}.task-command-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.task-command-card>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.task-command-card>div:first-child strong{min-width:0;overflow:hidden;color:var(--text);font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.task-command-card>div:first-child small{grid-column:1/-1;color:var(--faint);font-size:13px}.terminal-window{height:200px;margin-top:14px;overflow:auto;border-radius:12px;background:#1d1d1f;scroll-behavior:smooth}.terminal-window pre{width:max-content;min-width:100%;margin:0;padding:14px;color:#e8e8ed;font:13px/1.7 SF Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;animation:log-in .3s ease}@keyframes log-in{0%{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.bottom-tabbar{display:none}@media (max-width: 1050px){.metric-grid,.ability-flow-list,.server-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.app-shell{width:100%;max-width:430px;padding:0 16px calc(94px + env(safe-area-inset-bottom))}.topbar{gap:8px;padding:10px 16px}.topbar-nav{display:none}.brand{flex:1;gap:8px}.brand-mark{width:36px;height:36px;border-radius:8px}.brand strong{max-width:205px;font-size:14px}.brand small{max-width:205px;font-size:12px}.topbar-actions{flex:0 0 auto;gap:6px}.status-pill{display:none}.topbar .icon-button{width:34px;height:34px;min-height:34px}.health-score{min-width:54px;height:34px;font-size:12px}.hero-panel{grid-template-columns:1fr;gap:14px;margin-top:14px;padding:20px}.hero-panel h1{font-size:26px}.hero-panel p{font-size:13px}.executive-notice{margin-top:12px}.hero-live{width:100%;grid-template-columns:auto 1fr auto;align-items:center;min-width:0;padding:12px}.hero-live svg{grid-row:1/3}.hero-live strong{grid-column:3;grid-row:1/3;font-size:24px}.hero-live small{grid-column:2}.mobile-action-grid{gap:10px;margin-top:14px}.mobile-action-grid button{display:grid;grid-template-columns:1fr;justify-items:center;min-height:76px;padding:10px 4px;border-radius:14px;text-align:center}.mobile-action-grid svg{grid-row:auto}.mobile-action-grid strong{font-size:12px}.mobile-action-grid small{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.metric-card{min-height:122px;padding:14px}.metric-icon{margin-bottom:10px}.metric-card strong{font-size:clamp(18px,5vw,22px)}.ops-board{margin-top:14px}.ops-grid,.chart-grid,.bottom-grid,.detail-layout,.alert-center-list,.server-layout{grid-template-columns:1fr;gap:12px}.ops-grid,.chart-grid,.bottom-grid,.detail-layout{margin-top:12px}.ability-chart-card,.panel.wide{grid-column:auto}.plan-card{grid-template-columns:.85fr 1.15fr}.ability-flow-list{grid-template-columns:1fr}.ability-flow-item{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:8px}.ability-flow-meter{margin:0}.realtime-panel{margin-top:14px;padding:16px}.realtime-head{align-items:center}.realtime-head h2{font-size:18px}.realtime-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.realtime-card{padding:12px}.realtime-card strong{font-size:17px}.panel{padding:16px}.panel:hover{box-shadow:var(--shadow)}.panel .recharts-responsive-container{min-height:240px!important}.table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody{display:block}.table-wrap thead{display:none}.table-wrap tbody{display:grid;gap:10px}.table-wrap tr{display:grid;grid-template-columns:1fr repeat(3,auto);gap:8px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.table-wrap td{display:block;min-width:0;padding:0;border:0;font-size:13px}.table-wrap td:nth-child(1){grid-column:1/4}.table-wrap td:nth-child(2){grid-column:4;grid-row:1;color:var(--muted);text-align:right}.table-wrap td:nth-child(3):before{content:"请求 ";color:var(--faint)}.table-wrap td:nth-child(4):before{content:"Token ";color:var(--faint)}.table-wrap td:nth-child(5):before{content:"成本 ";color:var(--faint)}.table-wrap td:nth-child(6){grid-column:4;text-align:right}.table-wrap td:nth-child(7){display:none}.detail-card{margin-top:14px;padding:16px}.back-button{margin-bottom:14px}.detail-head h1{font-size:26px}.detail-head p{font-size:13px}.detail-workbench{grid-template-columns:1fr}.detail-progress-card{padding:14px}.detail-status-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-status-cards>div{grid-template-columns:auto 1fr;align-content:center}.detail-status-cards strong{grid-column:1/-1;margin-left:16px}.detail-plan-card{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-plan-card strong{font-size:clamp(13px,3.4vw,15px)}.detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-kpi strong{font-size:17px}.alert-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.alert-summary-grid .detail-kpi{padding:11px}.alert-summary-grid .detail-kpi strong{font-size:15px}.server-page{margin-top:14px}.server-page>.back-button{margin-bottom:12px}.server-sidebar,.server-main{padding:16px}.server-health-main{margin:16px 0}.server-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.server-main-head{display:block}.server-main-head h1{font-size:25px}.server-main-head .live-sync{margin-top:12px}.server-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rack-grid{grid-template-columns:1fr}.rack-nodes{gap:4px}.node-cell{height:28px}.node-tooltip{left:auto;right:0;transform:none}.node-table{min-width:680px}.task-command-card{padding:14px}.terminal-window{height:210px}.bottom-tabbar{position:fixed;left:50%;bottom:max(8px,env(safe-area-inset-bottom));z-index:50;display:grid;width:min(398px,calc(100% - 24px));grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px;transform:translate(-50%);border:1px solid var(--line);border-radius:20px;background:#ffffffd9;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.bottom-tabbar button{display:grid;min-height:50px;place-items:center;gap:3px;padding:5px;color:var(--muted);border:0;border-radius:14px;background:transparent;cursor:pointer;font-size:12px;font-weight:600}.bottom-tabbar button.active{color:var(--primary);background:var(--primary-soft)}}@media (max-width: 380px){.app-shell{padding-left:12px;padding-right:12px}.brand strong,.brand small{max-width:170px}.topbar .icon-button{display:none}.hero-panel h1{font-size:23px}.metric-card strong{font-size:17px}.plan-card{grid-template-columns:1fr}.realtime-card strong{font-size:15px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
