.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{color-scheme:dark;--bg: #181b1f;--bg-gradient: none;--surface: #21252b;--surface-elev: #1e2227;--surface-hover: #282c34;--border: #2c313a;--border-subtle: #252930;--border-focus: #20a53a;--text: #f1f5f9;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--muted: #8b949e;--surface-sunken: #1a1e24;--accent: #20a53a;--accent-text: #ffffff;--accent-bg: rgba(32, 165, 58, .16);--accent-hover: #19882f;--gold: #f59e0b;--gold-bg: rgba(245, 158, 11, .16);--ok: #20a53a;--ok-bg: rgba(32, 165, 58, .16);--ok-border: rgba(32, 165, 58, .35);--warn: #f59e0b;--warn-bg: rgba(245, 158, 11, .16);--warn-border: rgba(245, 158, 11, .35);--down: #ef4444;--down-bg: rgba(239, 68, 68, .16);--down-border: rgba(239, 68, 68, .35);--info: #38bdf8;--info-bg: rgba(56, 189, 248, .16);--focus: #20a53a;--gauge-track: #2e343d;--input-bg: #181b1f;--radius-xs: 3px;--radius-sm: 4px;--radius: 6px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .28);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .4);--shadow-glow: none;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.625rem;--ease: .16s cubic-bezier(.4, 0, .2, 1);--sidebar-w: 255px;--font: "Geist", "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-metric: "Geist", "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", "SF Mono", Menlo, Monaco, Consolas, monospace;--nav-fg: #94a3b8;--nav-icon: #8b949e;--nav-hover: #282c34;--nav-active: rgba(32, 165, 58, .16);--chip-bg: #282c34;--chip-fg: #cbd5e1;--track: #181b1f;--thumb: #3a414d;font-family:var(--font);font-size:13.5px;line-height:1.5;letter-spacing:-.011em;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02" 1,"cv03" 1,"cv04" 1,"cv11" 1,"tnum" 1}.metric-num{font-family:var(--font-metric);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em}.metric-used{color:var(--accent);font-weight:600}html[data-theme=light]{color-scheme:light;--bg: #f4f6f8;--bg-gradient: none;--surface: #ffffff;--surface-elev: #f8fafc;--surface-hover: #f1f5f9;--border: #e2e8f0;--border-subtle: #edf2f7;--border-focus: #20a53a;--text: #0f172a;--text-primary: #0f172a;--text-secondary: #334155;--muted: #64748b;--surface-sunken: #f1f5f9;--accent: #20a53a;--accent-text: #ffffff;--accent-bg: #e8f7ec;--accent-hover: #19882f;--gold: #d97706;--gold-bg: #fef3c7;--ok: #15803d;--ok-bg: #dcfce7;--ok-border: #86efac;--warn: #b45309;--warn-bg: #fef3c7;--warn-border: #fde68a;--down: #dc2626;--down-bg: #fee2e2;--down-border: #fca5a5;--info: #0284c7;--info-bg: #e0f2fe;--focus: #20a53a;--gauge-track: #d8e0eb;--input-bg: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 2px 5px -1px rgba(0, 0, 0, .07), 0 1px 3px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 16px -2px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-glow: none;--nav-fg: #334155;--nav-icon: #64748b;--nav-hover: #f8fafc;--nav-active: #e8f7ec;--chip-bg: #f1f5f9;--chip-fg: #475569;--track: #f1f5f9;--thumb: #cbd5e1}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);transition:background-color var(--ease),color var(--ease)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--track)}::-webkit-scrollbar-thumb{background:var(--thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}h1,h2,h3,h4{font-weight:700;color:var(--text);letter-spacing:-.015em}h1{font-size:var(--text-2xl);margin:0 0 .35rem}h2{font-size:var(--text-lg);margin:0 0 .25rem}h3{font-size:var(--text-md);margin:0}a{color:var(--accent);text-decoration:none;transition:color var(--ease)}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-999px;top:8px;z-index:50;background:var(--accent);color:var(--accent-text);padding:.45rem .85rem;border-radius:var(--radius-sm);font-weight:700;font-size:var(--text-sm);box-shadow:var(--shadow-md)}.skip-link:focus{left:8px}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100%;min-height:0;background:var(--bg)}.app-main-col{min-width:0;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.sidebar{background:var(--surface-elev);border-right:1px solid var(--border);padding:1.1rem .75rem 1.25rem;min-height:0;overflow-y:auto;display:flex;flex-direction:column;box-shadow:1px 0 4px #00000014}.brand-wrapper{display:flex;align-items:center;gap:.85rem;padding:.25rem .5rem 1.15rem;border-bottom:1px solid var(--border);margin-bottom:.85rem}.brand-logo-img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:transparent;border:1px solid rgba(255,255,255,.15);box-shadow:0 2px 8px #00000040;flex-shrink:0}.brand-text{display:flex;flex-direction:column;min-width:0}.brand{margin:0;font-weight:800;font-size:1.15rem;color:var(--text);display:flex;align-items:center;gap:.25rem;letter-spacing:-.02em}.brand-sub{margin:.15rem 0 0;font-size:.74rem;color:var(--muted);font-weight:600;letter-spacing:.02em}.nav-group{margin:1.1rem .6rem .35rem;font-size:.68rem;font-weight:750;color:var(--muted);letter-spacing:.07em;text-transform:uppercase}.sidebar nav{flex:1 1 auto}.sidebar nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.sidebar a{display:flex;align-items:center;gap:.65rem;color:var(--nav-fg);text-decoration:none;padding:.55rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.88rem;position:relative;transition:all var(--ease)}.sidebar-label-vn{font-weight:600;color:inherit}.sidebar a svg{flex:0 0 auto;color:var(--nav-icon);transition:all var(--ease)}.sidebar a:hover{background:var(--nav-hover);color:var(--text)}.sidebar a:hover svg{color:var(--accent)}.sidebar a.active{background:var(--nav-active);color:var(--accent);font-weight:700}.sidebar a.active .sidebar-label-vn{color:var(--accent);font-weight:700}.sidebar a.active svg{color:var(--accent)}.topbar{display:flex;align-items:center;gap:1rem;padding:.6rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface-elev);min-width:0;z-index:10;box-shadow:0 1px 3px #0000000f}.topbar-left{display:flex;align-items:center;gap:.75rem;min-width:0}.topbar-title-wrap{display:flex;align-items:center;gap:.6rem}.topbar-title{margin:0;font-weight:700;font-size:1.15rem;color:var(--text);letter-spacing:-.01em;white-space:nowrap;line-height:1.2}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:.55rem;min-width:0;flex-wrap:nowrap;justify-content:flex-end}.ui-controls{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.lang-wrap{position:relative;display:inline-flex;flex-shrink:0}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:.35rem;min-width:130px;z-index:100;display:flex;flex-direction:column;gap:.2rem}.lang-menu button{background:transparent;border:none;border-radius:3px;color:var(--text-secondary);padding:.45rem .65rem;font-size:.82rem;font-weight:550;text-align:left;cursor:pointer;transition:all var(--ease)}.lang-menu button:hover{background:var(--surface-hover);color:var(--accent)}.lang-menu button.active{background:var(--accent-bg);color:var(--accent);font-weight:700}.topbar-logout{width:2.35rem;height:2.35rem;padding:0;gap:0;font-size:var(--text-sm);font-weight:600;color:var(--nav-icon);background:transparent;border:none}.topbar-logout:hover{background:var(--down-bg);border-color:transparent;color:var(--down)}.user-profile-badge{display:flex;align-items:center;gap:.65rem;background:var(--chip-bg);border:1px solid var(--border-subtle);padding:.35rem .75rem .35rem .45rem;border-radius:var(--radius);flex-shrink:0}.user-avatar-sm{width:26px;height:26px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:750;font-size:.75rem;flex-shrink:0}.user-profile-info{display:flex;align-items:center;gap:.5rem}.user-identifier{font-size:var(--text-sm);color:var(--text);font-weight:700}.role-chip{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:3px;font-size:.74rem;font-weight:600;letter-spacing:.01em;background:var(--chip-bg);color:var(--chip-fg);border:none;line-height:1.35}.role-chip.role-manager{background:#a855f733;color:#c084fc}.role-chip.role-leader{background:#f59e0b33;color:#fbbf24}.role-chip.role-it_seo{background:#20a53a33;color:#4ade80}html[data-theme=light] .role-chip.role-manager{background:#ede9fe;color:#5b21b6}html[data-theme=light] .role-chip.role-leader{background:#ffedd5;color:#9a3412}html[data-theme=light] .role-chip.role-it_seo{background:#dcfce7;color:#166534}.data-table .role-chip{margin-left:0}.topbar-icon{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:var(--radius);color:var(--nav-icon);text-decoration:none;background:transparent;border:none;transition:all var(--ease);position:relative;cursor:pointer;flex-shrink:0}.topbar-icon:hover{background:var(--surface-hover);color:var(--accent)}.topbar-icon.active{background:var(--accent-bg);color:var(--accent)}.topbar-alert-badge{position:absolute;top:1px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#f59e0b;color:#000;font-size:.65rem;font-weight:750;line-height:17px;text-align:center;pointer-events:none;border:2px solid var(--surface);box-sizing:content-box;display:flex;align-items:center;justify-content:center}.topbar-alert-badge.has-down{background:#ef4444;color:#fff;animation:badge-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes badge-pulse{0%{transform:scale(1);box-shadow:0 0 #ef444499}50%{transform:scale(1.08);box-shadow:0 0 0 5px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.sidebar-alert-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3);font-size:.68rem;font-weight:700;line-height:16px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.main{padding:.85rem 1.25rem 1rem;width:100%;flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;background:var(--bg)}.page-head{margin-bottom:.85rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.detail-head.page-head{margin-bottom:.85rem;align-items:center}.page-head-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.dash-metrics-empty{margin:0;padding:.35rem 0 .5rem}.page-head h1{margin:0;font-size:1.35rem;font-weight:750;color:var(--text);line-height:1.25}.page-head .muted{margin:0;max-width:54rem;font-size:.88rem;line-height:1.5;color:var(--muted);font-weight:500}.muted{color:var(--muted)}.menu-btn,.nav-scrim{display:none}.btn,.btn-text{font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.btn{border:1px solid var(--border);border-radius:var(--radius-lg);padding:.48rem .95rem;min-height:2.15rem;background:var(--chip-bg);color:var(--text);font-weight:600;font-size:var(--text-sm);box-shadow:none;transition:background var(--ease),border-color var(--ease),color var(--ease),box-shadow var(--ease);white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-focus);color:var(--text)}.btn:active:not(:disabled){background:var(--surface);transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650;box-shadow:0 1px 3px #20a53a66}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-secondary{background:var(--surface-elev);border-color:var(--border);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){color:var(--accent);border-color:#20a53a59;background:var(--accent-bg)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-text{border:0;background:none;color:var(--muted);padding:.2rem .4rem;border-radius:var(--radius-xs);transition:color var(--ease);font-weight:600}.btn-text:hover{color:var(--accent)}.btn-danger{background:var(--down);border-color:var(--down);color:#fff;font-weight:650}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.user-form,.confirm-block{display:grid;gap:.65rem;margin-bottom:.75rem}.user-form--create{gap:.45rem}.user-form--create .btn{margin-top:.55rem}.user-form label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:.35rem}.user-form--create label{margin-top:.15rem}.user-form input,.user-form select,.user-form textarea{font:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:var(--text-sm);font-weight:500;transition:border-color var(--ease),box-shadow var(--ease)}.user-form textarea{resize:vertical;min-height:4rem}.user-form input:focus,.user-form select:focus,.user-form textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #20a53a33;outline:none}.server-create-clean{display:flex;flex-direction:column;gap:.65rem}.server-create-clean label{font-size:.76rem;font-weight:650;color:var(--text-secondary);text-transform:none;letter-spacing:normal;margin-top:0;margin-bottom:.15rem}.clean-paste-box{border:1px solid var(--border);background:var(--surface-sunken, #f8fafc);border-radius:var(--radius-md, 8px);padding:.85rem 1rem;margin-bottom:.6rem;display:flex;flex-direction:column;gap:.55rem}[data-theme=dark] .clean-paste-box{background:#ffffff06;border-color:#ffffff14}.clean-paste-header{display:flex;align-items:center;justify-content:space-between}.clean-paste-label{font-size:.84rem;font-weight:700;color:var(--text);margin:0!important;text-transform:none!important;letter-spacing:normal!important;cursor:pointer}.btn-clean-clear{background:none;border:none;color:var(--text-muted, #94a3b8);font-size:.75rem;font-weight:600;cursor:pointer;padding:.15rem .4rem;border-radius:4px}.btn-clean-clear:hover{color:var(--danger, #ef4444)}.clean-paste-textarea{width:100%;box-sizing:border-box;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);font-size:.84rem;line-height:1.55;padding:.7rem .85rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border);background:var(--input-bg);color:var(--text);resize:vertical;min-height:135px}.clean-paste-textarea:focus{border-color:var(--border-focus, #22c55e);box-shadow:0 0 0 2px #22c55e33;outline:none}.smart-paste-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem;margin-top:.2rem}.smart-paste-tags-label{font-weight:600;color:var(--text-secondary)}.team-fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .9rem;margin:.5rem 0;background:var(--surface-elev)}.team-fieldset legend{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:0 .4rem}.check-row{display:flex;gap:.55rem;align-items:center;color:var(--text-secondary);margin:.35rem 0;font-size:var(--text-sm);font-weight:500;cursor:pointer}.check-row input[type=checkbox],.check-row input[type=radio]{accent-color:var(--accent);width:1rem;height:1rem;cursor:pointer}.rotate-form{display:flex;flex-direction:column;gap:1rem}.rotate-target{margin:0;padding:.7rem .9rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-sm);font-weight:650;line-height:1.4}.rotate-target--warn{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn)}.rotate-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.rotate-card{margin:0;padding:.85rem 1rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sunken);min-width:0}.rotate-card legend{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);padding:0 .2rem}.rotate-card .check-row{margin:.55rem 0 0}.rotate-shared{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.rotate-ack{margin:0;padding:.75rem .9rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:flex-start;line-height:1.45}.rotate-actions{display:flex;justify-content:flex-end;gap:.65rem}.import-col-guide{margin:0;padding:.7rem .9rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-sm);line-height:1.45}.import-preview{overflow:auto;max-height:16rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.import-preview table{width:100%;border-collapse:collapse;font-size:.82rem}.import-preview th,.import-preview td{padding:.4rem .65rem;text-align:left;border-bottom:1px solid var(--border-subtle)}.import-preview th{position:sticky;top:0;background:var(--surface);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.rotate-result{display:flex;flex-direction:column;gap:.85rem}.rotate-result-summary{margin:0}.rotate-fail-list{margin:0;padding-left:1.1rem;font-size:var(--text-sm)}@media(max-width:560px){.rotate-grid,.rotate-shared{grid-template-columns:1fr}}.form-warn{color:var(--down);background:var(--down-bg);border:1px solid var(--down-border);padding:.55rem .8rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;margin:.35rem 0}.form-hint{margin:-.15rem 0 .45rem;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.form-kicker{margin:.85rem 0 0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.form-grid-2{display:grid;gap:.65rem;align-items:start}@media(min-width:640px){.form-grid-2{grid-template-columns:1fr 1fr;gap:.65rem 1rem}}.form-cell{display:grid;gap:.35rem;align-content:start}.form-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.form-label-row label{margin:0}.form-label-link{font-size:.76rem;font-weight:600;text-decoration:underline;white-space:nowrap}.form-cell label{margin-top:0}.panel-advanced{margin:.35rem 0 .6rem}.panel-advanced summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.panel-advanced[open] summary{margin-bottom:.55rem}.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.row-actions .btn{flex:0 0 auto;padding:.25rem .6rem;font-size:.78rem;font-weight:600}.login-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background-color:var(--bg);background-image:radial-gradient(circle at 15% 15%,rgba(32,165,58,.12) 0%,transparent 45%),radial-gradient(circle at 85% 85%,rgba(56,189,248,.08) 0%,transparent 45%),radial-gradient(circle at 50% 50%,rgba(32,165,58,.03) 0%,transparent 65%);position:relative;overflow:hidden}.login-screen:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.02) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}html[data-theme=light] .login-screen{background-color:#f4f6f8;background-image:radial-gradient(circle at 15% 15%,rgba(32,165,58,.09) 0%,transparent 45%),radial-gradient(circle at 85% 85%,rgba(14,165,233,.06) 0%,transparent 45%),radial-gradient(circle at 50% 50%,rgba(244,246,248,1) 0%,transparent 70%)}html[data-theme=light] .login-screen:before{background-image:linear-gradient(to right,rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.025) 1px,transparent 1px)}.login-ui{position:absolute;top:1.25rem;right:1.5rem;z-index:20;display:flex;align-items:center;gap:.35rem;padding:.3rem .5rem;background:var(--surface);border:1px solid var(--border);border-radius:9999px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-card{width:min(100%,420px);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2.5rem 2rem 2.25rem;box-shadow:0 20px 40px -15px #0000004d,0 0 0 1px #ffffff0a;position:relative;z-index:10;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:loginCardIn .35s cubic-bezier(.16,1,.3,1)}@keyframes loginCardIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-brand-header{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.login-logo-container{position:relative;margin-bottom:1rem;display:flex;align-items:center;justify-content:center}.login-logo-glow{position:absolute;inset:-4px;background:linear-gradient(135deg,#20a53a73,#38bdf840);border-radius:20px;filter:blur(10px);opacity:.6}.login-brand-logo-img{width:76px;height:76px;border-radius:50%;object-fit:cover;position:relative;z-index:2;border:2px solid rgba(255,255,255,.2);background:transparent;box-shadow:0 8px 24px #00000059;margin:0}.login-kicker{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .65rem;border-radius:9999px;background:var(--accent-bg);border:1px solid rgba(32,165,58,.25);color:var(--accent);font-size:.72rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .5rem}.login-kicker-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulseDot 2s infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.login-card h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:750;letter-spacing:-.02em;color:var(--text)}.login-subtitle{margin:0;font-size:.82rem;line-height:1.4;color:var(--muted)}.login-card form{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.4rem;text-align:left}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field label{font-size:.76rem;font-weight:650;color:var(--text-secondary);letter-spacing:.02em;text-transform:none}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:.85rem;color:var(--muted);pointer-events:none;display:flex;align-items:center;justify-content:center}.login-input-wrap input{width:100%;font:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem 2.6rem .65rem 2.5rem;font-size:var(--text-sm);font-weight:500;margin-bottom:0;transition:all var(--ease)}.login-input-wrap input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.login-input-wrap input::placeholder{color:var(--muted);opacity:.6}.login-password-toggle{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);padding:.35rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--ease)}.login-password-toggle:hover{color:var(--text)}.login-submit-btn{margin-top:.4rem;width:100%;padding:.72rem 1rem;font-size:var(--text-sm);font-weight:650;border-radius:var(--radius);background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 14px #20a53a4d;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--ease)}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#20b857,#15803d);transform:translateY(-1px);box-shadow:0 6px 18px #20a53a66}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.login-totp-hint{margin:.45rem 0 0;font-size:.78rem;color:var(--muted)}.login-back-btn{display:block;width:100%;margin-top:.75rem;border:0;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer}.login-back-btn:hover:not(:disabled){color:var(--text)}.login-footer-info{margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.74rem;color:var(--muted)}.state-block{padding:2.25rem 1.5rem;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin:1rem 0;box-shadow:var(--shadow-sm)}.state-block h2{margin:0 0 .45rem;font-size:var(--text-lg);color:var(--text)}.state-block p{margin:0;max-width:32rem;margin-inline:auto;font-size:var(--text-sm);color:var(--muted);font-weight:500}.state-error{border-color:var(--down-border);background:var(--down-bg);text-align:left;padding:1.15rem 1.35rem}.state-error h2{color:var(--down)}.state-error p{margin:0 0 .35rem;max-width:none;color:var(--text);font-weight:500}.state-undecided{border-color:var(--warn-border);background:var(--warn-bg)}.state-undecided h2{color:var(--warn)}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite;margin-bottom:.65rem}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;padding:.18rem .55rem;border-radius:3px;border:none;line-height:1.35}.badge:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-down{background:var(--chip-bg);color:var(--muted)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.health-dot{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.health-dot-mark{width:.55rem;height:.55rem;border-radius:50%;background:var(--muted);flex:0 0 auto;position:relative}.health-dot-ok .health-dot-mark{background:var(--ok);box-shadow:0 0 6px #20a53a99}.health-dot-down .health-dot-mark{background:var(--down);box-shadow:0 0 6px #ef444499}.health-dot-warn .health-dot-mark{background:var(--warn);box-shadow:0 0 6px #f59e0b99}.health-dot-label{font-weight:700;font-size:var(--text-sm);color:var(--text)}.fleet-overview{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.25rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:0 0 1rem;flex-wrap:wrap}.fleet-ribbon-left{display:flex;align-items:baseline;gap:.85rem}.fleet-ribbon-total{display:flex;align-items:baseline;gap:.4rem;font-size:1.45rem;font-weight:800;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.fleet-ribbon-total span{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.fleet-ribbon-updated{font-size:.76rem}.fleet-ribbon-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.fleet-capsule-group{display:flex;align-items:center;gap:.45rem}.fleet-capsule{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .65rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;color:var(--text-secondary)}.fleet-capsule strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:750;margin-left:.15rem}.fleet-capsule--ok{border-color:#20a53a40;background:#20a53a0f}.fleet-capsule--down{border-color:#ef444459;background:#ef444414;color:var(--down)}.fleet-dims-pills{display:flex;align-items:center;gap:.45rem}.fleet-dim-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;color:var(--text-secondary);padding:.2rem .55rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.fleet-dim-pill strong{font-weight:750;color:var(--text-primary)}.fleet-note{width:100%;margin:.35rem 0 0;color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-border);padding:.45rem .75rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;box-shadow:var(--shadow-sm)}.metric-card h3{margin:0;font-size:.75rem;font-weight:750;color:var(--muted);text-transform:uppercase}.metric-value{font-size:1.55rem;font-weight:800;margin:.25rem 0 0;font-variant-numeric:tabular-nums;font-family:var(--font-mono);color:var(--text)}.fleet-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:.75rem 0 1.15rem}.inventory-controls{display:flex;flex-wrap:wrap;gap:.65rem .75rem;align-items:end;margin-bottom:.85rem;background:var(--surface);border:1px solid var(--border);padding:.75rem 1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.inventory-controls>.btn{min-height:2.15rem}.ctrl{display:grid;gap:.25rem;font-size:.75rem;font-weight:750;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ctrl-grow{flex:1 1 16rem;min-width:min(100%,16rem)}.ctrl input,.ctrl select{font:inherit;font-weight:500;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.45rem .7rem;min-width:9rem;min-height:2.15rem;font-size:var(--text-sm);transition:border-color var(--ease),box-shadow var(--ease)}.ctrl input:focus,.ctrl select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #20a53a33;outline:none}.ctrl input[type=search]{min-width:14rem;width:100%}.search-input-wrap{position:relative;display:flex;align-items:center;width:100%}.search-input-wrap .search-icon{position:absolute;left:.75rem;color:var(--muted);pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:1}.search-input-wrap input[type=search]{padding-left:2.25rem!important;width:100%}.inventory-count{margin:0 0 .85rem;font-size:var(--text-sm);color:var(--muted);font-weight:600}.alerts-realtime-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.65rem 1rem;margin-bottom:.95rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.alerts-realtime-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.alerts-live-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#20a53a;background:#20a53a1f;border:1px solid rgba(32,165,58,.25);border-radius:var(--radius-pill);padding:.2rem .6rem}.alerts-live-pill.paused{color:var(--text-secondary);background:var(--surface-sunken);border-color:var(--border)}.alerts-live-dot{width:6px;height:6px;border-radius:50%;background:#20a53a;box-shadow:0 0 #20a53ab3;animation:alerts-live-pulse 1.6s ease-out infinite}.alerts-live-dot.paused{background:var(--text-secondary);box-shadow:none;animation:none}@keyframes alerts-live-pulse{0%{box-shadow:0 0 #20a53a8c}70%{box-shadow:0 0 0 6px #20a53a00}to{box-shadow:0 0 #20a53a00}}.alerts-sync-time{font-size:.78rem;color:var(--muted);font-weight:500}.alerts-realtime-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.alerts-refresh-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.78rem;font-weight:600}.refresh-icon{flex-shrink:0;transition:transform .2s ease}.alerts-overview-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem}.alerts-overview-bar .inventory-count{margin:0}.alerts-filter-bar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.alert-filter-btn{background:var(--surface-sunken, #f1f5f9);border:1px solid var(--border);color:var(--text-secondary);font-size:.78rem;font-weight:600;padding:.25rem .65rem;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:all .15s ease}.alert-filter-btn:hover{color:var(--text);border-color:var(--border-hover, #94a3b8)}.alert-filter-btn.active{background:var(--accent, #22c55e);color:#fff;border-color:var(--accent, #22c55e)}[data-theme=dark] .alert-filter-btn{background:#ffffff0d;border-color:#ffffff1a;color:var(--text-secondary)}[data-theme=dark] .alert-filter-btn.active{background:var(--accent, #22c55e);color:#0c0d0e;border-color:var(--accent, #22c55e)}.server-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:1.25rem}.server-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.35rem 1.5rem 1.15rem;box-shadow:var(--shadow-sm);transition:border-color var(--ease),box-shadow var(--ease);position:relative;display:flex;flex-direction:column;min-width:0;width:100%}.server-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md)}.server-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-subtle);min-width:0}.server-title-group{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.server-title-row{display:flex;align-items:center;gap:.55rem;min-width:0}.server-name{margin:0;font-size:1.22rem;font-weight:800;color:var(--text);white-space:normal;word-break:break-word;line-height:1.3;min-width:0;flex:1 1 auto}.server-sub-websites{margin:.2rem 0 0 1.45rem;font-size:.84rem;color:var(--muted);font-weight:550;white-space:nowrap}.website-num{font-weight:800;font-size:.92rem;color:var(--accent)}.server-matched-domains{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0 0 1.45rem;padding:0;list-style:none}.domain-match-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.74rem;font-weight:650;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-subtle));border-radius:999px;padding:.12rem .5rem}.domain-hit-banner{margin:0 0 .75rem;padding:.55rem .8rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 10%,var(--surface-sunken));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border-subtle));color:var(--text);font-size:.88rem;font-weight:650}.server-head-right{display:flex;align-items:center;gap:.65rem;flex-shrink:0;padding-top:.15rem}.server-head-right .scan-label{margin:0}.server-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.btn-detail{padding:.35rem .85rem;font-size:.84rem;font-weight:650;border-radius:var(--radius-sm);background:var(--chip-bg);border:1px solid var(--border);color:var(--text)}.btn-detail:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.server-meta-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:.85rem 0;border-bottom:1px solid var(--border-subtle);min-width:0}.meta-col{display:flex;flex-direction:column;gap:.25rem;min-width:0}.meta-kicker{font-size:.72rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.meta-val-group{display:flex;align-items:center;gap:.55rem;min-width:0}.vps-owner-badge{width:32px;height:32px;border-radius:6px;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;flex-shrink:0}.meta-text-wrap{min-width:0;overflow:hidden}.meta-primary-text{margin:0;font-size:.95rem;font-weight:750;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-secondary-text{margin:0;font-size:.78rem;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn-status{margin:0;font-size:.95rem;font-weight:750;color:var(--ok);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn-status-down{color:var(--down)}.conn-status-warn{color:var(--warn)}.conn-status-neutral{color:var(--muted)}.server-ip{font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:.86rem;color:var(--muted);margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gauge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:.95rem 0;margin:0;text-align:center;min-width:0}.gauge-cell{display:flex;flex-direction:column;align-items:center;min-width:0}.gauge-label{font-size:.78rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.gauge-body{margin:0;display:flex;flex-direction:column;align-items:center}.gauge-circle-wrap{position:relative;width:86px;height:86px;display:flex;align-items:center;justify-content:center;margin:0 auto}.gauge-svg{transform:rotate(-90deg);display:block}.gauge-value{position:absolute;font-family:var(--font-mono);font-size:1.15rem;font-weight:800;color:var(--text);text-align:center;inset:0;display:flex;align-items:center;justify-content:center}.gauge-value.gauge-crit{color:var(--down)}.gauge-hint{font-size:.75rem;color:var(--accent);font-weight:600;margin-top:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:125px}.dim-list{list-style:none;margin:.5rem 0 0;padding:.75rem 0 0;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:.5rem 1.15rem;font-size:.84rem}.dim-list li{display:flex;align-items:baseline;gap:.35rem;color:var(--text-secondary)}.dim-k{color:var(--muted);font-size:.74rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.dim-v{font-weight:750;color:var(--text);font-size:.84rem}.dim-v.tone-ok{color:var(--ok)}.dim-v.tone-down{color:var(--down)}.dim-v.tone-warn{color:var(--warn)}.reason{color:var(--muted);font-size:var(--text-xs);font-weight:500;margin-left:.2rem}.pager{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.25rem}.table-wrap{width:100%;max-width:100%;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.data-table{width:100%;max-width:100%;border-collapse:collapse;text-align:left}.data-table th,.data-table td{padding:.85rem 1.15rem;overflow-wrap:anywhere;word-break:break-word;vertical-align:middle;font-size:var(--text-sm)}.data-table th{background:var(--surface-elev);color:var(--muted);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;border-bottom:1px solid var(--border)}.data-table td{color:var(--text);font-weight:500;border-bottom:1px solid var(--border-subtle)}.data-table tbody tr{transition:background var(--ease)}.data-table tbody tr:hover td{background:var(--surface-hover)}.data-table tbody tr:last-child td{border-bottom:0}.data-table .col-fit{width:8rem;white-space:nowrap;overflow-wrap:normal;word-break:normal}.data-table .col-btn{width:7.5rem;white-space:nowrap;overflow-wrap:normal;word-break:normal}.data-table .col-actions{width:13rem;white-space:nowrap;overflow-wrap:normal;word-break:normal}.data-table .col-checkbox{width:44px;text-align:center;padding:.6rem .5rem}.row-checkbox{cursor:pointer;width:17px;height:17px;accent-color:var(--brand, #38bdf8);border-radius:4px;vertical-align:middle}.data-table tbody tr.row-selected td{background:#38bdf817!important}.data-table tbody tr.row-selected:hover td{background:#38bdf824!important}.data-table tbody tr.row-warn td{background:var(--warn-bg)}.data-table tbody tr.row-warn:hover td{background:#f59e0b38}.data-table tbody tr.row-attention td{background:var(--down-bg)}.data-table tbody tr.row-attention:hover td{background:#ef444438}.table-wrap.sheet-table-wrap{border-radius:var(--radius)}.sheet-table-wrap .data-table{width:100%;min-width:100%;table-layout:auto}.sheet-table-wrap .data-table th,.sheet-table-wrap .data-table td{padding:.55rem .65rem;white-space:nowrap;overflow-wrap:normal;word-break:normal}.sheet-table-wrap .data-table tbody tr:nth-child(2n):not(.row-selected):not(.row-warn):not(.row-attention) td{background:var(--surface-sunken)}.sheet-table-wrap .data-table .col-fit{width:1%;white-space:nowrap}.sheet-table-wrap .sheet-col-fluid{width:100%;min-width:4.5rem;max-width:none}.sheet-table-wrap .sheet-col-fluid .sheet-copy,.sheet-table-wrap .sheet-col-fluid .sheet-panel-url{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-col-stt{width:1%;text-align:right}.sheet-stt{color:var(--muted);font-variant-numeric:tabular-nums}.sheet-ip{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.01em}.sheet-user{font-family:var(--font-mono);font-size:.8rem}.sheet-panel-url{color:var(--info);font-weight:650}.sheet-panel-url:hover{text-decoration:underline}.sheet-note{display:inline-block;max-width:16rem;white-space:normal;line-height:1.35;font-weight:500}.sheet-empty{color:var(--muted)}.sheet-status{font-weight:750;font-size:.78rem;letter-spacing:.02em}.sheet-status-ok{color:var(--ok)}.sheet-status-down{color:var(--down)}.sheet-status-attention{color:var(--warn)}.sheet-status-neutral{color:var(--muted)}.sheet-copy{display:inline;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:inherit;cursor:copy}.sheet-copy:hover{text-decoration:underline;text-underline-offset:2px}.sheet-pass{font-family:var(--font-mono);font-size:.8rem;font-weight:650}.sheet-reveal-btn{min-height:1.7rem;padding:.15rem .65rem;border-radius:var(--radius-pill);border-color:transparent;background:var(--accent-bg);color:var(--accent);box-shadow:none;font-size:.72rem;font-weight:700;letter-spacing:.01em;gap:.28rem;white-space:nowrap}.sheet-reveal-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.sheet-reveal-btn:disabled{background:var(--surface-sunken);color:var(--muted)}.sheet-reveal-btn svg{width:12px;height:12px}.sheet-row-actions{display:inline-flex;align-items:center;gap:.35rem}.sheet-reveal-btn-danger{background:color-mix(in srgb,var(--danger, #c0392b) 12%,var(--surface));color:var(--danger, #c0392b)}.sheet-reveal-btn-danger:hover:not(:disabled){background:var(--danger, #c0392b);border-color:var(--danger, #c0392b);color:#fff}.page-lead{margin:0 0 .85rem;max-width:48rem;line-height:1.45}.server-sheet .inventory-controls{margin-bottom:.7rem}.sheet-ledger{margin:0 0 .7rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.sheet-team-tabs-wrap{display:flex;align-items:stretch;position:relative;border-bottom:1px solid var(--border);background:var(--surface-sunken)}.sheet-team-tabs{display:flex;align-items:stretch;flex:1 1 auto;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.sheet-team-tabs-wrap[data-overflow-start="1"] .sheet-team-tabs{-webkit-mask-image:linear-gradient(to right,transparent,#000 1.1rem);mask-image:linear-gradient(to right,transparent,#000 1.1rem)}.sheet-team-tabs-wrap[data-overflow-end="1"] .sheet-team-tabs{-webkit-mask-image:linear-gradient(to left,transparent,#000 1.1rem);mask-image:linear-gradient(to left,transparent,#000 1.1rem)}.sheet-team-tabs-wrap[data-overflow-start="1"][data-overflow-end="1"] .sheet-team-tabs{-webkit-mask-image:linear-gradient(to right,transparent,#000 1.1rem,#000 calc(100% - 1.1rem),transparent);mask-image:linear-gradient(to right,transparent,#000 1.1rem,#000 calc(100% - 1.1rem),transparent)}.sheet-team-scroll{display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.65rem;width:1.65rem;margin:0;padding:0;border:0;border-right:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--text-secondary);cursor:pointer}.sheet-team-scroll.is-end{border-right:0;border-left:1px solid var(--border)}.sheet-team-scroll svg{width:11px;height:11px}.sheet-team-scroll:hover{background:var(--surface-hover);color:var(--text)}.sheet-team-tab{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;margin:0;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);padding:.52rem .95rem;font:inherit;font-size:.78rem;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer}.sheet-team-tab svg{width:10px;height:10px;opacity:.55}.sheet-team-tab:hover{background:var(--surface-hover);color:var(--text)}.sheet-team-tab.is-active{background:var(--info-bg);color:var(--info)}.sheet-team-tab.is-active svg{opacity:.9}.sheet-team-tab:focus-visible{outline:2px solid var(--info);outline-offset:-2px;z-index:1}.sheet-ledger .inventory-count{margin:0;padding:.5rem .9rem}html[data-theme=light] .sheet-team-tabs-wrap{background:#fff}html[data-theme=light] .sheet-team-tab.is-active{background:#e8f1ff;color:#1a73e8}.contextual-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;margin-bottom:1rem;border-radius:var(--radius);background:#38bdf814;border:1px solid rgba(56,189,248,.28);box-shadow:0 2px 10px #00000026;animation:contextualBarSlideIn .2s cubic-bezier(.16,1,.3,1);flex-wrap:wrap}@keyframes contextualBarSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.contextual-info{display:flex;align-items:center;gap:.75rem;font-weight:600;color:var(--text-primary);font-size:.9rem}.contextual-badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--brand, #38bdf8);color:#030712;font-weight:750;font-size:.78rem;padding:.2rem .6rem;border-radius:9999px;letter-spacing:-.01em}.contextual-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.detail-head{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1.25rem}.detail-head h1{margin:.2rem 0;color:var(--text)}.detail-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.overview-grid,.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:.75rem 0 1.25rem}.health-block,.overview-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem 1rem;box-shadow:var(--shadow-sm)}.health-block:hover,.overview-item:hover{border-color:var(--border-focus)}.health-block h3,.overview-item h3{margin:0 0 .35rem;font-size:.72rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.overview-item p{margin:0;font-weight:700;font-size:1rem;color:var(--text);overflow-wrap:anywhere}.server-detail h2{font-size:1.05rem;font-weight:750;color:var(--text);margin:1.25rem 0 .5rem;display:flex;align-items:center;gap:.5rem}.break-url{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:.85rem;color:var(--info)}.root-reveal{max-width:100%;min-width:0}.root-reveal-kicker{margin:0 0 .35rem;font-weight:800;color:var(--warn);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.root-reveal-warning{color:var(--text-secondary);background:var(--warn-bg);border:1px solid var(--warn-border);padding:.75rem .85rem;border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.5;margin-bottom:.85rem;font-weight:500;white-space:normal;overflow-wrap:anywhere}.root-reveal-value{font-family:var(--font-mono);font-size:1.2rem;letter-spacing:.05em;margin:.85rem 0;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-weight:800;text-align:center}.root-reveal-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.65rem}.ssh-page{display:flex;flex-direction:column}.terminal-window-card{margin-top:1.25rem;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border);position:relative}.terminal-mac-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .9rem;background:var(--surface-elev);border-bottom:1px solid var(--border);gap:.75rem}.terminal-mac-left{display:flex;align-items:center;gap:.45rem}.terminal-mac-header .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.terminal-mac-header .dot-red{background:#ef4444}.terminal-mac-header .dot-yellow{background:#f59e0b}.terminal-mac-header .dot-green{background:#20a53a}.terminal-title{margin-left:.35rem;font-family:var(--font-mono);color:var(--text);font-weight:700;font-size:.82rem}.terminal-mac-right{display:flex;align-items:center;gap:.75rem}.terminal-mac-presence{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary);font-weight:500}.terminal-header-btn{padding:.35rem .8rem!important;font-size:.82rem!important;font-weight:600!important;border-radius:6px!important;display:inline-flex!important;align-items:center!important;gap:.35rem!important}.terminal-connect-overlay{position:absolute;inset:42px 0 0;background:#0c0d0ee0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:5;padding:1.5rem}.terminal-connect-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:2rem 2.5rem;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 40px #00000073;display:flex;flex-direction:column;align-items:center;gap:.65rem}.terminal-connect-icon{width:52px;height:52px;border-radius:50%;background:#20a53a24;color:#20a53a;display:flex;align-items:center;justify-content:center;margin-bottom:.2rem}.terminal-connect-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text)}.terminal-connect-subtitle{margin:0;font-size:.85rem;color:var(--text-secondary)}.terminal-connect-launch-btn{margin-top:.65rem;width:100%;justify-content:center;padding:.65rem 1.25rem!important;font-size:.95rem!important;font-weight:600!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;gap:.5rem!important}.ssh-page .xterm-host,.xterm-host{height:min(72vh,680px);min-height:320px;background:#0c0d0e;padding:.75rem}.modal{border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 25px 50px -12px #0006,0 0 0 1px var(--border-subtle);max-width:90vw;overflow:hidden;white-space:normal}.modal::backdrop{background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-inner{padding:1.5rem 1.65rem;min-width:min(100vw - 2rem,480px);max-width:100%;box-sizing:border-box}.modal--wide .modal-inner{width:min(100vw - 2rem,580px);min-width:min(100vw - 2rem,580px)}.modal--compact .modal-inner{min-width:min(100vw - 2rem,360px);width:min(100vw - 2rem,400px)}.modal--rotate .modal-inner{width:min(100vw - 2rem,520px);min-width:min(100vw - 2rem,440px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.modal-header h2{margin:0;font-size:1.25rem;font-weight:750;color:var(--text);line-height:1.3}.modal-close-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;flex-shrink:0}.modal-close-btn:hover{background:var(--surface-sunken);color:var(--text);border-color:var(--border-subtle)}.modal-close-btn:active{transform:scale(.94)}.modal-close-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.modal-body{margin:0;min-width:0;overflow-wrap:break-word}.toast-region{position:fixed;right:1.25rem;bottom:1.25rem;display:grid;gap:.5rem;z-index:50}.toast{display:flex;gap:.75rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;box-shadow:var(--shadow-lg);animation:slideIn .2s ease-out;min-width:240px;max-width:400px}@keyframes slideIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0)}}.toast-error{border-color:var(--down-border);background:var(--down-bg)}.toast-error p{color:var(--down)}.toast p{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--text);flex:1 1 auto}.audit-detail{display:grid;grid-template-columns:8.5rem 1fr;gap:.45rem 1rem;margin:0 0 1rem;font-size:var(--text-sm)}.audit-detail dt{color:var(--muted);font-weight:700;margin:0}.audit-detail dd{margin:0;overflow-wrap:anywhere;color:var(--text);font-weight:500}.meta-list{margin:0;padding-left:1.1rem}.meta-key{color:var(--muted);font-weight:600}.meta-redacted{color:var(--down);font-weight:700}.main:has(.audit-page-section){padding:.85rem 1.25rem;overflow-y:hidden}.audit-page-section,.audit-log{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.inventory-controls.audit-controls{flex-shrink:0;margin-bottom:.4rem;padding:.4rem .75rem;gap:.35rem .55rem;align-items:flex-end}.inventory-controls.audit-controls .ctrl{font-size:.7rem;gap:.15rem}.inventory-controls.audit-controls .ctrl input,.inventory-controls.audit-controls .ctrl select{padding:.25rem .45rem;height:1.85rem;font-size:.8rem;min-width:6rem}.inventory-controls.audit-controls .ctrl input[type=search]{min-width:8rem}.audit-count-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.1rem 0 .3rem;flex-shrink:0}.audit-count-row .inventory-count{margin:0;font-size:.78rem}.table-wrap.audit-table-wrap,.audit-log .table-wrap{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.table-wrap.audit-table-wrap .data-table th,.table-wrap.audit-table-wrap .data-table td,.audit-log .data-table th,.audit-log .data-table td{padding:.38rem .65rem;font-size:.8rem}.table-wrap.audit-table-wrap .data-table th,.audit-log .data-table th{position:sticky;top:0;z-index:2;background:var(--surface-elev)}.audit-pager{margin-top:.35rem;margin-bottom:0;padding:.15rem 0;flex-shrink:0;gap:.5rem}.audit-pager .btn{padding:.2rem .6rem;height:1.8rem;font-size:.8rem}@media(max-width:1100px){.fleet-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:959px){.app-shell{grid-template-columns:1fr}.menu-btn{display:inline-flex}.sidebar{position:fixed;inset:0 auto 0 0;width:min(80vw,270px);transform:translate(-100%);transition:transform .2s cubic-bezier(.4,0,.2,1);z-index:40;box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.nav-scrim{display:block;position:fixed;inset:0;border:0;background:#000000b3;z-index:35}.main{padding:1.25rem 1rem}.server-grid{grid-template-columns:1fr}.metric-row,.fleet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ctrl{flex:1 1 calc(50% - .7rem);min-width:0}.ctrl-grow{flex-basis:100%}.ctrl input,.ctrl select{min-width:0;width:100%}.ctrl input[type=search]{min-width:0}.data-table th,.data-table td{padding:.65rem .75rem}.data-table .col-fit{width:5.5rem;white-space:normal}.sheet-table-wrap .data-table .col-fit{width:1%;white-space:nowrap}.data-table .col-btn{width:6rem}.data-table .col-actions{width:6.5rem;white-space:normal}.row-actions{flex-direction:column;align-items:stretch}.audit-detail{grid-template-columns:minmax(0,1fr)}}.dashboard-page-container{min-height:calc(100vh - 5.5rem);display:flex;flex-direction:column;flex:1}.dashboard-overview{flex:1;display:flex;flex-direction:column;gap:.5rem}.dash-live-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0}.dash-live-status{display:flex;align-items:center;gap:.65rem}.dash-live-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#20a53a;background:#20a53a1f;border:1px solid rgba(32,165,58,.25);border-radius:var(--radius-pill);padding:.18rem .6rem}.dash-live-dot{width:6px;height:6px;border-radius:50%;background:#20a53a;box-shadow:0 0 #20a53ab3;animation:dash-live-pulse 1.6s ease-out infinite}@keyframes dash-live-pulse{0%{box-shadow:0 0 #20a53a8c}70%{box-shadow:0 0 0 6px #20a53a00}to{box-shadow:0 0 #20a53a00}}.dash-live-fleet-tag{font-size:.8rem;color:var(--text-secondary)}.dash-sample-time{font-size:.78rem}.dash-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;flex-shrink:0}.dash-kpi-card{display:flex;align-items:center;gap:.65rem;padding:.4rem .85rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--ease),box-shadow var(--ease)}.dash-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border)}.dash-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);flex-shrink:0}.dash-kpi-icon--emerald{background:#20a53a1f;color:#20a53a}.dash-kpi-icon--blue{background:#38bdf81f;color:#38bdf8}.dash-kpi-icon--green{background:#10b9811f;color:#10b981}.dash-kpi-icon--purple{background:#8b5cf61f;color:#8b5cf6}.dash-kpi-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.dash-kpi-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.dash-kpi-number{font-size:1.2rem;font-weight:750;line-height:1.1;color:var(--text-primary);margin:0}.dash-kpi-sub{font-size:.78rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-analytics-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:.55rem;flex:.72;min-height:170px;max-height:38vh}.dash-panel{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.65rem 1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.dash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.45rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.dash-panel-title-wrap{display:flex;align-items:center;gap:.55rem;color:var(--text-primary)}.dash-panel-title-wrap h3{margin:0;font-size:.98rem;font-weight:700;color:var(--text-primary)}.dash-traffic-chart-panel{flex:1.25;min-height:0;display:flex;flex-direction:column}.dash-side-health-panel{flex:1;min-height:0;display:flex;flex-direction:column}.dash-traffic-metrics-strip{display:flex;align-items:center;gap:.75rem;margin-bottom:.65rem;flex-wrap:wrap;flex-shrink:0}.dash-metric-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:.76rem}.dash-pill-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dash-pill-dot--down{background:#38bdf8;box-shadow:0 0 4px #38bdf899}.dash-pill-dot--up{background:#20a53a;box-shadow:0 0 4px #20a53a99}.dash-chart-container{flex:1;min-height:110px;position:relative;width:100%}.dash-gauges-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;align-items:stretch}.dash-stat-gauge-card{display:flex;align-items:center;justify-content:space-between;padding:.35rem .55rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius);min-height:62px}.dash-stat-gauge-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow:hidden}.dash-stat-label{font-size:.92rem;font-weight:700;color:var(--text-primary)}.dash-stat-sub{font-size:.76rem;color:var(--muted)}.dash-stat-gauge-ring{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}.dash-stat-gauge-ring .ring-gauge{margin:0;position:relative}.dash-stat-gauge-ring .ring-gauge-svg{display:block}.dash-stat-gauge-ring .ring-gauge-track{fill:none!important;stroke:var(--border-subtle, #e2e8f0)!important}.dash-stat-gauge-ring .ring-gauge-bar{fill:none!important}.dash-stat-gauge-ring .ring-gauge-center{padding:0!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.dash-stat-gauge-ring .dash-gauge-val{font-size:.95rem!important;font-weight:800!important;color:var(--text-primary)!important;line-height:1!important;text-align:center!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;letter-spacing:-.02em!important}.dash-layer-stack{display:flex;flex-direction:column;gap:.4rem;flex:1;justify-content:center}.dash-layer-row{display:flex;align-items:center;gap:.65rem;padding:.4rem .7rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius)}.dash-layer-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-layer-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.dash-layer-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-layer-top h4{font-size:.84rem;font-weight:600;margin:0;color:var(--text-primary)}.dash-layer-meter{width:100%}.dash-meter-track{height:5px;border-radius:var(--radius-pill);background:var(--border-subtle);overflow:hidden}.dash-meter-bar{height:100%;border-radius:var(--radius-pill);transition:width .5s ease}.dash-meter-bar.tone-ok{background:linear-gradient(90deg,#20a53a,#10b981)}.dash-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:.55rem;flex:1.85;min-height:280px}.dash-panel.dash-team-section,.dash-panel.dash-spotlight-section{display:flex;flex-direction:column;flex:1;min-height:280px;height:100%}.dash-team-scroll-area,.dash-attention-scroll-area{flex:1;overflow-y:auto;padding-right:.25rem}.dash-team-scroll-area::-webkit-scrollbar,.dash-attention-scroll-area::-webkit-scrollbar{width:5px}.dash-team-scroll-area::-webkit-scrollbar-thumb,.dash-attention-scroll-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.dash-team-scroll-area::-webkit-scrollbar-thumb:hover,.dash-attention-scroll-area::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.dash-attention-footer{padding-top:.4rem;margin-top:.35rem;border-top:1px solid var(--border-subtle);text-align:center;flex-shrink:0}.dash-more-alerts-link{font-size:.76rem;font-weight:600;color:var(--accent);text-decoration:none}.dash-more-alerts-link:hover{text-decoration:underline}.dash-team-grid{display:flex;flex-direction:column;gap:.5rem}.dash-team-card{padding:.65rem .95rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:all .15s ease}.dash-team-card:hover{background:var(--surface-hover);border-color:var(--border)}.dash-team-card-left{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;min-width:0}.dash-team-count{font-size:.86rem;font-weight:700;color:var(--text-primary)}.dash-team-sites{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary)}.dash-team-sites svg{color:var(--text-muted);flex-shrink:0}.dash-team-stats{display:flex;align-items:center;gap:.85rem;flex-shrink:0;min-width:200px}.dash-team-stat-item{display:flex;flex-direction:column;gap:.2rem;flex:1}.dash-team-stat-lbl{display:flex;justify-content:space-between;align-items:center;font-size:.74rem}.dash-team-mini-track{width:100%;height:5px;background:var(--border);border-radius:999px;overflow:hidden}.dash-team-mini-fill{display:block;height:100%;border-radius:999px;transition:width .3s ease}.fill-ok{background:#20a53a}.fill-warn{background:#f59e0b}.fill-down{background:#ef4444}.dash-all-healthy-banner{display:flex;align-items:center;gap:.85rem;padding:.85rem 1.15rem;background:#20a53a14;border:1px solid rgba(32,165,58,.25);border-radius:var(--radius-sm)}.dash-healthy-icon{width:34px;height:34px;border-radius:50%;background:#20a53a2e;color:#20a53a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-healthy-copy strong{font-size:.88rem;color:var(--text-primary)}.dash-healthy-copy p{font-size:.76rem;margin:.1rem 0 0}.dash-attention-grid{display:flex;flex-direction:column;gap:.5rem}.dash-attention-item{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.55rem .9rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-left:3px solid var(--warn);border-radius:var(--radius-sm);transition:all .15s ease}.dash-attention-item:hover{background:var(--surface-hover);border-color:var(--border)}.dash-attention-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dash-attention-name{font-size:.88rem;font-weight:700;color:var(--text-primary);text-decoration:none}.dash-attention-name:hover{color:var(--accent);text-decoration:underline}.dash-attention-badges{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.dash-track-header strong{color:var(--text-primary);font-size:.85rem}.dash-progress-stacked{display:flex;height:9px;background:var(--surface-sunken);border-radius:var(--radius-pill);overflow:hidden;border:1px solid var(--border-subtle)}.dash-bar-ok{background:var(--ok);transition:width .4s ease}.dash-bar-down{background:var(--down);transition:width .4s ease}.dash-bar-warn{background:var(--warn);transition:width .4s ease}.dash-bar-unknown{background:var(--border);transition:width .4s ease}.dash-track-legend{display:flex;flex-wrap:wrap;gap:.85rem;font-size:.75rem;color:var(--text-secondary);margin-top:.15rem}.legend-item{display:inline-flex;align-items:center;gap:.3rem}.legend-item .dot{width:7px;height:7px;border-radius:50%}.legend-item .dot-ok{background:var(--ok)}.legend-item .dot-down{background:var(--down)}.legend-item .dot-warn{background:var(--warn)}.legend-item .dot-muted{background:var(--border)}.dash-inventory-header{display:flex;align-items:flex-end;justify-content:space-between;margin-top:.75rem;margin-bottom:-.5rem}.dash-inventory-header h3{margin:0;font-size:1.15rem;font-weight:750;color:var(--text-primary)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:99999}.server-monitor{display:flex;flex-direction:column;gap:.85rem;margin-top:1.1rem}.monitor-sys{margin:0;font-size:.82rem}.monitor-top{display:block}.monitor-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1rem 1.1rem 1.15rem}.monitor-card h2{margin:0 0 .85rem;font-size:.95rem;font-weight:750}.monitor-gauges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.monitor-gauge{position:relative;margin:0;border-radius:var(--radius);outline:none;background:var(--surface-sunken);border:1px solid var(--border-subtle);padding:.7rem .75rem}.monitor-gauge-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem;min-height:5.5rem}.monitor-gauge-copy{flex:1;min-width:0;text-align:left}.monitor-gauge>h3,.monitor-gauge-copy h3{margin:0 0 .28rem;font-size:.88rem;font-weight:600;color:var(--text);text-transform:none;letter-spacing:0}.monitor-gauge-meta{margin:0;font-size:.76rem;font-weight:500;color:var(--muted);font-family:var(--font-metric);font-variant-numeric:tabular-nums;line-height:1.35}.monitor-gauge-caption{margin:.2rem 0 0;font-size:.72rem;font-weight:500;color:var(--text-secondary);line-height:1.3}.monitor-donut{display:block;flex-shrink:0}.monitor-donut .ring-gauge-center strong{font-size:1.45rem;font-weight:500}.monitor-donut-center span,.monitor-donut-hint,.monitor-donut-label{display:none}.monitor-tip{display:none;position:absolute;z-index:40;left:50%;top:calc(100% + .35rem);transform:translate(-50%);width:max-content;min-width:14rem;max-width:22rem;text-align:left;background:var(--surface-elev, var(--surface));color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.75rem .9rem;font-size:.8rem;line-height:1.45;pointer-events:none}.monitor-gauge:hover .monitor-tip,.monitor-gauge:focus-within .monitor-tip,.vps-gauge-card:hover .monitor-tip,.vps-gauge-card:focus-within .monitor-tip{display:block}.monitor-tip-title{margin:0 0 .55rem;padding-bottom:.45rem;border-bottom:1px solid var(--border-subtle);font-weight:700;font-size:.85rem;color:var(--text)}.monitor-tip-title strong{color:var(--accent);font-variant-numeric:tabular-nums}.monitor-tip-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin:0 0 .35rem}.monitor-tip-row:last-child{margin-bottom:0}.monitor-tip-row span:first-child{color:var(--text-secondary)}.monitor-tip-row strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:650}.monitor-tip-bar{display:grid;grid-template-columns:4.5rem minmax(4rem,1fr) auto;align-items:center;gap:.45rem;margin:0 0 .35rem}.monitor-tip-bar:last-child{margin-bottom:0}.monitor-tip-bar-label{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-tip-bar-track{height:6px;border-radius:999px;background:var(--surface-sunken, var(--border-subtle));overflow:hidden}.monitor-tip-bar-fill{height:100%;border-radius:inherit;background:var(--accent, #20a53a)}.monitor-tip-bar-fill.is-warn{background:#f59e0b}.monitor-tip-bar-fill.is-crit{background:#ef4444}.monitor-tip-bar-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:650;color:var(--text)}.monitor-tip p{margin:0 0 .35rem}.monitor-tip p:last-child{margin-bottom:0}.monitor-tip strong{color:var(--accent)}.monitor-tip-model{word-break:break-word;color:var(--text-secondary);margin:0 0 .45rem}.monitor-cores{display:grid;grid-template-columns:1fr;gap:.2rem;margin:.35rem 0 0;padding:0;list-style:none}.monitor-disk-body{text-align:left}.monitor-disk-row{display:contents}.monitor-disk-path{margin:0 0 .2rem;font-family:var(--font-metric);font-size:.76rem;font-weight:500;color:var(--muted)}.monitor-disk-pct,.monitor-disk-rings{display:none}.monitor-overview-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.monitor-mini{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.monitor-mini span{color:var(--muted);font-weight:700;font-size:.85rem}.monitor-mini strong{font-size:1.25rem;font-weight:600;font-family:var(--font-metric);font-variant-numeric:tabular-nums}.monitor-traffic-stats strong{display:block;margin-top:.15rem;color:var(--text);font-size:.95rem;font-weight:600;font-family:var(--font-metric);font-variant-numeric:tabular-nums}.monitor-traffic-stat--up strong{color:var(--accent)}.monitor-traffic-stat--down strong{color:#d99139}.monitor-traffic-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.monitor-traffic-head h2{margin:0}.monitor-traffic-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.85rem 0 .75rem}.monitor-traffic-stats p{margin:0;font-size:.8rem;color:var(--muted)}.monitor-chart{height:9.5rem;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-elev)}.monitor-chart svg{width:100%;height:8.4rem;display:block;shape-rendering:geometricPrecision}.monitor-chart-down,.monitor-chart-up{transition:opacity .2s ease}.monitor-chart-down{fill:#f59e0b59;stroke:#f59e0b;stroke-width:1.2}.monitor-chart-up{fill:#20a53a52;stroke:var(--accent);stroke-width:1.2}.monitor-chart-axis,.monitor-sampled{margin:.45rem 0 0;font-size:.75rem}@media(max-width:960px){.monitor-gauges{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-top,.monitor-overview-row,.monitor-traffic-stats,.dash-kpi-grid,.dash-analytics-grid,.dash-bottom-grid,.dash-gauges-row{grid-template-columns:1fr}}.server-detail{display:flex;flex-direction:column;min-height:calc(100vh - 6.5rem);gap:.85rem}.vps-detail-top-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;padding:.75rem 1.25rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-shrink:0}.vps-header-left{display:flex;flex-direction:column;gap:.35rem}.vps-server-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.vps-server-title-row h1{font-size:1.35rem;font-weight:700;margin:0;color:var(--text-primary);letter-spacing:-.01em}.vps-back-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface-sunken);color:var(--text-secondary);border:1px solid var(--border-subtle);transition:all .15s ease;flex-shrink:0}.vps-back-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border);transform:translate(-2px)}.vps-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;line-height:1}.vps-badge--os{display:inline-flex;align-items:center;gap:.38rem;padding:.22rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;line-height:1.2;background:#0ea5e914;color:#0284c7;border:1px solid rgba(14,165,233,.2);white-space:nowrap}[data-theme=dark] .vps-badge--os{background:#38bdf81f;color:#38bdf8;border-color:#38bdf840}.vps-badge--os svg{flex-shrink:0;opacity:.85}.vps-badge--pro{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:700;letter-spacing:.04em;padding:.2rem .55rem;box-shadow:0 2px 6px #f59e0b4d}.vps-header-meta{display:flex;align-items:center;gap:.55rem;font-size:.82rem;color:var(--text-secondary);flex-wrap:wrap}.vps-meta-chip,.vps-ip-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.vps-meta-chip:hover,.vps-ip-chip:hover{background:var(--surface-hover);border-color:var(--border);color:var(--text-primary)}.vps-meta-chip svg,.vps-ip-chip svg{color:var(--text-muted);flex-shrink:0;transition:color .15s ease}.vps-meta-chip:hover svg,.vps-ip-chip:hover svg{color:var(--accent)}.vps-ip-addr{font-family:var(--font-mono);font-weight:500;color:var(--text-primary)}.vps-port-num{font-family:var(--font-mono);color:var(--text-muted)}.vps-copied-badge,.vps-copied-hint{font-size:.72rem;font-weight:600;color:#16a34a;background:#22c55e1f;padding:.05rem .35rem;border-radius:var(--radius-xs);margin-left:.2rem;animation:fadeIn .15s ease}[data-theme=dark] .vps-copied-badge,[data-theme=dark] .vps-copied-hint{color:#4ade80}.vps-meta-sep{color:var(--text-muted);opacity:.35;font-size:.8rem;-webkit-user-select:none;user-select:none}.vps-meta-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-secondary)}.vps-meta-item svg{color:var(--text-muted);flex-shrink:0}.vps-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.vps-dot--green{background-color:#20a53a;box-shadow:0 0 6px #20a53a80}.vps-dot--orange{background-color:#f59e0b;box-shadow:0 0 6px #f59e0b80}.vps-monitor-section{display:flex;flex-direction:column;flex:1;gap:.85rem;overflow:visible}.vps-gauges-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;flex-shrink:0;overflow:visible;z-index:2}.vps-gauge-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.35rem 1.65rem;display:flex;align-items:center;justify-content:space-between;position:relative;box-shadow:var(--shadow-sm);transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);min-height:156px;overflow:visible;cursor:default}.vps-gauge-card:hover,.vps-gauge-card:focus-within{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent);z-index:5}.vps-gauge-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.35rem;min-width:0;overflow:hidden;padding-right:.5rem}.vps-gauge-title{font-size:1.15rem;font-weight:750;margin:0;color:var(--text-primary)}.vps-gauge-info .monitor-gauge-caption{font-size:.92rem;margin:0;color:var(--text-secondary);font-weight:500}.vps-gauge-info .monitor-gauge-meta{font-size:.86rem;margin:.15rem 0 0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.vps-gauge-ring-wrap{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}.vps-gauge-card .ring-gauge{margin:0}.vps-gauge-card .ring-gauge-center{padding:0!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.vps-gauge-card .ring-gauge-center strong,.vps-gauge-card .vps-gauge-val,.vps-gauge-card .ring-gauge-value{font-size:1.25rem!important;font-weight:800!important;color:var(--text-primary)!important;line-height:1!important;letter-spacing:-.02em!important;text-align:center!important;white-space:nowrap!important;display:block!important}.vps-overview-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.1rem 1.5rem;box-shadow:var(--shadow-sm);flex-shrink:0}.vps-overview-header{display:none}.vps-overview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.vps-stat-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1.15rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius);transition:background var(--ease);min-height:64px}.vps-stat-item--link,.vps-stat-item--memo{cursor:pointer;text-decoration:none;color:inherit;transition:background var(--ease),border-color var(--ease),transform .18s ease,box-shadow .18s ease}.vps-stat-item--link:hover,.vps-stat-item--memo:hover{background:var(--surface-hover);border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.vps-stat-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.vps-stat-link-arrow{font-size:.8rem;line-height:1;color:var(--text-muted);opacity:.6;transition:color var(--ease),transform var(--ease),opacity var(--ease)}.vps-stat-item--link:hover .vps-stat-link-arrow,.vps-stat-item--memo:hover .vps-stat-link-arrow{color:var(--primary, #3b82f6);opacity:1;transform:translate(2px,-2px)}.vps-stat-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);flex-shrink:0}.vps-stat-icon--site{background:#20a53a1f;color:#20a53a}.vps-stat-icon--ftp{background:#38bdf81f;color:#38bdf8}.vps-stat-icon--db{background:#8b5cf61f;color:#8b5cf6}.vps-stat-icon--sec{background:#10b9811f;color:#10b981}.vps-stat-icon--memo{background:#f59e0b1f;color:#f59e0b}.vps-stat-content{display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.vps-stat-title{font-size:.84rem;font-weight:650;color:var(--text-secondary)}.vps-stat-values{font-size:.92rem;display:flex;align-items:center;gap:.4rem;white-space:nowrap;font-weight:600}.vps-stat-running strong{color:var(--ok)}.vps-stat-sep{color:var(--muted);font-size:.75rem}.vps-memo-preview{font-size:.76rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.vps-main-split{display:grid;grid-template-columns:1fr 1.15fr;gap:1rem;align-items:stretch;flex:1}.vps-services-panel,.vps-traffic-panel{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.1rem 1.35rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;height:100%}.vps-services-header,.vps-traffic-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.vps-services-header-title{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.vps-services-header-title h2{font-size:.95rem;font-weight:700;margin:0}.vps-services-target-badge{font-size:.78rem;color:var(--text-secondary)}.vps-services-target-badge code{font-family:var(--font-mono);background:var(--surface-sunken);padding:.15rem .4rem;border-radius:var(--radius-xs);border:1px solid var(--border-subtle)}.vps-services-list{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.85rem}.vps-service-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .95rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius);transition:all var(--ease)}.vps-service-row:hover{background:var(--surface-hover);border-color:var(--border)}.vps-service-icon-wrap{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.vps-service-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.vps-service-top-line{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.vps-service-name{font-size:.86rem;font-weight:600;margin:0;color:var(--text-primary)}.vps-service-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;padding:.12rem .5rem;border-radius:var(--radius-pill)}.vps-service-desc-line{font-size:.76rem;color:var(--text-secondary);display:flex;align-items:center;gap:.45rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vps-service-sep{color:var(--muted);font-size:.7rem}.vps-service-url{color:var(--accent);text-decoration:none;font-family:var(--font-mono)}.vps-service-url:hover{text-decoration:underline}.vps-specs-compact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-top:auto;flex-shrink:0}.vps-spec-item{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:.55rem .85rem;display:flex;flex-direction:column;gap:.2rem;min-height:52px}.vps-spec-item h3{font-size:.72rem;color:var(--text-secondary);font-weight:600;margin:0;text-transform:uppercase;letter-spacing:.03em}.vps-spec-item p{font-size:.82rem;margin:0;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vps-chart-tabs{display:inline-flex;align-items:center;gap:2px;background:var(--surface-sunken);padding:3px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle)}.vps-chart-tab{background:transparent;border:none;padding:.3rem .95rem;font-size:.82rem;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);line-height:1.2}.vps-chart-tab:hover{color:var(--text-primary)}.vps-chart-tab.active{background:var(--surface);color:#20a53a;box-shadow:0 1px 3px #0000001f,0 0 0 1px #0000000d}.vps-net-select{background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text-primary);padding:.25rem .65rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:500;outline:none;cursor:pointer;transition:border-color var(--ease)}.vps-net-select:hover,.vps-net-select:focus{border-color:var(--accent)}.vps-traffic-summary{display:flex;align-items:center;gap:1.25rem;padding:.6rem 1rem;background:var(--surface-sunken);border-radius:var(--radius);border:1px solid var(--border-subtle);margin-bottom:.75rem;flex-wrap:wrap;flex-shrink:0}.vps-traffic-stat{display:flex;align-items:center;gap:.45rem;font-size:.82rem}.vps-stat-lbl{color:var(--text-secondary)}.vps-traffic-stat strong{font-family:var(--font-mono);font-size:.88rem}.vps-chart-wrapper{flex:1;display:flex;flex-direction:column;min-height:180px;position:relative}.vps-traffic-footer{margin-top:.5rem;text-align:right;flex-shrink:0}.vps-task-float-btn{position:fixed;bottom:1.25rem;left:1rem;width:calc(var(--sidebar-w) - 2rem);justify-content:center;z-index:50;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-pill);font-size:.82rem;box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--ease)}.vps-task-float-btn:hover{background:var(--surface-hover);border-color:var(--accent)}.vps-task-float-btn.has-active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.vps-task-spinner{width:10px;height:10px;border:2px solid var(--accent);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.vps-task-drawer-content{padding:.5rem 0}.vps-task-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.vps-task-list{max-height:380px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.vps-task-empty{padding:2.5rem 1rem;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}.vps-task-item{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:.85rem}.vps-task-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.vps-task-badge{font-size:.72rem;font-weight:700;padding:.15rem .45rem;border-radius:var(--radius-xs)}.vps-task-badge.status-running{background:#38bdf826;color:#38bdf8}.vps-task-badge.status-success{background:#20a53a26;color:#20a53a}.vps-task-badge.status-failed{background:#ef444426;color:#ef4444}.vps-task-logs{background:var(--bg);padding:.5rem;border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:.78rem;color:var(--muted);max-height:120px;overflow-y:auto}.vps-task-log-line{margin-bottom:.2rem;white-space:pre-wrap}@media(max-width:1100px){.vps-gauges-row,.vps-overview-grid{grid-template-columns:repeat(2,1fr)}.vps-main-split{grid-template-columns:1fr}}@media(max-width:768px){.vps-gauges-row,.vps-overview-grid,.vps-services-grid,.vps-specs-compact-grid{grid-template-columns:1fr}.vps-task-float-btn{left:1rem;bottom:1rem}}.confirm-dialog{display:flex;flex-direction:column;gap:1.1rem}.confirm-header-block{display:flex;align-items:flex-start;gap:1rem}.confirm-icon-danger{width:44px;height:44px;border-radius:12px;background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:var(--crit, #ef4444);display:flex;align-items:center;justify-content:center;flex-shrink:0}.confirm-text-block{display:flex;flex-direction:column;gap:.25rem}.confirm-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text);line-height:1.3}.confirm-desc{margin:0;font-size:.88rem;color:var(--muted);line-height:1.5}.confirm-target-card{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.confirm-target-left{display:flex;align-items:center;gap:.75rem;min-width:0}.confirm-target-avatar{width:34px;height:34px;border-radius:8px;background:#ef44441f;color:var(--crit, #ef4444);font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.confirm-target-name{font-weight:700;font-size:.95rem;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirm-target-meta{font-size:.78rem;color:var(--muted);margin:.15rem 0 0}.confirm-warning-banner{display:flex;align-items:flex-start;gap:.75rem;background:#eab3081a;border:1px solid rgba(234,179,8,.35);color:#ca8a04;border-radius:var(--radius);padding:.85rem 1rem;font-size:.85rem;line-height:1.45}[data-theme=dark] .confirm-warning-banner{color:#facc15}.confirm-error-banner{display:flex;align-items:flex-start;gap:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--crit, #ef4444);border-radius:var(--radius);padding:.85rem 1rem;font-size:.85rem;line-height:1.45}.confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.panel-resource-modal{padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 12px);box-shadow:0 25px 50px -12px #00000059;background:var(--surface)}.panel-resource-modal-inner{max-width:1040px;width:95vw;max-height:88vh;display:flex;flex-direction:column;padding:0;overflow:hidden;position:relative;background:var(--surface)}.panel-loading-bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#60a5fa,#3b82f6);background-size:200% 100%;animation:panelBarMove 1.5s infinite linear;z-index:50}@keyframes panelBarMove{0%{background-position:100% 0}to{background-position:-100% 0}}.panel-resource-header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.5rem;border-bottom:1px solid var(--border-subtle);background:var(--surface-sunken);gap:1rem}.panel-resource-title-wrap{display:flex;align-items:center;min-width:0}.panel-resource-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.panel-server-icon{font-size:1.15rem;line-height:1}.panel-resource-heading{display:inline-flex;align-items:center;gap:.65rem;margin:0;padding:0;font-size:1.1rem;font-weight:700;line-height:1;color:var(--text);min-width:0}.panel-server-name{display:block;line-height:1.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-ip-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;height:1.6rem;font-family:var(--font-mono);font-size:.8rem;font-weight:500;line-height:1;padding:0 .55rem;border-radius:6px;background:var(--surface);border:1px solid var(--border-subtle);color:var(--text-muted)}.panel-status-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;background:#22c55e1f;color:#16a34a;border:1px solid rgba(34,197,94,.25)}[data-theme=dark] .panel-status-pill{color:#4ade80;background:#22c55e26}.panel-status-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e}.panel-resource-subtitle{font-size:.82rem;color:var(--text-muted);margin:0}.panel-header-actions{display:flex;align-items:center;gap:.5rem}.btn-panel-action{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 6px);text-decoration:none;cursor:pointer;transition:all var(--ease)}.btn-panel-action:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.external-arrow{font-size:.85rem;color:var(--text-muted)}.btn-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:var(--radius-sm, 6px);background:var(--surface);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:all var(--ease)}.btn-panel-icon:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border)}.btn-panel-icon.is-spinning svg{animation:panelSpin .75s infinite linear}@keyframes panelSpin{to{transform:rotate(360deg)}}.panel-count-pill{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;line-height:1;padding:.28rem .55rem;border-radius:999px;background:#3b82f61a;color:var(--primary, #3b82f6);border:1px solid rgba(59,130,246,.25)}.single-resource-toolbar{padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--surface);border-bottom:1px solid var(--border-subtle)}.panel-resource-badge-info{display:flex;align-items:center;gap:.5rem}.resource-category-name{font-size:.92rem;font-weight:700;color:var(--text)}.resource-total-pill{font-size:.75rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text-muted)}.single-search-box{flex:1;max-width:420px}.panel-resource-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.panel-nav-tabs{display:flex;align-items:center;background:var(--surface-sunken);padding:.25rem;border-radius:var(--radius-md, 8px);gap:.25rem;border:1px solid var(--border-subtle)}.panel-tab-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.84rem;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.panel-tab-btn:hover{color:var(--text)}.panel-tab-btn.active{color:var(--text);background:var(--surface);border-color:var(--border-subtle);font-weight:600;box-shadow:0 1px 3px #00000014}.tab-btn-icon{display:flex;align-items:center}.tab-badge-count{font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:999px;background:var(--surface);color:var(--text-muted);border:1px solid var(--border-subtle);min-width:18px;text-align:center}.tab-badge-count.has-items{background:#3b82f61f;color:var(--primary, #3b82f6);border-color:#3b82f640}.panel-tab-btn.active .tab-badge-count.has-items{background:var(--primary, #3b82f6);color:#fff;border-color:transparent}.panel-search-box{position:relative;display:flex;align-items:center;min-width:260px}.search-icon-svg{position:absolute;left:.75rem;color:var(--text-muted);pointer-events:none}.panel-search-input{width:100%;padding:.45rem 2rem .45rem 2.2rem;font-size:.84rem;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 6px);color:var(--text);outline:none;transition:all var(--ease)}.panel-search-input:focus{border-color:var(--primary, #3b82f6);background:var(--surface);box-shadow:0 0 0 3px #3b82f626}.panel-search-clear{position:absolute;right:.6rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:.2rem}.panel-search-clear:hover{color:var(--text)}.panel-alert-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:#ef44441a;border-bottom:1px solid rgba(239,68,68,.25);color:#ef4444;font-size:.85rem}.alert-text{flex:1}.panel-resource-body{flex:1;overflow-y:auto;min-height:320px;max-height:calc(88vh - 170px);background:var(--surface)}.panel-table-responsive{width:100%;overflow-x:auto}.panel-data-table{width:100%;border-collapse:collapse;text-align:left}.panel-data-table thead th{padding:.75rem 1.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle);white-space:nowrap;position:sticky;top:0;z-index:10}.panel-data-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background .15s ease}.panel-data-table tbody tr:hover{background:var(--surface-hover)}.panel-data-table tbody td{padding:.85rem 1.25rem;font-size:.86rem;color:var(--text);vertical-align:middle}.site-title-col{display:flex;flex-direction:column;gap:.2rem}.site-name-row{display:flex;align-items:center;gap:.4rem}.site-main-link{font-weight:600;font-size:.92rem;color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.site-main-link:hover{color:var(--primary, #3b82f6);text-decoration:underline}.link-arrow{font-size:.75rem;color:var(--text-muted)}.site-ps-text{font-size:.78rem;color:var(--text-muted)}.mini-copy-btn{background:transparent;border:none;cursor:pointer;font-size:.75rem;padding:.15rem .3rem;border-radius:4px;color:var(--text-muted);opacity:.6;transition:all var(--ease)}.mini-copy-btn:hover{opacity:1;background:var(--surface-sunken);color:var(--text)}.pill-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.pill-dot{width:6px;height:6px;border-radius:50%}.pill-badge--ok{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.25)}[data-theme=dark] .pill-badge--ok{color:#4ade80;background:#22c55e26}.pill-badge--ok .pill-dot{background:#22c55e;box-shadow:0 0 5px #22c55e}.pill-badge--warn{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.25)}[data-theme=dark] .pill-badge--warn{color:#fbbf24;background:#f59e0b26}.pill-badge--warn .pill-dot{background:#f59e0b;box-shadow:0 0 5px #f59e0b}.pill-badge--down{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.25)}[data-theme=dark] .pill-badge--down{color:#f87171}.pill-badge--down .pill-dot{background:#ef4444}.pill-badge--php{background:#6366f11a;color:#4f46e5;border:1px solid rgba(99,102,241,.25)}[data-theme=dark] .pill-badge--php{color:#818cf8;background:#6366f126}.pill-badge--engine{background:#0ea5e91a;color:#0284c7;border:1px solid rgba(14,165,233,.25)}[data-theme=dark] .pill-badge--engine{color:#38bdf8}.pill-badge--neutral{background:var(--surface-sunken);color:var(--text-muted);border:1px solid var(--border-subtle)}.path-copy-wrap{display:inline-flex;align-items:center;gap:.35rem;max-width:100%}.path-code{font-family:var(--font-mono);font-size:.8rem;padding:.2rem .5rem;border-radius:5px;background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.datetime-cell{font-size:.82rem;color:var(--text-muted);white-space:nowrap}.db-name-row{display:flex;align-items:center;gap:.4rem}.db-name-text{font-family:var(--font-mono);font-weight:600;font-size:.88rem;color:var(--text)}.db-meta-wrap{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.port-badge-wrap{display:flex;align-items:center}.port-number-badge{font-family:var(--font-mono);font-weight:700;font-size:.88rem;padding:.2rem .6rem;border-radius:6px;background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--primary, #3b82f6)}.fw-desc-text{font-weight:500;font-size:.88rem}.panel-skeleton-wrap{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.skeleton-row{height:42px;border-radius:6px;background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--surface-hover) 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:skeletonPulse 1.5s infinite linear}.skeleton-header{height:32px;width:60%}@keyframes skeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.panel-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4.5rem 1.5rem;text-align:center}.empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.8}.empty-title{font-size:.95rem;font-weight:600;color:var(--text);margin:0 0 .35rem}.empty-desc{font-size:.82rem;color:var(--text-muted);margin:0}.panel-resource-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--surface-sunken);border-top:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-muted)}.panel-footer-counts{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.panel-footer-counts strong{color:var(--text)}.panel-resource-pager{display:inline-flex;align-items:center;gap:.45rem}.panel-footer-sync strong{color:var(--text)}.live-dot-pulse{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 #22c55eb3;animation:livePulse 1.8s infinite cubic-bezier(.66,0,0,1);display:inline-block;flex-shrink:0}@keyframes livePulse{to{box-shadow:0 0 0 7px #22c55e00}}.ssh-header-status-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.ssh-live-presence-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .65rem;border-radius:999px;font-size:.8rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#16a34a;transition:all .2s ease}[data-theme=dark] .ssh-live-presence-chip{color:#4ade80;background:#22c55e26}.ssh-live-presence-chip.no-users{background:var(--surface-sunken);border-color:var(--border-subtle);color:var(--text-muted)}.presence-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.presence-dot--live{background:#22c55e;box-shadow:0 0 #22c55eb3;animation:livePulse 1.8s infinite cubic-bezier(.66,0,0,1)}.presence-user-list{font-weight:600}.presence-sessions-count{font-size:.74rem;opacity:.8}.terminal-mac-left{display:flex;align-items:center;gap:6px}.terminal-mac-presence{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-muted);margin-left:auto}.terminal-presence-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.terminal-presence-dot.is-live{background:#22c55e;box-shadow:0 0 5px #22c55e}.vps-ssh-btn{display:inline-flex;align-items:center;gap:.45rem;position:relative}.vps-ssh-live-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .45rem;background:#22c55e40;border:1px solid rgba(34,197,94,.5);color:#fff;border-radius:999px;font-size:.72rem;font-weight:700;margin-left:.15rem}.vps-ssh-dot{width:5px;height:5px;border-radius:50%;background:#4ade80}.vps-active-ssh-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;border-radius:999px;background:#22c55e1f;border:1px solid rgba(34,197,94,.25);color:#16a34a;font-size:.78rem}[data-theme=dark] .vps-active-ssh-chip{color:#4ade80;background:#22c55e26}.ssh-card-live-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .45rem;border-radius:999px;background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#16a34a;font-size:.72rem;font-weight:600;margin-left:.4rem}[data-theme=dark] .ssh-card-live-pill{color:#4ade80;background:#22c55e2e}.topbar-telegram{color:#229ed9;transition:transform .15s ease,background-color .15s ease}.topbar-telegram:hover{background:#229ed91f;color:#1b86ba}.telegram-modal-inner{padding:1.5rem;max-width:620px;margin:0 auto}.telegram-modal-header{display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem}.telegram-header-icon-wrap{width:44px;height:44px;border-radius:12px;background:#229ed91f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.telegram-modal-title{margin:0;font-size:1.25rem;font-weight:750;color:var(--text)}.telegram-modal-subtitle{margin:.15rem 0 0;font-size:.85rem;color:var(--muted)}.telegram-leader-box{padding:1.25rem;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.9rem;line-height:1.5;text-align:center;margin-bottom:1.25rem}.telegram-tab-bar{display:flex;gap:.5rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:.5rem}.telegram-tab-btn{background:none;border:none;padding:.5rem .85rem;font-size:.88rem;font-weight:600;color:var(--muted);cursor:pointer;border-radius:6px;transition:all .15s ease}.telegram-tab-btn:hover{color:var(--text);background:var(--surface-2)}.telegram-tab-btn.active{color:#229ed9;background:#229ed91f}.telegram-qr-content{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}@media(max-width:580px){.telegram-qr-content{flex-direction:column;align-items:center;text-align:center}}.telegram-qr-column{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:fit-content}.telegram-qr-frame{background:#fff;padding:12px;border-radius:16px;border:1px solid var(--border);box-shadow:0 4px 16px #00000014;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:244px;height:244px;box-sizing:border-box}.telegram-qr-frame img{display:block;border-radius:6px;width:220px;height:220px}.telegram-qr-loading{font-size:.82rem;color:#64748b}.telegram-info-panel{flex:1;min-width:0}.telegram-badge-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem}.telegram-badge{font-size:.7rem;font-weight:700;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.badge-manager{background:#a855f726;color:#9333ea}.badge-itseo{background:#0ea5e926;color:#0284c7}[data-theme=dark] .badge-itseo{color:#38bdf8}.badge-realtime{background:#22c55e26;color:#16a34a}[data-theme=dark] .badge-realtime{color:#4ade80}.telegram-group-name{margin:0 0 .6rem;font-size:1.05rem;font-weight:750;color:var(--text)}.telegram-feature-list{list-style:none;padding:0;margin:0 0 1.2rem;font-size:.82rem;color:var(--text);line-height:1.55;display:flex;flex-direction:column;gap:.35rem}.telegram-action-row{display:flex;gap:.65rem;flex-wrap:wrap}.telegram-join-btn{background:#229ed9!important;border-color:#229ed9!important;color:#fff!important}.telegram-join-btn:hover{background:#1b86ba!important;border-color:#1b86ba!important}.telegram-modal-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:1rem}.sidebar-telegram-logo{border-radius:50%;display:inline-block;flex-shrink:0;transition:transform .15s ease}.sidebar li a:hover .sidebar-telegram-logo{transform:scale(1.1)}.telegram-page{width:100%;display:flex;flex-direction:column;gap:1.25rem}.telegram-head-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.telegram-header-left{display:flex;align-items:center;gap:.875rem}.telegram-head-icon{border-radius:50%;flex-shrink:0;box-shadow:0 2px 8px #229ed940}.telegram-title-line{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.telegram-head-actions{display:flex;align-items:center;gap:.625rem}.telegram-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1.25rem;align-items:start;width:100%}@media(max-width:960px){.telegram-layout{grid-template-columns:1fr}}.telegram-aside-panel{display:flex;flex-direction:column;gap:1rem}.telegram-qr-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 10px)}.telegram-panel-header{width:100%;text-align:left;margin-bottom:1.25rem}.telegram-panel-header h3{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--text)}.telegram-qr-wrapper{display:flex;flex-direction:column;align-items:center;gap:.625rem;margin-bottom:1.25rem}.telegram-qr-box{width:220px;height:220px;background:#fff;padding:10px;border-radius:var(--radius, 8px);box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.telegram-qr-box img{display:block;width:200px;height:200px}.telegram-qr-caption{font-size:.75rem;color:var(--muted);text-align:center}.telegram-aside-buttons{width:100%;display:flex;flex-direction:column;gap:.5rem}.btn-block{width:100%;text-align:center}.btn-group-row{display:flex;gap:.5rem;width:100%}.telegram-steps-card{width:100%;margin-top:1.25rem;padding:.875rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius, 6px)}.telegram-steps-list{margin:0;padding-left:1.15rem;font-size:.78rem;color:var(--muted);line-height:1.5}.telegram-manual-drawer{width:100%;margin-top:1rem;text-align:center}.telegram-manual-link{background:none;border:none;color:var(--muted);font-size:.75rem;cursor:pointer;padding:.25rem .5rem;transition:color .15s ease}.telegram-manual-link:hover{color:var(--primary)}.telegram-manual-input-box{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);text-align:left}.telegram-field-label{display:block;font-size:.75rem;font-weight:600;color:var(--text);margin-bottom:.35rem}.input-with-button{display:flex;gap:.5rem}.input-field{flex:1;min-width:0;padding:.5rem .75rem;font-size:.8125rem;border:1px solid var(--border);border-radius:var(--radius, 6px);background:var(--surface-2);color:var(--text);outline:none}.input-field:focus{border-color:var(--primary)}.telegram-main-content{min-width:0}.telegram-categories-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 10px);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.telegram-cat-header-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.telegram-cat-header-bar h2{margin:0 0 .25rem;font-size:1.125rem;font-weight:700;color:var(--text)}.telegram-cat-quick-actions{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.divider-dot{color:var(--muted)}.telegram-categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem;align-items:stretch}@media(max-width:768px){.telegram-categories-grid{grid-template-columns:1fr}}.telegram-category-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius, 8px);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.telegram-category-heading{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.625rem;border-bottom:1px solid var(--border)}.telegram-cat-title-wrap{display:flex;align-items:center;gap:.5rem}.telegram-cat-icon{font-size:1.1rem}.telegram-category-heading h4{margin:0;font-size:.9375rem;font-weight:700;color:var(--text)}.telegram-cat-heading-right{display:flex;align-items:center;gap:.5rem}.btn-text-subtle{background:none;border:none;color:var(--muted);font-size:.6875rem;cursor:pointer;padding:.15rem .4rem;border-radius:var(--radius, 4px);transition:all .12s ease}.btn-text-subtle:hover{color:var(--primary);background:var(--surface)}.badge-manager{font-size:.6875rem;background:#9333ea1f;color:#9333ea;border:1px solid rgba(147,51,234,.25)}[data-theme=dark] .badge-manager{color:#c084fc}.telegram-cat-items{display:flex;flex-direction:column;gap:.5rem}.telegram-row-item{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius, 6px);cursor:pointer;transition:all .12s ease}.telegram-row-item:hover{border-color:var(--primary)}.telegram-row-item.is-selected{border-color:var(--primary);background:#229ed90a}.telegram-row-checkbox{margin-top:.15rem;width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.telegram-row-text{flex:1;min-width:0}.telegram-row-title-line{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}.telegram-row-title{font-size:.8125rem;font-weight:600;color:var(--text);line-height:1.3}.badge-danger{font-size:.625rem;font-weight:700;padding:.1rem .35rem;border-radius:3px;background:#ef44441f;color:#ef4444}.telegram-row-desc{margin:0;font-size:.75rem;color:var(--muted);line-height:1.35}.telegram-restricted-card,.telegram-loading-card{padding:2.5rem;text-align:center}.security-page{display:flex;flex-direction:column;gap:1rem}.security-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 10px);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.security-row{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.25rem;flex-wrap:wrap}.security-row-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.security-method{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.security-method h2{margin:0;font-size:1.02rem;font-weight:650;line-height:1.3;color:var(--text)}.security-method .pill-badge--neutral{color:var(--muted)}.security-method .pill-badge--neutral .pill-dot{background:var(--muted);box-shadow:none}.security-row-meta{margin:0;font-size:.8rem;font-weight:500;color:var(--muted)}.security-row-actions{display:flex;align-items:center;gap:.5rem}.security-enroll{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:1.25rem 1.5rem;align-items:start;padding-top:1rem;border-top:1px solid var(--border)}@media(max-width:720px){.security-enroll{grid-template-columns:1fr}}.security-enroll h3{margin:0 0 .65rem;font-size:.88rem;font-weight:650;color:var(--text)}.security-qr img{display:block;background:#fff;border-radius:8px;padding:.45rem;border:1px solid var(--border)}.security-secret{display:block;margin:.5rem 0 1rem;word-break:break-all;font-size:.92rem}.security-confirm-form,.security-disable-form{display:flex;flex-direction:column;gap:.5rem}.security-confirm-form input,.security-disable-form input{max-width:20rem}.security-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.security-recovery h2{margin:0;font-size:1.02rem;font-weight:650;color:var(--text)}.security-recovery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;list-style:none;padding:0;margin:.5rem 0 0}.security-recovery-list code{display:block;padding:.4rem .55rem;background:var(--surface-2, rgba(148, 163, 184, .12));border-radius:6px;font-size:.88rem}.whitelist-page{display:flex;flex-direction:column;gap:1rem}.whitelist-lead{margin:0}.whitelist-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,22rem);grid-template-areas:"ip plan" "servers plan";gap:1rem;align-items:start}.whitelist-ip{grid-area:ip}.whitelist-servers{grid-area:servers}.whitelist-do{grid-area:plan;position:sticky;top:.75rem}.whitelist-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 10px);padding:1.05rem 1.2rem 1.15rem;display:flex;flex-direction:column;gap:.75rem;min-width:0}.whitelist-card h2{margin:0;display:flex;align-items:center;gap:.55rem;font-size:1.02rem;font-weight:650;line-height:1.3;color:var(--text)}.whitelist-card .muted{margin:0;font-size:.86rem;line-height:1.45}.whitelist-step-num{flex:0 0 auto;width:1.45rem;height:1.45rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand, #38bdf8);color:#0b1220;font-size:.75rem;font-weight:800}.whitelist-modes{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.whitelist-mode{display:flex;align-items:flex-start;gap:.55rem;margin:0;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2, rgba(148, 163, 184, .08));cursor:pointer}.whitelist-mode strong{display:block;font-size:.9rem}.whitelist-mode .muted{display:block;margin-top:.2rem;font-size:.78rem}.whitelist-mode.is-on{border-color:var(--brand, #38bdf8);box-shadow:0 0 0 1px var(--brand, #38bdf8)}.whitelist-mode-all.is-on{border-color:var(--crit, #ef4444);box-shadow:0 0 0 1px var(--crit, #ef4444)}.whitelist-all-warn{margin:0;padding:.55rem .7rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--crit, #ef4444) 45%,var(--border));background:color-mix(in srgb,var(--crit, #ef4444) 10%,transparent);color:var(--text);font-size:.84rem;line-height:1.4;font-weight:600}.whitelist-ip-field{display:flex;flex-direction:column;gap:.4rem}.whitelist-ip-field-top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.whitelist-ip-label{font-size:.78rem;font-weight:700;letter-spacing:.01em;color:var(--text-secondary, var(--muted))}.whitelist-ip-count{font-size:.75rem;font-weight:650;color:var(--muted)}.whitelist-ip-composer{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-height:3.1rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:12px;background:var(--input-bg, var(--surface));cursor:text;transition:border-color var(--ease, .15s ease),box-shadow var(--ease, .15s ease)}.whitelist-ip-composer:focus-within{border-color:var(--border-focus, var(--brand, #20a53a));box-shadow:0 0 0 3px #20a53a2e}.whitelist-ip-composer.has-ips{min-height:3.35rem}.whitelist-ip-chip{display:inline-flex;align-items:center;gap:.28rem;max-width:100%;padding:.22rem .28rem .22rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--brand, #20a53a) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--brand, #20a53a) 35%,var(--border));color:var(--text)}.whitelist-ip-chip-text{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.8rem;font-weight:650;letter-spacing:0}.whitelist-ip-chip-x{appearance:none;border:0;background:transparent;color:var(--muted);width:1.2rem;height:1.2rem;border-radius:999px;font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.whitelist-ip-chip-x:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.whitelist-ip-composer input{flex:1 1 10rem;min-width:8rem;min-height:1.9rem;border:0;background:transparent;box-shadow:none;padding:.2rem .25rem;font:inherit;font-size:.9rem;font-weight:500;color:var(--text);outline:none}.whitelist-ip-composer input:focus{border:0;box-shadow:none;outline:none}.whitelist-ip-hint{margin:0;font-size:.78rem;line-height:1.4;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}.whitelist-chips{display:flex;flex-wrap:wrap;gap:.4rem}.whitelist-chip{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2, rgba(148, 163, 184, .1));font-size:.75rem;font-weight:650;color:var(--muted)}.whitelist-plan{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:.45rem;font-size:.9rem;line-height:1.45}.whitelist-plan-add{color:var(--ok, #22c55e)}.whitelist-plan-del{color:var(--crit, #ef4444)}.whitelist-plan-keep{color:var(--muted)}.whitelist-target{margin:0;font-size:.86rem;font-weight:600}.whitelist-actions{display:flex;justify-content:flex-start}.whitelist-filters{display:flex;flex-wrap:wrap;gap:.6rem}.whitelist-servers .table-wrap{margin:0}.whitelist-table-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.whitelist-row-ip{font-weight:500}.whitelist-result-summary{margin:0;font-weight:650}.whitelist-progress-bar{height:.5rem;margin:.75rem 0 1rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--border, #d0d7de) 70%,transparent)}.whitelist-progress-fill{height:100%;border-radius:inherit;background:var(--accent, #2563eb);transition:width .25s ease}@media(max-width:960px){.whitelist-grid{grid-template-columns:1fr;grid-template-areas:"ip" "servers" "plan"}.whitelist-do{position:static}.whitelist-modes{grid-template-columns:1fr}}
