:root,[data-theme=light]{color-scheme:light;--color-background: #f4f7fb;--color-background-secondary: #f1f5f9;--color-surface: #ffffff;--color-surface-secondary: #f8fafc;--color-surface-tertiary: #f1f5f9;--color-surface-elevated: #ffffff;--color-surface-hover: #f5f8fc;--color-surface-selected: #eff7ff;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-disabled: #94a3b8;--color-text-inverse: #ffffff;--color-primary: #0b74e5;--color-primary-hover: #075bb8;--color-primary-active: #084d94;--color-primary-disabled: #b9ddff;--color-primary-subtle: #eff7ff;--color-primary-subtle-hover: #dbeeff;--color-primary-border: #88c5ff;--color-primary-contrast: #ffffff;--color-border: #dbe2ea;--color-border-muted: #e2e8f0;--color-border-strong: #cbd5e1;--color-divider: #e2e8f0;--color-focus: #0b74e5;--color-focus-ring: rgba(11, 116, 229, .25);--color-input-background: #ffffff;--color-input-background-disabled: #f1f5f9;--color-input-border: #cbd5e1;--color-input-border-hover: #94a3b8;--color-input-border-focus: #0b74e5;--color-input-text: #0f172a;--color-input-placeholder: #94a3b8;--color-input-label: #334155;--color-button-secondary-background: #ffffff;--color-button-secondary-hover: #f1f5f9;--color-button-secondary-active: #e2e8f0;--color-button-secondary-text: #334155;--color-button-secondary-border: #cbd5e1;--color-button-ghost-hover: #eff7ff;--color-button-ghost-text: #075bb8;--color-sidebar-background: #06294f;--color-sidebar-surface: #073867;--color-sidebar-hover: #08497f;--color-sidebar-active: #0b74e5;--color-sidebar-text: #e6f2ff;--color-sidebar-text-muted: #9ac7f5;--color-sidebar-icon: #b9ddff;--color-sidebar-border: rgba(255, 255, 255, .1);--color-header-background: #ffffff;--color-header-text: #0f172a;--color-header-border: #e2e8f0;--color-header-icon: #475569;--color-table-header-background: #f8fafc;--color-table-header-text: #475569;--color-table-row-background: #ffffff;--color-table-row-hover: #f6f9fc;--color-table-row-selected: #eff7ff;--color-table-border: #e2e8f0;--color-modal-background: #ffffff;--color-modal-border: #e2e8f0;--color-modal-overlay: rgba(15, 23, 42, .58);--color-toast-background: #ffffff;--color-toast-text: #0f172a;--color-toast-border: #e2e8f0;--color-success: #16a34a;--color-success-hover: #15803d;--color-success-background: #dcfce7;--color-success-border: #bbf7d0;--color-success-text: #166534;--color-warning: #d97706;--color-warning-hover: #b45309;--color-warning-background: #fef3c7;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-background: #fee2e2;--color-danger-border: #fecaca;--color-danger-text: #991b1b;--color-info: #0284c7;--color-info-hover: #0369a1;--color-info-background: #e0f2fe;--color-info-border: #bae6fd;--color-info-text: #075985;--color-login-page-background: #f3f6fa;--color-login-card-background: #ffffff;--color-login-card-border: rgba(15, 23, 42, .08);--color-login-provider-background: #ffffff;--color-login-provider-hover: #f8fafc;--color-login-provider-border: #cbd5e1;--color-login-provider-text: #1e293b;--color-login-hero-start: #052b66;--color-login-hero-middle: #064ba5;--color-login-hero-end: #0879df;--color-link: #0b74e5;--color-link-hover: #075bb8;--color-icon: #475569;--color-icon-muted: #94a3b8;--color-skeleton: #e2e8f0;--color-skeleton-highlight: #f1f5f9;--color-scrollbar: #cbd5e1;--color-scrollbar-hover: #94a3b8;--color-shadow-color: rgba(15, 23, 42, .12)}[data-theme=dark]{color-scheme:dark;--color-background: #07101d;--color-background-secondary: #091522;--color-surface: #0d1726;--color-surface-secondary: #101c2d;--color-surface-tertiary: #152238;--color-surface-elevated: #18263c;--color-surface-hover: #17263b;--color-surface-selected: rgba(36, 145, 255, .13);--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-text-disabled: #64748b;--color-text-inverse: #07101d;--color-primary: #2491ff;--color-primary-hover: #4aa5ff;--color-primary-active: #1687f8;--color-primary-disabled: #234b72;--color-primary-subtle: rgba(36, 145, 255, .14);--color-primary-subtle-hover: rgba(36, 145, 255, .22);--color-primary-border: #256fb9;--color-primary-contrast: #ffffff;--color-border: #2b3a50;--color-border-muted: #223147;--color-border-strong: #40516a;--color-divider: #26364c;--color-focus: #4aa5ff;--color-focus-ring: rgba(74, 165, 255, .3);--color-input-background: #091321;--color-input-background-disabled: #111c2d;--color-input-border: #35455d;--color-input-border-hover: #52657f;--color-input-border-focus: #2491ff;--color-input-text: #f8fafc;--color-input-placeholder: #64748b;--color-input-label: #cbd5e1;--color-button-secondary-background: #111c2d;--color-button-secondary-hover: #18263c;--color-button-secondary-active: #203149;--color-button-secondary-text: #e2e8f0;--color-button-secondary-border: #35455d;--color-button-ghost-hover: rgba(36, 145, 255, .12);--color-button-ghost-text: #88c5ff;--color-sidebar-background: #050b16;--color-sidebar-surface: #0a1626;--color-sidebar-hover: #12243b;--color-sidebar-active: #0b74e5;--color-sidebar-text: #e2e8f0;--color-sidebar-text-muted: #94a3b8;--color-sidebar-icon: #b9ddff;--color-sidebar-border: rgba(255, 255, 255, .08);--color-header-background: #0d1726;--color-header-text: #f8fafc;--color-header-border: #26364c;--color-header-icon: #cbd5e1;--color-table-header-background: #101c2d;--color-table-header-text: #cbd5e1;--color-table-row-background: #0d1726;--color-table-row-hover: #152238;--color-table-row-selected: rgba(36, 145, 255, .13);--color-table-border: #26364c;--color-modal-background: #101c2d;--color-modal-border: #35455d;--color-modal-overlay: rgba(0, 0, 0, .72);--color-toast-background: #152238;--color-toast-text: #f8fafc;--color-toast-border: #35455d;--color-success: #4ade80;--color-success-hover: #22c55e;--color-success-background: rgba(34, 197, 94, .14);--color-success-border: rgba(34, 197, 94, .35);--color-success-text: #86efac;--color-warning: #fbbf24;--color-warning-hover: #f59e0b;--color-warning-background: rgba(245, 158, 11, .14);--color-warning-border: rgba(245, 158, 11, .35);--color-warning-text: #fcd34d;--color-danger: #f87171;--color-danger-hover: #ef4444;--color-danger-background: rgba(239, 68, 68, .14);--color-danger-border: rgba(239, 68, 68, .35);--color-danger-text: #fca5a5;--color-info: #38bdf8;--color-info-hover: #0ea5e9;--color-info-background: rgba(56, 189, 248, .14);--color-info-border: rgba(56, 189, 248, .35);--color-info-text: #7dd3fc;--color-login-page-background: #07101d;--color-login-card-background: #0d1726;--color-login-card-border: #35455d;--color-login-provider-background: #111c2d;--color-login-provider-hover: #18263c;--color-login-provider-border: #35455d;--color-login-provider-text: #f1f5f9;--color-login-hero-start: #031534;--color-login-hero-middle: #062c68;--color-login-hero-end: #064fae;--color-link: #88c5ff;--color-link-hover: #b9ddff;--color-icon: #cbd5e1;--color-icon-muted: #64748b;--color-skeleton: #26364c;--color-skeleton-highlight: #35455d;--color-scrollbar: #35455d;--color-scrollbar-hover: #52657f;--color-shadow-color: rgba(0, 0, 0, .42)}:root{--font-family-base: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--border-width: 1px;--border-width-strong: 2px;--shadow-xs: 0 1px 2px var(--color-shadow-color);--shadow-sm: 0 2px 6px var(--color-shadow-color);--shadow-md: 0 8px 20px var(--color-shadow-color);--shadow-lg: 0 16px 40px var(--color-shadow-color);--shadow-xl: 0 24px 60px var(--color-shadow-color);--control-height-sm: 2rem;--control-height-md: 2.5rem;--control-height-lg: 3rem;--icon-size-sm: 1rem;--icon-size-md: 1.25rem;--icon-size-lg: 1.5rem;--icon-size-xl: 2rem;--sidebar-width: 16rem;--sidebar-collapsed-width: 4.5rem;--header-height: 4rem;--content-max-width: 100rem;--page-padding: 1.5rem;--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1100;--z-sidebar: 1200;--z-overlay: 1300;--z-modal: 1400;--z-toast: 1500;--z-tooltip: 1600}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;margin:0}body,button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{margin:0;color:inherit}button{padding:0;border:0;background:none;cursor:pointer}button:disabled{cursor:not-allowed}img,picture,svg,canvas,video{display:block;max-width:100%}table{width:100%;border-spacing:0;border-collapse:collapse}[hidden]{display:none!important}html{background-color:var(--color-background);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-normal)}app-root{display:block;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}p{color:var(--color-text-secondary)}small{color:var(--color-text-muted);font-size:var(--font-size-sm)}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.d-flex{display:flex!important}.d-grid{display:grid!important}.items-center{align-items:center!important}.justify-between{justify-content:space-between!important}.gap-4{gap:var(--space-4)!important}.w-full{width:100%!important}.text-muted{color:var(--color-text-muted)!important}.truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.page,.entity-page,.dashboard{display:flex;flex-direction:column;gap:var(--space-6);max-width:var(--content-max-width);margin:0 auto}.page__eyebrow{margin:0 0 var(--space-2);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase}.page h1,.dashboard h1,.entity-page h1{margin:0 0 var(--space-2);font-size:var(--font-size-3xl)}.dashboard__header p,.entity-page header p{margin:0;color:var(--color-text-secondary)}.dashboard__error,.entity-page__error{color:var(--color-danger-text);background:var(--color-danger-background);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4)}.kpi{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.kpi span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.kpi strong{font-size:var(--font-size-3xl);line-height:1}.map-panel,.entity-table{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.map-panel{padding:var(--space-5)}.map-panel h2{margin-bottom:var(--space-4);font-size:var(--font-size-xl)}.slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.slot-list li{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary)}.slot-list li.slot--occupied{border-color:var(--color-warning-border);background:var(--color-warning-background)}table.entity-table th,table.entity-table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--color-table-border)}table.entity-table th{background:var(--color-table-header-background);color:var(--color-table-header-text);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}table.entity-table tbody tr:hover{background:var(--color-table-row-hover)}.empty-state{display:grid;place-items:center;gap:var(--space-2);min-height:12rem;padding:var(--space-8);border:1px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text-muted);text-align:center}.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height-md);padding:0 var(--space-5);border:0;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:var(--font-weight-semibold);cursor:pointer}.btn-primary:hover{background:var(--color-primary-hover)}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.kpi-grid{grid-template-columns:1fr}}html,body{width:100%;min-height:100%}body{background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-normal)}
