:root{--white: #ffffff;--black: #000000;--gray-900: #111820;--gray-800: #3a4554;--gray-750: #2a3440;--gray-700: #4e5968;--gray-600: #6b7a8c;--gray-500: #8593a3;--gray-400: #a8b5c4;--gray-300: #b0b8c1;--gray-200: #d4dce6;--gray-100: #e9eaec;--gray-50: #f2f3f3;--blue-900: #0a3a5c;--blue-800: #0b5cab;--blue-700: #1068b8;--blue-600: #0068ab;--blue-500: #00b4f0;--blue-400: #60a5fa;--blue-300: #7dd4f7;--blue-200: #bfdbfe;--blue-100: #baeafc;--blue-50: #e4f4fb;--color-brand: #00b4f0;--color-primary: #0b5cab;--color-info: #00b4f0;--color-success: #34c759;--color-warning: #f4b740;--color-danger: #db2a23;--color-error: var(--color-danger);--color-primary-hover: #1068b8;--color-info-hover: #00a3d9;--color-success-hover: #2db350;--color-warning-hover: #e5a93a;--color-danger-hover: #a2292f;--color-error-hover: var(--color-danger-hover);--color-dark-hover: #3a4554;--success-800: #0a3817;--success-700: #0c451b;--success-600: #25a847;--success-400: #22c55e;--success-300: #9ae6b4;--success-200: #c6f6d5;--success-100: #e4f5eb;--warning-800: #744210;--warning-700: #866000;--warning-600: #d69e2e;--warning-400: #eab308;--warning-300: #fde68a;--warning-200: #fef3c7;--warning-100: #fdf6e4;--danger-800: #822727;--danger-700: #a2292f;--danger-600: #db2a23;--danger-400: #ef4444;--danger-300: #fc8181;--danger-200: #fed7d7;--danger-100: #fbe4e4;--danger-light: #f87171;--info-800: #075985;--info-700: #028aca;--info-600: #0284c7;--info-400: #00b4f0;--info-300: #90cdf4;--info-200: #bee3f8;--info-100: #e4f4fb;--primary-700: #064974;--primary-600: #0968b0;--primary-500: #0b7ac7;--primary-400: var(--blue-400);--primary-100: #baeafc;--purple-900: #1e1832;--gray-25: #f0f3f5;--gray-15: #f7f8f8;--gray-150: #e2e5e7;--gray-85: #eaebec;--neutral-900: #111213;--neutral-800: #27292b;--neutral-700: #3d4143;--success-500: #1a9338;--success-50: #ebffe9;--success-soft: #8bf4a6;--danger-500: #db2a23;--danger-soft: #ffa399;--warning-500: #ffc442;--warning-900: #4d2a00;--warning-soft: #ffd05c;--info-500: #03aefd;--info-soft: #99defd;--info-focus-ring: rgba(3, 174, 253, .2);--opacity-white-95: rgba(255, 255, 255, .95);--opacity-white-90: rgba(255, 255, 255, .9);--opacity-white-85: rgba(255, 255, 255, .85);--opacity-white-80: rgba(255, 255, 255, .8);--opacity-white-75: rgba(255, 255, 255, .75);--opacity-white-70: rgba(255, 255, 255, .7);--opacity-white-65: rgba(255, 255, 255, .65);--opacity-white-60: rgba(255, 255, 255, .6);--opacity-white-55: rgba(255, 255, 255, .55);--opacity-white-50: rgba(255, 255, 255, .5);--opacity-white-45: rgba(255, 255, 255, .45);--opacity-white-40: rgba(255, 255, 255, .4);--opacity-white-35: rgba(255, 255, 255, .35);--opacity-white-30: rgba(255, 255, 255, .3);--opacity-white-25: rgba(255, 255, 255, .25);--opacity-white-20: rgba(255, 255, 255, .2);--opacity-white-15: rgba(255, 255, 255, .15);--opacity-white-10: rgba(255, 255, 255, .1);--opacity-white-5: rgba(255, 255, 255, .05);--opacity-black-95: rgba(0, 0, 0, .95);--opacity-black-90: rgba(0, 0, 0, .9);--opacity-black-85: rgba(0, 0, 0, .85);--opacity-black-80: rgba(0, 0, 0, .8);--opacity-black-75: rgba(0, 0, 0, .75);--opacity-black-70: rgba(0, 0, 0, .7);--opacity-black-65: rgba(0, 0, 0, .65);--opacity-black-60: rgba(0, 0, 0, .6);--opacity-black-55: rgba(0, 0, 0, .55);--opacity-black-50: rgba(0, 0, 0, .5);--opacity-black-45: rgba(0, 0, 0, .45);--opacity-black-40: rgba(0, 0, 0, .4);--opacity-black-35: rgba(0, 0, 0, .35);--opacity-black-30: rgba(0, 0, 0, .3);--opacity-black-25: rgba(0, 0, 0, .25);--opacity-black-20: rgba(0, 0, 0, .2);--opacity-black-15: rgba(0, 0, 0, .15);--opacity-black-10: rgba(0, 0, 0, .1);--opacity-black-5: rgba(0, 0, 0, .05);--overlay-white-xl: rgba(255, 255, 255, .8);--overlay-white-lg: rgba(255, 255, 255, .3);--overlay-white-md: rgba(255, 255, 255, .2);--overlay-white-sm: rgba(255, 255, 255, .1);--overlay-white-xs: rgba(255, 255, 255, .05);--overlay-black-md: rgba(0, 0, 0, .2);--overlay-black-sm: rgba(0, 0, 0, .1);--overlay-black-xs: rgba(0, 0, 0, .05);--opacity-disabled: .5;--opacity-hover: .8;--opacity-subtle: .6;--primary-alpha-xl: rgba(11, 92, 171, .25);--primary-alpha-lg: rgba(11, 92, 171, .2);--primary-alpha-md: rgba(11, 92, 171, .12);--primary-alpha-sm: rgba(11, 92, 171, .1);--primary-alpha-xs: rgba(11, 92, 171, .05);--info-alpha-md: rgba(0, 180, 240, .2);--info-alpha-sm: rgba(0, 180, 240, .15);--info-alpha-xs: rgba(0, 180, 240, .1);--success-alpha-md: rgba(52, 199, 89, .25);--success-alpha-sm: rgba(52, 199, 89, .15);--success-alpha-xs: rgba(52, 199, 89, .05);--danger-alpha-lg: rgba(224, 73, 56, .25);--danger-alpha-md: rgba(224, 73, 56, .15);--danger-alpha-sm: rgba(224, 73, 56, .1);--danger-alpha-xs: rgba(224, 73, 56, .05);--danger-alpha-light: rgba(248, 113, 113, .1);--warning-alpha-md: rgba(244, 183, 64, .2);--warning-alpha-sm: rgba(244, 183, 64, .1);--warning-alpha-xs: rgba(244, 183, 64, .05);--color-surface-base: var(--white);--color-surface-primary: var(--white);--color-surface-secondary: var(--gray-50);--color-surface-background: var(--gray-15);--color-surface-disabled: var(--gray-85);--color-surface-hover: var(--gray-100);--color-surface-press: var(--gray-200);--color-surface-selected: var(--primary-alpha-sm);--color-surface-selected-hover: var(--primary-alpha-md);--color-surface-elevated: var(--white);--color-surface-card: var(--white);--color-surface-dropdown: var(--white);--color-surface-modal: var(--white);--color-surface-tooltip: var(--gray-900);--color-surface-toast: var(--white);--color-surface-dark-base: var(--gray-800);--color-surface-dark-elevated: var(--gray-800);--color-surface-dark-hover: var(--gray-700);--color-surface-dark-press: var(--gray-600);--color-surface-dark-selected: var(--info-alpha-sm);--color-surface-dark-selected-hover: var(--info-alpha-md);--color-surface-invert: var(--neutral-900);--color-surface-invert-secondary: var(--neutral-800);--color-surface-invert-disabled: var(--neutral-700);--color-surface-invert-hover: var(--overlay-white-sm);--color-surface-invert-press: var(--overlay-white-md);--color-surface-backdrop: var(--opacity-black-50);--color-surface-backdrop-light: var(--opacity-black-30);--color-surface-backdrop-dark: var(--opacity-black-70);--color-surface-overlay: var(--opacity-black-65);--color-content-base: #18191a;--color-content-primary: #18191a;--color-content-secondary: #61666a;--color-content-tertiary: #a8b5c4;--color-content-disabled: rgba(0, 0, 0, .3);--color-content-inverted: var(--white);--color-content-inverted-subtle: var(--opacity-white-70);--color-content-inverted-muted: var(--opacity-white-50);--color-content-invert-disabled: rgba(255, 255, 255, .4);--color-content-on-primary: var(--white);--color-content-on-success: var(--white);--color-content-on-danger: var(--white);--color-content-on-error: #ffe9e6;--color-content-on-warning: var(--gray-900);--color-content-on-info: var(--white);--color-content-on-brand: #eff9ff;--color-content-brand: #0068ab;--color-content-brand-alt: #01a4f6;--color-border-default: rgba(0, 0, 0, .15);--color-border-primary: rgba(0, 0, 0, .15);--color-border-secondary: rgba(0, 0, 0, .2);--color-border-subtle: rgba(0, 0, 0, .1);--color-border-strong: rgba(0, 0, 0, .2);--color-border-disabled: rgba(0, 0, 0, .05);--color-border-divider: rgba(0, 0, 0, .1);--color-border-hover: var(--gray-300);--color-border-focus: var(--color-primary);--color-border-dark-default: var(--gray-700);--color-border-dark-subtle: var(--gray-800);--color-border-dark-strong: var(--gray-600);--color-border-dark-hover: var(--gray-600);--color-border-invert: rgba(255, 255, 255, .3);--color-border-invert-disabled: rgba(255, 255, 255, .1);--color-border-brand: rgba(6, 73, 116, .1);--color-border-brand-alt: rgba(6, 73, 116, .2);--color-overlay-hover: var(--overlay-white-sm);--color-overlay-press: var(--overlay-white-md);--color-overlay-focus: var(--overlay-white-xs);--color-overlay-dark-hover: var(--overlay-black-sm);--color-overlay-dark-press: var(--overlay-black-md);--color-overlay-loading-light: var(--opacity-white-70);--color-overlay-loading-dark: var(--opacity-black-70);--color-focus-ring-primary: var(--info-alpha-xs);--color-focus-ring-success: var(--success-alpha-xs);--color-focus-ring-danger: var(--danger-alpha-sm);--color-focus-ring-error: var(--color-focus-ring-danger);--color-focus-ring-warning: var(--warning-alpha-xs);--color-focus-ring-info: var(--info-alpha-xs);--color-focus-outline: var(--color-primary);--color-focus-border: var(--color-primary);--shadow-xs: 0 1px 2px 0 rgba(78, 81, 83, .1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 10px 30px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .12);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .15);--shadow-card: var(--shadow-sm);--shadow-button: var(--shadow-sm);--shadow-dropdown: var(--shadow-lg);--shadow-modal: var(--shadow-xl);--shadow-tooltip: var(--shadow-md);--shadow-elevation-1: var(--shadow-sm);--shadow-elevation-2: var(--shadow-md);--shadow-elevation-3: var(--shadow-lg);--shadow-elevation-4: var(--shadow-xl);--color-state-success-bg: var(--success-alpha-sm);--color-state-success-bg-hover: var(--success-alpha-md);--color-state-success-bg-subtle: var(--success-alpha-xs);--color-state-success-border: var(--color-success);--color-state-success-text: var(--success-700);--color-state-success-subdued: rgba(26, 147, 56, .1);--color-state-error-bg: var(--danger-alpha-md);--color-state-error-bg-hover: var(--danger-alpha-lg);--color-state-error-bg-subtle: var(--danger-alpha-sm);--color-state-error-border: var(--color-error);--color-state-error-text: var(--danger-700);--color-state-error-subdued: rgba(219, 42, 35, .1);--color-state-danger-bg: var(--danger-alpha-md);--color-state-danger-bg-hover: var(--danger-alpha-lg);--color-state-danger-bg-subtle: var(--danger-alpha-sm);--color-state-danger-border: var(--color-danger);--color-state-danger-text: var(--danger-700);--color-state-danger-subdued: rgba(219, 42, 35, .1);--color-state-warning-bg: var(--warning-alpha-sm);--color-state-warning-bg-hover: var(--warning-alpha-md);--color-state-warning-bg-subtle: var(--warning-alpha-xs);--color-state-warning-border: var(--color-warning);--color-state-warning-text: var(--warning-700);--color-state-warning-subdued: rgba(231, 157, 19, .1);--color-state-info-bg: var(--info-alpha-sm);--color-state-info-bg-hover: var(--info-alpha-md);--color-state-info-bg-subtle: var(--info-alpha-xs);--color-state-info-border: var(--color-info);--color-state-info-text: var(--info-700);--color-state-info-subdued: rgba(3, 174, 253, .1);--color-state-brand-bg: #0068ab;--color-state-brand-bg-subdued: rgba(6, 73, 116, .1);--color-state-brand-bg-hover: rgba(6, 73, 116, .08);--color-state-brand-bg-press: rgba(6, 73, 116, .2);--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-28: 112px;--space-31: 124px;--space-36: 144px;--radius-none: 0;--radius-3xs: 2px;--radius-2xs: 4px;--radius-xs: 8px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-3xl: 48px;--radius-4xl: 64px;--radius-full: 100px;--radius-pill: 500px;--radius-button: 4px;--radius-input: 8px;--font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "IBM Plex Mono", "Courier New", monospace;--font-size-2xs: 11px;--font-size-xs: 12px;--font-size-13: 13px;--font-size-s: 14px;--font-size-15: 15px;--font-size-m: 16px;--font-size-l: 18px;--font-size-20: 20px;--font-size-xl: 24px;--font-size-2xl: 28px;--font-size-3xl: 38px;--font-size-4xl: 46px;--font-size-hero: 68px;--line-height-2xs: 14px;--line-height-xs: 16px;--line-height-13: 18px;--line-height-s: 20px;--line-height-15: 22px;--line-height-m: 24px;--line-height-l: 28px;--line-height-20: 28px;--line-height-xl: 32px;--line-height-2xl: 32px;--line-height-3xl: 44px;--line-height-4xl: 56px;--line-height-hero: 70px;--line-height-ratio-none: 1;--line-height-ratio-tight: 1.4;--line-height-ratio-normal: 1.5;--line-height-ratio-loose: 1.6;--line-height-ratio-relaxed: 1.75;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight-2: -.04em;--letter-spacing-tight-1: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide-1: .01em;--z-base: 1;--z-raised: 2;--z-dropdown: 100;--z-sticky: 500;--z-modal-backdrop: 1000;--z-modal: 1001;--z-popover: 5000;--z-toast: 9999;--screen-phone-min: 320px;--screen-phone-max: 575px;--screen-tablet-min: 768px;--screen-tablet-max: 991px;--screen-desktop-s-min: 1200px;--screen-desktop-s-max: 1399px;--screen-desktop-l-min: 1400px;--screen-desktop-l-max: 1980px;--container-phone: 328px;--container-tablet: 719px;--container-desktop-s: 1116px;--container-desktop-l: 1296px;--layout-phone: 360px;--layout-tablet: 768px;--layout-desktop-s: 1280px;--layout-desktop-l: 1440px;--margin-phone: 16px;--margin-tablet: 24px;--margin-desktop-s: 12px;--margin-desktop-l: 12px;--navbar-height: 56px;--sidebar-width: 240px;--calendar-width: 280px;--scrollbar-width: 6px;--bg: var(--purple-900);--bg-light: var(--gray-150);--bg-muted: var(--gray-100);--bg-error: var(--danger-100);--bg-danger: var(--danger-100);--bg-success: var(--success-100);--bg-warning: var(--warning-100);--bg-info: var(--info-100);--surface: var(--color-surface-primary);--surface-2: var(--color-surface-secondary);--surface-primary: var(--color-surface-primary);--surface-secondary: var(--color-surface-secondary);--surface-background: var(--color-surface-background);--surface-disabled: var(--color-surface-disabled);--surface-hover: var(--opacity-white-20);--surface-press: var(--opacity-black-20);--surface-overlay: var(--color-surface-overlay);--surface-invert: var(--color-surface-invert);--surface-invert-secondary: var(--color-surface-invert-secondary);--surface-invert-disabled: var(--color-surface-invert-disabled);--surface-invert-hover: var(--color-surface-invert-hover);--surface-invert-press: var(--color-surface-invert-press);--surface-error: var(--danger-500);--surface-error-subdued: var(--color-state-error-subdued);--surface-danger: var(--danger-500);--surface-danger-subdued: var(--color-state-danger-subdued);--surface-success: var(--success-500);--surface-success-subdued: var(--color-state-success-subdued);--surface-warning: var(--warning-500);--surface-warning-subdued: var(--color-state-warning-subdued);--surface-info: var(--info-500);--surface-info-subdued: var(--color-state-info-subdued);--surface-brand: var(--color-state-brand-bg);--surface-brand-subdued: var(--color-state-brand-bg-subdued);--surface-brand-hover: var(--color-state-brand-bg-hover);--surface-brand-press: var(--color-state-brand-bg-press);--text: var(--color-content-primary);--text-secondary: var(--color-content-secondary);--text-tertiary: var(--color-content-tertiary);--muted: var(--color-content-secondary);--content-primary: var(--color-content-primary);--content-secondary: var(--color-content-secondary);--content-disabled: var(--color-content-disabled);--content-invert: var(--color-content-inverted);--content-invert-secondary: var(--opacity-white-75);--content-invert-disabled: var(--color-content-invert-disabled);--content-error: var(--danger-700);--content-on-error: var(--color-content-on-error);--content-danger: var(--danger-700);--content-on-danger: var(--color-content-on-danger);--content-success: var(--success-700);--content-on-success: var(--success-50);--content-warning: var(--warning-700);--content-on-warning: var(--warning-900);--content-warning-alt: var(--warning-500);--content-info: var(--info-700);--content-on-info: var(--color-content-on-info);--content-brand: var(--color-content-brand);--content-brand-alt: var(--color-content-brand-alt);--content-on-brand: var(--color-content-on-brand);--border: var(--color-border-primary);--border-light: var(--gray-100);--border-primary: var(--color-border-primary);--border-secondary: var(--color-border-secondary);--border-subdued: var(--color-border-subtle);--border-disabled: var(--color-border-disabled);--border-divider: var(--color-border-divider);--border-focus: var(--info-focus-ring);--border-invert: var(--color-border-invert);--border-invert-disabled: var(--color-border-invert-disabled);--border-error: var(--danger-soft);--border-danger: var(--danger-soft);--border-success: var(--success-soft);--border-warning: var(--warning-soft);--border-info: var(--info-soft);--border-brand: var(--color-border-brand);--border-brand-alt: var(--color-border-brand-alt);--color-dark: var(--purple-900);--color-light: var(--gray-25);--primary: var(--color-primary);--primary-hover: var(--color-primary-hover);--primary-light: var(--primary-100);--success: var(--color-success);--danger: var(--color-danger);--warning: var(--color-warning);--info: var(--color-info)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-family-body);font-size:var(--font-size-s);line-height:var(--line-height-s);background:var(--bg);color:var(--text)}h1{margin:0 0 var(--space-4)}label{display:grid;gap:6px;color:var(--muted);font-size:14px}.app-shell{display:grid;grid-template-columns:240px 1fr;align-items:stretch;min-height:100vh;height:100vh;overflow-x:hidden;overflow-y:visible;transition:grid-template-columns .3s ease-in-out}.app-shell--sidebar-collapsed{grid-template-columns:80px 1fr}.app-sidebar{background:var(--surface);border-right:1px solid var(--border);position:relative;top:0;height:100vh;overflow-x:hidden;overflow-y:hidden;margin-top:0;padding-top:0}.app-main{display:grid;grid-template-rows:auto 1fr;row-gap:0;background:var(--surface-background);height:100vh;overflow:hidden}.app-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:var(--z-sticky)}.view--app{overflow-y:auto;overflow-x:hidden;background:var(--surface-background);min-height:0}.view--blank{min-height:100vh}.btn{border:0;border-radius:var(--radius-md);padding:12px 14px;cursor:pointer}.btn-primary{background:var(--primary);color:var(--color-content-on-primary)}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-0{padding-top:0;padding-bottom:0}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.ml-2{margin-left:var(--space-2)}.ml-auto{margin-left:auto}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-content-secondary)}.text-invert{color:var(--color-content-inverted)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-s)}.text-md{font-size:var(--font-size-m)}.text-lg{font-size:var(--font-size-l)}.text-xl{font-size:var(--font-size-xl)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-100{width:100%}.h-100{height:100%}.min-h-0{min-height:0}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-full{border-radius:var(--radius-full)}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky;top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.route-loader{position:fixed;inset:0;z-index:var(--z-modal-backdrop);background:var(--color-surface-primary);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.route-loader.is-visible{opacity:1;visibility:visible;pointer-events:auto}.route-loader__spinner{width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-surface-primary);box-shadow:var(--shadow-lg);display:inline-flex;align-items:center;justify-content:center}.route-loader__spinner img{width:40px;height:40px;object-fit:contain;animation:route-loader-pulse 1.2s ease-in-out infinite}@keyframes route-loader-pulse{0%,to{transform:scale(.9);opacity:.8}50%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.route-loader,.route-loader__spinner img{transition:none;animation:none}}
