@charset "UTF-8";html{color-scheme:light dark;--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #003737);--mat-sys-on-tertiary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-tertiary-fixed: light-dark(#002020, #002020);--mat-sys-on-tertiary-fixed-variant: light-dark(#004f4f, #004f4f);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#006a6a, #00dddd);--mat-sys-tertiary-container: light-dark(#00fbfb, #004f4f);--mat-sys-tertiary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-tertiary-fixed-dim: light-dark(#00dddd, #00dddd);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-body-large-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-body-medium-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-body-small-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-display-large-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-display-medium-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-display-small-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-headline-large-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-headline-medium-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-headline-small-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-label-large-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-label-medium-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-label-small-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-title-large-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-title-medium-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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 Inter, Roboto, "Segoe UI", system-ui, sans-serif;--mat-sys-title-small-font: Inter, Roboto, "Segoe UI", system-ui, sans-serif;--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-checkbox-touch-target-display: block;--mat-checkbox-state-layer-size: 36px;--mat-chip-container-height: 28px;--mat-expansion-header-collapsed-state-height: 44px;--mat-expansion-header-expanded-state-height: 60px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display: block;--mat-button-filled-touch-target-display: block;--mat-button-filled-container-height: 36px;--mat-button-outlined-container-height: 36px;--mat-button-outlined-touch-target-display: block;--mat-button-protected-touch-target-display: block;--mat-button-protected-container-height: 36px;--mat-button-text-touch-target-display: block;--mat-button-text-container-height: 36px;--mat-button-tonal-container-height: 36px;--mat-button-tonal-touch-target-display: block;--mat-form-field-container-height: 52px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 14px;--mat-form-field-filled-with-label-container-padding-top: 22px;--mat-form-field-filled-with-label-container-padding-bottom: 6px;--mat-icon-button-touch-target-display: block;--mat-icon-button-state-layer-size: 36px;--mat-list-list-item-leading-icon-start-space: 12px;--mat-list-list-item-leading-icon-end-space: 12px;--mat-list-list-item-one-line-container-height: 44px;--mat-list-list-item-two-line-container-height: 60px;--mat-list-list-item-three-line-container-height: 84px;--mat-paginator-container-size: 52px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mat-radio-touch-target-display: block;--mat-radio-state-layer-size: 36px;--mat-tab-container-height: 44px;--mat-select-arrow-transform: translateY(-8px);--mat-button-toggle-height: 40px;--mat-stepper-header-height: 68px;--mat-table-header-container-height: 52px;--mat-table-footer-container-height: 48px;--mat-table-row-item-container-height: 48px;--mat-toolbar-standard-height: 60px;--mat-toolbar-mobile-height: 52px;--mat-tree-node-min-height: 44px;--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;--mat-sys-primary: light-dark(#4f46e5, #a5b4fc);--mat-sys-on-primary: light-dark(#ffffff, #1e1b4b);--mat-sys-primary-container: light-dark(#e0e7ff, #312e81);--mat-sys-on-primary-container: light-dark(#1e1b4b, #e0e7ff);--mat-sys-secondary: light-dark(#0d9488, #5eead4);--mat-sys-on-secondary: light-dark(#ffffff, #042f2e);--mat-sys-secondary-container: light-dark(#ccfbf1, #134e4a);--mat-sys-on-secondary-container: light-dark(#042f2e, #ccfbf1);--mat-sys-tertiary: light-dark(#0891b2, #67e8f9);--mat-sys-error: light-dark(#dc2626, #f87171);--mat-sys-background: light-dark(#f4f6fb, #0b1120);--mat-sys-surface: light-dark(#f4f6fb, #0b1120);--mat-sys-on-surface: light-dark(#0f172a, #e2e8f0);--mat-sys-on-surface-variant: light-dark(#475569, #94a3b8);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f172a);--mat-sys-surface-container-low: light-dark(#ffffff, #111a2e);--mat-sys-surface-container: light-dark(#f1f5f9, #16213a);--mat-sys-surface-container-high: light-dark(#e9eef5, #1c2842);--mat-sys-surface-container-highest: light-dark(#e2e8f0, #243150);--mat-sys-outline: light-dark(#94a3b8, #64748b);--mat-sys-outline-variant: light-dark(#e2e8f0, #1e293b);--mat-button-filled-container-shape: 10px;--mat-button-outlined-container-shape: 10px;--mat-button-text-container-shape: 10px;--mat-button-protected-container-shape: 10px;--mat-button-tonal-container-shape: 10px;--mat-button-outlined-outline-color: var(--mat-sys-outline-variant);--mat-button-filled-label-text-weight: 600;--mat-button-outlined-label-text-weight: 600;--mat-dialog-container-shape: 18px;--mat-menu-container-shape: 12px;--mat-form-field-outlined-container-shape: 10px;--mat-table-header-headline-color: var(--mat-sys-on-surface-variant);--mat-table-background-color: transparent}:root{--app-gap: 16px;--app-radius: 14px;--app-radius-sm: 10px;--app-space-1: 4px;--app-space-2: 8px;--app-space-3: 12px;--app-space-4: 16px;--app-space-5: 24px;--app-space-6: 32px;--app-transition: .18s cubic-bezier(.4, 0, .2, 1);--app-ok: light-dark(#059669, #34d399);--app-warn: light-dark(#d97706, #fbbf24);--app-danger: light-dark(#dc2626, #f87171);--app-info: light-dark(#2563eb, #60a5fa);--app-muted: var(--mat-sys-on-surface-variant);--app-border: var(--mat-sys-outline-variant);--app-shadow-sm: 0 1px 2px rgb(15 23 42 / 6%);--app-shadow: 0 1px 2px rgb(15 23 42 / 6%), 0 4px 16px rgb(15 23 42 / 5%);--app-shadow-lg: 0 8px 30px rgb(15 23 42 / 10%);--app-gradient: linear-gradient(135deg, #4f46e5 0%, #0d9488 100%);--app-nav-bg: linear-gradient(180deg, #1e1b4b 0%, #0f172a 100%);--app-nav-text: #cbd5e1;--app-nav-muted: #8189ad;--app-nav-active-bg: linear-gradient(90deg, #4f46e5, #6366f1)}html,body{height:100%;margin:0}body{background:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--mat-sys-on-surface) 22%,transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--mat-sys-on-surface) 20%,transparent);border:2px solid transparent;background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--mat-sys-on-surface) 32%,transparent);background-clip:padding-box}.app-nav.mat-drawer{width:264px;background:var(--app-nav-bg);color:var(--app-nav-text);border-right:0;--mat-list-list-item-label-text-color: var(--app-nav-text);--mat-list-list-item-leading-icon-color: var(--app-nav-muted);--mat-list-list-item-hover-label-text-color: #ffffff;--mat-list-list-item-hover-leading-icon-color: #ffffff;--mat-list-list-item-hover-state-layer-color: #ffffff;--mat-list-list-item-hover-state-layer-opacity: .06;--mat-list-list-item-focus-state-layer-color: #ffffff;--mat-list-list-item-focus-label-text-color: #ffffff;--mat-list-active-indicator-color: transparent;--mat-list-active-indicator-shape: 10px;--mat-list-list-item-one-line-container-height: 42px}.app-nav.mat-drawer .mat-drawer-inner-container{scrollbar-width:thin;scrollbar-color:#334155 transparent}.app-nav.mat-drawer .mat-mdc-nav-list{padding:0 12px 16px}.app-nav.mat-drawer .mat-mdc-list-item{border-radius:10px;margin-bottom:2px}.app-nav.mat-drawer .mat-mdc-list-item.mdc-list-item--activated{background:var(--app-nav-active-bg);box-shadow:0 4px 14px #4f46e559;--mat-list-list-item-label-text-color: #ffffff;--mat-list-list-item-leading-icon-color: #ffffff;--mat-list-list-item-hover-label-text-color: #ffffff;--mat-list-list-item-hover-leading-icon-color: #ffffff;--mat-list-list-item-focus-label-text-color: #ffffff}.app-nav.mat-drawer .mat-mdc-subheader{color:var(--app-nav-muted);font:var(--mat-sys-label-small);text-transform:uppercase;letter-spacing:.08em;margin:18px 0 4px;padding:0 16px}.app-brand{display:flex;align-items:center;gap:12px;padding:22px 20px 18px;color:#fff;font:var(--mat-sys-title-medium);font-weight:600;line-height:1.2}.app-brand .logo{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:var(--app-gradient);box-shadow:0 6px 16px #0d948859}.app-brand small{display:block;color:var(--app-nav-muted);font:var(--mat-sys-label-small);font-weight:400}.app-toolbar.mat-toolbar{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--mat-sys-surface-container-lowest) 85%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--app-border);--mat-toolbar-standard-height: 60px}.user-button.mat-mdc-button{--mat-button-text-label-text-color: var(--mat-sys-on-surface);padding-left:6px}.user-button.mat-mdc-button .avatar{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;border-radius:50%;background:var(--app-gradient);color:#fff;font:var(--mat-sys-label-medium);font-weight:700}.pills{display:flex;flex-wrap:wrap;gap:8px}.pills .pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--app-border);border-radius:999px;background:var(--mat-sys-surface-container-lowest);color:var(--mat-sys-on-surface-variant);font:var(--mat-sys-label-large);font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.pills .pill:hover{border-color:var(--mat-sys-primary);color:var(--mat-sys-primary)}.pills .pill .count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--mat-sys-surface-container-high);font:var(--mat-sys-label-small);font-weight:700;text-align:center}.pills .pill.active{background:var(--mat-sys-primary);border-color:var(--mat-sys-primary);color:var(--mat-sys-on-primary)}.pills .pill.active .count{background:#ffffff38}.mat-mdc-unelevated-button:not(:disabled){box-shadow:0 2px 8px #4f46e538}.mat-mdc-outlined-button:not(:disabled):hover{border-color:var(--mat-sys-primary)}.page{display:flex;flex-direction:column;gap:var(--app-gap);padding:24px;max-width:1400px;margin:0 auto;box-sizing:border-box;width:100%}.mat-drawer-content>:not(router-outlet,mat-toolbar,.banner,.page):not(:has(>.page)){display:block;padding:24px;max-width:1400px;margin:0 auto;box-sizing:border-box;width:100%}@media(max-width:600px){.page,.mat-drawer-content>:not(router-outlet,mat-toolbar,.banner,.page):not(:has(>.page)){padding:16px 12px}}.page-head{margin-bottom:var(--app-gap)}.page-head h1{font:var(--mat-sys-headline-small);font-weight:700;letter-spacing:-.01em;margin:0}.page-head>p{margin:4px 0 0;color:var(--app-muted);font:var(--mat-sys-body-medium)}.page-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-header h1{font:var(--mat-sys-headline-small);font-weight:700;letter-spacing:-.01em;margin:0;flex:1 1 auto}.grid{display:grid;gap:var(--app-gap);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.form-grid{display:grid;gap:14px 16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.form-grid .full{grid-column:1/-1}.card{background:var(--mat-sys-surface-container-low);border:1px solid var(--app-border);border-radius:var(--app-radius);box-shadow:var(--app-shadow);padding:18px;box-sizing:border-box}a.card,.card.clickable,.card[routerlink]{transition:transform var(--app-transition),box-shadow var(--app-transition),border-color var(--app-transition);text-decoration:none;color:inherit}a.card:hover,.card.clickable:hover,.card[routerlink]:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-lg);border-color:color-mix(in srgb,var(--mat-sys-primary) 40%,var(--app-border))}.kpi{display:flex;flex-direction:column;gap:4px}.kpi .kpi-value{font:var(--mat-sys-headline-medium);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi .kpi-label{color:var(--app-muted);font:var(--mat-sys-label-medium);text-transform:uppercase;letter-spacing:.06em}.table-wrap{overflow:auto;max-height:max(420px,100vh - 260px);border-radius:var(--app-radius);background:var(--mat-sys-surface-container-lowest);border:1px solid var(--app-border);box-shadow:var(--app-shadow)}.table-wrap table{width:100%}.table-wrap th.mat-mdc-header-cell{background:var(--mat-sys-surface-container);font:var(--mat-sys-label-medium);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mat-sys-on-surface-variant);position:sticky;top:0;z-index:1;white-space:nowrap}.table-wrap th.mat-mdc-header-cell:first-of-type,.table-wrap td.mat-mdc-cell:first-of-type{padding-left:20px}.table-wrap th.mat-mdc-header-cell:last-of-type,.table-wrap td.mat-mdc-cell:last-of-type{padding-right:20px}.table-wrap th.num,.table-wrap td.num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap tr.mat-mdc-row{transition:background var(--app-transition)}.table-wrap tr.mat-mdc-row:hover{background:color-mix(in srgb,var(--mat-sys-primary) 5%,transparent)}.table-wrap tr.clickable{cursor:pointer}.table-wrap tr.clickable:hover{background:var(--mat-sys-surface-container-high)}table.data{width:100%;border-collapse:collapse}table.data th{padding:10px 14px;text-align:left;white-space:nowrap;font:var(--mat-sys-label-medium);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mat-sys-on-surface-variant);background:var(--mat-sys-surface-container);border-bottom:1px solid var(--app-border)}table.data th:first-child{border-top-left-radius:var(--app-radius-sm)}table.data th:last-child{border-top-right-radius:var(--app-radius-sm)}table.data th.num{text-align:right}table.data td{padding:10px 14px;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--app-border) 65%,transparent)}table.data tbody tr{transition:background var(--app-transition)}table.data tbody tr:hover{background:color-mix(in srgb,var(--mat-sys-primary) 5%,transparent)}table.data tbody tr:last-child td{border-bottom:0}table.data tfoot td{font-weight:600;background:var(--mat-sys-surface-container);border-top:2px solid var(--app-border);border-bottom:0}table.data tfoot tr:hover{background:transparent}table.data.compact th,table.data.compact td{padding:8px 12px}table.data a{font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--app-muted)}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;word-break:break-all}.spacer{flex:1 1 auto}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font:var(--mat-sys-label-medium);white-space:nowrap;font-weight:600;background:var(--mat-sys-surface-container-highest)}.chip.ok{background:color-mix(in srgb,var(--app-ok) 18%,transparent);color:var(--app-ok)}.chip.warn{background:color-mix(in srgb,var(--app-warn) 18%,transparent);color:var(--app-warn)}.chip.danger{background:color-mix(in srgb,var(--app-danger) 18%,transparent);color:var(--app-danger)}.chip.info{background:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}.chip.accent{background:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container)}.notice{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:var(--app-radius);border-left:3px solid transparent}.notice.info{background:var(--mat-sys-primary-container);border-left-color:var(--app-info)}.notice.warning{background:color-mix(in srgb,var(--app-warn) 20%,transparent);border-left-color:var(--app-warn)}.notice.danger,.notice.blocked{background:color-mix(in srgb,var(--app-danger) 20%,transparent);border-left-color:var(--app-danger)}.notice.success{background:color-mix(in srgb,var(--app-ok) 18%,transparent);border-left-color:var(--app-ok)}.meter{height:8px;border-radius:4px;background:var(--mat-sys-surface-container-highest);overflow:hidden}.meter>span{display:block;height:100%;background:var(--mat-sys-primary)}.meter.warn>span{background:var(--app-warn)}.meter.danger>span{background:var(--app-danger)}pre.json{margin:0;max-height:240px;overflow:auto;font-size:12px;background:var(--mat-sys-surface-container);padding:8px;border-radius:8px}.page-header .titles,.page-head .titles{flex:1 1 260px;min-width:0}.page-header .titles h1,.page-head .titles h1{flex:none}.page-header .titles .subtitle,.page-head .titles .subtitle{margin:2px 0 0;color:var(--app-muted);font:var(--mat-sys-body-medium)}.page-head>div:has(>p.muted)>.titles .subtitle,.page-header>div:has(>p.muted)>.titles .subtitle{display:none}.page-head>div>p.muted{margin:4px 0 0;max-width:70ch;font:var(--mat-sys-body-medium)}td.muted[colspan],td.mat-cell.muted[colspan],.mat-mdc-no-data-row td{text-align:center;padding:40px 16px;color:var(--app-muted);font:var(--mat-sys-body-medium)}td.muted[colspan]:before,.mat-mdc-no-data-row td.muted:before{content:"inbox";display:block;margin:0 auto 6px;font-family:Material Icons;font-size:34px;line-height:1;opacity:.4;font-feature-settings:"liga"}td .empty-title{display:block;margin-bottom:4px;font:var(--mat-sys-title-small);color:var(--mat-sys-on-surface)}td.muted[colspan] .actions{justify-content:center;margin-top:14px}fieldset.card{margin:0;min-width:0}fieldset.card>legend{float:left;width:100%;margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid var(--app-border);font:var(--mat-sys-title-small);font-weight:700;color:var(--mat-sys-on-surface)}fieldset.card>legend+*{clear:both}.mat-mdc-form-field{--mat-form-field-container-text-size: 14px}.mat-mdc-form-field-error{font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:48px 24px;color:var(--app-muted)}.empty-state mat-icon,.empty-state .mat-icon{width:48px;height:48px;font-size:48px;opacity:.5}.empty-state h2,.empty-state h3{margin:4px 0 0;font:var(--mat-sys-title-medium);color:var(--mat-sys-on-surface)}.empty-state p{margin:0;max-width:42ch}.empty-state .actions{margin-top:8px;justify-content:center}.skeleton{position:relative;overflow:hidden;background:var(--mat-sys-surface-container-high);border-radius:var(--app-radius-sm);min-height:14px}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mat-sys-on-surface) 8%,transparent),transparent);animation:app-skeleton 1.3s infinite}@keyframes app-skeleton{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}@media(max-width:1366px){.page{padding:20px}.kpi .kpi-value{font:var(--mat-sys-headline-small);font-weight:700}}@media(max-width:900px){.page-header{align-items:flex-start}.table-wrap{max-height:none}.card{padding:14px}.grid,.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:600px){.page-header>.mat-mdc-unelevated-button,.page-header>.mat-mdc-outlined-button{flex:1 1 100%}.mat-mdc-dialog-container{--mat-dialog-container-max-width: 96vw}td.muted[colspan]{padding:28px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.snack-ok{--mdc-snackbar-container-color: light-dark(#047857, #065f46);--mdc-snackbar-supporting-text-color: #ffffff;--mat-snack-bar-button-color: #a7f3d0}.snack-error{--mdc-snackbar-container-color: light-dark(#b91c1c, #7f1d1d);--mdc-snackbar-supporting-text-color: #ffffff;--mat-snack-bar-button-color: #fecaca}.mat-mdc-dialog-surface{box-shadow:var(--app-shadow-lg)}.mat-mdc-tab-body-content{padding-top:16px;overflow:visible!important}.mat-mdc-tab-body-wrapper,.mat-mdc-tab-body.mat-mdc-tab-body-active{overflow:visible!important}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url("./media/layers-55W3Q4RM.png");width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url("./media/layers-2x-TBM42ERR.png");background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url("./media/marker-icon-2V3QKKVC.png")}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
