@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: clamp(1.125rem, .4vw + 1.05rem, 1.25rem);--text-2xl: clamp(1.375rem, .8vw + 1.2rem, 1.625rem);--text-3xl: clamp(1.625rem, 1.4vw + 1.35rem, 2.125rem);--text-4xl: clamp(2rem, 2.4vw + 1.5rem, 2.875rem);--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.75;--tracking-tight: -.022em;--tracking-snug: -.014em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-caps: .075em;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--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;--gutter: clamp(1rem, 3.5vw, 2.5rem);--content-max: 1440px;--header-h: 68px;--sidenav-w: 288px;--sidenav-w-collapsed: 72px;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 28px;--r-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--dur-instant: .1s;--dur-fast: .16s;--dur: .24s;--dur-slow: .4s;--dur-slower: .6s;--transition: all var(--dur) var(--ease-out);--transition-fast: all var(--dur-fast) var(--ease-out);--transition-colors: color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);--z-base: 1;--z-sticky: 100;--z-sidenav: 800;--z-header: 900;--z-dropdown: 1000;--z-overlay: 1100;--z-modal: 1200;--z-toast: 1400;--z-tooltip: 1500;--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-200: #c7d2fe;--indigo-300: #a5b4fc;--indigo-400: #818cf8;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--indigo-900: #312e81;--crimson-400: #ff4d75;--crimson-500: #e62552;--crimson-600: #cf1c46;--canvas: #f6f7fc;--canvas-tint: radial-gradient( 1200px 620px at 12% -8%, rgba(99, 102, 241, .09), transparent 62% ), radial-gradient( 980px 540px at 92% 4%, rgba(230, 37, 82, .055), transparent 60% );--surface-1: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f4f9;--surface-4: #e7ecf4;--surface-inset: #f4f6fb;--glass: rgba(255, 255, 255, .78);--glass-strong: rgba(255, 255, 255, .92);--glass-blur: saturate(180%) blur(20px);--border-subtle: #eef1f7;--border: #e3e8f1;--border-strong: #cdd6e4;--border-focus: var(--indigo-500);--text-1: #0f172a;--text-2: #475569;--text-3: #64748b;--text-4: #94a3b8;--text-disabled: #b4bdcc;--text-inverse: #ffffff;--primary: #6366f1;--primary-hover: #4f46e5;--primary-active: #4338ca;--primary-fg: #4f46e5;--primary-soft: #eef2ff;--primary-soft-hover: #e0e7ff;--primary-border: #c7d2fe;--primary-ring: rgba(99, 102, 241, .32);--primary-glow: rgba(99, 102, 241, .28);--on-primary: #ffffff;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--primary-gradient-hover: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);--accent: #e62552;--accent-hover: #cf1c46;--accent-fg: #cf1c46;--accent-soft: #ffeef2;--accent-border: #ffc9d6;--on-accent: #ffffff;--brand-gradient: linear-gradient( 135deg, #5B8DEE 0%, #7BA8D1 50%, #9CC4DB 100% );--brand-gradient-soft: linear-gradient( 135deg, rgba(91, 141, 238, .08) 0%, rgba(156, 196, 219, .08) 100% );--success: #10b981;--success-hover: #059669;--success-fg: #047857;--success-soft: #ecfdf5;--success-border: #a7f3d0;--on-success: #ffffff;--warning: #f59e0b;--warning-hover: #d97706;--warning-fg: #b45309;--warning-soft: #fffbeb;--warning-border: #fde68a;--on-warning: #ffffff;--danger: #ef4444;--danger-hover: #dc2626;--danger-fg: #dc2626;--danger-soft: #fef2f2;--danger-border: #fecaca;--on-danger: #ffffff;--info: #0ea5e9;--info-hover: #0284c7;--info-fg: #0369a1;--info-soft: #f0f9ff;--info-border: #bae6fd;--on-info: #ffffff;--neutral-soft: #f1f4f9;--neutral-border: #e3e8f1;--neutral-fg: #64748b;--viz-1: #6366f1;--viz-2: #06b6d4;--viz-3: #10b981;--viz-4: #f59e0b;--viz-5: #e62552;--viz-6: #8b5cf6;--viz-grid: #e8edf5;--viz-axis: #94a3b8;--viz-track: #eef1f7;--level-1: #ef4444;--level-2: #f59e0b;--level-3: #eab308;--level-4: #22c55e;--level-5: #10b981;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 14px rgba(15, 23, 42, .07), 0 2px 5px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 30px rgba(15, 23, 42, .09), 0 4px 10px rgba(15, 23, 42, .04);--shadow-xl: 0 24px 58px rgba(15, 23, 42, .12), 0 8px 20px rgba(15, 23, 42, .06);--shadow-2xl: 0 40px 90px rgba(15, 23, 42, .16), 0 12px 28px rgba(15, 23, 42, .08);--shadow-primary: 0 6px 20px rgba(99, 102, 241, .3);--shadow-primary-lg: 0 12px 32px rgba(99, 102, 241, .38);--shadow-danger: 0 6px 20px rgba(239, 68, 68, .28);--shadow-success: 0 6px 20px rgba(16, 185, 129, .28);--shadow-rim: inset 0 1px 0 rgba(255, 255, 255, 0);--overlay: rgba(15, 23, 42, .5);--overlay-blur: blur(6px);--skeleton-base: #eaeef5;--skeleton-sheen: rgba(255, 255, 255, .85);--scrollbar-thumb: #cbd5e1;--scrollbar-thumb-hover: #94a3b8;--backdrop-tint: rgba(99, 102, 241, .04);--logo-filter: none;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas: #070a13;--canvas-tint: radial-gradient( 1200px 620px at 12% -8%, rgba(99, 102, 241, .16), transparent 62% ), radial-gradient( 980px 540px at 92% 4%, rgba(230, 37, 82, .1), transparent 60% );--surface-1: #0f1420;--surface-2: #151b2a;--surface-3: #1c2434;--surface-4: #262f43;--surface-inset: #0b1018;--glass: rgba(15, 20, 32, .72);--glass-strong: rgba(15, 20, 32, .9);--border-subtle: #171e2c;--border: #232c3f;--border-strong: #33405a;--border-focus: var(--indigo-400);--text-1: #eef2fa;--text-2: #aeb9cd;--text-3: #8492a8;--text-4: #647089;--text-disabled: #4b566b;--text-inverse: #0f172a;--primary: #6366f1;--primary-hover: #7c7ff5;--primary-active: #8f92f7;--primary-fg: #a5b4fc;--primary-soft: rgba(99, 102, 241, .16);--primary-soft-hover: rgba(99, 102, 241, .26);--primary-border: rgba(129, 140, 248, .38);--primary-ring: rgba(129, 140, 248, .42);--primary-glow: rgba(99, 102, 241, .45);--on-primary: #ffffff;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--primary-gradient-hover: linear-gradient(135deg, #7c7ff5 0%, #6366f1 100%);--accent: #ff4d75;--accent-hover: #ff6b8c;--accent-fg: #ff8099;--accent-soft: rgba(230, 37, 82, .16);--accent-border: rgba(255, 77, 117, .36);--brand-gradient: linear-gradient( 135deg, #5B7D9A 0%, #6B8DAB 50%, #7B9EBC 100% );--brand-gradient-soft: linear-gradient( 135deg, rgba(91, 125, 154, .15) 0%, rgba(123, 158, 188, .12) 100% );--success: #10b981;--success-hover: #34d399;--success-fg: #4ade9f;--success-soft: rgba(16, 185, 129, .15);--success-border: rgba(52, 211, 153, .34);--warning: #f59e0b;--warning-hover: #fbbf24;--warning-fg: #fcd34d;--warning-soft: rgba(245, 158, 11, .15);--warning-border: rgba(251, 191, 36, .34);--danger: #ef4444;--danger-hover: #f87171;--danger-fg: #fca5a5;--danger-soft: rgba(239, 68, 68, .15);--danger-border: rgba(248, 113, 113, .34);--info: #0ea5e9;--info-hover: #38bdf8;--info-fg: #7dd3fc;--info-soft: rgba(14, 165, 233, .15);--info-border: rgba(56, 189, 248, .34);--neutral-soft: #1c2434;--neutral-border: #232c3f;--neutral-fg: #8492a8;--viz-1: #818cf8;--viz-2: #22d3ee;--viz-3: #34d399;--viz-4: #fbbf24;--viz-5: #ff4d75;--viz-6: #c084fc;--viz-grid: #1e2739;--viz-axis: #64708a;--viz-track: #1c2434;--level-1: #f87171;--level-2: #fbbf24;--level-3: #facc15;--level-4: #4ade80;--level-5: #34d399;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .36);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .58), 0 5px 12px rgba(0, 0, 0, .4);--shadow-xl: 0 28px 66px rgba(0, 0, 0, .66), 0 10px 24px rgba(0, 0, 0, .46);--shadow-2xl: 0 44px 100px rgba(0, 0, 0, .72), 0 16px 34px rgba(0, 0, 0, .5);--shadow-primary: 0 6px 22px rgba(99, 102, 241, .45);--shadow-primary-lg: 0 14px 38px rgba(99, 102, 241, .55);--shadow-danger: 0 6px 22px rgba(239, 68, 68, .4);--shadow-success: 0 6px 22px rgba(16, 185, 129, .4);--shadow-rim: inset 0 1px 0 rgba(255, 255, 255, .055);--overlay: rgba(2, 4, 10, .72);--skeleton-base: #1a2131;--skeleton-sheen: rgba(255, 255, 255, .07);--scrollbar-thumb: #2d3850;--scrollbar-thumb-hover: #3d4a66;--backdrop-tint: rgba(129, 140, 248, .05);--logo-filter: invert(1) hue-rotate(180deg) brightness(1.9) saturate(1.35);color-scheme:dark}}:root[data-theme=dark]{--canvas: #070a13;--canvas-tint: radial-gradient( 1200px 620px at 12% -8%, rgba(99, 102, 241, .16), transparent 62% ), radial-gradient( 980px 540px at 92% 4%, rgba(230, 37, 82, .1), transparent 60% );--surface-1: #0f1420;--surface-2: #151b2a;--surface-3: #1c2434;--surface-4: #262f43;--surface-inset: #0b1018;--glass: rgba(15, 20, 32, .72);--glass-strong: rgba(15, 20, 32, .9);--border-subtle: #171e2c;--border: #232c3f;--border-strong: #33405a;--border-focus: var(--indigo-400);--text-1: #eef2fa;--text-2: #aeb9cd;--text-3: #8492a8;--text-4: #647089;--text-disabled: #4b566b;--text-inverse: #0f172a;--primary: #6366f1;--primary-hover: #7c7ff5;--primary-active: #8f92f7;--primary-fg: #a5b4fc;--primary-soft: rgba(99, 102, 241, .16);--primary-soft-hover: rgba(99, 102, 241, .26);--primary-border: rgba(129, 140, 248, .38);--primary-ring: rgba(129, 140, 248, .42);--primary-glow: rgba(99, 102, 241, .45);--on-primary: #ffffff;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--primary-gradient-hover: linear-gradient(135deg, #7c7ff5 0%, #6366f1 100%);--accent: #ff4d75;--accent-hover: #ff6b8c;--accent-fg: #ff8099;--accent-soft: rgba(230, 37, 82, .16);--accent-border: rgba(255, 77, 117, .36);--brand-gradient: linear-gradient( 135deg, #5B7D9A 0%, #6B8DAB 50%, #7B9EBC 100% );--brand-gradient-soft: linear-gradient( 135deg, rgba(91, 125, 154, .15) 0%, rgba(123, 158, 188, .12) 100% );--success: #10b981;--success-hover: #34d399;--success-fg: #4ade9f;--success-soft: rgba(16, 185, 129, .15);--success-border: rgba(52, 211, 153, .34);--warning: #f59e0b;--warning-hover: #fbbf24;--warning-fg: #fcd34d;--warning-soft: rgba(245, 158, 11, .15);--warning-border: rgba(251, 191, 36, .34);--danger: #ef4444;--danger-hover: #f87171;--danger-fg: #fca5a5;--danger-soft: rgba(239, 68, 68, .15);--danger-border: rgba(248, 113, 113, .34);--info: #0ea5e9;--info-hover: #38bdf8;--info-fg: #7dd3fc;--info-soft: rgba(14, 165, 233, .15);--info-border: rgba(56, 189, 248, .34);--neutral-soft: #1c2434;--neutral-border: #232c3f;--neutral-fg: #8492a8;--viz-1: #818cf8;--viz-2: #22d3ee;--viz-3: #34d399;--viz-4: #fbbf24;--viz-5: #ff4d75;--viz-6: #c084fc;--viz-grid: #1e2739;--viz-axis: #64708a;--viz-track: #1c2434;--level-1: #f87171;--level-2: #fbbf24;--level-3: #facc15;--level-4: #4ade80;--level-5: #34d399;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .36);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .58), 0 5px 12px rgba(0, 0, 0, .4);--shadow-xl: 0 28px 66px rgba(0, 0, 0, .66), 0 10px 24px rgba(0, 0, 0, .46);--shadow-2xl: 0 44px 100px rgba(0, 0, 0, .72), 0 16px 34px rgba(0, 0, 0, .5);--shadow-primary: 0 6px 22px rgba(99, 102, 241, .45);--shadow-primary-lg: 0 14px 38px rgba(99, 102, 241, .55);--shadow-danger: 0 6px 22px rgba(239, 68, 68, .4);--shadow-success: 0 6px 22px rgba(16, 185, 129, .4);--shadow-rim: inset 0 1px 0 rgba(255, 255, 255, .055);--overlay: rgba(2, 4, 10, .72);--skeleton-base: #1a2131;--skeleton-sheen: rgba(255, 255, 255, .07);--scrollbar-thumb: #2d3850;--scrollbar-thumb-hover: #3d4a66;--backdrop-tint: rgba(129, 140, 248, .05);--logo-filter: invert(1) hue-rotate(180deg) brightness(1.9) saturate(1.35);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-4))}html,body{width:100%;min-height:100%;padding:0;margin:0}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--text-1);background-color:var(--canvas);background-image:var(--canvas-tint);background-attachment:fixed;background-repeat:no-repeat;min-width:320px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums lining-nums;transition:background-color var(--dur-slow) var(--ease-out),color var(--dur-slow) var(--ease-out)}#root{width:100%;min-height:100vh;min-height:100dvh;isolation:isolate}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(--text-1);text-wrap:balance}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl);letter-spacing:var(--tracking-snug)}h4{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug)}h5,h6{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug)}p{text-wrap:pretty}a{color:var(--primary-fg);font-weight:var(--weight-medium);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--primary-hover)}small{font-size:var(--text-xs)}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.92em}hr{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0}::selection{background:var(--primary-soft-hover);color:var(--text-1)}img,svg,video,canvas,picture{display:block;max-width:100%}img,video{height:auto}button,input,select,textarea,optgroup{font:inherit;letter-spacing:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled=true]{cursor:not-allowed}textarea{resize:vertical}input,textarea,select{background-color:var(--surface-1);color:var(--text-1)}::placeholder{color:var(--text-4);opacity:1}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--text-1);-webkit-box-shadow:0 0 0 1000px var(--surface-2) inset;box-shadow:0 0 0 1000px var(--surface-2) inset;caret-color:var(--text-1);transition:background-color 9999s ease-out 0s}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--r-xs)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}.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{position:absolute;top:var(--space-2);left:var(--space-2);z-index:var(--z-tooltip);padding:var(--space-3) var(--space-5);background:var(--primary);color:var(--on-primary);border-radius:var(--r-sm);font-weight:var(--weight-semibold);box-shadow:var(--shadow-lg);transform:translateY(-160%);transition:transform var(--dur) var(--ease-out)}.skip-link:focus-visible{transform:translateY(0);color:var(--on-primary)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff!important;color:#000!important}.header-bar,.side-navigation,.admin-side-navigation,.theme-toggle,.toast-container,.no-print{display:none!important}}.custom-tooltip{position:fixed;top:0;left:0;z-index:var(--z-tooltip);max-width:300px;padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);text-align:center;white-space:normal;word-wrap:break-word;background-color:var(--text-1);color:var(--surface-1);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out),visibility var(--dur-fast) var(--ease-out);user-select:none;-webkit-user-select:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .custom-tooltip{background-color:var(--surface-2);color:var(--text-1);border:1px solid var(--border-subtle)}}:root[data-theme=dark] .custom-tooltip{background-color:var(--surface-2);color:var(--text-1);border:1px solid var(--border-subtle)}:root[data-theme=light] .custom-tooltip{background-color:var(--text-1);color:var(--surface-1);box-shadow:var(--shadow-lg)}.app-back-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2, .5rem);padding:var(--space-2-5, .5rem) var(--space-4, 1rem);font-family:var(--font-sans, inherit);font-size:var(--text-md, .9375rem);font-weight:var(--weight-semibold, 600);line-height:1.4;color:var(--text-2, #475569);background:var(--surface-3, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:var(--r-md, .5rem);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .05));-webkit-user-select:none;user-select:none;text-decoration:none;white-space:nowrap}.app-back-btn .app-back-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;flex-shrink:0;transition:transform .2s cubic-bezier(.16,1,.3,1)}.app-back-btn .app-back-btn__icon svg{width:100%;height:100%;stroke-width:2.25}.app-back-btn:hover:not(:disabled){background:var(--primary-gradient, linear-gradient(135deg, #2563eb, #1d4ed8));color:var(--on-primary, #ffffff);border-color:transparent;transform:translateY(-1px);box-shadow:var(--shadow-primary, 0 4px 12px rgba(37, 99, 235, .25))}.app-back-btn:hover:not(:disabled) .app-back-btn__icon{transform:translate(-3px)}.app-back-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px var(--primary-glow, rgba(37, 99, 235, .2))}.app-back-btn:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:2px}.app-back-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.app-back-btn--subtle{background:var(--surface-2, #f8fafc);border-color:var(--border-subtle, #f1f5f9)}.app-back-btn--outline{background:transparent;border-color:var(--border, #cbd5e1);color:var(--text-1, #0f172a)}.app-back-btn--ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-2, #475569)}.app-back-btn--ghost:hover:not(:disabled){background:var(--surface-hover, rgba(37, 99, 235, .08));color:var(--primary, #2563eb);box-shadow:none;transform:none}.app-back-btn--primary{background:var(--primary-gradient, linear-gradient(135deg, #2563eb, #1d4ed8));color:var(--on-primary, #ffffff);border-color:transparent}.app-back-btn--sm{padding:.35rem .75rem;font-size:var(--text-sm, .8125rem);border-radius:var(--r-sm, .375rem)}.app-back-btn--lg{padding:.75rem 1.25rem;font-size:var(--text-lg, 1.0625rem);border-radius:var(--r-lg, .75rem)}.app-container{min-height:100vh;width:100%}.content-container{width:100%;margin:0 auto;box-sizing:border-box}.main-content{flex:1;width:100%;min-height:calc(100vh - var(--header-h));box-sizing:border-box;position:relative;padding-top:var(--header-h)}.login-message{background:var(--danger-soft);color:var(--danger-fg);border:1px solid var(--danger-border);border-radius:var(--r-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-base);text-align:center;font-weight:var(--weight-medium);animation:fadeIn var(--dur-slow) var(--ease-out)}@keyframes buttonPulse{0%{transform:scale(1);box-shadow:0 2px 8px #0000001a}50%{transform:scale(1.05);box-shadow:0 4px 12px #0003}to{transform:scale(1);box-shadow:0 2px 8px #0000001a}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pageTransition{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pageLoad{0%{opacity:0;transform:translateY(30px)}50%{opacity:.5;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes questionSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.02)}}.main-content>*{animation:pageTransition .3s ease-out}.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:var(--transition-colors),box-shadow var(--dur) var(--ease-out)}.theme-toggle:hover{background:var(--surface-3);color:var(--text-1);border-color:var(--border-strong)}.theme-toggle:active{transform:scale(.92)}.theme-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.theme-toggle-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5) rotate(-90deg);transition:opacity var(--dur) var(--ease-spring),transform var(--dur) var(--ease-spring);pointer-events:none}.theme-toggle-icon[data-active=true]{opacity:1;transform:scale(1) rotate(0)}.theme-toggle-icon svg{width:18px;height:18px}.header-bar{width:100%;height:var(--header-h);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-subtle);position:fixed;top:0;left:0;z-index:var(--z-header);box-shadow:var(--shadow-sm);transition:var(--transition-colors)}.header-content{margin:0 auto;padding:0 var(--gutter);height:100%;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:var(--space-4)}.logo-container{display:flex;align-items:center}.header-logo{height:36px;width:auto;filter:var(--logo-filter)}.project-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-1);margin:0;letter-spacing:var(--tracking-tight);transition:var(--transition-colors),transform var(--dur) var(--ease-out)}.project-title:hover{transform:translateY(-1px)}.project-title-small{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-1);margin:0;letter-spacing:var(--tracking-tight)}.header-center{flex:1;display:flex;justify-content:center}.header-right{display:flex;align-items:center;gap:var(--space-4)}.login-btn{display:flex;align-items:center;gap:var(--space-2);background:var(--primary-gradient);color:var(--on-primary);border:none;border-radius:var(--r-sm);padding:.65rem var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-primary)}.login-btn:hover{background:var(--primary-gradient-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary-lg)}.login-btn:active{transform:translateY(0) scale(.98)}.login-icon{width:18px;height:18px}.header-nav-container{display:flex;align-items:center;margin-left:auto;margin-right:var(--space-6)}.header-nav{display:flex;align-items:center;gap:var(--space-2)}.nav-link{display:flex;align-items:center;gap:var(--space-2);color:var(--text-3);text-decoration:none;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;padding:var(--space-2) var(--space-4);border-radius:var(--r-sm);transition:var(--transition-colors);position:relative}.nav-link:hover,.nav-link.active{color:var(--primary-fg);background:var(--primary-soft)}.nav-link svg{width:16px;height:16px}.profile-dropdown{position:relative;display:inline-block}.profile-trigger{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;padding:var(--space-2);border-radius:var(--r-sm);transition:var(--transition-colors)}.profile-trigger:hover{background:var(--primary-soft)}.user-avatar{width:36px;height:36px;background:var(--primary-gradient);color:var(--on-primary);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:var(--text-sm);flex-shrink:0}.user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-1)}.dropdown-arrow{width:16px;height:16px;color:var(--text-3);transition:transform var(--dur) var(--ease-out)}.dropdown-arrow.rotated{transform:rotate(180deg)}.profile-dropdown-menu{position:absolute;top:calc(100% + var(--space-2));right:0;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);min-width:280px;z-index:var(--z-dropdown);overflow:hidden;animation:fadeIn var(--dur-fast) var(--ease-out)}.dropdown-header{padding:var(--space-5);background:linear-gradient(135deg,var(--surface-2),var(--surface-3));border-bottom:1px solid var(--border)}.dropdown-user-info{display:flex;align-items:center;gap:var(--space-4)}.dropdown-avatar{width:48px;height:48px;background:var(--primary-gradient);color:var(--on-primary);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:var(--text-lg);flex-shrink:0}.dropdown-user-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dropdown-user-name{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-1)}.dropdown-user-email{font-size:var(--text-sm);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-divider{height:1px;background:var(--border);margin:0}.dropdown-actions{padding:var(--space-2) 0}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-5);border:none;background:none;color:var(--text-2);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-colors);text-align:left}.dropdown-item:hover{background:var(--surface-2);color:var(--text-1)}.dropdown-item svg{width:18px;height:18px;flex-shrink:0}.settings-item{color:var(--primary-fg)}.settings-item:hover{background:var(--primary-soft);color:var(--primary-hover)}.edit-profile-item{color:var(--primary-fg)}.edit-profile-item:hover{background:var(--primary-soft);color:var(--primary-hover)}.dropdown-logout-container{padding:var(--space-4)}.dropdown-logout-container .logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:linear-gradient(135deg,var(--danger),var(--danger-hover));color:var(--on-danger);border:none;border-radius:var(--r-sm);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-danger)}.dropdown-logout-container .logout-btn:hover{background:linear-gradient(135deg,var(--danger-hover),var(--danger));transform:translateY(-1px)}.dropdown-logout-container .logout-btn:active{transform:translateY(0) scale(.98)}.dropdown-logout-container .logout-icon{width:18px;height:18px}@media(max-width:1024px){.header-content{padding:0 var(--space-6)}.header-nav-container{margin-right:var(--space-4)}.nav-link{padding:var(--space-2) var(--space-3)}}@media(max-width:768px){.header-content{padding:0 var(--space-4)}.project-title{font-size:var(--text-xl)}.project-title-small{font-size:var(--text-lg)}.header-nav-container{margin-right:var(--space-2)}.nav-link span{display:none}.nav-link{padding:var(--space-2)}.user-name{display:none}.profile-dropdown-menu{min-width:250px}}@media(max-width:480px){.header-content{padding:0 var(--space-3)}.header-logo{height:28px}.project-title{font-size:var(--text-lg)}.project-title-small{font-size:var(--text-md)}.login-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.profile-dropdown-menu{min-width:220px;right:-10px}}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100px);background-color:var(--surface-1);padding:12px 24px;border-radius:var(--r-sm);box-shadow:var(--shadow-lg);display:flex;align-items:center;min-width:300px;max-width:80%;z-index:99999;opacity:0;transition:transform .3s ease,opacity .3s ease}@media(max-width:380px){.toast{min-width:0;width:calc(100vw - 32px);max-width:calc(100vw - 32px)}}.toast.visible{transform:translate(-50%) translateY(0);opacity:1}.toast.hidden{transform:translate(-50%) translateY(100px);opacity:0}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--danger)}.toast.info{border-left:4px solid var(--info)}.toast.notice{border-left:4px solid var(--warning)}.toast-content{display:flex;align-items:center}.toast-icon{margin-right:12px;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;stroke-linecap:round;stroke-linejoin:round}.toast.success .toast-icon{color:var(--success)}.toast.error .toast-icon{color:var(--danger)}.toast.info .toast-icon{color:var(--info)}.toast.notice .toast-icon{color:var(--warning)}.toast-message{color:var(--text-1);font-weight:500}.confirm-dialog-overlay{position:fixed;inset:0;background-color:var(--overlay);display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn var(--dur-fast) var(--ease-in-out)}.confirm-dialog{background:linear-gradient(135deg,var(--surface-1) 0%,var(--surface-2) 100%);border-radius:var(--r-md);box-shadow:var(--shadow-xl);width:90%;max-width:450px;padding:0;animation:slideIn var(--dur) var(--ease-out);border:1px solid var(--border)}.confirm-dialog-content{padding:32px 28px 24px}.confirm-dialog-title{font-size:20px;font-weight:600;color:var(--text-1);margin:0 0 16px;line-height:1.4}.confirm-dialog-message{font-size:15px;color:var(--text-2);line-height:1.6;margin:0}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;background-color:var(--surface-2);border-top:1px solid var(--border);border-radius:0 0 var(--r-md) var(--r-md)}.confirm-dialog-button{padding:10px 24px;border:none;border-radius:var(--r-sm);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:80px}.confirm-dialog-button.cancel{background-color:var(--surface-3);color:var(--text-2)}.confirm-dialog-button.cancel:hover{background-color:var(--surface-4);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.confirm-dialog-button.confirm{background:var(--primary-gradient);color:var(--on-primary)}.confirm-dialog-button.confirm:hover{background:var(--primary-gradient-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.confirm-dialog-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.confirm-dialog{width:95%;max-width:400px}.confirm-dialog-content{padding:24px 20px 20px}.confirm-dialog-title{font-size:18px}.confirm-dialog-message{font-size:14px}.confirm-dialog-actions{padding:16px 20px}.confirm-dialog-button{padding:9px 20px;font-size:13px}}.loading-spinner,.loading-splash-spinner{--spinner-size: 50px;--spinner-track: 4px;width:var(--spinner-size);height:var(--spinner-size);border-radius:var(--r-full);background:conic-gradient(from 0deg,transparent 0deg,var(--primary) 300deg,var(--primary) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-track) - 1px),#000 calc(100% - var(--spinner-track)));mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-track) - 1px),#000 calc(100% - var(--spinner-track)));animation:spin .9s linear infinite;margin:0 auto;filter:drop-shadow(0 0 6px var(--primary-glow))}.loading-spinner.small{--spinner-size: 20px;--spinner-track: 2.5px;display:inline-block;margin:0;filter:none}.loading-spinner-standalone{--spinner-size: 40px;--spinner-track: 3.5px;margin:0 0 var(--space-3) 0}.loading-spinner:before{content:none}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);min-height:200px;gap:var(--space-4)}.loading-container p{color:var(--text-3);font-size:var(--text-md);margin:0;text-align:center}.loading-standalone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4)}.loading-message{color:var(--text-3);font-size:var(--text-sm);margin:0;text-align:center}.loading-fullpage{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-h));width:100%;padding:var(--space-8)}.loading-fullpage-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-10);text-align:center;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);min-width:220px;animation:fadeIn var(--dur-slow) var(--ease-out)}.loading-fullpage-message{color:var(--text-3);font-size:var(--text-base);margin:0;text-align:center}.loading-splash{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-h));width:100%;padding:var(--space-8)}.loading-splash-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.loading-splash-spinner{--spinner-size: 72px;--spinner-track: 3px;position:relative}.loading-splash-spinner:after{content:"";position:absolute;inset:22px;border-radius:var(--r-full);background:var(--primary-soft);animation:loadingPulseDot 1.8s var(--ease-in-out) infinite}.loading-splash-message{color:var(--text-3);font-size:var(--text-base);margin:0;text-align:center;animation:fadeIn var(--dur-slow) var(--ease-out)}@keyframes loadingPulseDot{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.05);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.submitting-overlay{position:fixed;inset:0;background:var(--overlay, rgba(0, 0, 0, .5));display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.submitting-content{background:var(--surface-1, #ffffff);padding:var(--space-8, 32px);border-radius:var(--r-md, 12px);text-align:center;box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));max-width:400px;width:90%;border:1px solid var(--border-subtle, rgba(0, 0, 0, .1))}.submitting-content p{margin:var(--space-2, 8px) 0 0;color:var(--text-1, #1e293b);font-weight:500;font-size:var(--text-base, 1rem)}.submitting-content .submitting-note{font-size:var(--text-xs, .75rem);color:var(--text-3, #64748b);margin-top:var(--space-1, 4px);font-weight:400}
