:root{color-scheme:light;--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #172554;--polyco-navy: #0b2348;--polyco-blue: #135da5;--polyco-deep-blue: #0d4f96;--polyco-navy-2: #102d55;--polyco-bright-blue: #1677ff;--polyco-orange: #e8792e;--polyco-orange-soft: #ffb37a;--gradient-primary: linear-gradient(135deg, #1677ff 0%, #3157e8 58%, #654deb 100%);--gradient-nav-active: linear-gradient(135deg, #1677f0 0%, #3263e4 65%, #6658eb 100%);--gradient-avatar: linear-gradient(135deg, #367bf1 0%, #6259eb 100%);--gradient-header-icon: linear-gradient(135deg, #1784f7 0%, #0757b6 100%);--gradient-hero: linear-gradient(100deg, #061730 0%, #0b2348 45%, #135da5 100%);--hero-text-muted: rgba(255, 255, 255, .82);--hero-tile-bg: rgba(255, 255, 255, .1);--hero-tile-border: rgba(255, 255, 255, .16);--hero-grid-line: rgba(255, 255, 255, .06);--hero-glow: radial-gradient(circle at 18% 20%, rgba(96, 165, 250, .2), transparent 45%);--hero-node-bg: rgba(6, 23, 48, .85);--hero-link: rgba(96, 165, 250, .5);--hero-cloud-halo: rgba(96, 165, 250, .35);--hero-rack-line: rgba(255, 255, 255, .35);--text-primary: #10213d;--text-secondary: #5e718d;--text-tertiary: #7b8ba3;--text-disabled: #a7b2c2;--text-strong-blue: #16335f;--text-cell: #183253;--text-mono: #17365d;--text-table-head: #60718b;--text-nav: #344b6b;--text-section: #63758f;--text-heading: #213b63;--text-number: #0f2445;--text-card-title: #344c70;--text-on-brand: #ffffff;--icon-default: #587095;--icon-nav: #647997;--icon-hover: #135da5;--icon-on-brand: #ffffff;--bg-app: #f3f7fc;--bg-app-glow: radial-gradient(circle at 55% -10%, rgba(47, 123, 246, .045), transparent 38%);--bg-hero-glow: radial-gradient(circle at 82% 4%, rgba(70, 140, 240, .09), transparent 32%);--bg-panel-glow: radial-gradient(circle at center, rgba(37, 119, 255, .035), transparent 35%);--bg-panel-dots: radial-gradient(rgba(37, 119, 255, .07) 1px, transparent 1.2px);--bg-surface: #ffffff;--bg-header: rgba(255, 255, 255, .98);--bg-subtle: #f8fafd;--bg-hover: #f3f7fd;--bg-nav-hover: #f3f7fc;--bg-row-hover: #fafcff;--bg-button-hover: #f6f9fd;--bg-icon-button-hover: #f1f5fb;--bg-track: #edf2f8;--bg-select-hover: #fbfdff;--bg-skeleton: #edf2f8;--bg-skeleton-shine: rgba(255, 255, 255, .75);--bg-overlay: rgba(11, 35, 72, .42);--bg-tooltip: #10213d;--border-default: #e5ecf5;--border-card: #e2eaf4;--border-card-hover: #d3e1f2;--border-logo: #eef2f7;--border-profile: #e0e8f3;--border-strong: #d8e2ef;--border-hover: #c4d1e0;--border-divider: #edf1f6;--border-button-hover: #b9c9dd;--border-input: #d9e3f0;--border-input-hover: #afc5de;--border-icon-button: #e1e8f1;--success: #12a66a;--success-soft: #e8f8f1;--success-text: #0f7a50;--warning: #d98b12;--warning-soft: #fff7e6;--warning-text: #8f5307;--danger: #e53945;--danger-soft: #fff0f1;--danger-text: #c8283a;--danger-text-hover: #b31f30;--danger-border: #ffbfc4;--danger-border-hover: #ff939c;--danger-hover-bg: #fff2f3;--danger-solid: #d12c38;--danger-solid-hover: #b9232f;--info: #2563eb;--info-soft: #eef4ff;--info-text: #1f5fcf;--accent-blue-bg: #eaf2ff;--accent-blue: #256ff2;--accent-blue-wm: #dce9fa;--accent-purple-bg: #f1ecff;--accent-purple: #7558ed;--accent-purple-wm: #e6defa;--accent-green-bg: #e6f8f2;--accent-green: #11a579;--accent-green-wm: #d5f1e8;--accent-orange-bg: #fff3e5;--accent-orange: #e58b19;--accent-orange-wm: #fbe6cc;--quota-normal: #2579f4;--quota-warn: #d89419;--quota-high: #e46a27;--quota-danger: #e33d4e;--quota-high-text: #b4501a;--inbound-bg: #eaf2ff;--inbound-text: #2168d7;--outbound-bg: #e5f8f0;--outbound-text: #0f7a50;--neutral-bg: #eef2f7;--neutral-text: #4a5b74;--tag-bg: #f0f5ff;--tag-text: #2666d4;--cta-outline-text: #176ce5;--cta-outline-border: #cfe0f5;--cta-outline-hover-bg: #f2f7ff;--cta-outline-hover-border: #9fc2f3;--disabled-bg: #f2f4f7;--disabled-text: #a0abba;--disabled-border: #e1e6ed;--focus-ring: 0 0 0 3px rgba(37, 119, 255, .17);--focus-ring-strong: 0 0 0 3px rgba(37, 119, 255, .17);--focus-ring-danger: 0 0 0 3px rgba(229, 57, 69, .18);--hover-ring: 0 0 0 3px rgba(37, 99, 235, .06);--focus-ring-inset: inset 0 0 0 3px rgba(37, 99, 235, .35);--radius-sm: 6px;--radius-md: 9px;--radius-button: 10px;--radius-lg: 12px;--radius-header-icon: 13px;--radius-icon-box: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(16, 36, 68, .04);--shadow-sm: 0 4px 14px rgba(16, 46, 88, .055);--shadow-md: 0 10px 28px rgba(16, 46, 88, .08);--shadow-card: 0 5px 16px rgba(23, 55, 99, .045);--shadow-card-hover: 0 10px 26px rgba(24, 62, 115, .08);--shadow-panel: 0 7px 22px rgba(23, 55, 99, .05);--shadow-cta: 0 4px 12px rgba(31, 108, 230, .18);--shadow-cta-hover: 0 7px 17px rgba(31, 108, 230, .24);--shadow-brand: 0 5px 12px rgba(37, 99, 235, .18);--shadow-brand-hover: 0 7px 18px rgba(37, 99, 235, .24);--shadow-nav-active: 0 5px 14px rgba(36, 103, 224, .2);--shadow-header-icon: 0 6px 18px rgba(20, 102, 210, .2);--shadow-dialog: 0 24px 60px rgba(11, 35, 72, .22);--font-sans: "Inter", "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-caption: 13px;--fs-body: 14px;--fs-card-title: 16px;--fs-dialog-title: 18px;--fs-page-title: 26px;--lh-page-title: 34px;--fs-quota-value: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--sidebar-width: 228px;--header-height: 72px;--logo-area-height: 72px;--content-pad-x: 28px;--control-height: 40px;--control-height-sm: 34px;--dur-fast: .1s;--dur: .15s;--dur-slow: .18s;--ease: cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.5;color:var(--text-primary);background:var(--bg-app-glow),var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0}a{color:var(--polyco-blue);text-underline-offset:2px}a:hover{color:var(--brand-700)}button,input,select,textarea{font:inherit;color:inherit}b,strong{font-weight:600}code,.mono{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-mono)}code{padding:1px 5px;border-radius:var(--radius-sm);background:var(--bg-hover)}svg.lucide{flex:none;stroke-width:1.85}:where(a,button,select,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--focus-ring-strong)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spacer{flex:1}.muted{color:var(--text-secondary)}.nowrap{white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes modal-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes pulse{0%{opacity:1}to{opacity:.35}}@keyframes card-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes grid-drift{to{background-position:48px 48px,48px 48px}}@keyframes float-y{50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{position:relative;display:inline-grid;grid-auto-flow:column;align-items:center;justify-content:center;gap:var(--space-2);height:38px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-button);font-size:var(--fs-body);font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),filter var(--dur) var(--ease)}.btn__content,.btn__loading{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn__loading,.btn[aria-busy=true] .btn__content{visibility:hidden}.btn[aria-busy=true] .btn__loading{visibility:visible}.btn svg{width:17px;height:17px}.btn:focus-visible{box-shadow:var(--focus-ring-strong)}.btn .spinner{width:16px;height:16px}.btn--primary{height:var(--control-height);padding:0 18px;color:var(--text-on-brand);background:var(--gradient-primary);box-shadow:var(--shadow-brand)}.btn--primary svg{width:18px;height:18px}.btn--primary:hover:not(:disabled){color:var(--text-on-brand);transform:translateY(-1px);box-shadow:var(--shadow-brand-hover);filter:brightness(1.02)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-brand)}.btn--primary:focus-visible{box-shadow:var(--shadow-brand),var(--focus-ring-strong)}.btn--secondary{color:var(--text-strong-blue);background:var(--bg-surface);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn--secondary:hover:not(:disabled){color:var(--polyco-blue);background:var(--bg-button-hover);border-color:var(--border-button-hover)}.btn--secondary:active:not(:disabled){background:var(--bg-hover)}.btn--tertiary{color:var(--polyco-blue);background:transparent;padding:0 10px}.btn--tertiary:hover:not(:disabled){color:var(--brand-700);background:var(--brand-50)}.btn--ghost{color:var(--text-secondary);background:transparent}.btn--ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-icon-button-hover)}.btn--danger{color:var(--danger-text);background:var(--bg-surface);border-color:var(--danger-border);border-radius:var(--radius-md)}.btn--danger:hover:not(:disabled){color:var(--danger-text-hover);background:var(--danger-hover-bg);border-color:var(--danger-border-hover)}.btn--danger:focus-visible{box-shadow:var(--focus-ring-danger)}.btn--danger-solid{height:var(--control-height);padding:0 18px;color:var(--text-on-brand);background:var(--danger-solid)}.btn--danger-solid:hover:not(:disabled){background:var(--danger-solid-hover)}.btn--danger-solid:focus-visible{box-shadow:var(--focus-ring-danger)}.btn--sm{height:var(--control-height-sm);padding:0 11px;font-size:var(--fs-caption);gap:6px}.btn--sm .btn__content,.btn--sm .btn__loading{gap:6px}.btn--sm svg{width:16px;height:16px}.btn--lg{height:46px;padding:0 22px;font-size:15px}.btn--block{width:100%}.btn:disabled:not([aria-busy=true]){color:var(--disabled-text);background:var(--disabled-bg);border-color:var(--disabled-border);box-shadow:none;filter:none;transform:none;opacity:.7;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.spinner{animation:spin .8s linear infinite}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--icon-default);cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-btn svg{width:18px;height:18px}.icon-btn:focus-visible{box-shadow:var(--focus-ring-strong)}.icon-btn:hover,.icon-btn.is-open{background:var(--bg-icon-button-hover);border-color:var(--border-icon-button);color:var(--icon-hover)}.icon-btn--outline{width:var(--control-height-sm);height:var(--control-height-sm);border-color:var(--border-strong);background:var(--bg-surface);color:var(--text-strong-blue);box-shadow:var(--shadow-xs)}.icon-btn--outline svg{width:16px;height:16px}.icon-btn--outline:hover{background:var(--bg-button-hover);border-color:var(--border-button-hover);color:var(--polyco-blue)}.icon-btn:disabled,.icon-btn:disabled:hover{color:var(--disabled-text);cursor:not-allowed;background:var(--disabled-bg);border-color:var(--disabled-border);box-shadow:none;opacity:.7}.icon-btn:disabled:after{display:none}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);right:0;z-index:30;padding:5px 8px;border-radius:var(--radius-sm);background:var(--bg-tooltip);color:var(--text-on-brand);font-size:var(--fs-sm);font-weight:500;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(-2px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}[data-tooltip-side=top]:after{top:auto;bottom:calc(100% + 6px)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transform:none}.icon-btn.is-open:after{opacity:0}.has-tooltip{position:relative;cursor:help;border-bottom:1px dashed var(--border-hover);border-radius:0}.has-tooltip .tooltip{position:absolute;left:0;bottom:calc(100% + 6px);z-index:30;padding:5px 8px;border-radius:var(--radius-sm);background:var(--bg-tooltip);color:var(--text-on-brand);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.has-tooltip:hover .tooltip,.has-tooltip:focus .tooltip{opacity:1}.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:650;line-height:1;white-space:nowrap;vertical-align:middle}.badge svg{width:14px;height:14px;stroke-width:2}.badge--dot:before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:currentColor}.badge--pulse:before{animation:pulse 1s ease-in-out infinite alternate}.badge--info{background:var(--info-soft);color:var(--info-text)}.badge--success{background:var(--success-soft);color:var(--success-text)}.badge--warning{background:var(--warning-soft);color:var(--warning-text)}.badge--danger{background:var(--danger-soft);color:var(--danger-text)}.badge--neutral{background:var(--neutral-bg);color:var(--neutral-text)}.badge--inbound{background:var(--inbound-bg);color:var(--inbound-text)}.badge--outbound{background:var(--outbound-bg);color:var(--outbound-text)}.badge--tag{height:24px;padding:0 10px;background:var(--tag-bg);color:var(--tag-text);font-weight:600}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.card+.card{margin-top:var(--space-4)}.card-head{display:flex;align-items:center;gap:10px;min-height:64px;padding:12px 18px;flex-wrap:wrap}.card-head+*{border-top:1px solid var(--border-divider)}.card-head__icon{width:32px;height:32px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--brand-50);color:var(--polyco-blue)}.card-head__icon svg{width:18px;height:18px}.card-head__title{font-size:var(--fs-card-title);font-weight:700;line-height:1.3;color:var(--text-primary);overflow-wrap:anywhere}.card-head__desc{font-size:var(--fs-caption);color:var(--text-secondary)}.card-head__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.card-body{padding:var(--space-4) 18px}.card>.table-wrap:first-child{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.card>.table-wrap:last-child{border-radius:0 0 var(--radius-xl) var(--radius-xl)}.card>.table-wrap:only-child{border-radius:var(--radius-xl)}.card>.alert{margin:var(--space-4) 18px}.table-wrap{position:relative;overflow-x:auto}.table-wrap:focus-visible{box-shadow:var(--focus-ring-inset)}table{width:100%;border-collapse:collapse}th{height:44px;padding:0 18px;text-align:left;font-size:var(--fs-sm);font-weight:650;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;color:var(--text-table-head);background:var(--bg-subtle);border-bottom:1px solid var(--border-divider)}td{height:56px;padding:10px 18px;font-size:var(--fs-body);font-weight:450;color:var(--text-cell);border-bottom:1px solid var(--border-divider);vertical-align:middle}tbody tr{transition:background-color .12s var(--ease)}tbody tr:hover{background:var(--bg-row-hover)}tbody tr:last-child td{border-bottom:0}td:first-child,td.mono,td.nowrap{white-space:nowrap}th.col-actions,td.col-actions{width:1%;text-align:right}.cell-title{font-weight:600;color:var(--text-primary)}.cell-sub{margin-top:2px;font-size:var(--fs-sm);color:var(--text-secondary)}.cell-sub.mono{font-size:var(--fs-sm);color:var(--text-secondary)}.cell-stack{display:flex;flex-direction:column;gap:2px}.cell-inline{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.actions{display:flex;gap:6px;justify-content:flex-end}.fault{margin-top:6px;min-width:220px;max-width:280px;font-size:var(--fs-sm);line-height:1.4;color:var(--danger-text);white-space:normal}.proto{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;color:var(--text-cell);white-space:nowrap}.proto svg{width:16px;height:16px;color:var(--icon-default)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:44px 24px;text-align:center}.empty__icon{width:72px;height:72px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-2);border-radius:50%;background:var(--brand-50);color:var(--polyco-blue)}.empty__icon svg{width:38px;height:38px;stroke-width:1.7}.empty__title{font-size:15px;font-weight:600;color:var(--text-primary)}.empty__text{max-width:420px;font-size:var(--fs-caption);color:var(--text-secondary)}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-secondary)}.loading .spinner{width:18px;height:18px;color:var(--polyco-blue)}.alert{display:flex;align-items:flex-start;gap:10px;margin-bottom:var(--space-4);padding:11px 14px;border-radius:var(--radius-lg);font-weight:500;line-height:1.45}.alert svg{width:18px;height:18px;margin-top:1px}.alert--danger{background:var(--danger-soft);color:var(--danger-text)}.alert--warning{background:var(--warning-soft);color:var(--warning-text)}.alert--success{background:var(--success-soft);color:var(--success-text)}.alert--info{background:var(--info-soft);color:var(--info-text)}.toast{position:fixed;right:20px;bottom:20px;z-index:70;display:flex;align-items:flex-start;gap:10px;max-width:min(420px,calc(100vw - 40px));padding:12px 16px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-primary);font-weight:500;box-shadow:var(--shadow-md);animation:fade-up var(--dur-slow) var(--ease)}.toast svg{width:18px;height:18px;margin-top:1px}.toast--success svg{color:var(--success)}.toast--danger svg{color:var(--danger)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field-label{font-size:var(--fs-caption);font-weight:600;color:var(--text-primary)}.hint{font-size:var(--fs-sm);color:var(--text-secondary)}.hint--warning{color:var(--warning-text)}.input,.select{width:100%;min-width:0;height:var(--control-height);padding:0 12px;border:1px solid var(--border-input);border-radius:var(--radius-button);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.input::placeholder{color:var(--text-tertiary)}.input:hover,.select:hover{border-color:var(--border-input-hover)}.input:focus,.select:focus,.input:focus-visible,.select:focus-visible{outline:none;border-color:var(--brand-500);box-shadow:var(--focus-ring)}.input:disabled,.select:disabled{background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);cursor:not-allowed}textarea.input{height:auto;padding:10px 12px;line-height:1.5;resize:vertical}.input.mono{font-size:13px}.field-row{display:flex;align-items:center;gap:var(--space-2)}.checks{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.checks label{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;color:var(--text-primary);cursor:pointer}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--brand-600);cursor:pointer}.check-field{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-subtle)}.check-field input{margin-top:2px}.check-field label{display:flex;flex-direction:column;gap:2px;font-weight:600;cursor:pointer}.check-field .hint{font-weight:400}.overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--space-4);background:var(--bg-overlay);animation:fade-in var(--dur) var(--ease)}.overlay--top{z-index:60}.dialog{display:flex;flex-direction:column;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-dialog);animation:modal-in var(--dur-slow) var(--ease)}.dialog:focus{outline:none}.dialog--sm{width:min(440px,100%)}.dialog__head{padding:20px 22px 16px}.dialog__title{font-size:var(--fs-dialog-title);font-weight:700;line-height:1.35;color:var(--text-primary);overflow-wrap:anywhere}.dialog__description{margin-top:6px;font-size:var(--fs-body);color:var(--text-secondary)}.dialog__body{display:grid;gap:var(--space-4);padding:0 22px 20px}.dialog__foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:auto;padding:14px 22px;border-top:1px solid var(--border-divider);background:var(--bg-subtle);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.menu{position:relative;display:inline-flex}.menu__list{position:absolute;top:calc(100% + 6px);right:0;z-index:35;min-width:220px;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-md);animation:dropdown-in var(--dur) var(--ease)}.menu__item{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border:0;border-radius:7px;background:none;color:var(--text-nav);font-size:var(--fs-body);font-weight:500;text-align:left;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.menu__item svg{width:17px;height:17px;color:var(--icon-default)}.menu__item:hover,.menu__item:focus-visible{background:var(--bg-hover);color:var(--polyco-blue);box-shadow:none}.menu__item:hover svg,.menu__item:focus-visible svg{color:var(--icon-hover)}.menu__item--danger,.menu__item--danger svg{color:var(--danger-text)}.menu__item--danger:hover,.menu__item--danger:focus-visible{background:var(--danger-hover-bg);color:var(--danger-text-hover)}.menu__item--danger:hover svg,.menu__item--danger:focus-visible svg{color:var(--danger-text-hover)}.menu__sep{height:1px;margin:6px 4px;background:var(--border-divider)}.shell{display:flex;height:100vh;height:100dvh}.sidebar{width:var(--sidebar-width);flex:none;display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border-default)}.sidebar__brand{display:flex;align-items:center;gap:var(--space-2);min-height:var(--logo-area-height);padding:12px 14px;border-bottom:1px solid var(--border-logo)}.sidebar__close{display:none;margin-left:auto}.sidebar-backdrop{display:none}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.brand-lockup__logo{display:block;height:42px;max-height:48px;width:auto;max-width:60px;flex:none;object-fit:contain}.brand-lockup__text{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}.brand-lockup__text strong{font-size:13px;font-weight:800;letter-spacing:.02em;color:var(--polyco-navy)}.brand-lockup__text small{font-size:var(--fs-xs);font-weight:700;letter-spacing:.16em;color:var(--polyco-blue)}.nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 0 var(--space-3)}.nav-section{margin:20px 20px 6px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.075em;text-transform:uppercase;color:var(--text-section)}.nav-group:first-child .nav-section{margin-top:18px}.nav a{display:flex;align-items:center;gap:var(--space-3);height:42px;margin:2px 10px;padding:0 14px;border-radius:var(--radius-button);color:var(--text-nav);font-size:var(--fs-body);font-weight:500;text-decoration:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.nav a svg{width:19px;height:19px;color:var(--icon-nav);transition:color var(--dur) var(--ease)}.nav a:hover{background:var(--bg-nav-hover);color:var(--polyco-blue)}.nav a:hover svg{color:var(--icon-hover)}.nav a.active{background:var(--gradient-nav-active);color:var(--text-on-brand);font-weight:600;box-shadow:var(--shadow-nav-active)}.nav a.active svg{color:var(--icon-on-brand)}.nav a.active:focus-visible{box-shadow:var(--shadow-nav-active),var(--focus-ring-strong)}.sidebar-foot{padding:14px 20px;font-size:var(--fs-sm);color:var(--text-secondary);border-top:1px solid var(--border-default)}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;z-index:10;height:var(--header-height);flex:none;display:flex;align-items:center;gap:14px;padding:0 var(--content-pad-x);background:var(--bg-header);border-bottom:1px solid var(--border-default)}.topbar__menu{display:none}.project-select{display:flex;align-items:center;gap:10px;min-width:0}.project-select__label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.project-select__control{position:relative;display:flex;align-items:center;min-width:0}.project-select__control select{appearance:none;width:100%;min-width:210px;max-width:300px;height:42px;padding:0 36px 0 38px;border:1px solid var(--border-input);font-size:var(--fs-body);border-radius:var(--radius-button);background:var(--bg-surface);color:var(--text-primary);font-weight:600;text-overflow:ellipsis;cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.project-select__control select:hover{border-color:var(--border-input-hover);background:var(--bg-select-hover);box-shadow:var(--hover-ring)}.project-select__control select:focus-visible{border-color:var(--brand-500);box-shadow:var(--focus-ring)}.project-select__icon,.project-select__chevron{position:absolute;color:var(--icon-default);pointer-events:none}.project-select__icon{left:12px;width:18px;height:18px}.project-select__chevron{right:12px;width:16px;height:16px}.user{display:flex;align-items:center;gap:10px;min-width:0;height:50px;padding:4px 14px 4px 5px;border:1px solid var(--border-profile);border-radius:var(--radius-pill);background:var(--bg-surface)}.avatar{width:38px;height:38px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient-avatar);color:var(--text-on-brand);font-size:13px;font-weight:600}.user__text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.user__text strong{font-size:var(--fs-body);font-weight:600;color:var(--text-primary)}.user__text small{font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.topbar__logout{height:var(--control-height);padding:0 14px}.content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:22px var(--content-pad-x) 28px}.page-header{display:flex;align-items:center;gap:var(--space-4);margin:0 0 22px;flex-wrap:wrap;animation:fade-up var(--dur-slow) var(--ease) both}.page-header__icon{width:50px;height:50px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-header-icon);background:var(--gradient-header-icon);color:var(--icon-on-brand);box-shadow:var(--shadow-header-icon)}.page-header__icon svg{width:22px;height:22px}.page-header__text{flex:1 1 280px;min-width:0}.page-header__title{font-size:var(--fs-page-title);line-height:var(--lh-page-title);font-weight:700;letter-spacing:-.5px;color:var(--text-primary)}.page-header__description{margin-top:3px;font-size:var(--fs-body);line-height:20px;color:var(--text-secondary)}.page-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}@media(max-width:1599px){:root{--sidebar-width: 220px}}@media(max-width:1439px){:root{--content-pad-x: 24px}}@media(max-width:1199px){:root{--content-pad-x: 20px}}@media(max-width:1023px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:min(280px,86vw);box-shadow:var(--shadow-md);transform:translate(-100%);visibility:hidden;transition:transform var(--dur-slow) var(--ease),visibility 0s linear var(--dur-slow)}.nav-open .sidebar{transform:none;visibility:visible;transition:transform var(--dur-slow) var(--ease)}.sidebar__close{display:inline-flex}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:45;background:var(--bg-overlay);opacity:0;pointer-events:none;transition:opacity var(--dur-slow) var(--ease)}.nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.topbar__menu{display:inline-flex;margin-left:-6px}}@media(max-width:767px){:root{--header-height: 60px;--content-pad-x: 14px}.topbar{gap:var(--space-2)}.project-select__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.project-select__control select{min-width:0;max-width:46vw;height:40px;padding-left:34px}.project-select__icon{left:10px}.user__text,.topbar__logout-text{display:none}.user{height:auto;padding:0;border:0}.topbar__logout{width:var(--control-height-sm);padding:0}.content{padding-top:var(--space-4)}.page-header{gap:var(--space-3);margin-bottom:var(--space-4)}.page-header__icon{width:40px;height:40px;border-radius:11px}.page-header__icon svg{width:20px;height:20px}.page-header__title{font-size:20px;line-height:28px}.page-header__description{font-size:var(--fs-caption)}.page-header__actions{width:100%}.card-head{padding:12px 14px}th,td{padding-left:14px;padding-right:14px}}.dashboard{position:relative}.dashboard:before{content:"";position:absolute;inset:-22px calc(-1 * var(--content-pad-x)) auto;height:300px;background:var(--bg-hero-glow);pointer-events:none}.dashboard>*{position:relative}.dashboard__project{font-weight:600;color:var(--text-strong-blue)}.dashboard>.page-header{margin-bottom:18px}.dash-section+.dash-section{margin-top:18px}.dash-section__title{display:flex;align-items:center;gap:9px;height:22px;margin-bottom:10px;font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-heading)}.dash-section__title:before{content:"";width:3px;height:17px;border-radius:var(--radius-pill);background:var(--polyco-bright-blue)}.quota-grid{display:grid;gap:18px}.quota-grid--compute{grid-template-columns:repeat(3,minmax(0,1fr))}.quota-grid--storage{grid-template-columns:repeat(4,minmax(0,1fr))}.quota-card{position:relative;display:flex;flex-direction:column;padding:15px 19px;overflow:hidden;border:1px solid var(--border-card);border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-card);color:inherit;text-decoration:none;transition:border-color var(--dur-slow) var(--ease),box-shadow var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);animation:card-in .22s var(--ease) both;animation-delay:calc(var(--i, 0) * 25ms)}.quota-grid--storage .quota-card{padding:13px 18px}.quota-card--link{cursor:pointer}@media(hover:hover){.quota-card--link:hover{transform:translateY(-2px);border-color:var(--border-card-hover);box-shadow:var(--shadow-card-hover)}.quota-card--link:hover .quota-card__title{color:var(--polyco-blue)}.quota-card--link:hover .quota-card__go{opacity:1;transform:none}}.quota-card--link:active{transform:translateY(0)}.quota-card--link:focus-visible{box-shadow:var(--shadow-card),var(--focus-ring-strong)}.quota-card__head{display:flex;align-items:center;gap:var(--space-3);height:42px;padding-right:38px}.quota-card__icon{width:42px;height:42px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:var(--qc-bg);color:var(--qc-fg)}.quota-card__icon svg{width:20px;height:20px}.quota-card__title{font-size:var(--fs-body);font-weight:600;color:var(--text-card-title);transition:color var(--dur) var(--ease)}.quota-card__go{width:15px;height:15px;color:var(--icon-hover);opacity:0;transform:translate(-2px,2px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.quota-card--link:focus-visible .quota-card__title{color:var(--polyco-blue)}.quota-card--link:focus-visible .quota-card__go{opacity:1;transform:none}.quota-card__watermark{position:absolute;top:18px;right:18px;width:29px;height:29px;color:var(--qc-fg);opacity:.25;stroke-width:1.6}.quota-card__value{display:flex;align-items:baseline;gap:5px;height:30px;margin-top:6px;line-height:1;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.quota-card__value strong{font-size:var(--fs-quota-value);font-weight:700;letter-spacing:-.8px;color:var(--text-number)}.quota-card__value span{font-size:15px;font-weight:500}.quota-card__sub{margin-top:7px;font-size:12.5px;line-height:16px;font-weight:500;color:var(--text-secondary)}.quota-card__sub--high{color:var(--quota-high-text)}.quota-card__sub--danger{color:var(--danger-text)}.quota-card--blue{--qc-bg: var(--accent-blue-bg);--qc-fg: var(--accent-blue);--qc-wm: var(--accent-blue-wm)}.quota-card--purple{--qc-bg: var(--accent-purple-bg);--qc-fg: var(--accent-purple);--qc-wm: var(--accent-purple-wm)}.quota-card--green{--qc-bg: var(--accent-green-bg);--qc-fg: var(--accent-green);--qc-wm: var(--accent-green-wm)}.quota-card--orange{--qc-bg: var(--accent-orange-bg);--qc-fg: var(--accent-orange);--qc-wm: var(--accent-orange-wm)}.quota-bar{height:6px;margin-top:10px;overflow:hidden;border-radius:var(--radius-pill);background:var(--bg-track)}.quota-bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--quota-normal);transition:width .3s ease}.quota-bar--nonzero>span{min-width:3px}.quota-bar--warn>span{background:var(--quota-warn)}.quota-bar--high>span{background:var(--quota-high)}.quota-bar--danger>span{background:var(--quota-danger)}.quota-card--skeleton{animation:none}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-skeleton) 0%,var(--bg-skeleton-shine) 50%,var(--bg-skeleton) 100%) var(--bg-skeleton);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.skeleton--icon{width:42px;height:42px;border-radius:11px}.skeleton--title{width:90px;height:14px}.skeleton--value{width:120px;height:28px;margin-top:8px}.skeleton--bar{width:100%;height:6px;margin-top:10px;border-radius:var(--radius-pill)}.skeleton--sub{width:70px;height:13px;margin-top:9px}.skeleton--row{height:18px}.load-error{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--danger-border);border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-card)}.load-error--compact{margin:16px;box-shadow:none}.load-error__icon{width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:var(--danger-soft);color:var(--danger)}.load-error__icon svg{width:20px;height:20px}.load-error__text{flex:1;min-width:0}.load-error__title{font-weight:600;color:var(--text-primary)}.load-error__detail{font-size:var(--fs-caption);color:var(--danger-text);overflow-wrap:anywhere}.vm-panel{display:flex;flex-direction:column;min-height:0;margin-top:18px;overflow:hidden;border:1px solid var(--border-card);border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-panel)}.vm-panel__head{flex:none;display:flex;align-items:center;gap:10px;height:58px;padding:0 18px;border-bottom:1px solid var(--border-divider)}.vm-panel__icon{width:36px;height:36px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-button);background:var(--accent-blue-bg);color:var(--accent-blue)}.vm-panel__icon svg{width:18px;height:18px}.vm-panel__title{flex:1;font-size:var(--fs-card-title);font-weight:700;color:var(--text-primary)}.vm-panel__cta{height:38px;padding:0 15px;font-size:var(--fs-caption);gap:7px;box-shadow:var(--shadow-cta)}.vm-panel__cta svg{width:16px;height:16px}.vm-panel__cta:hover{box-shadow:var(--shadow-cta-hover)}.vm-panel__skeleton{display:grid;gap:12px;padding:18px 16px}.vm-panel>.table-wrap{flex:1 1 auto;min-height:0;overflow:auto;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.vm-panel>.table-wrap th{position:sticky;top:0;z-index:1}.vm-empty{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;background:var(--bg-panel-glow),var(--bg-panel-dots);background-size:auto,22px 22px}.vm-empty:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,var(--bg-surface) 62%);pointer-events:none}.vm-empty>*{position:relative;z-index:1}.vm-empty__art{position:relative;width:74px;height:74px;margin-bottom:14px;display:inline-flex;align-items:center;justify-content:center;border-radius:20px;background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--brand-100)}.vm-empty__server{width:34px;height:34px;color:var(--brand-400);stroke-width:1.6}.vm-empty__cloud{position:absolute;right:-9px;bottom:-7px;width:32px;height:32px;padding:6px;border-radius:50%;background:var(--bg-surface);color:var(--polyco-bright-blue);box-shadow:var(--shadow-sm)}.vm-empty__title{font-size:15px;font-weight:650;color:var(--text-heading)}.vm-empty__text{margin-top:5px;font-size:var(--fs-caption);color:var(--text-secondary)}.vm-empty__cta.btn{height:38px;margin-top:14px;padding:0 15px;border-color:var(--cta-outline-border);color:var(--cta-outline-text)}.vm-empty__cta.btn:hover{background:var(--cta-outline-hover-bg);border-color:var(--cta-outline-hover-border);color:var(--cta-outline-text)}@media(min-width:1440px)and (min-height:900px){.content:has(>.dashboard){overflow:hidden;padding-bottom:22px}.dashboard{height:100%;display:flex;flex-direction:column}.dashboard>*{flex:none}.dashboard>.vm-panel{flex:1 1 0;min-height:0}}@media(max-height:899px),(max-width:1439px){.dashboard>.vm-panel{min-height:260px}}@media(max-width:1439px){.quota-grid--storage{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1199px){.quota-grid--compute{grid-template-columns:repeat(2,minmax(0,1fr))}}.sg-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.sg-list .card+.card{margin-top:0}.sg-desc{max-width:360px;overflow:hidden;text-overflow:ellipsis}.sg-desc-text{font-size:var(--fs-caption);color:var(--text-secondary)}.login{min-height:100%;display:grid;grid-template-columns:1.15fr 1fr;background:var(--bg-surface)}.login-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-8);padding:40px 56px;color:var(--text-on-brand);background:var(--hero-glow),var(--gradient-hero)}.login-hero>*{position:relative}.tech-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--hero-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid-line) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,var(--text-primary) 0%,transparent 75%);mask-image:radial-gradient(ellipse at center,var(--text-primary) 0%,transparent 75%);animation:grid-drift 16s linear infinite}.login-hero .brand-lockup__text strong{color:var(--text-on-brand)}.login-hero .brand-lockup__text small{color:var(--brand-300)}.login-hero__body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:28px}.login-hero__title{max-width:560px;font-size:clamp(2.3rem,3.4vw,3.4rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}.login-hero__accent{color:var(--polyco-orange)}.login-hero__subtitle{max-width:480px;font-size:1.05rem;color:var(--hero-text-muted)}.login-hero__features{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.login-hero__features li{display:flex;align-items:center;gap:var(--space-3);font-weight:500}.login-hero__features li span{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-button);border:1px solid var(--hero-tile-border);background:var(--hero-tile-bg);color:var(--brand-300)}.login-hero__features svg{width:18px;height:18px}.login-hero__systems{display:flex;flex-wrap:wrap;gap:var(--space-2);max-width:420px}.login-hero__systems span{padding:5px 11px;border-radius:var(--radius-pill);border:1px solid var(--hero-tile-border);background:var(--hero-tile-bg);font-size:var(--fs-sm);font-weight:600;letter-spacing:.04em}.login-hero__art{position:absolute;right:28px;bottom:36px;width:min(320px,38%);pointer-events:none;animation:float-y 7s ease-in-out infinite}@media(max-width:1599px){.login-hero__art{display:none}}.login-hero__foot{font-size:var(--fs-sm);color:var(--hero-text-muted)}.login-side{display:grid;place-items:center;padding:var(--space-8);background:var(--bg-app-glow),var(--bg-app)}.login-card{width:min(420px,100%);display:grid;gap:var(--space-4);padding:30px;border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-md);animation:fade-up .3s var(--ease) both}.login-card__title{display:flex;align-items:center;gap:var(--space-2);font-size:22px;font-weight:700;letter-spacing:-.3px}.login-card__title svg{width:22px;height:22px;color:var(--polyco-blue)}.login-card__sub{margin:-10px 0 4px;font-size:var(--fs-caption);color:var(--text-secondary)}.login-card__foot{font-size:var(--fs-sm);text-align:center;color:var(--text-secondary)}.input-icon{position:relative;display:flex}.input-icon>svg{position:absolute;top:50%;left:12px;width:18px;height:18px;color:var(--icon-default);transform:translateY(-50%);pointer-events:none}.input-icon .input{height:46px;padding-left:40px}.input-icon .input-icon__toggle{position:absolute;top:50%;right:5px;transform:translateY(-50%)}@media(max-width:900px){.login{grid-template-columns:1fr}.login-hero{padding:var(--space-6)}.login-hero__art,.login-hero__features{display:none}}@media(max-width:767px){.quota-grid--compute,.quota-grid--storage{grid-template-columns:minmax(0,1fr);gap:12px}.quota-card,.quota-grid--storage .quota-card{padding:14px 16px}.vm-panel__head,.vm-panel__cta{padding:0 12px}.load-error{flex-wrap:wrap}.login-side{padding:var(--space-4)}.login-card{padding:22px}}
