.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.login-card{width:100%;max-width:340px;padding:28px 28px 24px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3);display:flex;flex-direction:column}.login-logo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;margin-bottom:16px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);box-shadow:0 1px 2px #1d4ed859,inset 0 1px #ffffff59}.login-logo svg{width:16px;height:16px}.login-card h1{font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--t1);margin:0}.login-card .sub{font-size:12.5px;line-height:1.5;color:var(--t3);margin:5px 0 20px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:12px;font-weight:500;color:var(--t2)}.field input{width:100%;padding:8px 11px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface-2);font-size:13.5px;color:var(--t1);transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.field input:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input[aria-invalid=true]{border-color:var(--err)}.field input:disabled{opacity:.6}.login-error{font-size:12px;line-height:1.5;color:var(--err);margin:10px 0 0}.login-error .hint{color:var(--t3)}.login-card button{margin-top:18px;padding:9px 14px;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:500;box-shadow:var(--sh-1);transition:background-color .16s ease,transform .14s var(--ease-out),opacity .14s ease}.login-card button:hover:not(:disabled){background:var(--accent-2)}.login-card button:active:not(:disabled){transform:scale(.98)}.login-card button:disabled{opacity:.5;cursor:default}.veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#17171b38;backdrop-filter:saturate(120%) blur(2px);-webkit-backdrop-filter:saturate(120%) blur(2px);z-index:90}.palette{position:fixed;z-index:91;left:50%;top:17%;translate:-50% 0;width:min(560px,calc(100vw - 40px));background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--sh-pop);overflow:hidden}.palette input{width:100%;background:none;border:0;outline:none;padding:16px 17px;font:15px inherit;font-family:inherit;color:var(--t1);border-bottom:1px solid var(--line);letter-spacing:-.01em}.palette input::placeholder{color:var(--t3)}.pal-list{max-height:302px;overflow-y:auto;padding:6px}.pal-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:9px;font-size:13px;text-align:left;color:var(--t2)}.pal-item svg{width:14px;height:14px;color:var(--t3);flex-shrink:0}.pal-item kbd{margin-left:auto;font:10.5px var(--mono);color:var(--t3);background:var(--surface-2);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px}.pal-item[aria-selected=true]{background:var(--accent-soft);color:var(--t1);font-weight:500}.pal-item[aria-selected=true] svg{color:var(--accent)}.pal-item--confirm,.pal-item--confirm[aria-selected=true]{background:var(--err-soft);color:var(--err);font-weight:500}.pal-item--confirm svg,.pal-item--confirm[aria-selected=true] svg{color:var(--err)}.pal-empty{padding:22px;text-align:center;color:var(--t3);font-size:12.5px}.pal-foot{display:flex;gap:14px;padding:9px 14px;background:var(--surface-2);border-top:1px solid var(--line);font-size:11px;color:var(--t3)}.pal-foot kbd{font:10px var(--mono);background:var(--surface);border:1px solid var(--line-2);border-radius:3px;padding:0 4px;margin-right:4px}.loaderr{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.loaderr-card{max-width:520px;padding:28px 30px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3)}.loaderr-card h1{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--t1);margin:0 0 10px}.loaderr-card .msg{font-size:13.5px;line-height:1.55;color:var(--t2);margin:0}.loaderr-card .hint{font-size:12.5px;line-height:1.55;color:var(--t3);margin:8px 0 0}.loaderr-card .actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.loaderr-card button{padding:8px 14px;border-radius:8px;background:var(--accent);color:#fff;font-size:12.5px;font-weight:500;box-shadow:var(--sh-1);transition:background-color .16s ease,transform .14s var(--ease-out)}.loaderr-card button:hover{background:var(--accent-2)}.loaderr-card button:active{transform:scale(.97)}.loaderr-card .ghost{background:transparent;color:var(--t2);box-shadow:none;border:1px solid var(--line-2)}.loaderr-card .ghost:hover{background:var(--hover);color:var(--t1)}.pulse{position:relative;height:52px;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--line-2);overflow:hidden}.pulse svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.pulse .fade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,var(--surface) 0,var(--surface) 240px,transparent 320px,transparent calc(100% - 90px),var(--surface))}.pulse .label{position:absolute;left:24px;top:50%;translate:0 -50%;display:flex;align-items:center;gap:8px;font:11px var(--mono);color:var(--t3);z-index:2}.pulse .label b{color:var(--t1);font-weight:500}.rail{width:58px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line-2);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:4px;position:sticky;top:0;height:100vh;z-index:20}.rail .logo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;margin-bottom:14px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);box-shadow:0 1px 2px #1d4ed859,inset 0 1px #ffffff59}.rail .logo svg{width:16px;height:16px}.rail-btn{position:relative;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--t3);text-decoration:none;transition:color .15s ease,background-color .15s ease,transform .14s var(--ease-out)}.rail-btn svg{width:17px;height:17px}.rail-btn:active{transform:scale(.94)}@media(hover:hover)and (pointer:fine){.rail-btn:hover{color:var(--t2);background:#09090b0b}}.rail-btn[aria-current]{color:var(--accent);background:var(--accent-soft)}.rail-btn[aria-current]:before{content:"";position:absolute;left:-11px;top:50%;translate:0 -50%;width:2px;height:16px;border-radius:0 1px 1px 0;background:var(--accent)}.rail .spacer{flex:1}.tip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) scale(.97);transform-origin:left center;background:var(--surface);border:1px solid var(--line-2);border-radius:7px;box-shadow:var(--sh-3);padding:4px 9px;font-size:12px;color:var(--t1);white-space:nowrap;opacity:0;pointer-events:none;z-index:40;transition:opacity 125ms var(--ease-out),transform 125ms var(--ease-out)}@media(hover:hover)and (pointer:fine){.rail-btn:hover .tip{opacity:1;transform:translateY(-50%) scale(1);transition-delay:.45s}.rail.warm .rail-btn:hover .tip{transition-delay:0ms;transition-duration:0ms}}.setup{min-height:100dvh;display:grid;place-items:start center;padding:40px 24px;background:var(--canvas)}.setup-card{width:100%;max-width:620px;padding:26px 28px 20px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3)}.setup-card h1{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--t1);margin:0}.setup-card .sub{font-size:13px;line-height:1.5;color:var(--t2);margin:5px 0 0}.setup-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:14px 0 0;font-size:11.5px;color:var(--t3)}.setup-meta .url{font-family:var(--mono);font-size:11px}.setup-failed{font-size:12.5px;color:var(--err);margin:16px 0 0}.setup-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column}.setup-check{display:flex;gap:11px;padding:11px 0;border-top:1px solid var(--line)}.setup-check:first-child{border-top:0}.setup-check .badge{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;background:var(--t3);box-shadow:0 0 0 3px var(--hover)}.setup-check.is-ok .badge{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.setup-check.is-warn .badge{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.setup-check.is-fail .badge{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}.setup-check .body{min-width:0}.setup-check .title{font-size:13px;font-weight:550;color:var(--t1);margin:0}.setup-check .detail{font-size:12.5px;line-height:1.5;color:var(--t2);margin:3px 0 0}.setup-check .hint{font-size:12px;line-height:1.5;color:var(--t3);margin:4px 0 0}.setup-check .fix{display:inline-block;margin-top:6px;font-size:12px;font-weight:500;color:var(--accent);text-decoration:none}.setup-check .fix:hover{text-decoration:underline}.setup-card footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.setup-card footer button{padding:8px 14px;border-radius:8px;font-size:12.5px;font-weight:500;background:var(--accent);color:#fff;box-shadow:var(--sh-1);transition:background-color .16s ease,transform .14s var(--ease-out),opacity .14s ease}.setup-card footer button:hover:not(:disabled){background:var(--accent-2)}.setup-card footer button:active:not(:disabled){transform:scale(.98)}.setup-card footer button:disabled{opacity:.5;cursor:default}.setup-card footer .ghost{background:transparent;color:var(--t2);box-shadow:none;border:1px solid var(--line-2)}.setup-card footer .ghost:hover:not(:disabled){background:var(--hover);color:var(--t1)}@media(max-width:680px){.setup{padding:20px 14px}.setup-card{padding:20px 18px 16px}}.toasts{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.toast{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:10px 14px;font-size:12.5px;font-weight:500;color:var(--t1);box-shadow:var(--sh-pop);opacity:0;transform:translateY(8px) scale(.97);transition:opacity .24s var(--ease-out),transform .24s var(--ease-out)}.toast.in{opacity:1;transform:translateY(0) scale(1)}.toast.out{opacity:0;transform:translateY(4px) scale(.98);transition-duration:.16s}.topbar{height:58px;flex-shrink:0;display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:18;background:#ffffffd1;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line-2)}.crumbs{display:flex;align-items:center;gap:9px;min-width:0}.crumbs .org{display:flex;align-items:center;gap:8px;font-weight:550;letter-spacing:-.01em}.crumbs .org i{width:18px;height:18px;border-radius:6px;flex-shrink:0;background:linear-gradient(180deg,#34d399,#0ea5e9);box-shadow:inset 0 1px #fff6,0 1px 1.5px #10182829}.crumbs .sep{color:#c9c9d0;font-size:13px}.env{position:relative;display:flex;align-items:center;background:#f1f1f4;border:1px solid var(--line-2);border-radius:99px;padding:2px;gap:0}.env-thumb{position:absolute;top:2px;bottom:2px;left:0;border-radius:99px;background:var(--surface);box-shadow:0 1px 2px #1018281a,0 0 0 .5px #1018280d;transition:transform .22s var(--ease-out),width .22s var(--ease-out)}.env button{position:relative;z-index:1;padding:3px 12px;border-radius:99px;font-size:12px;font-weight:500;color:var(--t3);transition:color .15s ease}.env button[aria-pressed=true]{color:var(--t1)}.env button:active{transform:scale(.97)}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:10px}.sys{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t2);margin-right:4px}.sys .dot--pulse{--c:var(--ok)}.searchchip{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:9px;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-1);color:var(--t3);font-size:12.5px;transition:border-color .15s ease,color .15s ease,transform .14s var(--ease-out),background-color .15s ease}.searchchip svg{width:13px;height:13px}.searchchip kbd{font:11px var(--mono);color:var(--t3);background:#f4f4f6;border:1px solid var(--line-2);border-radius:4px;padding:1px 5px;margin-left:2px}.searchchip:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.searchchip:hover{border-color:#d5d5dc;color:var(--t2);background:var(--surface-2)}}.deploy{position:relative;height:32px;padding:0 15px;border-radius:9px;background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;font-weight:550;font-size:12.5px;letter-spacing:-.005em;display:grid;place-items:center;overflow:hidden;box-shadow:0 1px 2px #1d4ed84d,inset 0 1px #ffffff4d,0 0 0 .5px #1d4ed88c;transition:transform .14s var(--ease-out),background .2s ease,color .2s ease,box-shadow .2s ease,width .26s var(--ease-out)}.deploy:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.deploy:hover{background:linear-gradient(180deg,#4b8ef8,#2f6ff0)}}.deploy .face{grid-area:1/1;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:opacity .18s ease,filter .18s ease}.deploy .face[hidden]{display:flex;opacity:0;filter:blur(3px);pointer-events:none}.deploy .spin{width:11px;height:11px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .48s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.deploy.is-done{background:var(--ok-soft);color:var(--ok);box-shadow:0 0 0 .5px #12a15047,inset 0 1px #fff9}.deploy .face svg{width:12px;height:12px}.avatar{display:block;width:30px;height:30px;border-radius:50%;flex-shrink:0;background:linear-gradient(160deg,#fbbf9c,#c084fc);box-shadow:0 0 0 1px #1018280f,inset 0 1px #ffffff73;transition:transform .14s var(--ease-out)}button.avatar:hover{box-shadow:0 0 0 1px #1018281f,0 0 0 3px var(--accent-soft)}.avatar:active{transform:scale(.94)}@media(max-width:1020px){.sys span{display:none}}.page-top{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:6px}.page-top h1{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.2}.page-top p{color:var(--t3);font-size:13px;line-height:1.55;max-width:70ch}.page-top a{color:var(--accent);text-decoration:none}.page-top a:hover{text-decoration:underline}.page-top .crumb{font-size:12px;color:var(--t3)}.page-top .mono{font-family:var(--mono);font-size:12px}.page-actions{flex-direction:row;margin-top:10px}.page-filter{margin-top:10px;width:min(320px,100%);padding:7px 11px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);font-size:13px;color:var(--t1);transition:border-color .14s ease,box-shadow .14s ease}.page-filter:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.page-empty{padding:18px 16px;font-size:12.5px;line-height:1.55;color:var(--t3)}.page-empty code{font-family:var(--mono);font-size:11.5px}.page-error{font-size:12.5px;color:var(--err)}.page-note{font-size:11.5px;line-height:1.5;color:var(--t3);padding:0 2px}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}.row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.row-actions button,.row-actions a{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:7px;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-1);font-size:12px;font-weight:500;color:var(--t1);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .14s var(--ease-out),opacity .14s ease}.row-actions button:active,.row-actions a:active{transform:scale(.97)}.row-actions button:disabled{opacity:.45;cursor:default}.row-actions .danger{color:var(--err)}@media(hover:hover)and (pointer:fine){.row-actions button:hover:not(:disabled),.row-actions a:hover{background:var(--surface-2);border-color:#d5d5dc}.row-actions .danger:hover:not(:disabled){background:var(--err-soft);border-color:#f3c6c6}}.pill{display:inline-flex;align-items:center;height:19px;padding:0 7px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line-2);font-size:11px;font-weight:500;color:var(--t2)}.pill.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.pill.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}.pill.err{background:var(--err-soft);border-color:transparent;color:var(--err)}.linkish{font-size:12px;font-weight:500;color:var(--t2);transition:color .15s ease}.linkish:hover{color:var(--accent)}.facts{padding:4px 0}.facts>div{display:flex;align-items:center;gap:12px;padding:9px 16px}.facts>div+div{border-top:1px solid var(--line)}.facts dt{font-size:12.5px;color:var(--t3);width:120px;flex-shrink:0}.facts dd{font-size:12.5px;color:var(--t1);min-width:0;overflow:hidden;text-overflow:ellipsis}.facts .mono{font-family:var(--mono);font-size:11.5px}.envrow{display:flex;align-items:center;gap:12px;padding:9px 16px}.envrow+.envrow{border-top:1px solid var(--line)}.envrow .k{font-family:var(--mono);font-size:11.5px;color:var(--t1);flex-shrink:0;max-width:40%;overflow:hidden;text-overflow:ellipsis}.envrow .v{font-family:var(--mono);font-size:11.5px;color:var(--t2);min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.envrow .v.hidden{color:var(--t3);font-style:italic}.envrow .tags{display:flex;gap:5px;flex-shrink:0}.logbox{margin:0;padding:14px 16px;max-height:340px;overflow:auto;font:11.5px/1.65 var(--mono);color:var(--t2);white-space:pre-wrap;word-break:break-word;background:var(--surface-2)}.joblist-row{display:flex;align-items:center;gap:12px;padding:11px 16px}.joblist-row+.joblist-row{border-top:1px solid var(--line)}.joblist-row .id{min-width:0;flex:1}.joblist-row .an{font-weight:550;letter-spacing:-.01em;font-size:13px}.joblist-row .an.mono{font-family:var(--mono);font-size:11.5px;font-weight:400}.joblist-row .ad{font-size:11.5px;color:var(--t3);margin-top:2px}.server-card{padding:14px 16px}.server-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--t3)}.gauges{display:flex;flex-direction:column;gap:10px;margin:14px 0 0}.gauges>div{display:grid;grid-template-columns:70px 1fr;grid-template-areas:"label value" "bar bar";gap:2px 10px;align-items:center}.gauges dt{grid-area:label;font-size:12px;color:var(--t3)}.gauges dd{grid-area:value;font-family:var(--mono);font-size:12px;color:var(--t1);margin:0;text-align:right}.gauges .bar{grid-area:bar;height:4px;border-radius:2px;background:var(--line);overflow:hidden;margin-top:3px}.gauges .bar span{display:block;height:100%;border-radius:2px;background:var(--accent)}.server-note{margin-top:14px;font-size:11.5px;line-height:1.5;color:var(--t3)}.pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 0}.pager button{height:28px;padding:0 12px;border-radius:8px;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-1);font-size:12.5px;font-weight:500;color:var(--t1);transition:background-color .15s ease,opacity .14s ease}.pager button:disabled{opacity:.45;cursor:default}.pager button:hover:not(:disabled){background:var(--surface-2)}.pager .num{font-family:var(--mono);font-size:11.5px;color:var(--t3)}@media(max-width:680px){.envrow{flex-wrap:wrap}.envrow .k{max-width:100%}.facts>div{flex-direction:column;align-items:flex-start;gap:2px}.facts dt{width:auto}}.approw{display:flex;align-items:center;gap:12px;padding:12px 16px;transition:background-color .15s ease}.approw+.approw{border-top:1px solid var(--line)}@media(hover:hover)and (pointer:fine){.approw:hover{background:var(--hover)}}.appic{width:28px;height:28px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;font-size:11.5px;font-weight:600;color:#fff;box-shadow:inset 0 1px #ffffff59,0 1px 2px #10182824}.approw .id{min-width:0;flex:1;color:inherit;text-decoration:none;display:block}@media(hover:hover)and (pointer:fine){.approw .id:hover .an{color:var(--accent)}}.approw .an{font-weight:550;letter-spacing:-.01em}.approw .ad{font-size:11.5px;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approw .up{font:11.5px var(--mono);color:var(--t2)}.approw .auto{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--t3)}.tgl{position:relative;width:30px;height:18px;border-radius:99px;flex-shrink:0;background:#dcdce2;box-shadow:inset 0 1px 2px #10182814;transition:background-color .18s ease,transform .14s var(--ease-out)}.tgl:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #10182838;transition:transform .18s var(--ease-out)}.tgl[aria-checked=true]{background:var(--accent);box-shadow:inset 0 1px 2px #10182824}.tgl[aria-checked=true]:after{transform:translate(12px)}.tgl:active{transform:scale(.94)}.tgl--unknown{width:auto;height:auto;background:none;box-shadow:none;cursor:default;font:11.5px var(--mono);color:var(--t3)}.tgl--unknown:after{content:none}.dep{position:relative;display:flex;align-items:center;gap:12px;padding:13px 16px;transition:background-color .15s ease}.dep+.dep{border-top:1px solid var(--line)}@media(hover:hover)and (pointer:fine){.dep:hover{background:var(--hover)}}.dep .info{min-width:0;flex:1}.dep .l1{display:flex;align-items:center;gap:8px;min-width:0}.dep .app{font-weight:550;letter-spacing:-.012em;flex-shrink:0}.dep .l1 .pill{flex-shrink:0}.dep .msg{color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep .l2{display:flex;align-items:center;gap:7px;margin-top:5px;font-size:11.5px;color:var(--t3)}.dep .branch{display:inline-flex;align-items:center;gap:4px;padding:1px 7px 1px 6px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);color:var(--t2)}.dep .branch svg{width:10px;height:10px;color:var(--t3)}.dep .sha{font:10.5px var(--mono);padding:1px 6px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);color:var(--t2)}.dep .right{display:flex;align-items:center;gap:14px;flex-shrink:0;font-size:12px;color:var(--t3)}.dep .dur{font:11.5px var(--mono);color:var(--t2)}.dep .when{min-width:66px;text-align:right}.dep--live{align-items:flex-start;background:linear-gradient(180deg,#2563eb07,#2563eb00)}.dep--live>.dot{margin-top:6px}.dep--live .right{align-self:center}.dep--live .ticker{margin-top:5px;font:11px var(--mono);color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .15s ease,filter .15s ease}.dep--live .ticker.swap{opacity:0;filter:blur(2px)}.dep--live .ticker.done{color:var(--t3)}.dep-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;z-index:1}.dep-progress i{position:absolute;top:0;bottom:0;left:0;width:36%;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:slide 1.4s var(--ease-io) infinite}@keyframes slide{0%{transform:translate(-120%)}to{transform:translate(380%)}}.hold{position:relative;overflow:hidden;flex-shrink:0;height:27px;padding:0 11px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);box-shadow:var(--sh-1);font-size:11.5px;font-weight:500;color:var(--t2);transition:transform .14s var(--ease-out),color .15s ease,border-color .15s ease,opacity .3s ease}.hold .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:#dc262629;clip-path:inset(0 100% 0 0);transition:clip-path .2s var(--ease-out)}.hold:active{transform:scale(.97);color:var(--err);border-color:#dc262673}.hold:active .fill{clip-path:inset(0 0 0 0);transition:clip-path 1.4s linear}.hold span{position:relative;z-index:1}.hold.gone{opacity:0;pointer-events:none}.dep .status-ico{width:14px;height:14px;flex-shrink:0}.dep .status-ico.ok{color:var(--ok)}.dep .status-ico.err{color:var(--err)}.srv{padding:14px 16px;transition:background-color .15s ease}.srv+.srv{border-top:1px solid var(--line)}@media(hover:hover)and (pointer:fine){.srv:hover{background:var(--hover)}}.srv .l1{display:flex;align-items:center;gap:8px}.srv .name{font-weight:550;letter-spacing:-.01em}.srv .region{color:var(--t3);font-size:12px}.srv .ping{margin-left:auto;font:11px var(--mono);color:var(--t2);background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px}.meters{display:flex;gap:18px;margin-top:12px}.meter{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.meter b{font-size:10px;letter-spacing:.07em;color:var(--t3);font-weight:600}.meter .bar{flex:1;height:4px;border-radius:3px;background:#eeeef1;overflow:hidden}.meter .bar i{display:block;height:100%;border-radius:3px;background:#9d9daa;transform-origin:left;transform:scaleX(0);transition:transform .7s var(--ease-out),background-color .3s ease}.meter.warn .bar i{background:#f59e0b}.meter .val{font:11px var(--mono);color:var(--t2);width:34px;text-align:right;flex-shrink:0}.meter.warn .val{color:var(--warn)}.fleet-foot{display:flex;align-items:center;gap:0;padding:12px 16px;background:var(--surface-2);border-top:1px solid var(--line)}.fleet-foot div{flex:1;display:flex;flex-direction:column;gap:2px}.fleet-foot div+div{border-left:1px solid var(--line);padding-left:14px}.fleet-foot b{font-size:13.5px;font-weight:600;letter-spacing:-.02em}.fleet-foot span{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);font-weight:500}.meter--unknown .bar{background:repeating-linear-gradient(90deg,#eeeef1 0 3px,transparent 3px 6px)}.meter--unknown .val{color:var(--t3)}.fleet-nometrics{color:var(--t3);cursor:help}.meter--unknown{cursor:help}.ins{display:flex;gap:12px;padding:13px 16px;transition:background-color .15s ease}.ins+.ins{border-top:1px solid var(--line)}@media(hover:hover)and (pointer:fine){.ins:hover{background:var(--hover)}}.ins .sev{margin-top:6px}.ins .body{min-width:0;flex:1}.ins .it{font-weight:550;letter-spacing:-.01em}.ins .idesc{color:var(--t3);margin-top:2px;font-size:12.5px;line-height:1.5}.ins .act{margin-top:8px;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:7px;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-1);font-size:12px;font-weight:500;color:var(--t1);transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .14s var(--ease-out)}.ins a.act{text-decoration:none}.ins .act--inert{color:var(--t3);background:transparent;border-color:var(--line);box-shadow:none}.ins .act svg{width:11px;height:11px;color:var(--t3);transition:transform .15s var(--ease-out)}.ins .act:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.ins .act:hover{background:var(--surface-2);border-color:#d5d5dc}.ins .act:hover svg{transform:translate(2px)}}.kpi{position:relative;padding:16px 17px 15px;display:flex;flex-direction:column;gap:13px;background:var(--surface);border:1px solid var(--line-2);border-radius:13px;box-shadow:var(--sh-2);transition:box-shadow .2s ease,border-color .2s ease}@media(hover:hover)and (pointer:fine){.kpi:hover{box-shadow:var(--sh-3);border-color:#dcdce2}}.kpi .k-top{display:flex;align-items:center;gap:9px}.kpi .k-ico{width:26px;height:26px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-1);color:var(--t2)}.kpi .k-ico svg{width:13px;height:13px}.kpi .k-label{font-size:12.5px;color:var(--t2);font-weight:500;letter-spacing:-.008em}.kpi .k-top .pill{margin-left:auto}.kpi .k-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.kpi .k-value{font-size:27px;font-weight:600;letter-spacing:-.035em;line-height:1}.kpi .k-value .unit{font-size:15px;color:var(--t3);font-weight:500}.kpi .k-sub{font-size:11.5px;color:var(--t3);margin-top:6px}.spark{overflow:visible;flex-shrink:0}.spark polyline{fill:none;stroke:#2563eb4d;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s var(--ease-out) .25s forwards}@keyframes draw{to{stroke-dashoffset:0}}.spark circle{fill:var(--accent)}.timeline{position:relative;margin:34px 22px 8px;height:56px}.tl-line{position:absolute;left:0;right:0;top:20px;height:1px;background:var(--line-2)}.tl-tick{position:absolute;top:16px;width:1px;height:9px;background:#dcdce2}.tl-tick span{position:absolute;top:14px;left:50%;translate:-50% 0;font:10.5px var(--mono);color:var(--t3);white-space:nowrap}.tl-now{position:absolute;top:12px;width:1.5px;height:17px;border-radius:1px;background:var(--accent)}.tl-now:before{content:"";position:absolute;top:-4px;left:-2.2px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #2563eb24}.tl-now span{position:absolute;top:-23px;left:50%;translate:-50% 0;font:10.5px var(--mono);color:var(--accent);white-space:nowrap}.job{position:absolute;top:14px;width:13px;height:13px;translate:-50% 0;cursor:default}.job i{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--surface);border:2px solid #9c9caa;box-shadow:0 0 0 3px var(--surface);transition:transform .15s var(--ease-out),border-color .15s ease}.job .job-tip{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%) scale(.97);transform-origin:bottom center;background:var(--surface);border:1px solid var(--line-2);border-radius:8px;box-shadow:var(--sh-3);padding:7px 11px;white-space:nowrap;opacity:0;pointer-events:none;z-index:10;transition:opacity 125ms var(--ease-out),transform 125ms var(--ease-out)}.job .job-tip b{display:block;font-size:12px;font-weight:600;letter-spacing:-.01em}.job .job-tip span{font:10.5px var(--mono);color:var(--t3)}@media(hover:hover)and (pointer:fine){.job:hover i{transform:scale(1.25);border-color:var(--accent)}.job:hover .job-tip{opacity:1;transform:translate(-50%) scale(1)}}:root{color-scheme:light;--canvas:#f4f4f6;--surface:#ffffff;--surface-2:#fafafb;--hover:rgba(9,9,11,.028);--line:#eeeef1;--line-2:#e3e3e8;--t1:#17171a;--t2:#5c5c66;--t3:#8d8d97;--accent:#2563eb;--accent-2:#1d4ed8;--accent-soft:#eff4ff;--ok:#12a150;--ok-soft:#e8f7ee;--warn:#b45309;--warn-soft:#fdf2e3;--err:#dc2626;--err-soft:#fdecec;--sh-1:0 1px 2px rgba(16,24,40,.05);--sh-2:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.04);--sh-3:0 2px 4px -1px rgba(16,24,40,.07),0 6px 16px -6px rgba(16,24,40,.09);--sh-pop:0 24px 64px -18px rgba(16,24,40,.24),0 6px 16px -8px rgba(16,24,40,.1);--ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--canvas);color:var(--t1);font:13.5px/1.55 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overflow-x:hidden;letter-spacing:-.005em}::selection{background:#2563eb2e}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#18181b2e;border-radius:6px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#18181b47;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}a{color:inherit;text-decoration:none}svg{display:block}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.pill{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 8px;border-radius:99px;font-size:11px;font-weight:500;letter-spacing:0;background:var(--surface-2);color:var(--t2)}.pill svg{width:9px;height:9px}.pill--ok{background:var(--ok-soft);color:var(--ok)}.pill--warn{background:var(--warn-soft);color:var(--warn)}.pill--err{background:var(--err-soft);color:var(--err)}.pill--live{background:var(--accent-soft);color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);color:var(--t2)}.dot{width:6px;height:6px;border-radius:50%;background:var(--c,var(--t3));flex-shrink:0}.dot--pulse{position:relative}.dot--pulse:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1px solid var(--c,var(--t3));opacity:0;animation:ring 2.4s var(--ease-out) infinite}@keyframes ring{0%{transform:scale(.5);opacity:.7}70%{transform:scale(1.15);opacity:0}to{opacity:0}}[data-animate]{animation:rise .64s var(--ease-out) both;animation-delay:calc(var(--i,0)*60ms)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){[data-animate]{animation:fadeOnly .24s ease both}@keyframes fadeOnly{0%{opacity:0}to{opacity:1}}.spark polyline{animation:none!important;stroke-dashoffset:0!important}.dot--pulse:after{animation:none!important}.dep-progress i{animation:none!important}}.shell{display:flex;min-height:100vh}.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}.content{width:100%;max-width:1280px;margin:0 auto;padding:26px 28px 60px;display:flex;flex-direction:column;gap:14px}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:2px}.page-head h1{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.2}.page-head p{color:var(--t3);font-size:13px;margin-top:3px}.page-head .tools{margin-left:auto;display:flex;align-items:center;gap:8px}.ghost-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;background:var(--surface);border:1px solid var(--line-2);border-radius:9px;box-shadow:var(--sh-1);font-size:12.5px;font-weight:500;color:var(--t1);transition:background-color .15s ease,border-color .15s ease,transform .14s var(--ease-out)}.ghost-btn svg{width:13px;height:13px;color:var(--t3)}.ghost-btn:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.ghost-btn:hover{background:var(--surface-2);border-color:#d5d5dc}}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid-2{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;align-items:start}.grid-2b{display:grid;grid-template-columns:1fr 1.45fr;gap:14px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line-2);border-radius:13px;overflow:hidden;box-shadow:var(--sh-2)}.panel-head{display:flex;align-items:center;gap:9px;padding:13px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}.panel-head h2{font-size:13.5px;font-weight:600;letter-spacing:-.012em}.panel-head .count{font:11px var(--mono);color:var(--t2);background:var(--surface);border:1px solid var(--line-2);border-radius:99px;padding:1px 7px}.panel-head .more{margin-left:auto;text-decoration:none;font-size:12.5px;font-weight:500;color:var(--t2);display:flex;align-items:center;gap:3px;border-radius:6px;transition:color .15s ease}.panel-head .more svg{width:11px;height:11px;transition:transform .15s var(--ease-out)}@media(hover:hover)and (pointer:fine){.panel-head .more:hover{color:var(--accent)}.panel-head .more:hover svg{transform:translate(2px)}}.panel-head .meta{margin-left:auto;font-size:12px;color:var(--t3);display:flex;align-items:center;gap:7px}@media(max-width:1020px){.grid-2,.grid-2b{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.content{padding:20px 16px 48px}.kpis{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start;gap:12px}.page-head .tools{margin-left:0}}
