:root{--cyan-50: #ecfeff;--cyan-100: #cffafe;--cyan-200: #a5f3fc;--cyan-300: #67e8f9;--cyan-400: #22d3ee;--cyan-500: #06b6d4;--cyan-600: #0891b2;--cyan-700: #0e7490;--cyan-800: #155e75;--cyan-900: #164e63;--cyan-950: #083344;--emerald-50: #ecfdf5;--emerald-100: #d1fae5;--emerald-200: #a7f3d0;--emerald-300: #6ee7b7;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--emerald-700: #047857;--emerald-800: #065f46;--emerald-900: #064e3b;--emerald-950: #022c22;--neutral-0: #ffffff;--neutral-50: #fafafa;--neutral-100: #f5f5f5;--neutral-200: #e5e5e5;--neutral-300: #d4d4d4;--neutral-400: #a3a3a3;--neutral-500: #737373;--neutral-600: #525252;--neutral-700: #404040;--neutral-800: #262626;--neutral-900: #171717;--neutral-950: #0a0a0a;--purple-50: #faf5ff;--purple-100: #f3e8ff;--purple-200: #e9d5ff;--purple-300: #c084fc;--purple-400: #a855f7;--purple-500: #9333ea;--purple-600: #7e22ce;--purple-700: #6b21a8;--purple-800: #581c87;--purple-900: #4c1d95;--purple-950: #3b0764;--teal-50: #f0fdfa;--teal-100: #ccfbf1;--teal-200: #99f6e4;--teal-300: #5eead4;--teal-400: #2dd4bf;--teal-500: #14b8a6;--teal-600: #0d9488;--teal-700: #0f766e;--teal-800: #115e59;--teal-900: #134e4a;--teal-950: #042f2e;--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-800: #166534;--green-900: #14532d;--green-950: #052e16;--rose-400: #fb7185;--rose-500: #f43f5e;--rose-600: #e11d48;--orange-400: #fb923c;--orange-500: #f97316;--orange-600: #ea580c;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-950: #172554;--font-sans: "Outfit", "Noto Sans SC", system-ui, sans-serif;--font-display: "Space Grotesk", "Outfit", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-3xs: .5625rem;--text-2xs: .625rem;--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;--text-5xl: 3rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--space-0: 0;--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;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .7s;--stagger-1: .1s;--stagger-2: .2s;--stagger-3: .3s;--stagger-4: .4s;--stagger-5: .5s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-reveal: cubic-bezier(.2, .8, .2, 1);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 500;--z-map-controls: 10;--z-map-overlay: 20;--z-map-popup: 30;--topbar-height: 56px;--bottom-nav-height: 0px}:root{--color-primary: var(--teal-400);--color-primary-hover: var(--teal-300);--color-primary-active: var(--teal-500);--color-primary-subtle: rgba(13, 148, 136, .1);--color-primary-muted: rgba(13, 148, 136, .15);--color-accent: var(--blue-400);--color-accent-hover: var(--blue-300);--color-accent-active: var(--blue-500);--color-accent-subtle: rgba(59, 130, 246, .1);--color-accent-muted: rgba(59, 130, 246, .15);--color-success: var(--green-400);--color-warning: var(--amber-400);--color-error: var(--red-400);--color-success-light: var(--green-300);--color-success-main: var(--green-500);--color-warning-main: var(--amber-400);--color-error-main: var(--red-400);--color-error-hover: var(--red-500);--color-info: var(--blue-400);--color-danger: var(--red-400);--color-danger-subtle: color-mix(in srgb, var(--red-400) 10%, transparent);--color-bg-page: transparent;--color-bg-surface: rgba(255, 255, 255, .06);--color-bg-elevated: rgba(255, 255, 255, .08);--color-bg-sunken: rgba(0, 0, 0, .15);--color-bg-overlay: rgba(0, 0, 0, .5);--color-surface-base: rgba(255, 255, 255, .06);--color-surface-raised: rgba(255, 255, 255, .1);--color-surface-overlay: rgba(255, 255, 255, .04);--color-text-primary: rgba(255, 255, 255, .92);--color-text-secondary: rgba(255, 255, 255, .65);--color-text-muted: rgba(255, 255, 255, .4);--color-text-inverse: var(--neutral-900);--color-text-link: var(--teal-400);--color-text-link-hover: var(--teal-300);--color-border-default: rgba(255, 255, 255, .12);--color-border-subtle: rgba(255, 255, 255, .06);--color-border-strong: rgba(255, 255, 255, .2);--color-border-muted: rgba(255, 255, 255, .12);--color-border-focus: var(--teal-400);--focus-ring: 0 0 0 3px rgba(45, 212, 191, .55);--focus-border: #2dd4bf;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .03);--glass-bg: rgba(255, 255, 255, .12);--glass-bg-strong: rgba(255, 255, 255, .18);--glass-bg-subtle: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .3);--glass-border-subtle: rgba(255, 255, 255, .15);--glass-blur: 20px;--glass-blur-strong: 28px;--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .25);--glass-1-bg: rgba(13, 148, 136, .05);--glass-1-blur: 16px;--glass-1-border-start: rgba(255, 255, 255, .35);--glass-1-border-mid: rgba(255, 255, 255, .15);--glass-1-border-end: rgba(255, 255, 255, .06);--glass-2-bg: rgba(255, 255, 255, .08);--glass-2-blur: 24px;--glass-2-border-start: rgba(255, 255, 255, .45);--glass-2-border-mid: rgba(255, 255, 255, .2);--glass-2-border-end: rgba(255, 255, 255, .08);--glass-2-shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 8px 24px rgba(0, 0, 0, .06), 0 0 100px -20px rgba(13, 148, 136, .12);--glass-2-edge-color: rgba(255, 255, 255, .4);--glass-3-bg: rgba(255, 255, 255, .1);--glass-3-blur: 28px;--glass-3-saturate: 1.4;--glass-3-border-start: rgba(255, 255, 255, .55);--glass-3-border-mid: rgba(255, 255, 255, .25);--glass-3-border-end: rgba(255, 255, 255, .12);--glass-3-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 8px 24px rgba(0, 0, 0, .08), 0 24px 60px rgba(0, 0, 0, .05), 0 0 120px -30px rgba(13, 148, 136, .15), inset 0 1px 0 rgba(255, 255, 255, .2);--glass-3-edge-color: rgba(255, 255, 255, .45);--glass-nested-bg: rgba(255, 255, 255, .04);--glass-divider-color: rgba(255, 255, 255, .15);--glass-tint: rgba(13, 148, 136, .06);--color-ai: var(--purple-500);--color-ai-hover: var(--purple-600);--color-ai-active: var(--purple-700);--color-ai-subtle: var(--purple-50);--color-ai-muted: var(--purple-100);--color-ai-border: var(--purple-400);--color-ai-text: var(--purple-500);--color-confidence-low: var(--neutral-500);--color-confidence-mid: var(--purple-400);--color-confidence-high: var(--purple-300);--color-confidence-max: var(--purple-200);--color-risk-safe: var(--green-500);--color-risk-low: var(--teal-400);--color-risk-mid: var(--amber-500);--color-risk-high: var(--orange-500);--color-risk-critical: var(--red-500);--chart-1: var(--teal-600);--chart-2: var(--blue-500);--chart-3: var(--green-500);--chart-4: var(--amber-500);--chart-5: var(--rose-500);--chart-6: var(--purple-500);--input-bg: rgba(13, 148, 136, .06);--input-border: rgba(255, 255, 255, .18);--input-border-hover: rgba(255, 255, 255, .3);--input-border-focus: var(--teal-600);--input-placeholder: rgba(255, 255, 255, .4);--input-text: var(--neutral-50);--color-scheme: dark;--select-option-bg: #1a2332;--select-option-text: #f5f5f5;--gradient-page: linear-gradient(135deg, hsl(170, 55%, 85%) 0%, hsl(200, 40%, 87%) 40%, hsl(210, 35%, 88%) 70%, hsl(170, 45%, 84%) 100%);--gradient-hero: linear-gradient(155deg, hsl(170, 70%, 22%) 0%, hsl(200, 60%, 28%) 40%, hsl(225, 50%, 25%) 100%)}[data-theme=dark]{--color-primary: var(--teal-400);--color-primary-hover: var(--teal-300);--color-primary-active: var(--teal-500);--color-primary-subtle: var(--teal-950);--color-primary-muted: var(--teal-900);--color-accent: var(--blue-400);--color-accent-hover: var(--blue-300);--color-accent-active: var(--blue-500);--color-accent-subtle: var(--blue-950);--color-accent-muted: var(--blue-900);--color-success: var(--green-400);--color-warning: var(--amber-400);--color-error: var(--red-400);--color-success-light: var(--green-300);--color-success-main: var(--green-500);--color-warning-main: var(--amber-400);--color-error-main: var(--red-400);--color-error-hover: var(--red-500);--color-info: var(--blue-400);--color-danger: var(--red-400);--color-danger-subtle: color-mix(in srgb, var(--red-400) 10%, transparent);--color-bg-page: var(--neutral-950);--color-bg-surface: var(--neutral-900);--color-bg-elevated: var(--neutral-800);--color-bg-sunken: hsl(200, 15%, 6%);--color-bg-overlay: rgba(0, 0, 0, .6);--color-surface-base: var(--neutral-900);--color-surface-raised: var(--neutral-800);--color-surface-overlay: rgba(255, 255, 255, .06);--color-text-primary: var(--neutral-50);--color-text-secondary: var(--neutral-400);--color-text-muted: var(--neutral-500);--color-text-inverse: var(--neutral-900);--color-text-link: var(--teal-400);--color-text-link-hover: var(--teal-300);--color-border-default: var(--neutral-700);--color-border-subtle: var(--neutral-800);--color-border-strong: var(--neutral-600);--color-border-muted: var(--neutral-700);--color-border-focus: var(--teal-400);--focus-ring: 0 0 0 3px rgba(45, 212, 191, .55);--focus-border: #2dd4bf;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .35), 0 2px 4px -2px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .25);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .2);--glass-bg: rgba(15, 23, 42, .6);--glass-bg-strong: rgba(15, 23, 42, .8);--glass-bg-subtle: rgba(15, 23, 42, .35);--glass-border: rgba(255, 255, 255, .1);--glass-border-subtle: rgba(255, 255, 255, .05);--glass-blur: 16px;--glass-blur-strong: 24px;--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .08);--glass-1-bg: rgba(13, 148, 136, .04);--glass-1-blur: 14px;--glass-1-border-start: rgba(255, 255, 255, .2);--glass-1-border-mid: rgba(255, 255, 255, .08);--glass-1-border-end: rgba(255, 255, 255, .03);--glass-2-bg: rgba(13, 148, 136, .05);--glass-2-blur: 24px;--glass-2-border-start: rgba(255, 255, 255, .4);--glass-2-border-mid: rgba(255, 255, 255, .12);--glass-2-border-end: rgba(255, 255, 255, .04);--glass-2-shadow: 0 1px 3px rgba(0, 0, 0, .2), 0 8px 24px rgba(0, 0, 0, .15), 0 0 100px -20px rgba(13, 148, 136, .18);--glass-2-edge-color: rgba(255, 255, 255, .35);--glass-3-bg: rgba(13, 148, 136, .06);--glass-3-blur: 28px;--glass-3-saturate: 1.4;--glass-3-border-start: rgba(255, 255, 255, .5);--glass-3-border-mid: rgba(255, 255, 255, .15);--glass-3-border-end: rgba(255, 255, 255, .06);--glass-3-shadow: 0 1px 3px rgba(0, 0, 0, .25), 0 8px 24px rgba(0, 0, 0, .18), 0 24px 60px rgba(0, 0, 0, .12), 0 0 120px -30px rgba(13, 148, 136, .22), inset 0 1px 0 rgba(255, 255, 255, .1);--glass-3-edge-color: rgba(255, 255, 255, .4);--glass-nested-bg: rgba(255, 255, 255, .03);--glass-divider-color: rgba(255, 255, 255, .1);--glass-tint: rgba(13, 148, 136, .06);--color-ai: var(--purple-400);--color-ai-hover: var(--purple-300);--color-ai-active: var(--purple-200);--color-ai-subtle: var(--purple-950);--color-ai-muted: var(--purple-900);--color-ai-border: var(--purple-400);--color-ai-text: var(--purple-300);--color-confidence-low: var(--neutral-500);--color-confidence-mid: var(--purple-400);--color-confidence-high: var(--purple-300);--color-confidence-max: var(--purple-200);--color-risk-safe: var(--green-400);--color-risk-low: var(--teal-400);--color-risk-mid: var(--amber-400);--color-risk-high: var(--orange-400);--color-risk-critical: var(--red-400);--chart-1: var(--teal-400);--chart-2: var(--blue-400);--chart-3: var(--green-400);--chart-4: var(--amber-400);--chart-5: var(--rose-400);--chart-6: var(--purple-400);--input-bg: var(--neutral-800);--input-border: var(--neutral-600);--input-border-hover: var(--neutral-500);--input-border-focus: var(--teal-400);--input-placeholder: var(--neutral-500);--input-text: var(--neutral-50);--color-scheme: dark;--select-option-bg: var(--neutral-800);--select-option-text: var(--neutral-50);--gradient-page: linear-gradient(135deg, hsl(170, 30%, 7%) 0%, hsl(200, 25%, 9%) 40%, hsl(210, 20%, 8%) 70%, hsl(170, 20%, 6%) 100%);--gradient-hero: linear-gradient(155deg, hsl(170, 50%, 8%) 0%, hsl(200, 40%, 12%) 40%, hsl(225, 35%, 10%) 100%)}[data-theme=dashboard]{--dash-bg: transparent;--dash-bg-deep: rgba(2, 4, 8, .3);--dash-bg-base: rgba(6, 12, 24, .25);--dash-bg-card: rgba(12, 20, 36, .35);--dash-bg-elevated: rgba(18, 30, 52, .4);--dash-bg-glow: rgba(0, 229, 255, .04);--dash-text: rgba(255, 255, 255, .92);--dash-text-secondary: rgba(255, 255, 255, .75);--dash-text-muted: rgba(255, 255, 255, .45);--dash-text-dim: rgba(255, 255, 255, .35);--dash-text-faint: rgba(255, 255, 255, .3);--dash-cyan: #00e5ff;--dash-purple: #a855f7;--dash-green: #00e676;--dash-gold: #ffcc00;--dash-red: #ff4d6a;--dash-blue: #00b4d8;--dash-accent: var(--dash-cyan);--dash-accent-glow: rgba(0, 229, 255, .6);--dash-accent-subtle: rgba(0, 229, 255, .12);--dash-accent-border: rgba(0, 229, 255, .15);--dash-accent-line: rgba(0, 229, 255, .5);--dash-accent-grid: rgba(0, 229, 255, .03);--dash-glow-cyan: rgba(0, 229, 255, .5);--dash-glow-purple: rgba(168, 85, 247, .5);--dash-glow-green: rgba(0, 230, 118, .5);--dash-glow-gold: rgba(255, 204, 0, .5);--dash-glow-red: rgba(255, 77, 106, .5);--dash-glow-sm: 0 0 8px;--dash-glow-md: 0 0 16px;--dash-glow-lg: 0 0 24px, 0 0 48px;--dash-success: var(--dash-green);--dash-danger: var(--dash-red);--dash-gold-glow: rgba(255, 204, 0, .4);--dash-surface: rgba(255, 255, 255, .03);--dash-surface-hover: rgba(255, 255, 255, .06);--dash-surface-btn: rgba(255, 255, 255, .06);--dash-border: rgba(255, 255, 255, .06);--dash-border-btn: rgba(255, 255, 255, .1);--dash-header-bg: rgba(6, 12, 24, .4);--dash-gradient-ai: linear-gradient(135deg, #00e5ff, #a855f7);--dash-gradient-health: linear-gradient(135deg, #00e676, #00e5ff);--dash-gradient-risk: linear-gradient(135deg, #ffcc00, #ff4d6a);--dash-gradient-data: linear-gradient(135deg, #00b4d8, #a855f7);--color-risk-safe: var(--dash-green);--color-risk-low: var(--dash-cyan);--color-risk-mid: var(--dash-gold);--color-risk-high: #f97316;--color-risk-critical: var(--dash-red);--chart-1: var(--dash-cyan);--chart-2: var(--dash-purple);--chart-3: var(--dash-green);--chart-4: var(--dash-gold);--chart-5: var(--dash-red);--chart-6: var(--dash-blue);--chart-7: #f472b6;--chart-8: #38bdf8;--chart-9: #fb923c;--chart-10: #4ade80;--chart-11: #c084fc;--chart-12: #fbbf24;--color-ai: var(--dash-purple);--color-ai-hover: #9333ea;--color-ai-subtle: rgba(168, 85, 247, .08);--color-ai-muted: rgba(168, 85, 247, .15);--color-ai-border: var(--dash-purple);--color-ai-text: #c084fc;--z-fullscreen: 9999}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--text-base);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--gradient-page);background-attachment:fixed;height:100%;overflow:hidden;transition:color var(--duration-normal) var(--ease-out),background var(--duration-slow) var(--ease-out)}body{background:transparent}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{line-height:var(--leading-relaxed);color:var(--color-text-secondary)}a{color:var(--color-text-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-text-link-hover)}ul,ol{list-style:none}img,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit;border:none;background:none;outline:none}button{cursor:pointer;-webkit-user-select:none;user-select:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-primary-muted);color:var(--color-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.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}.skip-link:focus{position:fixed;top:var(--space-2);left:var(--space-2);z-index:var(--z-tooltip);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);width:auto;height:auto;margin:0;clip:auto;white-space:normal;overflow:visible}svg{display:inline-block;vertical-align:middle}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.glass-1{position:relative;background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));border:none;border-radius:var(--radius-lg)}.glass-1:before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--glass-1-border-start) 0%,var(--glass-1-border-mid) 50%,var(--glass-1-border-end) 100%);-webkit-mask:linear-gradient(var(--color-text-primary) 0 0) content-box,linear-gradient(var(--color-text-primary) 0 0);mask:linear-gradient(var(--color-text-primary) 0 0) content-box,linear-gradient(var(--color-text-primary) 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.glass-2{position:relative;background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:none;border-radius:var(--radius-xl);box-shadow:var(--glass-2-shadow)}.glass-2:before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--glass-2-border-start) 0%,var(--glass-2-border-mid) 40%,var(--glass-2-border-end) 100%);-webkit-mask:linear-gradient(var(--color-text-primary) 0 0) content-box,linear-gradient(var(--color-text-primary) 0 0);mask:linear-gradient(var(--color-text-primary) 0 0) content-box,linear-gradient(var(--color-text-primary) 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.glass-2:after{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;z-index:2;background:linear-gradient(90deg,transparent 0%,var(--glass-2-edge-color) 20%,var(--glass-2-edge-color) 80%,transparent 100%);border-radius:inherit;pointer-events:none}.glass-3{position:relative;background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));-webkit-backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));border:none;border-radius:var(--radius-2xl);box-shadow:var(--glass-3-shadow)}.glass-3:before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--glass-3-border-start) 0%,var(--glass-3-border-mid) 35%,var(--glass-3-border-end) 100%);-webkit-mask:linear-gradient(var(--color-text-primary) 0 0) content-box,linear-gradient(var(--color-text-primary) 0 0);mask:linear-gradient(var(--color-text-primary) 0 0) content-box,linear-gradient(var(--color-text-primary) 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.glass-3:after{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;z-index:2;background:linear-gradient(90deg,transparent 0%,var(--glass-3-edge-color) 15%,var(--glass-3-edge-color) 85%,transparent 100%);border-radius:inherit;pointer-events:none}.glass-subtle{position:relative;background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));border:1px solid var(--glass-border-subtle);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg)}.glass{position:relative;background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-2-shadow);border-radius:var(--radius-xl)}.glass-strong{position:relative;background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));-webkit-backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));border:1px solid var(--glass-border);box-shadow:var(--glass-3-shadow);border-radius:var(--radius-xl)}.glass-card{position:relative;background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-2-shadow);border-radius:var(--radius-xl);padding:var(--space-6);transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.glass-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.glass-input{background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.glass-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.glass-nav{background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));-webkit-backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.glass-divider{height:1px;background:linear-gradient(90deg,transparent,var(--glass-divider-color),transparent);border:none;margin:var(--space-4) 0}.glass-divider--v{width:1px;height:auto;align-self:stretch;background:linear-gradient(180deg,transparent 0%,var(--glass-divider-color) 20%,var(--glass-divider-color) 80%,transparent 100%);border:none;margin:0}.glass-glow{position:relative}.glass-glow:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,var(--color-primary-subtle),transparent 40%,transparent 60%,var(--color-accent-subtle));z-index:-1;opacity:0;transition:opacity var(--duration-normal) var(--ease-out)}.glass-glow:hover:before{opacity:1}@media(prefers-reduced-motion:reduce){.glass-1,.glass-2,.glass-3,.glass,.glass-strong,.glass-subtle,.glass-card{transition:none}}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column-reverse;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text-inverse);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));box-shadow:var(--glass-2-shadow);pointer-events:auto;cursor:pointer;animation:toast-slide-in var(--duration-normal) var(--ease-out) forwards;max-width:360px;word-break:break-word}.toast--success{background:color-mix(in srgb,var(--color-success) 18%,transparent);color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 25%,transparent)}.toast--warning{background:color-mix(in srgb,var(--color-warning) 18%,transparent);color:var(--color-warning);border:1px solid color-mix(in srgb,var(--color-warning) 25%,transparent)}.toast--error{background:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error) 25%,transparent)}.toast--info{background:color-mix(in srgb,var(--color-info) 18%,transparent);color:var(--color-info);border:1px solid color-mix(in srgb,var(--color-info) 25%,transparent)}.toast__icon{flex-shrink:0;font-size:var(--text-base);line-height:1}.toast__msg{line-height:var(--leading-tight)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@media(max-width:640px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:calc(var(--bottom-nav-height, 0px) + var(--space-4))}.toast{max-width:100%}}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);overflow:hidden;background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--weight-semibold);flex-shrink:0}.avatar--sm{width:28px;height:28px;font-size:var(--text-2xs)}.avatar--md{width:36px;height:36px;font-size:var(--text-sm)}.avatar--lg{width:var(--space-12);height:var(--space-12);font-size:var(--text-lg)}.avatar__img{width:100%;height:100%;object-fit:cover}.avatar__initials{line-height:1}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));-webkit-backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));border-bottom:1px solid var(--glass-1-border-mid);box-shadow:var(--glass-3-shadow);transition:background var(--duration-normal) var(--ease-out)}.topbar__left{display:flex;align-items:center;gap:var(--space-3)}.topbar__logo{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-primary);letter-spacing:var(--tracking-tight);text-decoration:none}.topbar__logo-icon{font-size:var(--text-2xl)}.topbar__nav{display:flex;align-items:center;gap:var(--space-1)}.topbar__link{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-md);text-decoration:none;transition:all var(--duration-fast) var(--ease-out);position:relative}.topbar__link:hover{color:var(--color-text-primary);background:var(--glass-1-bg)}.topbar__link--active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.topbar__link--active:after{content:"";position:absolute;bottom:-1px;left:var(--space-3);right:var(--space-3);height:2px;background:var(--color-primary);border-radius:var(--radius-full)}.topbar__right{display:flex;align-items:center;gap:var(--space-3)}.topbar__quality-btn{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--glass-1-border-mid);background:var(--glass-1-bg);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.topbar__quality-btn:hover{color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.topbar__quality-btn--high{color:var(--color-primary-light);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.topbar__quality-btn--medium{color:var(--color-text-secondary)}.topbar__quality-btn--off{color:var(--color-warning-light);border-color:color-mix(in srgb,var(--color-warning) 45%,transparent);background:color-mix(in srgb,var(--color-warning) 14%,transparent)}.topbar__avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary-muted);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-out)}.topbar__avatar:hover{box-shadow:0 0 0 3px var(--color-primary-subtle)}.topbar__menu-btn{display:none;align-items:center;justify-content:center;width:var(--space-10);height:var(--space-10);border-radius:var(--radius-lg);background:var(--glass-1-bg);border:1px solid var(--glass-1-border-mid);color:var(--color-text-primary);font-size:var(--text-lg);cursor:pointer}@media(max-width:640px){.topbar{padding:var(--space-3) var(--space-4)}.topbar__nav{display:none}.topbar__quality-btn{padding:0 var(--space-2);font-size:var(--text-2xs)}.topbar__menu-btn{display:flex}}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative;background:transparent}.app-shell--background-fallback{background:radial-gradient(circle at top left,rgb(77 152 217 / .18),transparent 30%),radial-gradient(circle at top right,rgb(56 127 184 / .14),transparent 24%),linear-gradient(180deg,#060e19fa,#081524fa)}.app-shell__bg{position:fixed;inset:0;z-index:0;pointer-events:none}.app-shell__fluid{position:fixed;inset:0;z-index:0;pointer-events:auto;mix-blend-mode:var(--background-fluid-blend-mode, screen);opacity:var(--background-fluid-opacity, .75)}.app-shell__content{position:relative;z-index:1;flex:1;min-height:0;overflow-y:auto;padding:var(--space-6);max-width:1024px;width:100%;margin:0 auto}.app-shell__content:has(>.home-split),.app-shell__content:has(>.map-page),.app-shell__content:has(>.gbd-page),.app-shell__content:has(>.gbd-lbp-page){padding:0;max-width:none}.app-shell__content:has(>.map-page){overflow:hidden}@media(max-width:640px){.app-shell__content{padding:var(--space-4)}.app-shell__content:has(>.home-split),.app-shell__content:has(>.map-page),.app-shell__content:has(>.gbd-page),.app-shell__content:has(>.gbd-lbp-page){padding:0}}.app-shell__drawer-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);z-index:var(--z-overlay);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out)}.app-shell__drawer-overlay--open{opacity:1;pointer-events:auto}.app-shell__drawer{position:fixed;top:0;right:0;bottom:0;width:280px;background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));-webkit-backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));border-left:1px solid var(--glass-1-border-mid);box-shadow:var(--glass-3-shadow);z-index:var(--z-modal);transform:translate(100%);transition:transform var(--duration-normal) var(--ease-out);display:flex;flex-direction:column;padding:var(--space-6)}.app-shell__drawer--open{transform:translate(0)}.app-shell__drawer-close{align-self:flex-end;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--glass-1-bg);border:1px solid var(--glass-1-border-mid);color:var(--color-text-primary);font-size:var(--text-lg);cursor:pointer;margin-bottom:var(--space-4)}.app-shell__drawer-nav{display:flex;flex-direction:column;gap:var(--space-2)}.app-shell__drawer-link{padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--duration-fast) var(--ease-out)}.app-shell__drawer-link:hover{background:var(--glass-1-bg);color:var(--color-text-primary)}.app-shell__drawer-link--active{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}.app-shell__bottom-nav{display:none;z-index:var(--z-sticky);background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));-webkit-backdrop-filter:blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));border-top:1px solid var(--glass-1-border-mid);box-shadow:0 -1px 3px #00000026,0 0 60px -20px #0d948814;padding:var(--space-2) var(--space-4);padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}.app-shell__bottom-nav-items{display:flex;justify-content:space-around}.app-shell__bottom-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:none;padding:var(--space-2) var(--space-3);min-height:var(--space-12);transition:color var(--duration-fast) var(--ease-out)}.app-shell__bottom-item--active{color:var(--color-primary)}.app-shell__bottom-icon{font-size:var(--text-xl)}@media(max-width:640px){:root{--bottom-nav-height: 60px}.app-shell__bottom-nav{display:block;flex-shrink:0}}.form-input{display:flex;flex-direction:column;gap:var(--space-1)}.form-input__label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.form-input__required{color:var(--color-error);font-size:var(--text-xs)}.form-input__wrapper{position:relative;display:flex;align-items:center}.form-input__field{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--input-text);background:#ffffff05;backdrop-filter:blur(var(--space-2));-webkit-backdrop-filter:blur(var(--space-2));border:1px solid transparent;border-bottom:1px solid var(--glass-1-border-mid);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out);box-shadow:inset 0 1px 2px #0000000d}.form-input__field::placeholder{color:var(--input-placeholder);font-weight:400}.form-input__field:hover{background:#ffffff0a;border-bottom-color:var(--input-border-hover)}.form-input__field:focus{outline:none;background:#ffffff0f;border-bottom-color:var(--color-primary);box-shadow:0 var(--space-1) 10px -4px color-mix(in srgb,var(--color-primary) 40%,transparent);transform:translateY(-1px)}.form-input__field--has-icon{padding-left:var(--space-10)}.form-input__icon-left{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-out);z-index:1}.form-input:focus-within .form-input__icon-left{color:var(--color-primary)}.form-input__field--error{border-bottom-color:var(--color-error)}.form-input__field--error:focus{border-bottom-color:var(--color-error);box-shadow:0 var(--space-1) 10px -4px color-mix(in srgb,var(--color-error) 40%,transparent)}.form-input__suffix{position:absolute;right:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);pointer-events:none}.form-input__field--has-suffix{padding-right:var(--space-12)}.form-input__help{font-size:var(--text-xs);color:var(--color-text-muted)}.form-input__error{font-size:var(--text-xs);color:var(--color-error);display:flex;align-items:center;gap:var(--space-1)}.password-strength{--password-strength-color: var(--color-border-muted);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--password-strength-color) 26%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--password-strength-color) 10%,transparent),transparent 68%),color-mix(in srgb,var(--color-surface-overlay) 55%,transparent);animation:password-strength-enter .18s var(--ease-out) both}.password-strength__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.password-strength__eyebrow{font-size:var(--text-xs);color:var(--color-text-muted)}.password-strength__value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--password-strength-color)}.password-strength__meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.password-strength__segment{position:relative;height:6px;overflow:hidden;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-border-muted) 60%,transparent)}.password-strength__segment:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--password-strength-color);opacity:0;transform:scaleX(.35);transform-origin:left center;transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.password-strength__segment--filled:after{opacity:1;transform:scaleX(1)}.password-strength__body{display:flex;flex-direction:column;gap:var(--space-1)}.password-strength__message{margin:0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-secondary)}.password-strength__suggestion,.password-strength__rule{margin:0;font-size:var(--text-xs);line-height:var(--leading-normal)}.password-strength__suggestion{color:var(--color-text-secondary)}.password-strength__rule{color:var(--color-text-muted)}.password-strength--error .password-strength__message{color:var(--color-error-main)}.password-strength--warning .password-strength__message{color:var(--color-warning-main)}.password-strength--success .password-strength__message{color:var(--color-success-light)}.password-strength--busy .password-strength__segment--filled:after{animation:password-strength-pulse 1.1s var(--ease-in-out) infinite}@keyframes password-strength-pulse{0%,to{opacity:.85}50%{opacity:.4}}@keyframes password-strength-enter{0%{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.password-strength{animation:none}.password-strength__segment:after{transition:none}.password-strength--busy .password-strength__segment--filled:after{animation:none}}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__ring{border-radius:var(--radius-full);border-style:solid;border-color:transparent;animation:spin var(--duration-slower) linear infinite}.spinner--sm .spinner__ring{width:var(--space-4);height:var(--space-4);border-width:2px}.spinner--md .spinner__ring{width:var(--space-6);height:var(--space-6);border-width:3px}.spinner--lg .spinner__ring{width:36px;height:36px;border-width:3px}.spinner--primary .spinner__ring{border-top-color:var(--color-primary)}.spinner--ai .spinner__ring{border-top-color:var(--color-ai)}.spinner--inherit .spinner__ring{border-top-color:currentColor}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--duration-fast) var(--ease-out);position:relative;overflow:hidden}.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-md)}.btn--md{padding:var(--space-3) var(--space-5);font-size:var(--text-base)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);border-radius:var(--radius-xl)}.btn--primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 2px 10px color-mix(in srgb,var(--color-primary) 30%,transparent),inset 0 1px #fff3;border:1px solid color-mix(in srgb,var(--color-primary) 80%,var(--neutral-900) 20%)}.btn--primary:hover{background:var(--color-primary-hover);box-shadow:0 var(--space-1) 15px color-mix(in srgb,var(--color-primary) 50%,transparent),inset 0 1px #ffffff4d;transform:translateY(-2px)}.btn--primary:active{background:var(--color-primary-active);transform:translateY(0);box-shadow:0 1px var(--space-1) color-mix(in srgb,var(--color-primary) 30%,transparent)}.btn--accent{background:var(--color-accent);color:var(--color-text-inverse);box-shadow:0 2px 10px color-mix(in srgb,var(--color-accent) 30%,transparent),inset 0 1px #fff3;border:1px solid color-mix(in srgb,var(--color-accent) 80%,var(--neutral-900) 20%)}.btn--accent:hover{background:var(--color-accent-hover);box-shadow:0 var(--space-1) 15px color-mix(in srgb,var(--color-accent) 50%,transparent),inset 0 1px #ffffff4d;transform:translateY(-2px)}.btn--accent:active{background:var(--color-accent-active);transform:translateY(0);box-shadow:0 1px var(--space-1) color-mix(in srgb,var(--color-accent) 30%,transparent)}.btn--ghost{background:transparent;color:var(--color-text-primary);border:1px solid var(--glass-1-border-mid)}.btn--ghost:hover{background:var(--glass-1-bg);border-color:var(--glass-1-border-start)}.btn--glass{background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--color-text-primary);border:1px solid var(--glass-1-border-mid)}.btn--glass:hover{background:var(--glass-2-bg);box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:var(--glass-1-border-start)}.btn--danger{background:var(--color-error);color:var(--color-text-inverse)}.btn--danger:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn--full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn--loading{pointer-events:none;opacity:.8}.btn__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__ripple{position:absolute;border-radius:var(--radius-full);background:currentColor;opacity:.15;transform:scale(0);animation:btn-ripple var(--duration-slow) var(--ease-out) forwards;pointer-events:none}@keyframes btn-ripple{to{transform:scale(4);opacity:0}}.login-layout{display:flex;align-items:stretch;min-height:100vh;min-height:100dvh;width:100vw;position:relative;overflow:hidden;background:var(--gradient-hero)}.login-layout__visual{flex:1;position:relative;display:flex;flex-direction:column;justify-content:center;padding:var(--space-20) var(--space-12);overflow:hidden;z-index:1}.login-layout__bg{position:absolute;inset:0;z-index:0}.login-layout__fluid{position:absolute;inset:0;z-index:1;pointer-events:auto;mix-blend-mode:var(--background-fluid-blend-mode, screen);opacity:var(--background-fluid-opacity, .75)}.login-layout__orb{position:absolute;border-radius:var(--radius-full);pointer-events:none;z-index:-1}.login-layout__orb--1{width:600px;height:600px;top:-10%;left:-10%;background:radial-gradient(circle,rgb(13 148 136 / .15) 0%,transparent 60%);animation:login-orb-drift 20s ease-in-out infinite}.login-layout__orb--2{width:500px;height:500px;bottom:-20%;right:-10%;background:radial-gradient(circle,rgb(96 165 250 / .12) 0%,transparent 60%);animation:login-orb-drift 15s ease-in-out infinite reverse 3s}@keyframes login-orb-drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(var(--space-10),-40px) scale(1.1)}}.login-layout__brand{max-width:540px;margin:0 auto;width:100%}.login-layout__brand-head{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.login-layout__brand-icon{color:var(--teal-400);filter:drop-shadow(0 0 var(--space-5) rgb(45 212 191 / .5))}.login-layout__brand-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);color:#fffffffa;letter-spacing:var(--tracking-tight);text-shadow:0 var(--space-1) var(--space-5) rgb(0 0 0 / .4)}.login-layout__brand-desc{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:#ffffffbf;margin-bottom:var(--space-10);font-family:var(--font-sans);font-weight:var(--weight-normal)}.login-layout__features{display:flex;flex-direction:column;gap:var(--space-4)}.login-layout__feat{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:#ffffffa6;padding:var(--space-1) 0;transition:color var(--duration-fast) var(--ease-out)}.login-layout__feat:hover{color:#fffffff2}.login-layout__feat-icon{flex-shrink:0;color:var(--teal-400);opacity:.8}.login-layout__form-panel{width:480px;flex-shrink:0;position:relative;display:flex;flex-direction:column;justify-content:center;padding:var(--space-10) var(--space-12);background:#0a141e26;backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);border-left:1px solid rgb(255 255 255 / .08);box-shadow:-30px 0 80px #00000080,inset 1px 0 #ffffff1a;z-index:2}.login-layout__form-container{width:100%;max-width:380px;margin:0 auto}.login-layout__tabs{display:flex;position:relative;background:#ffffff0a;border:1px solid rgb(255 255 255 / .05);border-radius:var(--radius-lg);padding:var(--space-1);margin-bottom:var(--space-8);gap:var(--space-1)}.login-layout__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;background:transparent;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);cursor:pointer;position:relative;z-index:1;transition:color var(--duration-normal) var(--ease-out)}.login-layout__tab:hover{color:var(--color-text-primary)}.login-layout__tab--active{color:var(--color-text-primary);text-shadow:0 2px 10px rgb(255 255 255 / .2)}.login-layout__tab:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-md)}.login-layout__tab-indicator{position:absolute;top:var(--space-1);left:var(--space-1);width:calc(50% - var(--space-1));height:calc(100% - var(--space-1) * 2);border-radius:var(--radius-md);background:#ffffff1a;box-shadow:0 2px var(--space-2) #0000001a;transition:transform var(--duration-normal) var(--ease-spring);z-index:0}.login-layout__slider{position:relative;display:grid;width:100%}.login-layout__panel{grid-area:1 / 1;width:100%;display:flex;flex-direction:column;transition:opacity .3s ease-out,transform .3s ease-out,visibility .3s;will-change:opacity,transform}.login-layout__panel--active{opacity:1;transform:scale(1);visibility:visible;pointer-events:auto;z-index:2;transition:opacity .3s ease-out,transform .3s ease-out}.login-layout__panel--hidden{opacity:0;transform:scale(.96);visibility:hidden;pointer-events:none;z-index:1}.login-layout__header{margin-bottom:var(--space-6)}.login-layout__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.login-layout__subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.login-layout__wrapper{display:flex;flex-direction:column}.login-layout__footer{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.login-layout__link{background:none;border:none;font-family:inherit;font-size:inherit;color:var(--teal-400);font-weight:var(--weight-medium);cursor:pointer;padding:0;margin-left:var(--space-1);transition:color var(--duration-fast) var(--ease-out)}.login-layout__link:hover{color:var(--teal-300);text-decoration:underline}.login-layout__link:focus-visible{outline:2px solid var(--focus-border);border-radius:var(--radius-sm)}.login-page__form{display:flex;flex-direction:column;gap:var(--space-4)}.login-page__error{padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 20%,transparent);color:var(--color-error);font-size:var(--text-sm);text-align:center}.login-page__password-strength{margin-top:calc(var(--space-1) * -1)}.login-page__password-strength.password-strength{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--glass-1-border-mid);background:linear-gradient(135deg,color-mix(in srgb,var(--teal-400) 12%,transparent) 0%,transparent 58%),linear-gradient(180deg,rgb(255 255 255 / .04) 0%,transparent 100%),var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur)) saturate(1.18);-webkit-backdrop-filter:blur(var(--glass-1-blur)) saturate(1.18);box-shadow:inset 0 1px #ffffff14,0 18px 36px #020c1b38,0 0 0 1px #ffffff05}.login-page__password-strength.password-strength--compact .password-strength__body{gap:var(--space-2)}.login-page__password-strength.password-strength .password-strength__header{align-items:flex-end}.login-page__password-strength.password-strength .password-strength__eyebrow{color:#ffffff80;letter-spacing:.08em;text-transform:uppercase}.login-page__password-strength.password-strength .password-strength__value{color:color-mix(in srgb,var(--password-strength-color) 84%,rgb(255 255 255));text-shadow:0 0 16px color-mix(in srgb,var(--password-strength-color) 24%,transparent)}.login-page__password-strength.password-strength .password-strength__message{color:#ffffffc7}.login-page__password-strength.password-strength .password-strength__meter{gap:var(--space-1)}.login-page__password-strength.password-strength .password-strength__segment{height:7px;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff0a}.login-page__password-strength.password-strength .password-strength__segment:after{box-shadow:0 0 16px color-mix(in srgb,var(--password-strength-color) 24%,transparent)}.login-page__password-strength.password-strength.password-strength--error .password-strength__message{color:color-mix(in srgb,var(--color-error-main) 72%,rgb(255 255 255))}.login-page__password-strength.password-strength.password-strength--warning .password-strength__message{color:color-mix(in srgb,var(--color-warning-main) 72%,rgb(255 255 255))}.login-page__password-strength.password-strength.password-strength--success .password-strength__message{color:color-mix(in srgb,var(--color-success-light) 74%,rgb(255 255 255))}.stagger-parent .stagger-item{opacity:0;transform:translateY(var(--space-5));animation:slide-up-reveal .8s var(--ease-reveal) forwards}.stagger-item.delay-1{animation-delay:var(--stagger-1)}.stagger-item.delay-2{animation-delay:var(--stagger-2)}.stagger-item.delay-3{animation-delay:var(--stagger-3)}.stagger-item.delay-4{animation-delay:var(--stagger-4)}.stagger-item.delay-5{animation-delay:var(--stagger-5)}.stagger-item.delay-6{animation-delay:.6s}.stagger-item.delay-7{animation-delay:.7s}@keyframes slide-up-reveal{0%{opacity:0;transform:translateY(var(--space-6)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1024px){.login-layout__form-panel{width:420px;padding:var(--space-10) var(--space-8)}.login-layout__visual{padding:var(--space-10) var(--space-8)}.login-layout__brand-title{font-size:var(--text-3xl)}}@media(max-width:768px){.login-layout{flex-direction:column}.login-layout__visual{flex:none;padding:var(--space-10) var(--space-6);align-items:center;text-align:center;min-height:40vh}.login-layout__brand-head{justify-content:center}.login-layout__features{align-items:center}.login-layout__form-panel{width:100%;flex:1;border-left:none;border-top:1px solid rgb(255 255 255 / .1);border-radius:var(--radius-2xl) var(--space-6) 0 0;padding:var(--space-8) var(--space-6);box-shadow:0 -10px var(--space-10) #0003}}@media(max-width:480px){.login-layout__brand-title{font-size:var(--text-2xl)}.login-layout__brand-desc{font-size:var(--text-base)}.login-layout__visual{min-height:auto;padding:var(--space-8) var(--space-4) var(--space-4) var(--space-4)}.login-layout__features{display:none}.login-layout__form-panel{padding:var(--space-6) var(--space-4)}}
