@charset "UTF-8";html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}html{--mat-sys-primary: var(--color-primary);--mat-sys-on-primary: var(--color-on-primary);--mat-sys-primary-container: var(--color-primary-soft);--mat-sys-on-primary-container: color-mix(in srgb, var(--brand-primary) 75%, black);--mat-sys-secondary: var(--color-secondary);--mat-sys-on-secondary: var(--color-on-primary);--mat-sys-tertiary: var(--brand-accent);--mat-sys-error: var(--color-error);--mat-sys-on-error: var(--color-on-primary);--mat-sys-background: var(--color-bg);--mat-sys-surface: var(--color-surface);--mat-sys-on-surface: var(--color-ink);--mat-sys-on-surface-variant: var(--color-ink-2);--mat-sys-outline: var(--color-border);--mat-sys-outline-variant: var(--color-border-input);--mdc-outlined-text-field-outline-color: var(--color-border-input);--mdc-outlined-text-field-hover-outline-color: #9CA3AF;--mdc-outlined-text-field-focus-outline-color: var(--color-primary);--mdc-outlined-text-field-error-outline-color: var(--color-error);--mdc-outlined-text-field-error-hover-outline-color: var(--color-error);--mdc-outlined-text-field-error-focus-outline-color: var(--color-error);--mdc-outlined-text-field-label-text-color: var(--color-muted);--mdc-outlined-text-field-hover-label-text-color: var(--color-muted);--mdc-outlined-text-field-focus-label-text-color: var(--color-primary);--mdc-outlined-text-field-error-label-text-color: var(--color-error);--mdc-outlined-text-field-error-focus-label-text-color: var(--color-error);--mdc-form-field-label-text-color: var(--color-ink-2);--mat-sys-display-large-font: var(--font-family);--mat-sys-display-medium-font: var(--font-family);--mat-sys-display-small-font: var(--font-family);--mat-sys-headline-large-font: var(--font-family);--mat-sys-headline-medium-font: var(--font-family);--mat-sys-headline-small-font: var(--font-family);--mat-sys-title-large-font: var(--font-family);--mat-sys-title-medium-font: var(--font-family);--mat-sys-title-small-font: var(--font-family);--mat-sys-body-large-font: var(--font-family);--mat-sys-body-medium-font: var(--font-family);--mat-sys-body-small-font: var(--font-family);--mat-sys-label-large-font: var(--font-family);--mat-sys-label-medium-font: var(--font-family);--mat-sys-label-small-font: var(--font-family)}:root{color-scheme:light;--font-family: var(--brand-font);--font-mono: ui-monospace, "SF Mono", Consolas, monospace;--ref-white: #FFFFFF;--ref-black: #000000;--ref-teal-50: #E6F9F7;--ref-teal-100: #B2EAE6;--ref-teal-500: #00A89D;--ref-teal-600: #007A72;--ref-teal-700: #006660;--ref-teal-900: #004D47;--ref-teal-ink: #1E403E;--ref-cyan-600: #0076A8;--ref-cyan-700: #005E8D;--ref-blue-50: #EFF6FF;--ref-blue-500: #3B7FFF;--ref-green-50: #ECFDF5;--ref-green-500: #10B981;--ref-amber-50: #FFF4E5;--ref-amber-100: #FEF3DC;--ref-amber-500: #F59E0B;--ref-amber-600: #F5A820;--ref-red-50: #FEF2F2;--ref-red-500: #EF4444;--ref-coral-50: #FFF0EE;--ref-coral-500: #FF5A4F;--ref-green-900: #065F46;--ref-red-900: #991B1B;--ref-blue-700: #1D4ED8;--ref-amber-900: #92400E;--ref-neutral-50: #F9FAFB;--ref-neutral-75: #F8FAFC;--ref-neutral-100: #F5F7FA;--ref-neutral-130: #F1F5F9;--ref-neutral-150: #EEF1F6;--ref-neutral-200: #E2E8F0;--ref-neutral-250: #D1D5DB;--ref-neutral-300: #CBD5E1;--ref-neutral-400: #94A3B8;--ref-neutral-500: #64748B;--ref-neutral-700: #374151;--ref-neutral-850: #1E293B;--ref-neutral-900: #1A202C;--brand-primary: var(--ref-teal-500);--brand-secondary: var(--ref-cyan-600);--brand-accent: var(--ref-teal-600);--brand-background: var(--ref-neutral-100);--brand-surface: var(--ref-white);--brand-border: var(--ref-neutral-200);--brand-success: var(--ref-green-500);--brand-warning: var(--ref-amber-500);--brand-error: var(--ref-red-500);--brand-font: Inter, "Segoe UI", system-ui, Arial, sans-serif;--color-primary: var(--brand-primary);--color-primary-dark: var(--brand-accent);--color-primary-soft: color-mix(in srgb, var(--brand-primary) 10%, white);--color-primary-mid: color-mix(in srgb, var(--brand-primary) 25%, white);--color-secondary: var(--brand-secondary);--color-accent: var(--brand-accent);--color-on-primary: var(--ref-white);--color-gold: var(--ref-amber-600);--color-gold-soft: var(--ref-amber-100);--color-success: var(--brand-success);--color-success-soft: color-mix(in srgb, var(--brand-success) 12%, white);--color-warning: var(--brand-warning);--color-warning-soft: color-mix(in srgb, var(--brand-warning) 12%, white);--color-error: var(--brand-error);--color-error-soft: color-mix(in srgb, var(--brand-error) 12%, white);--color-info: var(--ref-blue-500);--color-info-soft: var(--ref-blue-50);--color-success-strong: color-mix(in srgb, var(--brand-success) 65%, black);--color-warning-strong: color-mix(in srgb, var(--brand-warning) 65%, black);--color-error-strong: color-mix(in srgb, var(--brand-error) 65%, black);--color-info-strong: var(--ref-blue-700);--color-ink: var(--ref-neutral-900);--color-ink-2: var(--ref-neutral-700);--color-muted: var(--ref-neutral-500);--color-muted-2: var(--ref-neutral-400);--color-border: var(--brand-border);--color-border-input: color-mix(in srgb, var(--brand-border) 60%, var(--ref-neutral-400));--color-bg: var(--brand-background);--color-surface: var(--brand-surface);--color-side: var(--ref-neutral-75);--surface-page: var(--color-bg);--surface-raised: var(--color-surface);--surface-sunken: var(--color-side);--border-default: var(--color-border);--teal: var(--color-primary);--teal-dark: var(--color-primary-dark);--teal-soft: var(--color-primary-soft);--teal-mid: var(--color-primary-mid);--gold: var(--color-gold);--gold-soft: var(--color-gold-soft);--ink: var(--color-ink);--ink-2: var(--color-ink-2);--muted: var(--color-muted);--muted-2: var(--color-muted-2);--line: var(--color-border);--line-2: var(--ref-neutral-130);--canvas: var(--color-bg);--surface: var(--color-surface);--side: var(--color-side);--purple: var(--color-primary);--purple-soft: var(--color-primary-soft);--purple-line: var(--color-primary-mid);--green: var(--color-success);--green-soft: var(--color-success-soft);--amber: var(--color-warning);--amber-soft: var(--color-warning-soft);--red: var(--color-error);--red-soft: var(--color-error-soft);--blue: var(--color-info);--epic: var(--ref-coral-500);--epic-soft: var(--ref-coral-50);--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-card: 12px;--radius-modal: 14px;--radius-2xl: 18px;--radius-pill: 999px;--space-1: 2px;--space-2: 4px;--space-4: 8px;--space-6: 12px;--space-8: 16px;--space-9: 20px;--space-10: 24px;--space-11: 28px;--space-12: 32px;--shadow-xs: 0 1px 4px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 12px rgba(0, 0, 0, .06);--shadow-md: 0 8px 32px rgba(0, 0, 0, .1);--shadow-lg: 0 24px 60px rgba(15, 23, 42, .22);--shadow-xl: 0 32px 80px rgba(0, 0, 0, .18), 0 0 0 1px rgba(0, 0, 0, .05);--shadow: var(--shadow-md);--shadow-soft: var(--shadow-sm);--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .2s ease;--transition-modal: .22s ease-out;--z-topbar: 10;--z-fab: 20;--z-dropdown: 30;--z-backdrop: 50;--z-modal: 200;--z-toast: 300}html[data-theme=dark]{color-scheme:dark;--color-bg: #0F172A;--color-surface: #1E293B;--color-side: #172033;--color-border: #334155;--color-border-input: #475569;--color-ink: #F1F5F9;--color-ink-2: #CBD5E1;--color-muted: #94A3B8;--color-muted-2: #8493AA;--color-primary: color-mix(in srgb, var(--brand-primary) 80%, white);--color-primary-dark: color-mix(in srgb, var(--brand-accent) 80%, white);--color-primary-soft: color-mix(in srgb, var(--brand-primary) 30%, black);--color-primary-mid: color-mix(in srgb, var(--brand-primary) 45%, black);--color-secondary: color-mix(in srgb, var(--brand-secondary) 80%, white);--color-accent: color-mix(in srgb, var(--brand-accent) 80%, white);--color-on-primary: #04211F;--color-gold: #FBBF24;--color-gold-soft: #33270B;--color-success: color-mix(in srgb, var(--brand-success) 78%, white);--color-success-soft: color-mix(in srgb, var(--brand-success) 35%, var(--color-surface));--color-warning: color-mix(in srgb, var(--brand-warning) 78%, white);--color-warning-soft: color-mix(in srgb, var(--brand-warning) 35%, var(--color-surface));--color-error: color-mix(in srgb, var(--brand-error) 78%, white);--color-error-soft: color-mix(in srgb, var(--brand-error) 35%, var(--color-surface));--color-info: #60A5FA;--color-info-soft: #0E2A47;--color-success-strong: color-mix(in srgb, var(--brand-success) 55%, white);--color-warning-strong: color-mix(in srgb, var(--brand-warning) 55%, white);--color-error-strong: color-mix(in srgb, var(--brand-error) 55%, white);--color-info-strong: #93C5FD;--shadow-xs: 0 1px 4px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 12px rgba(0, 0, 0, .5);--shadow-md: 0 8px 32px rgba(0, 0, 0, .55);--mat-sys-on-primary-container: color-mix(in srgb, var(--brand-primary) 75%, white)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;color:var(--color-ink);background:var(--surface-page);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:var(--radius-pill);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-muted-2)}*{scrollbar-width:thin;scrollbar-color:#CBD5E1 transparent}:focus-visible{outline:none;box-shadow:0 0 0 3px #00a89d33;border-color:var(--color-primary)!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}80%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}@keyframes bounce-in{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.1);opacity:1}80%{transform:scale(.95)}to{transform:scale(1)}}.text-display{font-size:40px;font-weight:800;color:var(--color-primary);line-height:1.1}.text-page-title{font-size:20px;font-weight:700;color:var(--color-ink);line-height:1.3}.text-section-title{font-size:18px;font-weight:800;color:var(--color-ink);line-height:1.3}.text-card-heading{font-size:16px;font-weight:700;color:var(--color-ink);line-height:1.4}.text-kpi-value{font-size:30px;font-weight:800;color:var(--color-ink);line-height:1.1;letter-spacing:-1px}.text-body{font-size:14px;font-weight:400;color:var(--color-ink-2);line-height:1.5}.text-body-sm{font-size:13px;font-weight:400;color:var(--color-ink-2);line-height:1.5}.text-label{font-size:13px;font-weight:600;color:var(--color-ink-2);line-height:1.4}.text-badge{font-size:11px;font-weight:700;line-height:1;letter-spacing:.03em}.text-mono{font-family:var(--font-mono);font-weight:400;color:#1e403e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);padding:8px 18px;font-size:14px;font-weight:600;font-family:var(--font-family);line-height:1;border:none;border-radius:var(--radius-base);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast);position:relative;overflow:hidden}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn.loading{color:transparent;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-pill);animation:spin .6s linear infinite;color:inherit;opacity:1}.btn-sm{padding:6px 14px;font-size:12px;border-radius:var(--radius-sm)}.btn-lg{padding:11px 26px;font-size:15px;border-radius:var(--radius-md)}.btn-icon{padding:8px;border-radius:var(--radius-base);aspect-ratio:1}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-primary:active:not(:disabled){background:#006660;border-color:#006660}.btn-primary.loading:after{border-color:#fff9;border-top-color:transparent}.btn-secondary{background:var(--color-side);color:var(--color-ink-2);border:1px solid var(--color-border);border-radius:var(--radius-base)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-mid);color:var(--color-primary-dark)}.btn-secondary:active:not(:disabled){background:var(--color-primary-mid)}.btn-ghost{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-soft)}.btn-ghost:active:not(:disabled){background:var(--color-primary-mid)}.btn-danger{background:var(--color-error-soft);color:var(--color-error-strong);border:1px solid #FECACA}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-danger:active:not(:disabled){background:#fecaca}.btn-text{background:transparent;color:var(--color-primary);border:1px solid transparent;padding-left:4px;padding-right:4px}.btn-text:hover:not(:disabled){text-decoration:underline}.btn-table-edit{background:var(--color-info-soft);color:var(--color-info-strong);border:1px solid #BFDBFE;border-radius:var(--radius-sm);font-size:12px;padding:5px 12px}.btn-table-edit:hover:not(:disabled){background:#dbeafe}.btn-table-suspend{background:var(--color-error-soft);color:var(--color-error-strong);border:1px solid #FECACA;border-radius:var(--radius-sm);font-size:12px;padding:5px 12px}.btn-table-suspend:hover:not(:disabled){background:#fee2e2}.btn-table-activate{background:var(--color-success-soft);color:var(--color-success-strong);border:1px solid #A7F3D0;border-radius:var(--radius-sm);font-size:12px;padding:5px 12px}.btn-table-activate:hover:not(:disabled){background:#d1fae5}.btn-table-save{background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:12px;padding:5px 12px}.btn-table-save:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-table-cancel{background:var(--color-side);color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px;padding:5px 12px}.btn-table-cancel:hover:not(:disabled){background:#f1f5f9}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;line-height:1;border-radius:var(--radius-pill);white-space:nowrap;letter-spacing:.02em;animation:bounce-in var(--transition-slow) both}.badge:before{content:"";display:block;width:7px;height:7px;border-radius:var(--radius-pill);flex-shrink:0}.badge-active{background:var(--color-success-soft);color:var(--color-success-strong)}.badge-active:before{background:var(--color-success)}.badge-inactive{background:var(--color-side);color:var(--color-muted)}.badge-inactive:before{background:#cbd5e1}.badge-suspended{background:var(--color-error-soft);color:var(--color-error-strong)}.badge-suspended:before{background:var(--color-error)}.badge-running{background:var(--color-info-soft);color:var(--color-info-strong)}.badge-running:before{background:var(--color-info);position:relative;animation:pulse-ring 1.4s ease-out infinite}.badge-completed{background:var(--color-success-soft);color:var(--color-success-strong)}.badge-completed:before{background:var(--color-success)}.badge-failed{background:var(--color-error-soft);color:var(--color-error-strong)}.badge-failed:before{background:var(--color-error)}.badge-queued{background:var(--color-warning-soft);color:var(--color-warning-strong)}.badge-queued:before{background:var(--color-warning)}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);width:min(520px,100vw - 34px);background:var(--color-surface);border-radius:var(--radius-modal);box-shadow:0 22px 55px #12141b2e;z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-8);padding:14px 18px;border-left:4px solid var(--color-border);font-size:14px;font-weight:500;color:var(--color-ink)}.toast-enter{animation:slide-up var(--transition-slow) ease both}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-error)}.toast-warning{border-left-color:var(--color-warning)}.toast-info{border-left-color:var(--color-info)}.card{background:var(--surface-raised);border-radius:var(--radius-card);padding:20px 22px 18px;box-shadow:var(--shadow-xs);border:1px solid var(--color-border);transition:transform var(--transition-slow),box-shadow var(--transition-slow)}.card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0000001a}.data-table{width:100%;border-collapse:collapse;font-size:14px;color:var(--color-ink-2)}.data-table__header{background:var(--color-side);border-bottom:2px solid var(--color-border)}.data-table__header th{padding:12px 16px;font-size:12px;font-weight:700;color:var(--color-ink-2);text-align:left;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.data-table__row{height:52px;border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.data-table__row td{padding:10px 16px}.data-table__row:hover{background:var(--color-side)}.data-table__row.selected{background:var(--color-primary-soft)}.data-table__row:last-child{border-bottom:none}.input-field,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],input[type=tel],select,textarea{width:100%;padding:9px 12px;font-size:14px;font-family:var(--font-family);color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border-input);border-radius:var(--radius-base);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.input-field::placeholder,input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,input[type=url]::placeholder,input[type=tel]::placeholder,select::placeholder,textarea::placeholder{color:var(--color-muted-2)}.input-field:hover:not(:disabled):not(:focus),input[type=text]:hover:not(:disabled):not(:focus),input[type=email]:hover:not(:disabled):not(:focus),input[type=password]:hover:not(:disabled):not(:focus),input[type=number]:hover:not(:disabled):not(:focus),input[type=search]:hover:not(:disabled):not(:focus),input[type=url]:hover:not(:disabled):not(:focus),input[type=tel]:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--color-muted-2)}.input-field:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=search]:focus,input[type=url]:focus,input[type=tel]:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #00a89d1f}.input-field.ng-invalid.ng-touched,.input-field.error,input[type=text].ng-invalid.ng-touched,input[type=text].error,input[type=email].ng-invalid.ng-touched,input[type=email].error,input[type=password].ng-invalid.ng-touched,input[type=password].error,input[type=number].ng-invalid.ng-touched,input[type=number].error,input[type=search].ng-invalid.ng-touched,input[type=search].error,input[type=url].ng-invalid.ng-touched,input[type=url].error,input[type=tel].ng-invalid.ng-touched,input[type=tel].error,select.ng-invalid.ng-touched,select.error,textarea.ng-invalid.ng-touched,textarea.error{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.input-field:disabled,input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=number]:disabled,input[type=search]:disabled,input[type=url]:disabled,input[type=tel]:disabled,select:disabled,textarea:disabled{border:1px solid var(--color-border);background:#f9fafb;color:var(--color-muted);cursor:not-allowed}.input-field[readonly],input[type=text][readonly],input[type=email][readonly],input[type=password][readonly],input[type=number][readonly],input[type=search][readonly],input[type=url][readonly],input[type=tel][readonly],select[readonly],textarea[readonly]{border:1px solid var(--color-border);background:var(--color-side);cursor:default}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;-webkit-text-fill-color:#1A202C!important;transition:background-color 9999s ease-in-out 0s!important;caret-color:#1a202c}.mat-mdc-form-field input[type=text],.mat-mdc-form-field input[type=email],.mat-mdc-form-field input[type=password],.mat-mdc-form-field input[type=number],.mat-mdc-form-field input[type=search],.mat-mdc-form-field input[type=url],.mat-mdc-form-field input[type=tel],.mat-mdc-form-field .mat-mdc-input-element,.mat-mdc-form-field select,.mat-mdc-form-field textarea{border:none!important;padding:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important}.mat-mdc-form-field input[type=text]:hover,.mat-mdc-form-field input[type=text]:focus,.mat-mdc-form-field input[type=text]:focus-visible,.mat-mdc-form-field input[type=text].ng-invalid,.mat-mdc-form-field input[type=text].ng-invalid.ng-touched,.mat-mdc-form-field input[type=text].error,.mat-mdc-form-field input[type=email]:hover,.mat-mdc-form-field input[type=email]:focus,.mat-mdc-form-field input[type=email]:focus-visible,.mat-mdc-form-field input[type=email].ng-invalid,.mat-mdc-form-field input[type=email].ng-invalid.ng-touched,.mat-mdc-form-field input[type=email].error,.mat-mdc-form-field input[type=password]:hover,.mat-mdc-form-field input[type=password]:focus,.mat-mdc-form-field input[type=password]:focus-visible,.mat-mdc-form-field input[type=password].ng-invalid,.mat-mdc-form-field input[type=password].ng-invalid.ng-touched,.mat-mdc-form-field input[type=password].error,.mat-mdc-form-field input[type=number]:hover,.mat-mdc-form-field input[type=number]:focus,.mat-mdc-form-field input[type=number]:focus-visible,.mat-mdc-form-field input[type=number].ng-invalid,.mat-mdc-form-field input[type=number].ng-invalid.ng-touched,.mat-mdc-form-field input[type=number].error,.mat-mdc-form-field input[type=search]:hover,.mat-mdc-form-field input[type=search]:focus,.mat-mdc-form-field input[type=search]:focus-visible,.mat-mdc-form-field input[type=search].ng-invalid,.mat-mdc-form-field input[type=search].ng-invalid.ng-touched,.mat-mdc-form-field input[type=search].error,.mat-mdc-form-field input[type=url]:hover,.mat-mdc-form-field input[type=url]:focus,.mat-mdc-form-field input[type=url]:focus-visible,.mat-mdc-form-field input[type=url].ng-invalid,.mat-mdc-form-field input[type=url].ng-invalid.ng-touched,.mat-mdc-form-field input[type=url].error,.mat-mdc-form-field input[type=tel]:hover,.mat-mdc-form-field input[type=tel]:focus,.mat-mdc-form-field input[type=tel]:focus-visible,.mat-mdc-form-field input[type=tel].ng-invalid,.mat-mdc-form-field input[type=tel].ng-invalid.ng-touched,.mat-mdc-form-field input[type=tel].error,.mat-mdc-form-field .mat-mdc-input-element:hover,.mat-mdc-form-field .mat-mdc-input-element:focus,.mat-mdc-form-field .mat-mdc-input-element:focus-visible,.mat-mdc-form-field .mat-mdc-input-element.ng-invalid,.mat-mdc-form-field .mat-mdc-input-element.ng-invalid.ng-touched,.mat-mdc-form-field .mat-mdc-input-element.error,.mat-mdc-form-field select:hover,.mat-mdc-form-field select:focus,.mat-mdc-form-field select:focus-visible,.mat-mdc-form-field select.ng-invalid,.mat-mdc-form-field select.ng-invalid.ng-touched,.mat-mdc-form-field select.error,.mat-mdc-form-field textarea:hover,.mat-mdc-form-field textarea:focus,.mat-mdc-form-field textarea:focus-visible,.mat-mdc-form-field textarea.ng-invalid,.mat-mdc-form-field textarea.ng-invalid.ng-touched,.mat-mdc-form-field textarea.error{border:none!important;box-shadow:none!important}.mat-mdc-form-field-icon-prefix{padding:0!important;display:flex!important;align-items:center!important}.mat-mdc-form-field-icon-prefix mat-icon,.mat-mdc-form-field-icon-prefix .mat-icon{margin-right:6px}.mat-mdc-form-field .mdc-line-ripple{display:none!important}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-icon-prefix mat-icon,.mat-mdc-form-field.mat-focused .mat-mdc-form-field-icon-prefix .mat-icon{color:var(--color-primary)!important}.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-form-field-icon-prefix mat-icon,.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-form-field-icon-prefix .mat-icon{color:var(--color-error)!important}.mat-mdc-form-field-icon-prefix~.mat-mdc-form-field-infix .mdc-floating-label:not(.mdc-floating-label--float-above){top:50%!important}.sidebar{width:220px;height:100%;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition-slow);flex-shrink:0}.sidebar--collapsed{width:64px}.sidebar--collapsed .nav-item span,.sidebar--collapsed .sidebar__label{opacity:0;pointer-events:none;width:0;overflow:hidden}.nav-item{display:flex;align-items:center;gap:var(--space-6);padding:10px 12px;border-radius:var(--radius-base);font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;text-decoration:none;transition:background var(--transition-base),color var(--transition-base);white-space:nowrap;overflow:hidden;border-left:3px solid transparent}.nav-item:hover{background:var(--color-side);color:var(--color-ink)}.nav-item--active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600;border-left-color:var(--color-primary)}.shell-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-8) var(--space-10);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.shell-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px 14px 7px 10px;font-size:12.5px;font-weight:600;color:var(--color-muted);text-decoration:none;white-space:nowrap;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base)}.shell-tab mat-icon{width:16px;height:16px;font-size:16px}.shell-tab:hover{color:var(--color-ink);background:var(--color-bg);border-color:var(--color-muted-2)}.shell-tab.active{color:var(--color-primary);background:var(--color-primary-soft);border-color:var(--color-primary-mid)}.topbar{height:56px;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-topbar);display:flex;align-items:center;padding:0 var(--space-10);flex-shrink:0}.skeleton,.skeleton-avatar,.skeleton-title,.skeleton-text{background:linear-gradient(90deg,var(--color-border) 25%,#EEF1F6 50%,var(--color-border) 75%);background-size:468px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-base)}.skeleton-text{height:14px;border-radius:var(--radius-sm)}.skeleton-title{height:20px;border-radius:var(--radius-sm)}.skeleton-avatar{border-radius:var(--radius-pill)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-10);text-align:center;gap:var(--space-8)}.empty-state__icon{width:56px;height:56px;border-radius:var(--radius-pill);background:var(--color-primary-soft);display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:24px;margin-bottom:var(--space-4)}.empty-state__title{font-size:16px;font-weight:700;color:var(--color-ink);margin:0}.empty-state__body{font-size:14px;color:var(--color-muted);max-width:360px;margin:0;line-height:1.6}.empty-state__action{margin-top:var(--space-4)}.mat-mdc-menu-panel.user-action-menu{background:#fff!important;background-color:#fff!important;border:1px solid #E2E8F0!important;border-radius:10px!important;box-shadow:0 8px 28px #00000021,0 2px 8px #00000012!important;min-width:188px!important;max-width:220px!important;overflow:hidden!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-content{padding:5px 0!important;background:#fff!important;background-color:#fff!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item{height:38px!important;min-height:38px!important;padding:0 14px!important;font-size:13px!important;font-weight:500!important;color:#374151!important;background:transparent!important;border-radius:0!important;transition:background .14s,color .14s!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item .mat-icon,.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item .material-icons{font-size:17px!important;height:17px!important;width:17px!important;margin-right:10px!important;color:#94a3b8!important;flex-shrink:0!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item .mdc-list-item__primary-text{font-size:13px!important;font-weight:500!important;color:inherit!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item:hover:not([disabled]),.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.cdk-focused:not([disabled]){background:#f1f5f9!important;color:#1a202c!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item:hover:not([disabled]) .mat-icon,.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item:hover:not([disabled]) .material-icons,.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.cdk-focused:not([disabled]) .mat-icon,.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.cdk-focused:not([disabled]) .material-icons{color:#64748b!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item .mat-mdc-menu-ripple,.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item .mdc-list-item__ripple{display:none!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.menu-item-danger,.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.menu-item-danger .mat-icon,.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.menu-item-danger .material-icons{color:#ef4444!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.menu-item-danger:hover:not([disabled]){background:#fef2f2!important}.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.menu-item-danger:hover:not([disabled]) .mat-icon,.mat-mdc-menu-panel.user-action-menu .mat-mdc-menu-item.menu-item-danger:hover:not([disabled]) .material-icons{color:#ef4444!important}.mat-mdc-menu-panel.user-action-menu .mat-divider{border-top-color:#e2e8f0!important;margin:4px 0!important;opacity:1!important}.spin{animation:spin .6s linear infinite}.shimmer{background:linear-gradient(90deg,var(--color-border) 25%,#EEF1F6 50%,var(--color-border) 75%);background-size:468px 100%;animation:shimmer 1.4s ease-in-out infinite}.fade-in{animation:fade-in var(--transition-slow) ease both}.slide-up{animation:slide-up var(--transition-slow) ease both}.info-panel{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-2, var(--color-surface));font-size:13px}.info-panel summary{cursor:pointer;padding:10px 14px;font-weight:600;color:var(--color-primary);list-style:none}.info-panel summary::-webkit-details-marker{display:none}.info-panel summary:before{content:"\25b8";display:inline-block;margin-right:8px;transition:transform .15s ease}.info-panel[open] summary:before{transform:rotate(90deg)}.info-panel .info-body{padding:4px 16px 16px;color:var(--color-ink-2, var(--color-muted));line-height:1.5}.info-panel .info-body code{font-family:monospace;font-size:12px;background:var(--color-primary-soft);color:var(--color-primary-dark);padding:1px 6px;border-radius:4px}.info-panel .info-lead{margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--color-border);color:var(--color-ink-2)}.info-panel .info-section{margin-bottom:16px}.info-panel .info-section:last-of-type{margin-bottom:0}.info-panel .info-heading{margin:0 0 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.info-panel .info-heading-hint{font-weight:500;text-transform:none;letter-spacing:0;color:var(--color-muted-2, var(--color-muted))}.info-panel .info-defs{margin:0;display:grid;gap:8px}.info-panel .info-def{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start}.info-panel .info-tag{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary-dark);border:1px solid var(--color-primary-mid);font-size:12px;font-weight:600;white-space:nowrap}.info-panel .info-def dd{margin:2px 0 0}.info-panel .info-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.info-panel .info-metric{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);font-size:12px}.info-panel .info-metric-key{font-weight:700;color:var(--color-ink)}.info-panel .info-statuses{display:flex;flex-wrap:wrap;gap:10px 16px}.info-panel .info-status{display:inline-flex;align-items:center;gap:6px;font-size:12px}.info-panel .info-note{margin:16px 0 0;padding-top:12px;border-top:1px dashed var(--color-border);color:var(--color-muted);font-size:12px}
