:root{--bg: #0e1116;--surface: #161b22;--surface-2: #1c2230;--text: #e6edf3;--muted: #8b949e;--brand: #5b8def;--brand-2: #7c5cff;--success: #2ea043;--warn: #d29922;--critical: #f85149;--info: #58a6ff;--border: #232a35;--radius-card: 12px;--radius-ctl: 8px;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--sidebar-w: 232px}[data-theme=light]{--bg: #f6f8fa;--surface: #ffffff;--surface-2: #eef1f4;--text: #1f2328;--muted: #656d76;--border: #d0d7de;--shadow: 0 1px 2px rgba(140, 149, 159, .2)}[data-density=compact]{--radius-card: 9px}[data-density=compact] body{font-size:13px}[data-density=compact] .card{padding:12px}[data-density=compact] th,[data-density=compact] td{padding:6px 10px}[data-density=compact] .nav a{padding:6px 12px}[data-density=compact] .topbar{padding:9px 18px}[data-density=compact] .content{padding:16px}[data-density=compact] .tile .value{font-size:26px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;word-break:break-all}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:18px;padding:8px 10px 20px}.brand .gem{color:var(--brand-2)}.nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--radius-ctl);color:var(--text);margin-bottom:2px;transition:background .15s ease;font-weight:500}.nav a:hover{background:var(--surface-2)}.nav a.active{background:var(--surface-2);color:var(--brand)}.nav a .nav-label{flex:1}.nav .sep{height:1px;background:var(--border);margin:12px 6px}.badge{background:var(--brand);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 8px;min-width:20px;text-align:center}.badge.zero{background:var(--surface-2);color:var(--muted)}.badge.crit{background:var(--critical)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5}.topbar h1{font-size:18px;margin:0;flex:1}.content{padding:24px;flex:1;max-width:1400px;width:100%}button,.btn{display:inline-flex;align-items:center;gap:7px;background:var(--brand);color:#fff;border:none;border-radius:var(--radius-ctl);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s,background .15s;font-family:inherit}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:default;filter:none}button.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.sm{padding:5px 10px;font-size:12px}button.icon{padding:7px;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--critical)}button.ok{background:var(--success)}input,select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:8px 11px;font-size:13px;font-family:inherit}input:focus,select:focus{outline:2px solid var(--brand);outline-offset:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px;box-shadow:var(--shadow)}.card.flush{padding:0;overflow:hidden}.tile .tile-top{display:flex;align-items:center;justify-content:space-between}.tile .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px}.tile .value{font-size:34px;font-weight:700;margin:8px 0 4px}.tile .sub{color:var(--muted);font-size:12px}.tile.link{cursor:pointer;transition:border-color .15s,transform .1s}.tile.link:hover{border-color:var(--brand)}.tile.crit .value{color:var(--critical)}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin:28px 0 12px;font-weight:600}.plane-row{display:grid;grid-template-columns:170px 1fr 110px 90px;align-items:center;gap:14px;padding:9px 0}.bar{height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .4s ease}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:7px}.dot.online,.dot.ok{background:var(--success)}.dot.offline{background:var(--critical)}.dot.degraded,.dot.unknown{background:var(--warn)}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--border)}.chip.src{color:var(--info);border-color:color-mix(in srgb,var(--info) 50%,transparent)}.chip.intent{color:var(--brand-2);border-color:color-mix(in srgb,var(--brand-2) 50%,transparent)}.chip.delivery{color:var(--success);border-color:color-mix(in srgb,var(--success) 50%,transparent)}.chip.off{color:var(--muted);opacity:.5}button.chip{cursor:pointer;background:transparent;transition:border-color .12s ease,color .12s ease,background .12s ease}button.chip:hover{border-color:var(--brand)}.chip.active{color:var(--brand);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent)}.tag{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--surface-2);color:var(--muted)}.sev{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.sev.info{color:var(--info)}.sev.warn{color:var(--warn)}.sev.critical{color:var(--critical)}.tick{font-weight:700}.tick.on{color:var(--success)}.tick.off{color:var(--muted);opacity:.4}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px}tbody tr.click:hover{background:var(--surface-2);cursor:pointer}tbody tr:last-child td{border-bottom:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:20;animation:fade .15s ease}.drawer{position:fixed;right:0;top:0;height:100%;width:580px;max-width:92vw;background:var(--surface);border-left:1px solid var(--border);z-index:21;padding:22px;overflow-y:auto;box-shadow:-8px 0 30px #0006;animation:slide .18s ease}@keyframes slide{0%{transform:translate(30px);opacity:.6}}@keyframes fade{0%{opacity:0}}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.plane-block{border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;margin:10px 0}.plane-block .head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.kv{display:grid;grid-template-columns:120px 1fr;gap:5px 12px;font-size:13px;padding:4px 0}.kv .k{color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.spacer{flex:1}.row{display:flex;align-items:center;gap:10px}.empty{text-align:center;color:var(--muted);padding:64px 20px}.empty .big{font-size:44px;margin-bottom:10px}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:6px;height:14px}@keyframes sk{to{background-position:-200% 0}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.banner{padding:11px 14px;border-radius:var(--radius-ctl);margin-bottom:14px;font-size:13px;display:flex;align-items:center;gap:9px}.banner.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn) 55%,transparent);color:var(--warn)}.banner.crit{background:color-mix(in srgb,var(--critical) 14%,transparent);border:1px solid color-mix(in srgb,var(--critical) 55%,transparent);color:var(--critical)}.diff{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:10px 12px;font-size:12px}.diff-line{display:flex;gap:8px;padding:2px 0;align-items:baseline}.diff-line .diff-sign{width:12px;font-weight:700}.diff-line.add{color:var(--success)}.diff-line.del{color:var(--critical)}.diff-line .diff-k{color:var(--muted);min-width:130px}.action-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:16px 18px;margin-bottom:14px}.action-card.crit{border-color:color-mix(in srgb,var(--critical) 55%,var(--border))}.action-card .ac-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.action-card .ac-title{font-weight:600;flex:1}.action-card .ac-fix{color:var(--muted);margin:4px 0 10px;font-size:13px}.action-card .ac-actions{display:flex;gap:8px;margin-top:12px;align-items:center}.toast-wrap{position:fixed;bottom:18px;right:18px;z-index:40;display:flex;flex-direction:column;gap:10px;max-width:380px}.toast{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-ctl);padding:11px 14px;font-size:13px;box-shadow:0 6px 24px #00000059;cursor:pointer;animation:toastin .18s ease}@keyframes toastin{0%{transform:translate(20px);opacity:0}}.toast.success{border-left-color:var(--success)}.toast.success svg{color:var(--success)}.toast.error{border-left-color:var(--critical)}.toast.error svg{color:var(--critical)}.toast.info{border-left-color:var(--info)}.toast.info svg{color:var(--info)}.confirm-bar{position:sticky;bottom:16px;display:flex;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--brand);border-radius:var(--radius-card);padding:12px 18px;box-shadow:0 6px 24px #00000059;margin-top:16px}.kbd-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:30;display:flex;align-items:center;justify-content:center;animation:fade .15s ease}.kbd-card{width:420px;max-width:92vw}.kbd-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border)}.kbd-row:last-child{border-bottom:none}kbd{font-family:ui-monospace,monospace;font-size:11px;background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:2px 7px;margin-left:4px}.md{font-size:14px;line-height:1.65;color:var(--text)}.md>:first-child{margin-top:0}.md h1{font-size:24px;margin:4px 0 12px}.md h2{font-size:19px;margin:28px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.md h3{font-size:16px;margin:20px 0 8px}.md p{margin:10px 0}.md a{color:var(--brand)}.md ul,.md ol{padding-left:22px;margin:10px 0}.md li{margin:4px 0}.md code{font-family:ui-monospace,Cascadia Code,monospace;font-size:12.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px}.md pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:14px;overflow-x:auto}.md pre code{background:none;border:none;padding:0;font-size:12.5px}.md blockquote{margin:12px 0;padding:4px 14px;border-left:3px solid var(--brand);color:var(--muted)}.md table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.md th,.md td{border:1px solid var(--border);padding:7px 10px;text-align:left}.md th{background:var(--surface-2);text-transform:none;letter-spacing:0}.md hr{border:none;border-top:1px solid var(--border);margin:20px 0}.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:18px}.tabs .tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);border-radius:0;padding:9px 14px;font-weight:600;font-size:13px}.tabs .tab:hover{color:var(--text);filter:none}.tabs .tab.active{color:var(--brand);border-bottom-color:var(--brand)}.error-wrap{text-align:center;padding:64px 20px}.error-code{font-size:88px;font-weight:800;line-height:1;letter-spacing:1px;background:linear-gradient(90deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%}.login-card{width:350px}.login-card h1{text-align:center;margin-bottom:2px}.login-card .sub{text-align:center;margin:0 0 16px}.login-card input{width:100%;margin:7px 0}.login-card button{width:100%;margin-top:10px;justify-content:center}.err{color:var(--critical);font-size:13px;min-height:18px;text-align:center}@media (max-width: 1024px){:root{--sidebar-w: 60px}.nav a .nav-label,.brand .brand-txt{display:none}}
