:root{--bg:#f4f6fa;--surface:#fff;--line:#e3e8f0;--text:#172238;--muted:#748096;--blue:#2563eb;--navy:#101c33;--red:#c83b46;--amber:#936013;--success:#167449}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #93b4ff}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}.sidebar{background:var(--navy);color:#fff;z-index:5;flex-direction:column;width:224px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:.07em;align-items:center;gap:11px;font-size:12px;font-weight:750;display:flex}.mark{color:#dbeafe;letter-spacing:-3px;background:#2b4c83;border-radius:9px;place-items:center;width:34px;height:34px;padding-right:3px;font-size:16px;display:grid}.brand small{letter-spacing:.2em;color:#8499bb;margin-top:2px;font-size:9px;font-weight:500;display:block}.nav-label{letter-spacing:.16em;color:#7f94b6;margin:48px 12px 13px;font-size:9px}.nav-link{color:#b4c1d8;border-radius:7px;align-items:center;gap:11px;margin:3px 0;padding:11px 12px;font-size:12px;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#213253}.nav-icon{text-align:center;width:19px;font-size:16px}.sidebar-bottom{color:#8ea1bd;border-top:1px solid #2a3850;margin-top:auto;padding:20px 10px 0;font-size:10px}.sidebar-bottom strong{color:#dce6f7;margin-bottom:5px;font-size:11px;display:block}.shell{margin-left:224px}.topbar{border-bottom:1px solid var(--line);background:#ffffffd9;justify-content:space-between;align-items:center;gap:15px;height:74px;padding:0 36px;display:flex}.breadcrumb{color:var(--muted);font-size:11px}.breadcrumb span{color:var(--text);margin-left:8px}.top-actions{align-items:center;gap:20px;display:flex}.live{color:#5b6a80;align-items:center;gap:7px;font-size:11px;display:inline-flex}.dot{background:var(--success);border-radius:50%;width:6px;height:6px}.wrap{max-width:1440px;margin:auto;padding:34px 36px 20px}.hero{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-size:10px;font-weight:650}h1{letter-spacing:-.045em;margin:8px 0 9px;font-size:30px;font-weight:650;line-height:1.2}.sub{color:var(--muted);margin:0;font-size:12px}.hero-buttons{align-items:center;gap:9px;display:flex}.button{border:1px solid var(--line);color:#4c5b72;white-space:nowrap;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:9px 13px;font-size:11px;font-weight:550;display:inline-flex}.button:hover{background:#f5f8ff;border-color:#b7c8e6}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 7px #2563eb1c}.button.primary:hover{background:#1c53cd}.button.danger{color:#fff;background:var(--red);border-color:var(--red)}.button.ghost{background:0 0;border-color:#0000}.summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px;display:grid}.metric{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px 21px}.metric-top{justify-content:space-between;align-items:center;display:flex}.metric-label{color:#67758b;font-size:11px}.metric-icon{color:#5c7db4;background:#edf3ff;border-radius:7px;place-items:center;width:27px;height:27px;font-size:13px;display:grid}.metric-value{letter-spacing:-.045em;margin-top:11px;font-size:28px;line-height:1.2}.metric small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:24px;scroll-margin-top:20px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:21px 23px;display:flex}h2{letter-spacing:-.01em;margin:0;font-size:13px;font-weight:650}.tag{border:1px solid var(--line);color:var(--muted);background:#f8faff;border-radius:5px;margin-left:6px;padding:3px 7px;font:10px ui-monospace,SFMono-Regular,monospace}.table-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:14px 23px;display:flex}.search{border:1px solid var(--line);width:100%;max-width:290px;color:var(--muted);border-radius:7px;align-items:center;gap:8px;padding:8px 11px;display:flex}.search input{width:100%;color:var(--text);background:0 0;border:0;outline:none;font-size:11px}.search input:focus-visible{outline:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{color:#8590a1;letter-spacing:.07em;text-transform:uppercase;border-top:1px solid var(--line);background:#f9fafc;padding:12px 23px;font-size:9px;font-weight:550}td{border-top:1px solid var(--line);padding:19px 23px;font-size:11px}td:first-child{font-size:12px;font-weight:600}.db-sub{color:var(--muted);margin-top:3px;font-size:9px;font-weight:400;display:block}tr:hover td{background:#fbfcff}.pill{color:var(--success);white-space:nowrap;background:#eef8f2;border:1px solid #d7eddf;border-radius:5px;align-items:center;gap:6px;padding:4px 8px;font-size:9px;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.pill.warn{color:var(--amber);background:#fff8ec;border-color:#f0e2c8}.pill.bad{color:var(--red);background:#fff2f2;border-color:#f5d7d9}.row-actions{align-items:center;gap:6px;display:flex}.row-actions .button{min-height:29px;padding:6px 9px;font-size:10px}.open{color:var(--blue)}.deploy-content{grid-template-columns:1fr auto;gap:24px;padding:23px;display:grid}.deploy-title{letter-spacing:-.02em;margin-bottom:6px;font-size:15px}.deploy-detail{color:var(--muted);font-size:11px}.steps{gap:8px;margin:23px 0 2px;display:flex}.step{flex:1}.step-bar{background:#edf0f5;border-radius:5px;height:3px;margin-bottom:8px}.step.active .step-bar{background:#5c87ed}.step span{color:var(--muted);font-size:9px}.step.active span{color:#40516b}.services{border-top:1px solid var(--line);background:#fcfdff;border-radius:0 0 10px 10px;flex-wrap:wrap;gap:18px;padding:15px 23px;display:flex}.service{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.service i{background:var(--success);border-radius:50%;width:5px;height:5px}.service.down i{background:var(--amber)}.notice{color:var(--amber);background:#fff9ee;border:1px solid #efdfbd;border-radius:7px;margin-bottom:20px;padding:12px 15px;font-size:11px}.notice.info{color:#345e9d;background:#edf4ff;border-color:#d6e4fd}.empty{text-align:center;color:var(--muted);padding:35px}footer{color:#8b96a6;justify-content:space-between;gap:15px;padding:0 0 14px;font-size:10px;display:flex}.mono{font-family:ui-monospace,SFMono-Regular,monospace}.updated{color:var(--muted);font-size:10px}dialog{border:1px solid var(--line);width:min(580px,100% - 28px);max-height:calc(100vh - 50px);color:var(--text);background:#fff;border-radius:13px;padding:0;box-shadow:0 24px 90px #0f172a30}dialog::backdrop{backdrop-filter:blur(3px);background:#101c3360}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding:24px 26px 17px;display:flex}.dialog-head h2{letter-spacing:-.025em;font-size:18px}.dialog-head p{color:var(--muted);margin:6px 0 0;font-size:11px}.close{color:var(--muted);background:0 0;border:0;padding:0 3px;font-size:22px;line-height:1}.dialog-body{padding:22px 26px}.fields{grid-template-columns:1fr 1fr;gap:17px 15px;display:grid}.field{flex-direction:column;gap:6px;font-size:11px;display:flex}.field.full{grid-column:1/-1}.field label{font-weight:550}.field input,.field select{color:var(--text);background:#fff;border:1px solid #dce3ed;border-radius:7px;width:100%;min-height:38px;padding:10px 11px;font-size:12px}.field input[readonly]{color:var(--muted);background:#f6f8fb}.field small{color:var(--muted);font-size:10px}.checks{flex-direction:column;grid-column:1/-1;gap:12px;display:flex}.check{color:#56657c;align-items:flex-start;gap:9px;font-size:11px;display:flex}.check input{accent-color:var(--blue);width:14px;height:14px;margin:2px 0}.check small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.dialog-actions{border-top:1px solid var(--line);background:#fafbfd;justify-content:flex-end;gap:8px;padding:17px 26px;display:flex}.form-error{color:var(--red);background:#fff3f3;border:1px solid #f4d4d6;border-radius:6px;margin:0 0 18px;padding:11px 13px;font-size:11px}.hint{color:#64738a;background:#f3f6fb;border-radius:6px;margin:0 0 18px;padding:11px 13px;font-size:11px}.danger-hint{color:#a43641;background:#fff4f4}.menu-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu-action{text-align:left;border:1px solid var(--line);color:#35445c;background:#fff;border-radius:8px;padding:17px}.menu-action:hover{background:#f8faff;border-color:#9eb9ef}.menu-action strong{margin-bottom:5px;font-size:12px;display:block}.menu-action small{color:var(--muted);font-size:10px}.menu-action.destructive strong{color:var(--red)}.progress-note{color:var(--blue);margin-top:14px;font-size:11px}.toast{background:var(--navy);color:#fff;z-index:20;border-radius:9px;max-width:440px;padding:15px 20px;font-size:12px;position:fixed;bottom:24px;right:28px;box-shadow:0 8px 30px #14223e26}.inline-button{color:var(--blue);text-align:right;background:0 0;border:0;padding:0;font-size:10px}[hidden]{display:none!important}@media (width<=1150px){.sidebar{width:185px;padding:26px 15px}.shell{margin-left:185px}.wrap{padding:28px 24px}.topbar{padding:0 24px}td,th{padding-left:17px;padding-right:17px}.hero-buttons{flex-wrap:wrap;justify-content:flex-end}}@media (width<=850px){.sidebar{width:68px;padding:23px 12px}.brand{justify-content:center}.brand-copy,.nav-copy,.nav-label,.sidebar-bottom{display:none}.nav-link{justify-content:center;padding:12px 0}.nav-link:first-of-type{margin-top:30px}.shell{margin-left:68px}.summary{grid-template-columns:repeat(2,1fr)}.hero{align-items:flex-start}.deploy-content{grid-template-columns:1fr}.top-actions{gap:8px}}@media (width<=560px){.sidebar{display:none}.shell{margin:0}.topbar{height:62px;padding:0 16px}.breadcrumb{font-size:10px}.topbar .button{padding:7px;font-size:10px}.live{font-size:9px}.wrap{padding:25px 15px 14px}.hero{flex-direction:column;gap:15px}h1{font-size:26px}.hero-buttons{justify-content:flex-start;width:100%}.summary{gap:9px}.metric{padding:16px}.metric-value{font-size:25px}.metric-icon{display:none}.panel-head{align-items:flex-start;padding:18px 16px}.table-toolbar{padding:13px 16px}.updated{font-size:9px}.deploy-content{padding:18px 16px}.services{gap:12px;padding:15px 16px}.step span{font-size:8px}.fields{grid-template-columns:1fr}.field.full,.checks{grid-column:auto}.dialog-head,.dialog-body{padding:20px}.dialog-actions{padding:16px 20px}.menu-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:4px}.toast{bottom:15px;left:15px;right:15px}th:nth-child(n+3):nth-child(-n+6),td:nth-child(n+3):nth-child(-n+6){display:none}td,th{padding-left:11px;padding-right:11px}.row-actions{gap:4px}.row-actions .button{padding:6px;font-size:9px}.row-actions .open{padding-left:0;padding-right:4px}.db-sub{font-size:8px}td:first-child{font-size:11px}}.ops-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:18px 23px;display:flex}.ops-content{padding:20px 23px}.ops-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:15px;display:flex}.ops-controls>label,.ssh-fields>label{color:var(--muted);flex-direction:column;gap:6px;font-size:10px;display:flex}.ops-controls select,.ssh-fields input{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:6px;min-height:36px;padding:9px;font-size:11px}.ops-controls .check{flex-direction:row;align-self:center;align-items:center;margin-top:17px}.log-output{white-space:pre-wrap;overflow-wrap:anywhere;color:#cbd5e1;background:#101827;border:1px solid #263245;border-radius:8px;height:350px;margin:0;padding:17px;font:11px/1.65 ui-monospace,SFMono-Regular,monospace;overflow:auto}.ssh-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:15px;display:grid}.ssh-fields input{width:100%;font-size:11px}.console-note{color:var(--muted);font-size:11px}.terminal-host{background:#101827;border-radius:8px;min-height:380px;padding:12px}.terminal-host .xterm{height:360px}.ops-content:has(#terminalHost:empty) .terminal-host{min-height:160px}@media (width<=560px){.ops-content{padding:16px}.ops-tabs{padding:15px}.ssh-fields{grid-template-columns:1fr}.ops-controls>label{max-width:100%}.top-actions{gap:1px}.topbar .button{padding:6px;font-size:9px}.terminal-host{padding:7px}.log-output{height:300px}}
