@font-face{font-family:primeicons;font-display:block;src:url(/assets/primeicons-DMOk5skT.eot);src:url(/assets/primeicons-DMOk5skT.eot?#iefix) format("embedded-opentype"),url(/assets/primeicons-C6QP2o4f.woff2) format("woff2"),url(/assets/primeicons-WjwUDZjB.woff) format("woff"),url(/assets/primeicons-MpK4pl85.ttf) format("truetype"),url(/assets/primeicons-Dr5RGzOO.svg?#primeicons) format("svg");font-weight:400;font-style:normal}.pi{font-family:primeicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pi:before{--webkit-backface-visibility:hidden;backface-visibility:hidden}.pi-fw{width:1.28571429em;text-align:center}.pi-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@media(prefers-reduced-motion:reduce){.pi-spin{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.pi-folder-plus:before{content:""}.pi-receipt:before{content:""}.pi-asterisk:before{content:""}.pi-face-smile:before{content:""}.pi-pinterest:before{content:""}.pi-expand:before{content:""}.pi-pen-to-square:before{content:""}.pi-wave-pulse:before{content:""}.pi-turkish-lira:before{content:""}.pi-spinner-dotted:before{content:""}.pi-crown:before{content:""}.pi-pause-circle:before{content:""}.pi-warehouse:before{content:""}.pi-objects-column:before{content:""}.pi-clipboard:before{content:""}.pi-play-circle:before{content:""}.pi-venus:before{content:""}.pi-cart-minus:before{content:""}.pi-file-plus:before{content:""}.pi-microchip:before{content:""}.pi-twitch:before{content:""}.pi-building-columns:before{content:""}.pi-file-check:before{content:""}.pi-microchip-ai:before{content:""}.pi-trophy:before{content:""}.pi-barcode:before{content:""}.pi-file-arrow-up:before{content:""}.pi-mars:before{content:""}.pi-tiktok:before{content:""}.pi-arrow-up-right-and-arrow-down-left-from-center:before{content:""}.pi-ethereum:before{content:""}.pi-list-check:before{content:""}.pi-thumbtack:before{content:""}.pi-arrow-down-left-and-arrow-up-right-to-center:before{content:""}.pi-equals:before{content:""}.pi-lightbulb:before{content:""}.pi-star-half:before{content:""}.pi-address-book:before{content:""}.pi-chart-scatter:before{content:""}.pi-indian-rupee:before{content:""}.pi-star-half-fill:before{content:""}.pi-cart-arrow-down:before{content:""}.pi-calendar-clock:before{content:""}.pi-sort-up-fill:before{content:""}.pi-sparkles:before{content:""}.pi-bullseye:before{content:""}.pi-sort-down-fill:before{content:""}.pi-graduation-cap:before{content:""}.pi-hammer:before{content:""}.pi-bell-slash:before{content:""}.pi-gauge:before{content:""}.pi-shop:before{content:""}.pi-headphones:before{content:""}.pi-eraser:before{content:""}.pi-stopwatch:before{content:""}.pi-verified:before{content:""}.pi-delete-left:before{content:""}.pi-hourglass:before{content:""}.pi-truck:before{content:""}.pi-wrench:before{content:""}.pi-microphone:before{content:""}.pi-megaphone:before{content:""}.pi-arrow-right-arrow-left:before{content:""}.pi-bitcoin:before{content:""}.pi-file-edit:before{content:""}.pi-language:before{content:""}.pi-file-export:before{content:""}.pi-file-import:before{content:""}.pi-file-word:before{content:""}.pi-gift:before{content:""}.pi-cart-plus:before{content:""}.pi-thumbs-down-fill:before{content:""}.pi-thumbs-up-fill:before{content:""}.pi-arrows-alt:before{content:""}.pi-calculator:before{content:""}.pi-sort-alt-slash:before{content:""}.pi-arrows-h:before{content:""}.pi-arrows-v:before{content:""}.pi-pound:before{content:""}.pi-prime:before{content:""}.pi-chart-pie:before{content:""}.pi-reddit:before{content:""}.pi-code:before{content:""}.pi-sync:before{content:""}.pi-shopping-bag:before{content:""}.pi-server:before{content:""}.pi-database:before{content:""}.pi-hashtag:before{content:""}.pi-bookmark-fill:before{content:""}.pi-filter-fill:before{content:""}.pi-heart-fill:before{content:""}.pi-flag-fill:before{content:""}.pi-circle:before{content:""}.pi-circle-fill:before{content:""}.pi-bolt:before{content:""}.pi-history:before{content:""}.pi-box:before{content:""}.pi-at:before{content:""}.pi-arrow-up-right:before{content:""}.pi-arrow-up-left:before{content:""}.pi-arrow-down-left:before{content:""}.pi-arrow-down-right:before{content:""}.pi-telegram:before{content:""}.pi-stop-circle:before{content:""}.pi-stop:before{content:""}.pi-whatsapp:before{content:""}.pi-building:before{content:""}.pi-qrcode:before{content:""}.pi-car:before{content:""}.pi-instagram:before{content:""}.pi-linkedin:before{content:""}.pi-send:before{content:""}.pi-slack:before{content:""}.pi-sun:before{content:""}.pi-moon:before{content:""}.pi-vimeo:before{content:""}.pi-youtube:before{content:""}.pi-flag:before{content:""}.pi-wallet:before{content:""}.pi-map:before{content:""}.pi-link:before{content:""}.pi-credit-card:before{content:""}.pi-discord:before{content:""}.pi-percentage:before{content:""}.pi-euro:before{content:""}.pi-book:before{content:""}.pi-shield:before{content:""}.pi-paypal:before{content:""}.pi-amazon:before{content:""}.pi-phone:before{content:""}.pi-filter-slash:before{content:""}.pi-facebook:before{content:""}.pi-github:before{content:""}.pi-twitter:before{content:""}.pi-step-backward-alt:before{content:""}.pi-step-forward-alt:before{content:""}.pi-forward:before{content:""}.pi-backward:before{content:""}.pi-fast-backward:before{content:""}.pi-fast-forward:before{content:""}.pi-pause:before{content:""}.pi-play:before{content:""}.pi-compass:before{content:""}.pi-id-card:before{content:""}.pi-ticket:before{content:""}.pi-file-o:before{content:""}.pi-reply:before{content:""}.pi-directions-alt:before{content:""}.pi-directions:before{content:""}.pi-thumbs-up:before{content:""}.pi-thumbs-down:before{content:""}.pi-sort-numeric-down-alt:before{content:""}.pi-sort-numeric-up-alt:before{content:""}.pi-sort-alpha-down-alt:before{content:""}.pi-sort-alpha-up-alt:before{content:""}.pi-sort-numeric-down:before{content:""}.pi-sort-numeric-up:before{content:""}.pi-sort-alpha-down:before{content:""}.pi-sort-alpha-up:before{content:""}.pi-sort-alt:before{content:""}.pi-sort-amount-up:before{content:""}.pi-sort-amount-down:before{content:""}.pi-sort-amount-down-alt:before{content:""}.pi-sort-amount-up-alt:before{content:""}.pi-palette:before{content:""}.pi-undo:before{content:""}.pi-desktop:before{content:""}.pi-sliders-v:before{content:""}.pi-sliders-h:before{content:""}.pi-search-plus:before{content:""}.pi-search-minus:before{content:""}.pi-file-excel:before{content:""}.pi-file-pdf:before{content:""}.pi-check-square:before{content:""}.pi-chart-line:before{content:""}.pi-user-edit:before{content:""}.pi-exclamation-circle:before{content:""}.pi-android:before{content:""}.pi-google:before{content:""}.pi-apple:before{content:""}.pi-microsoft:before{content:""}.pi-heart:before{content:""}.pi-mobile:before{content:""}.pi-tablet:before{content:""}.pi-key:before{content:""}.pi-shopping-cart:before{content:""}.pi-comments:before{content:""}.pi-comment:before{content:""}.pi-briefcase:before{content:""}.pi-bell:before{content:""}.pi-paperclip:before{content:""}.pi-share-alt:before{content:""}.pi-envelope:before{content:""}.pi-volume-down:before{content:""}.pi-volume-up:before{content:""}.pi-volume-off:before{content:""}.pi-eject:before{content:""}.pi-money-bill:before{content:""}.pi-images:before{content:""}.pi-image:before{content:""}.pi-sign-in:before{content:""}.pi-sign-out:before{content:""}.pi-wifi:before{content:""}.pi-sitemap:before{content:""}.pi-chart-bar:before{content:""}.pi-camera:before{content:""}.pi-dollar:before{content:""}.pi-lock-open:before{content:""}.pi-table:before{content:""}.pi-map-marker:before{content:""}.pi-list:before{content:""}.pi-eye-slash:before{content:""}.pi-eye:before{content:""}.pi-folder-open:before{content:""}.pi-folder:before{content:""}.pi-video:before{content:""}.pi-inbox:before{content:""}.pi-lock:before{content:""}.pi-unlock:before{content:""}.pi-tags:before{content:""}.pi-tag:before{content:""}.pi-power-off:before{content:""}.pi-save:before{content:""}.pi-question-circle:before{content:""}.pi-question:before{content:""}.pi-copy:before{content:""}.pi-file:before{content:""}.pi-clone:before{content:""}.pi-calendar-times:before{content:""}.pi-calendar-minus:before{content:""}.pi-calendar-plus:before{content:""}.pi-ellipsis-v:before{content:""}.pi-ellipsis-h:before{content:""}.pi-bookmark:before{content:""}.pi-globe:before{content:""}.pi-replay:before{content:""}.pi-filter:before{content:""}.pi-print:before{content:""}.pi-align-right:before{content:""}.pi-align-left:before{content:""}.pi-align-center:before{content:""}.pi-align-justify:before{content:""}.pi-cog:before{content:""}.pi-cloud-download:before{content:""}.pi-cloud-upload:before{content:""}.pi-cloud:before{content:""}.pi-pencil:before{content:""}.pi-users:before{content:""}.pi-clock:before{content:""}.pi-user-minus:before{content:""}.pi-user-plus:before{content:""}.pi-trash:before{content:""}.pi-external-link:before{content:""}.pi-window-maximize:before{content:""}.pi-window-minimize:before{content:""}.pi-refresh:before{content:""}.pi-user:before{content:""}.pi-exclamation-triangle:before{content:""}.pi-calendar:before{content:""}.pi-chevron-circle-left:before{content:""}.pi-chevron-circle-down:before{content:""}.pi-chevron-circle-right:before{content:""}.pi-chevron-circle-up:before{content:""}.pi-angle-double-down:before{content:""}.pi-angle-double-left:before{content:""}.pi-angle-double-right:before{content:""}.pi-angle-double-up:before{content:""}.pi-angle-down:before{content:""}.pi-angle-left:before{content:""}.pi-angle-right:before{content:""}.pi-angle-up:before{content:""}.pi-upload:before{content:""}.pi-download:before{content:""}.pi-ban:before{content:""}.pi-star-fill:before{content:""}.pi-star:before{content:""}.pi-chevron-left:before{content:""}.pi-chevron-right:before{content:""}.pi-chevron-down:before{content:""}.pi-chevron-up:before{content:""}.pi-caret-left:before{content:""}.pi-caret-right:before{content:""}.pi-caret-down:before{content:""}.pi-caret-up:before{content:""}.pi-search:before{content:""}.pi-check:before{content:""}.pi-check-circle:before{content:""}.pi-times:before{content:""}.pi-times-circle:before{content:""}.pi-plus:before{content:""}.pi-plus-circle:before{content:""}.pi-minus:before{content:""}.pi-minus-circle:before{content:""}.pi-circle-on:before{content:""}.pi-circle-off:before{content:""}.pi-sort-down:before{content:""}.pi-sort-up:before{content:""}.pi-sort:before{content:""}.pi-step-backward:before{content:""}.pi-step-forward:before{content:""}.pi-th-large:before{content:""}.pi-arrow-down:before{content:""}.pi-arrow-left:before{content:""}.pi-arrow-right:before{content:""}.pi-arrow-up:before{content:""}.pi-bars:before{content:""}.pi-arrow-circle-down:before{content:""}.pi-arrow-circle-left:before{content:""}.pi-arrow-circle-right:before{content:""}.pi-arrow-circle-up:before{content:""}.pi-info:before{content:""}.pi-info-circle:before{content:""}.pi-home:before{content:""}.pi-spinner:before{content:""}:root{color-scheme:light;--c-bg:#f5f7fb;--c-surface:#fff;--c-surface-hover:#f0f3f9;--c-primary:#5266df;--c-primary-hover:#4053c6;--c-primary-soft:#eef1ff;--c-text:#182538;--c-text-muted:#67758a;--c-border:#e1e7ef;--c-danger:#c73741;--c-warning:#b67807;--c-success:#168352;--c-text-primary:var(--c-text);--c-text-secondary:var(--c-text-muted);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--fs-xs:12px;--fs-sm:14px;--fs-base:15px;--fs-lg:18px;--fs-xl:28px;--shadow-1:0 1px 3px #18253806;--shadow-2:0 5px 16px #1825380a;--shadow-3:0 16px 48px #1825381f;--sidebar-w:248px;--rail-width:320px;--video-ratio:16/9;--z-header:50;--z-dropdown:80;--z-drawer:150;--z-modal:200;--z-toast:300;--z-tooltip:400}html.dark{color-scheme:dark;--c-bg:#111826;--c-surface:#192334;--c-surface-hover:#222f43;--c-text:#e9eef7;--c-text-muted:#a0aec3;--c-border:#2c3a50;--c-primary:#9caaff;--c-primary-hover:#b6c0ff;--c-primary-soft:#2b365d;--c-danger:#ff969d;--c-warning:#efc36b;--c-success:#66d9a0}:root{--color-bg:var(--c-bg);--color-surface:var(--c-surface);--color-surface-hover:var(--c-surface-hover);--color-surface-elevated:var(--c-surface);--color-text-primary:var(--c-text);--color-text-secondary:var(--c-text-muted);--color-text-muted:var(--c-text-muted);--color-text-on-accent:#fff;--color-border:var(--c-border);--color-border-subtle:var(--c-border);--color-accent:var(--c-primary);--color-accent-hover:var(--c-primary-hover);--color-accent-soft:var(--c-primary-soft);--color-accent-ring:#8f9df75c;--color-success:var(--c-success);--color-success-soft:#21a86d14;--color-warning:var(--c-warning);--color-warning-soft:#eebd411a;--color-danger:var(--c-danger);--color-danger-soft:#e3515b14;--color-sidebar:var(--c-surface);--color-sidebar-hover:var(--c-surface-hover);--color-sidebar-active:var(--c-primary-soft);--color-sidebar-text:var(--c-text-muted);--color-sidebar-text-active:var(--c-primary);--font-family:var(--font-sans);--font-size-xs:var(--fs-xs);--font-size-sm:var(--fs-sm);--font-size-base:var(--fs-base);--font-size-lg:var(--fs-lg);--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-base:1.6;--line-height-relaxed:1.8;--shadow-sm:var(--shadow-1);--shadow-md:var(--shadow-2);--shadow-lg:var(--shadow-3);--shadow-xl:var(--shadow-3);--transition-fast:.12s ease;--transition-base:.18s ease;--sidebar-width:var(--sidebar-w);--header-height:72px;--content-max-width:1360px;--surface-ground:var(--c-bg);--surface-card:var(--c-surface);--surface-border:var(--c-border);--text-color:var(--c-text);--text-color-secondary:var(--c-text-muted);--primary-color:var(--c-primary)}.focus-ring:focus,.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-ring)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.625rem 1.125rem;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-hover)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.btn--danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn--sm{padding:.4375rem .75rem;font-size:var(--font-size-sm)}.btn--block{width:100%}.btn--icon{padding:.5rem;border-radius:var(--radius-md)}.input,.input-wrap input,.input-wrap .p-inputtext{width:100%;box-sizing:border-box;padding:.6875rem .875rem;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input:hover,.input-wrap input:hover{border-color:#c8cdd6}.input:focus,.input-wrap input:focus,.input-wrap .p-inputtext:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.input--error,.input-wrap.input-wrap--error input{border-color:var(--color-danger)}.input-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.field{margin-bottom:var(--space-4)}.field:last-child{margin-bottom:0}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.card__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.card__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.card__subtitle{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.card__body{padding:var(--space-6)}.card--glass{background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.25rem .625rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius-full)}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:#b45309}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--neutral{background:var(--color-surface-hover);color:var(--color-text-secondary)}.badge--accent{background:var(--color-accent-soft);color:var(--color-accent)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.status-dot--online{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft)}.status-dot--offline{background:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.message{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.message--error{background:var(--color-danger-soft);color:#b42318;border:1px solid rgba(229,62,62,.15)}.message--success{background:var(--color-success-soft);color:#157a3a}.skeleton{background:linear-gradient(90deg,#eef0f4 25%,#f8f9fb,#eef0f4 75%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:2rem;height:2rem;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.p-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.5625rem 1rem;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base);background:var(--color-accent);color:#fff}.p-button:hover:not(:disabled){background:var(--color-accent-hover)}.p-button:disabled{opacity:.55;cursor:not-allowed}.p-button.p-button-text{background:transparent;color:var(--color-text-secondary);border-color:transparent}.p-button.p-button-text:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.p-button.p-button-rounded{border-radius:var(--radius-full);padding:.5rem}.p-button.p-button-sm{padding:.375rem .75rem;font-size:var(--font-size-xs)}.p-button.p-button-success{background:var(--color-success)}.p-button.p-button-warning{background:var(--color-warning);color:#1a1d21}.p-button.p-button-danger{background:var(--color-danger)}.p-inputtext,.p-dropdown,.p-password-input{font-family:var(--font-family);font-size:var(--font-size-base);padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.p-inputtext:focus,.p-dropdown:focus,.p-password-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.p-password,.p-password .p-password-input{width:100%}.p-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.p-card .p-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:0}.p-card .p-card-body{padding:0}.p-card .p-card-content{padding:var(--space-6)}.p-card .p-card-header,.p-card>.p-card-body>.p-card-title{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.p-tag{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em}.p-tag.p-tag-success{background:var(--color-success-soft);color:var(--color-success)}.p-tag.p-tag-info{background:var(--color-accent-soft);color:var(--color-accent)}.p-tag.p-tag-warning{background:var(--color-warning-soft);color:#b45309}.p-tag.p-tag-danger{background:var(--color-danger-soft);color:var(--color-danger)}.p-datatable{font-size:var(--font-size-sm)}.p-datatable .p-datatable-thead>tr>th{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle)}.p-datatable .p-datatable-tbody>tr>td{padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-primary)}.p-datatable .p-datatable-tbody>tr:hover{background:var(--color-surface-hover)}.p-progressspinner-circle{stroke:var(--color-accent)!important}.p-toast{font-family:var(--font-family)}.p-toast .p-toast-message{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-subtle)}.p-fileupload-choose{background:var(--color-accent)!important;border:none!important;border-radius:var(--radius-md)!important;font-family:var(--font-family)!important;font-weight:var(--font-weight-medium)!important;padding:.625rem 1.125rem!important}.p-dropdown-panel{border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.p-message{border-radius:var(--radius-md);font-size:var(--font-size-sm)}.p-message.p-message-error{background:var(--color-danger-soft);border:1px solid rgba(229,62,62,.15);color:#b42318}.p-checkbox .p-checkbox-box{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:1.125rem;height:1.125rem}.p-checkbox .p-checkbox-box.p-highlight{background:var(--color-accent);border-color:var(--color-accent)}.page-header{margin-bottom:var(--space-8)}.page-header__title{margin:0 0 var(--space-2);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.02em}.page-header__subtitle{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.dashboard-grid{display:grid;gap:var(--space-6)}.dashboard-grid--2{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid--hero{grid-template-columns:1.4fr 1fr}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.stat-item{padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle)}.stat-item__label{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-item__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.live-hint{margin:0;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-accent-soft);border:1px solid rgba(44,110,245,.15);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.signal-display{display:flex;align-items:center;gap:var(--space-5)}.signal-display__light{width:4.5rem;height:4.5rem;border-radius:var(--radius-full);border:4px solid rgba(0,0,0,.06);box-shadow:var(--shadow-md);flex-shrink:0}.signal-display__light--green{background:#22c55e;box-shadow:0 0 24px #22c55e59}.signal-display__light--yellow{background:#f59e0b;box-shadow:0 0 24px #f59e0b59}.signal-display__light--red{background:#ef4444;box-shadow:0 0 24px #ef444459}.signal-display__label{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.signal-display__meta{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.override-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.service-status-list{display:flex;flex-direction:column;gap:var(--space-3)}.service-status-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle)}.service-status-row:last-child{border-bottom:none;padding-bottom:0}.service-status-row__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.flex-center{display:flex;align-items:center;justify-content:center;padding:var(--space-10)}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.muted{color:var(--color-text-secondary)}.mb-2{margin-bottom:var(--space-6)}.mt-2{margin-top:var(--space-6)}@media(max-width:1024px){.dashboard-grid--hero,.dashboard-grid--2,.dashboard-grid--3{grid-template-columns:1fr}}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.authentication{display:flex;min-height:100vh;background-color:#fff;font-family:Inter,system-ui,-apple-system,sans-serif}.authentication a{text-decoration:none}.authentication-form-col{width:58.3333%;display:flex;align-items:center;justify-content:center}.authentication-form-inner{width:100%;max-width:34rem;padding:3rem}.authentication-brand-wrap{margin-bottom:1.25rem}.authentication-brand{display:inline-block}.authentication-brand img{height:2.5rem;width:auto}.authentication-brand.desktop-logo{display:inline-block}.authentication-brand.desktop-dark,html.dark .authentication-brand.desktop-logo{display:none}html.dark .authentication-brand.desktop-dark{display:inline-block}.authentication-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#202124}.authentication-subtitle{margin:0 0 1.25rem;font-size:1rem;font-weight:400;color:#5f6368;opacity:.7}.btn-list{display:flex;flex-wrap:wrap;gap:.5rem}.authentication .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid #e5e7eb;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:inherit;background-color:#f8f9fa;color:#202124;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.authentication .btn:hover{background-color:#eef0f2;border-color:#d5d9dd}.authentication .btn:disabled{opacity:.65;cursor:not-allowed}.authentication .btn-icon{width:2.5rem;height:2.5rem;padding:0}.authentication .btn-primary{background-color:#126131;border-color:#126131;color:#fff}.authentication .btn-primary:hover:not(:disabled){background-color:#0e4e27;border-color:#0e4e27}.google-svg{width:1.25rem;height:1.25rem;flex-shrink:0}.authentication-barrier{position:relative;text-align:center;margin:2.5rem 0;color:#5f6368;font-size:.875rem}.authentication-barrier span{position:relative;z-index:2;background:#fff;padding:0 .75rem}.authentication-barrier:before,.authentication-barrier:after{position:absolute;content:"";width:45%;height:.125rem;top:.6rem;z-index:1}.authentication-barrier:before{right:0;background-image:linear-gradient(to left,transparent,#e5e7eb)}.authentication-barrier:after{left:0;background-image:linear-gradient(to right,transparent,#e5e7eb)}.authentication .form-label{display:inline-block;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:#202124}.authentication .form-control{display:block;width:100%;padding:.65rem .75rem;font-size:.875rem;font-family:inherit;color:#202124;background-color:#fff;border:1px solid #dadce0;border-radius:.375rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.authentication .form-control-lg{padding:.8rem 1rem;font-size:1rem;border-radius:.5rem}.authentication .form-control::placeholder{color:#9aa0a6}.authentication .form-control:focus{border-color:#126131;box-shadow:0 0 0 .25rem #12613126}.authentication .form-control.is-invalid{border-color:#d93025}.authentication .form-control.is-invalid:focus{box-shadow:0 0 0 .25rem #d9302526}.authentication .form-control:disabled{background-color:#f1f3f4;cursor:not-allowed}.authentication .form-row{margin-bottom:1.25rem}.authentication .form-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.authentication .form-label-row .form-label{margin-bottom:0}.authentication .forget-link{color:#d93025;font-size:.875rem;font-weight:500}.authentication .forget-link:hover{text-decoration:underline}.authentication .input-group{display:flex;align-items:stretch;width:100%}.authentication .input-group .form-control{border-top-right-radius:0;border-bottom-right-radius:0}.authentication .input-group .btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;flex-shrink:0}.authentication .form-check-row{margin-top:.75rem}.authentication .form-check{display:flex;align-items:center;gap:.5rem}.authentication .form-check-input{width:1rem;height:1rem;margin:0;accent-color:rgb(18,97,49);cursor:pointer}.authentication .form-check-label{font-size:.875rem;font-weight:400;color:#5f6368;cursor:pointer;-webkit-user-select:none;user-select:none}.authentication .d-grid{display:grid}.authentication .btn-lg{padding:.8rem 1.25rem;font-size:1rem}.spinner-border{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:auth-spin .75s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.authentication-signup-wrap{text-align:center}.authentication-signup-wrap p{margin:1.5rem 0 0;font-size:.75rem;color:#5f6368}.authentication-signup-link{color:#126131;font-weight:600}.authentication-signup-link:hover{text-decoration:underline}.authentication-cover-col{width:41.6667%;display:none;position:sticky;top:0;height:100vh;align-self:flex-start}@media(min-width:1200px){.authentication-cover-col{display:block}}.authentication-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(160deg,#0f172a,#1e293b 55%,#111827);padding:2.5rem;overflow:hidden}.authentication-cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 15%,rgba(0,212,170,.16),transparent 45%),radial-gradient(circle at 85% 85%,rgba(0,212,170,.09),transparent 40%);pointer-events:none}.authentication-cover-inner{position:relative;z-index:1;width:100%;max-width:30rem}.cover-brand{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:2.5rem;font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#ffffffb3}.cover-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:#00d4aa26;color:#00d4aa;flex-shrink:0}.cover-headline{margin:0 0 1rem;font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#fff}.cover-tagline{margin:0 0 2rem;font-size:.9375rem;line-height:1.6;color:#ffffffb8}html.dark .authentication{background-color:#1b1c1d}html.dark .authentication-title,html.dark .authentication .form-label{color:#e9ecef}html.dark .authentication-barrier span{background:#1b1c1d}html.dark .authentication .form-control{background-color:#1b1c1d;border-color:#3a3d40;color:#e9ecef}html.dark .authentication .form-control:disabled{background-color:#242628}html.dark .authentication .btn{background-color:#242628;border-color:#3a3d40;color:#e9ecef}html.dark .authentication .btn-primary{background-color:#126131;border-color:#126131;color:#fff}@media(max-width:1199.98px){.authentication-form-col{width:100%}}@media(max-width:575.98px){.authentication-form-inner{padding:1.5rem}}.live-panel{border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-md)}.live-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.live-panel__title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.live-panel__subtitle{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.live-panel__status{flex-shrink:0;padding:.35rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}.live-panel__status--clear{background:#22c55e1f;color:#15803d}.live-panel__status--alert{background:#ef44441f;color:#b91c1c}.live-panel__status--offline{background:var(--color-bg);color:var(--color-text-muted)}.live-panel__viewport{position:relative;background:#0f172a;min-height:280px}.live-panel__stream{display:block;width:100%;aspect-ratio:16 / 9;object-fit:fill;background:#0f172a}.live-panel__offline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:280px;color:#ffffff8c;text-align:center;padding:var(--space-6)}.live-panel__overlay{position:absolute;left:var(--space-4);right:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md)}.live-panel__overlay--alert{top:var(--space-4);background:#ef4444eb;color:#fff}.live-panel__overlay--caution{bottom:var(--space-4);background:#f59e0beb;color:#111827}.live-panel__overlay--traffic{bottom:calc(var(--space-4) + 3rem);background:#ef4444eb;color:#fff}.live-panel__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.live-panel__metric{padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface)}.live-panel__metric-label{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.live-panel__metric-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.live-panel__metric-value--danger{color:#dc2626}.live-panel__metric-value--warning{color:#d97706}.live-panel__metric-value--success{color:#16a34a}.live-panel__boxes{padding:0}.live-panel__boxes-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.live-panel__boxes-title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.live-panel__boxes-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.live-panel__boxes-empty{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.live-panel__box-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:180px;overflow-y:auto}.live-panel__box-item{display:grid;grid-template-columns:auto auto 1fr;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg);font-size:var(--font-size-sm)}.live-panel__box-class{font-weight:var(--font-weight-semibold);text-transform:capitalize}.live-panel__box-confidence{padding:.25rem .625rem;border-radius:var(--radius-full);background:#1261311a;color:#126131;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);white-space:nowrap}html.dark .live-panel__box-confidence{background:#00d4aa26;color:#00d4aa}.live-panel__box-coords{color:var(--color-text-secondary);font-family:var(--font-family-mono, ui-monospace, monospace);font-size:var(--font-size-xs);text-align:right}@media(max-width:1024px){.live-panel__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.live-panel__box-item{grid-template-columns:1fr;text-align:left}.live-panel__box-coords{text-align:left}}html,body,#app{height:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent)}code{font-size:.875em;padding:.125rem .375rem;background:var(--color-surface-hover);border-radius:var(--radius-sm)}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-ring)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;box-shadow:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin:0 0 var(--space-6);padding:0;border:0;flex-wrap:wrap}.page-title,.page-header__title{font-size:var(--fs-xl);line-height:1.25;letter-spacing:-.035em;margin:0;font-weight:650;color:var(--c-text)}.page-subtitle,.page-header__subtitle{font-size:var(--fs-sm);line-height:1.7;color:var(--c-text-muted);margin:8px 0 0}.page-eyebrow{font-size:10px;font-weight:650;letter-spacing:.12em;color:var(--c-primary);margin:0 0 9px;text-transform:uppercase}.stat-grid{gap:var(--space-4)}.stat-item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:none}.card{margin:0;-webkit-backdrop-filter:none;backdrop-filter:none}.btn{min-height:40px}.btn-primary{background:#5266df;color:#fff}.btn-secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border)}.form-control{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text)}.state-message{padding:var(--space-5);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);font-size:var(--fs-sm);line-height:1.7}.state-message--error{color:var(--c-danger);background:var(--color-danger-soft)}@media(max-width:640px){.page-header{gap:16px;margin-bottom:20px}.page-title,.page-header__title{font-size:24px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-item{padding:16px}.btn{min-height:44px}.toolbar{flex-wrap:wrap}.toolbar select{flex:1;min-width:130px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
