:root{--color-blue-500: #2f7cf6;--color-teal-500: #00c9b7;--color-gray-900: #0b1220;--color-gray-800: #0f1726;--color-gray-700: #131d34;--color-gray-600: #1c2843;--color-gray-100: #f9fafb;--color-gray-200: #d0d6e0;--color-gray-300: #9aa8c7;--color-green-500: #2ec27e;--color-red-500: #ef6a6a;--color-bg: var(--color-gray-900);--color-surface: var(--color-gray-800);--color-panel: var(--color-gray-700);--color-line: var(--color-gray-600);--color-primary: var(--color-blue-500);--color-accent: var(--color-teal-500);--color-text: var(--color-gray-100);--color-text-muted: var(--color-gray-200);--color-text-subtle: var(--color-gray-300);--color-success: var(--color-green-500);--color-danger: var(--color-red-500);--color-warning: #f59e0b;--color-info: var(--color-primary);--font-family-base: "Work Sans", system-ui, -apple-system, "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif;--font-family-mono: ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", monospace;--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-base: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.55;--line-height-relaxed: 1.75;--space-0: 0;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.25rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-10: 4rem;--space-12: 6rem;--space-form-group: var(--space-4);--space-card-padding: var(--space-5);--space-card-padding-sm: var(--space-4);--space-button-padding-x: 1.6rem;--space-button-padding-y: 1.1rem;--space-input-padding-x: 1rem;--space-input-padding-y: .85rem;--radius-none: 0;--radius-sm: .75rem;--radius-md: 1rem;--radius-lg: 1.25rem;--radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .15);--shadow-md: 0 8px 22px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .45);--shadow-focus: 0 0 0 3px color-mix(in oklab, var(--color-primary) 20%, transparent 80%);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-auth-card: 420px;--z-index-base: 0;--z-index-dropdown: 10;--z-index-sticky: 100;--z-index-modal-backdrop: 900;--z-index-modal: 1000;--z-index-toast: 1100;--duration-instant: 0ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-colors: color var(--duration-normal) var(--ease-in-out), background-color var(--duration-normal) var(--ease-in-out), border-color var(--duration-normal) var(--ease-in-out);--transition-transform: transform var(--duration-fast) var(--ease-out);--transition-opacity: opacity var(--duration-normal) var(--ease-in-out);--transition-all: all var(--duration-normal) var(--ease-in-out);--opacity-disabled: .6;--opacity-hover: .8;--opacity-muted: .7;--button-radius: var(--radius-full);--button-font-weight: var(--font-weight-bold);--button-transition: transform .06s var(--ease-out), background var(--duration-normal) var(--ease-in-out), border-color var(--duration-normal) var(--ease-in-out);--input-radius: var(--radius-sm);--input-border-width: 1px;--input-transition: border-color var(--duration-normal) var(--ease-in-out), box-shadow var(--duration-normal) var(--ease-in-out);--card-radius: var(--radius-md);--card-shadow: var(--shadow-md);--card-border-width: 1px;--header-height: 70px;--header-backdrop-blur: blur(10px) saturate(120%);--bg: var(--color-bg);--surface: var(--color-surface);--panel: var(--color-panel);--line: var(--color-line);--primary: var(--color-primary);--accent: var(--color-accent);--text: var(--color-text);--muted: var(--color-text-muted);--subtle: var(--color-text-subtle);--success: var(--color-success);--danger: var(--color-danger);--radius-sm: var(--radius-sm);--radius-md: var(--radius-md);--shadow-1: var(--shadow-md)}:root{--bg: #0b1220;--surface: #0f1726;--panel: #131d34;--line: #1c2843;--primary: #2f7cf6;--accent: #00c9b7;--text: #f9fafb;--muted: #d0d6e0;--subtle: #9aa8c7;--success: #2ec27e;--danger: #ef6a6a;--radius-sm: 12px;--radius-md: 16px;--shadow-1: 0 8px 22px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;font-family:Work Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;font-size:15px;line-height:1.55;color:var(--muted);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{color:var(--text)}h1{font-size:clamp(2.4rem,3.8vw,3.4rem);font-weight:800}h2{font-size:clamp(1.8rem,2.4vw,2.3rem);font-weight:700}a{color:var(--primary);text-decoration:none}a:hover{color:color-mix(in oklab,var(--accent) 70%,white 30%)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:420px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--radius-md);box-shadow:0 10px 25px #0000004d,0 4px 10px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;animation:slideIn .3s ease-out;border:1px solid;min-width:320px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast--success{background:color-mix(in oklab,var(--success) 15%,var(--panel) 85%);border-color:color-mix(in oklab,var(--success) 40%,var(--line) 60%);color:var(--success)}.toast--error{background:color-mix(in oklab,var(--danger) 15%,var(--panel) 85%);border-color:color-mix(in oklab,var(--danger) 40%,var(--line) 60%);color:var(--danger)}.toast--info{background:color-mix(in oklab,var(--primary) 10%,var(--panel) 90%);border-color:color-mix(in oklab,var(--primary) 30%,var(--line) 70%);color:var(--primary)}.toast--warning{background:color-mix(in oklab,#f59e0b 15%,var(--panel) 85%);border-color:color-mix(in oklab,#f59e0b 40%,var(--line) 60%);color:#f59e0b}.toast__icon{font-size:20px;font-weight:700;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.toast__content{flex:1;min-width:0}.toast__title{font-weight:600;font-size:15px;margin-bottom:4px;color:var(--text)}.toast__message{font-size:14px;line-height:1.5;color:var(--muted)}.toast__action{margin-top:8px;padding:6px 12px;background:color-mix(in oklab,currentColor 15%,transparent 85%);border:1px solid currentColor;border-radius:4px;color:currentColor;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.toast__action:hover{background:color-mix(in oklab,currentColor 25%,transparent 75%);transform:translateY(-1px)}.toast__action:active{transform:translateY(0)}.toast__close{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s,color .2s;flex-shrink:0;font-size:16px}.toast__close:hover{background:color-mix(in oklab,var(--line) 50%,transparent 50%);color:var(--text)}@media (max-width: 640px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{min-width:0}}.nav-item{position:relative;display:flex;align-items:center;padding:12px 16px;margin:4px 8px;border-radius:8px;cursor:pointer;transition:background-color var(--transition-duration, .2s) ease-in-out,color var(--transition-duration, .2s) ease-in-out,transform .15s ease-in-out;color:var(--sidebar-text-secondary, #e0e0e0);-webkit-user-select:none;user-select:none}.nav-item:hover{background-color:var(--sidebar-hover, #2a2a2a);color:var(--sidebar-text, #ffffff)}.nav-item:active{transform:scale(.98)}.nav-item:focus{outline:2px solid var(--focus-color, #4a9eff);outline-offset:2px}.nav-item:focus-visible{outline:2px solid var(--focus-color, #4a9eff);outline-offset:2px;box-shadow:0 0 0 4px #4a9eff33}.nav-item:focus:not(:focus-visible){outline:none;box-shadow:none}.nav-item--active{background-color:var(--sidebar-active, #3a3a3a);color:var(--sidebar-text, #ffffff);font-weight:500;position:relative}.nav-item--active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background-color:var(--focus-color, #4a9eff);border-radius:0 2px 2px 0;transition:height var(--transition-duration, .2s) ease-in-out}.nav-item--active:hover{background-color:var(--sidebar-active, #3a3a3a)}.nav-item--active:hover:before{height:80%}.nav-item--collapsed{justify-content:center;padding:12px}.nav-item__content{display:flex;align-items:center;gap:12px;width:100%;transition:gap var(--transition-duration, .2s) ease-in-out}.nav-item--collapsed .nav-item__content{justify-content:center;gap:0}.nav-item__icon{flex-shrink:0;transition:transform .15s ease-in-out}.nav-item:hover .nav-item__icon{transform:scale(1.1)}.nav-item__label{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1;transition:opacity var(--transition-duration, .2s) ease-in-out}.nav-item--collapsed .nav-item__label{opacity:0;width:0}.nav-item__tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) scale(.95);background-color:var(--sidebar-hover, #2a2a2a);color:var(--sidebar-text, #ffffff);padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 4px 16px #0006;z-index:1000;pointer-events:none;opacity:0;animation:tooltipFadeIn .15s ease-in-out forwards}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) scale(.95)}to{opacity:1;transform:translateY(-50%) scale(1)}}.nav-item__tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--sidebar-hover, #2a2a2a)}@media (prefers-reduced-motion: reduce){.nav-item,.nav-item__content,.nav-item__icon,.nav-item__label,.nav-item--active:before{transition:none}.nav-item__tooltip{animation:none;opacity:1;transform:translateY(-50%) scale(1)}}:root{--sidebar-width-expanded: 240px;--sidebar-width-collapsed: 64px;--sidebar-bg: var(--surface);--sidebar-text: var(--text);--sidebar-text-secondary: var(--muted);--sidebar-border: var(--line);--sidebar-hover: var(--panel);--sidebar-active: color-mix(in oklab, var(--primary) 15%, var(--panel) 85%);--scrollbar-thumb: var(--line);--scrollbar-thumb-hover: var(--subtle);--focus-color: var(--primary);--transition-duration: .2s}.navigation-sidebar{position:fixed;left:0;top:0;height:100vh;width:var(--sidebar-width-expanded);background-color:var(--sidebar-bg);display:flex;flex-direction:column;transition:width var(--transition-duration) ease-in-out,box-shadow var(--transition-duration) ease-in-out;z-index:100;border-right:1px solid var(--sidebar-border);box-shadow:2px 0 8px #0000001a}.navigation-sidebar--collapsed{width:var(--sidebar-width-collapsed)}.navigation-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--sidebar-border, #2a2a2a);min-height:64px;transition:padding var(--transition-duration, .2s) ease-in-out}.navigation-sidebar--collapsed .navigation-sidebar__header{justify-content:center;padding:16px 12px}.navigation-sidebar__logo{display:flex;align-items:center;gap:12px;opacity:1;transition:opacity var(--transition-duration, .2s) ease-in-out}.navigation-sidebar--collapsed .navigation-sidebar__logo{opacity:0;pointer-events:none}.navigation-sidebar__logo-text{font-size:18px;font-weight:600;color:var(--sidebar-text, #ffffff);white-space:nowrap}.navigation-sidebar__toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:transparent;color:var(--sidebar-text-secondary, #e0e0e0);cursor:pointer;border-radius:6px;transition:background-color var(--transition-duration, .2s) ease-in-out,color var(--transition-duration, .2s) ease-in-out,transform .15s ease-in-out;flex-shrink:0}.navigation-sidebar__toggle:hover{background-color:var(--sidebar-hover, #2a2a2a);color:var(--sidebar-text, #ffffff)}.navigation-sidebar__toggle:active{transform:scale(.95)}.navigation-sidebar__toggle:focus{outline:2px solid var(--focus-color, #4a9eff);outline-offset:2px}.navigation-sidebar__toggle:focus-visible{outline:2px solid var(--focus-color, #4a9eff);outline-offset:2px;box-shadow:0 0 0 4px #4a9eff33}.navigation-sidebar__toggle:focus:not(:focus-visible){outline:none;box-shadow:none}.navigation-sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, #3a3a3a) transparent}.navigation-sidebar__nav::-webkit-scrollbar{width:6px}.navigation-sidebar__nav::-webkit-scrollbar-track{background:transparent}.navigation-sidebar__nav::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #3a3a3a);border-radius:3px;transition:background var(--transition-duration, .2s) ease-in-out}.navigation-sidebar__nav::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #4a4a4a)}@media (prefers-reduced-motion: reduce){.navigation-sidebar,.navigation-sidebar__header,.navigation-sidebar__logo,.navigation-sidebar__toggle,.navigation-sidebar__nav::-webkit-scrollbar-thumb{transition:none}}@media (max-width: 768px){.navigation-sidebar{transform:translate(-100%);transition:transform var(--transition-duration) ease-in-out;box-shadow:4px 0 16px #0003;width:var(--sidebar-width-expanded);z-index:100}.navigation-sidebar--mobile-open{transform:translate(0)}.navigation-sidebar--collapsed{width:var(--sidebar-width-expanded)}.navigation-sidebar__toggle{display:none}.navigation-sidebar--mobile-open .navigation-sidebar__toggle{display:flex}}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--button-font-weight);line-height:var(--line-height-tight);text-align:center;text-decoration:none;white-space:nowrap;padding:var(--space-button-padding-y) var(--space-button-padding-x);border:none;border-radius:var(--button-radius);cursor:pointer;outline:none;transition:var(--button-transition);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{background:var(--color-primary);color:var(--color-text)}.button--primary:hover:not(:disabled){background:color-mix(in oklab,var(--color-primary) 85%,white 15%)}.button--primary:active:not(:disabled){background:color-mix(in oklab,var(--color-primary) 90%,black 10%)}.button--secondary{background:var(--color-surface);color:var(--color-text);border:var(--input-border-width) solid var(--color-line)}.button--secondary:hover:not(:disabled){background:var(--color-panel);border-color:color-mix(in oklab,var(--color-line) 80%,white 20%)}.button--secondary:active:not(:disabled){background:color-mix(in oklab,var(--color-panel) 95%,black 5%)}.button--danger{background:var(--color-danger);color:var(--color-text)}.button--danger:hover:not(:disabled){background:color-mix(in oklab,var(--color-danger) 85%,white 15%)}.button--danger:active:not(:disabled){background:color-mix(in oklab,var(--color-danger) 90%,black 10%)}.button--small{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4);gap:var(--space-1)}.button--medium{font-size:var(--font-size-base);padding:var(--space-button-padding-y) var(--space-button-padding-x);gap:var(--space-2)}.button--large{font-size:var(--font-size-lg);padding:var(--space-4) var(--space-6);gap:var(--space-3)}.button--loading{position:relative;cursor:wait}.button-content--loading{opacity:0}.button-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.button-spinner-icon{width:1.25rem;height:1.25rem;animation:button-spin var(--duration-slower) var(--ease-linear) infinite}.button--small .button-spinner-icon{width:1rem;height:1rem}.button--large .button-spinner-icon{width:1.5rem;height:1.5rem}.button-spinner-track{opacity:.25}.button-spinner-path{opacity:.75}@keyframes button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: var(--breakpoint-sm)){.button{min-height:2.75rem}.button--small{min-height:2.25rem}.button--large{min-height:3.25rem}}@media (prefers-contrast: high){.button{border:calc(var(--input-border-width) * 2) solid currentColor}}@media (prefers-reduced-motion: reduce){.button{transition:none}.button:active:not(:disabled){transform:none}.button-spinner-icon{animation:none}}:root{--sidebar-width-expanded: 240px;--sidebar-width-collapsed: 64px;--content-padding: 24px;--content-max-width: 1400px;--transition-duration: .2s}.app-layout{display:flex;min-height:100vh;width:100%;background-color:var(--bg)}.app-layout__main{flex:1;margin-left:var(--sidebar-width-expanded);transition:margin-left var(--transition-duration) ease-in-out;min-width:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column}.app-layout__main--expanded{margin-left:var(--sidebar-width-collapsed)}.app-layout__header{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--bg) 82%,black 18%);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-layout__header-content{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 var(--content-padding)}.app-layout__header-left{display:flex;align-items:center}.app-layout__logo{height:32px;width:auto}.app-layout__header-right{display:flex;align-items:center;gap:16px}.app-layout__user-info{color:var(--muted);font-size:14px;display:none}@media (min-width: 640px){.app-layout__user-info{display:inline}}.app-layout__content{flex:1;padding:var(--content-padding);min-width:0;width:100%;box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.app-layout__content>*{max-width:var(--content-max-width);margin:0 auto;width:100%}.app-layout__content{scroll-behavior:smooth}.app-layout__content::-webkit-scrollbar{width:8px}.app-layout__content::-webkit-scrollbar-track{background:transparent}.app-layout__content::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;transition:background var(--transition-duration) ease-in-out}.app-layout__content::-webkit-scrollbar-thumb:hover{background:var(--subtle)}@media (prefers-reduced-motion: reduce){.app-layout__content,.app-layout__content::-webkit-scrollbar-thumb{transition:none}.app-layout__content{scroll-behavior:auto}}@media (max-width: 1024px){.app-layout__content{padding:16px}}.app-layout__mobile-menu-button{position:fixed;top:16px;left:16px;z-index:150;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--line);background-color:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;box-shadow:var(--shadow-1);transition:background-color var(--transition-duration) ease-in-out,transform .15s ease-in-out}.app-layout__mobile-menu-button:hover{background-color:var(--panel)}.app-layout__mobile-menu-button:active{transform:scale(.95)}.app-layout__mobile-menu-button:focus{outline:2px solid var(--primary);outline-offset:2px}.app-layout__mobile-menu-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in oklab,var(--primary) 20%,transparent 80%),var(--shadow-1)}.app-layout__mobile-menu-button:focus:not(:focus-visible){outline:none}.app-layout__backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:90;animation:fadeIn var(--transition-duration) ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.app-layout__main,.app-layout__main--expanded{margin-left:0}.app-layout__header-content{padding-left:72px}.app-layout__content{padding:16px}}.input-container{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.input-label{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);display:block;margin-bottom:var(--space-1);cursor:pointer}.input-required{color:var(--color-danger);margin-left:var(--space-1);font-weight:var(--font-weight-bold)}.input{display:block;width:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);padding:var(--space-input-padding-y) var(--space-input-padding-x);background:var(--color-surface);border:var(--input-border-width) solid var(--color-line);border-radius:var(--input-radius);outline:none;transition:var(--input-transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input::placeholder{color:var(--color-text-subtle);opacity:1}.input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);background:var(--color-panel)}.input:hover:not(:disabled):not(:focus){border-color:color-mix(in oklab,var(--color-line) 80%,white 20%);background:var(--color-panel)}.input--error{border-color:var(--color-danger);background:color-mix(in oklab,var(--color-danger) 5%,var(--color-surface) 95%)}.input--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-danger) 20%,transparent 80%)}.input--disabled,.input:disabled{cursor:not-allowed;opacity:.5;background:var(--color-surface);border-color:var(--color-line)}.input:disabled::placeholder{color:var(--color-text-subtle)}.input-error{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight);color:var(--color-danger);display:flex;align-items:flex-start;gap:var(--space-1);margin-top:calc(var(--space-1) * -1)}.input-helper{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight);color:var(--color-text-muted);margin-top:calc(var(--space-1) * -1)}.input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.input[type=password]{letter-spacing:.05em}@media (max-width: var(--breakpoint-sm)){.input{font-size:var(--font-size-base);min-height:2.75rem}}@media (prefers-contrast: high){.input{border-width:calc(var(--input-border-width) * 2)}.input:focus{outline:calc(var(--input-border-width) * 2) solid currentColor;outline-offset:2px}}@media (prefers-reduced-motion: reduce){.input{transition:none}}.input:focus:not(:focus-visible){box-shadow:none}.input:focus-visible{box-shadow:var(--shadow-focus)}.input:-webkit-autofill,.input:-webkit-autofill:hover,.input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset;border-color:var(--color-line);transition:background-color 5000s ease-in-out 0s}.input:-webkit-autofill:focus{border-color:var(--color-primary)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border-width:1px;border-style:solid;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:var(--transition-opacity);position:relative}.alert-icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem}.alert-icon{width:100%;height:100%}.alert-content{flex:1;min-width:0}.alert-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--space-1)}.alert-message{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);word-wrap:break-word}.alert-message a{text-decoration:underline;font-weight:var(--font-weight-semibold)}.alert-message a:hover{opacity:.8}.alert-dismiss{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-opacity);padding:0;margin:0}.alert-dismiss:hover{opacity:.7}.alert-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px}.alert-dismiss:active{opacity:.5}.alert-dismiss-icon{width:100%;height:100%}.alert--success{background:color-mix(in oklab,var(--color-success) 10%,var(--color-surface) 90%);border-color:color-mix(in oklab,var(--color-success) 30%,transparent 70%);color:var(--color-text)}.alert--success .alert-icon-wrapper,.alert--success .alert-title,.alert--success .alert-dismiss{color:var(--color-success)}.alert--error{background:color-mix(in oklab,var(--color-danger) 10%,var(--color-surface) 90%);border-color:color-mix(in oklab,var(--color-danger) 30%,transparent 70%);color:var(--color-text)}.alert--error .alert-icon-wrapper,.alert--error .alert-title,.alert--error .alert-dismiss{color:var(--color-danger)}.alert--warning{background:color-mix(in oklab,var(--color-warning) 10%,var(--color-surface) 90%);border-color:color-mix(in oklab,var(--color-warning) 30%,transparent 70%);color:var(--color-text)}.alert--warning .alert-icon-wrapper,.alert--warning .alert-title,.alert--warning .alert-dismiss{color:var(--color-warning)}.alert--info{background:color-mix(in oklab,var(--color-info) 10%,var(--color-surface) 90%);border-color:color-mix(in oklab,var(--color-info) 30%,transparent 70%);color:var(--color-text)}.alert--info .alert-icon-wrapper,.alert--info .alert-title,.alert--info .alert-dismiss{color:var(--color-info)}@media (max-width: var(--breakpoint-sm)){.alert{padding:var(--space-3);gap:var(--space-2)}.alert-icon-wrapper,.alert-dismiss{width:1.25rem;height:1.25rem}}@media (prefers-contrast: high){.alert{border-width:2px}.alert-dismiss:focus-visible{outline-width:3px}}@media (prefers-reduced-motion: reduce){.alert,.alert-dismiss{transition:none}}@media print{.alert{border:1px solid currentColor;page-break-inside:avoid}.alert-dismiss{display:none}}.form{display:flex;flex-direction:column;gap:var(--space-form-group);width:100%;margin:0;padding:0}.form--compact{gap:var(--space-3)}.form--spacious{gap:var(--space-6)}.form-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-line)}.form-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-3) 0}.form-section-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-4) 0;line-height:var(--line-height-normal)}.form-actions{display:flex;gap:var(--space-3);align-items:center;justify-content:flex-start;margin-top:var(--space-2)}.form-actions--end{justify-content:flex-end}.form-actions--center{justify-content:center}.form-actions--space-between{justify-content:space-between}.form-row{display:flex;gap:var(--space-3);align-items:flex-start}.form-row>*{flex:1;min-width:0}@media (max-width: 640px){.form-row{flex-direction:column}.form-row>*{width:100%}}.card{background-color:var(--color-surface);border:var(--card-border-width) solid var(--color-line);border-radius:var(--card-radius);box-shadow:var(--card-shadow);display:flex;flex-direction:column;min-width:0;transition:var(--transition-all)}.card--compact .card-body{padding:var(--space-card-padding-sm)}@media (max-width: 640px){.card-body,.card-header,.card-footer{padding:var(--space-card-padding-sm)}}.card-header{padding:var(--space-card-padding);border-bottom:1px solid var(--color-line);color:var(--color-text);font-weight:var(--font-weight-semibold);overflow-wrap:break-word;word-wrap:break-word}.card-body{padding:var(--space-card-padding);flex:1 1 auto;color:var(--color-text-muted);font-size:var(--font-size-base);line-height:var(--line-height-normal);overflow-wrap:break-word;word-wrap:break-word}.card-header+.card-body{padding-top:var(--space-card-padding)}.card-body:has(+.card-footer){padding-bottom:var(--space-card-padding)}.card-footer{padding:var(--space-card-padding);border-top:1px solid var(--color-line);color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:break-word;word-wrap:break-word}.card:focus-within{outline:none}@media print{.card{box-shadow:none;border:1px solid var(--color-line);page-break-inside:avoid}}.file-upload-zone-container{width:100%;padding:1rem}.file-upload-zone{border:2px dashed #cbd5e0;border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease;background-color:#f7fafc}.file-upload-zone:hover:not(.disabled){border-color:#4299e1;background-color:#ebf8ff}.file-upload-zone.dragging{border-color:#4299e1;background-color:#ebf8ff;border-style:solid}.file-upload-zone.disabled{opacity:.5;cursor:not-allowed;background-color:#edf2f7}.upload-icon{color:#4299e1;margin-bottom:1rem;display:flex;justify-content:center}.upload-text{color:#2d3748}.upload-primary{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.upload-secondary{font-size:.875rem;color:#718096;margin-bottom:.5rem}.upload-hint{font-size:.75rem;color:#a0aec0;margin-top:.5rem}.file-upload-manager{width:100%}.upload-progress-container{margin-top:2rem;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;background-color:#fff}.upload-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.upload-progress-header h3{font-size:1.125rem;font-weight:600;color:#2d3748;margin:0}.retry-button,.clear-button{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button{background-color:#4299e1;color:#fff}.retry-button:hover{background-color:#3182ce}.clear-button{background-color:#edf2f7;color:#2d3748}.clear-button:hover{background-color:#e2e8f0}.upload-progress-list{display:flex;flex-direction:column;gap:.75rem}.upload-file-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #e2e8f0;border-radius:6px;background-color:#f7fafc}.upload-file-item.completed{border-color:#48bb78;background-color:#f0fff4}.upload-file-item.error{border-color:#f56565;background-color:#fff5f5}.file-info{display:flex;align-items:center;gap:.75rem;flex:1}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:#edf2f7}.upload-file-item.completed .file-icon{background-color:#c6f6d5;color:#22543d}.upload-file-item.error .file-icon{background-color:#fed7d7;color:#742a2a}.upload-file-item.uploading .file-icon,.upload-file-item.pending .file-icon{background-color:#bee3f8;color:#2c5282}.file-details{display:flex;flex-direction:column;gap:.25rem}.file-name{font-size:.875rem;font-weight:500;color:#2d3748}.file-size{font-size:.75rem;color:#718096}.file-status{min-width:150px;text-align:right}.status-text{font-size:.875rem;font-weight:500}.status-text.success{color:#22543d}.status-text.error{color:#742a2a;font-size:.75rem}.progress-bar{width:150px;height:8px;background-color:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:#4299e1;transition:width .3s ease}.upload-info-message{margin-top:1rem;padding:1rem;background-color:#ebf8ff;border-left:4px solid #4299e1;border-radius:4px}.upload-info-message p{margin:0;font-size:.875rem;color:#2c5282}.fai-page{padding:2rem;max-width:1400px;margin:0 auto}.fai-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.fai-header h1{margin:0;font-size:2rem;color:#1a1a1a}.btn-new-inspection{padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-new-inspection:hover{background-color:#0056b3}.fai-upload-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.upload-instructions{padding:2rem;background-color:#f8f9fa;border-radius:8px}.upload-instructions h2{margin-top:0;margin-bottom:1rem;color:#1a1a1a}.upload-instructions p{color:#666;line-height:1.6;margin-bottom:1.5rem}.supported-formats{list-style:none;padding:0;margin:1.5rem 0}.supported-formats li{padding:.5rem 0;color:#28a745;font-weight:500}.file-limit{font-size:.875rem;color:#999;margin-top:1.5rem}.fai-workspace{margin-top:2rem}.inspection-info{display:flex;gap:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px;margin-bottom:2rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.875rem;color:#666;font-weight:500}.info-value{font-size:1.125rem;color:#1a1a1a;font-weight:600}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.status-processing{background-color:#fff3cd;color:#856404}.status-complete{background-color:#d4edda;color:#155724}.drawing-status-list{text-align:left;max-width:600px;margin:0 auto}.drawing-status-list h4{margin:0 0 1rem;color:#1a1a1a;font-size:1.125rem}.drawing-status-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;margin-bottom:.75rem}.status-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;border-radius:50%;flex-shrink:0}.drawing-status-item .status-icon{background-color:#e9ecef}.status-details{flex:1}.status-name{font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.status-info{font-size:.875rem}.status-success{color:#28a745;font-weight:500}.status-error{color:#dc3545;font-weight:500}.status-uploading{color:#6c757d;font-weight:500}.drawing-viewer{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.viewer-header h2{margin:0;font-size:1.25rem;color:#1a1a1a}.canvas-container{height:600px;background-color:#f5f5f5}.processing-placeholder{text-align:center;padding:4rem 2rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px}.processing-animation{margin-bottom:2rem}.spinner{width:60px;height:60px;margin:0 auto;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.processing-placeholder h3{margin:0 0 1rem;color:#1a1a1a;font-size:1.5rem}.processing-placeholder p{color:#666;line-height:1.6;max-width:600px;margin:0 auto 1rem}.processing-note{font-size:.875rem;color:#999;font-style:italic}@media (max-width: 768px){.fai-page{padding:1rem}.fai-header{flex-direction:column;align-items:flex-start;gap:1rem}.fai-upload-section{grid-template-columns:1fr}.inspection-info{flex-direction:column;gap:1rem}.canvas-container{height:400px}}.balloon-overlay{position:absolute;top:0;left:0;pointer-events:none;z-index:10}.balloon-circle{transition:fill .2s ease}.balloon-circle:hover{fill:#dc2626}.balloon-circle-blink{animation:blink .5s ease-in-out}@keyframes blink{0%{fill:#ef4444}50%{fill:#fbbf24}to{fill:#ef4444}}g[role=button]:focus{outline:none}g[role=button]:focus circle{stroke:#3b82f6;stroke-width:3}.interactive-canvas{width:100%;height:100%;flex:1;background-color:#e8e8e8;overflow:hidden;position:relative;outline:none}.interactive-canvas:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.interactive-canvas-image{position:absolute;max-width:none;max-height:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.page-selector{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#fffffff2;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000026;z-index:10}.page-button{min-width:36px;height:36px;padding:var(--space-1) var(--space-2);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.page-button:hover{background:var(--color-background-hover);border-color:var(--color-primary);color:var(--color-text)}.page-button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold)}.page-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.page-button:active{transform:scale(.95)}.exception-alert{margin-bottom:var(--space-3)}.exception-group{border-radius:var(--radius-2);padding:var(--space-3);margin-bottom:var(--space-2);border-left:4px solid}.exception-group--error{background-color:var(--color-error-50);border-left-color:var(--color-error-500);color:var(--color-error-900)}.exception-group--warning{background-color:var(--color-warning-50);border-left-color:var(--color-warning-500);color:var(--color-warning-900)}.exception-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:var(--font-weight-medium)}.exception-icon,.exception-title{font-size:var(--font-size-sm)}.exception-list{list-style:none;padding:0;margin:0}.exception-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) 0;border-bottom:1px solid}.exception-group--error .exception-item{border-bottom-color:var(--color-error-200)}.exception-group--warning .exception-item{border-bottom-color:var(--color-warning-200)}.exception-item:last-child{border-bottom:none}.exception-type{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.exception-timestamp{font-size:var(--font-size-xs);opacity:.7;font-family:var(--font-mono)}@media (max-width: 768px){.exception-item{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.exception-timestamp{align-self:flex-end}}.metadata-section{padding:0;background:transparent;border-radius:4px;margin-bottom:16px}.metadata-subsection{margin-bottom:20px}.metadata-subsection:last-child{margin-bottom:0}.metadata-subsection-title{font-size:14px;font-weight:600;margin:0 0 8px;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.metadata-list{list-style:none;padding:0;margin:0}.metadata-list-nested{margin-top:4px;padding-left:0}.metadata-list-item,.metadata-property{padding:4px 0;font-size:14px;line-height:1.5}.metadata-label{font-weight:500;color:#aaa;margin-right:8px}.metadata-value{color:#fff}.metadata-detail{color:#aaa;font-style:italic}.metadata-standard{color:#888;font-size:13px}.metadata-confidence{color:#888;font-size:12px;margin-left:4px}.metadata-text{margin:0;padding:4px 0;font-size:14px;line-height:1.5;color:#fff}.metadata-empty{padding:20px;text-align:center;color:#888;font-style:italic}.metadata-raw-data{margin-top:12px;border:1px solid #333;border-radius:4px}.metadata-raw-data summary{padding:8px 12px;background:#2a2a2a;cursor:pointer;font-size:13px;font-weight:500;color:#aaa}.metadata-raw-data summary:hover{background:#333}.metadata-json{margin:0;padding:12px;background:#1e1e1e;border-top:1px solid #333;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.4;color:#fff;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.features-section{padding:0}.features-section__empty{color:#888;font-size:14px;font-style:italic;margin:0}.features-section__list{display:flex;flex-direction:column;gap:8px}.feature-item{padding:12px;border:1px solid #333;border-radius:4px;background:#2a2a2a;cursor:pointer;transition:all .2s ease}.feature-item:hover{border-color:#06c;box-shadow:0 2px 4px #06c3}.feature-item:focus{outline:2px solid #0066cc;outline-offset:2px}.feature-item--focused{border-color:#06c;background:#1a3a5c;box-shadow:0 2px 8px #0066cc4d}.feature-item__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.feature-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#f44336;color:#fff;border-radius:50%;font-size:12px;font-weight:600;flex-shrink:0}.feature-item__type{font-size:12px;color:#aaa;text-transform:capitalize;flex-grow:1}.feature-item__info-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:#aaa;cursor:help;border-radius:4px;transition:all .2s ease;flex-shrink:0}.feature-item__info-button:hover{background:#333;color:#06c}.feature-item__info-button:focus{outline:2px solid #0066cc;outline-offset:2px}.feature-item__blurb{margin:0;font-size:14px;color:#fff;line-height:1.5}.features-section__debug{margin-top:12px}.features-raw-data{margin-top:12px;border:1px solid #333;border-radius:4px}.features-raw-data summary{padding:8px 12px;background:#2a2a2a;cursor:pointer;font-size:13px;font-weight:500;color:#aaa}.features-raw-data summary:hover{background:#333}.features-json{margin:0;padding:12px;background:#1e1e1e;border-top:1px solid #333;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.4;color:#fff;overflow-x:auto;white-space:pre-wrap;word-break:break-word}@media (max-width: 768px){.features-section{padding:12px}.feature-item{padding:10px}.feature-item__blurb{font-size:13px}}.insights-section{padding:0}.insights-empty-state{padding:24px;text-align:center;color:#888;font-size:14px;background-color:#2a2a2a;border-radius:4px}.insights-subsection{margin-bottom:20px}.insights-subsection:last-child{margin-bottom:0}.insights-subtitle{margin:0 0 12px;font-size:14px;font-weight:600;color:#aaa}.process-category{margin-bottom:16px}.process-category:last-child{margin-bottom:0}.category-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#aaa}.process-list{list-style:none;padding:0;margin:0}.process-item{padding:8px 12px;margin-bottom:8px;background-color:#2a2a2a;border-left:3px solid #0066cc;border-radius:4px}.process-item:last-child{margin-bottom:0}.process-description{font-size:13px;color:#fff;margin-bottom:4px}.process-parameters{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.parameter{font-size:12px;color:#aaa;background-color:#1a1a1a;padding:2px 8px;border-radius:3px;border:1px solid #333}.dimensions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.dimension-item{display:flex;justify-content:space-between;padding:8px 12px;background-color:#2a2a2a;border-radius:4px;font-size:13px}.dimension-label{font-weight:500;color:#aaa;margin-right:8px}.dimension-value{color:#fff;font-weight:600}.volume-info{padding:12px;background-color:#2a2a2a;border-radius:4px;display:flex;align-items:center;gap:12px}.volume-value{font-size:16px;font-weight:600;color:#fff}.volume-confidence{font-size:13px;color:#aaa}.insights-debug{margin-top:12px}.insights-raw-data{margin-top:12px;border:1px solid #333;border-radius:4px}.insights-raw-data summary{padding:8px 12px;background:#2a2a2a;cursor:pointer;font-size:13px;font-weight:500;color:#aaa}.insights-raw-data summary:hover{background:#333}.insights-json{margin:0;padding:12px;background:#1e1e1e;border-top:1px solid #333;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.4;color:#fff;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.details-column{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#1a1a1a;border-left:1px solid #333}.details-content{flex:1;overflow-y:auto;padding:var(--space-4)}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#888;text-align:center;padding:var(--space-4)}.details-section{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid #333}.details-section:last-child{border-bottom:none}.section-heading{font-size:var(--font-size-lg);font-weight:700;color:#fff;margin:0 0 var(--space-4) 0;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #0066cc;padding-bottom:var(--space-2)}.section-content{animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--font-size-sm)}.detail-label{color:#aaa;font-weight:500;flex-shrink:0;min-width:100px}.detail-value{color:#fff;text-align:right;word-break:break-word}.detail-value.warning{color:#ff9500;font-weight:600}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.success{background-color:var(--color-success-bg);color:var(--color-success)}.status-badge.processing{background-color:var(--color-info-bg);color:var(--color-info)}.status-badge.pending{background-color:var(--color-warning-bg);color:var(--color-warning)}.status-badge.error{background-color:var(--color-error-bg);color:var(--color-error)}.details-section.error{background-color:#2d1b1b;border:1px solid #cc0000;border-radius:var(--radius-md);padding:var(--space-3)}.error-message{color:#f66;font-size:var(--font-size-sm);margin:0;line-height:1.5}.loading-indicator{display:inline-block;margin-left:var(--space-2);font-size:var(--font-size-sm);color:#06c;animation:spin 1s linear infinite}.skeleton-loader{padding:var(--space-2) 0}.skeleton-line{height:16px;background:linear-gradient(90deg,#333,#444,#333);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.skeleton-line.short{width:60%}.skeleton-feature{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.skeleton-badge{width:24px;height:24px;border-radius:50%;background:linear-gradient(90deg,#333,#444,#333);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;flex-shrink:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-state{padding:var(--space-3);background-color:#2d1b1b;border:1px solid #cc0000;border-radius:var(--radius-md);text-align:center}.error-state .error-message{color:#f66;font-size:var(--font-size-sm);margin:0 0 var(--space-2) 0;line-height:1.5}.retry-button{padding:var(--space-2) var(--space-3);background-color:#06c;color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background-color .15s ease}.retry-button:hover{background-color:#0052a3}.retry-button:focus{outline:2px solid #0066cc;outline-offset:2px}.retry-button:active{transform:translateY(1px)}.empty-state{color:#888;font-size:var(--font-size-sm);text-align:center;padding:var(--space-3);font-style:italic}@media (max-width: 1023px){.details-column{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.app-layout__content:has(.drawing-results-page){padding:0!important;overflow:hidden!important;max-width:none!important}.app-layout__content>.drawing-results-page{max-width:none!important;margin:0!important;width:100%!important}.drawing-results-page{display:flex;flex-direction:column;height:calc(100vh - 64px);width:100%;overflow:hidden;background:var(--surface-primary);position:relative}.drawing-results-page.loading,.drawing-results-page.error{justify-content:center;align-items:center}.results-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);border-bottom:1px solid var(--border-color);background:var(--surface-primary);flex-shrink:0}.results-toolbar h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.results-layout{display:grid;grid-template-columns:240px 1fr 352px;gap:0;flex:1;overflow:hidden;min-height:0;width:100%}.drawing-list-column{display:flex;flex-direction:column;border-right:1px solid var(--border-color);background:var(--surface-secondary);overflow:hidden}.column-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);border-bottom:1px solid var(--border-color);background:var(--surface-primary);flex-shrink:0}.column-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.processing-indicator{color:var(--color-info);animation:spin 2s linear infinite}.drawing-list{flex:1;overflow-y:auto;overflow-x:hidden}.drawing-list-item{display:flex;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .15s ease;background:var(--surface-primary);outline:none}.drawing-list-item:hover{background:var(--surface-secondary)}.drawing-list-item:focus{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:1}.drawing-list-item.selected{background:var(--color-primary-light);border-left:3px solid var(--color-primary);padding-left:calc(var(--space-2) - 3px)}.drawing-thumbnail{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-secondary);border:1px solid var(--border-color)}.drawing-thumbnail img{width:100%;height:100%;object-fit:cover}.drawing-thumbnail.placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface-tertiary)}.thumbnail-icon{font-size:var(--font-size-xl);opacity:.5}.drawing-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.drawing-filename{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.drawing-meta{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted)}.status-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px}.status-badge.success{color:var(--color-success);background:var(--color-success-light)}.status-badge.processing{color:var(--color-info);background:var(--color-info-light);animation:spin 2s linear infinite}.status-badge.pending{color:var(--text-muted);background:var(--surface-tertiary)}.status-badge.error{color:var(--color-danger);background:var(--color-danger-light)}.page-count{font-size:var(--font-size-xs);color:var(--text-muted)}.canvas-column{position:relative;display:flex;flex-direction:column;background:#e8e8e8;overflow:hidden;min-width:0;min-height:0}.canvas-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-muted);background:#e8e8e8}.canvas-placeholder p{margin:0;font-size:var(--font-size-base)}.canvas-placeholder.error{color:var(--color-danger)}.canvas-placeholder .error-icon{font-size:48px;color:var(--color-danger)}.canvas-placeholder .error-detail{font-size:var(--font-size-sm);color:var(--text-secondary);max-width:400px;text-align:center}.details-column{display:flex;flex-direction:column;border-left:1px solid var(--border-color);background:var(--surface-primary);overflow:hidden}.details-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-2)}.details-section{margin-bottom:var(--space-3)}.details-section:last-child{margin-bottom:0}.details-section h3{margin:0 0 var(--space-2) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:var(--font-size-sm);color:var(--text-muted);flex-shrink:0}.detail-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);text-align:right;word-break:break-word}.detail-value.warning{color:var(--color-warning)}.details-section.error{padding:var(--space-2);background:var(--color-danger-light);border-radius:var(--radius-md);border:1px solid var(--color-danger)}.details-section.error h3{color:var(--color-danger)}.error-message{margin:0;font-size:var(--font-size-sm);color:var(--color-danger);line-height:1.5}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.no-selection p{margin:0}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);text-align:center}.loading-state p,.error-state p{margin:0;color:var(--text-muted)}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1023px){.results-layout{grid-template-columns:240px 1fr}.details-column{display:none}}@media (max-width: 767px){.results-toolbar{padding:var(--space-2)}.results-toolbar h1{font-size:var(--font-size-lg)}.results-layout{grid-template-columns:1fr}.drawing-list-column{display:none}}.search-bar{margin-bottom:2rem;width:100%}.search-input-wrapper{position:relative;display:flex;align-items:center;margin-bottom:.875rem}.search-input{width:100%;padding:.875rem 3.25rem .875rem 1.125rem;font-size:1rem;font-family:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.search-input::placeholder{color:var(--subtle);opacity:.8}.search-input:hover{border-color:color-mix(in oklab,var(--line) 70%,var(--primary) 30%)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2f7cf626,0 2px 8px #00000026;background:var(--panel)}.clear-button{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);padding:.375rem;background:transparent;border:none;color:var(--subtle);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.clear-button:hover{background:var(--panel);color:var(--text);transform:translateY(-50%) scale(1.05)}.clear-button:active{transform:translateY(-50%) scale(.95)}.clear-button:focus{outline:2px solid var(--primary);outline-offset:2px}.results-count{font-size:.875rem;color:var(--subtle);padding-left:.375rem;line-height:1.5;font-weight:500}@media (max-width: 1024px){.search-bar{margin-bottom:1.75rem}.search-input{padding:.8125rem 3rem .8125rem 1rem}}@media (max-width: 768px){.search-bar{margin-bottom:1.5rem}.search-input{font-size:.9375rem;padding:.75rem 2.875rem .75rem .875rem}.clear-button{right:.75rem;padding:.3125rem}.results-count{font-size:.8125rem}}@media (max-width: 480px){.search-input{font-size:.875rem;padding:.6875rem 2.75rem .6875rem .75rem}.clear-button{right:.625rem}.results-count{font-size:.75rem}}.drawing-tile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:all .2s ease;outline:none;box-shadow:0 2px 6px #00000026;height:100%}.drawing-tile:hover{border-color:var(--primary);box-shadow:0 6px 16px #00000040,0 0 0 1px var(--primary);transform:translateY(-3px)}.drawing-tile:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2f7cf633,0 4px 12px #0003}.drawing-tile:active{transform:translateY(-1px);box-shadow:0 4px 10px #0003}.tile-thumbnail{position:relative;width:100%;aspect-ratio:1;background:linear-gradient(135deg,var(--bg) 0%,var(--surface) 50%,var(--bg) 100%);background-size:200% 200%;animation:shimmer 2.5s ease-in-out infinite;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.tile-thumbnail:has(img.loaded){animation:none;background:var(--bg)}.tile-thumbnail img{width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .4s ease;padding:.5rem}.tile-thumbnail img.loaded{opacity:1}.tile-thumbnail img.loading{opacity:0}.thumbnail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:.875rem;color:var(--subtle);padding:1rem}.placeholder-icon{width:3.5rem;height:3.5rem;opacity:.4;color:var(--muted)}.thumbnail-loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-spinner{width:2.25rem;height:2.25rem;color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-icon{width:1.75rem;height:1.75rem}.status-completed{color:var(--success)}.status-processing{color:var(--primary);animation:spin 2s linear infinite}.status-pending{color:var(--accent)}.status-failed{color:var(--danger)}.tile-info{padding:.875rem;display:flex;flex-direction:column;gap:.625rem;background:var(--surface);flex:1}.tile-filename{margin:0;font-size:.9375rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.tile-meta{display:flex;justify-content:space-between;align-items:center;gap:.625rem;font-size:.8125rem;color:var(--subtle)}.tile-date{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.tile-status{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.tile-status .status-icon{width:1rem;height:1rem}.status-label{font-size:.8125rem;font-weight:600}.tile-status-completed .status-label{color:var(--success)}.tile-status-processing .status-label{color:var(--primary)}.tile-status-pending .status-label{color:var(--accent)}.tile-status-failed .status-label{color:var(--danger)}@media (max-width: 1024px){.tile-info{padding:.8125rem}.tile-filename{font-size:.875rem}.tile-meta,.status-label{font-size:.75rem}}@media (max-width: 768px){.drawing-tile:hover{transform:translateY(-2px)}.tile-info{padding:.75rem;gap:.5rem}.tile-filename{font-size:.8125rem}.tile-meta,.status-label{font-size:.6875rem}.placeholder-icon{width:3rem;height:3rem}.status-icon{width:1.5rem;height:1.5rem}.tile-status .status-icon{width:.875rem;height:.875rem}.loading-spinner{width:2rem;height:2rem}}@media (max-width: 480px){.tile-info{padding:.625rem}.tile-filename{font-size:.75rem}.tile-meta{font-size:.625rem;gap:.5rem}.status-label{display:none}.tile-thumbnail img{padding:.375rem}}.drawing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;width:100%;padding:0;margin:0;list-style:none}.drawing-grid-item{list-style:none;margin:0;padding:0}@media (min-width: 1400px){.drawing-grid{grid-template-columns:repeat(auto-fit,minmax(240px,280px));gap:1.5rem}}@media (min-width: 1024px) and (max-width: 1399px){.drawing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,260px));gap:1.25rem}}@media (min-width: 768px) and (max-width: 1023px){.drawing-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}}@media (min-width: 480px) and (max-width: 767px){.drawing-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.875rem}}@media (max-width: 479px){.drawing-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}}@media (max-width: 360px){.drawing-grid{grid-template-columns:1fr;gap:.75rem}}.drawing-archive-page{padding:2rem;max-width:1400px;margin:0 auto;min-height:calc(100vh - 4rem)}.archive-header{margin-bottom:2rem}.archive-header h1{font-size:2rem;font-weight:700;color:var(--text);margin:0 0 .5rem;line-height:1.2}.archive-header p{font-size:1rem;color:var(--subtle);margin:0;line-height:1.5}.archive-content{margin-top:2rem}.drawing-archive-page.loading,.drawing-archive-page.error,.drawing-archive-page.empty{display:flex;justify-content:center;align-items:center;min-height:60vh}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem 2rem;max-width:500px;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--line)}.loading-state p,.error-state p,.empty-state p{color:var(--muted);margin:1rem 0;font-size:1rem;line-height:1.6}.spinner{width:48px;height:48px;border:4px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.error-state{color:var(--text)}.error-icon{font-size:3.5rem;margin-bottom:1.5rem;filter:grayscale(.3)}.error-state h2{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:var(--text)}.retry-button{margin-top:2rem;padding:.875rem 2rem;background:var(--primary);color:var(--text);border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #2f7cf633}.retry-button:hover{background:color-mix(in oklab,var(--primary) 85%,white 15%);transform:translateY(-1px);box-shadow:0 4px 12px #2f7cf64d}.retry-button:active{transform:translateY(0);box-shadow:0 2px 6px #2f7cf633}.retry-button:focus{outline:2px solid var(--primary);outline-offset:3px}.empty-state{color:var(--text)}.empty-icon{font-size:4.5rem;margin-bottom:1.5rem;opacity:.4;filter:grayscale(.5)}.empty-state h2{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:var(--text)}.upload-button{display:inline-block;margin-top:2rem;padding:.875rem 2rem;background:var(--primary);color:var(--text);text-decoration:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #2f7cf633}.upload-button:hover{background:color-mix(in oklab,var(--primary) 85%,white 15%);transform:translateY(-1px);box-shadow:0 4px 12px #2f7cf64d}.upload-button:active{transform:translateY(0);box-shadow:0 2px 6px #2f7cf633}.upload-button:focus{outline:2px solid var(--primary);outline-offset:3px}.no-results-state{text-align:center;padding:4rem 2rem;max-width:500px;margin:3rem auto;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--line)}.no-results-icon{font-size:3.5rem;margin-bottom:1.5rem;opacity:.4;filter:grayscale(.5)}.no-results-state h2{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:var(--text)}.no-results-state p{color:var(--muted);margin:.75rem 0 2rem;font-size:1rem;line-height:1.6}.clear-search-button{padding:.875rem 2rem;background:var(--primary);color:var(--text);border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #2f7cf633}.clear-search-button:hover{background:color-mix(in oklab,var(--primary) 85%,white 15%);transform:translateY(-1px);box-shadow:0 4px 12px #2f7cf64d}.clear-search-button:active{transform:translateY(0);box-shadow:0 2px 6px #2f7cf633}.clear-search-button:focus{outline:2px solid var(--primary);outline-offset:3px}@media (max-width: 1024px){.drawing-archive-page{padding:1.5rem}.archive-header h1{font-size:1.75rem}.loading-state,.error-state,.empty-state,.no-results-state{max-width:450px}}@media (max-width: 768px){.drawing-archive-page{padding:1rem}.archive-header{margin-bottom:1.5rem}.archive-header h1{font-size:1.5rem}.archive-header p{font-size:.9375rem}.archive-content{margin-top:1.5rem}.loading-state,.error-state,.empty-state{padding:2rem 1.5rem;max-width:100%}.no-results-state{padding:3rem 1.5rem;margin:2rem auto;max-width:100%}.error-icon,.empty-icon,.no-results-icon{font-size:3rem}.error-state h2,.empty-state h2,.no-results-state h2{font-size:1.25rem}.retry-button,.upload-button,.clear-search-button{padding:.75rem 1.5rem;font-size:.9375rem;width:100%;max-width:280px}.spinner{width:40px;height:40px;border-width:3px}}@media (max-width: 480px){.drawing-archive-page{padding:.75rem}.archive-header h1{font-size:1.375rem}.loading-state,.error-state,.empty-state{padding:1.5rem 1rem}.no-results-state{padding:2.5rem 1rem}}.container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-5)}.page{min-height:100vh;display:flex;flex-direction:column}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-3)}.auth-card{background:linear-gradient(180deg,color-mix(in oklab,var(--surface) 85%,black 15%),var(--panel));border:var(--card-border-width) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:var(--space-7);width:100%;max-width:var(--container-auth-card)}.auth-card h1{margin:0 0 var(--space-1);font-size:var(--font-size-2xl);text-align:center}.auth-card p{text-align:center;margin:0 0 var(--space-6);color:var(--muted)}.form-group{margin-bottom:var(--space-form-group)}.form-group label{display:block;margin-bottom:var(--space-1);color:var(--text);font-weight:var(--font-weight-semibold)}.form-group input{width:100%;padding:var(--space-input-padding-y) var(--space-input-padding-x);background:color-mix(in oklab,var(--surface) 85%,black 15%);color:var(--text);border:var(--input-border-width) solid var(--line);border-radius:var(--input-radius);font-size:var(--font-size-base);font-family:var(--font-family-base);transition:var(--input-transition)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-group input::placeholder{color:var(--subtle)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-button-padding-y) var(--space-button-padding-x);border-radius:var(--button-radius);font-weight:var(--button-font-weight);border:var(--card-border-width) solid transparent;font-size:var(--font-size-base);font-family:var(--font-family-base);cursor:pointer;transition:var(--button-transition);text-decoration:none}.btn--primary{color:var(--color-gray-900);background:linear-gradient(180deg,var(--primary),color-mix(in oklab,var(--primary) 45%,var(--accent) 55%));border-color:color-mix(in oklab,var(--primary) 60%,white 40%)}.btn--primary:hover{transform:translateY(-1px)}.btn--primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.btn--secondary{color:var(--text);background:color-mix(in oklab,var(--panel) 80%,var(--primary) 20%);border-color:color-mix(in oklab,var(--primary) 35%,var(--line) 65%)}.btn--secondary:hover{background:color-mix(in oklab,var(--panel) 70%,var(--primary) 30%)}.btn--full{width:100%}.error-message{background:color-mix(in oklab,var(--danger) 15%,var(--panel) 85%);border:var(--card-border-width) solid color-mix(in oklab,var(--danger) 40%,var(--line) 60%);border-radius:var(--radius-sm);padding:var(--space-input-padding-y) var(--space-input-padding-x);color:var(--danger);margin-bottom:var(--space-form-group);font-size:var(--font-size-sm)}.success-message{background:color-mix(in oklab,var(--success) 15%,var(--panel) 85%);border:var(--card-border-width) solid color-mix(in oklab,var(--success) 40%,var(--line) 60%);border-radius:var(--radius-sm);padding:var(--space-input-padding-y) var(--space-input-padding-x);color:var(--success);margin-bottom:var(--space-form-group);font-size:var(--font-size-sm)}.info-message{background:color-mix(in oklab,var(--primary) 10%,var(--panel) 90%);border:var(--card-border-width) solid color-mix(in oklab,var(--primary) 30%,var(--line) 70%);border-radius:var(--radius-sm);padding:var(--space-input-padding-y) var(--space-input-padding-x);color:var(--text);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.auth-footer{text-align:center;margin-top:var(--space-5);padding-top:var(--space-5);border-top:var(--card-border-width) solid var(--line);color:var(--muted)}.auth-footer a{color:var(--primary);font-weight:var(--font-weight-semibold)}.auth-footer a:hover{color:var(--accent)}.header{position:sticky;top:0;z-index:var(--z-index-sticky);-webkit-backdrop-filter:var(--header-backdrop-blur);backdrop-filter:var(--header-backdrop-blur);background:color-mix(in oklab,var(--bg) 82%,black 18%);border-bottom:var(--card-border-width) solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;height:var(--header-height)}.logo{display:inline-flex;align-items:center;text-decoration:none;transition:var(--transition-opacity)}.logo:hover{opacity:var(--opacity-hover)}.auth-logo{text-align:center;margin-bottom:var(--space-6)}.auth-logo img{height:var(--space-8);display:inline-block}.nav-actions{display:flex;gap:var(--space-3);align-items:center}.user-info{color:var(--muted);font-size:var(--font-size-sm)}.main-content{flex:1;padding:var(--space-8) 0}.card{background:linear-gradient(180deg,color-mix(in oklab,var(--surface) 85%,black 15%),var(--panel));border:var(--card-border-width) solid var(--line);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--space-card-padding)}.loading{display:flex;align-items:center;justify-content:center;min-height:var(--space-12);color:var(--muted)}@media (max-width: var(--breakpoint-sm)){.auth-card{padding:var(--space-6) var(--space-5)}.btn{padding:var(--space-2) var(--space-4)}}
