:root{--canvas:#e8eaee;--surface:#fff;--tile:#f3f4f6;--border:#e4e6ea;--border-strong:#d4d7dd;--ink:#16181a;--ink-soft:#5b6168;--ink-faint:#94989e;--accent:#2847f0;--accent-deep:#1d37d8;--accent-soft:#e9edfd;--accent-ring:#2847f029;--green:#17945c;--green-deep:#0f7a49;--green-bright:#2fcb72;--green-soft:#e5f5ec;--red:#cf3d3d;--red-soft:#fceceb;--amber:#a86a10;--amber-soft:#faf1de;--r-panel:26px;--r-card:20px;--r-tile:16px;--r-field:12px;--r-btn:13px;--r-pill:999px;--shadow-card:0 1px 2px #16181a0a;--shadow-float:0 24px 56px -24px #16181a40}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans,ui-sans-serif), system-ui, -apple-system, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15.5px;line-height:1.55}a{color:inherit;text-decoration:none}svg{flex:none;display:block}.icon{background-color:currentColor;flex:none;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}code{background:var(--tile);border:1px solid var(--border);border-radius:7px;padding:1px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{background:var(--canvas);grid-template-columns:268px minmax(0,1fr);min-height:100dvh;display:grid}.page{min-width:0;padding:12px 12px 12px 4px}.content{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-panel);width:100%;max-width:none;box-shadow:var(--shadow-card);min-height:calc(100dvh - 24px);padding:36px 46px 76px}.sidebar{background:0 0;flex-direction:column;align-self:start;gap:6px;height:100dvh;padding:22px 14px 18px;display:flex;position:sticky;top:0}.mobile-topbar{display:none}.hamburger{border-radius:var(--r-btn);background:var(--surface);border:1px solid var(--border-strong);width:44px;height:44px;color:var(--ink);cursor:pointer;flex:none;place-items:center;transition:border-color .15s,background .15s;display:inline-grid}.hamburger:hover{border-color:var(--accent);color:var(--accent)}.hamburger:active{transform:scale(.96)}.brand{align-items:center;padding:6px 8px 4px;display:flex}.brand-lockup{align-items:center;gap:10px;display:flex}.brand-text{align-items:baseline;min-width:0;margin-top:10px;display:inline-flex}.brand-name{letter-spacing:-.035em;font-size:26px;font-weight:820;line-height:1;display:block}.brand-tail{color:var(--ink-faint);white-space:nowrap;font-size:12.5px;font-weight:620}.brand-tail:before{content:"·";color:var(--border-strong);margin:0 6px;font-weight:700}.brand-sub{color:var(--ink-faint);letter-spacing:.01em;font-size:11px;font-weight:580;line-height:1.2;display:block}.sidebar-cta{margin:20px 6px 8px}.sidebar-cta .btn{width:100%}.nav{flex-direction:column;gap:3px;margin-top:4px;display:flex}.nav-group{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:18px 0 8px;padding:0 12px;font-size:11px;font-weight:720}.nav-link{color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:12px;padding:11px 12px;font-size:15px;font-weight:620;transition:background .16s,color .16s,border-color .16s;display:flex;position:relative}.nav-link .icon{background-color:var(--ink-faint);transition:background-color .16s}.nav-link:hover{color:var(--ink);background:#ffffffb3}.nav-link:hover .icon{background-color:var(--ink-soft)}.nav-link.active{background:var(--surface);border-color:var(--border);color:var(--ink);font-weight:720}.nav-link.active .icon{background-color:var(--accent)}.sidebar-foot{margin-top:auto;padding-top:16px}.user-chip{border-radius:var(--r-btn);background:var(--tile);border:1px solid var(--border);align-items:center;gap:11px;min-width:0;padding:9px 10px;display:flex}.user-chip .user-meta{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.user-chip .u-mail{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:660;overflow:hidden}.avatar{background:linear-gradient(150deg, var(--accent), var(--accent-deep));color:#fff;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:12.5px;font-weight:720;display:grid}.avatar.lg{border-radius:15px;width:50px;height:50px;font-size:15px}.logout-btn{background:var(--surface);border:1px solid var(--border);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border-radius:10px;flex:none;place-items:center;transition:background .15s,color .15s,border-color .15s,transform .12s;display:grid;position:relative}.logout-btn .icon{background-color:var(--ink-soft);transition:background-color .15s}.logout-btn:hover:not(:disabled){background:var(--red-soft);border-color:var(--red);color:var(--red)}.logout-btn:hover:not(:disabled) .icon{background-color:var(--red)}.logout-btn:active:not(:disabled){transform:scale(.94)}.logout-btn:disabled{cursor:default;opacity:.6}.logout-btn[data-tip]:after{content:attr(data-tip);background:var(--ink);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:20;border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:620;transition:opacity .14s;position:absolute;bottom:calc(100% + 8px);right:0}.logout-btn[data-tip]:hover:after{opacity:1}.page-head{justify-content:space-between;align-items:flex-end;gap:18px;margin:6px 0 30px;display:flex}.page-head .h-title{letter-spacing:-.035em;text-wrap:balance;align-items:center;gap:12px;font-size:31px;font-weight:820;line-height:1.08;display:flex}.page-head .h-title .icon{display:none}.page-head .h-sub{color:var(--ink-faint);margin-top:6px;font-size:15px;font-weight:520}.breadcrumbs{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;font-size:13px;display:flex}.crumb{font-weight:600}a.crumb{color:var(--ink-faint);transition:color .16s}a.crumb:hover{color:var(--accent)}.crumb.current{color:var(--ink);font-weight:700}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-actions .btn,.page-actions .icon-btn{height:44px}.page-actions .icon-btn{border-radius:var(--r-btn);width:44px}.detail-head{border-bottom:1px solid var(--border);align-items:center;gap:15px;margin-bottom:22px;padding-bottom:22px;display:flex}.detail-name{letter-spacing:-.02em;font-size:19px;font-weight:780}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px 28px;display:grid}.detail{flex-direction:column;gap:5px;min-width:0;display:flex}.detail-k{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:7px;font-size:11.5px;font-weight:700;display:inline-flex}.detail-k .icon{background-color:var(--ink-faint)}.detail-v{color:var(--ink);text-overflow:ellipsis;font-size:15px;font-weight:640;overflow:hidden}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card)}.card+.card,.card+.grid2,.grid2+.card,.grid2+.grid2{margin-top:24px}.card-head{justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 0;display:flex}.card-title{letter-spacing:-.02em;align-items:center;gap:11px;font-size:18px;font-weight:760;display:flex}.card-title .icon{display:none}.ico-badge{background:var(--accent-soft);border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.ico-badge.sm{border-radius:9px;width:30px;height:30px}.ico-badge .icon{background-color:var(--accent);display:inline-block}.card-sub{color:var(--ink-faint);margin-top:3px;font-size:13px;font-weight:520}.card-body{padding:20px 28px 28px}.card-body.flush{padding:14px 10px 10px;overflow-x:auto}.circle-btn{background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--ink-soft);cursor:pointer;border-radius:50%;flex:none;place-items:center;transition:border-color .16s,color .16s,transform .16s;display:grid}.circle-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.stat-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:24px;display:grid}.stat{background:var(--tile);border:1px solid var(--border);border-radius:var(--r-card);padding:22px 24px;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}a.stat:hover{background:var(--surface);box-shadow:var(--shadow-card);border-color:var(--border-strong);transform:translateY(-2px)}.stat-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.stat .l{color:var(--ink-soft);font-size:13.5px;font-weight:640}.stat .n{letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;margin-top:16px;font-size:37px;font-weight:820;line-height:1.05;display:flex}.stat .n .of{color:var(--ink-faint);font-size:20px;font-weight:700}.stat-ico{background:var(--accent-soft);border-radius:11px;flex:none;place-items:center;width:36px;height:36px;transition:background .16s;display:inline-grid}.stat-ico .icon{background-color:var(--accent);transition:background-color .16s}a.stat:hover .stat-ico{background:var(--accent)}a.stat:hover .stat-ico .icon{background-color:#fff}.trend{align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.trend.up{color:var(--green)}.trend.down{color:var(--red)}.trend.flat{color:var(--ink-faint)}.gauge-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.gauge-box{background:var(--tile);border-radius:var(--r-tile);text-align:center;padding:20px 22px 16px}.gauge-box .gauge-label{color:var(--ink-soft);font-size:13px;font-weight:680}.gauge-box .gauge-sub{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.gauge-svg{margin:6px auto 0}.chip{border-radius:var(--r-pill);align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:680;display:inline-flex}.chip.up,.chip.ok{background:var(--green-soft);color:var(--green)}.chip.down,.chip.bad{background:var(--red-soft);color:var(--red)}.chip.warn{background:var(--amber-soft);color:var(--amber)}.chip.neutral{background:var(--tile);color:var(--ink-soft)}.tag{border-radius:var(--r-pill);background:var(--tile);border:1px solid var(--border);color:var(--ink-soft);align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:620;display:inline-flex}.badge{border-radius:var(--r-pill);align-items:center;gap:7px;padding:5px 13px 5px 10px;font-size:12.5px;font-weight:680;display:inline-flex}.dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.running{color:var(--green);background:var(--green-soft)}.badge.running .dot{background:var(--green-bright);animation:1.8s ease-in-out infinite pulse}.badge.exited,.badge.absent{color:var(--ink-soft);background:var(--tile)}.badge.suspended{color:var(--amber);background:var(--amber-soft)}.badge.deleting{color:var(--red);background:var(--red-soft)}.badge.pending{color:var(--ink-soft);background:var(--tile)}.badge.active{color:var(--green);background:var(--green-soft)}.badge.active .dot{background:var(--green-bright)}.badge .badge-x{cursor:pointer;opacity:.55;background:0 0;border:0;place-items:center;margin-left:2px;padding:0;display:inline-grid}.badge .badge-x .icon{background-color:currentColor}.badge .badge-x:hover:not(:disabled){opacity:1}.badge .badge-x:disabled{cursor:default;opacity:.3}.badge.unknown{color:var(--amber);background:var(--amber-soft)}.badge.error,.badge.offline{color:var(--red);background:var(--red-soft)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.server-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px;display:grid}.server-card{background:var(--tile);border-radius:var(--r-tile);padding:18px 20px}.server-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.server-card-name{letter-spacing:-.01em;font-size:14.5px;font-weight:740}.server-card-host{color:var(--ink-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.server-card-meta{color:var(--ink-faint);font-variant-numeric:tabular-nums;gap:14px;margin-top:12px;font-size:12px;font-weight:600;display:flex}.server-card .badge{padding:3px 10px 3px 8px;font-size:11.5px}.meter{margin-top:10px}.meter-head{justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.meter-label{color:var(--ink-soft);font-weight:680}.meter-value{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-weight:560}.meter-track{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);height:6px;overflow:hidden}.meter-fill{border-radius:var(--r-pill);background:var(--green-bright);height:100%;transition:width .4s}.meter-fill.warn{background:#eaa23e}.meter-fill.high{background:var(--red)}.table{border-collapse:collapse;width:100%;min-width:560px}.table th{text-align:left;color:var(--ink-faint);border-bottom:1px solid var(--border);padding:12px 20px;font-size:12px;font-weight:680}.table td{border-top:1px solid var(--border);vertical-align:middle;font-variant-numeric:tabular-nums;padding:15px 20px}.table tbody tr:first-child td{border-top:0}.table tbody tr{transition:background .14s}.table tbody tr:hover td{background:var(--tile)}.cell-mono{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.cell-strong{font-size:14.5px;font-weight:700}.client-link .av{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-deep);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:740;display:grid}.client-link{align-items:center;gap:12px;min-width:0;max-width:100%;display:inline-flex}.client-link .av{transition:transform .16s,box-shadow .16s}.client-link:hover .av{box-shadow:0 0 0 3px var(--accent-ring);transform:translateY(-1px)}.client-link-text{flex-direction:column;gap:2px;min-width:0;display:flex}.client-link-name{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:9px;font-size:14.5px;font-weight:720;transition:color .16s;display:inline-flex}.client-link:hover .client-link-name{color:var(--accent)}.client-link-name .badge{padding:3px 9px 3px 7px;font-size:11px}.client-link-sub{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:540;overflow:hidden}.cell-meta{color:var(--ink-soft);align-items:center;gap:8px;font-weight:580;display:inline-flex}.cell-meta .icon{background-color:var(--ink-faint)}.agent-tags{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.capacity-cell{min-width:130px;max-width:190px}.capacity-nums{align-items:baseline;gap:6px;margin-bottom:6px;font-size:13.5px;display:flex}.capacity-nums .muted{font-size:12.5px}.capacity-hint{border-radius:var(--r-field);background:var(--accent-soft);border:1px solid var(--accent-ring);align-items:center;gap:12px;margin:-2px 0 16px;padding:12px 14px;display:flex}.capacity-hint .ico-badge{background:var(--surface)}.capacity-hint-text{color:var(--ink-soft);flex-direction:column;gap:1px;font-size:12px;font-weight:560;display:flex}.capacity-hint-text strong{letter-spacing:-.01em;color:var(--ink);font-size:13.5px;font-weight:760}.capacity-picker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.capacity-tile{border-radius:var(--r-field);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:12px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:flex}.capacity-tile:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 12px #16181a12}.capacity-tile.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-ring)}.capacity-tile.custom{background:var(--tile);border-style:dashed}.capacity-tile.custom .capacity-tile-sites{background:var(--surface);color:var(--ink-soft)}.capacity-tile.custom.active{background:var(--accent-soft);border-style:solid}.capacity-tile.custom.active .capacity-tile-sites{background:var(--accent);color:#fff}.capacity-tile-spec{letter-spacing:-.01em;color:var(--ink);white-space:nowrap;font-size:13px;font-weight:740}.capacity-tile-disk{color:var(--ink-faint);white-space:nowrap;font-size:11.5px;font-weight:580}.capacity-tile-sites{border-radius:var(--r-pill);color:var(--accent-deep);background:var(--accent-soft);white-space:nowrap;margin-top:8px;padding:3px 8px;font-size:11px;font-weight:720}.capacity-tile.active .capacity-tile-sites{background:var(--accent);color:#fff}@media (max-width:560px){.capacity-picker{grid-template-columns:repeat(2,1fr)}}.domain-link{align-items:center;gap:8px;font-size:14.5px;font-weight:680;transition:color .16s;display:inline-flex}.domain-link .icon{background-color:var(--ink-faint)}.domain-link:hover{color:var(--accent)}.domain-link:hover .icon{background-color:var(--accent)}.source-tag{color:var(--ink-faint);align-items:center;gap:6px;margin-top:5px;font-size:11.5px;display:inline-flex}.source-tag .icon{background-color:var(--ink-faint);flex:none}.source-tag .cell-mono{color:var(--ink-faint);font-size:11.5px}.cell-actions{text-align:right;white-space:nowrap;width:1%}.btn{border-radius:var(--r-btn);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .18s,border-color .15s,background .15s,color .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-deep)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--surface);color:var(--red);border-color:var(--border-strong)}.btn-danger:hover:not(:disabled){background:var(--red-soft);border-color:var(--red)}.btn-sm{gap:6px;padding:8px 14px;font-size:13px}.action-group{align-items:center;gap:7px;display:inline-flex}.menu{display:inline-flex;position:relative}.menu-pop{z-index:40;background:var(--surface);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow-float);border-radius:14px;flex-direction:column;padding:6px;animation:.16s cubic-bezier(.2,.9,.3,1.2) pop;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu-pop.drop-up{top:auto;bottom:calc(100% + 8px)}.menu-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:620;transition:background .13s,color .13s;display:flex}.menu-item .icon{background-color:var(--ink-faint)}.menu-item:hover{background:var(--tile)}.menu-item.danger{color:var(--red)}.menu-item.danger .icon{background-color:var(--red)}.menu-item.danger:hover{background:var(--red-soft)}.menu-item:disabled{opacity:.5;cursor:default}.icon-btn{width:38px;height:38px;color:var(--ink-soft);cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:50%;place-items:center;transition:color .15s,border-color .15s,transform .15s,background .15s;display:grid;position:relative}.icon-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.icon-btn.danger:hover{border-color:var(--red);color:var(--red);background:var(--red-soft)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn[data-tip]:after{content:attr(data-tip);background:var(--ink);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:20;border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:620;transition:opacity .14s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.icon-btn[data-tip]:hover:after{opacity:1}.notif-nav{position:relative}.notif-nav .nav-link{text-align:left;cursor:pointer;width:100%;font-family:inherit}.notif-nav-badge{border-radius:var(--r-pill);background:var(--red);color:#fff;place-items:center;min-width:19px;height:19px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:760;line-height:1;display:grid}.notif-pop{z-index:40;background:var(--surface);border:1px solid var(--border);width:300px;max-height:420px;box-shadow:var(--shadow-float);border-radius:14px;flex-direction:column;animation:.16s cubic-bezier(.2,.9,.3,1.2) pop;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.notif-pop-head{border-bottom:1px solid var(--border);color:var(--ink);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:720;display:flex}.notif-markall{color:var(--accent);cursor:pointer;background:0 0;border:0;font-family:inherit;font-size:12px;font-weight:640}.notif-markall:hover{color:var(--accent-deep)}.notif-empty{text-align:center;color:var(--ink-faint);padding:22px 14px;font-size:13px}.notif-item{border-bottom:1px solid var(--border);align-items:center;gap:4px;width:100%;transition:background .13s;display:flex}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:var(--tile)}.notif-item-main{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:11px 6px 11px 14px;font-family:inherit;display:flex}.notif-item-del{width:26px;height:26px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-right:8px;transition:background .13s,color .13s;display:grid}.notif-item-del:hover{background:var(--red-soft);color:var(--red)}.notif-dot{background:var(--ink-faint);border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.notif-dot.success{background:var(--green-bright)}.notif-dot.error{background:var(--red)}.notif-item-text{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-item-title{color:var(--ink);font-size:13px;font-weight:760}.notif-item-body{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.4;overflow:hidden}.notif-see-all{border-top:1px solid var(--border);color:var(--accent);flex:none;justify-content:center;align-items:center;gap:6px;padding:11px 14px;font-size:12.5px;font-weight:680;transition:color .13s,background .13s;display:flex}.notif-see-all:hover{background:var(--tile);color:var(--accent-deep)}.field{margin-bottom:18px}.field label{color:var(--ink-soft);margin-bottom:7px;font-size:13px;font-weight:680;display:block}.input{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-field);outline:none;padding:11px 15px;font-family:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}textarea.input{resize:vertical;min-height:70px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}select.input{cursor:pointer}.input::placeholder{color:var(--ink-faint)}.input-icon{position:relative}.input-icon .icon{background-color:var(--ink-faint);z-index:1;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-icon .input{padding-left:42px}.secret-row{align-items:center;gap:6px;display:flex}.secret-row .input{letter-spacing:.04em;flex:1;min-width:0}.modal.modal-lg{max-width:820px}.modal.modal-xl{max-width:980px}.modal.modal-xxl{max-width:max(1024px,70vw)}.role-badges{flex-wrap:wrap;gap:5px;display:inline-flex}.role-badge{background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);white-space:nowrap;text-transform:capitalize;border-radius:999px;padding:2px 9px;font-size:11px}.role-badge.admin{color:var(--accent);border-color:var(--accent)}.role-badge.system{background:var(--red-soft);border-color:var(--red);color:var(--red);text-transform:none}.modal:has(.wp-users-list){flex-direction:column;display:flex;overflow:hidden}.modal:has(.wp-users-list) .modal-head{flex:none}.modal:has(.wp-users-list) .modal-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}:is(.modal:has(.wp-users-list) .wp-users-foot,.modal:has(.wp-users-list) .wp-user-add){flex-shrink:0}.wp-users-list{overscroll-behavior:contain;flex-direction:column;gap:12px;min-height:0;margin-right:-6px;padding-right:6px;display:flex;overflow-y:auto}.wp-users-list .icon-btn[data-tip]:after{top:calc(100% + 8px);bottom:auto}.wp-users-list .wp-user-card-actions .icon-btn:last-child[data-tip]:after{left:auto;right:0;transform:none}.wp-user-card{background:var(--tile);border-radius:var(--r-tile);flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.wp-user-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wp-user-card-name{font-size:14.5px;font-weight:750}.wp-user-card-actions{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.wp-user-card-actions .icon-btn{background:var(--surface);width:34px;height:34px}.wp-user-readonly{font-size:12px}.wp-user-card-fields{grid-template-columns:1.1fr 1.4fr 170px;align-items:start;gap:14px 16px;display:grid}.wp-lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.wp-fld{flex-direction:column;min-width:0;display:flex}.wp-val{color:var(--ink);overflow-wrap:anywhere;padding-top:9px;font-size:13.5px}.wp-fld-hint{align-items:center;min-height:42px;margin:0;display:flex}.wp-ctl-skeleton{border-radius:var(--r-field);height:42px;display:block}.wp-user-card .field{margin:0}.wp-user-card .input,.wp-user-card .select-trigger{background:var(--surface)}@media (max-width:640px){.wp-user-card-fields{grid-template-columns:1fr}}.wp-users-foot{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.wp-users-foot .hint{flex:1;min-width:200px;margin:0}.wp-user-add{border:1px dashed var(--border-strong);border-radius:var(--r-btn);margin-top:12px;padding:14px}.grid2{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:16px;display:grid}.dash-grid{align-items:stretch;gap:24px;margin-bottom:24px;display:flex}.dash-grid>.card{flex-direction:column;flex:1 1 0;min-width:0;margin:0;display:flex}.dash-grid>.card>.card-body{flex-direction:column;flex:1;justify-content:center;display:flex}.masonry{column-count:2;column-gap:22px}.masonry>*{break-inside:avoid;margin:0 0 22px}.hint{color:var(--ink-faint);margin-top:2px;margin-bottom:16px;font-size:12.5px}.static-value{color:var(--ink-soft);background:var(--tile);border:1px solid var(--border);border-radius:var(--r-field);align-items:center;padding:11px 15px;font-size:14.5px;display:flex}.form-error{background:var(--red-soft);color:var(--red);border-radius:var(--r-field);border:1px solid #cf3d3d40;align-items:center;gap:9px;margin-bottom:16px;padding:11px 14px;font-size:13.5px;font-weight:600;display:flex}.form-ok{background:var(--green-soft);color:var(--green);border-radius:var(--r-field);border:1px solid #17945c40;align-items:center;gap:9px;margin-bottom:16px;padding:11px 14px;font-size:13.5px;font-weight:600;display:flex}.pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 22px;display:flex}.pagination-right{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.pagination-info{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.pagination-controls{align-items:center;gap:10px;display:flex}.pagination-page{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px;font-weight:640}.icon-btn.disabled{opacity:.4;cursor:default;pointer-events:none}.page-size{color:var(--ink-faint);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}@media (max-width:560px){.pagination{flex-direction:column;align-items:stretch;gap:12px}.pagination-right{justify-content:space-between}}.select{width:100%;position:relative}.select-trigger{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-field);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-family:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s;display:flex}.select-trigger:hover{border-color:var(--border-strong)}.select-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.select-placeholder{color:var(--ink-faint)}.select-caret{background-color:var(--ink-faint);transition:transform .18s}.select.disabled{opacity:.55;pointer-events:none}.select-pop{z-index:45;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-float);border-radius:14px;padding:6px;animation:.15s cubic-bezier(.2,.9,.3,1.2) pop;position:absolute;top:calc(100% + 6px);left:0;right:0}.select-pop.up{top:auto;bottom:calc(100% + 6px)}.select-search{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:4px;padding:6px 10px;display:flex}.select-search .icon{background-color:var(--ink-faint)}.select-search-input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-family:inherit;font-size:14px}.select-options{flex-direction:column;max-height:260px;display:flex;overflow-y:auto}.select-option{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:14.5px;font-weight:560;transition:background .12s;display:flex}.select-option:hover{background:var(--tile)}.select-option.active{color:var(--accent-deep);font-weight:680}.select-option.active .icon{background-color:var(--accent)}.select-empty{text-align:center;color:var(--ink-faint);padding:14px 12px;font-size:13.5px}.filters-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filters-bar .search-box{min-width:220px;height:40px}.filters-bar .search-input{padding:0}.filters-bar .select-sm .select-trigger{min-width:175px;height:40px;padding:0 12px;font-size:14.5px;font-weight:560}.search-box{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-field);align-items:center;gap:8px;min-width:210px;padding:0 8px 0 12px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search-box .icon{background-color:var(--ink-faint);flex:none}.search-input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0;padding:9px 0;font-family:inherit;font-size:14.5px}.search-clear{background:var(--tile);width:22px;height:22px;color:var(--ink-soft);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:color .13s;display:grid}.search-clear:hover{color:var(--ink)}.search-clear .icon{background-color:currentColor}@media (max-width:560px){.search-box{flex:1;min-width:0}.filters-bar{width:100%}}.select.select-sm{width:auto}.select.select-sm .select-trigger{gap:8px;min-width:74px;padding:6px 10px 6px 12px;font-size:13px;font-weight:640}.select.select-sm .select-pop{min-width:96px;left:auto;right:0}.tags-input{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-field);flex-wrap:wrap;align-items:center;gap:7px;min-height:46px;padding:8px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.tags-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.tag-chip{background:var(--accent-soft);color:var(--accent-deep);border-radius:var(--r-pill);align-items:center;gap:5px;padding:4px 6px 4px 11px;font-size:12.5px;font-weight:640;display:inline-flex}.tag-chip button{width:18px;height:18px;color:var(--accent-deep);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:background .13s;display:grid}.tag-chip button:hover{background:#2847f029}.tag-chip .icon{background-color:currentColor}.tags-field{min-width:90px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:4px 2px;font-family:inherit;font-size:14.5px}.source-form{background:var(--tile);border:1px solid var(--border);border-radius:var(--r-tile);flex-wrap:wrap;gap:10px;margin-top:12px;padding:14px;display:flex}.source-form .input{flex:160px;width:auto}.deploy-db{background:var(--tile);border:1px solid var(--border);border-radius:var(--r-field);margin:6px 0 12px;padding:12px 14px}.deploy-db .checkbox{margin:0}.deploy-section-title{color:var(--ink);align-items:center;gap:7px;font-size:13.5px;font-weight:700;display:flex}.deploy-section-title .icon{flex:none}.deploy-db .scope-list .checkbox{margin:0}.copy-label{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--tile);color:var(--ink);font-size:inherit;cursor:pointer;align-items:center;gap:6px;padding:3px 10px;transition:border-color .15s,color .15s;display:inline-flex}.copy-label:hover{border-color:var(--accent);color:var(--accent)}.copy-label:hover .copy-label-ico{opacity:.6!important}.copy-label .copy-label-ico.copied{background-color:var(--green-bright);opacity:1!important}.copy-label:has(.copied){border-color:var(--green)}.copy-label:active{transform:scale(.97)}.debug-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 12px;display:flex}.debug-log{border:1px solid var(--border);border-radius:var(--r-field);background:var(--tile);white-space:pre-wrap;word-break:break-word;max-height:340px;color:var(--ink-soft);margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;overflow:auto}.deploy-warn{color:var(--amber);align-items:center;gap:7px;margin:8px 0 0;font-size:12.5px;font-weight:560;display:flex}.deploy-warn .icon{background-color:var(--amber);flex:none}.checkbox{color:var(--ink-soft);cursor:pointer;align-items:center;gap:10px;margin:6px 0 14px;font-size:13.5px;font-weight:600;display:inline-flex;position:relative}.checkbox-native{opacity:0;cursor:pointer;width:18px;height:18px;margin:0;position:absolute}.checkbox-box{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:6px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative}.checkbox-check{opacity:0;background-color:#fff;transition:opacity .12s,transform .12s;transform:scale(.5)}.checkbox-native:checked~.checkbox-box{background:var(--accent);border-color:var(--accent)}.checkbox-native:checked~.checkbox-box .checkbox-check{opacity:1;transform:scale(1)}.checkbox-native:focus-visible~.checkbox-box{box-shadow:0 0 0 3px var(--accent-ring)}.checkbox:hover .checkbox-box{border-color:var(--accent)}.checkbox.disabled{cursor:default;opacity:.55;pointer-events:none}.checkbox-label{align-items:center;gap:6px;display:inline-flex}.scope-list{flex-direction:column;gap:8px;margin:0 0 4px;display:flex}.checkbox.scope-option{background:var(--tile);border:1px solid var(--border);border-radius:var(--r-field);align-items:flex-start;gap:12px;width:100%;margin:0;padding:12px 14px;transition:border-color .15s,background .15s}.checkbox.scope-option:hover{background:var(--surface);border-color:var(--border-strong)}.checkbox.scope-option .checkbox-box{margin-top:2px}.checkbox.scope-option .checkbox-label{flex-direction:column;align-items:flex-start;gap:3px}.scope-option-title{color:var(--ink);font-size:13.5px;font-weight:700}.scope-option-desc{color:var(--ink-faint);font-size:12.5px;font-weight:500;line-height:1.5}.plugin-option .scope-option-title{align-items:center;gap:8px;display:flex}.plugin-missing{color:var(--red);font-size:12.5px;font-weight:600;line-height:1.5}.checkbox.agent-option{gap:14px}.checkbox.agent-option .checkbox-label{gap:5px;width:100%}.agent-option-head{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.agent-option-status{color:var(--ink-faint);font-size:11.5px;font-weight:560}.agent-pill{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:11px;font-weight:720;display:inline-flex}.agent-pill.live{color:var(--green);background:var(--green-soft)}.agent-pill.live .dot{background:var(--green-bright);animation:1.8s ease-in-out infinite pulse}.agent-pill.down{color:var(--red);background:var(--red-soft)}.agent-pill.idle{color:var(--amber);background:var(--amber-soft)}.server-card-skeleton{flex-direction:column;gap:10px;margin-top:14px;display:flex}.server-card-skeleton .skeleton{border-radius:8px;display:block}.server-card-offline{margin-top:4px}.info-modal-card .server-card{background:var(--tile)}.chip.cat-ssh{background:var(--accent-soft);color:var(--accent)}.chip.cat-ftp{background:var(--amber-soft);color:var(--amber)}.chip.cat-wp{background:var(--red-soft);color:var(--red)}.chip.cat-other{background:var(--tile);color:var(--ink-soft)}.bans-table td{vertical-align:middle}.cell-nowrap{white-space:nowrap}.ip-label{color:var(--red);background:var(--red-soft);cursor:default;border-radius:7px;align-items:center;padding:3px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:640;display:inline-flex}.tip-trigger{display:inline-flex}.cursor-tip{z-index:100;pointer-events:none;color:#eef0f2;white-space:normal;background:#1b1e23;border:1px solid #ffffff14;border-radius:8px;max-width:320px;padding:7px 11px;font-size:12px;font-weight:500;line-height:1.45;animation:.1s fade;position:fixed;box-shadow:0 10px 26px #00000052}.target-cell{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.target-pill{border-radius:var(--r-pill);background:var(--tile);border:1px solid var(--border);align-items:center;gap:6px;max-width:260px;padding:3px 10px;font-size:12px;display:inline-flex}.target-pill .cell-mono{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.target-client{color:var(--ink-faint);font-size:11px;font-weight:620}.target-hits{color:var(--red);background:var(--red-soft);font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 6px;font-size:10px;font-weight:760}.settings-row+.settings-row{border-top:1px solid var(--border);margin-top:22px;padding-top:22px}.settings-row-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.settings-row-title{color:var(--ink);align-items:center;gap:9px;font-size:14px;font-weight:720;display:flex}.settings-row-title .icon{background-color:var(--accent)}.empty{text-align:center;color:var(--ink-faint);flex-direction:column;align-items:center;gap:13px;padding:52px 20px;font-weight:560;display:flex}.empty svg{color:var(--border-strong)}.empty .icon{background-color:var(--border-strong)}.empty code{white-space:nowrap}.muted{color:var(--ink-faint)}.skeleton{background:linear-gradient(90deg, var(--tile) 25%, var(--surface) 40%, var(--tile) 55%);background-size:400% 100%;border-radius:10px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-100% 0}}.modal-overlay{z-index:50;background:#16181a6b;justify-content:center;align-items:center;padding:24px;animation:.12s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:480px;max-height:calc(100dvh - 48px);box-shadow:var(--shadow-float);border-radius:20px;animation:.18s cubic-bezier(.2,.9,.3,1.2) pop;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;gap:14px;padding:22px 26px 0;display:flex}.modal-title{letter-spacing:-.02em;overflow-wrap:break-word;min-width:0;font-size:17px;font-weight:780}.modal-x{background:var(--tile);border:1px solid var(--border);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;border-radius:50%;flex:none;place-items:center;transition:color .14s,transform .14s;display:grid}.modal-x:hover{color:var(--ink);transform:rotate(90deg)}.modal-body{overflow-wrap:break-word;word-break:break-word;padding:20px 26px 26px}.confirm-body{color:var(--ink-soft);overflow-wrap:break-word;margin:0 0 22px;font-size:14px;line-height:1.6}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.code-preview{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:16px;padding:16px}.code-preview .hint{margin-bottom:0}.hint.warn{color:var(--amber)}.code-chip{align-items:center;gap:6px;display:inline-flex}.toast-wrap{z-index:60;flex-direction:column;gap:12px;max-width:min(430px,100vw - 44px);display:flex;position:fixed;bottom:22px;right:22px}.toast{cursor:pointer;border:1px solid #0000;border-radius:16px;align-items:center;gap:13px;padding:15px 18px;font-size:14.5px;font-weight:600;line-height:1.45;animation:.3s cubic-bezier(.2,.9,.3,1.15) toast-in;display:flex;box-shadow:0 20px 46px -18px #16181a80,0 6px 16px -8px #16181a4d}.toast>span:last-child{flex:1}.toast-ico{color:#fff;border-radius:9px;flex:none;place-items:center;width:28px;height:28px;display:grid}.toast-ico .icon{background-color:#fff}.toast.success{color:#0f5f3d;background:#e8f7ef;border-color:#17945c4d}.toast.success .toast-ico{background:var(--green)}.toast.error{color:#8f2222;background:#fdeceb;border-color:#cf3d3d52}.toast.error .toast-ico{background:var(--red)}.toast.info{background:var(--accent-soft);color:var(--accent-deep);border-color:#2847f047}.toast.info .toast-ico{background:var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)scale(.98)}}@media (max-width:560px){.toast-wrap{max-width:none;bottom:12px;left:12px;right:12px}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.97)}}.auth-wrap{background:radial-gradient(820px 460px at 14% -6%, #2847f014 0%, transparent 60%), radial-gradient(680px 420px at 88% 108%, #2fcb7214 0%, transparent 60%), var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-float);border-radius:22px;padding:38px 36px 30px}.auth-brand{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:28px;display:flex}.auth-title{letter-spacing:-.035em;font-size:26px;font-weight:820}.auth-foot{color:var(--ink-faint);justify-content:center;align-items:center;gap:7px;margin-top:22px;font-size:12.5px;font-weight:560;display:flex}.log-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.logs{color:#dbdee2;border-radius:var(--r-tile);white-space:pre-wrap;background:#17191c;height:480px;margin:0;padding:20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.7;overflow:auto}.spin{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1180px){.content{padding:30px 30px 64px}.grid2{grid-template-columns:1fr}.dash-grid{flex-direction:column}}@media (max-width:900px){.app{grid-template-columns:1fr}.mobile-topbar{z-index:45;background:var(--canvas);border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-topbar .brand-name{font-size:18px}.sidebar{z-index:60;background:var(--surface);border-right:1px solid var(--border);width:288px;max-width:86vw;height:100dvh;box-shadow:var(--shadow-float);align-self:stretch;padding:22px 16px 20px;transition:transform .26s cubic-bezier(.2,.9,.3,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-cta{margin:18px 6px 8px}.sidebar-backdrop{z-index:55;background:#16181a73;animation:.16s fade;position:fixed;inset:0}.page{padding:12px}.content{border-radius:20px;min-height:calc(100dvh - 80px);padding:22px 18px 52px}.page-head{flex-direction:column;align-items:flex-start;gap:14px}.page-head>*{width:100%}.grid2{grid-template-columns:1fr}.masonry{column-count:1}.stat .n{font-size:30px}}@media (max-width:560px){.content{padding:18px 14px 44px}.page-head .h-title{font-size:25px}.card-head{flex-wrap:wrap;padding:18px 18px 0}.card-body{padding:16px 16px 18px}.action-group{flex-wrap:wrap}.modal-overlay{padding:12px}.modal{max-height:calc(100dvh - 24px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
