html{height:100%;--mat-sys-background: light-dark(#faf8ff, #11131a);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f0f0fb, #2e3038);--mat-sys-inverse-primary: light-dark(#b2c5ff, #0856cf);--mat-sys-inverse-surface: light-dark(#2e3038, #e1e2ec);--mat-sys-on-background: light-dark(#191b23, #e1e2ec);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002b72);--mat-sys-on-primary-container: light-dark(#0040a1, #dae2ff);--mat-sys-on-primary-fixed: light-dark(#001847, #001847);--mat-sys-on-primary-fixed-variant: light-dark(#0040a1, #0040a1);--mat-sys-on-secondary: light-dark(#ffffff, #003353);--mat-sys-on-secondary-container: light-dark(#004a76, #cee5ff);--mat-sys-on-secondary-fixed: light-dark(#001d33, #001d33);--mat-sys-on-secondary-fixed-variant: light-dark(#004a76, #004a76);--mat-sys-on-surface: light-dark(#191b23, #e1e2ec);--mat-sys-on-surface-variant: light-dark(#424654, #dfe2f3);--mat-sys-on-tertiary: light-dark(#ffffff, #003913);--mat-sys-on-tertiary-container: light-dark(#00531e, #a1f6a8);--mat-sys-on-tertiary-fixed: light-dark(#002108, #002108);--mat-sys-on-tertiary-fixed-variant: light-dark(#00531e, #00531e);--mat-sys-outline: light-dark(#737785, #8d909f);--mat-sys-outline-variant: light-dark(#c3c6d6, #424654);--mat-sys-primary: light-dark(#0856cf, #b2c5ff);--mat-sys-primary-container: light-dark(#dae2ff, #0040a1);--mat-sys-primary-fixed: light-dark(#dae2ff, #dae2ff);--mat-sys-primary-fixed-dim: light-dark(#b2c5ff, #b2c5ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#00639b, #96cbff);--mat-sys-secondary-container: light-dark(#cee5ff, #004a76);--mat-sys-secondary-fixed: light-dark(#cee5ff, #cee5ff);--mat-sys-secondary-fixed-dim: light-dark(#96cbff, #96cbff);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf8ff, #11131a);--mat-sys-surface-bright: light-dark(#faf8ff, #373941);--mat-sys-surface-container: light-dark(#ededf8, #1d1f27);--mat-sys-surface-container-high: light-dark(#e7e7f2, #282a31);--mat-sys-surface-container-highest: light-dark(#e1e2ec, #32343c);--mat-sys-surface-container-low: light-dark(#f3f3fd, #191b23);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0c0e15);--mat-sys-surface-dim: light-dark(#d9d9e4, #11131a);--mat-sys-surface-tint: light-dark(#0856cf, #b2c5ff);--mat-sys-surface-variant: light-dark(#dfe2f3, #424654);--mat-sys-tertiary: light-dark(#156d2f, #85d98e);--mat-sys-tertiary-container: light-dark(#a1f6a8, #00531e);--mat-sys-tertiary-fixed: light-dark(#a1f6a8, #a1f6a8);--mat-sys-tertiary-fixed-dim: light-dark(#85d98e, #85d98e);--mat-sys-neutral-variant20: #2c303d;--mat-sys-neutral10: #191b23;--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 Manrope;--mat-sys-body-large-font: Manrope;--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 Manrope;--mat-sys-body-medium-font: Manrope;--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 Manrope;--mat-sys-body-small-font: Manrope;--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 Manrope;--mat-sys-display-large-font: Manrope;--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 Manrope;--mat-sys-display-medium-font: Manrope;--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 Manrope;--mat-sys-display-small-font: Manrope;--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 Manrope;--mat-sys-headline-large-font: Manrope;--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 Manrope;--mat-sys-headline-medium-font: Manrope;--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 Manrope;--mat-sys-headline-small-font: Manrope;--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: 600 .875rem / 1.25rem Manrope;--mat-sys-label-large-font: Manrope;--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: 600;--mat-sys-label-large-weight-prominent: 800;--mat-sys-label-medium: 600 .75rem / 1rem Manrope;--mat-sys-label-medium-font: Manrope;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 600;--mat-sys-label-medium-weight-prominent: 800;--mat-sys-label-small: 600 .688rem / 1rem Manrope;--mat-sys-label-small-font: Manrope;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 600;--mat-sys-title-large: 400 1.375rem / 1.75rem Manrope;--mat-sys-title-large-font: Manrope;--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: 600 1rem / 1.5rem Manrope;--mat-sys-title-medium-font: Manrope;--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: 600;--mat-sys-title-small: 600 .875rem / 1.25rem Manrope;--mat-sys-title-small-font: Manrope;--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: 600;--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;--m3x-spring-fast: cubic-bezier(.42, 1.67, .21, .9);--m3x-spring-default: cubic-bezier(.38, 1.21, .22, 1);--m3x-effects: cubic-bezier(.31, .94, .34, 1);--m3x-duration-fast: .35s;--m3x-duration-default: .5s;--mat-dialog-container-shape: 28px;--mat-dialog-container-color: var(--mat-sys-surface-container-high);--mat-dialog-subhead-weight: 800;--mat-dialog-actions-padding: .5rem 1.5rem 1.5rem;--m3x-shape-circle: polygon(50% 0%, 54.4% .2%, 58.7% .8%, 62.9% 1.7%, 67.1% 3%, 71.1% 4.7%, 75% 6.7%, 78.7% 9%, 82.1% 11.7%, 85.4% 14.6%, 88.3% 17.9%, 91% 21.3%, 93.3% 25%, 95.3% 28.9%, 97% 32.9%, 98.3% 37.1%, 99.2% 41.3%, 99.8% 45.6%, 100% 50%, 99.8% 54.4%, 99.2% 58.7%, 98.3% 62.9%, 97% 67.1%, 95.3% 71.1%, 93.3% 75%, 91% 78.7%, 88.3% 82.1%, 85.4% 85.4%, 82.1% 88.3%, 78.7% 91%, 75% 93.3%, 71.1% 95.3%, 67.1% 97%, 62.9% 98.3%, 58.7% 99.2%, 54.4% 99.8%, 50% 100%, 45.6% 99.8%, 41.3% 99.2%, 37.1% 98.3%, 32.9% 97%, 28.9% 95.3%, 25% 93.3%, 21.3% 91%, 17.9% 88.3%, 14.6% 85.4%, 11.7% 82.1%, 9% 78.7%, 6.7% 75%, 4.7% 71.1%, 3% 67.1%, 1.7% 62.9%, .8% 58.7%, .2% 54.4%, 0% 50%, .2% 45.6%, .8% 41.3%, 1.7% 37.1%, 3% 32.9%, 4.7% 28.9%, 6.7% 25%, 9% 21.3%, 11.7% 17.9%, 14.6% 14.6%, 17.9% 11.7%, 21.3% 9%, 25% 6.7%, 28.9% 4.7%, 32.9% 3%, 37.1% 1.7%, 41.3% .8%, 45.6% .2%);--m3x-shape-cookie-9: polygon(50% 3.3%, 54.3% 1.1%, 58.7% .8%, 62.7% 2.6%, 66% 6.1%, 68.8% 9.7%, 71.7% 12.4%, 75.5% 13.6%, 80% 14.2%, 84.7% 15.3%, 88.3% 17.9%, 90.2% 21.9%, 90.5% 26.6%, 90.3% 31.2%, 90.8% 35.1%, 92.9% 38.5%, 96% 41.9%, 98.9% 45.7%, 100% 50%, 98.9% 54.3%, 96% 58.1%, 92.9% 61.5%, 90.8% 64.9%, 90.3% 68.8%, 90.5% 73.4%, 90.2% 78.1%, 88.3% 82.1%, 84.7% 84.7%, 80% 85.8%, 75.5% 86.4%, 71.7% 87.6%, 68.8% 90.3%, 66% 93.9%, 62.7% 97.4%, 58.7% 99.2%, 54.3% 98.9%, 50% 96.7%, 46.1% 94.2%, 42.5% 92.8%, 38.5% 92.9%, 34% 93.9%, 29.3% 94.4%, 25% 93.3%, 21.9% 90.2%, 20% 85.8%, 18.6% 81.4%, 16.7% 77.9%, 13.6% 75.5%, 9.5% 73.4%, 5.6% 70.7%, 3% 67.1%, 2.6% 62.7%, 4% 58.1%, 5.8% 53.9%, 6.5% 50%, 5.8% 46.1%, 4% 41.9%, 2.6% 37.3%, 3% 32.9%, 5.6% 29.3%, 9.5% 26.6%, 13.6% 24.5%, 16.7% 22.1%, 18.6% 18.6%, 20% 14.2%, 21.9% 9.8%, 25% 6.7%, 29.3% 5.6%, 34% 6.1%, 38.5% 7.1%, 42.5% 7.2%, 46.1% 5.8%);--m3x-shape-cookie-7: polygon(50% 4.1%, 53.8% 6.7%, 57.3% 8.6%, 60.8% 9.5%, 64.8% 9.4%, 69.2% 8.8%, 74% 8.5%, 78.5% 9.4%, 82.1% 11.7%, 84.5% 15.5%, 85.7% 20.1%, 86.1% 24.7%, 86.6% 28.9%, 87.8% 32.4%, 90.1% 35.4%, 93.3% 38.4%, 96.6% 41.8%, 99.1% 45.7%, 100% 50%, 99.1% 54.3%, 96.6% 58.2%, 93.3% 61.6%, 90.1% 64.6%, 87.8% 67.6%, 86.6% 71.1%, 86.1% 75.3%, 85.7% 79.9%, 84.5% 84.5%, 82.1% 88.3%, 78.5% 90.6%, 74% 91.5%, 69.2% 91.2%, 64.8% 90.6%, 60.8% 90.5%, 57.3% 91.4%, 53.8% 93.3%, 50% 95.9%, 45.8% 98.1%, 41.4% 99%, 37.1% 98.2%, 33.4% 95.6%, 30.5% 91.9%, 28.1% 87.9%, 25.8% 84.5%, 23.1% 82%, 19.6% 80.4%, 15.4% 79%, 11% 77.3%, 7.2% 74.7%, 4.7% 71.1%, 3.9% 66.8%, 4.7% 62.1%, 6.2% 57.7%, 7.7% 53.7%, 8.3% 50%, 7.7% 46.3%, 6.2% 42.3%, 4.7% 37.9%, 3.9% 33.2%, 4.7% 28.9%, 7.2% 25.3%, 11% 22.7%, 15.4% 21%, 19.6% 19.6%, 23.1% 18%, 25.8% 15.5%, 28.1% 12.1%, 30.5% 8.1%, 33.4% 4.4%, 37.1% 1.8%, 41.4% 1%, 45.8% 1.9%);--m3x-shape-clover-4: polygon(50% 0%, 54.3% .7%, 58.3% 2.7%, 61.9% 5.7%, 64.7% 9.5%, 67% 13.5%, 68.8% 17.5%, 70.2% 21.1%, 71.7% 24.1%, 73.6% 26.4%, 75.9% 28.3%, 78.9% 29.8%, 82.5% 31.3%, 86.5% 33%, 90.5% 35.3%, 94.3% 38.1%, 97.3% 41.7%, 99.3% 45.7%, 100% 50%, 99.3% 54.3%, 97.3% 58.3%, 94.3% 61.9%, 90.5% 64.7%, 86.5% 67%, 82.5% 68.8%, 78.9% 70.2%, 75.9% 71.7%, 73.6% 73.6%, 71.7% 75.9%, 70.2% 78.9%, 68.8% 82.5%, 67% 86.5%, 64.7% 90.5%, 61.9% 94.3%, 58.3% 97.3%, 54.3% 99.3%, 50% 100%, 45.7% 99.3%, 41.7% 97.3%, 38.1% 94.3%, 35.3% 90.5%, 33% 86.5%, 31.2% 82.5%, 29.8% 78.9%, 28.3% 75.9%, 26.4% 73.6%, 24.1% 71.7%, 21.1% 70.2%, 17.5% 68.8%, 13.5% 67%, 9.5% 64.7%, 5.7% 61.9%, 2.7% 58.3%, .7% 54.3%, 0% 50%, .7% 45.7%, 2.7% 41.7%, 5.7% 38.1%, 9.5% 35.3%, 13.5% 33%, 17.5% 31.3%, 21.1% 29.8%, 24.1% 28.3%, 26.4% 26.4%, 28.3% 24.1%, 29.8% 21.1%, 31.3% 17.5%, 33% 13.5%, 35.3% 9.5%, 38.1% 5.7%, 41.7% 2.7%, 45.7% .7%);--m3x-shape-sunny-8: polygon(50% 0%, 54.3% .7%, 58.3% 2.7%, 62% 5.2%, 65.5% 7.4%, 69.2% 8.9%, 73.2% 9.8%, 77.6% 10.7%, 81.8% 12.1%, 85.4% 14.6%, 87.9% 18.2%, 89.3% 22.4%, 90.2% 26.8%, 91.1% 30.8%, 92.6% 34.5%, 94.8% 38%, 97.3% 41.7%, 99.3% 45.7%, 100% 50%, 99.3% 54.3%, 97.3% 58.3%, 94.8% 62%, 92.6% 65.5%, 91.1% 69.2%, 90.2% 73.2%, 89.3% 77.6%, 87.9% 81.8%, 85.4% 85.4%, 81.8% 87.9%, 77.6% 89.3%, 73.2% 90.2%, 69.2% 91.1%, 65.5% 92.6%, 62% 94.8%, 58.3% 97.3%, 54.3% 99.3%, 50% 100%, 45.7% 99.3%, 41.7% 97.3%, 38% 94.8%, 34.5% 92.6%, 30.8% 91.1%, 26.8% 90.2%, 22.4% 89.3%, 18.2% 87.9%, 14.6% 85.4%, 12.1% 81.8%, 10.7% 77.6%, 9.8% 73.2%, 8.9% 69.2%, 7.4% 65.5%, 5.2% 62%, 2.7% 58.3%, .7% 54.3%, 0% 50%, .7% 45.7%, 2.7% 41.7%, 5.2% 38%, 7.4% 34.5%, 8.9% 30.8%, 9.8% 26.8%, 10.7% 22.4%, 12.1% 18.2%, 14.6% 14.6%, 18.2% 12.1%, 22.4% 10.7%, 26.8% 9.8%, 30.8% 8.9%, 34.5% 7.4%, 38% 5.2%, 41.7% 2.7%, 45.7% .7%)}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%}:root{--primitive-blue-400: #60a5fa;--primitive-blue-500: #3a86ff;--primitive-blue-600: #2667cc;--primitive-blue-100: #dbeafe;--primitive-blue-200: #bfdbfe;--primitive-blue-300: #93c5fd;--primitive-purple-500: #8338ec;--primitive-purple-600: #6a2dbf;--primitive-purple-300: #a855f7;--primitive-green-500: #22c55e;--primitive-green-400: #4ade80;--primitive-green-300: #86efac;--primitive-yellow-400: #ffbe0b;--primitive-red-400: #f87171;--primitive-red-500: #ef4444;--primitive-red-600: #dc2626;--primitive-red-900: #7f1d1d;--primitive-pink-500: #ff006e;--primitive-pink-300: #fca5a5;--primitive-pink-100: #fee2e2;--primitive-slate-50: #f8fafc;--primitive-slate-100: #f1f5f9;--primitive-slate-200: #e2e8f0;--primitive-slate-300: #cbd5e1;--primitive-slate-400: #94a3b8;--primitive-slate-500: #64748b;--primitive-slate-600: #475569;--primitive-slate-700: #334155;--primitive-slate-800: #1e293b;--primitive-slate-850: #172033;--primitive-slate-900: #0f172a;--primitive-slate-950: #020617;--primitive-zinc-50: #fafafa;--primitive-zinc-100: #f4f4f5;--primitive-zinc-200: #e4e4e7;--primitive-zinc-300: #d4d4d8;--primitive-zinc-400: #a1a1aa;--primitive-zinc-500: #71717a;--primitive-zinc-600: #52525b;--primitive-zinc-700: #3f3f46;--primitive-zinc-800: #27272a;--primitive-zinc-900: #18181b;--primitive-white: #ffffff;--primitive-black: #000000;--bg-page: var(--mat-sys-surface);--bg-surface: var(--mat-sys-surface-container);--bg-elevated: var(--mat-sys-surface-container-high);--bg-sunken: var(--mat-sys-surface-container-lowest);--bg-overlay: rgba(0, 0, 0, .55);--bg-code: var(--mat-sys-surface-container-highest);--text-primary: var(--mat-sys-on-surface);--text-secondary: var(--mat-sys-on-surface-variant);--text-muted: var(--mat-sys-on-surface-variant);--text-disabled: color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent);--text-inverse: var(--mat-sys-inverse-on-surface);--text-code: var(--mat-sys-on-surface);--border-default: var(--mat-sys-outline-variant);--border-subtle: color-mix(in srgb, var(--mat-sys-outline-variant) 60%, transparent);--border-strong: var(--mat-sys-outline);--color-primary: var(--mat-sys-primary);--color-primary-hover: color-mix(in srgb, var(--mat-sys-primary) 92%, var(--mat-sys-on-primary));--color-primary-light: var(--mat-sys-on-primary-container);--color-primary-bg: var(--mat-sys-primary-container);--color-primary-border:color-mix(in srgb, var(--mat-sys-primary) 35%, transparent);--color-secondary: var(--mat-sys-tertiary);--color-secondary-hover: color-mix(in srgb, var(--mat-sys-tertiary) 92%, var(--mat-sys-on-tertiary));--status-success-fg: var(--mat-sys-tertiary);--status-success-bg: var(--mat-sys-tertiary-container);--status-success-border: color-mix(in srgb, var(--mat-sys-tertiary) 35%, transparent);--status-warning-fg: light-dark(#7c5800, #f5bf48);--status-warning-bg: light-dark(#ffdea6, #5b4200);--status-warning-border: color-mix(in srgb, var(--status-warning-fg) 35%, transparent);--status-error-fg: var(--mat-sys-error);--status-error-bg: var(--mat-sys-error-container);--status-error-border: color-mix(in srgb, var(--mat-sys-error) 35%, transparent);--status-info-fg: var(--mat-sys-primary);--status-info-bg: var(--mat-sys-primary-container);--status-info-border: color-mix(in srgb, var(--mat-sys-primary) 35%, transparent);--surface-glass: color-mix(in srgb, var(--mat-sys-surface) 88%, transparent);--surface-glass-border: var(--mat-sys-outline-variant);--surface-control: var(--mat-sys-surface-container-low);--surface-control-border: var(--mat-sys-outline);--interactive-border: var(--mat-sys-outline-variant);--interactive-hover-bg: color-mix(in srgb, var(--mat-sys-on-surface) 8%, transparent);--interactive-hover-border: var(--mat-sys-outline);--interactive-focus-ring: color-mix(in srgb, var(--mat-sys-primary) 50%, transparent);--elevation-sm: 0 1px 3px rgba(0,0,0,.4);--elevation-md: 0 4px 8px rgba(0,0,0,.45);--elevation-lg: 0 10px 20px rgba(0,0,0,.5);--sidebar-shadow: none;--btn-danger-bg: var(--mat-sys-error);--btn-danger-border: var(--mat-sys-error);--btn-danger-text: var(--mat-sys-on-error);--btn-danger-hover-bg: color-mix(in srgb, var(--mat-sys-error) 92%, var(--mat-sys-on-error));--btn-danger-hover-border:var(--mat-sys-error);--btn-danger-soft-bg: var(--mat-sys-error-container);--btn-danger-soft-border: color-mix(in srgb, var(--mat-sys-error) 35%, transparent);--btn-danger-soft-text: var(--mat-sys-on-error-container);--btn-danger-soft-hover-bg: color-mix(in srgb, var(--mat-sys-error-container) 88%, var(--mat-sys-on-error-container));--btn-danger-soft-hover-border:color-mix(in srgb, var(--mat-sys-error) 55%, transparent);--font-sans: "Manrope", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--primary: var(--color-primary);--secondary: var(--color-secondary);--primary-dark: var(--color-primary-hover);--dark: var(--bg-page);--darker: var(--bg-page);--dark-bg: var(--bg-page);--card-bg: var(--bg-surface);--border-color: var(--border-default);--text-light: var(--text-primary);--text-subtle: var(--text-secondary);--success: var(--status-success-fg);--warning: var(--status-warning-fg);--danger: var(--status-error-fg);--gray: var(--text-muted);--button-border: var(--interactive-border);--button-hover-bg: var(--interactive-hover-bg);--button-hover-border: var(--interactive-hover-border);--danger-btn-bg: var(--btn-danger-bg);--danger-btn-border: var(--btn-danger-border);--danger-btn-text: var(--btn-danger-text);--danger-btn-hover-bg: var(--btn-danger-hover-bg);--danger-btn-hover-border: var(--btn-danger-hover-border);--danger-soft-btn-bg: var(--btn-danger-soft-bg);--danger-soft-btn-border: var(--btn-danger-soft-border);--danger-soft-btn-text: var(--btn-danger-soft-text);--danger-soft-btn-hover-bg: var(--btn-danger-soft-hover-bg);--danger-soft-btn-hover-border: var(--btn-danger-soft-hover-border);--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;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 28px;--radius-full: 9999px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--icon-sm: 16px;--icon-md: 18px;--icon-lg: 20px;--icon-xl: 24px;--header-height: 4rem;--sidebar-width: 15.625rem;--z-dropdown: 100;--z-sticky: 200;--z-sidebar: 999;--z-header: 1000;--z-modal: 1100;--z-toast: 1200;--z-cmp: 9998}body.light-theme{color-scheme:light;--bg-page: var(--mat-sys-surface-container-low);--bg-surface: var(--mat-sys-surface-container-lowest);--bg-elevated: var(--mat-sys-surface-container-lowest);--bg-sunken: var(--mat-sys-surface-container);--bg-overlay: rgba(0, 0, 0, .35);--surface-glass: color-mix(in srgb, var(--mat-sys-surface-container-low) 90%, transparent);--surface-control: var(--mat-sys-surface-container-lowest);--elevation-sm: 0 1px 2px rgba(0,0,0,.05), 0 1px 3px rgba(0,0,0,.04);--elevation-md: 0 4px 8px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--elevation-lg: 0 10px 20px rgba(0,0,0,.07), 0 4px 8px rgba(0,0,0,.04)}body.dark-theme{color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}input,button,textarea,select{font-family:inherit;font-size:inherit}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-page);transition:background-color .2s ease,color .2s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--font-bold);line-height:1.3;color:var(--text-primary)}h1{font:var(--mat-sys-headline-large);font-weight:800;letter-spacing:-.02em}h2{font:var(--mat-sys-headline-small);font-weight:800;letter-spacing:-.01em}h3{font:var(--mat-sys-title-large);font-weight:700}h4{font:var(--mat-sys-title-medium);font-weight:700}h5,h6{font:var(--mat-sys-title-small);font-weight:700}code,pre,kbd,samp{font-family:var(--font-mono)}.text-primary{color:var(--color-primary)}.text-success{color:var(--status-success-fg)}.text-warning{color:var(--status-warning-fg)}.text-error{color:var(--status-error-fg)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.bg-surface{background-color:var(--bg-surface)}.bg-page{background-color:var(--bg-page)}.card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--border-default)}.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:none;font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all .2s ease}.button-reset{appearance:none;background:none;border:0;color:inherit;font:inherit;text-align:inherit;cursor:pointer}.button-reset:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}lucide-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(.375rem)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}.m3x-loading{display:inline-block;flex-shrink:0;width:3rem;height:3rem;background:var(--mat-sys-primary);clip-path:var(--m3x-shape-cookie-9);animation:m3x-shape-morph 2.4s var(--m3x-spring-default) infinite}@keyframes m3x-shape-morph{0%{clip-path:var(--m3x-shape-cookie-9);transform:rotate(0)}25%{clip-path:var(--m3x-shape-clover-4);transform:rotate(90deg)}50%{clip-path:var(--m3x-shape-sunny-8);transform:rotate(180deg)}75%{clip-path:var(--m3x-shape-cookie-7);transform:rotate(270deg)}to{clip-path:var(--m3x-shape-cookie-9);transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.m3x-loading{animation:none}}.booking-dialog-panel{--mat-dialog-container-shape: var(--radius-xl);--mat-dialog-container-color: var(--mat-sys-surface-container-low)}:is(a,button,input,select,textarea,summary,[tabindex],[role=button]):focus-visible{outline:3px solid var(--mat-sys-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::-webkit-scrollbar{width:.375rem;height:.375rem}::-webkit-scrollbar-track{background:var(--bg-page)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}#spinn-cmp-banner{position:fixed;bottom:0;left:0;right:0;z-index:9998;background:var(--mat-sys-surface-container-high);border-top:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--elevation-lg);font-family:var(--font-sans);animation:spinn-cmp-slide-up var(--m3x-duration-default) var(--m3x-spring-default) both}#spinn-cmp-banner[hidden]{display:none}.spinn-cmp-banner__inner{max-width:72rem;margin:0 auto;padding:.875rem 1.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.spinn-cmp-banner__text{flex:1 1 22rem;color:var(--text-primary);font:var(--mat-sys-body-medium);line-height:1.55}.spinn-cmp-banner__text strong{display:block;font:var(--mat-sys-title-small);font-weight:700;color:var(--text-primary);margin-bottom:.2rem}.spinn-cmp-banner__text span{color:var(--text-muted)}.spinn-cmp-banner__actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.spinn-cmp-btn{display:inline-flex;align-items:center;justify-content:center;height:2.75rem;padding:0 1.5rem;border-radius:var(--radius-full);font:var(--mat-sys-label-large);font-weight:700;cursor:pointer;border:1px solid transparent;transition:border-radius var(--m3x-duration-fast) var(--m3x-spring-fast),background .2s var(--m3x-effects),border-color .2s var(--m3x-effects),color .2s var(--m3x-effects),opacity .2s var(--m3x-effects);white-space:nowrap;line-height:1;outline:none}.spinn-cmp-btn:active{border-radius:var(--radius-md)}.spinn-cmp-btn:focus-visible{outline:3px solid var(--mat-sys-primary);outline-offset:2px}.spinn-cmp-btn--primary{background:var(--mat-sys-primary);border-color:transparent;color:var(--mat-sys-on-primary)}.spinn-cmp-btn--primary:hover{background:var(--color-primary-hover)}.spinn-cmp-btn--outline{background:transparent;border-color:var(--mat-sys-outline-variant);color:var(--mat-sys-on-surface-variant)}.spinn-cmp-btn--outline:hover{background:var(--interactive-hover-bg);border-color:var(--interactive-hover-border)}.spinn-cmp-btn--ghost{background:transparent;border-color:transparent;color:var(--mat-sys-primary);padding:0 1rem}.spinn-cmp-btn--ghost:hover{background:var(--interactive-hover-bg)}#spinn-cmp-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:1rem;animation:spinn-cmp-fade-in .2s var(--m3x-effects) both}#spinn-cmp-modal[hidden]{display:none}.spinn-cmp-modal__dialog{background:var(--mat-sys-surface-container-high);border:none;border-radius:var(--radius-xl);width:100%;max-width:38rem;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--elevation-lg);animation:spinn-cmp-dialog-in var(--m3x-duration-default) var(--m3x-spring-default) both}.spinn-cmp-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 0;flex-shrink:0}#spinn-cmp-modal-title{font:var(--mat-sys-title-medium);font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.spinn-cmp-modal__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;cursor:pointer;color:var(--text-muted);font:var(--mat-sys-body-large);line-height:1;padding:0;transition:background .15s var(--m3x-effects),color .15s var(--m3x-effects),border-color .15s var(--m3x-effects);flex-shrink:0}.spinn-cmp-modal__close:hover{background:var(--interactive-hover-bg);border-color:var(--interactive-border);color:var(--text-primary)}.spinn-cmp-modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.spinn-cmp-modal__body{padding:1rem 1.5rem;overflow-y:auto;flex:1}.spinn-cmp-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:.875rem 0;border-bottom:1px solid var(--border-default)}.spinn-cmp-toggle-row:first-child{padding-top:.25rem}.spinn-cmp-toggle-row:last-child{border-bottom:none;padding-bottom:.25rem}.spinn-cmp-toggle-row--locked{opacity:.5}.spinn-cmp-toggle-row__info{flex:1;min-width:0}.spinn-cmp-toggle-row__label{display:block;font:var(--mat-sys-title-small);font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.spinn-cmp-toggle-row__desc{font:var(--mat-sys-body-medium);color:var(--text-muted);line-height:1.5;margin:0}.spinn-cmp-toggle-row__examples{font:var(--mat-sys-body-small);color:var(--text-muted);margin:.3rem 0 0;opacity:.65;font-family:monospace;letter-spacing:-.01em}.spinn-cmp-toggle{position:relative;display:inline-flex;align-items:center;flex-shrink:0;margin-top:.1rem}.spinn-cmp-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.spinn-cmp-toggle__track{display:block;width:3.25rem;height:2rem;box-sizing:border-box;border-radius:var(--radius-full);background:var(--mat-sys-surface-container-highest);transition:background .2s var(--m3x-effects),border-color .2s var(--m3x-effects);cursor:pointer;position:relative;border:2px solid var(--mat-sys-outline)}.spinn-cmp-toggle__track:after{content:"";position:absolute;top:50%;left:.375rem;width:1rem;height:1rem;border-radius:50%;background:var(--mat-sys-outline);transform:translateY(-50%);transition:transform var(--m3x-duration-fast) var(--m3x-spring-fast),width var(--m3x-duration-fast) var(--m3x-spring-fast),height var(--m3x-duration-fast) var(--m3x-spring-fast),background .2s var(--m3x-effects)}.spinn-cmp-toggle input:checked+.spinn-cmp-toggle__track{background:var(--mat-sys-primary);border-color:var(--mat-sys-primary)}.spinn-cmp-toggle input:checked+.spinn-cmp-toggle__track:after{width:1.5rem;height:1.5rem;transform:translate(1.125rem,-50%);background:var(--mat-sys-on-primary)}.spinn-cmp-toggle input:focus-visible+.spinn-cmp-toggle__track{outline:3px solid var(--mat-sys-primary);outline-offset:2px}.spinn-cmp-toggle input:disabled+.spinn-cmp-toggle__track{cursor:not-allowed}.spinn-cmp-toggle input:disabled:checked+.spinn-cmp-toggle__track{background:var(--mat-sys-primary);opacity:.38}.spinn-cmp-toggle input:disabled:checked+.spinn-cmp-toggle__track:after{width:1.5rem;height:1.5rem;background:var(--mat-sys-on-primary);transform:translate(1.125rem,-50%)}.spinn-cmp-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border-default);flex-shrink:0}@keyframes spinn-cmp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spinn-cmp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes spinn-cmp-dialog-in{0%{transform:translateY(1rem) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:48rem){.spinn-cmp-banner__inner{flex-direction:column;align-items:stretch;gap:.875rem;padding:1rem}.spinn-cmp-banner__actions{flex-direction:column;align-items:stretch}.spinn-cmp-btn{width:100%}.spinn-cmp-btn--ghost{padding:0 1.1rem}#spinn-cmp-modal{align-items:flex-end;padding:0}.spinn-cmp-modal__dialog{max-width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:86vh;animation:spinn-cmp-slide-up var(--m3x-duration-default) var(--m3x-spring-default) both}}@media(max-width:20rem){.spinn-cmp-banner__inner{padding:.875rem .75rem}}
