@font-face{font-family:Geist Sans;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Sans;src:url(/fonts/Geist-Italic-Variable.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Italic-Variable.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}:root{--dbs-bg: #0b0e13;--dbs-surface: #12161d;--dbs-surface-2: #0e1219;--dbs-ink: #e7ecf2;--dbs-muted: #98a3b1;--dbs-faint: #5d6875;--dbs-line: #1d2531;--dbs-line-2: #29323f;--dbs-brand: #8b7dff;--dbs-brand-text: #a99cff;--dbs-brand-soft: #191634;--dbs-success: #34d399;--dbs-success-text: #4ee0a4;--dbs-success-soft: #0f2a20;--dbs-ship: #f5893e;--dbs-ship-text: #ffab63;--dbs-ship-soft: #2c1c0f;--dbs-on-accent: #0b0a16;--dbs-warning: #f0b869;--dbs-danger: #e88585;--dbs-info: #7db8ee;--dbs-console: #06080c;--dbs-console-bd: #161d27;--dbs-console-ink: #cdd6e0;--dbs-console-dim: #5a6674;--dbs-log-success: #4ee0a4;--dbs-log-warn: #f0b869;--dbs-log-info: #7db8ee;--dbs-gradient: linear-gradient(135deg, #8b7dff, #6355e6);--dbs-font-sans: "Geist Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--dbs-font-mono: "Geist Mono", ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--dbs-radius-sm: 7px;--dbs-radius: 11px;--dbs-radius-lg: 15px;--dbs-radius-pill: 999px;--dbs-space-1: 4px;--dbs-space-2: 8px;--dbs-space-3: 12px;--dbs-space-4: 16px;--dbs-space-6: 24px;--dbs-space-8: 32px;--dbs-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--dbs-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 34px rgba(0, 0, 0, .45);--dbs-shadow-lg: 0 2px 6px rgba(0, 0, 0, .4), 0 30px 70px rgba(0, 0, 0, .55);--dbs-ease: cubic-bezier(.2, .6, .2, 1);--dbs-dur-fast: .12s;--dbs-dur: .2s;--dbs-hover: rgba(255, 255, 255, .03);--dbs-danger-soft: #2a1518;--dbs-info-soft: #10202e}:root[data-theme=light]{--dbs-bg: #f6f7f9;--dbs-surface: #ffffff;--dbs-surface-2: #eef1f5;--dbs-ink: #0f1622;--dbs-muted: #5a6675;--dbs-faint: #8a94a3;--dbs-line: #e7eaf0;--dbs-line-2: #d4dae3;--dbs-brand-text: #5346d8;--dbs-brand-soft: #ecebfb;--dbs-success-text: #0a8f63;--dbs-success-soft: #e6f6ee;--dbs-ship-text: #c2631f;--dbs-ship-soft: #fbeadd;--dbs-warning: #b5811f;--dbs-danger: #c0392b;--dbs-danger-soft: #fbeae8;--dbs-info: #2f7fce;--dbs-info-soft: #e7f1fb;--dbs-hover: rgba(15, 22, 34, .04);--dbs-shadow-sm: 0 1px 2px rgba(15, 22, 34, .06);--dbs-shadow: 0 1px 2px rgba(15, 22, 34, .06), 0 10px 30px rgba(15, 22, 34, .08);--dbs-shadow-lg: 0 2px 6px rgba(15, 22, 34, .08), 0 24px 60px rgba(15, 22, 34, .12)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--dbs-bg);color:var(--dbs-ink);font-family:var(--dbs-font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.mono{font-family:var(--dbs-font-mono)}a{color:inherit}.app{display:grid;grid-template-columns:232px 1fr;min-height:100%}.sidebar{background:var(--dbs-surface-2);border-right:1px solid var(--dbs-line);padding:var(--dbs-space-6) var(--dbs-space-4);display:flex;flex-direction:column;gap:var(--dbs-space-6);position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--dbs-space-3);font-weight:650;letter-spacing:-.01em}.brand .mark{width:26px;height:26px;border-radius:6px;background:#0b0e13 url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22bi%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%239a8dff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%236355e6%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22bs%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23ffb06a%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23ef7d2c%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2215%22%20fill%3D%22%230b0e13%22%2F%3E%3Cg%20transform%3D%22translate(3%2C1)%20skewX(-9)%22%3E%3Crect%20x%3D%2212%22%20y%3D%2237%22%20width%3D%2230%22%20height%3D%2210%22%20rx%3D%223.5%22%20fill%3D%22url(%23bi)%22%2F%3E%3Crect%20x%3D%2217%22%20y%3D%2225%22%20width%3D%2230%22%20height%3D%2210%22%20rx%3D%223.5%22%20fill%3D%22url(%23bi)%22%2F%3E%3Crect%20x%3D%2222%22%20y%3D%2213%22%20width%3D%2230%22%20height%3D%2210%22%20rx%3D%223.5%22%20fill%3D%22url(%23bs)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/cover no-repeat;box-shadow:0 0 0 1px #8b7dff4d,0 6px 16px #8b7dff33}.nav{display:flex;flex-direction:column;gap:2px}.nav button,.nav a{all:unset;cursor:pointer;display:flex;align-items:center;gap:var(--dbs-space-3);padding:9px var(--dbs-space-3);border-radius:var(--dbs-radius-sm);color:var(--dbs-muted);font-size:13px;text-decoration:none;transition:background var(--dbs-dur-fast) var(--dbs-ease),color var(--dbs-dur-fast)}.nav button:hover,.nav a:hover{color:var(--dbs-ink);background:var(--dbs-hover)}.nav button.active,.nav a.active{color:var(--dbs-brand-text);background:var(--dbs-brand-soft)}.nav button.active .nav-icon,.nav a.active .nav-icon{color:var(--dbs-brand-text)}.nav-icon{display:inline-flex;align-items:center;flex:none;color:var(--dbs-faint)}.nav button:hover .nav-icon,.nav a:hover .nav-icon{color:var(--dbs-ink)}.sidebar .spacer{flex:1}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.collapse-btn{all:unset;cursor:pointer;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--dbs-radius-sm);color:var(--dbs-muted);flex:none;transition:color var(--dbs-dur-fast),background var(--dbs-dur-fast)}.collapse-btn:hover{color:var(--dbs-ink);background:var(--dbs-hover)}.app.collapsed{grid-template-columns:64px 1fr}.collapsed .sidebar{padding:var(--dbs-space-6) var(--dbs-space-2)}.collapsed .sidebar-head{justify-content:center}.collapsed .nav button,.collapsed .nav a{justify-content:center;padding:9px 0;gap:0}.collapsed .user-box{align-items:center}.admin-tabs{display:flex;gap:2px;border-bottom:1px solid var(--dbs-line);margin-bottom:24px;flex-wrap:wrap}.admin-tabs button,.admin-tabs a{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;text-decoration:none;padding:9px 14px;font-size:13.5px;font-weight:500;color:var(--dbs-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dbs-dur-fast) var(--dbs-ease),border-color var(--dbs-dur-fast) var(--dbs-ease)}.admin-tabs button:hover,.admin-tabs a:hover{color:var(--dbs-ink)}.admin-tabs button.active,.admin-tabs a.active{color:var(--dbs-brand-text);border-bottom-color:var(--dbs-brand)}.main{display:flex;flex-direction:column;min-width:0}.main-content{padding:var(--dbs-space-8);max-width:1080px;width:100%}.page-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--dbs-space-6)}.page-head h1{font-size:20px;font-weight:650;letter-spacing:-.02em;margin:0}.page-head .sub{color:var(--dbs-faint);font-size:13px}.card{background:var(--dbs-surface);border:1px solid var(--dbs-line);border-radius:var(--dbs-radius);box-shadow:var(--dbs-shadow-sm)}.card.pad{padding:var(--dbs-space-6)}.grid{display:grid;gap:var(--dbs-space-4)}.row{display:flex;align-items:center;gap:var(--dbs-space-3)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--dbs-radius-pill);font-size:12px;font-weight:550;font-family:var(--dbs-font-mono)}.pill .dot{width:7px;height:7px;border-radius:50%}.pill.ok{color:var(--dbs-success-text);background:var(--dbs-success-soft)}.pill.ok .dot{background:var(--dbs-success)}.pill.run{color:var(--dbs-info);background:var(--dbs-info-soft)}.pill.run .dot{background:var(--dbs-info);animation:pulse 1.2s var(--dbs-ease) infinite}.pill.fail{color:var(--dbs-danger);background:var(--dbs-danger-soft)}.pill.fail .dot{background:var(--dbs-danger)}.pill.ship{color:var(--dbs-ship-text);background:var(--dbs-ship-soft)}.pill.ship .dot{background:var(--dbs-ship)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.spine{display:flex;align-items:stretch;padding:var(--dbs-space-6) var(--dbs-space-4);overflow-x:auto}.stage{display:flex;flex-direction:column;align-items:center;min-width:96px;position:relative}.stage .node{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--dbs-line-2);background:var(--dbs-surface-2);color:var(--dbs-faint);font-size:14px;z-index:1;transition:all var(--dbs-dur) var(--dbs-ease)}.stage .label{margin-top:var(--dbs-space-3);font-size:11px;color:var(--dbs-faint);font-family:var(--dbs-font-mono);text-align:center}.stage .connector{position:absolute;top:17px;left:50%;width:100%;height:2px;background:var(--dbs-line);z-index:0}.stage:last-child .connector{display:none}.stage.done .node{border-color:var(--dbs-success);background:var(--dbs-success-soft);color:var(--dbs-success-text)}.stage.done .connector{background:var(--dbs-success)}.stage.done .label{color:var(--dbs-muted)}.stage.active .node{border-color:var(--dbs-info);color:var(--dbs-info);box-shadow:0 0 0 4px var(--dbs-info-soft)}.stage.active .label{color:var(--dbs-info)}.stage.active .node.pulsing{animation:pulse 1.2s var(--dbs-ease) infinite}.stage.fail .node{border-color:var(--dbs-danger);background:var(--dbs-danger-soft);color:var(--dbs-danger)}.stage.fail .label{color:var(--dbs-danger)}.stage.ship.done .node{border-color:var(--dbs-ship);background:var(--dbs-ship-soft);color:var(--dbs-ship-text)}.stage.ship.done .connector{background:var(--dbs-ship)}.stage.ship.active .node{border-color:var(--dbs-ship);color:var(--dbs-ship-text);box-shadow:0 0 0 4px var(--dbs-ship-soft)}.rollout{padding:var(--dbs-space-4) var(--dbs-space-6);border-top:1px solid var(--dbs-line)}.rollout .track-name{font-family:var(--dbs-font-mono);font-size:12px;color:var(--dbs-ship-text)}.rollout .bar{height:8px;border-radius:var(--dbs-radius-pill);background:var(--dbs-surface-2);overflow:hidden;margin-top:var(--dbs-space-2)}.rollout .bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--dbs-ship),#ffab63);border-radius:inherit;transition:width var(--dbs-dur) var(--dbs-ease)}.console{background:var(--dbs-console);border:1px solid var(--dbs-console-bd);border-radius:var(--dbs-radius);font-family:var(--dbs-font-mono);font-size:12.5px;color:var(--dbs-console-ink);padding:var(--dbs-space-4);max-height:320px;overflow:auto;line-height:1.7}.console .ts{color:var(--dbs-console-dim);margin-right:10px}.console .l-ok{color:var(--dbs-log-success)}.console .l-warn{color:var(--dbs-log-warn)}.console .l-info{color:var(--dbs-log-info)}.list{width:100%;border-collapse:collapse;min-width:680px}:has(>table.list){overflow-x:auto}.list th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dbs-muted);padding:13px var(--dbs-space-4);border-bottom:1px solid var(--dbs-line);font-weight:600;white-space:nowrap}.list td{padding:15px var(--dbs-space-4);border-bottom:1px solid var(--dbs-line);vertical-align:middle}.list tbody tr{transition:background var(--dbs-dur-fast) var(--dbs-ease)}.list tbody tr:hover td{background:var(--dbs-hover)}.list tr:last-child td{border-bottom:0}.list tr.click{cursor:pointer}.btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--dbs-radius-sm);font-size:13px;font-weight:560;border:1px solid var(--dbs-line-2);color:var(--dbs-ink);background:var(--dbs-surface);transition:all var(--dbs-dur-fast) var(--dbs-ease)}.btn:hover{border-color:var(--dbs-line-2);background:var(--dbs-hover)}.btn.primary{background:var(--dbs-brand);color:var(--dbs-on-accent);border-color:transparent}.btn.primary:hover{filter:brightness(1.06)}.btn.ship{background:var(--dbs-ship);color:var(--dbs-on-accent);border-color:transparent}.btn.ship:hover{filter:brightness(1.06)}.btn.danger{color:var(--dbs-danger);border-color:var(--dbs-danger);background:transparent}.btn.danger:hover{border-color:var(--dbs-danger);background:var(--dbs-danger-soft)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{padding:7px;color:var(--dbs-muted)}.icon-btn:hover,.icon-btn.active{color:var(--dbs-ink);background:var(--dbs-hover)}.menu-pop{position:fixed;z-index:60;min-width:184px;padding:6px;background:var(--dbs-surface);border:1px solid var(--dbs-line-2);border-radius:var(--dbs-radius-sm);box-shadow:var(--dbs-shadow-lg);display:flex;flex-direction:column;gap:1px;max-height:calc(100vh - 24px);overflow-y:auto}.menu-item{all:unset;cursor:pointer;display:flex;align-items:center;box-sizing:border-box;width:100%;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--dbs-ink);transition:background var(--dbs-dur-fast) var(--dbs-ease)}.menu-item:hover:not(:disabled){background:var(--dbs-hover)}.menu-item:disabled{opacity:.4;cursor:not-allowed}.menu-item.danger{color:var(--dbs-danger)}.menu-item.danger:hover:not(:disabled){background:var(--dbs-danger-soft)}.menu-sep{height:1px;background:var(--dbs-line);margin:5px 6px}.linkish{all:unset;cursor:pointer;display:inline-block;font-size:13px;color:var(--dbs-info)}.linkish:hover{text-decoration:underline}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid var(--dbs-line);border-radius:var(--dbs-radius-sm);background:var(--dbs-surface-2)}.recovery-code{font-size:14px;letter-spacing:.06em;text-align:center;color:var(--dbs-ink)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--dbs-space-4)}.field label{font-size:12px;color:var(--dbs-muted)}.field input,.field select{width:100%;background:var(--dbs-surface-2);border:1px solid var(--dbs-line-2);border-radius:var(--dbs-radius-sm);color:var(--dbs-ink);padding:9px var(--dbs-space-3);font-size:13px;font-family:inherit}.field input:focus,.field select:focus{outline:none;border-color:var(--dbs-brand);box-shadow:0 0 0 3px var(--dbs-brand-soft)}.field .err{color:var(--dbs-danger);font-size:12px}.field.invalid input,.field.invalid select{border-color:var(--dbs-danger)}.pw-wrap{position:relative;display:block}.pw-wrap input{padding-right:40px;width:100%}.pw-eye{all:unset;position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;padding:5px;border-radius:6px;cursor:pointer;color:var(--dbs-faint);transition:color var(--dbs-dur-fast) var(--dbs-ease),background var(--dbs-dur-fast) var(--dbs-ease)}.pw-eye:hover{color:var(--dbs-ink);background:var(--dbs-hover)}.pw-caps{margin:6px 0 0;font-size:11px;font-weight:600;color:var(--dbs-warning)}.pw-strength{margin-top:8px;display:flex;flex-direction:column;gap:5px}.pw-bars{display:flex;gap:4px}.pw-bar{height:4px;flex:1;border-radius:999px;background:var(--dbs-line-2);transition:background .12s}.pw-bar.on1{background:var(--dbs-danger)}.pw-bar.on2{background:var(--dbs-warning)}.pw-bar.on3,.pw-bar.on4{background:var(--dbs-success)}.pw-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px}.pw-label{font-weight:600}.pw-label.s0,.pw-label.s1{color:var(--dbs-danger)}.pw-label.s2{color:var(--dbs-warning)}.pw-label.s3,.pw-label.s4{color:var(--dbs-success-text)}.pw-hint{color:var(--dbs-faint);text-align:right}.pw-match{display:block;margin-top:6px;font-size:12px}.pw-match.ok{color:var(--dbs-success-text)}.pw-match.no{color:var(--dbs-warning)}.checks{display:flex;flex-wrap:wrap;gap:var(--dbs-space-4)}.checks label{display:inline-flex;align-items:center;gap:7px;color:var(--dbs-muted);font-size:13px}.meter .bar{height:10px;border-radius:var(--dbs-radius-pill);background:var(--dbs-surface-2);overflow:hidden}.meter .bar>span{display:block;height:100%;background:var(--dbs-gradient)}.meter.warn .bar>span{background:linear-gradient(90deg,var(--dbs-warning),var(--dbs-ship))}.muted{color:var(--dbs-muted)}.faint{color:var(--dbs-faint)}.app-loading{min-height:100vh;background:var(--dbs-bg)}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--dbs-bg);padding:24px}.login-card{width:100%;max-width:380px;background:var(--dbs-surface);border:1px solid var(--dbs-line);border-radius:var(--dbs-radius-lg);box-shadow:var(--dbs-shadow);padding:var(--dbs-space-8)}.login-card h1{font-size:22px;font-weight:650;letter-spacing:-.02em}.login-divider{display:flex;align-items:center;gap:12px;color:var(--dbs-faint);font-size:12px;margin:16px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--dbs-line)}.auth-split{display:flex;min-height:100vh;background:var(--dbs-bg)}.auth-brand{display:none;position:relative;overflow:hidden;width:44%;max-width:520px;flex-direction:column;padding:44px;color:#fff;background:var(--dbs-gradient)}.auth-brand .brand{color:#fff}.auth-brand .brand .mark{box-shadow:0 0 0 1px #ffffff40,0 4px 14px #0000004d}.auth-glow{position:absolute;right:-110px;top:22%;width:340px;height:340px;border-radius:999px;background:#ffffff1a;filter:blur(64px);pointer-events:none}.auth-hero{margin:auto 0;position:relative}.auth-hero h2{margin:0;font-size:30px;font-weight:650;line-height:1.14;letter-spacing:-.02em;max-width:15ch}.auth-hero p{margin:16px 0 0;max-width:34ch;font-size:15px;line-height:1.6;color:#ffffffd1}.auth-trust{display:flex;align-items:center;gap:10px;position:relative;border-top:1px solid rgba(255,255,255,.16);padding-top:20px;font-size:12.5px;color:#fffc}.auth-trust svg{width:17px;height:17px;flex-shrink:0}.auth-form{flex:1;display:grid;place-items:center;padding:40px 24px;background:var(--dbs-bg)}.auth-form-inner{width:100%;max-width:400px;color:var(--dbs-ink)}.auth-form-inner h1{font-size:22px;font-weight:650;letter-spacing:-.02em}.auth-brand-mobile{margin-bottom:22px}@media(min-width:900px){.auth-brand{display:flex}.auth-brand-mobile{display:none}}.user-box{border-top:1px solid var(--dbs-line);padding-top:var(--dbs-space-4);margin-top:var(--dbs-space-4);display:flex;flex-direction:column;gap:8px}.org-switch{background:var(--dbs-surface-2);border:1px solid var(--dbs-line-2);border-radius:var(--dbs-radius-sm);color:var(--dbs-ink);padding:7px 10px;font-size:13px;font-family:inherit;width:100%}.ctrl-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--dbs-line)}.ctrl-row:last-of-type{border-bottom:none}.ctrl-row .ctrl-meta{min-width:0}.ctrl-row .ctrl-title{font-size:14px;font-weight:550;color:var(--dbs-ink);display:flex;align-items:center;gap:8px}.ctrl-row .ctrl-desc{font-size:12px;color:var(--dbs-muted);margin-top:3px;line-height:1.5;overflow-wrap:anywhere}.sys-hint{font-size:12px;color:var(--dbs-warning);margin-top:5px;line-height:1.5;overflow-wrap:anywhere}.uptime-strip{display:flex;gap:2px;height:22px}.uptime-cell{flex:1;min-width:2px;border-radius:2px;background:var(--dbs-line-2)}.uptime-cell.ok{background:var(--dbs-success)}.uptime-cell.warn{background:var(--dbs-warning)}.uptime-cell.down{background:var(--dbs-danger)}.metric-card{border:1px solid var(--dbs-line);border-radius:var(--dbs-radius-sm);padding:12px 14px}.ctrl-row .ctrl-title .mono{margin-left:0}.switch{flex:none;width:44px;height:24px;border-radius:999px;border:1px solid var(--dbs-line-2);background:var(--dbs-surface-2);position:relative;cursor:pointer;transition:background .12s,border-color .12s;padding:0}.switch:disabled{opacity:.5;cursor:not-allowed}.switch .switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--dbs-ink);transition:transform .14s ease}.switch.on{background:var(--dbs-brand);border-color:var(--dbs-brand)}.switch.on.danger{background:var(--dbs-danger);border-color:var(--dbs-danger)}.switch.on .switch-knob{transform:translate(20px);background:#fff}.logbox{background:var(--dbs-console);border:1px solid var(--dbs-console-bd);border-radius:var(--dbs-radius-sm);padding:12px 14px;margin:0;max-height:55vh;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6;color:var(--dbs-console-ink);white-space:pre-wrap;word-break:break-word}.kv-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--dbs-line)}.kv-row:last-child{border-bottom:none}.kv-k{font-size:13px;color:var(--dbs-muted)}.kv-v{font-size:13px;color:var(--dbs-ink)}.main-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px var(--dbs-space-8);border-bottom:1px solid var(--dbs-line);background:var(--dbs-bg)}@media(min-width:761px)and (max-width:1024px){.app{grid-template-columns:200px 1fr}}@media(max-width:760px){.app,.app.collapsed{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--dbs-line);gap:var(--dbs-space-3);position:static;height:auto;overflow:visible}.collapsed .nav button{justify-content:flex-start;padding:9px var(--dbs-space-3);gap:var(--dbs-space-3)}.nav{flex-direction:row;flex-wrap:wrap}.sidebar .spacer{display:none}.main-content{padding:var(--dbs-space-4);max-width:none}.main-topbar{padding:10px var(--dbs-space-4)}.card{overflow-x:auto}.list{min-width:560px}}.bell{position:relative}.bell-btn{position:relative;background:transparent;border:1px solid var(--dbs-line-2);border-radius:var(--dbs-radius-sm);color:var(--dbs-muted);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.bell-btn:hover{color:var(--dbs-ink);border-color:var(--dbs-line)}.bell-badge{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--dbs-danger);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.bell-panel{position:absolute;right:0;top:42px;width:320px;max-height:420px;overflow-y:auto;z-index:40;background:var(--dbs-surface);border:1px solid var(--dbs-line-2);border-radius:var(--dbs-radius-md);box-shadow:var(--dbs-elev-2, 0 8px 30px rgba(0,0,0,.4))}.bell-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--dbs-line)}.bell-list{display:flex;flex-direction:column}.bell-item{text-align:left;background:transparent;border:none;border-bottom:1px solid var(--dbs-line);padding:11px 14px;cursor:pointer;color:var(--dbs-ink)}.bell-item:hover{background:var(--dbs-surface-2)}.bell-item.unread{background:var(--dbs-brand-soft)}.bell-item-title{font-size:13px;font-weight:550}.bell-item-body{font-size:12px;color:var(--dbs-muted);margin-top:2px}.bell-item-time{font-size:11px;color:var(--dbs-faint, var(--dbs-muted));margin-top:4px}.bell-empty{padding:24px 14px;text-align:center;color:var(--dbs-muted);font-size:13px}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;flex:none;background:var(--dbs-muted)}.status-dot.ok{background:var(--dbs-success)}.status-dot.warn{background:var(--dbs-warning)}.status-dot.down{background:var(--dbs-danger)}.status-dot.skipped{background:var(--dbs-line-2)}.dirty-bar{position:sticky;bottom:0;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--dbs-surface-2);border:1px solid var(--dbs-line-2);border-radius:var(--dbs-radius-sm)}.org-name{font-size:13px;font-weight:550;color:var(--dbs-ink)}.user-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.user-email{font-size:12px;color:var(--dbs-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-btn{all:unset;cursor:pointer;color:var(--dbs-muted);font-size:12px}.link-btn:hover{color:var(--dbs-brand-text)}.user-email{font-size:12.5px;color:var(--dbs-muted)}.logout-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:2px -6px 0;padding:7px 8px;border-radius:var(--dbs-radius-sm);color:var(--dbs-danger);font-size:13px;font-weight:550;transition:background var(--dbs-dur-fast) var(--dbs-ease)}.logout-btn:hover{background:var(--dbs-danger-soft)}.logout-btn svg{color:var(--dbs-danger);flex:none}.collapsed .logout-btn.collapsed-logout{margin:0;align-self:center;justify-content:center;width:32px;height:32px;padding:0}.stat-card{display:flex;flex-direction:column;gap:7px}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--dbs-faint)}.stat{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--dbs-ink);font-variant-numeric:tabular-nums}.stat-sub{font-size:12px;color:var(--dbs-muted)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--dbs-space-4)}.admin-input{background:var(--dbs-surface-2);border:1px solid var(--dbs-line-2);border-radius:var(--dbs-radius-sm);color:var(--dbs-ink);padding:9px var(--dbs-space-3);font-size:13px;font-family:inherit}.admin-input:focus{outline:none;border-color:var(--dbs-brand);box-shadow:0 0 0 3px var(--dbs-brand-soft)}.admin-input::placeholder{color:var(--dbs-faint)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:100;padding:24px}.modal{width:100%;max-width:420px;background:var(--dbs-surface);border:1px solid var(--dbs-line);border-radius:var(--dbs-radius-lg);box-shadow:var(--dbs-shadow);padding:var(--dbs-space-6)}.toast-wrap{position:fixed;top:72px;right:20px;z-index:100;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast{display:flex;align-items:center;gap:9px;cursor:pointer;padding:11px 14px;border-radius:var(--dbs-radius-sm);font-size:13px;background:var(--dbs-surface-2);border:1px solid var(--dbs-line-2);color:var(--dbs-ink);box-shadow:var(--dbs-shadow);animation:toast-in .18s var(--dbs-ease)}.toast-dot{width:8px;height:8px;border-radius:50%;flex:none}.toast-success{border-color:var(--dbs-brand)}.toast-success .toast-dot{background:var(--dbs-brand)}.toast-error{border-color:var(--dbs-danger)}.toast-error .toast-dot{background:var(--dbs-danger)}.toast-info .toast-dot{background:var(--dbs-info)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.minibars{display:flex;align-items:flex-end;gap:4px;height:90px}.minibar{flex:1;height:100%;display:flex;align-items:flex-end;min-width:4px}.minibar-stack{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;border-radius:3px;overflow:hidden;background:var(--dbs-surface-2)}.minibar-fail{display:block;background:var(--dbs-danger)}.minibar-ok{display:block;background:var(--dbs-brand)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--dbs-ink);-webkit-box-shadow:0 0 0 1000px var(--dbs-surface-2) inset;caret-color:var(--dbs-ink);transition:background-color 9999s ease-out 0s}.seg{display:inline-flex;border:1px solid var(--dbs-line-2);border-radius:var(--dbs-radius-sm);overflow:hidden;align-self:flex-start}.seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--dbs-muted);padding:8px 18px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.seg-btn+.seg-btn{border-left:1px solid var(--dbs-line-2)}.seg-btn:hover{color:var(--dbs-ink)}.seg-btn.on{background:var(--dbs-brand);color:var(--dbs-on-accent)}.infra-stack{display:flex;flex-direction:column;gap:16px}.infra-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.infra-stats.g4{grid-template-columns:repeat(4,1fr)}.stat small{font-size:13px;font-weight:500;color:var(--dbs-faint)}.skeleton{background:linear-gradient(90deg,var(--dbs-line) 25%,var(--dbs-line-2) 37%,var(--dbs-line) 63%);background-size:400% 100%;border-radius:6px;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.infra-shead{font-size:14px;font-weight:650;margin:0 0 10px}.sublabel{color:var(--dbs-faint);font-size:12px;font-weight:500;margin-left:6px}.card-ahead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--dbs-line)}.card-ahead.nb{border-bottom:0;padding-bottom:4px}.card.pad>.card-ahead{padding-top:0;padding-left:0;padding-right:0}.card-ahead strong{font-size:14px}.nav-dot{width:7px;height:7px;border-radius:50%;margin-left:auto;flex:none}.tab-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:7px;vertical-align:1px}.nav-dot.crit,.tab-dot.crit{background:var(--dbs-danger);animation:dotpulse 1.3s ease-in-out infinite}.nav-dot.warn,.tab-dot.warn{background:var(--dbs-warning)}@keyframes dotpulse{50%{opacity:.35}}.status-hero{display:flex;align-items:center;gap:16px;padding:18px 20px}.sh-ring{width:54px;height:54px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:750;font-size:15px;font-variant-numeric:tabular-nums}.sh-ring.ok{background:var(--dbs-success-soft);color:var(--dbs-success-text)}.sh-ring.warn{background:var(--dbs-ship-soft);color:var(--dbs-ship-text)}.sh-ring.down{background:var(--dbs-danger-soft);color:var(--dbs-danger)}.sh-body{flex:1;min-width:0}.sh-title{font-size:16px;font-weight:650;letter-spacing:-.01em}.sh-sub{color:var(--dbs-muted);font-size:12.5px;margin-top:1px}.sh-meta{text-align:right;font-size:12px;color:var(--dbs-faint)}.alert-card{border-color:color-mix(in srgb,var(--dbs-danger) 45%,var(--dbs-line))}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check-card{text-align:left;border:1px solid var(--dbs-line);border-radius:10px;padding:12px 14px;background:var(--dbs-surface);cursor:pointer;font:inherit;color:inherit;transition:border-color .12s var(--dbs-ease, ease)}.check-card:hover{border-color:var(--dbs-brand)}.cc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.cc-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.cc-detail{color:var(--dbs-muted);font-size:12px;margin-top:6px}.cc-lat{font-size:11px;color:var(--dbs-faint);margin-top:6px}.range-toggle{display:inline-flex;gap:2px;border:1px solid var(--dbs-line-2);border-radius:7px;padding:2px}.range-toggle button{border:0;background:none;font:inherit;font-size:11.5px;font-weight:600;color:var(--dbs-muted);padding:4px 9px;border-radius:5px;cursor:pointer}.range-toggle button.on{background:var(--dbs-brand);color:var(--dbs-on-accent)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-tile{border:1px solid var(--dbs-line);border-radius:11px;padding:14px;background:var(--dbs-surface)}.mt-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mt-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--dbs-faint);font-weight:600}.mt-value{font-size:24px;font-weight:750;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums}.mt-thr{font-size:10.5px;color:var(--dbs-faint);margin-top:8px}.gauge{position:relative;height:7px;border-radius:999px;background:var(--dbs-line);margin:10px 0 4px}.gauge-fill{height:100%;border-radius:999px}.gauge-tick{position:absolute;top:-2px;width:2px;height:11px;border-radius:1px}.gauge-tick.warn{background:var(--dbs-warning)}.gauge-tick.crit{background:var(--dbs-danger)}.metric-chart{position:relative;margin-top:10px}.mc-svg{width:100%;height:64px;display:block}.mc-empty{font-size:12px;color:var(--dbs-faint);padding:20px 0;text-align:center}.mc-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--dbs-faint);margin-top:2px;font-variant-numeric:tabular-nums}.mc-tip{position:absolute;top:-6px;transform:translate(-50%);background:var(--dbs-ink);color:var(--dbs-surface);font-size:11px;padding:3px 7px;border-radius:6px;white-space:nowrap;pointer-events:none;box-shadow:var(--dbs-shadow-sm)}.mc-tip .faint{color:var(--dbs-line-2)}.log-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:start}.log-h{font-size:12px;color:var(--dbs-faint);font-weight:600;margin-bottom:8px}.log-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:3px 0}.log-row .mono{overflow-wrap:anywhere}.kv-list{margin:0;display:flex;flex-direction:column;gap:10px}.kv-list>div{display:flex;justify-content:space-between;gap:12px}.kv-list dt{color:var(--dbs-faint);font-size:12.5px;margin:0}.kv-list dd{margin:0;font-size:12.5px;text-align:right}@media(max-width:900px){.infra-stats,.infra-stats.g4,.check-grid,.metric-grid,.log-grid{grid-template-columns:1fr}}.rev-wrap{position:relative}.rev-chart{width:100%;height:176px;display:block}.rev-empty{font-size:13px;color:var(--dbs-faint);text-align:center;padding:48px 0}.rev-axis{display:flex;justify-content:space-between;margin-top:6px;font-size:10.5px;color:var(--dbs-faint)}.rev-tip{position:absolute;top:-4px;transform:translate(-50%);background:var(--dbs-ink);color:var(--dbs-surface);font-size:11px;padding:3px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;box-shadow:var(--dbs-shadow-sm)}.rev-tip .faint{color:var(--dbs-line-2)}.dist{display:flex;flex-direction:column;gap:10px;margin-top:6px}.dist-row{display:grid;grid-template-columns:70px 1fr 46px;align-items:center;gap:10px;font-size:12.5px}.dist-row>b{text-align:right;font-variant-numeric:tabular-nums}.dist-track{height:9px;border-radius:999px;background:var(--dbs-line);overflow:hidden}.dist-fill{height:100%;border-radius:999px}.prog{height:8px;border-radius:999px;background:var(--dbs-line);overflow:hidden;min-width:80px}.prog>span{display:block;height:100%;border-radius:999px;background:var(--dbs-brand)}.pill.brand{background:var(--dbs-brand-soft);color:var(--dbs-brand-text)}.pill.muted{color:var(--dbs-faint);background:var(--dbs-surface-2);border:1px solid var(--dbs-line)}.pill.muted .dot{background:var(--dbs-faint)}.thead{display:flex;align-items:center;gap:14px;padding:18px 20px}.tav{width:52px;height:52px;border-radius:13px;flex:none;display:grid;place-items:center;font-weight:750;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--dbs-brand),#9b8bff)}.tmeta{flex:1;min-width:0}.tname{font-size:19px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tsub{color:var(--dbs-muted);font-size:12.5px;margin-top:3px;display:flex;gap:14px;flex-wrap:wrap}.tsub .mono{color:var(--dbs-faint)}.tmeter .tm-lab{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--dbs-muted);margin-bottom:6px}.tmeter .tm-lab b{color:var(--dbs-ink);font-weight:650;font-variant-numeric:tabular-nums}.tm-track{height:8px;border-radius:999px;background:var(--dbs-line);overflow:hidden}.tm-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--dbs-brand),#9b8bff)}.tm-fill.warn{background:var(--dbs-warning)}.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}.kv>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--dbs-line);font-size:12.5px}.kv dt{color:var(--dbs-faint);margin:0}.kv dd{margin:0;font-weight:550;text-align:right}.fieldlbl{font-size:12px;color:var(--dbs-muted);display:block;margin-bottom:5px}@media(max-width:720px){.kv{grid-template-columns:1fr}}.people-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.people-stats.st3{grid-template-columns:repeat(3,1fr)}.pill.admin{color:var(--dbs-ship-text);background:var(--dbs-ship-soft)}.ucell{display:flex;align-items:center;gap:10px}.uav{width:30px;height:30px;border-radius:9px;flex:none;display:grid;place-items:center;font-weight:650;font-size:12px;color:#fff;background:linear-gradient(135deg,var(--dbs-brand),#9b8bff)}.uname{font-weight:560}.uemail{color:var(--dbs-faint);font-size:12px;font-family:var(--dbs-font-mono)}.presence{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--dbs-muted)}.pdot{width:8px;height:8px;border-radius:50%;flex:none}.pdot.on{background:var(--dbs-success)}.pdot.off{background:var(--dbs-line-2)}.udh{display:flex;align-items:center;gap:14px;margin-bottom:14px}.uav-lg{width:52px;height:52px;border-radius:13px;flex:none;display:grid;place-items:center;font-weight:750;font-size:20px;color:#fff}.udh-name{font-size:18px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ud-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--dbs-line);border-bottom:1px solid var(--dbs-line);margin-bottom:6px}.ud-facts>div{display:flex;flex-direction:column;gap:2px}.ud-facts .faint{font-size:11px}.ud-facts b{font-size:13px}.ud-sec{font-size:12px;color:var(--dbs-faint);font-weight:600;margin:16px 0 6px}.ud-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ud-selfnote{margin-top:16px;font-size:12.5px;color:var(--dbs-faint)}.ud-danger{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--dbs-danger) 30%,var(--dbs-line))}@media(max-width:900px){.people-stats,.people-stats.st3,.ud-facts{grid-template-columns:repeat(2,1fr)}}.ov-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.ov-head h1{font-size:20px;font-weight:650;letter-spacing:-.02em;margin:0}.ov-head .sub{color:var(--dbs-faint);font-size:13px}.ov-head-right{display:flex;align-items:center;gap:12px}.ov-stat{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.ov-stat:hover{border-color:var(--dbs-brand)}.stat-sub.crit{color:var(--dbs-danger)}.ov-cols{display:grid;grid-template-columns:1.7fr 1fr;gap:16px}.ov-legend{display:flex;gap:14px;font-size:12px;color:var(--dbs-muted)}.ov-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}.bchart{display:flex;align-items:flex-end;gap:3px;height:150px;margin-top:14px;border-bottom:1px solid var(--dbs-line)}.bchart-empty{height:150px;display:grid;place-items:center;color:var(--dbs-faint);font-size:13px}.bcol{flex:1;min-width:0;display:flex;flex-direction:column-reverse;border-radius:2px 2px 0 0;overflow:hidden}.bseg.ok{background:var(--dbs-success)}.bseg.fail{background:var(--dbs-danger)}.bcol:hover .bseg.ok{filter:brightness(1.08)}.baxis{display:flex;justify-content:space-between;margin-top:8px;font-size:10.5px;color:var(--dbs-faint)}.ov-att{display:flex;flex-direction:column}.ov-att-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;background:none;border:0;border-top:1px solid var(--dbs-line);cursor:pointer;display:flex;align-items:center;gap:12px;padding:11px 0;text-align:left}.ov-att-row:first-child{border-top:0}.ov-att-row:hover .ov-att-go{text-decoration:underline}.ov-att-lbl{flex:1;font-size:13px;font-weight:550}.ov-att-n{font-weight:750;font-variant-numeric:tabular-nums}.ov-att-go{font-size:12px;color:var(--dbs-brand-text);font-weight:600}.ov-allclear{padding:8px 0}@media(max-width:860px){.ov-cols{grid-template-columns:1fr}}.note-add{display:flex;flex-direction:column;gap:8px;align-items:flex-end;margin:12px 0 4px}.note-add textarea.admin-input{width:100%;resize:vertical;min-height:44px;font-family:inherit}.note-list{display:flex;flex-direction:column}.note-item{padding:12px 0;border-top:1px solid var(--dbs-line)}.note-item:first-child{border-top:1px solid var(--dbs-line)}.note-body{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.note-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:11.5px;color:var(--dbs-faint)}
