:root{--surface-base: var(--mat-sys-surface);--surface-container: var(--mat-sys-surface-container);--surface-container-low: var(--mat-sys-surface-container-low);--surface-container-high: var(--mat-sys-surface-container-high);--surface-elevated: var(--mat-sys-surface-container-highest);--text-primary: var(--mat-sys-on-surface);--text-secondary: var(--mat-sys-on-surface-variant);--text-tertiary: #9ca3af;--border-default: var(--mat-sys-outline-variant);--border-strong: var(--mat-sys-outline)}body.dark{--surface-base: var(--mat-sys-surface, #121212);--surface-container: var(--mat-sys-surface-container, #1e1e1e);--surface-container-low: var(--mat-sys-surface-container-low, #1a1a1a);--surface-container-high: var(--mat-sys-surface-container-high, #2d2d2d);--surface-elevated: var(--mat-sys-surface-container-highest, #383838);--text-primary: var(--mat-sys-on-surface, #e0e0e0);--text-secondary: var(--mat-sys-on-surface-variant, #a0a0a0);--text-tertiary: #9ca3af;--border-default: var(--mat-sys-outline-variant, #444444);--border-strong: var(--mat-sys-outline, #666666)}:root{--status-planning-bg: #e0f2fe;--status-planning-text: #0c4a6e;--status-planning-base: #0ea5e9;--status-notstarted-bg: #f1f5f9;--status-notstarted-text: #475569;--status-notstarted-base: #64748b;--status-active-bg: #dbeafe;--status-active-text: #1e40af;--status-active-base: #2563eb;--status-review-bg: #ede9fe;--status-review-text: #5b21b6;--status-review-base: #7c3aed;--status-onhold-bg: #fef3c7;--status-onhold-text: #92400e;--status-onhold-base: #d97706;--status-completed-bg: #dcfce7;--status-completed-text: #166534;--status-completed-base: #16a34a;--status-blocked-bg: #ffedd5;--status-blocked-text: #9a3412;--status-blocked-base: #ea580c;--status-cancelled-bg: #fee2e2;--status-cancelled-text: #991b1b;--status-cancelled-base: #dc2626}body.dark{--status-planning-bg: #0c4a6e;--status-planning-text: #e0f2fe;--status-planning-base: #0ea5e9;--status-notstarted-bg: #334155;--status-notstarted-text: #e2e8f0;--status-notstarted-base: #64748b;--status-active-bg: #1e3a8a;--status-active-text: #dbeafe;--status-active-base: #3b82f6;--status-review-bg: #4c1d95;--status-review-text: #ede9fe;--status-review-base: #8b5cf6;--status-onhold-bg: #78350f;--status-onhold-text: #fef3c7;--status-onhold-base: #f59e0b;--status-completed-bg: #14532d;--status-completed-text: #dcfce7;--status-completed-base: #22c55e;--status-blocked-bg: #7c2d12;--status-blocked-text: #ffedd5;--status-blocked-base: #f97316;--status-cancelled-bg: #7f1d1d;--status-cancelled-text: #fee2e2;--status-cancelled-base: #ef4444}:root{--level-low-bg: #dcfce7;--level-low-text: #166534;--level-low-base: #16a34a;--level-medium-bg: #fef3c7;--level-medium-text: #92400e;--level-medium-base: #d97706;--level-high-bg: #ffedd5;--level-high-text: #9a3412;--level-high-base: #ea580c;--level-critical-bg: #fee2e2;--level-critical-text: #991b1b;--level-critical-base: #dc2626}body.dark{--level-low-bg: #14532d;--level-low-text: #dcfce7;--level-low-base: #22c55e;--level-medium-bg: #78350f;--level-medium-text: #fef3c7;--level-medium-base: #f59e0b;--level-high-bg: #7c2d12;--level-high-text: #ffedd5;--level-high-base: #f97316;--level-critical-bg: #7f1d1d;--level-critical-text: #fee2e2;--level-critical-base: #ef4444}:root{--progress-start-bg: #f1f5f9;--progress-start-text: #475569;--progress-start-base: #64748b;--progress-low-bg: #fef3c7;--progress-low-text: #92400e;--progress-low-base: #d97706;--progress-mid-bg: #dbeafe;--progress-mid-text: #1e40af;--progress-mid-base: #2563eb;--progress-high-bg: #dcfce7;--progress-high-text: #166534;--progress-high-base: #16a34a}body.dark{--progress-start-bg: #334155;--progress-start-text: #e2e8f0;--progress-start-base: #64748b;--progress-low-bg: #78350f;--progress-low-text: #fef3c7;--progress-low-base: #f59e0b;--progress-mid-bg: #1e3a8a;--progress-mid-text: #dbeafe;--progress-mid-base: #3b82f6;--progress-high-bg: #14532d;--progress-high-text: #dcfce7;--progress-high-base: #22c55e}:root{--chart-1: #16a34a;--chart-2: #2563eb;--chart-3: #0ea5e9;--chart-4: #64748b;--chart-5: #d97706;--chart-6: #dc2626;--chart-1-label: #ffffff;--chart-2-label: #ffffff;--chart-3-label: #ffffff;--chart-4-label: #ffffff;--chart-5-label: #451a03;--chart-6-label: #ffffff;--chart-grid: #e2e4e7;--chart-axis-label: #64748b;--chart-tooltip-bg: #ffffff;--chart-tooltip-text: #1e293b}body.dark{--chart-1: #22c55e;--chart-2: #3b82f6;--chart-3: #38bdf8;--chart-4: #94a3b8;--chart-5: #f59e0b;--chart-6: #ef4444;--chart-1-label: #ffffff;--chart-2-label: #ffffff;--chart-3-label: #0c4a6e;--chart-4-label: #1e293b;--chart-5-label: #451a03;--chart-6-label: #ffffff;--chart-grid: #334155;--chart-axis-label: #94a3b8;--chart-tooltip-bg: #1e293b;--chart-tooltip-text: #e2e8f0}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:500;white-space:nowrap}.status-badge.status-planning{background-color:var(--status-planning-bg);color:var(--status-planning-text)}.status-badge.status-notstarted{background-color:var(--status-notstarted-bg);color:var(--status-notstarted-text)}.status-badge.status-active,.status-badge.status-inprogress{background-color:var(--status-active-bg);color:var(--status-active-text)}.status-badge.status-review,.status-badge.status-inreview{background-color:var(--status-review-bg);color:var(--status-review-text)}.status-badge.status-onhold{background-color:var(--status-onhold-bg);color:var(--status-onhold-text)}.status-badge.status-completed{background-color:var(--status-completed-bg);color:var(--status-completed-text)}.status-badge.status-blocked{background-color:var(--status-blocked-bg);color:var(--status-blocked-text)}.status-badge.status-cancelled{background-color:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.level-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:500}.level-badge.level-low{background-color:var(--level-low-bg);color:var(--level-low-text)}.level-badge.level-medium{background-color:var(--level-medium-bg);color:var(--level-medium-text)}.level-badge.level-high{background-color:var(--level-high-bg);color:var(--level-high-text)}.level-badge.level-critical{background-color:var(--level-critical-bg);color:var(--level-critical-text)}html{--mat-sys-background: #f9f9ff;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #eff0fa;--mat-sys-inverse-primary: #adc6ff;--mat-sys-inverse-surface: #2e3038;--mat-sys-on-background: #191b23;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #004395;--mat-sys-on-primary-fixed: #001a42;--mat-sys-on-primary-fixed-variant: #004395;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #304671;--mat-sys-on-secondary-fixed: #001a42;--mat-sys-on-secondary-fixed-variant: #304671;--mat-sys-on-surface: #191b23;--mat-sys-on-surface-variant: #424754;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #74198b;--mat-sys-on-tertiary-fixed: #340042;--mat-sys-on-tertiary-fixed-variant: #74198b;--mat-sys-outline: #727785;--mat-sys-outline-variant: #c2c6d6;--mat-sys-primary: #005ac2;--mat-sys-primary-container: #d8e2ff;--mat-sys-primary-fixed: #d8e2ff;--mat-sys-primary-fixed-dim: #adc6ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #495e8a;--mat-sys-secondary-container: #d8e2ff;--mat-sys-secondary-fixed: #d8e2ff;--mat-sys-secondary-fixed-dim: #b1c6f9;--mat-sys-shadow: #000000;--mat-sys-surface: #f9f9ff;--mat-sys-surface-bright: #f9f9ff;--mat-sys-surface-container: #ecedf7;--mat-sys-surface-container-high: #e6e7f2;--mat-sys-surface-container-highest: #e1e2ec;--mat-sys-surface-container-low: #f2f3fd;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #d8d9e3;--mat-sys-surface-tint: #005ac2;--mat-sys-surface-variant: #dee2f2;--mat-sys-tertiary: #8f37a5;--mat-sys-tertiary-container: #fdd6ff;--mat-sys-tertiary-fixed: #fdd6ff;--mat-sys-tertiary-fixed-dim: #f4aeff;--mat-sys-neutral-variant20: #2b303c;--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 Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}body.dark{--mat-sys-background: #10131a;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #2e3038;--mat-sys-inverse-primary: #005ac2;--mat-sys-inverse-surface: #e1e2ec;--mat-sys-on-background: #e1e2ec;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #002e6a;--mat-sys-on-primary-container: #d8e2ff;--mat-sys-on-primary-fixed: #001a42;--mat-sys-on-primary-fixed-variant: #004395;--mat-sys-on-secondary: #182f59;--mat-sys-on-secondary-container: #d8e2ff;--mat-sys-on-secondary-fixed: #001a42;--mat-sys-on-secondary-fixed-variant: #304671;--mat-sys-on-surface: #e1e2ec;--mat-sys-on-surface-variant: #dee2f2;--mat-sys-on-tertiary: #55006a;--mat-sys-on-tertiary-container: #fdd6ff;--mat-sys-on-tertiary-fixed: #340042;--mat-sys-on-tertiary-fixed-variant: #74198b;--mat-sys-outline: #8c909f;--mat-sys-outline-variant: #424754;--mat-sys-primary: #adc6ff;--mat-sys-primary-container: #004395;--mat-sys-primary-fixed: #d8e2ff;--mat-sys-primary-fixed-dim: #adc6ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #b1c6f9;--mat-sys-secondary-container: #304671;--mat-sys-secondary-fixed: #d8e2ff;--mat-sys-secondary-fixed-dim: #b1c6f9;--mat-sys-shadow: #000000;--mat-sys-surface: #10131a;--mat-sys-surface-bright: #363941;--mat-sys-surface-container: #1d2027;--mat-sys-surface-container-high: #272a31;--mat-sys-surface-container-highest: #32353c;--mat-sys-surface-container-low: #191b23;--mat-sys-surface-container-lowest: #0b0e15;--mat-sys-surface-dim: #10131a;--mat-sys-surface-tint: #adc6ff;--mat-sys-surface-variant: #424754;--mat-sys-tertiary: #f4aeff;--mat-sys-tertiary-container: #74198b;--mat-sys-tertiary-fixed: #fdd6ff;--mat-sys-tertiary-fixed-dim: #f4aeff;--mat-sys-neutral-variant20: #2b303c;--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-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--primary-color: #3f51b5;--secondary-color: #ff4081;--success-color: #4caf50;--warning-color: #ff9800;--danger-color: #f44336;--info-color: #2196f3;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #eeeeee;--gray-300: #e0e0e0;--gray-400: #bdbdbd;--gray-500: #9e9e9e;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .05);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 8px;--radius-xl: 12px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;font-family:Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--gray-100);color:var(--gray-900);line-height:1.6}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}p{margin:0}a{color:var(--primary-color);text-decoration:none;transition:color .2s}a:hover{color:var(--secondary-color)}.flex-row{display:flex;flex-direction:row}.flex-column{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-end{display:flex;align-items:center;justify-content:flex-end}.space-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.m-0{margin:0}.m-8{margin:8px}.m-16{margin:16px}.m-24{margin:24px}.m-32{margin:32px}.mt-0{margin-top:0}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-0{margin-bottom:0}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.ml-0{margin-left:0}.ml-8{margin-left:8px}.ml-16{margin-left:16px}.ml-24{margin-left:24px}.mr-0{margin-right:0}.mr-8{margin-right:8px}.mr-16{margin-right:16px}.mr-24{margin-right:24px}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-8{padding:8px}.p-16{padding:16px}.p-24{padding:24px}.p-32{padding:32px}.pt-0{padding-top:0}.pt-8{padding-top:8px}.pt-16{padding-top:16px}.pt-24{padding-top:24px}.pb-0{padding-bottom:0}.pb-8{padding-bottom:8px}.pb-16{padding-bottom:16px}.pb-24{padding-bottom:24px}.pl-0{padding-left:0}.pl-8{padding-left:8px}.pl-16{padding-left:16px}.pl-24{padding-left:24px}.pr-0{padding-right:0}.pr-8{padding-right:8px}.pr-16{padding-right:16px}.pr-24{padding-right:24px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--secondary-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.text-muted{color:var(--gray-600)}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.w-full{width:100%}.h-full{height:100%}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:50%}.border{border:1px solid var(--gray-300)}.border-t{border-top:1px solid var(--gray-300)}.border-b{border-bottom:1px solid var(--gray-300)}.border-l{border-left:1px solid var(--gray-300)}.border-r{border-right:1px solid var(--gray-300)}mat-card{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-md)!important;transition:box-shadow .2s,transform .2s}mat-card:hover{box-shadow:var(--shadow-lg)!important}button[mat-raised-button],button[mat-stroked-button]{border-radius:var(--radius-md)!important;font-weight:500;transition:all .2s}button[mat-icon-button]{border-radius:50%!important}mat-form-field{width:100%}mat-form-field.mat-form-field-appearance-outline .mat-form-field-outline{border-radius:var(--radius-md)!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.snackbar-success{background:var(--success-color)!important;color:#fff!important}.snackbar-error{background:var(--danger-color)!important;color:#fff!important}.snackbar-warning{background:var(--warning-color)!important;color:#fff!important}.snackbar-info{background:var(--info-color)!important;color:#fff!important}.success-snackbar{background:var(--success-color)!important;color:#fff!important;font-weight:500;border-radius:var(--radius-md)!important}.error-snackbar{background:var(--danger-color)!important;color:#fff!important;font-weight:500;border-radius:var(--radius-md)!important}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:9999}.error-text{color:var(--danger-color)}.success-text{color:var(--success-color)}.warning-text{color:var(--warning-color)}.card{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);transition:all .2s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-flat{box-shadow:none;border:1px solid var(--gray-300)}.card-elevated{box-shadow:var(--shadow-xl)}body.dark{--gray-50: #1a1a1a;--gray-100: #212121;--gray-200: #2c2c2c;--gray-300: #3d3d3d;--gray-400: #4e4e4e;--gray-500: #616161;--gray-600: #757575;--gray-700: #9e9e9e;--gray-800: #bdbdbd;--gray-900: #e0e0e0;background-color:var(--gray-100);color:var(--gray-900)}body.dark .card{background:var(--gray-200);border-color:var(--gray-400)}body.dark input,body.dark textarea{background:var(--gray-300);color:var(--gray-900);border-color:var(--gray-500)}body.dark ::-webkit-scrollbar-track{background:var(--gray-200)}body.dark ::-webkit-scrollbar-thumb{background:var(--gray-600)}body.dark ::-webkit-scrollbar-thumb:hover{background:var(--gray-700)}:root{--bg-primary: #f9fbfd;--bg-secondary: #f9fbfd;--bg-card: #ffffff;--bg-elevated: #fafafa;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-hover: #cbd5e1;--chart-grid: #e2e4e7;--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-green: #4ade80;--accent-orange: #f59e0b;--accent-red: #ef4444}body.dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-elevated: #334155;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: var(--mat-sys-outline-variant);--border-hover: #64748b;--chart-grid: #334155;--accent-blue: #60a5fa;--accent-purple: #a78bfa;--accent-green: #4ade80;--accent-orange: #f59e0b;--accent-red: #ef4444}body.dark .cdk-overlay-container{--mat-sys-background: #10131a;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #2e3038;--mat-sys-inverse-primary: #005ac2;--mat-sys-inverse-surface: #e1e2ec;--mat-sys-on-background: #e1e2ec;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #002e6a;--mat-sys-on-primary-container: #d8e2ff;--mat-sys-on-primary-fixed: #001a42;--mat-sys-on-primary-fixed-variant: #004395;--mat-sys-on-secondary: #182f59;--mat-sys-on-secondary-container: #d8e2ff;--mat-sys-on-secondary-fixed: #001a42;--mat-sys-on-secondary-fixed-variant: #304671;--mat-sys-on-surface: #e1e2ec;--mat-sys-on-surface-variant: #dee2f2;--mat-sys-on-tertiary: #55006a;--mat-sys-on-tertiary-container: #fdd6ff;--mat-sys-on-tertiary-fixed: #340042;--mat-sys-on-tertiary-fixed-variant: #74198b;--mat-sys-outline: #8c909f;--mat-sys-outline-variant: #424754;--mat-sys-primary: #adc6ff;--mat-sys-primary-container: #004395;--mat-sys-primary-fixed: #d8e2ff;--mat-sys-primary-fixed-dim: #adc6ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #b1c6f9;--mat-sys-secondary-container: #304671;--mat-sys-secondary-fixed: #d8e2ff;--mat-sys-secondary-fixed-dim: #b1c6f9;--mat-sys-shadow: #000000;--mat-sys-surface: #10131a;--mat-sys-surface-bright: #363941;--mat-sys-surface-container: #1d2027;--mat-sys-surface-container-high: #272a31;--mat-sys-surface-container-highest: #32353c;--mat-sys-surface-container-low: #191b23;--mat-sys-surface-container-lowest: #0b0e15;--mat-sys-surface-dim: #10131a;--mat-sys-surface-tint: #adc6ff;--mat-sys-surface-variant: #424754;--mat-sys-tertiary: #f4aeff;--mat-sys-tertiary-container: #74198b;--mat-sys-tertiary-fixed: #fdd6ff;--mat-sys-tertiary-fixed-dim: #f4aeff;--mat-sys-neutral-variant20: #2b303c;--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-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.light{--bg-primary: #f9fbfd;--bg-secondary: #f9fbfd;--bg-card: #ffffff;--bg-elevated: #fafafa;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-hover: #cbd5e1;--chart-grid: #e2e4e7;--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-green: #4ade80;--accent-orange: #f59e0b;--accent-red: #ef4444}
