html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{color-scheme:light;--space-05: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-3);--spacing-lg: var(--space-5);--spacing-xl: var(--space-7);--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--radius-circle: 50%;--card-margin: 10px;--card-border-radius: var(--radius-md);--header-height-mobile: 52px;--header-height-desktop: 56px;--breakpoint-xs: 400px;--breakpoint-sm: 600px;--breakpoint-md: 900px;--breakpoint-lg: 1200px;--font-sans: "IBM Plex Sans", "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--font-display: "IBM Plex Sans", -apple-system, sans-serif;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--text-4xl: 28px;--icon-xs: 16px;--icon-sm: 18px;--icon-md: 20px;--icon-lg: 24px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--leading-tight: 1.25;--leading-base: 1.45;--leading-relaxed: 1.6;--duration-instant: 80ms;--duration-fast: .14s;--duration-base: .22s;--duration-slow: .38s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.05, .7, .1, 1);--ease-exit: cubic-bezier(.3, 0, 1, 1);--color-primary: #1e3a8a;--color-primary-dark: #1e293b;--color-accent: #0284c7;--color-on-primary: #ffffff;--color-inverse-surface: #1e293b;--color-inverse-text: #e2e8f0;--color-inverse-primary: #60a5fa;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-border: #d4dae3;--color-border-light: #e8ecf2;--color-background: #f1f4f8;--color-background-light: #f7f9fc;--color-surface: #ffffff;--color-success: #059669;--color-warning: #d97706;--color-error: #dc2626;--color-online: #059669;--color-offline: #94a3b8;--color-on-error: #ffffff;--color-error-container: #fee2e2;--color-on-error-container: #991b1b;--color-status-active-bg: #dbeafe;--color-status-active-text: #1e40af;--color-status-finished-bg: #d1fae5;--color-status-finished-text: #065f46;--color-role-admin: #b91c1c;--color-role-operator: #1e40af;--color-role-default: #64748b;--color-action: #475569;--color-action-hover: #1e293b;--color-action-warn: #b91c1c;--color-action-warn-hover: #991b1b;--color-connector-available: #059669;--color-connector-available-bg: #d1fae5;--color-connector-occupied: #d97706;--color-connector-occupied-bg: #fef3c7;--color-connector-charging: #1e40af;--color-connector-charging-bg: #dbeafe;--color-connector-error: #dc2626;--color-connector-error-bg: #fee2e2;--color-focus-ring: rgba(2, 132, 199, .35);--elevation-1: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--elevation-2: 0 2px 4px rgba(15, 23, 42, .05), 0 4px 12px rgba(15, 23, 42, .06);--color-header-surface: #0f172a;--color-header-text: #e2e8f0;--color-header-text-muted: #94a3b8;--color-header-border: #1e293b;--color-header-accent: #38bdf8;--color-header-accent-2: #6366f1;--color-header-on-accent: #06090f;--touch-target-min: 40px}.dark-theme{color-scheme:dark;--color-primary: #60a5fa;--color-primary-dark: #3b82f6;--color-accent: #38bdf8;--color-on-primary: #0a0f1a;--color-inverse-surface: #e2e8f0;--color-inverse-text: #0f172a;--color-inverse-primary: #1e3a8a;--color-text-primary: #e2e8f0;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: #1e293b;--color-border-light: #172033;--color-background: #0a0f1a;--color-background-light: #0f172a;--color-surface: #131c2e;--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--color-online: #34d399;--color-offline: #64748b;--color-on-error: #2e0a0a;--color-error-container: #2e0a0a;--color-on-error-container: #fca5a5;--color-status-active-bg: #172554;--color-status-active-text: #93c5fd;--color-status-finished-bg: #064e3b;--color-status-finished-text: #6ee7b7;--color-role-admin: #f87171;--color-role-operator: #60a5fa;--color-role-default: #94a3b8;--color-action: #94a3b8;--color-action-hover: #e2e8f0;--color-action-warn: #f87171;--color-action-warn-hover: #fca5a5;--color-connector-available: #34d399;--color-connector-available-bg: #052e1f;--color-connector-occupied: #fbbf24;--color-connector-occupied-bg: #2e1f04;--color-connector-charging: #60a5fa;--color-connector-charging-bg: #0c1e3d;--color-connector-error: #f87171;--color-connector-error-bg: #2e0a0a;--color-focus-ring: rgba(56, 189, 248, .4);--color-header-surface: #06090f;--color-header-text: #e2e8f0;--color-header-text-muted: #94a3b8;--color-header-border: #1e293b;--color-header-accent: #38bdf8;--color-header-accent-2: #6366f1;--color-header-on-accent: #06090f}.dark-theme :focus-visible{outline:2px solid var(--color-primary)}:root{--mat-sys-primary: var(--color-primary);--mat-sys-on-primary: var(--color-on-primary);--mat-sys-primary-container: var(--color-status-active-bg);--mat-sys-on-primary-container: var(--color-status-active-text);--mat-sys-inverse-primary: var(--color-inverse-primary);--mat-sys-surface-tint: var(--color-primary);--mat-sys-secondary: var(--color-text-secondary);--mat-sys-on-secondary: var(--color-surface);--mat-sys-secondary-container: var(--color-background-light);--mat-sys-on-secondary-container: var(--color-text-primary);--mat-sys-tertiary: var(--color-accent);--mat-sys-on-tertiary: var(--color-on-primary);--mat-sys-tertiary-container: var(--color-status-active-bg);--mat-sys-on-tertiary-container: var(--color-status-active-text);--mat-sys-error: var(--color-error);--mat-sys-on-error: var(--color-on-error);--mat-sys-error-container: var(--color-error-container);--mat-sys-on-error-container: var(--color-on-error-container);--mat-sys-background: var(--color-background);--mat-sys-on-background: var(--color-text-primary);--mat-sys-surface: var(--color-surface);--mat-sys-on-surface: var(--color-text-primary);--mat-sys-on-surface-variant: var(--color-text-secondary);--mat-sys-surface-variant: var(--color-background-light);--mat-sys-surface-bright: var(--color-surface);--mat-sys-surface-dim: var(--color-background);--mat-sys-surface-container-lowest: var(--color-surface);--mat-sys-surface-container-low: var(--color-background-light);--mat-sys-surface-container: var(--color-background-light);--mat-sys-surface-container-high: var(--color-background);--mat-sys-surface-container-highest: var(--color-background);--mat-sys-inverse-surface: var(--color-inverse-surface);--mat-sys-inverse-on-surface: var(--color-inverse-text);--mat-sys-outline: var(--color-border);--mat-sys-outline-variant: var(--color-border-light);--mat-sys-level0: none;--mat-sys-level1: var(--elevation-1);--mat-sys-level2: var(--elevation-2);--mat-sys-level3: var(--elevation-2);--mat-sys-level4: var(--elevation-2);--mat-sys-level5: var(--elevation-2);--mat-sys-corner-none: 0;--mat-sys-corner-extra-small: var(--radius-xs);--mat-sys-corner-extra-small-top: var(--radius-xs) var(--radius-xs) 0 0;--mat-sys-corner-small: var(--radius-sm);--mat-sys-corner-medium: var(--radius-md);--mat-sys-corner-large: var(--radius-lg);--mat-sys-corner-large-top: var(--radius-lg) var(--radius-lg) 0 0;--mat-sys-corner-large-start: var(--radius-lg) 0 0 var(--radius-lg);--mat-sys-corner-large-end: 0 var(--radius-lg) var(--radius-lg) 0;--mat-sys-corner-extra-large: var(--radius-lg);--mat-sys-corner-extra-large-top: var(--radius-lg) var(--radius-lg) 0 0;--mat-sys-corner-full: var(--radius-pill);--mat-sys-body-large-font: var(--font-sans);--mat-sys-body-large-size: var(--text-base);--mat-sys-body-large-line-height: var(--leading-base);--mat-sys-body-large-weight: var(--weight-regular);--mat-sys-body-large-tracking: 0;--mat-sys-body-large: var(--weight-regular) var(--text-base) / var(--leading-base) var(--font-sans);--mat-sys-body-medium-font: var(--font-sans);--mat-sys-body-medium-size: var(--text-md);--mat-sys-body-medium-line-height: var(--leading-base);--mat-sys-body-medium-weight: var(--weight-regular);--mat-sys-body-medium-tracking: 0;--mat-sys-body-medium: var(--weight-regular) var(--text-md) / var(--leading-base) var(--font-sans);--mat-sys-body-small-font: var(--font-sans);--mat-sys-body-small-size: var(--text-sm);--mat-sys-body-small-line-height: var(--leading-base);--mat-sys-body-small-weight: var(--weight-regular);--mat-sys-body-small-tracking: 0;--mat-sys-body-small: var(--weight-regular) var(--text-sm) / var(--leading-base) var(--font-sans);--mat-sys-label-large-font: var(--font-sans);--mat-sys-label-large-size: var(--text-md);--mat-sys-label-large-line-height: var(--leading-tight);--mat-sys-label-large-weight: var(--weight-medium);--mat-sys-label-large-weight-prominent: var(--weight-semibold);--mat-sys-label-large-tracking: 0;--mat-sys-label-large: var(--weight-medium) var(--text-md) / var(--leading-tight) var(--font-sans);--mat-sys-label-medium-font: var(--font-sans);--mat-sys-label-medium-size: var(--text-sm);--mat-sys-label-medium-line-height: var(--leading-tight);--mat-sys-label-medium-weight: var(--weight-medium);--mat-sys-label-medium-weight-prominent: var(--weight-semibold);--mat-sys-label-medium-tracking: 0;--mat-sys-label-medium: var(--weight-medium) var(--text-sm) / var(--leading-tight) var(--font-sans);--mat-sys-label-small-font: var(--font-sans);--mat-sys-label-small-size: var(--text-xs);--mat-sys-label-small-line-height: var(--leading-tight);--mat-sys-label-small-weight: var(--weight-medium);--mat-sys-label-small-tracking: 0;--mat-sys-label-small: var(--weight-medium) var(--text-xs) / var(--leading-tight) var(--font-sans);--mat-sys-title-large-font: var(--font-display);--mat-sys-title-large-size: var(--text-2xl);--mat-sys-title-large-line-height: var(--leading-tight);--mat-sys-title-large-weight: var(--weight-semibold);--mat-sys-title-large-tracking: -.01em;--mat-sys-title-large: var(--weight-semibold) var(--text-2xl) / var(--leading-tight) var(--font-display);--mat-sys-title-medium-font: var(--font-display);--mat-sys-title-medium-size: var(--text-lg);--mat-sys-title-medium-line-height: var(--leading-tight);--mat-sys-title-medium-weight: var(--weight-semibold);--mat-sys-title-medium-tracking: -.01em;--mat-sys-title-medium: var(--weight-semibold) var(--text-lg) / var(--leading-tight) var(--font-display);--mat-sys-title-small-font: var(--font-display);--mat-sys-title-small-size: var(--text-base);--mat-sys-title-small-line-height: var(--leading-tight);--mat-sys-title-small-weight: var(--weight-semibold);--mat-sys-title-small-tracking: -.01em;--mat-sys-title-small: var(--weight-semibold) var(--text-base) / var(--leading-tight) var(--font-display);--mat-sys-headline-small-font: var(--font-display);--mat-sys-headline-small-size: var(--text-xl);--mat-sys-headline-small-line-height: var(--leading-tight);--mat-sys-headline-small-weight: var(--weight-semibold);--mat-sys-headline-small-tracking: -.01em;--mat-sys-headline-small: var(--weight-semibold) var(--text-xl) / var(--leading-tight) var(--font-display);--mat-sys-headline-medium-font: var(--font-display);--mat-sys-headline-medium-size: var(--text-2xl);--mat-sys-headline-medium-line-height: var(--leading-tight);--mat-sys-headline-medium-weight: var(--weight-semibold);--mat-sys-headline-medium-tracking: -.01em;--mat-sys-headline-medium: var(--weight-semibold) var(--text-2xl) / var(--leading-tight) var(--font-display);--mat-sys-headline-large-font: var(--font-display);--mat-sys-headline-large-size: var(--text-4xl);--mat-sys-headline-large-line-height: var(--leading-tight);--mat-sys-headline-large-weight: var(--weight-semibold);--mat-sys-headline-large-tracking: -.02em;--mat-sys-headline-large: var(--weight-semibold) var(--text-4xl) / var(--leading-tight) var(--font-display);--mat-sys-display-small-font: var(--font-display);--mat-sys-display-small-size: var(--text-4xl);--mat-sys-display-small-line-height: var(--leading-tight);--mat-sys-display-small-weight: var(--weight-semibold);--mat-sys-display-small-tracking: -.02em;--mat-sys-display-small: var(--weight-semibold) var(--text-4xl) / var(--leading-tight) var(--font-display);--mat-sys-display-medium-font: var(--font-display);--mat-sys-display-medium-size: var(--text-4xl);--mat-sys-display-medium-line-height: var(--leading-tight);--mat-sys-display-medium-weight: var(--weight-semibold);--mat-sys-display-medium-tracking: -.02em;--mat-sys-display-medium: var(--weight-semibold) var(--text-4xl) / var(--leading-tight) var(--font-display);--mat-sys-display-large-font: var(--font-display);--mat-sys-display-large-size: var(--text-4xl);--mat-sys-display-large-line-height: var(--leading-tight);--mat-sys-display-large-weight: var(--weight-semibold);--mat-sys-display-large-tracking: -.02em;--mat-sys-display-large: var(--weight-semibold) var(--text-4xl) / var(--leading-tight) var(--font-display)}.dark-theme .legend-label-text{color:var(--color-text-primary)!important}.dark-theme .legend-label{color:var(--color-text-primary)}.dark-theme .ngx-charts text{fill:var(--color-text-primary)}.dark-theme .ngx-charts .gridline-path{stroke:var(--color-border)}.dark-theme .ngx-charts .axis-label{fill:var(--color-text-secondary)}.dark-theme .ngx-charts .tick text{fill:var(--color-text-secondary)}.dark-theme input,.dark-theme textarea,.dark-theme select{color:var(--color-text-primary);background-color:var(--color-surface);border-color:var(--color-border)}.dark-theme input::placeholder,.dark-theme textarea::placeholder{color:var(--color-text-muted)}.dark-theme h1,.dark-theme h2,.dark-theme h3,.dark-theme h4,.dark-theme h5,.dark-theme h6,.dark-theme p,.dark-theme li,.dark-theme span,.dark-theme div{color:var(--color-text-primary)}.dark-theme a{color:var(--color-accent)}.dark-theme a:hover{color:var(--color-primary)}html,body{height:100%}body{margin:0;padding-top:var(--header-height-mobile);font-family:var(--font-sans);font-size:14px;line-height:1.45;color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11","tnum"}@media(min-width:600px){body{padding-top:var(--header-height-desktop)}}.mono,code,kbd,samp,pre,.cell-id,.timestamp,.meter-value,.currency,td.numeric,.numeric{font-family:var(--font-mono);font-feature-settings:"tnum","zero"}h1,h2,h3,h4,h5,h6,.mat-mdc-card-title,mat-card-title{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.mat-mdc-card,mat-card{border-radius:var(--card-border-radius)!important;border:1px solid var(--color-border-light);box-shadow:var(--elevation-1)!important}.box-margin{margin:var(--spacing-md)}.bg-dark{background:#a9a9a9}.flex-center-vertically{display:flex;justify-content:center;flex-direction:column;align-items:center;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.max-width{max-width:500px}.button-spacing{margin-right:var(--spacing-sm)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:600px}.card-standard{margin:var(--card-margin)}.status-online{color:var(--color-online)}.status-offline{color:var(--color-error)}.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}.form-grid{display:grid;gap:var(--spacing-md)}.form-row{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media(min-width:600px){.form-row--inline{flex-direction:row;align-items:center}.form-row--inline>label{min-width:120px;flex-shrink:0}}.form-row-two-col{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm)}@media(min-width:600px){.form-row-two-col{grid-template-columns:1fr 1fr}}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.hide-mobile{display:none}@media(min-width:600px){.hide-mobile{display:initial}.hide-desktop{display:none}}.list-action-btn{color:var(--color-action)!important}.list-action-btn:hover{color:var(--color-action-hover)!important}.list-action-btn.warn{color:var(--color-action-warn)!important}.list-action-btn.warn:hover{color:var(--color-action-warn-hover)!important}.row-clickable{cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}tr.row-clickable:hover,.row-clickable:hover{background-color:var(--color-background-light)}.row-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.row-action--warn .mat-icon,.row-action--warn span{color:var(--color-action-warn)}.filter-clear-btn{color:var(--color-text-muted)!important}.filter-clear-btn:hover{color:var(--color-text-secondary)!important}.no-data{text-align:center;padding:var(--spacing-lg);color:var(--color-text-muted)}.skeleton-line,.skeleton-block{background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-border) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:skeleton-sweep 1.4s var(--ease-standard) infinite;border-radius:var(--radius-sm)}.skeleton-line{height:var(--text-sm);margin-bottom:var(--spacing-sm)}.skeleton-line:last-child{margin-bottom:0}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton-line,.skeleton-block{animation:none;background:var(--color-border-light)}}.interactive-surface{transition:box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.interactive-surface:hover{box-shadow:var(--elevation-2)!important;border-color:var(--color-border)}.interactive-surface:active{transform:translateY(1px);transition-duration:var(--duration-instant)}.state-changed{animation:state-change-ring var(--duration-slow) var(--ease-emphasized)}@keyframes state-change-ring{0%{box-shadow:0 0 0 0 var(--color-focus-ring),var(--elevation-1)}to{box-shadow:0 0 0 6px transparent,var(--elevation-1)}}
