@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";.devinvite[data-v-5ff7c6a5]{position:fixed;right:16px;bottom:16px;z-index:var(--z-toast);max-width:min(560px,calc(100vw - 32px));display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;border:2px dashed var(--warning, #b7791f);border-radius:8px;background:var(--surface, #fff);box-shadow:0 4px 16px #00000026}.devinvite code[data-v-5ff7c6a5]{flex-basis:100%;overflow-wrap:anywhere;font-size:12px}.devinvite .note[data-v-5ff7c6a5]{flex-basis:100%;font-size:12px;color:var(--text-secondary)}.boot[data-v-1aacd693]{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.boot-offline[data-v-1aacd693]{flex-direction:column;gap:12px;padding:24px;text-align:center}.boot-title[data-v-1aacd693]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.boot-body[data-v-1aacd693]{margin:0;max-width:420px;line-height:1.5}.boot-actions[data-v-1aacd693]{display:flex;gap:8px;margin-top:8px}:root{--brand-primary: #44DACF;--brand-primary-hover: #6FE9DF;--brand-primary-active: #2FBFB4;--brand-primary-subtle: rgba(68, 218, 207, .1);--brand-primary-muted: rgba(68, 218, 207, .2);--surface-ground: #0A0A0A;--surface-base: #16181C;--surface-sidebar: rgba(22, 24, 28, .9);--surface-card: rgba(26, 29, 33, .7);--surface-card-solid: #1A1D21;--surface-raised: #22262B;--surface-overlay: #2A2E34;--surface-overlay-hover: #34383F;--surface-panel: #0E1013;--surface-sunken: #111316;--border-faint: rgba(255, 255, 255, .03);--border-subtle: rgba(255, 255, 255, .05);--border-default: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .08);--border-interactive: rgba(255, 255, 255, .12);--border-focus: var(--brand-primary);--text-primary: #FFFFFF;--text-high: #EAECF0;--text-body: #C8CDD5;--text-title: #9CA3AF;--text-secondary: #8A919D;--text-tertiary: #6B7280;--text-disabled: #555B67;--text-divider: #3A3F47;--text-inverse: #0E1113;--text-on-brand: #0E1113;--text-link: var(--brand-primary);--text-link-hover: var(--brand-primary-hover);--status-success: #4CD97B;--status-success-subtle: rgba(76, 217, 123, .1);--status-success-muted: rgba(76, 217, 123, .25);--status-warning: #FFD666;--status-warning-subtle: rgba(255, 214, 102, .1);--status-warning-muted: rgba(255, 214, 102, .25);--status-error: #FF6B6B;--status-error-soft: #E57373;--status-error-subtle: rgba(255, 107, 107, .1);--status-error-muted: rgba(255, 107, 107, .25);--status-info: #44DACF;--status-info-subtle: rgba(68, 218, 207, .1);--status-info-muted: rgba(68, 218, 207, .25);--status-waiting: #6CA8FF;--status-waiting-subtle: rgba(108, 168, 255, .12);--status-offline: #6B7280;--status-offline-subtle: rgba(107, 114, 128, .1);--priority-bg: rgba(80, 68, 30, .4);--priority-border: rgba(255, 219, 136, .15);--priority-text: #FFDB88;--priority-title: #FFB911;--device-online: var(--status-success);--device-offline: var(--status-offline);--device-alarm: var(--status-warning);--device-critical: var(--status-error);--signal-excellent: #4CD97B;--signal-good: #44DACF;--signal-moderate: #FFD666;--signal-poor: #FF6B6B;--tag-mall: #FF8A65;--tag-station: #44DACF;--tag-airport: #E57373;--tag-highway: #AED581;--tag-city: #5B9CF6;--chart-1: #A78BDB;--chart-2: #FF9F7A;--chart-3: #E8D07A;--chart-4: #8AC4E8;--chart-5: #7DD4A0;--chart-line: #FFFFFF;--chart-line-secondary: rgba(255, 255, 255, .3);--interactive-hover: rgba(255, 255, 255, .04);--interactive-active: rgba(255, 255, 255, .08);--interactive-selected: var(--brand-primary-subtle);--nav-active-bg: rgba(255, 255, 255, .06);--interactive-disabled-bg: rgba(255, 255, 255, .04);--interactive-disabled-fg: var(--text-disabled);--elevation-1: rgba(255, 255, 255, .02);--elevation-2: rgba(255, 255, 255, .04);--elevation-3: rgba(255, 255, 255, .06)}:root{--font-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Poppins", monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 19px;--text-3xl: 24px;--text-4xl: 28px;--text-5xl: 36px;--leading-none: 1;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.65;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--tracking-tight: -.2px;--tracking-normal: 0;--tracking-label: .3px;--tracking-wide: .5px;--section-title-fs: 16px;--panel-tab-fs: 14px;--type-kpi: var(--weight-extrabold) var(--text-4xl)/var(--leading-none) var(--font-sans);--type-logo: var(--weight-bold) var(--text-2xl)/1.05 var(--font-sans);--type-heading: var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-sans);--type-section-title: var(--weight-semibold) var(--text-xs)/var(--leading-tight) var(--font-sans);--type-card-title: var(--weight-semibold) var(--text-2xs)/var(--leading-tight) var(--font-sans);--type-nav: var(--weight-medium) var(--text-base)/var(--leading-tight) var(--font-sans);--type-body: var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-sans);--type-caption: var(--weight-regular) var(--text-xs)/var(--leading-normal) var(--font-sans);--type-chip: var(--weight-medium) var(--text-2xs)/var(--leading-tight) var(--font-sans)}:root{--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-7: 14px;--space-8: 16px;--space-10: 20px;--space-12: 24px;--space-13: 26px;--space-16: 32px;--space-20: 40px;--space-24: 48px;--size-chip: 22px;--size-icon-btn-sm: 26px;--size-toggle: 28px;--size-icon-btn-md: 30px;--size-icon-btn-lg: 32px;--size-icon-btn-xl: 36px;--size-avatar: 36px;--size-icon-tile: 40px;--size-ws-avatar: 76px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 14px;--radius-3xl: 20px;--radius-full: 9999px;--frame-padding: 26px;--frame-gap: 30px;--sidebar-width: 280px;--sidebar-collapsed: 88px;--panel-width: 380px;--card-gap: 26px;--card-padding: 16px;--section-gap: 14px;--custom-card-height: 320px}:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-panel: -8px 0 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 12px rgba(68, 218, 207, .4);--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .3);--blur-card: blur(8px);--blur-sidebar: blur(20px);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-panel: .3s cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}:root{--layer-shell-bottom-fade: 20;--layer-shell-page-mask: 24;--layer-shell-topbar: 25;--layer-shell-subcol: 28;--layer-shell-sidebar-toggle: 29;--layer-shell-sidebar: 30;--layer-op-filters: 18;--layer-op-listwrap: 16;--layer-op-thead: 15;--layer-device-card-head: 14;--layer-device-head: 16;--layer-device-model-tabs: 5;--layer-column-picker: 20;--layer-modal: 50;--layer-row-menu-backdrop: 27;--layer-ui-tip: 95;--layer-delegation-frame: 200;--layer-delegation-tag: 201;--layer-toast: 90}:root{--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-instant: 80ms;--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .4s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ddIn{0%{opacity:0;translate:0 -6px;scale:.98}to{opacity:1;translate:none;scale:none}}@keyframes ddInUp{0%{opacity:0;translate:0 6px;scale:.98}to{opacity:1;translate:none;scale:none}}@keyframes ddOut{0%{opacity:1;translate:none;scale:none}to{opacity:0;translate:0 -6px;scale:.98}}@keyframes ddOutUp{0%{opacity:1;translate:none;scale:none}to{opacity:0;translate:0 6px;scale:.98}}@media(prefers-reduced-motion:no-preference){.ddpop-enter-active[data-ddpop=down]{animation:ddIn .1s cubic-bezier(0,0,.2,1)}.ddpop-enter-active[data-ddpop=up]{animation:ddInUp .1s cubic-bezier(0,0,.2,1)}.ddpop-leave-active[data-ddpop=down]{animation:ddOut 80ms cubic-bezier(.4,0,1,1) forwards;pointer-events:none}.ddpop-leave-active[data-ddpop=up]{animation:ddOutUp 80ms cubic-bezier(.4,0,1,1) forwards;pointer-events:none}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh}body{background:var(--surface-ground);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased}#app{min-height:100vh}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-hover)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn{border-radius:999px;border:none;font-family:inherit;font-size:12px;font-weight:var(--weight-semibold);padding:7px 16px;cursor:pointer;white-space:nowrap}.btn+.btn{margin-left:6px}.btn-primary{background:var(--brand-primary);color:var(--text-on-brand)}.btn-secondary{background:var(--elevation-2);border:1px solid var(--border-strong);color:var(--text-body)}.btn-danger{background:var(--status-error-subtle);border:1px solid var(--status-error-muted);color:var(--status-error)}.btn-sm{padding:4px 12px;font-size:11px}.btn-primary:hover:not(:disabled){background:var(--brand-primary-hover)}.btn-secondary:hover:not(:disabled){background:var(--elevation-3)}.btn-danger:hover:not(:disabled){background:var(--status-error-muted)}.btn:disabled{background:var(--elevation-2);border-color:transparent;color:var(--text-disabled);cursor:not-allowed}.btn-lg{font-size:14px;font-weight:700;padding:8px 20px;border:1px solid transparent}.btn-lg.btn-secondary{border-color:var(--text-secondary);color:var(--text-high)}.btn-lg:disabled{color:var(--text-secondary);border:1px dashed var(--text-disabled)}.footlnk{background:none;border:0;padding:0;font-family:inherit;font-size:14px;font-weight:var(--weight-semibold);color:#8a919d;cursor:pointer}.footlnk:hover:not(:disabled){color:#c8cdd5}.footlnk.primary{font-weight:var(--weight-bold, 700);color:var(--brand-primary)}.footlnk.primary:hover:not(:disabled){color:#6fe9df}.footlnk:disabled{cursor:not-allowed}.footlnk.primary:disabled{color:#3c6a67}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}::-webkit-scrollbar-button{display:none;width:0;height:0}::-webkit-scrollbar-corner{background:transparent}[data-ui-tip]{position:relative}[data-ui-tip]:after{content:attr(data-ui-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);z-index:var(--layer-ui-tip);background:#2a2e34;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 12px;font-size:11px;font-weight:500;color:#c8cdd5;white-space:nowrap;box-shadow:0 8px 24px #00000080;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease}[data-ui-tip]:hover:after{opacity:1;transform:translate(-50%) translateY(0);transition-delay:.25s}[data-ui-tip][data-ui-tip-open="1"]:after{opacity:1;transform:translate(-50%) translateY(0);transition-delay:0s}[data-ui-tip][data-ui-tip-pro="1"]:after{background:#4c1d95;border-color:#e9d5ff40;color:#e9d5ff}[data-ui-tip][data-ui-tip-right="1"]:after{left:auto;right:0;transform:translateY(-4px)}[data-ui-tip][data-ui-tip-right="1"]:hover:after,[data-ui-tip][data-ui-tip-right="1"][data-ui-tip-open="1"]:after{transform:translateY(0)}[data-ui-tip][data-ui-tip-up="1"]:after{top:auto;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px)}[data-ui-tip][data-ui-tip-up="1"]:hover:after,[data-ui-tip][data-ui-tip-up="1"][data-ui-tip-open="1"]:after{transform:translate(-50%) translateY(0)}[data-ui-tip][data-ui-tip-up="1"][data-ui-tip-right="1"]:after,[data-ui-tip][data-ui-tip-up="1"][data-ui-tip-left="1"]:after{transform:translateY(4px)}[data-ui-tip][data-ui-tip-up="1"][data-ui-tip-right="1"]:hover:after,[data-ui-tip][data-ui-tip-up="1"][data-ui-tip-left="1"]:hover:after,[data-ui-tip][data-ui-tip-up="1"][data-ui-tip-open="1"][data-ui-tip-right="1"]:after,[data-ui-tip][data-ui-tip-up="1"][data-ui-tip-open="1"][data-ui-tip-left="1"]:after{transform:translateY(0)}[data-ui-tip][data-ui-tip-left="1"]:after{left:0;transform:translateY(-4px)}[data-ui-tip][data-ui-tip-left="1"]:hover:after,[data-ui-tip][data-ui-tip-left="1"][data-ui-tip-open="1"]:after{transform:translateY(0)}
