:root{--color-primary: #683D94;--color-primary-dark: #552F7A;--color-lite-purple: #A48BBF;--color-primary-light: var(--color-lite-purple);--color-lite-purple-bg: #F3E5F5;--color-primary-purple: var(--color-primary);--color-primary-purple-dark: var(--color-primary-dark);--color-primary-purple-light: #7D4CAF;--color-secondary: #99CC33;--color-secondary-light: #b3d966;--color-secondary-dark: #85b82e;--color-green-accent: var(--color-secondary);--color-green-accent-dark: #88BB22;--color-green-accent-light: #E8F5E9;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #333333;--color-gray-800: #2a2a2a;--color-gray-900: #1a1a1a;--color-dark-gray: var(--color-gray-700);--color-medium-gray: #666666;--color-light-gray: #E0E0E0;--color-text: var(--color-gray-900);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-light: var(--color-gray-600);--color-text-muted: var(--color-gray-500);--color-background: #F5F5F5;--color-background-light: #FAFAFA;--color-background-card: #F8F8F8;--color-background-subtle: var(--color-gray-50);--color-background-input: #ffffff;--color-card-bg: #ffffff;--color-white: #FFFFFF;--color-bg-secondary: var(--color-gray-100);--color-border: var(--color-gray-200);--color-border-light: var(--color-gray-100);--color-border-medium: var(--color-gray-300);--color-border-strong: #000000;--color-success: #4CAF50;--color-success-bg: #E8F5E9;--color-success-light: #b3d966;--color-success-dark: #85b82e;--color-error: #D32F2F;--color-error-bg: #FFEBEE;--color-error-light: #f87171;--color-error-dark: #dc2626;--color-warning: #FFA000;--color-warning-bg: #FFF9E6;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-info: var(--color-primary);--color-info-bg: #F3E5F5;--color-info-light: var(--color-lite-purple);--color-info-dark: var(--color-primary-dark);--color-dermatology: #A48BBF;--color-neurology: #683D94;--color-cardiology: #ef4444;--color-pulmonology: #99CC33;--color-gastroenterology: #f59e0b;--focus-ring-color: rgba(104, 61, 148, .1);--focus-ring: 0 0 0 3px var(--focus-ring-color);--focus-ring-strong: 0 0 0 3px rgba(104, 61, 148, .35);--color-success-hover: #43A047;--color-error-hover: #C62828;--color-info-blue: #2196F3;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--spacing-xs: var(--space-sm);--spacing-sm: var(--space-md);--spacing-md: var(--space-lg);--spacing-lg: var(--space-xl);--spacing-xl: var(--space-2xl);--spacing-2xl: var(--space-3xl);--spacing-3xl: 5rem;--spacing-4xl: 6rem;--radius-none: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-2xl: 0;--radius-control: 0;--radius-card: 0;--radius-panel: 0;--radius-modal: 0;--radius-pill: 9999px;--radius-circle: 50%;--radius-full: var(--radius-pill);--border-radius-sm: var(--radius-sm);--border-radius-md: var(--radius-md);--border-radius-lg: var(--radius-lg);--border-radius-xl: var(--radius-xl);--border-radius-2xl: var(--radius-2xl);--border-radius-pill: var(--radius-pill);--border-width: 1px;--border-width-thick: 2px;--border-width-accent: 4px;--border-strong: var(--border-width) solid var(--color-border-strong);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .16);--shadow-medium: var(--shadow-md);--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "SFMono-Regular", "Monaco", "Consolas", "Courier New", monospace;--font-family-primary: var(--font-body);--font-family-mono: var(--font-mono);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-size-h1: var(--text-5xl);--font-size-h2: var(--text-4xl);--font-size-h3: var(--text-2xl);--font-size-h4: var(--text-lg);--font-size-body-large: var(--text-base);--font-size-body: var(--text-sm);--font-size-body-small: var(--text-xs);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--line-height-heading: 1.2;--line-height-body: 1.6;--transition-fast: .2s ease;--transition-normal: .25s ease;--transition-base: .3s ease;--transition-medium: .3s ease;--transition-slow: .4s ease;--layout-sidebar-width: 280px;--layout-sidebar-bg: #5A5A5A;--layout-sidebar-collapsed-width: 70px;--layout-header-height: 110px;--layout-content-bg: var(--color-background);--page-width-default: 1200px;--page-width-wide: 1400px;--page-width-full: 1600px;--page-padding-x: var(--space-xl);--page-padding-y: var(--space-xl);--max-content-width: var(--page-width-default);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--breakpoint-mobile: 768px;--breakpoint-tablet: 1024px}@media (max-width: 768px){:root{--font-size-h1: 2.25rem;--font-size-h2: 1.75rem;--font-size-h3: 1.25rem;--font-size-h4: 1rem;--spacing-xl: 2rem;--spacing-2xl: 3rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-dark-gray);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:var(--font-mono)}p{margin:0 0 var(--space-md) 0;line-height:var(--leading-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}h1,.h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);color:var(--color-dark-gray);margin-bottom:var(--spacing-md)}h2,.h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);color:var(--color-dark-gray);margin-bottom:var(--spacing-md)}h3,.h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);color:var(--color-dark-gray);margin-bottom:var(--spacing-sm)}h4,.h4{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);color:var(--color-dark-gray);margin-bottom:var(--spacing-sm)}h5{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-normal);margin:0 0 var(--space-sm) 0;color:var(--color-text)}h6{font-size:var(--text-base);font-weight:600;line-height:var(--leading-normal);margin:0 0 var(--space-sm) 0;color:var(--color-text)}.text-large{font-size:var(--font-size-body-large);color:var(--color-dark-gray)}.text-body{font-size:var(--font-size-body);color:var(--color-medium-gray)}.text-small{font-size:var(--font-size-body-small);color:var(--color-medium-gray)}.text-primary{color:var(--color-primary-purple)}.text-accent{color:var(--color-green-accent)}.text-dark{color:var(--color-dark-gray)}.text-medium{color:var(--color-medium-gray)}.text-light{color:var(--color-light-gray)}.bg-primary{background-color:var(--color-primary-purple)}.bg-lite-purple{background-color:var(--color-lite-purple)}.bg-accent{background-color:var(--color-green-accent)}.bg-background{background-color:var(--color-background)}.bg-white{background-color:var(--color-white)}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.font-regular{font-weight:var(--font-weight-regular)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--layout-sidebar-width);background-color:var(--layout-sidebar-bg);display:flex;flex-direction:column;z-index:1010;transition:width .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden}.sidebar-collapsed{width:var(--layout-sidebar-collapsed-width)}.sidebar-brand{padding:32px 24px;background-color:var(--color-primary);border-bottom:none;min-height:var(--layout-header-height);display:flex;align-items:center}.sidebar-brand-text{font-size:24px;font-weight:400;color:var(--color-white);white-space:nowrap;letter-spacing:.5px;overflow:hidden}.sidebar-collapsed .sidebar-brand{padding:32px 12px;justify-content:center}.sidebar-collapsed .sidebar-brand-text{display:none}.sidebar-nav{list-style:none;padding:0;margin:0;flex:1}.sidebar-nav li{margin:0}.sidebar-nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);color:var(--color-white);text-decoration:none;transition:all var(--transition-fast);position:relative;white-space:nowrap}.sidebar-nav-item:hover{background-color:var(--color-primary);color:var(--color-white);text-decoration:none}.sidebar-nav-item-active{background-color:transparent;border-left:var(--border-width-accent) solid var(--color-primary);padding-left:calc(var(--spacing-sm) - var(--border-width-accent));color:var(--color-white);text-decoration:none}.sidebar-nav-icon{width:24px;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center}.sidebar-nav-icon img{width:100%;height:100%;object-fit:contain}.sidebar-nav-label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-white);text-decoration:none}.sidebar-collapsed .sidebar-nav-label{display:none}.sidebar-toggle{position:absolute;bottom:var(--spacing-md);right:var(--spacing-sm);background-color:#fff3;border:none;color:var(--color-white);width:32px;height:32px;border-radius:var(--border-radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all var(--transition-fast)}.sidebar-toggle:hover{background-color:#ffffff4d}.sidebar-mobile-toggle{display:none;position:fixed;top:var(--spacing-md);left:var(--spacing-md);z-index:calc(var(--z-index-fixed) + 1);background-color:var(--color-primary-purple);border:none;color:var(--color-white);width:48px;height:48px;border-radius:var(--border-radius-md);cursor:pointer;font-size:24px;box-shadow:var(--shadow-lg)}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar{transform:translate(-100%);width:240px}.sidebar-collapsed{transform:translate(0)}.sidebar-collapsed .sidebar-nav-label{display:block}.sidebar-mobile-toggle{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:calc(var(--z-index-fixed) - 1)}.sidebar-toggle{display:none}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#ffffff0d}.sidebar::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-pill)}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.header{position:fixed;top:0;left:var(--layout-sidebar-width);right:0;height:var(--layout-header-height);background-color:#fff;border-bottom:var(--border-width) solid var(--color-border-strong);z-index:var(--z-index-sticky);transition:left .3s cubic-bezier(.4,0,.2,1)}.header.header-collapsed{left:var(--layout-sidebar-collapsed-width)}.header-content{display:flex;justify-content:space-between;align-items:center;height:100%;padding:0 var(--spacing-lg);max-width:100%}.header-left{flex:1;min-width:0}.header-logo-container{display:flex;align-items:center}.header-logo{height:60px;width:auto;object-fit:contain}.header-title-container{display:flex;flex-direction:column;gap:8px}.header-title{font-size:32px;font-weight:300;color:var(--color-medium-gray);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{font-size:15px;font-weight:400;color:var(--color-text-muted);margin:0;line-height:1.5}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}@media (max-width: 768px){.header{left:0;height:90px}.header.header-collapsed{left:0}.header-content{padding:0 var(--spacing-md);padding-left:72px}.header-logo{height:40px}.header-title{font-size:20px;white-space:normal}.breadcrumb{font-size:var(--font-size-body-small);flex-wrap:wrap}.breadcrumb-item{font-size:12px}}@media (max-width: 480px){.header{height:70px}.header-title{font-size:16px}.header-logo{height:35px}.user-menu-button{flex-direction:column;padding:8px}.user-name{display:none}.user-dropdown-menu{right:0;left:auto;width:240px}}.user-menu-container{position:relative;display:flex;align-items:center}.user-menu-button{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#fff;border:var(--border-width) solid var(--color-border);border-radius:0;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.user-menu-button:hover{background-color:var(--color-gray-50);border-color:var(--color-primary)}.user-avatar{width:36px;height:36px;border-radius:var(--radius-circle);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.user-name{font-size:14px;font-weight:500;color:var(--color-gray-600);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-icon{transition:transform .2s ease;color:var(--color-gray-500)}.dropdown-icon.open{transform:rotate(180deg)}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border:var(--border-width) solid var(--color-border-strong);border-radius:0;box-shadow:var(--shadow-lg);z-index:var(--z-index-dropdown);animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{padding:16px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-purple-light) 100%);color:#fff}.user-dropdown-name{font-size:16px;font-weight:600;margin-bottom:4px}.user-dropdown-email{font-size:13px;opacity:.9;margin-bottom:8px}.user-dropdown-role{display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;background:#fff3;border-radius:var(--radius-none);text-transform:uppercase;letter-spacing:.5px}.user-dropdown-divider{height:1px;background-color:var(--color-border)}.user-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;font-size:14px;font-weight:500;color:var(--color-gray-600);text-align:left;cursor:pointer;transition:background-color .15s ease;font-family:Inter,sans-serif}.user-dropdown-item:hover{background-color:var(--color-gray-100)}.user-dropdown-item svg{color:var(--color-gray-500)}.user-dropdown-item.logout{color:var(--color-error-dark);border-top:var(--border-width) solid var(--color-border)}.user-dropdown-item.logout svg{color:var(--color-error-dark)}.user-dropdown-item.logout:hover{background-color:var(--color-error-bg)}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(400px,44%) 1fr;background:var(--color-white)}.login-brand-panel{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-2xl);padding:clamp(2rem,4vw,3.5rem);color:var(--color-white);border-right:var(--border-width) solid var(--color-border-strong);background-color:var(--color-primary);background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(165deg,var(--color-primary) 30%,var(--color-primary-dark) 100%);background-size:48px 48px,48px 48px,cover;position:relative;overflow:hidden}.login-accent-square{display:inline-block;width:10px;height:10px;background:var(--color-secondary);flex-shrink:0}.login-form-eyebrow{display:flex;align-items:center;gap:.6rem;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.login-brand-logo{width:150px;height:auto;display:block}.login-brand-main{max-width:30rem}.login-wordmark{margin:0 0 1rem;font-size:clamp(2.25rem,4vw,3rem);font-weight:400;line-height:1.05;letter-spacing:.5px;color:var(--color-white)}.login-wordmark-tm{font-size:.3em;font-weight:600;color:var(--color-secondary);vertical-align:super;letter-spacing:0}.login-tagline{margin:0;font-size:15px;line-height:1.6;color:#ffffffbf;max-width:34ch}.login-modules{list-style:none;margin:2.5rem 0 0;padding:0}.login-module{display:flex;align-items:baseline;gap:1.25rem;padding:.85rem 0;border-top:1px solid rgba(255,255,255,.22)}.login-module:last-child{border-bottom:1px solid rgba(255,255,255,.22)}.login-module-index{font-family:var(--font-mono);font-size:12px;color:var(--color-secondary)}.login-module-name{font-size:14px;font-weight:500;letter-spacing:.02em;color:#ffffffeb}.login-brand-foot{display:flex;justify-content:space-between;gap:1rem;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:clamp(2rem,5vw,4rem) 2rem;background:var(--color-white)}.login-form-inner{width:100%;max-width:480px}.login-form-header{border-top:3px solid var(--color-border-strong);padding-top:1.5rem;margin-bottom:1.75rem}.login-form-eyebrow{color:var(--color-medium-gray);margin-bottom:.9rem}.login-form-heading{margin:0 0 .4rem;font-size:28px;font-weight:700;letter-spacing:-.01em;color:var(--color-primary)}.login-form-subheading{margin:0;font-size:14px;color:var(--color-medium-gray)}.login-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.signup-steps{display:flex;align-items:center;justify-content:flex-start;gap:0;margin-bottom:1.5rem}.signup-step-dot{width:34px;height:34px;border-radius:0;border:var(--border-width) solid var(--color-border-medium);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--color-medium-gray);background:var(--color-white);flex-shrink:0;transition:all .2s ease}.signup-step-dot.active{border-color:var(--color-border-strong);background:var(--color-primary);color:var(--color-white)}.signup-step-line{width:56px;height:1px;background:var(--color-border-medium);transition:background .2s ease}.signup-step-line.active{background:var(--color-border-strong)}.signup-step-nav{display:flex;gap:.75rem;margin-top:.25rem}.signup-step-nav .login-button{flex:1;margin-top:0}.back-button{flex:0 0 auto}.login-error{padding:.75rem 1rem;background-color:var(--color-error-bg);border:1px solid var(--color-error);border-left-width:3px;border-radius:0;color:var(--color-error);font-size:14px}.login-button{margin-top:.5rem}.forgot-password-link{text-align:center;margin-top:.25rem}.forgot-password-link a{color:var(--color-primary);font-size:13px;font-weight:500;text-decoration:none;transition:color .2s ease}.forgot-password-link a:hover{color:var(--color-primary-dark);text-decoration:underline}.login-toggle{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--color-light-gray);display:flex;align-items:center;justify-content:center;gap:.5rem}.login-toggle-text{font-size:14px;color:var(--color-medium-gray)}.toggle-button{background:transparent;border:none;color:var(--color-primary);font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;transition:color .2s ease}.toggle-button:hover{color:var(--color-primary-dark)}.purpose-select option[value=""]{color:var(--color-medium-gray)}.other-input{margin-top:.5rem}.disclaimer-box{max-height:220px;overflow-y:auto;border-left:3px solid var(--color-primary);border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:.75rem 1rem;background-color:var(--color-background-light);font-size:12.5px;color:var(--color-dark-gray);line-height:1.65}.disclaimer-intro{margin:0 0 .5rem;font-style:italic}.disclaimer-box ul{margin:0;padding-left:1.1rem}.disclaimer-box li{margin-bottom:.45rem}.disclaimer-box li:last-child{margin-bottom:0}.disclaimer-box::-webkit-scrollbar{width:5px}.disclaimer-box::-webkit-scrollbar-track{background:var(--color-gray-100)}.disclaimer-box::-webkit-scrollbar-thumb{background:#c0a8d8;border-radius:var(--radius-pill)}.agree-check{display:flex;align-items:center;gap:.6rem;margin-top:.6rem;padding:.6rem .75rem;background:#f9f5ff;border:1px solid #DDD0EE;cursor:pointer;-webkit-user-select:none;user-select:none}.agree-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}.agree-check span{font-size:13.5px;font-weight:500;color:var(--color-text);line-height:1.3}@media (prefers-reduced-motion: no-preference){@keyframes login-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-brand-main,.login-brand-foot{animation:login-fade-up .5s ease both}.login-brand-foot{animation-delay:.15s}.login-module{animation:login-fade-up .45s ease both}.login-module:nth-child(1){animation-delay:.1s}.login-module:nth-child(2){animation-delay:.18s}.login-module:nth-child(3){animation-delay:.26s}.login-module:nth-child(4){animation-delay:.34s}.login-form-inner{animation:login-fade-up .4s ease both;animation-delay:.1s}}@media (max-width: 900px){.login-page{grid-template-columns:1fr}.login-brand-panel{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-right:none;border-bottom:var(--border-width) solid var(--color-border-strong)}.login-brand-main{max-width:none}.login-brand-logo{width:110px}.login-wordmark{margin:0;font-size:1.5rem}.login-tagline,.login-modules,.login-brand-foot{display:none}.login-form-panel{align-items:flex-start;padding:2.5rem 1.5rem}.form-row{grid-template-columns:1fr}}.reset-success{text-align:center;padding:1rem 0}.reset-success p{font-size:15px;color:#333;line-height:1.6;margin:0 0 .5rem;font-family:Inter,sans-serif}.reset-check-email{color:var(--color-medium-gray);font-size:13px;margin-bottom:1.5rem}.back-to-login{display:inline-block;padding:.75rem 1.5rem;background-color:#683d94;color:#fff;text-decoration:none;font-size:14px;font-weight:600;font-family:Inter,sans-serif;transition:background-color .2s ease}.back-to-login:hover{background-color:#552f7a}.navigation-chat-button{position:fixed;bottom:7rem;right:2rem;z-index:9998;width:48px;height:48px;padding:0;border-radius:var(--radius-circle);background:var(--color-primary-purple);border:var(--border-width-thick) solid var(--color-primary-purple-dark);box-shadow:4px 4px #683d9433;display:flex;align-items:center;justify-content:center;gap:0;cursor:pointer;transition:all var(--transition-fast);color:var(--color-white);font-weight:var(--font-weight-bold);font-size:12px;letter-spacing:.5px}.navigation-chat-button:hover{background-color:var(--color-primary-purple-dark);transform:translate(-2px,-2px);box-shadow:6px 6px #683d9440}.navigation-chat-button:active{transform:translate(0);box-shadow:2px 2px #683d9433}.navigation-chat-button-icon{color:var(--color-white);display:flex;align-items:center;justify-content:center}.navigation-chat-button-icon svg{width:20px;height:20px}.navigation-chat-button-label{display:none}.navigation-chat-button.pulse{animation:pulse-brutalist 1.5s ease-in-out 3}@keyframes pulse-brutalist{0%{box-shadow:4px 4px #683d9433;transform:translate(0)}50%{box-shadow:8px 8px #683d9466,0 0 0 4px #683d941a;transform:translate(-2px,-2px)}to{box-shadow:4px 4px #683d9433;transform:translate(0)}}@media (max-width: 768px){.navigation-chat-button{bottom:10rem;right:1rem;box-shadow:3px 3px #683d9433}.navigation-chat-button:hover{box-shadow:4px 4px #683d9440}.navigation-chat-button-icon svg{width:16px;height:16px}.navigation-chat-button-label{font-size:10px}}@media (max-width: 480px){.navigation-chat-button{bottom:9rem;right:var(--spacing-sm)}.navigation-chat-button-icon svg{width:18px;height:18px}}.card{background-color:var(--color-white);border-radius:var(--radius-card);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:var(--border-width) solid var(--color-light-gray);transition:all var(--transition-base)}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-strong{border:var(--border-strong)}.card-highlighted{background-color:var(--color-lite-purple);border:none}.card-compact{padding:var(--spacing-sm)}.card-large{padding:var(--spacing-2xl)}.page-shell{width:100%;max-width:var(--page-width-default);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x)}.page-shell--wide{max-width:var(--page-width-wide)}.page-shell--full{max-width:var(--page-width-full)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--spacing-md)}.form-label,label{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-xs)}.form-input,.form-select,.form-textarea,input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],input[type=time],input[type=search],select,textarea{width:100%;padding:12px var(--spacing-sm);border:var(--border-width) solid var(--color-light-gray);border-radius:var(--radius-control);font-size:var(--font-size-body);font-family:var(--font-family-primary);color:var(--color-dark-gray);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background-color:var(--color-background-input)}.form-input:focus,.form-select:focus,.form-textarea:focus,input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,input[type=time]:focus,input[type=search]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-input::placeholder,.form-textarea::placeholder,input::placeholder,textarea::placeholder{color:var(--color-gray-400)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled,input:disabled,select:disabled,textarea:disabled{background-color:var(--color-background);cursor:not-allowed}.form-textarea,textarea{resize:vertical;min-height:80px}.form-select,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24' stroke='%23a0aec0'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;padding-right:2rem}.form-helper-text{display:block;font-size:var(--font-size-body-small);color:var(--color-medium-gray);margin-top:var(--spacing-xs)}.form-error-text{display:block;font-size:var(--font-size-body-small);color:var(--color-error);margin-top:var(--spacing-xs)}.form-checkbox,.form-radio{display:flex;align-items:center;margin-bottom:var(--space-xs)}.form-checkbox input,.form-radio input{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer;margin-right:var(--space-xs)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--color-primary);cursor:pointer}.form-check-label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer}.alert{padding:var(--spacing-sm);border-radius:var(--border-radius-md);border-left:var(--border-width-accent) solid;display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.alert-success{background-color:var(--color-success-bg);border-color:var(--color-green-accent);color:var(--color-success)}.alert-error{background-color:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.alert-warning{background-color:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning)}.alert-info{background-color:var(--color-info-bg);border-color:var(--color-info);color:var(--color-info)}.table{width:100%;border-collapse:collapse;background-color:var(--color-white);border-radius:var(--border-radius-lg);overflow:hidden}.table thead{background-color:var(--color-background-card)}.table th{padding:var(--spacing-sm);text-align:left;font-weight:var(--font-weight-bold);font-size:var(--font-size-body);color:var(--color-dark-gray);border-bottom:var(--border-strong)}.table td{padding:var(--spacing-sm);border-bottom:var(--border-strong);color:var(--color-dark-gray)}.table tbody tr:hover{background-color:var(--color-background)}.table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-none);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);white-space:nowrap}.badge-primary{background-color:var(--color-lite-purple-bg);color:var(--color-primary-purple)}.badge-success{background-color:var(--color-green-accent-light);color:var(--color-green-accent-dark)}.badge-error{background-color:var(--color-error-bg);color:var(--color-error)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background-color:var(--color-error-bg);color:var(--color-error)}.badge-neutral{background-color:var(--color-gray-100);color:var(--color-gray-600)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info)}.badge-pill{border-radius:var(--radius-pill)}.badge-solid-primary{background-color:var(--color-primary);color:var(--color-white)}.badge-solid-success{background-color:var(--color-success);color:var(--color-white)}.badge-solid-warning{background-color:var(--color-warning);color:var(--color-white)}.badge-solid-info{background-color:var(--color-info-blue);color:var(--color-white)}.risk-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--font-size-body-small);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background-color:var(--color-gray-100);color:var(--color-gray-600)}.risk-badge--low{background-color:var(--color-success-bg);color:var(--color-success)}.risk-badge--moderate{background-color:var(--color-warning-bg);color:var(--color-warning-dark)}.risk-badge--high{background-color:var(--color-error-bg);color:var(--color-error)}.risk-badge--urgent{background-color:var(--color-error);color:var(--color-white)}.risk-badge--insufficient,.risk-badge--insufficient_information{background-color:var(--color-gray-100);color:var(--color-gray-600)}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-body);color:var(--color-medium-gray);margin-bottom:var(--spacing-md)}.breadcrumb-item{display:flex;align-items:center;gap:var(--spacing-xs)}.breadcrumb-link{color:var(--color-medium-gray);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb-link:hover{color:var(--color-primary-purple)}.breadcrumb-current{color:var(--color-dark-gray);font-weight:var(--font-weight-medium)}.breadcrumb-separator{color:var(--color-light-gray)}.tabs{border-bottom:var(--border-width-thick) solid var(--color-light-gray);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.tab{padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--border-width-thick) solid transparent;color:var(--color-medium-gray);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);background:none;border-top:none;border-left:none;border-right:none;margin-bottom:calc(var(--border-width-thick) * -1)}.tab:hover{color:var(--color-dark-gray)}.tab-active{color:var(--color-primary-purple);border-bottom-color:var(--color-primary-purple)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal-backdrop);animation:fadeIn var(--transition-base)}.modal{background-color:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;z-index:var(--z-index-modal);animation:slideUp var(--transition-base)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.modal-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-dark-gray)}.modal-close{background:none;border:none;font-size:24px;color:var(--color-medium-gray);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--color-background);color:var(--color-dark-gray)}.modal-body{margin-bottom:var(--spacing-md)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.tooltip{position:relative;display:inline-block}.tooltip-text{visibility:hidden;opacity:0;background-color:var(--color-dark-gray);color:var(--color-white);text-align:center;border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);position:absolute;z-index:var(--z-index-tooltip);bottom:125%;left:50%;transform:translate(-50%);white-space:nowrap;font-size:var(--font-size-body-small);transition:opacity var(--transition-fast);pointer-events:none}.tooltip:hover .tooltip-text{visibility:visible;opacity:1;transition-delay:.5s}.spinner{border:3px solid var(--color-light-gray);border-top:3px solid var(--color-primary-purple);border-radius:var(--radius-circle);width:40px;height:40px;animation:spin .8s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.spinner-lg{width:60px;height:60px;border-width:4px}.skeleton{background:linear-gradient(90deg,var(--color-light-gray) 25%,var(--color-background) 50%,var(--color-light-gray) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--border-radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{animation:fadeIn var(--transition-slow)}.slide-up{animation:slideUp var(--transition-base)}.btn,button[type=submit],.action-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);min-height:44px;font-family:var(--font-family-primary);font-weight:500;font-size:.875rem;line-height:var(--leading-normal);border-radius:var(--radius-control);border:var(--border-width) solid transparent;cursor:pointer;transition:all var(--transition-fast);position:relative;text-decoration:none;background-color:var(--color-primary);color:var(--color-white)}.btn:focus-visible,button[type=submit]:focus-visible,.action-buttons button:focus-visible{outline:none;box-shadow:var(--focus-ring-strong)}.btn:hover:not(:disabled),button[type=submit]:hover:not(:disabled),.action-buttons button:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled),button[type=submit]:active:not(:disabled),.action-buttons button:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn:disabled,button[type=submit]:disabled,.action-buttons button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;background-color:var(--color-gray-400)}.btn.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn.btn-secondary,.action-buttons button.btn-secondary{background-color:var(--color-background);color:var(--color-text);border:var(--border-width) solid var(--color-border)}.btn.btn-secondary:hover:not(:disabled),.action-buttons button.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-100);transform:translateY(-1px)}.btn.btn-outline,.btn.btn-outline-primary{background-color:transparent;color:var(--color-primary);border:var(--border-width) solid var(--color-primary)}.btn.btn-outline:hover:not(:disabled),.btn.btn-outline-primary:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.btn.btn-outline-danger{background-color:transparent;color:var(--color-error);border:var(--border-width) solid var(--color-error)}.btn.btn-outline-danger:hover:not(:disabled){background-color:var(--color-error);color:var(--color-white)}.btn.btn-ghost,.btn.btn-link{background-color:transparent;color:var(--color-primary);border-color:transparent}.btn.btn-ghost:hover:not(:disabled),.btn.btn-link:hover:not(:disabled){background-color:var(--color-lite-purple-bg);transform:none;box-shadow:none}.btn.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn.btn-success:hover:not(:disabled){background-color:var(--color-success-hover)}.btn.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn.btn-danger:hover:not(:disabled){background-color:var(--color-error-hover)}.btn.btn-accent{background-color:var(--color-green-accent);color:var(--color-white)}.btn.btn-accent:hover:not(:disabled){background-color:var(--color-green-accent-dark)}.btn.btn-sm,.btn.btn-small{padding:var(--space-xs) var(--space-sm);min-height:32px;font-size:.75rem}.btn.btn-lg{padding:var(--space-md) var(--space-xl);min-height:52px;font-size:1rem}.btn.btn-block{width:100%}.btn-icon{margin-right:var(--space-xs)}.btn.btn-loading,button.loading{color:transparent}.btn.btn-loading:disabled,button.loading:disabled{background-color:var(--color-primary);opacity:1;cursor:progress}.btn.btn-loading:after,button.loading:after{content:"";position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-.5rem 0 0 -.5rem;border:2px solid rgba(255,255,255,.4);border-radius:var(--radius-circle);border-top-color:var(--color-white);animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}button:not([class]):not([type=submit]){display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);font-weight:500;font-size:.875rem;border-radius:var(--radius-control);border:var(--border-width) solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);position:relative;text-decoration:none;background-color:transparent;color:var(--color-text)}button:not([class]):not([type=submit]):focus-visible{outline:none;box-shadow:var(--focus-ring-strong)}button:not([class]):not([type=submit]):hover:not(:disabled){background-color:var(--color-gray-100);border-color:var(--color-border-medium);transform:translateY(-1px)}button:not([class]):disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}body.lumipath-mounted .luminari-fab,body.lumipath-open .navigation-chat-button{display:none}.ask-lumina-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);animation:fadeIn .15s ease-out}.ask-lumina-modal{background-color:var(--color-white);border:var(--border-width-thick) solid var(--color-primary-purple);box-shadow:8px 8px #683d9426;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .2s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.ask-lumina-header{padding:var(--spacing-sm, 16px) var(--spacing-md, 24px);background:var(--color-primary-purple, #683D94);color:#fff!important;display:flex;align-items:center;justify-content:space-between;border-bottom:var(--border-width-thick, 2px) solid var(--color-primary-purple-dark, #552F7A)}.ask-lumina-header-content{display:flex;align-items:center;gap:var(--spacing-sm, 16px)}.ask-lumina-icon{width:32px;height:32px;background-color:#ffffff26;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:#fff!important}.ask-lumina-title{margin:0;font-size:14px;font-weight:var(--font-weight-bold, 700);letter-spacing:.5px;line-height:1.2;color:#fff!important}.ask-lumina-subtitle{margin:0;font-size:11px;opacity:.85;font-weight:var(--font-weight-regular, 400);letter-spacing:.3px;color:#fff!important}.ask-lumina-context{padding:8px var(--spacing-md, 24px);background:var(--color-lite-purple-bg, #F3E5F5);border-bottom:1px solid var(--color-light-gray, #E0E0E0);display:flex;align-items:center;gap:8px;font-size:12px;font-weight:var(--font-weight-medium, 500)}.ask-lumina-context-indicator{width:6px;height:6px;background-color:var(--color-green-accent, #99CC33);flex-shrink:0}.ask-lumina-context-text{color:var(--color-primary-purple, #683D94)!important;font-weight:var(--font-weight-bold, 700);letter-spacing:.3px;font-size:11px}.ask-lumina-messages{flex:1;padding:var(--spacing-md);overflow-y:auto;max-height:400px;background-color:var(--color-background-light)}.ask-lumina-empty{text-align:center;padding:var(--spacing-xl) var(--spacing-md)}.ask-lumina-empty-icon{margin-bottom:var(--spacing-md);color:var(--color-primary-purple);display:flex;justify-content:center}.ask-lumina-empty-title{margin:0 0 var(--spacing-sm) 0;font-size:16px;font-weight:var(--font-weight-bold);color:var(--color-dark-gray);letter-spacing:.5px}.ask-lumina-empty-description{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-body);color:var(--color-medium-gray);line-height:var(--line-height-body)}.ask-lumina-empty-suggestions{background-color:var(--color-white);border:2px solid var(--color-primary-purple);padding:var(--spacing-md);text-align:left;max-width:450px;margin:0 auto var(--spacing-md)}.ask-lumina-empty-suggestions-header{margin-bottom:var(--spacing-sm);font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-primary-purple);letter-spacing:.5px;border-bottom:1px solid var(--color-light-gray);padding-bottom:6px}.ask-lumina-empty-suggestions-list{display:flex;flex-direction:column;gap:8px}.suggestion-item{font-size:var(--font-size-body-small);color:var(--color-dark-gray);line-height:1.6;padding-left:var(--spacing-xs)}.ask-lumina-notice{background-color:var(--color-info-bg);border:1px solid var(--color-primary-purple);padding:var(--spacing-sm);font-size:11px;color:var(--color-primary-purple);letter-spacing:.3px;max-width:450px;margin:0 auto}.ask-lumina-notice strong{font-weight:var(--font-weight-bold)}.ask-lumina-messages-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.ask-lumina-message{display:flex;gap:var(--spacing-sm);align-items:flex-start}.ask-lumina-message.user-message{flex-direction:row-reverse}.ask-lumina-message-avatar{width:32px;height:32px;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-weight-bold);flex-shrink:0;letter-spacing:.3px}.user-message .ask-lumina-message-avatar{background-color:var(--color-primary-purple);border-color:var(--color-primary-purple-dark);color:var(--color-white)}.ai-message .ask-lumina-message-avatar{background-color:var(--color-white);border-color:var(--color-primary-purple);color:var(--color-primary-purple);font-size:16px}.ask-lumina-message-bubble{max-width:75%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-body);line-height:var(--line-height-body);border:1px solid}.user-message .ask-lumina-message-bubble{background:var(--color-primary-purple);border-color:var(--color-primary-purple-dark);color:var(--color-white)}.ai-message .ask-lumina-message-bubble{background-color:var(--color-white);color:var(--color-dark-gray);border-color:var(--color-light-gray)}.ask-lumina-message-content{word-wrap:break-word}.ask-lumina-message-content p{margin:0 0 8px}.ask-lumina-message-content p:last-child{margin-bottom:0}.ask-lumina-message-content strong{font-weight:var(--font-weight-bold);color:inherit}.ask-lumina-message-content ul,.ask-lumina-message-content ol{margin:8px 0;padding-left:20px}.ask-lumina-message-content li{margin-bottom:4px}.ask-lumina-loading{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-medium-gray);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.ask-lumina-loading-dots{display:flex;gap:4px}.ask-lumina-loading-dots span{width:4px;height:4px;background-color:var(--color-primary-purple);animation:dotPulse 1.4s infinite ease-in-out both}.ask-lumina-loading-dots span:nth-child(1){animation-delay:-.32s}.ask-lumina-loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.ask-lumina-input-area{padding:var(--spacing-md);border-top:2px solid var(--color-light-gray);background-color:var(--color-background-light)}.ask-lumina-form{display:flex;gap:var(--spacing-xs);align-items:center}.ask-lumina-input-wrapper{flex:1}.ask-lumina-input{width:100%;padding:10px var(--spacing-sm, 16px);border:2px solid var(--color-light-gray, #E0E0E0);font-size:var(--font-size-body, 14px);font-family:var(--font-family-primary, "Inter", sans-serif);outline:none;transition:border-color var(--transition-fast, .2s ease);background-color:var(--color-white, #FFFFFF);color:var(--color-dark-gray, #333333)!important}.ask-lumina-input:focus{border-color:var(--color-primary-purple, #683D94)}.ask-lumina-input:disabled{background-color:var(--color-background, #F5F5F5);cursor:not-allowed;opacity:.6}.ask-lumina-input::placeholder{color:var(--color-medium-gray, #666666)!important}.ask-lumina-send-button{background-color:var(--color-primary-purple, #683D94);color:#fff!important;border:2px solid var(--color-primary-purple-dark, #552F7A);padding:10px 16px;font-size:var(--font-size-body, 14px);font-weight:var(--font-weight-bold, 700);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-xs, 8px);transition:all var(--transition-fast, .2s ease);white-space:nowrap}.ask-lumina-send-button:hover:not(:disabled){background-color:var(--color-primary-purple-dark, #552F7A);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--color-primary-purple-dark, #552F7A)}.ask-lumina-send-button:active:not(:disabled){transform:translate(0);box-shadow:none}.ask-lumina-send-button:disabled{opacity:.5;cursor:not-allowed}.ask-lumina-clear-button{margin-top:var(--spacing-sm, 16px);background:transparent;color:var(--color-primary-purple, #683D94)!important;border:1px solid var(--color-primary-purple, #683D94);font-size:11px;font-weight:var(--font-weight-bold, 700);letter-spacing:.5px;cursor:pointer;padding:6px var(--spacing-sm, 16px);transition:all var(--transition-fast, .2s ease);display:inline-block}.ask-lumina-clear-button:hover{background-color:var(--color-primary-purple, #683D94);color:#fff!important}@media (max-width: 768px){.ask-lumina-modal{max-width:95vw;max-height:90vh;box-shadow:6px 6px #683d9426}.ask-lumina-header{padding:var(--spacing-sm)}.ask-lumina-context{padding:8px var(--spacing-sm)}.ask-lumina-messages,.ask-lumina-input-area{padding:var(--spacing-sm)}.ask-lumina-message-bubble{max-width:80%}.ask-lumina-send-button svg{width:14px;height:14px}}@media (max-width: 480px){.ask-lumina-header{padding:10px var(--spacing-sm)}.ask-lumina-title{font-size:12px}.ask-lumina-subtitle{font-size:10px}.ask-lumina-context{padding:6px var(--spacing-sm);font-size:10px}.ask-lumina-messages,.ask-lumina-input-area{padding:var(--spacing-sm)}.ask-lumina-send-button{padding:10px 12px}}.ask-lumina-messages::-webkit-scrollbar{width:8px}.ask-lumina-messages::-webkit-scrollbar-track{background:var(--color-background)}.ask-lumina-messages::-webkit-scrollbar-thumb{background-color:var(--color-light-gray);border:2px solid var(--color-background)}.ask-lumina-messages::-webkit-scrollbar-thumb:hover{background-color:var(--color-medium-gray)}.previous-docs-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.previous-docs-modal{background-color:#fff;border:var(--border-width-thick) solid var(--color-border-strong);border-radius:0;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.previous-docs-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--border-width-thick) solid var(--color-border-strong);background-color:#fff}.previous-docs-header h2{margin:0;font-size:24px;font-weight:600;color:#2d2d2d}.previous-docs-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.previous-docs-close:hover{color:#000}.previous-docs-controls{display:flex;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #E0E0E0;background-color:#fafafa}.previous-docs-search{flex:1;padding:.75rem;font-size:14px;border:1px solid #E0E0E0;border-radius:0;font-family:Inter,sans-serif}.previous-docs-search:focus{outline:none;border-color:#683d94}.previous-docs-filter{display:flex;align-items:center;gap:.5rem;font-size:14px;color:#2d2d2d;cursor:pointer;-webkit-user-select:none;user-select:none}.previous-docs-filter input[type=checkbox]{width:18px;height:18px;cursor:pointer}.previous-docs-error{padding:1rem 1.5rem;background-color:#ffebee;border-bottom:1px solid #ef5350;color:#c62828;font-size:14px}.previous-docs-list{flex:1;overflow-y:auto;padding:1rem 1.5rem}.previous-docs-loading,.previous-docs-empty{padding:3rem;text-align:center;color:#666;font-size:16px}.previous-doc-item{padding:1.5rem;border:1px solid #E0E0E0;border-radius:0;margin-bottom:1rem;cursor:pointer;transition:all .2s ease;background-color:#fff}.previous-doc-item:hover{border-color:#683d94;box-shadow:0 2px 8px #683d941a}.previous-doc-header{margin-bottom:.75rem}.previous-doc-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.previous-doc-title{margin:0;font-size:18px;font-weight:600;color:#2d2d2d;flex:1}.previous-doc-star{background:none;border:none;font-size:20px;cursor:pointer;padding:.25rem;transition:transform .2s ease;flex-shrink:0}.previous-doc-star:hover{transform:scale(1.2)}.previous-doc-star.starred{color:#ffb300}.previous-doc-description{margin:0;font-size:14px;color:#666;line-height:1.5}.previous-doc-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.previous-doc-tag{padding:.25rem .75rem;background-color:#f5f5f5;border:1px solid #E0E0E0;font-size:12px;font-weight:500;color:#2d2d2d;border-radius:0}.previous-doc-date{font-size:12px;color:#999;margin-left:auto}.previous-doc-detail{flex:1;overflow-y:auto;padding:1.5rem}.previous-doc-back{padding:.5rem 1rem;font-size:14px;font-weight:600;color:#683d94;background-color:#fff;border:1px solid #683D94;border-radius:0;cursor:pointer;margin-bottom:1.5rem;transition:all .2s ease;font-family:Inter,sans-serif}.previous-doc-back:hover{background-color:#683d94;color:#fff}.previous-doc-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #E0E0E0}.previous-doc-detail-header h3{margin:0;font-size:24px;font-weight:600;color:#2d2d2d;flex:1}.previous-doc-star-btn{padding:.5rem 1rem;font-size:14px;font-weight:600;border:1px solid #E0E0E0;border-radius:0;cursor:pointer;background-color:#fff;color:#2d2d2d;transition:all .2s ease;font-family:Inter,sans-serif}.previous-doc-star-btn.starred{background-color:#fff9e6;border-color:#ffb300;color:#ffb300}.previous-doc-star-btn:hover{border-color:#ffb300}.previous-doc-detail-desc{font-size:14px;color:#666;line-height:1.6;margin-bottom:1rem}.previous-doc-detail-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:#f5f5f5;border:1px solid #E0E0E0;font-size:14px;color:#666}.previous-doc-detail-meta span{display:inline-block}.previous-doc-content{padding:1.5rem;background-color:#fafafa;border:1px solid #E0E0E0;border-radius:0;margin-bottom:1.5rem}.previous-doc-content pre{white-space:pre-wrap;word-wrap:break-word;font-family:Inter,sans-serif;font-size:14px;line-height:1.6;color:#2d2d2d;margin:0}.previous-doc-messages{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.previous-doc-message{padding:1rem;border:1px solid #E0E0E0;border-radius:0}.previous-doc-message.user{background-color:#f5f0ff;border-left:4px solid #683D94}.previous-doc-message.assistant{background-color:#f5f5f5;border-left:4px solid #2196F3}.previous-doc-message-role{font-size:12px;font-weight:600;text-transform:uppercase;color:#666;margin-bottom:.5rem}.previous-doc-message-content{font-size:14px;line-height:1.6;color:#2d2d2d;white-space:pre-wrap}.previous-doc-use-btn{width:100%;padding:1rem;font-size:16px;font-weight:600;color:#fff;background-color:#683d94;border:none;border-radius:0;cursor:pointer;transition:background-color .2s ease;font-family:Inter,sans-serif}.previous-doc-use-btn:hover{background-color:#552f7a}@media (max-width: 768px){.previous-docs-modal{width:95%;max-height:90vh}.previous-docs-header{padding:1rem}.previous-docs-header h2{font-size:20px}.previous-docs-controls{flex-direction:column;padding:1rem}.previous-doc-item{padding:1rem}.previous-doc-title{font-size:16px}.previous-doc-detail-header{flex-direction:column}.previous-doc-detail-header h3{font-size:20px}}.lumi-doc{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.7;color:#1a1a1a;background:#fff;border:2px solid #E0E0E0;padding:48px 56px;max-width:920px;margin:0 auto 2rem}.lumi-doc h1,.lumi-doc h2,.lumi-doc h3,.lumi-doc h4,.lumi-doc h5,.lumi-doc h6{font-family:inherit;font-weight:700;color:#111;letter-spacing:-.01em;line-height:1.3;margin:2em 0 .6em;page-break-after:avoid}.lumi-doc h1{font-size:28px;margin-top:0;padding-bottom:10px;border-bottom:2px solid #683D94;text-transform:none}.lumi-doc h2{font-size:22px;border-top:1px solid #E0E0E0;padding-top:1.2em;margin-top:2.5em}.lumi-doc h3{font-size:18px}.lumi-doc h4{font-size:16px;color:#333}.lumi-doc h5,.lumi-doc h6{font-size:14px;color:#555;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.lumi-doc p{margin:0 0 1em;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.lumi-doc strong{font-weight:700;color:#000}.lumi-doc em{font-style:italic}.lumi-doc ul,.lumi-doc ol{margin:.6em 0 1.2em;padding-left:1.8em}.lumi-doc li{margin:.3em 0;line-height:1.65}.lumi-doc li>p{margin-bottom:.3em}.lumi-doc ul>li{list-style-type:disc}.lumi-doc ul ul>li{list-style-type:circle}.lumi-doc ol>li{list-style-type:decimal}.lumi-doc hr{border:none;border-top:1px solid #E0E0E0;margin:2.5em 0}.lumi-doc code{font-family:SFMono-Regular,Monaco,Consolas,monospace;font-size:13px;background:#f3e5f5;color:#683d94;padding:1px 6px}.lumi-doc pre{background:#fafafa;border:1px solid #E0E0E0;padding:12px 16px;overflow-x:auto;font-size:13px;margin:1em 0}.lumi-doc pre code{background:transparent;color:#333;padding:0}.lumi-doc blockquote{margin:1em 0;padding:.8em 1.2em;border-left:4px solid #683D94;background:#f3e5f5;color:#333;font-style:italic}.lumi-doc blockquote p:last-child{margin-bottom:0}.lumi-doc table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:14px}.lumi-doc th,.lumi-doc td{border:1px solid #E0E0E0;padding:10px 14px;text-align:left;vertical-align:top}.lumi-doc th{background:#f5f5f5;font-weight:700;color:#111}.lumi-doc tr:nth-child(2n) td{background:#fafafa}.lumi-doc a{color:#683d94;text-decoration:underline;text-underline-offset:2px}.lumi-doc a:hover{color:#552f7a}.lumi-doc-toolbar{max-width:920px;margin:0 auto 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 24px;background:#f3e5f5;border:2px solid #683D94;border-bottom:none}.lumi-doc-toolbar-meta{font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:#683d94}.lumi-doc-toolbar-actions{display:flex;gap:8px}.lumi-doc-btn{padding:8px 16px;background:#683d94;color:#fff;border:2px solid #552F7A;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.lumi-doc-btn:hover{background:#552f7a;transform:translate(-2px,-2px);box-shadow:2px 2px #552f7a}.lumi-doc-btn:active{transform:translate(0);box-shadow:none}.lumi-doc-btn.secondary{background:#fff;color:#683d94}.lumi-doc-btn.secondary:hover{background:#683d94;color:#fff}@media print{.lumi-doc{border:none;padding:0;max-width:none;font-size:11pt}.lumi-doc-toolbar{display:none}}@media (max-width: 768px){.lumi-doc{padding:24px 16px;font-size:14px}.lumi-doc-toolbar{padding:10px 16px}}.App{min-height:100vh;background-color:var(--color-background)}.app-main-wrapper{margin-left:var(--layout-sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:margin-left .3s cubic-bezier(.4,0,.2,1);position:relative}.app-main-wrapper.wrapper-collapsed{margin-left:var(--layout-sidebar-collapsed-width)}.app-main-content{margin-top:var(--layout-header-height);padding:0;flex:1;min-height:calc(100vh - var(--layout-header-height));background-color:var(--layout-content-bg)}.app-footer{background-color:var(--color-white);border-top:var(--border-width) solid var(--color-light-gray);padding:var(--spacing-md) var(--spacing-xl);text-align:center;margin-top:var(--spacing-2xl)}.app-footer p{margin:0;color:var(--color-medium-gray);font-size:var(--font-size-body-small)}.copyright{font-family:Arial,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-background);gap:var(--spacing-md)}.loading-container p{color:var(--color-medium-gray);font-size:var(--font-size-body-large);margin:0}@media (max-width: 768px){.app-main-wrapper{margin-left:0}.app-main-content,.app-footer{padding:var(--spacing-md)}}.container{max-width:var(--max-content-width);margin:0 auto;padding:0 var(--spacing-md)}*:focus-visible{outline:2px solid var(--color-primary-purple);outline-offset:2px}html{scroll-behavior:smooth}::selection{background-color:var(--color-primary-purple);color:var(--color-white)}::-moz-selection{background-color:var(--color-primary-purple);color:var(--color-white)}.logout-button{background:none;border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);transition:all .2s}.logout-button:hover{background:var(--color-background-subtle);border-color:var(--color-text-muted)}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg)}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:var(--radius-circle);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.App{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;margin-left:260px;transition:margin-left .3s ease}.side-nav{position:fixed;left:0;top:0;width:260px;height:100vh;background:linear-gradient(180deg,#2a1f3d,#3d2c52);box-shadow:4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.1)}.side-nav-header{padding:var(--space-xl) var(--space-lg);border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#683d94,#5a3280)}.side-nav-header .logo{font-size:var(--text-2xl);font-weight:700;color:#fff;text-align:center;letter-spacing:-.025em;text-shadow:0 2px 4px rgba(0,0,0,.2)}.side-nav-links{flex:1;list-style:none;padding:var(--space-lg) 0;margin:0;overflow-y:auto}.side-nav-links li{margin:0}.side-nav-links a{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);color:#fffc;text-decoration:none;transition:all .3s ease;font-size:var(--text-sm);font-weight:500;border-left:3px solid transparent;position:relative;overflow:hidden}.side-nav-links a:before{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:linear-gradient(90deg,#683d9433,#5a32801a);transition:width .3s ease;z-index:-1}.side-nav-links a:hover{color:#fff;background:#683d941a;border-left-color:#a48bbf;transform:translate(4px)}.side-nav-links a:hover:before{width:100%}.side-nav-links a.active{color:#fff;background:linear-gradient(90deg,#683d9433,#5a32801a);border-left-color:#a48bbf;font-weight:600}.side-nav-links a.active:before{width:100%}.side-nav-links svg{flex-shrink:0;width:20px;height:20px;opacity:.8;transition:all .3s ease}.side-nav-links a:hover svg,.side-nav-links a.active svg{opacity:1;transform:scale(1.1)}.side-nav-links span{font-size:var(--text-sm);line-height:1.4}.side-nav-footer{padding:var(--space-lg);border-top:1px solid rgba(255,255,255,.1);background:#0000001a}.side-nav-footer a{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);color:#ffffffb3;text-decoration:none;border-radius:var(--radius-md);transition:all .3s ease;font-size:var(--text-sm);margin-bottom:var(--space-sm)}.side-nav-footer a:hover{color:#fff;background:#ffffff1a;transform:translate(2px)}.side-nav-footer a:last-child{margin-bottom:0}.side-nav-footer .logout-button{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);color:#ffffffb3;background:none;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);transition:all .3s ease;font-size:var(--text-sm);cursor:pointer;width:100%;justify-content:center;margin-top:var(--space-sm)}.side-nav-footer .logout-button:hover{color:#fff;background:#dc262633;border-color:#dc262666;transform:translate(2px)}.App-header{background-color:#fff;box-shadow:var(--shadow-sm);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-border)}.App-header h1{font-size:var(--text-3xl);font-weight:700;margin:0;color:var(--color-text);letter-spacing:-.025em}.App-header .tagline{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-xs) 0 0;font-weight:500}.trademark{font-size:.75em;vertical-align:super;color:var(--color-text-muted)}.copyright{font-size:1.1em}footer{margin-top:auto;padding:var(--space-xl) 0;background-color:var(--color-gray-100);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}main{padding:var(--space-2xl) 0;min-height:calc(100vh - 200px);flex:1}@media (max-width: 768px){.container{padding:0 var(--space-md)}.main-content{margin-left:0}.side-nav{transform:translate(-100%);transition:transform .3s ease}.app-layout.sidebar-open .side-nav{transform:translate(0)}.App-header h1{font-size:var(--text-2xl)}main{padding:var(--space-lg) 0}.side-nav-links span{font-size:var(--text-xs)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin-top:0;color:var(--color-text);line-height:1.2}h1{font-size:2.25rem;margin-bottom:var(--space-lg)}h2{font-size:1.8rem;margin-bottom:var(--space-md)}h3{font-size:1.5rem;margin-bottom:var(--space-md)}h4{font-size:1.25rem;margin-bottom:var(--space-sm)}h5{font-size:1.1rem;margin-bottom:var(--space-xs)}h6{font-size:1rem;margin-bottom:var(--space-xs)}p{margin-top:0;margin-bottom:var(--space-md);line-height:1.6}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-muted{color:var(--color-text-light)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-center{text-align:center}.subtitle{font-size:1.1rem;color:var(--color-text-light);margin-bottom:var(--space-xl);text-align:center}.breadcrumb{display:flex;margin-bottom:var(--space-lg);font-size:.875rem;color:var(--color-text-light);align-items:center}.breadcrumb a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}.breadcrumb a:hover{color:var(--color-primary-dark);text-decoration:underline}.breadcrumb .separator{margin:0 var(--space-xs);color:var(--color-text-light)}.brand-name .trademark,h1 .trademark,h2 .trademark{font-size:.4em;vertical-align:super;margin-left:2px;font-weight:400}.trademark{font-size:.4em;vertical-align:super;margin-left:1px;font-weight:400}.brand-name .copyright,h1 .copyright,h2 .copyright{font-size:.4em;vertical-align:super;margin-left:2px;font-weight:400}.copyright{font-size:.4em;vertical-align:super;margin-left:1px;font-weight:400}.form-input.is-invalid,.form-select.is-invalid,.form-textarea.is-invalid,input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:var(--color-error)}.form-input.is-valid,.form-select.is-valid,.form-textarea.is-valid,input.is-valid,select.is-valid,textarea.is-valid{border-color:var(--color-success)}.form-error,.error-message{margin-top:var(--space-xs);color:var(--color-error);font-size:.875rem;background-color:#e53e3e1a;border-left:4px solid var(--color-error);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);border-radius:var(--radius-sm)}.form-hint{margin-top:var(--space-xs);color:var(--color-text-light);font-size:.75rem}.required,.required-mark{color:var(--color-error);margin-left:2px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.full-width{grid-column:1 / -1}.form-actions{display:flex;gap:var(--space-md);margin-top:var(--space-xl);position:relative}.form-section{display:flex;flex-direction:column;gap:var(--space-lg)}.form-block{border:1px solid var(--color-border);padding:var(--space-lg);border-radius:var(--radius-lg);background-color:#fff;margin-bottom:var(--space-lg)}.card-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.card-body{padding:var(--space-lg)}.card-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);background-color:#00000003}.card-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0}.card-subtitle{font-size:.875rem;color:var(--color-text-light);margin-top:var(--space-xs)}.feature-card{display:flex;flex-direction:column;padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .3s,box-shadow .3s;border-left:4px solid;text-decoration:none;height:100%}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card-icon{font-size:2.5rem;margin-bottom:var(--space-md)}.card-button{margin-top:auto;padding:var(--space-sm) var(--space-md);background-color:#fff;border-radius:var(--radius-md);font-weight:500;text-align:center;transition:background-color .2s;box-shadow:var(--shadow-sm)}.feature-card:hover .card-button{background-color:#fffc}.alert,.success-message,.error-message{border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);position:relative;display:flex;align-items:flex-start}.alert-icon,.icon-success{margin-right:var(--space-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-content{flex-grow:1}.alert-title{font-weight:600;margin-bottom:var(--space-xs);font-size:1rem}.success-message{background-color:#0cce6b1a;border-left:4px solid var(--color-success);color:#0b6e3a}.info-box{background-color:var(--color-background);border-left:4px solid var(--color-primary);padding:var(--space-lg);border-radius:var(--radius-md);margin-top:var(--space-lg)}.info-box h4{margin-top:0;color:var(--color-text);margin-bottom:var(--space-sm)}.info-box p{color:var(--color-text-light);margin-bottom:var(--space-sm)}.tabs,.document-tabs,.analysis-tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar,.document-tabs::-webkit-scrollbar,.analysis-tabs::-webkit-scrollbar{display:none}.tab-button,.tab-btn{padding:var(--space-md) var(--space-lg);background:none;border:none;font-size:.875rem;font-weight:500;color:var(--color-text-light);cursor:pointer;position:relative;white-space:nowrap;transition:all .2s ease}.tab-button:hover,.tab-btn:hover,.tab-button.active,.tab-btn.active{color:var(--color-primary)}.tab-button.active:after,.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:3px;background-color:var(--color-primary)}.tab-content,.analysis-content{padding-top:var(--space-md)}.spinner,.loading-indicator .spinner{display:inline-block;width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-left-color:var(--color-primary);border-radius:var(--radius-circle);animation:spin 1s linear infinite}.spinner-sm{width:16px;height:16px;border-width:1.5px}.spinner-lg{width:32px;height:32px;border-width:3px}.loading-indicator{display:flex;align-items:center;margin-top:var(--space-md)}.loading-indicator p{margin:0 0 0 var(--space-sm);color:var(--color-text-light)}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10}.loading-text{margin-top:var(--space-sm);color:var(--color-text);font-size:.875rem;font-weight:500}.loader{margin:var(--space-lg) 0;text-align:center;color:var(--color-text-light)}.grid{display:grid;gap:var(--space-lg)}.grid-1{grid-template-columns:repeat(1,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-column{flex-direction:column}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.items-center{align-items:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.specialty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.specialty-card{background-color:var(--color-card-bg);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;text-align:center}.specialty-card.active:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.specialty-card.inactive{opacity:.7}.specialty-icon{font-size:2.5rem;margin-bottom:var(--space-md)}.specialty-card h3{margin:0 0 var(--space-sm) 0;color:var(--color-text)}.specialty-card p{color:var(--color-text-light);margin-bottom:var(--space-lg);flex-grow:1}.specialty-button{display:inline-block;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:500;text-decoration:none;transition:background-color .2s}.specialty-button.active{background-color:var(--color-primary);color:#fff}.specialty-button.active:hover{background-color:var(--color-primary-dark)}.specialty-button.inactive{background-color:var(--color-background);color:var(--color-text-light);cursor:not-allowed}.home-page{max-width:1200px;margin:0 auto;padding:var(--space-lg)}.hero-section{text-align:center;margin:var(--space-xl) 0 var(--space-2xl)}.hero-section h1{font-size:2.5rem;color:var(--color-text);margin-bottom:var(--space-md)}.hero-section p{font-size:1.25rem;color:var(--color-text-light);max-width:700px;margin:0 auto}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl);margin-bottom:var(--space-2xl)}.info-section{background-color:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-2xl)}.info-section h2{text-align:center;color:var(--color-text);margin-bottom:var(--space-xl)}.workflow-steps{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg)}.step{display:flex;align-items:flex-start;flex:1;min-width:250px}.step-number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:var(--color-primary);color:#fff;border-radius:var(--radius-circle);font-weight:700;margin-right:var(--space-md);flex-shrink:0}.step-content h3{margin:0 0 var(--space-xs) 0;color:var(--color-text)}.step-content p{margin:0;color:var(--color-text-light)}.about-section{background-color:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-xl)}.about-section h2{color:var(--color-text);margin-bottom:var(--space-lg)}.about-section p{color:var(--color-text-light);line-height:1.6}.icon-copy:before,.icon-download:before,.icon-print:before,.icon-email:before,.icon-pdf:before,.icon-word:before{content:""}.icon-success:before{content:"✓"}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease}.mt-lg{margin-top:var(--space-lg)}.mb-lg{margin-bottom:var(--space-lg)}.mt-md{margin-top:var(--space-md)}.mb-md{margin-bottom:var(--space-md)}.query-assistant{max-width:800px;margin:0 auto;padding:var(--space-lg)}.answer-container{background-color:var(--color-card-bg);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);margin-top:var(--space-lg);border-left:4px solid var(--color-primary)}.answer-content{color:var(--color-text);line-height:1.6}.query-history{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.query-history h4{color:var(--color-text);margin-bottom:var(--space-md)}.query-history ul{list-style:none;padding:0;margin:0}.query-history li{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.query-history small{color:var(--color-text-light);font-size:.75rem;display:block;margin-top:var(--space-xs)}.batch-result-card{padding:1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:1rem;transition:all .2s ease}.batch-result-card.positive{background-color:#fff5f5;border-color:#fc8181}.batch-result-card.negative{background-color:#f0fff4;border-color:#9ae6b4}.batch-result-card.error{background-color:#fffaf0;border-color:#f6e05e}.batch-summary{margin-top:1.5rem;padding:1.5rem;border-radius:var(--radius-lg);background-color:var(--color-background);border:1px solid var(--color-border)}.batch-summary h4{margin-top:0;margin-bottom:1rem}.batch-summary ul{list-style:none;padding:0;margin:0;display:flex;gap:2rem;justify-content:center}.batch-summary li{text-align:center}.batch-summary .summary-value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.batch-summary .summary-label{font-size:.8rem;color:var(--color-text-light)}.results-chat-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:2rem}.results-chat-modal{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:95%;max-width:1400px;height:90vh;display:flex;flex-direction:row;overflow:hidden;border:1px solid var(--color-border)}.results-chat-table-pane{flex:1 1 55%;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--color-border);background-color:var(--color-background)}.results-chat-conversation-pane{flex:1 1 45%;display:flex;flex-direction:column;overflow:hidden;background-color:#fff}.results-chat-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background-color:#f8f9fa;flex-shrink:0}.results-chat-header h3{margin:0;font-size:1.1rem;color:var(--color-text);font-weight:600}.results-chat-header .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-light);line-height:1;transition:color .2s}.results-chat-header .close-btn:hover{color:var(--color-text)}.results-table-container{overflow-y:auto;flex-grow:1;padding:var(--space-sm)}.results-table-container::-webkit-scrollbar{width:8px}.results-table-container::-webkit-scrollbar-track{background:#f1f1f1}.results-table-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:var(--radius-pill)}.results-table-container::-webkit-scrollbar-thumb:hover{background:#aaa}.results-table{width:100%;border-collapse:collapse;font-size:.8rem}.results-table th,.results-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.results-table th{background-color:#e9ecef;font-weight:600;color:var(--color-text-light);position:sticky;top:0;z-index:1}.results-table tbody tr:hover{background-color:#edf2f7}.results-table td[data-value=Yes]:before,.results-table td[data-value="Cancer Indicators Detected"]:before{content:"";display:inline-block;width:8px;height:8px;border-radius:var(--radius-circle);margin-right:8px;vertical-align:middle;background-color:var(--color-error)}.results-table td[data-value=No]:before,.results-table td[data-value="No Indicators"]:before{content:"";display:inline-block;width:8px;height:8px;border-radius:var(--radius-circle);margin-right:8px;vertical-align:middle;background-color:var(--color-success)}.results-chat-messages{flex-grow:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.results-chat-messages::-webkit-scrollbar{width:8px}.results-chat-messages::-webkit-scrollbar-track{background:#f1f1f1}.results-chat-messages::-webkit-scrollbar-thumb{background:#ccc;border-radius:var(--radius-pill)}.results-chat-messages::-webkit-scrollbar-thumb:hover{background:#aaa}.chat-message{display:flex;gap:var(--space-sm);max-width:85%;line-height:1.5}.chat-avatar{width:32px;height:32px;border-radius:var(--radius-circle);background-color:var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;margin-top:4px;overflow:hidden}.chat-avatar.ai-avatar{background-color:var(--color-secondary);color:#fff}.chat-avatar.user-avatar{background-color:var(--color-primary);color:#fff}.chat-bubble{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);position:relative}.chat-bubble pre{white-space:pre-wrap;word-wrap:break-word;background-color:transparent;padding:0;margin:0;border-radius:0;font-family:inherit;font-size:.9rem}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.user .chat-bubble{background-color:var(--color-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.chat-message.user .chat-bubble:after{content:"";position:absolute;bottom:0;right:-8px;border-width:10px 0 0 10px;border-style:solid;border-color:transparent transparent transparent var(--color-primary)}.chat-message.ai{align-self:flex-start}.chat-message.ai .chat-bubble{background-color:#f1f5f9;color:var(--color-text);border-bottom-left-radius:var(--radius-sm)}.chat-message.ai .chat-bubble:after{content:"";position:absolute;bottom:0;left:-8px;border-width:10px 10px 0 0;border-style:solid;border-color:transparent #f1f5f9 transparent transparent}.chat-message.loading{align-self:flex-start}.chat-message.loading .spinner{border-left-color:var(--color-text)}.results-chat-input-form{display:flex;padding:var(--space-md);border-top:1px solid var(--color-border);gap:var(--space-md);background-color:#f8f9fa;flex-shrink:0}.results-chat-input-form textarea{flex-grow:1;border-radius:var(--radius-md);padding:var(--space-sm);resize:none;border:1px solid var(--color-border);font-size:.9rem;transition:border-color .2s,box-shadow .2s}.results-chat-input-form textarea:focus{outline:none;border-color:var(--color-primary-light);box-shadow:var(--focus-ring)}.results-chat-input-form button{padding:var(--space-sm) var(--space-md);font-size:1.2rem;min-width:44px;height:44px}.validation-status{position:relative;display:inline-block;margin-left:1rem}.validation-icon{font-size:1.1rem;cursor:help}.validation-icon.validating .spinner-sm{border-left-color:var(--color-primary)}.validation-tooltip{visibility:hidden;width:280px;background-color:#333;color:#fff;text-align:left;border-radius:var(--radius-md);padding:var(--space-md);position:absolute;z-index:10;bottom:125%;left:50%;margin-left:-140px;opacity:0;transition:opacity .3s;font-size:.8rem;line-height:1.4;box-shadow:var(--shadow-lg)}.validation-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent}.validation-status:hover .validation-tooltip{visibility:visible;opacity:1}.validation-tooltip h5{color:#fff;font-size:.9rem;margin-bottom:.5rem;border-bottom:1px solid #555;padding-bottom:.5rem}.validation-mismatch-warning{margin-top:1rem;padding:var(--space-md);background-color:var(--color-warning-light, #fffaf0);border:1px solid var(--color-warning);border-left-width:4px;color:var(--color-warning-dark, #b45309);border-radius:var(--radius-md);text-align:left}@media (max-width: 1024px){.hero-section h1{font-size:2.25rem}.hero-section p{font-size:1.1rem}.results-chat-modal{flex-direction:column;height:95vh}.results-chat-table-pane{border-right:none;border-bottom:1px solid var(--color-border);flex:1 1 40%}.results-chat-conversation-pane{flex:1 1 60%}}@media (max-width: 768px){.form-grid,.specialty-grid{grid-template-columns:1fr}.workflow-steps{flex-direction:column}}@media (max-width: 576px){.App-header{padding:var(--space-md)}.App-header h1{font-size:1.8rem}.App-header p{font-size:1rem}.hero-section h1{font-size:1.8rem}.hero-section p{font-size:1rem}.specialty-card{padding:var(--space-md)}.results-chat-overlay{padding:0}.results-chat-modal{height:100vh;width:100%;border-radius:0}}.background-jobs{position:fixed;bottom:20px;right:20px;z-index:1000;max-width:400px;background:#fff;border-radius:var(--radius-panel);box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;overflow:hidden;transition:all .3s ease}.background-jobs.collapsed{max-height:60px;overflow:hidden}.background-jobs-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#683d94;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.background-jobs-header:hover{background:#5a3280}.background-jobs-title{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}.background-jobs-count{background:#fff3;padding:2px 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.background-jobs-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:var(--radius-none);transition:background-color .2s ease}.background-jobs-toggle:hover{background:#ffffff1a}.background-jobs-content{max-height:400px;overflow-y:auto;padding:16px}.background-jobs-section{margin-bottom:16px}.background-jobs-section:last-child{margin-bottom:0}.background-jobs-section-title{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px;display:flex;align-items:center;gap:6px}.background-jobs-list{display:flex;flex-direction:column;gap:8px}.background-job-item{padding:12px;border-radius:var(--radius-none);border:1px solid #e5e7eb;background:#f9fafb;transition:all .2s ease}.background-job-item:hover{background:#f3f4f6;border-color:#d1d5db}.background-job-item.active{background:#fef3c7;border-color:#f59e0b}.background-job-item.completed{background:#f0fdf4;border-color:#10b981}.background-job-item.error{background:#fef2f2;border-color:#ef4444}.background-job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.background-job-info{flex:1}.background-job-type{font-size:13px;font-weight:500;color:#1f2937;text-transform:uppercase;letter-spacing:.5px}.background-job-status{font-size:11px;color:#6b7280;margin-top:2px}.background-job-actions{display:flex;align-items:center;gap:6px}.background-job-progress{width:60px;height:6px;background-color:#e5e7eb;border-radius:var(--radius-pill);overflow:hidden;margin-left:8px}.background-job-progress-bar{height:100%;background:var(--color-primary);transition:width .3s ease;border-radius:var(--radius-pill)}.background-job-progress-bar.completed{background:#9c3}.background-job-progress-bar.error{background:#ef4444}.background-job-button{padding:4px 8px;font-size:10px;border:none}
