:root{--brand-50: #eef2ff;--brand-100: #e0e7ff;--brand-200: #c7d2fe;--brand-300: #a5b4fc;--brand-400: #818cf8;--brand-500: #6366f1;--brand-600: #4f46e5;--brand-700: #4338ca;--brand-800: #3730a3;--brand-900: #312e81;--bg: #f7f8fa;--bg-subtle: #f1f3f7;--surface: #ffffff;--surface-2: #fbfcfe;--surface-inset: #f3f5f9;--border: #e6e8ee;--border-strong: #d3d7e0;--text: #1a1d27;--text-secondary: #565c6e;--text-muted: #8b91a3;--text-inverse: #ffffff;--text-on-brand: #ffffff;--color-primary: var(--brand-600);--color-primary-hover: var(--brand-700);--success: #16a34a;--success-bg: #e9f7ef;--success-border: #bbe7cb;--warning: #d97706;--warning-bg: #fdf3e3;--warning-border: #f5dca8;--danger: #dc2626;--danger-bg: #fdecec;--danger-border: #f6c7c7;--info: #0891b2;--info-bg: #e6f6fb;--info-border: #b8e6f2;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-pill: 999px;--shadow-xs: 0 1px 2px rgba(16,20,35,.04);--shadow-sm: 0 1px 3px rgba(16,20,35,.06), 0 1px 2px rgba(16,20,35,.04);--shadow-md: 0 4px 12px rgba(16,20,35,.07), 0 2px 4px rgba(16,20,35,.04);--shadow-lg: 0 12px 32px rgba(16,20,35,.1), 0 4px 8px rgba(16,20,35,.05);--shadow-focus: 0 0 0 3px rgba(79,70,229,.18);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--font-sans: "Inter", "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas, "Liberation Mono", monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 34px;--lh-tight: 1.2;--lh-normal: 1.5;--lh-relaxed: 1.7;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sidebar-w: 248px;--sidebar-w-collapsed: 64px;--topbar-h: 60px;--content-max: 1280px;--ease: cubic-bezier(.4,0,.2,1);--ease-out: cubic-bezier(.16,1,.3,1);--t-fast: .12s;--t-base: .18s;--t-slow: .26s;color-scheme:light}[data-theme=dark]{--bg: #0c0e14;--bg-subtle: #0a0c11;--surface: #14171f;--surface-2: #1a1e28;--surface-inset: #0f1218;--border: #242936;--border-strong: #323847;--text: #f0f2f6;--text-secondary: #aab1c2;--text-muted: #6b7385;--text-inverse: #14171f;--color-primary: var(--brand-500);--color-primary-hover: var(--brand-400);--success: #34d399;--success-bg: #0e2a20;--success-border: #1d5a43;--warning: #fbbf24;--warning-bg: #2c220c;--warning-border: #5a4717;--danger: #f87171;--danger-bg: #2c1414;--danger-border: #5a2626;--info: #38bdf8;--info-bg: #0a2530;--info-border: #16586e;--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.45);--shadow-lg: 0 16px 40px rgba(0,0,0,.55);--shadow-focus: 0 0 0 3px rgba(99,102,241,.3);color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease)}a{color:var(--color-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes svq-spin{to{transform:rotate(360deg)}}@keyframes svq-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes svq-pulse{0%,to{opacity:1}50%{opacity:.4}}.svq-skeleton{background:linear-gradient(90deg,var(--surface-inset) 25%,var(--surface-2) 37%,var(--surface-inset) 63%);background-size:400% 100%;animation:svq-shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.main-content,.app-content{color:var(--text)}.card{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow-sm)!important;color:var(--text)}.card-header{background:var(--surface)!important;border-bottom:1px solid var(--border)!important;color:var(--text)!important;font-weight:var(--fw-semibold);padding:var(--sp-4) var(--sp-5)}.card-footer{background:var(--surface-2)!important;border-top:1px solid var(--border)!important}.card-body{color:var(--text)}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow,.shadow-lg{box-shadow:var(--shadow-md)!important}.border,.border-0{border-color:var(--border)!important}.bg-white{background:var(--surface)!important}.bg-light{background:var(--surface-inset)!important}.bg-dark{background:var(--surface-2)!important;color:var(--text)!important}.bg-dark.text-white,.bg-dark .text-white{color:var(--text)!important}.bg-dark .text-white-50{color:var(--text-muted)!important}pre.bg-dark,pre.bg-dark.text-light,.bg-dark.text-light{background:var(--surface-inset)!important;color:var(--text-secondary)!important;border:1px solid var(--border);font-family:var(--font-mono)}.text-light{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-secondary{color:var(--text-secondary)!important}.text-dark{color:var(--text)!important}.text-primary{color:var(--color-primary)!important}.text-success{color:var(--success)!important}.text-warning{color:var(--warning)!important}.text-danger{color:var(--danger)!important}.text-info{color:var(--info)!important}h1,h2,h3,h4,h5,h6{color:var(--text)}.main-content>h2:first-child,.main-content>div>h2:first-child,.app-content h2{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em}.app-content h2 .bi,.main-content h2 .bi{color:var(--color-primary)}.container-fluid{padding-left:0;padding-right:0}.btn{border-radius:var(--r-md)!important;font-weight:var(--fw-medium);transition:all var(--t-fast) var(--ease)}.btn:focus,.btn:focus-visible{box-shadow:var(--shadow-focus)!important}.btn-sm{border-radius:var(--r-sm)!important}.btn-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important}.btn-primary:hover{background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important}.btn-success{background:var(--success)!important;border-color:var(--success)!important;color:#fff!important}.btn-warning{background:var(--warning)!important;border-color:var(--warning)!important;color:#fff!important}.btn-danger{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.btn-info{background:var(--info)!important;border-color:var(--info)!important;color:#fff!important}.btn-secondary{background:var(--surface)!important;border-color:var(--border-strong)!important;color:var(--text)!important}.btn-secondary:hover{background:var(--surface-inset)!important}.btn-outline-primary{color:var(--color-primary)!important;border-color:var(--color-primary)!important;background:transparent!important}.btn-outline-primary:hover{background:var(--color-primary)!important;color:#fff!important}.btn-outline-secondary{color:var(--text-secondary)!important;border-color:var(--border-strong)!important;background:transparent!important}.btn-outline-secondary:hover{background:var(--surface-inset)!important;color:var(--text)!important}.btn-outline-success{color:var(--success)!important;border-color:var(--success)!important;background:transparent!important}.btn-outline-success:hover{background:var(--success)!important;color:#fff!important}.btn-outline-warning{color:var(--warning)!important;border-color:var(--warning)!important;background:transparent!important}.btn-outline-warning:hover{background:var(--warning)!important;color:#fff!important}.btn-outline-danger{color:var(--danger)!important;border-color:var(--danger)!important;background:transparent!important}.btn-outline-danger:hover{background:var(--danger)!important;color:#fff!important}.btn-outline-info{color:var(--info)!important;border-color:var(--info)!important;background:transparent!important}.btn-outline-info:hover{background:var(--info)!important;color:#fff!important}.btn-outline-dark{color:var(--text-secondary)!important;border-color:var(--border-strong)!important;background:transparent!important}.btn-outline-dark:hover{background:var(--surface-inset)!important;color:var(--text)!important}.btn-link{color:var(--color-primary)!important}.form-control,.form-select{background:var(--surface)!important;border:1px solid var(--border-strong)!important;border-radius:var(--r-md)!important;color:var(--text)!important}.form-control::placeholder{color:var(--text-muted)!important}.form-control:focus,.form-select:focus{border-color:var(--color-primary)!important;box-shadow:var(--shadow-focus)!important;background:var(--surface)!important}.form-control:disabled,.form-select:disabled{background:var(--bg-subtle)!important;color:var(--text-muted)!important}.form-label{color:var(--text-secondary);font-weight:var(--fw-medium)}.form-text{color:var(--text-muted)!important}.input-group-text{background:var(--surface-inset)!important;border-color:var(--border-strong)!important;color:var(--text-secondary)!important}.form-check-input{border-color:var(--border-strong)}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.form-check-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.table{color:var(--text)!important;--bs-table-bg: transparent;border-color:var(--border)!important}.table>:not(caption)>*>*{border-color:var(--border)!important;background:transparent!important;color:var(--text)!important}.table thead th,.table .table-light th,.table-light{background:var(--surface-inset)!important;color:var(--text-muted)!important;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-semibold);border-color:var(--border)!important}.table-hover>tbody>tr:hover>*{background:var(--surface-inset)!important}.badge{border-radius:var(--r-pill)!important;font-weight:var(--fw-medium)}.badge.bg-success{background:var(--success-bg)!important;color:var(--success)!important}.badge.bg-danger{background:var(--danger-bg)!important;color:var(--danger)!important}.badge.bg-warning{background:var(--warning-bg)!important;color:var(--warning)!important}.badge.bg-info{background:var(--info-bg)!important;color:var(--info)!important}.badge.bg-primary{background:var(--brand-50)!important;color:var(--color-primary)!important}.badge.bg-secondary,.badge.bg-light{background:var(--surface-inset)!important;color:var(--text-secondary)!important}[data-theme=dark] .badge.bg-primary{background:var(--surface-2)!important;color:var(--brand-400)!important}.badge.text-dark{color:inherit!important}.alert{border-radius:var(--r-md)!important;border:1px solid transparent}.alert-info{background:var(--info-bg)!important;color:var(--info)!important;border-color:var(--info-border)!important}.alert-success{background:var(--success-bg)!important;color:var(--success)!important;border-color:var(--success-border)!important}.alert-warning{background:var(--warning-bg)!important;color:var(--warning)!important;border-color:var(--warning-border)!important}.alert-danger{background:var(--danger-bg)!important;color:var(--danger)!important;border-color:var(--danger-border)!important}.nav-pills .nav-link{color:var(--text-secondary);border-radius:var(--r-md)}.nav-pills .nav-link.active{background:var(--color-primary);color:#fff}.nav-tabs{border-bottom-color:var(--border)}.nav-tabs .nav-link{color:var(--text-secondary);border:none}.nav-tabs .nav-link.active{color:var(--color-primary);background:transparent;border-bottom:2px solid var(--color-primary)}.list-group-item{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important}.spinner-border{color:var(--color-primary)}code,pre{color:var(--text)}hr{border-color:var(--border)}.dropdown-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.dropdown-item{color:var(--text-secondary)}.dropdown-item:hover{background:var(--surface-inset);color:var(--text)}.modal-content{background:var(--surface);color:var(--text)}.form-switch .form-check-input:checked{background-color:var(--color-primary)}.bg-opacity-10{background-color:color-mix(in srgb,currentColor 12%,transparent)!important}.rounded-circle{border-radius:50%!important}.font-monospace{font-family:var(--font-mono)!important}.app-shell[data-v-ad93fb73]{display:flex;height:100vh;overflow:hidden;background:var(--bg)}.app-main[data-v-ad93fb73]{flex:1;display:flex;flex-direction:column;min-width:0}.app-content[data-v-ad93fb73]{flex:1;overflow-y:auto;padding:var(--sp-6)}.sidebar[data-v-ad93fb73]{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width var(--t-base) var(--ease)}.sidebar.is-collapsed[data-v-ad93fb73]{width:var(--sidebar-w-collapsed)}.sidebar__brand[data-v-ad93fb73]{height:var(--topbar-h);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);border-bottom:1px solid var(--border);position:relative}.brand-mark[data-v-ad93fb73]{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r-md);background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;font-size:16px;flex-shrink:0}.brand-name[data-v-ad93fb73]{font-weight:var(--fw-bold);font-size:var(--fs-md);letter-spacing:-.01em;color:var(--text)}.sidebar__toggle[data-v-ad93fb73]{margin-left:auto;width:26px;height:26px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer;display:grid;place-items:center;transition:background var(--t-fast),color var(--t-fast)}.sidebar__toggle[data-v-ad93fb73]:hover{background:var(--surface-inset);color:var(--text)}.sidebar.is-collapsed .sidebar__toggle[data-v-ad93fb73]{position:absolute;right:-13px;top:50%;transform:translateY(-50%);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:5}.sidebar__nav[data-v-ad93fb73]{flex:1;overflow-y:auto;padding:var(--sp-3) var(--sp-3)}.nav-group__label[data-v-ad93fb73]{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:var(--sp-4) var(--sp-3) var(--sp-2)}.nav-group__sep[data-v-ad93fb73]{height:1px;background:var(--border);margin:var(--sp-3) var(--sp-2)}.nav-item[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-3);padding:9px var(--sp-3);margin:2px 0;border-radius:var(--r-md);color:var(--text-secondary);text-decoration:none;font-size:var(--fs-base);font-weight:var(--fw-medium);position:relative;transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.nav-item .bi[data-v-ad93fb73]{font-size:17px;width:20px;text-align:center;flex-shrink:0}.nav-item[data-v-ad93fb73]:hover{background:var(--surface-inset);color:var(--text)}.nav-item.active[data-v-ad93fb73]{background:var(--brand-50);color:var(--color-primary);font-weight:var(--fw-semibold)}[data-theme=dark] .nav-item.active[data-v-ad93fb73]{background:var(--surface-2);color:var(--brand-400)}.nav-item.active[data-v-ad93fb73]:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:3px;border-radius:var(--r-pill);background:var(--color-primary)}.sidebar.is-collapsed .nav-item[data-v-ad93fb73]{justify-content:center;padding:9px 0}.sidebar.is-collapsed .nav-item.active[data-v-ad93fb73]:before{left:0;top:6px;bottom:6px}.sidebar__footer[data-v-ad93fb73]{padding:var(--sp-3);border-top:1px solid var(--border)}.nav-item--btn[data-v-ad93fb73]{width:100%;border:none;background:transparent;cursor:pointer;text-align:left}.topbar[data-v-ad93fb73]{height:var(--topbar-h);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-6);background:var(--surface);border-bottom:1px solid var(--border)}.topbar__left[data-v-ad93fb73],.topbar__right[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-3)}.topbar__menu[data-v-ad93fb73]{display:none}.icon-btn[data-v-ad93fb73]{width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--r-md);cursor:pointer;display:grid;place-items:center;font-size:18px;transition:background var(--t-fast)}.icon-btn[data-v-ad93fb73]:hover{background:var(--surface-inset);color:var(--text)}.breadcrumb[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-base)}.breadcrumb__crumb[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-2)}.breadcrumb__home[data-v-ad93fb73],.breadcrumb__sep[data-v-ad93fb73]{color:var(--text-muted)}.breadcrumb__item[data-v-ad93fb73]{color:var(--text-secondary)}.breadcrumb__item.is-current[data-v-ad93fb73]{color:var(--text);font-weight:var(--fw-semibold)}.search-trigger[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-2);padding:7px var(--sp-3);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-sm);cursor:not-allowed}.search-trigger__hint[data-v-ad93fb73]{min-width:90px;text-align:left}.search-trigger kbd[data-v-ad93fb73]{font-family:var(--font-sans);font-size:11px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1px 6px;color:var(--text-secondary)}.user-menu[data-v-ad93fb73]{position:relative}.user-menu__trigger[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-2);padding:5px var(--sp-2) 5px 5px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-pill);cursor:pointer;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--t-fast),border-color var(--t-fast)}.user-menu__trigger[data-v-ad93fb73]:hover{background:var(--surface-inset);border-color:var(--border-strong)}.user-menu__trigger .bi[data-v-ad93fb73]{font-size:11px;color:var(--text-muted)}.avatar[data-v-ad93fb73]{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-400),var(--brand-600));color:#fff;font-size:11px;font-weight:var(--fw-bold);flex-shrink:0}.avatar--lg[data-v-ad93fb73]{width:40px;height:40px;font-size:14px}.user-menu__panel[data-v-ad93fb73]{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-2);z-index:1000}.user-menu__head[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3)}.user-menu__head-name[data-v-ad93fb73]{margin:0;font-weight:var(--fw-semibold);color:var(--text)}.user-menu__head-role[data-v-ad93fb73]{margin:0;font-size:var(--fs-sm);color:var(--text-muted);text-transform:capitalize}.dropdown-item[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:9px var(--sp-3);border:none;background:transparent;cursor:pointer;color:var(--text-secondary);text-decoration:none;font-size:var(--fs-base);border-radius:var(--r-md);text-align:left;transition:background var(--t-fast),color var(--t-fast)}.dropdown-item .bi[data-v-ad93fb73]{width:18px}.dropdown-item[data-v-ad93fb73]:hover{background:var(--surface-inset);color:var(--text)}.dropdown-item--danger[data-v-ad93fb73]{color:var(--danger)}.dropdown-item--danger[data-v-ad93fb73]:hover{background:var(--danger-bg);color:var(--danger)}.dropdown-sep[data-v-ad93fb73]{height:1px;background:var(--border);margin:var(--sp-2) 0}.dropdown-enter-active[data-v-ad93fb73],.dropdown-leave-active[data-v-ad93fb73]{transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.dropdown-enter-from[data-v-ad93fb73],.dropdown-leave-to[data-v-ad93fb73]{opacity:0;transform:translateY(-6px)}.toast-stack[data-v-ad93fb73]{position:fixed;bottom:var(--sp-6);right:var(--sp-6);z-index:9999}.toast[data-v-ad93fb73]{display:flex;align-items:center;gap:var(--sp-3);min-width:280px;max-width:400px;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--text-muted);border-radius:var(--r-md);box-shadow:var(--shadow-lg);color:var(--text);font-size:var(--fs-base)}.toast .bi[data-v-ad93fb73]{font-size:18px}.toast--success[data-v-ad93fb73]{border-left-color:var(--success)}.toast--success .bi[data-v-ad93fb73]{color:var(--success)}.toast--danger[data-v-ad93fb73],.toast--error[data-v-ad93fb73]{border-left-color:var(--danger)}.toast--danger .bi[data-v-ad93fb73],.toast--error .bi[data-v-ad93fb73]{color:var(--danger)}.toast--warning[data-v-ad93fb73]{border-left-color:var(--warning)}.toast--warning .bi[data-v-ad93fb73]{color:var(--warning)}.toast--info[data-v-ad93fb73]{border-left-color:var(--info)}.toast--info .bi[data-v-ad93fb73]{color:var(--info)}.toast-enter-active[data-v-ad93fb73],.toast-leave-active[data-v-ad93fb73]{transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease-out)}.toast-enter-from[data-v-ad93fb73],.toast-leave-to[data-v-ad93fb73]{opacity:0;transform:translate(20px)}.app-backdrop[data-v-ad93fb73]{display:none}@media (max-width: 768px){.sidebar[data-v-ad93fb73]{position:fixed;top:0;bottom:0;left:0;z-index:1100;transform:translate(-100%);box-shadow:var(--shadow-lg);width:var(--sidebar-w)!important}.sidebar[data-v-ad93fb73]:not(.is-collapsed){transform:translate(0)}.sidebar.is-collapsed[data-v-ad93fb73]{transform:translate(-100%)}.sidebar__toggle[data-v-ad93fb73]{display:none}.topbar__menu[data-v-ad93fb73]{display:grid}.search-trigger__hint[data-v-ad93fb73],.search-trigger kbd[data-v-ad93fb73],.user-menu__name[data-v-ad93fb73]{display:none}.app-content[data-v-ad93fb73]{padding:var(--sp-4)}.app-backdrop[data-v-ad93fb73]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity var(--t-base)}.sidebar:not(.is-collapsed)~.app-main .app-backdrop[data-v-ad93fb73]{opacity:1;pointer-events:auto}}.card[data-v-641a7709]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--t-base) var(--ease),border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease)}.card--interactive[data-v-641a7709]{cursor:pointer}.card--interactive[data-v-641a7709]:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.card__header[data-v-641a7709]{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.card__title-wrap[data-v-641a7709]{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.card__title-wrap .bi[data-v-641a7709]{color:var(--text-muted);font-size:16px}.card__title[data-v-641a7709]{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text)}.card__actions[data-v-641a7709]{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.card__body[data-v-641a7709]{padding:var(--sp-5)}.card__body--flush[data-v-641a7709]{padding:0}.card__footer[data-v-641a7709]{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);background:var(--surface-2)}.btn[data-v-35f27de7]{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-sans);font-weight:var(--fw-medium);font-size:var(--fs-md);line-height:1;border-radius:var(--r-md);padding:9px 16px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.btn .bi[data-v-35f27de7]{font-size:15px}.btn--sm[data-v-35f27de7]{padding:6px 12px;font-size:var(--fs-sm)}.btn--sm .bi[data-v-35f27de7]{font-size:13px}.btn.is-block[data-v-35f27de7]{width:100%}.btn--primary[data-v-35f27de7]{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-xs)}.btn--primary[data-v-35f27de7]:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.btn--primary[data-v-35f27de7]:active{transform:translateY(0);box-shadow:none}.btn--secondary[data-v-35f27de7]{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn--secondary[data-v-35f27de7]:hover{background:var(--surface-inset)}.btn--ghost[data-v-35f27de7]{background:transparent;color:var(--text-secondary)}.btn--ghost[data-v-35f27de7]:hover{background:var(--surface-inset);color:var(--text)}.btn--subtle[data-v-35f27de7]{background:var(--brand-50);color:var(--color-primary)}[data-theme=dark] .btn--subtle[data-v-35f27de7]{background:var(--surface-2);color:var(--brand-400)}.btn--subtle[data-v-35f27de7]:hover{background:var(--brand-100)}[data-theme=dark] .btn--subtle[data-v-35f27de7]:hover{background:var(--surface-inset)}.btn--danger[data-v-35f27de7]{background:var(--danger);color:#fff}.btn--danger[data-v-35f27de7]:hover{filter:brightness(.94);transform:translateY(-1px)}.btn[data-v-35f27de7]:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn[data-v-35f27de7]:disabled,.btn.is-loading[data-v-35f27de7]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn__spinner[data-v-35f27de7]{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:svq-spin .6s linear infinite}.btn--secondary .btn__spinner[data-v-35f27de7],.btn--ghost .btn__spinner[data-v-35f27de7],.btn--subtle .btn__spinner[data-v-35f27de7]{border-color:var(--border-strong);border-top-color:var(--color-primary)}.metric[data-v-d183f993]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-5);transition:box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease)}.metric[data-v-d183f993]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric__top[data-v-d183f993]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.metric__chip[data-v-d183f993]{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-md);font-size:18px}.metric__chip--brand[data-v-d183f993]{background:var(--brand-50);color:var(--color-primary)}[data-theme=dark] .metric__chip--brand[data-v-d183f993]{background:var(--surface-2);color:var(--brand-400)}.metric__chip--success[data-v-d183f993]{background:var(--success-bg);color:var(--success)}.metric__chip--warning[data-v-d183f993]{background:var(--warning-bg);color:var(--warning)}.metric__chip--danger[data-v-d183f993]{background:var(--danger-bg);color:var(--danger)}.metric__chip--info[data-v-d183f993]{background:var(--info-bg);color:var(--info)}.metric__delta[data-v-d183f993]{display:inline-flex;align-items:center;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.metric__delta.is-up[data-v-d183f993]{color:var(--success)}.metric__delta.is-down[data-v-d183f993]{color:var(--danger)}.metric__value[data-v-d183f993]{font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:1.1;color:var(--text);letter-spacing:-.02em}.metric__unit[data-v-d183f993]{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text-muted);margin-left:4px}.metric__skeleton[data-v-d183f993]{display:inline-block;width:64px;height:32px}.metric__label[data-v-d183f993]{margin:var(--sp-2) 0 0;color:var(--text-secondary);font-size:var(--fs-base);font-weight:var(--fw-medium)}.metric__hint[data-v-d183f993]{margin:2px 0 0;color:var(--text-muted);font-size:var(--fs-sm)}.badge[data-v-d0d225c6]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1.4;border:1px solid transparent;white-space:nowrap}.badge .bi[data-v-d0d225c6]{font-size:12px}.badge__dot[data-v-d0d225c6]{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.badge--success[data-v-d0d225c6]{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.badge--warning[data-v-d0d225c6]{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.badge--danger[data-v-d0d225c6]{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.badge--info[data-v-d0d225c6]{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.badge--muted[data-v-d0d225c6]{background:var(--surface-inset);color:var(--text-muted);border-color:var(--border)}.badge--pulse .badge__dot[data-v-d0d225c6]{animation:svq-pulse 1.6s ease infinite}.gauge__svg[data-v-67019f8e]{width:96px;height:96px;transform:rotate(-90deg)}.gauge__track[data-v-67019f8e]{fill:none;stroke:var(--surface-inset);stroke-width:8}.gauge__fill[data-v-67019f8e]{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset var(--t-slow) var(--ease-out),stroke var(--t-base)}.gauge__pct[data-v-67019f8e],.gauge__cap[data-v-67019f8e]{transform:rotate(90deg);transform-origin:40px 40px;text-anchor:middle;fill:var(--text);font-weight:var(--fw-bold);font-size:18px;font-family:var(--font-sans)}.gauge__cap[data-v-67019f8e]{fill:var(--text-muted);font-size:9px;font-weight:var(--fw-medium)}.gauge__bar-wrap[data-v-67019f8e]{width:100%}.gauge__bar-head[data-v-67019f8e]{display:flex;justify-content:space-between;margin-bottom:6px}.gauge__label[data-v-67019f8e]{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:var(--fw-medium)}.gauge__value[data-v-67019f8e]{font-size:var(--fs-sm);color:var(--text);font-weight:var(--fw-semibold)}.gauge__bar[data-v-67019f8e]{height:8px;background:var(--surface-inset);border-radius:var(--r-pill);overflow:hidden}.gauge__bar-fill[data-v-67019f8e]{height:100%;border-radius:var(--r-pill);transition:width var(--t-slow) var(--ease-out),background var(--t-base)}.gauge__sub[data-v-67019f8e]{margin:6px 0 0;font-size:var(--fs-sm);color:var(--text-muted)}.empty[data-v-67d127cf]{text-align:center;padding:var(--sp-10) var(--sp-6)}.empty__icon[data-v-67d127cf]{width:64px;height:64px;margin:0 auto var(--sp-4);display:grid;place-items:center;border-radius:var(--r-lg);background:var(--surface-inset);color:var(--text-muted);font-size:28px}.empty__title[data-v-67d127cf]{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text)}.empty__desc[data-v-67d127cf]{margin:var(--sp-2) auto 0;max-width:380px;color:var(--text-muted);font-size:var(--fs-base)}.empty__action[data-v-67d127cf]{margin-top:var(--sp-5)}.dashboard[data-v-ab4ac744]{max-width:var(--content-max);margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-6)}.page-head[data-v-ab4ac744]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4)}.page-title[data-v-ab4ac744]{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--text)}.page-sub[data-v-ab4ac744]{margin:var(--sp-1) 0 0;color:var(--text-secondary);display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.metrics-grid[data-v-ab4ac744]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}.dash-row[data-v-ab4ac744]{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-4);align-items:start}.server-grid[data-v-ab4ac744]{display:flex;align-items:center;gap:var(--sp-6)}.server-gauge[data-v-ab4ac744]{flex-shrink:0}.server-info[data-v-ab4ac744]{flex:1;display:flex;flex-direction:column;gap:var(--sp-2)}.info-row[data-v-ab4ac744]{display:flex;justify-content:space-between;gap:var(--sp-3);padding:6px 0;border-bottom:1px solid var(--border)}.info-row[data-v-ab4ac744]:last-child{border-bottom:none}.info-row__k[data-v-ab4ac744]{color:var(--text-muted);font-size:var(--fs-sm)}.info-row__v[data-v-ab4ac744]{color:var(--text);font-weight:var(--fw-medium);font-size:var(--fs-sm);text-align:right}.mono[data-v-ab4ac744]{font-family:var(--font-mono)}.svc-list[data-v-ab4ac744]{display:flex;flex-direction:column}.svc-item[data-v-ab4ac744]{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border)}.svc-item[data-v-ab4ac744]:last-child{border-bottom:none}.svc-name[data-v-ab4ac744]{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text)}.svc-state[data-v-ab4ac744]{font-size:var(--fs-sm);color:var(--text-muted);text-transform:capitalize}.quick-actions[data-v-ab4ac744]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}.quick-action[data-v-ab4ac744]{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border);color:var(--text-secondary);text-decoration:none;font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--t-fast) var(--ease)}.quick-action .bi[data-v-ab4ac744]{font-size:16px;color:var(--color-primary)}.quick-action[data-v-ab4ac744]:hover{background:var(--surface-inset);color:var(--text);border-color:var(--border-strong);transform:translateY(-1px)}.link-more[data-v-ab4ac744]{font-size:var(--fs-sm);color:var(--color-primary);text-decoration:none;font-weight:var(--fw-medium);display:inline-flex;align-items:center;gap:4px}.link-more[data-v-ab4ac744]:hover{text-decoration:underline}.dom-list[data-v-ab4ac744]{display:flex;flex-direction:column}.dom-item[data-v-ab4ac744]{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border);text-decoration:none;transition:background var(--t-fast)}.dom-item[data-v-ab4ac744]:last-child{border-bottom:none}.dom-item[data-v-ab4ac744]:hover{background:var(--surface-inset)}.dom-name[data-v-ab4ac744]{display:flex;align-items:center;gap:var(--sp-2);color:var(--text);font-weight:var(--fw-medium)}.dom-name .bi[data-v-ab4ac744]{color:var(--color-primary)}.dom-meta[data-v-ab4ac744]{display:flex;align-items:center;gap:var(--sp-3)}.dom-php[data-v-ab4ac744]{font-size:var(--fs-sm);color:var(--text-muted);font-family:var(--font-mono)}@media (max-width: 1100px){.dash-row[data-v-ab4ac744]{grid-template-columns:1fr 1fr}.dash-server[data-v-ab4ac744]{grid-column:1 / -1}}@media (max-width: 760px){.metrics-grid[data-v-ab4ac744]{grid-template-columns:repeat(2,1fr)}.dash-row[data-v-ab4ac744]{grid-template-columns:1fr}.quick-actions[data-v-ab4ac744]{grid-template-columns:repeat(2,1fr)}}.login-container[data-v-02c575e0]{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:var(--sp-4);font-family:var(--font-sans);position:relative;overflow:hidden;background:radial-gradient(900px circle at 15% 20%,rgba(99,102,241,.18),transparent 45%),radial-gradient(800px circle at 85% 80%,rgba(67,56,202,.2),transparent 45%),var(--bg)}.login-container[data-v-02c575e0]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;opacity:.35;-webkit-mask-image:radial-gradient(ellipse at center,black,transparent 75%);mask-image:radial-gradient(ellipse at center,black,transparent 75%)}.login-card[data-v-02c575e0]{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-width:410px;padding:var(--sp-10) var(--sp-8)}.login-header[data-v-02c575e0]{text-align:center;margin-bottom:var(--sp-8)}.login-mark[data-v-02c575e0]{width:54px;height:54px;margin:0 auto var(--sp-4);display:grid;place-items:center;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;font-size:26px;box-shadow:0 8px 24px #4f46e559}.login-header h1[data-v-02c575e0]{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--text)}.login-header .version[data-v-02c575e0]{margin:var(--sp-1) 0 0;color:var(--text-muted);font-size:var(--fs-sm)}.login-form[data-v-02c575e0],.form-group[data-v-02c575e0]{margin-bottom:var(--sp-4)}.form-group label[data-v-02c575e0]{display:block;margin-bottom:6px;font-weight:var(--fw-medium);color:var(--text-secondary);font-size:var(--fs-sm)}.form-control[data-v-02c575e0]{width:100%;padding:11px var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-md);font-size:var(--fs-base);background:var(--surface);color:var(--text);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.form-control[data-v-02c575e0]::placeholder{color:var(--text-muted)}.form-control[data-v-02c575e0]:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.btn-login[data-v-02c575e0]{width:100%;padding:12px;font-size:var(--fs-md);font-weight:var(--fw-semibold);border:none;border-radius:var(--r-md);background:var(--color-primary);color:#fff;cursor:pointer;transition:transform var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.btn-login[data-v-02c575e0]:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-login[data-v-02c575e0]:disabled{opacity:.6;cursor:not-allowed}.alert[data-v-02c575e0]{margin-bottom:var(--sp-4);padding:var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm)}.alert-danger[data-v-02c575e0]{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.login-footer[data-v-02c575e0]{text-align:center;border-top:1px solid var(--border);padding-top:var(--sp-5);margin-top:var(--sp-5)}.login-footer .text-muted[data-v-02c575e0]{margin:0;font-size:var(--fs-sm);color:var(--text-muted)}.twofa-icon .bi[data-v-02c575e0]{color:var(--color-primary)}
