html{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--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(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--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: #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 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;--mat-sys-body-large-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, 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 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;--mat-sys-body-medium-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, 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 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;--mat-sys-body-small-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, 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 Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--mat-sys-display-large-font: Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, 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 Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--mat-sys-display-medium-font: Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, 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 Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--mat-sys-display-small-font: Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, 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 Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--mat-sys-headline-large-font: Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, 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 Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--mat-sys-headline-medium-font: Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, 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 Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--mat-sys-headline-small-font: Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, 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 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;--mat-sys-label-large-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, 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 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;--mat-sys-label-medium-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, 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 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;--mat-sys-label-small-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, 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 Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--mat-sys-title-large-font: Futura, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, 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 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;--mat-sys-title-medium-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, 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 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;--mat-sys-title-small-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Helvetica Neue, Arial, 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-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}body{color-scheme:light;background-color:var(--color-surface-secondary, #FAFBFC);color:var(--color-text-primary, #0F2257);margin:0}html,body{height:100%;font-family:var(--font-body)}:root{--brand-navy: #0F2257;--brand-blue: #0097FF;--brand-teal: #19C4D6;--brand-mint: #00FF8F;--brand-white: #FFFFFF;--navy-hover: rgb(51, 67.15, 112.2);--navy-soft: rgb(235.8, 237.32, 241.56);--navy-pale: rgb(245.4, 246.16, 248.28);--navy-dark: rgb(13.5, 30.6, 78.3);--blue-hover: rgb(2.25, 133.45, 229.8);--blue-light: rgb(102, 192.6, 255);--blue-soft: rgb(216.75, 239.4, 255);--blue-pale: rgb(239.7, 248.76, 255);--blue-focus: rgba(0, 151, 255, .25);--teal-hover: rgb(23.5, 171.7, 194.95);--teal-light: rgb(117, 219.6, 230.4);--teal-soft: rgb(220.5, 246.15, 248.85);--teal-pale: rgb(241.2, 251.46, 252.54);--mint-soft: rgb(216.75, 255, 238.2);--mint-pale: rgb(239.7, 255, 248.28);--neutral-50: #FAFBFC;--neutral-100: #F4F6F8;--neutral-200: #E9ECF0;--neutral-300: #D1D5DB;--neutral-400: #9CA3AF;--neutral-500: #6B7280;--neutral-600: #4B5563;--neutral-700: #374151;--neutral-800: #1F2937;--neutral-900: #111827;--color-primary: #0F2257;--color-primary-hover: rgb(51, 67.15, 112.2);--color-primary-soft: rgb(235.8, 237.32, 241.56);--color-primary-pale: rgb(245.4, 246.16, 248.28);--color-secondary: #0097FF;--color-secondary-hover: rgb(2.25, 133.45, 229.8);--color-secondary-soft: rgb(216.75, 239.4, 255);--color-secondary-pale: rgb(239.7, 248.76, 255);--color-accent: #19C4D6;--color-accent-hover: rgb(23.5, 171.7, 194.95);--color-accent-soft: rgb(220.5, 246.15, 248.85);--color-accent-pale: rgb(241.2, 251.46, 252.54);--color-highlight: #00FF8F;--color-highlight-soft: rgb(216.75, 255, 238.2);--color-highlight-pale: rgb(239.7, 255, 248.28);--color-success: #10B981;--color-success-light: #D1FAE5;--color-success-dark: #059669;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-warning-dark: #D97706;--color-danger: #EF4444;--color-danger-light: #FEE2E2;--color-danger-dark: #DC2626;--color-info: #0097FF;--color-info-light: rgb(216.75, 239.4, 255);--color-info-dark: rgb(2.25, 133.45, 229.8);--color-surface: #FFFFFF;--color-surface-secondary: #FAFBFC;--color-surface-muted: #F4F6F8;--color-surface-elevated: #FFFFFF;--color-border: #E9ECF0;--color-border-light: #F4F6F8;--color-text-primary: #0F2257;--color-text-muted: #6B7280;--color-text-light: #9CA3AF;--color-text-on-dark: #FFFFFF;--color-text-on-primary: #FFFFFF;--color-text-secondary: #4B5563;--color-border-strong: #D1D5DB;--shadow-xs: 0 1px 2px rgba(15, 34, 87, .04);--shadow-sm: 0 2px 4px rgba(15, 34, 87, .06);--shadow-md: 0 4px 12px rgba(15, 34, 87, .08);--shadow-lg: 0 8px 24px rgba(15, 34, 87, .1);--shadow-xl: 0 16px 40px rgba(15, 34, 87, .12)}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(/assets/fonts/MaterialIcons-Regular.ttf) format("truetype");font-display:block}@font-face{font-family:Futura;font-style:normal;font-weight:400;src:url("/assets/fonts/Futura Book font.ttf") format("truetype");font-display:block}@font-face{font-family:Futura;font-style:normal;font-weight:500;src:url("/assets/fonts/futura medium bt.ttf") format("truetype");font-display:block}@font-face{font-family:Futura;font-style:normal;font-weight:700;src:url("/assets/fonts/Futura Bold font.ttf") format("truetype");font-display:block}:root{--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;--font-display: "Futura", var(--font-body)}html,body{font-family:var(--font-body);font-weight:400;line-height:1.5;color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{font-family:inherit}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1.5rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr}h1,.page-title{font-family:var(--font-display);font-weight:700}h2,.section-title,.kpi-value,.stat-value,.metric-value{font-family:var(--font-display);font-weight:500}h3,h4,h5,h6{font-family:var(--font-body);font-weight:600}table,th,td,input,select,textarea,button,label,nav,aside,.form-control,.form-label,.nav-item,.sidebar,.chart-label,.chart-legend,.table{font-family:var(--font-body)!important}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.5rem;border:1px solid transparent;font-family:var(--font-body);font-size:.875rem;font-weight:600;letter-spacing:.01em;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;background:var(--color-surface);color:var(--color-text-primary);transition:all .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--secondary{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn--secondary:hover:not(:disabled){background:var(--color-primary-pale)}.btn--ghost{background:transparent;color:var(--color-secondary);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--color-secondary-pale)}.btn--link{background:transparent;border:none;color:var(--color-secondary);padding:.25rem;font-weight:500}.btn--link:hover:not(:disabled){text-decoration:underline;transform:none}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger-dark);border-color:var(--color-danger-dark)}.btn--success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn--success:hover:not(:disabled){background:var(--color-success-dark);border-color:var(--color-success-dark)}.btn--warning{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}.btn--warning:hover:not(:disabled){background:var(--color-warning-dark);border-color:var(--color-warning-dark)}.btn--sm{padding:.375rem .75rem;font-size:.8125rem}.btn--lg{padding:.75rem 1.5rem;font-size:1rem}.btn--icon{padding:.5rem;min-width:2.25rem;min-height:2.25rem}.btn__icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.125rem}.btn-group{display:inline-flex;align-items:center;gap:.5rem}button{font-family:var(--font-body)}.page-header{display:flex;align-items:flex-start;justify-content:flex-start;gap:1rem;margin-bottom:clamp(1rem,3vw,1.75rem)}.page-header__btn{margin-left:auto}.page-header__back{all:unset;cursor:pointer;display:flex;align-items:center!important;justify-content:center!important;padding:.5rem;border-radius:50%;background-color:var(--neutral-100);transition:background-color .2s ease}.page-header__back:hover{background-color:var(--neutral-200)}.page-header__back--icon{padding-left:.3rem;font-size:1.25rem;color:var(--color-text-primary)}.page-header__body{display:flex;flex-direction:column}.page-title{margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--color-primary);font-family:var(--font-display);letter-spacing:-.01em}.page-lead{margin:0;color:var(--color-text-muted);font-size:clamp(.875rem,2vw,1rem);max-width:60ch}.section-title{margin:0;font-size:1rem;font-weight:500;color:var(--color-primary);font-family:var(--font-display)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:1.25rem;box-shadow:var(--shadow-sm)}.card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border-light)}.card__title{margin:0;font-size:1rem;font-weight:500;color:var(--color-primary);font-family:var(--font-display)}.card__subtitle{margin:.25rem 0 0;font-size:.8125rem;color:var(--color-text-muted)}.card__body{color:var(--color-text-secondary)}.card__footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border-light)}.table{width:100%;border-collapse:collapse;font-family:var(--font-body)!important}.table th{background:var(--neutral-50);color:var(--color-primary);font-weight:600;font-size:.8125rem;text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);font-size:.875rem;color:var(--color-text-secondary)}.table tr:hover td{background:var(--color-secondary-pale)}.table .text-right{text-align:right}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.8125rem;font-weight:500;color:var(--color-primary)}.form-control{padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:.5rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.form-control::placeholder{color:var(--color-text-light)}.form-control:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--blue-focus)}.form-control--error{border-color:var(--color-danger)}.form-control--error:focus{box-shadow:0 0 0 3px #ef444433}.form-control--success{border-color:var(--color-success)}.form-hint{font-size:.75rem;color:var(--color-text-muted)}.form-error{font-size:.75rem;color:var(--color-danger)}.form-check{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-primary)}.form-check input[type=checkbox],.form-check input[type=radio]{width:1rem;height:1rem;accent-color:var(--color-primary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer}.form-check input[type=checkbox]:focus-visible,.form-check input[type=radio]:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.form-check label{cursor:pointer}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge--info{background:var(--color-secondary-soft);color:var(--color-secondary-hover)}.badge--accent{background:var(--color-accent-soft);color:var(--color-accent-hover)}.badge--success{background:var(--color-highlight-soft);color:var(--color-success-dark)}.badge--warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.badge--danger{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge--neutral{background:var(--neutral-100);color:var(--neutral-600)}.nav{background:var(--color-surface)}.nav__item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--color-text-secondary);text-decoration:none;border-radius:.5rem;transition:all .15s ease}.nav__item:hover{background:var(--color-secondary-pale);color:var(--color-primary)}.nav__item--active{color:var(--color-primary);background:var(--color-secondary-pale);font-weight:600}.nav__item--active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--color-secondary);border-radius:0 2px 2px 0}.nav__icon{color:var(--neutral-400);font-size:1.25rem}.q-button-group button{padding:.4rem!important;margin:0!important;color:var(--color-text)!important}.app-snackbar,.info-snackbar-panel,.warning-snackbar-panel,.error-snackbar-panel,.success-snackbar-panel{padding:.7rem 1rem;width:fit-content;border-radius:10px;word-break:break-all;margin-bottom:1rem!important}.app-snackbar:before,.info-snackbar-panel:before,.warning-snackbar-panel:before,.error-snackbar-panel:before,.success-snackbar-panel:before{margin-right:1rem;font-size:2rem;padding:0}.app-snackbar .mat-mdc-snack-bar-container,.info-snackbar-panel .mat-mdc-snack-bar-container,.warning-snackbar-panel .mat-mdc-snack-bar-container,.error-snackbar-panel .mat-mdc-snack-bar-container,.success-snackbar-panel .mat-mdc-snack-bar-container{background:transparent!important;box-shadow:none!important;padding:0!important;max-width:none!important;width:auto!important}.app-snackbar .mdc-snackbar__surface,.info-snackbar-panel .mdc-snackbar__surface,.warning-snackbar-panel .mdc-snackbar__surface,.error-snackbar-panel .mdc-snackbar__surface,.success-snackbar-panel .mdc-snackbar__surface{background:transparent!important;box-shadow:none!important;border:none!important}.app-snackbar .mat-mdc-snack-bar-label,.info-snackbar-panel .mat-mdc-snack-bar-label,.warning-snackbar-panel .mat-mdc-snack-bar-label,.error-snackbar-panel .mat-mdc-snack-bar-label,.success-snackbar-panel .mat-mdc-snack-bar-label{padding:0!important;display:flex;justify-content:center}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(/assets/fonts/MaterialIcons-Regular.ttf) format("truetype");font-display:block}.success-snackbar-panel{background:var(--color-success);color:var(--color-slate-50)}.success-snackbar-panel:before{content:"check_circle";font-family:Material Icons;color:var(--color-slate-50)!important}.success-snackbar-panel .mat-mdc-snackbar-surface{color:var(--color-slate-50)!important}.error-snackbar-panel{background:var(--color-danger);color:var(--color-slate-50)}.error-snackbar-panel:before{content:"error";font-family:Material Icons;color:var(--color-slate-50)!important}.error-snackbar-panel .mat-mdc-snackbar-surface{color:var(--color-slate-50)!important}.warning-snackbar-panel{background:var(--color-warning);color:var(--color-slate-50)}.warning-snackbar-panel:before{content:"warning";font-family:Material Icons;color:var(--color-slate-50)!important}.warning-snackbar-panel .mat-mdc-snackbar-surface{color:var(--color-slate-50)!important}.info-snackbar-panel{background:var(--color-primary);color:var(--color-slate-50)}.info-snackbar-panel:before{content:"info";font-family:Material Icons;color:var(--color-slate-50)!important}.info-snackbar-panel .mat-mdc-snackbar-surface{color:var(--color-slate-50)!important}:root{--sidebar-width: 16rem}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{appearance:textfield}.cdk-overlay-pane,.mat-mdc-dialog-surface{overflow:visible!important}.mat-mdc-dialog-content{overflow:auto}.searchable-dropdown .dropdown-popover{max-height:18rem;overflow-y:auto}:host ::ng-deep .mat-horizontal-content-container{overflow:visible!important}body{margin:0;background:var(--color-slate-100);color:var(--color-slate-900)}*{box-sizing:border-box}
