:root{--primary-50: #f0f4ff;--primary-100: #e0eaff;--primary-200: #c7d7fe;--primary-300: #a5bcfc;--primary-400: #8098f9;--primary-500: #667eea;--primary-600: #5568d3;--primary-700: #4854b8;--primary-800: #3d4495;--primary-900: #363b78;--primary: var(--primary-500);--primary-dark: var(--primary-700);--primary-light: var(--primary-200);--accent-50: #f0fdfa;--accent-100: #ccfbf1;--accent-200: #99f6e4;--accent-300: #5eead4;--accent-400: #2dd4bf;--accent-500: #14b8a6;--accent-600: #0d9488;--accent-700: #0f766e;--accent-800: #115e59;--accent-900: #134e4a;--accent: var(--accent-500);--success-50: #f0fdf4;--success-500: #22c55e;--success-600: #16a34a;--success: var(--success-500);--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--warning: var(--warning-500);--danger-50: #fef2f2;--danger-500: #ef4444;--danger-600: #dc2626;--danger: var(--danger-500);--info-50: #eff6ff;--info-500: #3b82f6;--info-600: #2563eb;--info: var(--info-500);--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--bg: #ffffff;--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--surface: #ffffff;--surface-elevated: #ffffff;--text: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--text-inverse: #ffffff;--border: var(--gray-200);--border-light: var(--gray-100);--border-strong: var(--gray-300);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-accent: linear-gradient(135deg, #14b8a6 0%, #0891b2 100%);--gradient-success: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--gradient-warm: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-health: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--font-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}@media(prefers-color-scheme:dark){:root{--bg: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--surface: #1a1a1a;--surface-elevated: #2a2a2a;--text: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--border: #374151;--border-light: #2a2a2a;--border-strong: #4b5563;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3)}}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-base);line-height:var(--leading-normal);color:var(--text);background:var(--bg-secondary);margin:0;padding:0}.glass{background:#ffffffb3;backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);border:1px solid rgba(255,255,255,.3)}@media(prefers-color-scheme:dark){.glass{background:#1a1a1ab3;border:1px solid rgba(255,255,255,.1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md)}@media(prefers-color-scheme:dark){.skeleton{background:linear-gradient(90deg,var(--gray-800) 25%,var(--gray-700) 50%,var(--gray-800) 75%)}}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.focus-ring:focus{outline:2px solid var(--primary);outline-offset:2px}.focus-ring-inset:focus{outline:2px solid var(--primary);outline-offset:-2px}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.scroll-shadow{overflow:auto;background:linear-gradient(#fff 30%,#fff0),linear-gradient(#fff0,#fff 70%) 0 100%,radial-gradient(farthest-side at 50% 0,#0003,#0000),radial-gradient(farthest-side at 50% 100%,#0003,#0000) 0 100%;background-repeat:no-repeat;background-size:100% 40px,100% 40px,100% 14px,100% 14px;background-attachment:local,local,scroll,scroll}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-secondary)}.header{background:var(--gradient-health);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-lg);position:relative;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideUp .4s ease-out;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.header-content{display:flex;align-items:center;gap:var(--space-4)}.logo{display:flex;align-items:center;gap:var(--space-3);margin:0}.logo-container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.curativ-full-logo-img{height:80px;width:auto;border-radius:var(--radius-md);transition:transform var(--transition-base)}.logo:hover .curativ-full-logo-img{transform:scale(1.02)}.curativ-logo-img{height:52px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));transition:transform var(--transition-base)}.logo:hover .curativ-logo-img{transform:scale(1.02)}.curativ-brand-name{font-size:1.6rem;font-weight:var(--font-semibold);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.15);letter-spacing:-.02em}.brand-c{color:#c084fc}.brand-reg{font-size:.6em;vertical-align:super;opacity:.8}.logo-icon{font-size:var(--font-4xl);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.tagline{color:#ffffffe6;font-size:var(--font-sm);font-weight:var(--font-medium);margin:0;letter-spacing:.02em}.current-patient-indicator{display:flex;align-items:center;gap:var(--space-2);background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.3);font-size:var(--font-sm);color:#fff;font-weight:var(--font-medium)}.patient-label{opacity:.9}.patient-name{font-weight:var(--font-semibold)}.header-actions{display:flex;align-items:center;gap:var(--space-4)}.user-info{display:flex;align-items:center;gap:var(--space-2);color:#fff;font-size:var(--font-sm);font-weight:var(--font-medium);background:#ffffff26;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-badge{background:#ffc1074d;color:#ffd740;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.btn-logout{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:var(--space-2) var(--space-5);border-radius:var(--radius-lg);font-size:var(--font-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-logout:hover{background:#ffffff4d;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.nav{background:var(--surface);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky);animation:slideUp .5s ease-out;display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-4);justify-content:center;flex-wrap:wrap}.nav::-webkit-scrollbar{display:none}.nav-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;white-space:nowrap}.nav-btn:hover{background:var(--primary-50);color:var(--primary-700);transform:translateY(-1px)}.nav-btn.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md);font-weight:var(--font-semibold)}.nav-btn.active:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--primary);border-radius:var(--radius-full)}.nav-icon{font-size:var(--font-lg)}.main-content{flex:1;padding:var(--space-8);max-width:1400px;margin:0 auto;width:100%;animation:fadeIn .6s ease-out}.btn-primary{background:var(--gradient-primary);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px #667eea66;display:inline-flex;align-items:center;gap:var(--space-2)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--surface);color:var(--primary);border:2px solid var(--border);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover{border-color:var(--primary);background:var(--primary-50);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:var(--gradient-warm);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px #ef444466}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444480}.peptide-card,.protocol-card,.patient-card,.interaction-card,.report-card{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all var(--transition-base);animation:fadeIn .4s ease-out}.peptide-card:hover,.protocol-card:hover,.patient-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-200)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.card-header h3{margin:0;font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text);letter-spacing:-.01em}.form-control{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base);font-family:inherit;color:var(--text);background:var(--surface);transition:all var(--transition-base)}.form-control:hover{border-color:var(--border-strong)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a;background:var(--surface)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;margin-bottom:var(--space-2);font-size:.95rem;font-weight:600;color:var(--text)!important;letter-spacing:.01em}.footer{background:var(--surface);border-top:1px solid var(--border-light);padding:var(--space-6) var(--space-8);margin-top:auto}.disclaimer{max-width:1400px;margin:0 auto;font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);text-align:center}.disclaimer strong{color:var(--danger);font-weight:var(--font-semibold)}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--transition-base);padding:var(--space-4)}.modal,.modal-content{background:var(--surface);border-radius:var(--radius-2xl);padding:var(--space-8);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl);animation:scaleIn var(--transition-base)}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea,.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea,.modal .form-group input,.modal .form-group select,.modal .form-group textarea,.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base);box-sizing:border-box;background-color:var(--surface);color:var(--text)}.modal-body .form-group input::placeholder,.modal-body .form-group textarea::placeholder,.modal-content .form-group input::placeholder,.modal-content .form-group textarea::placeholder,.modal .form-group input::placeholder,.modal .form-group textarea::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus,.modal-content .form-group input:focus,.modal-content .form-group select:focus,.modal-content .form-group textarea:focus,.modal .form-group input:focus,.modal .form-group select:focus,.modal .form-group textarea:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);background-color:var(--surface);color:var(--text)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:600;color:var(--text);font-size:.95rem}.modal-body .weight-input-row input[type=number]{width:auto!important;flex:1}.modal h2,.modal h3{margin:0 0 var(--space-6) 0;font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text);letter-spacing:-.02em}.bottom-tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:var(--surface);border-top:1px solid var(--border-light);padding:var(--space-2) 0;padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));z-index:var(--z-sticky);box-shadow:0 -2px 10px #0000000d}.tab-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-1) var(--space-3);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-base);-webkit-tap-highlight-color:transparent}.tab-btn.active{color:var(--primary)}.tab-icon{font-size:1.4rem;line-height:1}.tab-label{font-size:.65rem;font-weight:var(--font-semibold);letter-spacing:.02em}.sub-nav{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border-light);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sub-nav::-webkit-scrollbar{display:none}.sub-nav-btn{padding:var(--space-2) var(--space-4);border:none;background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-sm);font-weight:var(--font-medium);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:all var(--transition-base);-webkit-tap-highlight-color:transparent}.sub-nav-btn.active{background:var(--gradient-primary);color:#fff;font-weight:var(--font-semibold)}.sub-nav-btn:not(.active):hover{background:var(--primary-50);color:var(--primary-700)}input:focus,textarea:focus,select:focus{scroll-margin-bottom:200px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{position:relative;z-index:1}.main-content{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))!important}.header{padding:var(--space-2) var(--space-4)!important}.header .logo{font-size:var(--font-lg)!important}.header .tagline{font-size:var(--font-xs)!important;margin:0!important}.header .curativ-logo-img{width:32px!important;height:32px!important}.header .header-content{gap:var(--space-1)!important}.current-patient-indicator,.btn-logout{padding:var(--space-1) var(--space-3)!important;font-size:var(--font-sm)!important}.nav{display:none}.footer{display:none!important}.biomarker-insights{margin:var(--space-4) 0}.insights-cta{text-align:center;background:linear-gradient(135deg,#6366f114,#8b5cf614);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-lg);padding:var(--space-6)}.insights-cta-icon{font-size:2.5rem;margin-bottom:var(--space-2)}.insights-cta h3{margin:0 0 var(--space-2);color:var(--text)}.insights-cta p{color:var(--text-secondary);font-size:var(--font-sm);margin:0 0 var(--space-4);line-height:1.5}.insights-analyze-btn{font-size:var(--font-base)!important;padding:var(--space-3) var(--space-6)!important}.insights-loading{text-align:center;padding:var(--space-8)}.insights-loading p{margin:var(--space-3) 0 0;color:var(--text);font-weight:var(--font-semibold)}.insights-loading-sub{font-size:var(--font-sm)!important;color:var(--text-secondary)!important;font-weight:400!important}.insights-error{text-align:center;padding:var(--space-4);background:#ef444414;border-radius:var(--radius-lg)}.insights-results{display:flex;flex-direction:column;gap:var(--space-4)}.insights-header{display:flex;justify-content:space-between;align-items:center}.insights-header h3{margin:0}.insights-refresh{font-size:var(--font-xs)!important;padding:var(--space-1) var(--space-3)!important}.insights-disclaimer{font-size:var(--font-xs);color:var(--text-secondary);background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md);padding:var(--space-3);line-height:1.5}.insights-section{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4)}.insights-section h4{margin:0 0 var(--space-3);font-size:var(--font-base)}.insights-section p{margin:0;font-size:var(--font-sm);color:var(--text-secondary);line-height:1.6}.insights-flag{background:var(--bg);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2);border-left:3px solid}.flag-high{border-left-color:#ef4444}.flag-low{border-left-color:#f59e0b}.flag-borderline{border-left-color:#eab308}.flag-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.flag-badge{font-size:var(--font-xs);font-weight:var(--font-bold);padding:2px 8px;border-radius:var(--radius-full)}.badge-high{background:#ef444426;color:#ef4444}.badge-low{background:#f59e0b26;color:#f59e0b}.badge-borderline{background:#eab30826;color:#eab308}.flag-value{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.insights-card{background:var(--bg);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.insights-card strong{display:block;margin-bottom:var(--space-1)}.trend-badge{font-size:var(--font-xs);margin-left:var(--space-2)}.trend-improving{color:#22c55e}.trend-declining{color:#ef4444}.trend-stable{color:#6b7280}.insights-positive,.insights-consideration{font-size:var(--font-sm);color:var(--text-secondary);padding:var(--space-2) 0;line-height:1.5}.premium-gate{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:var(--space-6)}.premium-gate-content{text-align:center;max-width:400px}.premium-gate-icon{font-size:3rem;margin-bottom:var(--space-3)}.premium-gate-content h2{font-size:var(--font-xl);color:var(--text);margin:0 0 var(--space-2)}.premium-gate-feature{font-size:var(--font-lg);color:var(--primary);font-weight:var(--font-semibold);margin:0 0 var(--space-2)}.premium-gate-desc{font-size:var(--font-sm);color:var(--text-secondary);margin:0 0 var(--space-6);line-height:1.5}.premium-gate-benefits{text-align:left;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6)}.premium-gate-benefits h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text);margin:0 0 var(--space-3)}.premium-gate-benefits ul{list-style:none;padding:0;margin:0}.premium-gate-benefits li{font-size:var(--font-sm);color:var(--text-secondary);padding:var(--space-1) 0}.premium-gate-pricing{margin-bottom:var(--space-4)}.premium-price{font-size:2rem;font-weight:var(--font-bold);color:var(--text)}.premium-period{font-size:var(--font-base);color:var(--text-secondary)}.premium-gate-btn{width:100%;padding:var(--space-3) var(--space-6)!important;font-size:var(--font-base)!important;margin-bottom:var(--space-3)}.premium-gate-note{font-size:var(--font-xs);color:var(--text-secondary);margin:0}.premium-gate-restore{background:none;border:none;color:var(--primary);font-size:var(--font-sm);padding:8px 16px;cursor:pointer;text-decoration:underline;margin-top:4px}.premium-gate-restore:disabled{opacity:.5;cursor:not-allowed}.premium-gate-error{color:#ef4444;font-size:var(--font-sm);margin:8px 0;padding:8px 12px;background:#fef2f2;border-radius:8px}.premium-gate-restored{color:var(--text-secondary);font-size:var(--font-sm);margin:8px 0;padding:8px 12px;background:#f8fafc;border-radius:8px}.premium-gate-btn:disabled{opacity:.6;cursor:not-allowed}.disclaimer-modal{max-width:540px;max-height:85vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.disclaimer-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-8) var(--space-4);border-bottom:1px solid var(--border-light)}.disclaimer-header h2{margin:0;font-size:var(--font-xl);color:var(--text)}.disclaimer-icon{font-size:1.6rem}.disclaimer-scroll-area{flex:1;min-height:0;max-height:50vh;overflow-y:auto;padding:var(--space-4) var(--space-8);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.disclaimer-scroll-area section{margin-bottom:var(--space-4)}.disclaimer-scroll-area h3{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--text);margin:0 0 var(--space-2) 0}.disclaimer-scroll-area p{font-size:var(--font-sm);line-height:1.6;color:var(--text-secondary);margin:0}.disclaimer-scroll-hint{text-align:center;font-size:var(--font-sm);color:var(--primary);padding:var(--space-2) var(--space-8) 0;margin:0;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.disclaimer-checkbox{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-8);cursor:pointer;font-size:var(--font-sm);line-height:1.5;color:var(--text)}.disclaimer-checkbox input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--primary);cursor:pointer}.disclaimer-checkbox input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}.disclaimer-accept-btn{margin:var(--space-3) var(--space-8) var(--space-6);padding:var(--space-3) var(--space-6);font-size:var(--font-base);font-weight:var(--font-semibold);border-radius:var(--radius-lg);border:none;cursor:pointer;background:var(--gradient-primary);color:#fff;transition:all var(--transition-base)}.disclaimer-accept-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.disclaimer-accept-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.inventory-table,.biomarker-table,.journal-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.inventory-table th,.biomarker-table th,.journal-table th{background:var(--bg-secondary);padding:var(--space-4) var(--space-5);text-align:left;font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border)}.inventory-table td,.biomarker-table td,.journal-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);font-size:var(--font-base);color:var(--text)}.inventory-table tr:last-child td,.biomarker-table tr:last-child td,.journal-table tr:last-child td{border-bottom:none}.inventory-table tbody tr,.biomarker-table tbody tr,.journal-table tbody tr{transition:all var(--transition-fast)}.inventory-table tbody tr:hover,.biomarker-table tbody tr:hover,.journal-table tbody tr:hover{background:var(--primary-50)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);animation:slideUp .4s ease-out;overflow:hidden}.page-header h2{margin:0;font-size:var(--font-3xl);font-weight:var(--font-bold);color:var(--text);letter-spacing:-.02em;display:flex;align-items:center;gap:var(--space-3)}.section-description{color:var(--text-secondary);font-size:var(--font-base);line-height:var(--leading-relaxed);margin:calc(var(--space-4) * -1) 0 var(--space-6) 0;max-width:800px}.badge,.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.badge.success,.status-badge.high{background:var(--success-50);color:var(--success-600)}.badge.warning,.status-badge.normal{background:var(--warning-50);color:var(--warning-600)}.badge.danger,.status-badge.low{background:var(--danger-50);color:var(--danger-600)}.badge.info{background:var(--info-50);color:var(--info-600)}.loading-spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--primary-200);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.no-patients-message,.empty-state{text-align:center;padding:var(--space-16);background:var(--surface);border-radius:var(--radius-2xl);border:2px dashed var(--border)}.no-patients-message h3,.empty-state h3{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-3) 0}.no-patients-message p,.empty-state p{font-size:var(--font-base);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:500px;margin:0 auto}.patients-grid,.protocol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6);margin-top:var(--space-6)}@media(max-width:1024px){.header{padding:var(--space-5) var(--space-6)}.main-content{padding:var(--space-6)}.nav{padding:var(--space-2) var(--space-4)}}@media(max-width:768px){.header{padding:var(--space-4)}.logo{font-size:var(--font-2xl)}.main-content{padding:var(--space-4)}.nav{gap:var(--space-1);padding:var(--space-2)}.nav-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-xs)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.page-header h2{font-size:var(--font-2xl)}.patients-grid,.protocol-grid{grid-template-columns:1fr}.modal,.modal-content{padding:var(--space-6);max-width:100%}}@media(max-width:480px){.header-content{gap:var(--space-3)}.nav-btn span:not(.nav-icon){display:none}.user-info span{display:none}}@media(prefers-reduced-motion:no-preference){.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}}.biomarker-graph-container{background:var(--surface);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);margin:var(--space-8) 0;min-height:500px}.biomarker-graph-container canvas{max-height:450px!important}.biomarker-trends{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6);margin:var(--space-8) 0}.trend-card{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--border-light);transition:all var(--transition-base)}.trend-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--primary-200)}.trend-item{display:flex;flex-direction:column;gap:var(--space-2)}.trend-label{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.trend-value{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text);letter-spacing:-.02em}.trend-value small{font-size:var(--font-sm);font-weight:var(--font-normal);color:var(--text-secondary);display:block;margin-top:var(--space-1)}.trend-up{color:var(--success-600);background:var(--success-50);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);display:inline-flex;align-items:center;gap:var(--space-1)}.trend-down{color:var(--danger-600);background:var(--danger-50);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);display:inline-flex;align-items:center;gap:var(--space-1)}.trend-neutral{color:var(--gray-600);background:var(--gray-50);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);display:inline-flex;align-items:center;gap:var(--space-1)}.status-high{background:var(--danger-50);color:var(--danger-700);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:var(--space-1)}.status-high:before{content:"⚠️";font-size:var(--font-sm)}.status-low{background:var(--warning-50);color:var(--warning-700);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:var(--space-1)}.status-low:before{content:"⬇️";font-size:var(--font-sm)}.status-normal{background:var(--success-50);color:var(--success-700);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:var(--space-1)}.status-normal:before{content:"✓";font-size:var(--font-sm)}.filter-section{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-8);border:1px solid var(--border-light)}.filter-section label{display:block;font-size:.95rem;font-weight:600;color:var(--text)!important;margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em}.filter-section select{width:100%;padding:var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:var(--font-medium);color:var(--text);background:var(--surface);cursor:pointer;transition:all var(--transition-base)}.filter-section select:hover{border-color:var(--primary)}.filter-section select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--border-light)}.chart-header h3{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text);margin:0;display:flex;align-items:center;gap:var(--space-2)}.chart-header h3:before{content:"📈";font-size:var(--font-3xl)}.btn-download{background:var(--surface);color:var(--primary);border:2px solid var(--primary-200);padding:var(--space-2) var(--space-5);border-radius:var(--radius-lg);font-size:var(--font-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:var(--space-2)}.btn-download:hover{background:var(--primary-50);border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.comparison-section{background:var(--surface);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);margin-top:var(--space-8)}.comparison-section h3{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-6) 0;display:flex;align-items:center;gap:var(--space-2)}.comparison-section h3:before{content:"📊";font-size:var(--font-3xl)}.biomarker-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.biomarker-checkbox{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-3)}.biomarker-checkbox:hover{border-color:var(--primary);background:var(--primary-50);transform:translateY(-1px)}.biomarker-checkbox.selected{background:var(--gradient-primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-md)}.biomarker-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label{font-size:var(--font-sm);font-weight:var(--font-medium)}.biomarker-checkbox.selected .checkbox-label{color:#fff;font-weight:var(--font-semibold)}.checkbox-label small{font-size:var(--font-xs);opacity:.8}.chart-legend{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-6);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);font-weight:var(--font-medium)}.legend-color{width:16px;height:16px;border-radius:var(--radius-sm)}.result-count{background:var(--primary-100);color:var(--primary-700);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-bold);margin-left:var(--space-2)}@media(max-width:768px){.biomarker-graph-container{padding:var(--space-4);min-height:350px}.biomarker-graph-container canvas{max-height:300px!important}.biomarker-trends{grid-template-columns:1fr}.chart-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6);margin-top:var(--space-6)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stats-grid .stat-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.stats-grid .stat-label{display:block;font-size:var(--font-sm);color:var(--text);margin-bottom:var(--space-1);font-weight:500}.stats-grid .stat-value{display:block;font-size:var(--font-2xl);font-weight:700;color:var(--text)}.inventory-item{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--border-light);transition:all var(--transition-base);position:relative;overflow:hidden}.inventory-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-base)}.inventory-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-200)}.inventory-item:hover:before{opacity:1}.inventory-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.inventory-title{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text);margin:0;display:flex;align-items:center;gap:var(--space-2)}.inventory-title:before{content:"💉";font-size:var(--font-2xl)}.inventory-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em)}.inventory-badge.active{background:var(--success-50);color:var(--success-700)}.inventory-badge.active:before{content:"🟢"}.inventory-badge.low{background:var(--warning-50);color:var(--warning-700)}.inventory-badge.low:before{content:"🟡"}.inventory-details{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.inventory-detail{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-sm)}.detail-label{color:var(--text-secondary);font-weight:var(--font-medium)}.detail-value{color:var(--text);font-weight:var(--font-semibold)}.quantity-progress{width:100%;height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-2)}.quantity-progress-bar{height:100%;background:var(--gradient-accent);border-radius:var(--radius-full);transition:width var(--transition-slow)}.quantity-progress-bar.low{background:var(--gradient-warm)}.quantity-text{font-size:var(--font-xs);color:var(--text-secondary);margin-top:var(--space-1)}.inventory-actions{display:flex;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.btn-action{flex:1;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-action.primary{background:var(--primary-100);color:var(--primary-700);border:1px solid var(--primary-200)}.btn-action.primary:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-md)}.btn-action.secondary{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.btn-action.secondary:hover{background:var(--bg-secondary);border-color:var(--border-strong);color:var(--text)}.patient-card{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--border-light);transition:all var(--transition-base);position:relative}.patient-card.active{border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a,var(--shadow-lg)}.patient-card.active:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.patient-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-200)}.patient-avatar{width:64px;height:64px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-3xl);margin-bottom:var(--space-4);box-shadow:var(--shadow-md)}.patient-info{margin-bottom:var(--space-4)}.patient-name{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-2) 0}.patient-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--font-sm);color:var(--text-secondary)}.patient-meta-item{display:flex;align-items:center;gap:var(--space-1)}.current-badge{background:var(--gradient-primary);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;margin-left:var(--space-2);box-shadow:var(--shadow-sm)}.inactive-badge{background:var(--gray-100);color:var(--gray-600);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;margin-left:var(--space-2)}.protocol-card{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--border-light);transition:all var(--transition-base)}.protocol-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--accent-200)}.protocol-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5)}.protocol-icon{font-size:var(--font-4xl);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.protocol-title{flex:1}.protocol-title h3{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-1) 0}.protocol-subtitle{font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.protocol-dosing{background:var(--accent-50);border-left:4px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.protocol-dosing strong{color:var(--accent-700);font-weight:var(--font-bold)}.protocol-benefits{margin-top:var(--space-4)}.protocol-benefits h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.05em}.protocol-benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.protocol-benefits li{font-size:var(--font-sm);color:var(--text-secondary);padding-left:var(--space-5);position:relative}.protocol-benefits li:before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:var(--font-bold)}.multi-biomarker-graph-container{background:var(--surface);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);margin:var(--space-8) 0;min-height:600px}.multi-biomarker-graph-container canvas{max-height:550px!important;min-height:500px!important}.biomarker-graph-container{min-height:550px!important}.biomarker-graph-container canvas{max-height:500px!important;min-height:450px!important}.recharts-wrapper,.recharts-surface{min-height:500px!important}@media(max-width:768px){.multi-biomarker-graph-container{min-height:450px}.multi-biomarker-graph-container canvas{max-height:400px!important;min-height:350px!important}.biomarker-graph-container{min-height:400px!important}.biomarker-graph-container canvas{max-height:350px!important;min-height:300px!important}}.techbiota-badge{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--surface);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);text-decoration:none;transition:all var(--transition-base);opacity:0;transform:translateY(10px);z-index:var(--z-sticky)}.techbiota-badge.visible{opacity:1;transform:translateY(0)}.techbiota-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--primary-200)}.badge-text{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.badge-logo{height:40px;width:auto;display:block}.header-cobranding{display:inline-flex;align-items:center;gap:var(--space-3);margin-left:var(--space-4);padding:var(--space-2) var(--space-4);background:#fffffff2;border-radius:var(--radius-full);box-shadow:0 2px 8px #00000026;text-decoration:none;transition:all var(--transition-base)}.header-cobranding:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.header-cobranding-text{font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-semibold)}.header-cobranding-logo{height:56px;width:auto}@media(max-width:768px){.techbiota-badge{bottom:var(--space-4);right:var(--space-4);padding:var(--space-2) var(--space-4)}.badge-text{font-size:10px}.badge-logo{height:20px}.header-cobranding{display:none}}@media(max-width:480px){.techbiota-badge{bottom:var(--space-3);right:var(--space-3)}}@media print{.techbiota-badge{display:none}}.search-section{position:relative;margin-bottom:var(--space-6);max-width:100%}.search-input{width:100%;max-width:400px;padding:var(--space-3) var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base);font-family:inherit;color:var(--text);background:var(--surface);transition:all var(--transition-base)}.search-input:hover{border-color:var(--border-strong)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a;background:var(--surface)}.search-input::placeholder{color:var(--text-tertiary)}.search-results-count{display:block;margin-top:var(--space-2);font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.add-med-form{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap}.add-med-form .form-control{flex:1;min-width:250px;margin-bottom:0}.add-med-form .checkbox-label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:0;white-space:nowrap}.add-med-form button{flex-shrink:0;margin-bottom:0}.source-link{color:var(--primary);text-decoration:underline;transition:color var(--transition-base);word-break:break-all}.source-link:hover{color:var(--primary-dark);text-decoration:none}.advanced-filters{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-8);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.advanced-filters h4{font-size:var(--font-lg);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-5) 0;display:flex;align-items:center;gap:var(--space-2)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.filter-grid .form-group{margin-bottom:0}.filter-results-count{font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-semibold);background:var(--primary-50);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full)}.bloodwork-metadata{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);border:2px dashed var(--border)}.bloodwork-metadata .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.bloodwork-metadata .form-row:last-child{margin-bottom:0}.inventory-mode-toggle{display:flex;align-items:center;gap:var(--space-3)}.radio-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-base);font-weight:var(--font-medium);color:var(--text)}.radio-label:hover{background:var(--bg-secondary)}.radio-label input[type=radio]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary)}.radio-label input[type=radio]:checked+span{color:var(--primary);font-weight:var(--font-semibold)}.enterprise-login-container{display:grid;grid-template-columns:45% 55%;min-height:100vh;background:var(--bg)}.login-brand-panel{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-700) 100%);color:#fff;display:flex;align-items:center;justify-content:center;padding:var(--space-8);position:relative;overflow:hidden}.login-brand-panel:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 15s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.3}}.brand-content{position:relative;z-index:1;max-width:500px;width:100%}.brand-hero{margin:var(--space-8) 0}.brand-title{font-size:3rem;font-weight:var(--font-bold);margin-bottom:var(--space-3);letter-spacing:-.02em}.brand-subtitle{font-size:var(--font-lg);opacity:.95;line-height:1.6;font-weight:var(--font-normal)}.brand-features{margin:var(--space-8) 0;display:flex;flex-direction:column;gap:var(--space-4)}.feature-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:#ffffff1a;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-base)}.feature-item:hover{background:#ffffff26;transform:translate(8px)}.feature-icon{font-size:2rem;flex-shrink:0}.feature-text strong{display:block;font-size:var(--font-base);margin-bottom:var(--space-1);font-weight:var(--font-semibold)}.feature-text p{font-size:var(--font-sm);opacity:.9;margin:0}.brand-footer{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.2)}.version-text{font-size:var(--font-sm);opacity:.8;margin:0}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--bg)}.form-container{max-width:450px;width:100%}.form-header{margin-bottom:var(--space-8)}.form-header h2{font-size:2rem;font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-2)}.form-header p{font-size:var(--font-base);color:var(--text-secondary);margin:0}.premium-login-form{display:flex;flex-direction:column;gap:var(--space-5)}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-group label{font-size:.95rem;font-weight:600;color:var(--text)!important}.premium-input{padding:var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base);font-family:var(--font-family);transition:all var(--transition-base);background:var(--surface)}.premium-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100)}.premium-input::placeholder{color:var(--text-tertiary)}.error-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#fee;border:2px solid #fcc;border-radius:var(--radius-lg);color:#c00;font-size:var(--font-sm);font-weight:var(--font-medium)}.error-icon{font-size:var(--font-lg);flex-shrink:0}.premium-login-button{padding:var(--space-4) var(--space-6);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:var(--font-semibold);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-3)}.premium-login-button:hover:not(:disabled){background:var(--primary-700);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.premium-login-button:active:not(:disabled){transform:translateY(0)}.premium-login-button:disabled{opacity:.6;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.form-footer{margin-top:var(--space-6);text-align:center}.help-text{font-size:var(--font-sm);color:var(--text-secondary);margin:0}.medical-disclaimer{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-8);padding:var(--space-4);background:#fff3cd;border:2px solid #ffc107;border-radius:var(--radius-lg)}.disclaimer-icon{font-size:var(--font-xl);flex-shrink:0}.disclaimer-text{font-size:var(--font-xs);color:var(--text);line-height:1.6}.disclaimer-text strong{display:block;margin-bottom:var(--space-1);font-weight:var(--font-semibold)}@media(max-width:1024px){.enterprise-login-container{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{padding:var(--space-6)}}@media(max-width:640px){.form-container{padding:var(--space-4)}.form-header h2{font-size:1.75rem}.premium-input{padding:var(--space-3)}.medical-disclaimer{flex-direction:column;align-items:center;text-align:center}}.enterprise-mode-selection{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e9f0);display:flex;flex-direction:column;padding:var(--space-8) var(--space-6)}.mode-header-section{text-align:center;margin-bottom:var(--space-8)}.mode-hero{margin-top:var(--space-6)}.mode-main-title{font-size:3rem;font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-3);letter-spacing:-.02em}.mode-main-subtitle{font-size:var(--font-xl);color:var(--text-secondary);font-weight:var(--font-normal)}.mode-content-section{max-width:1200px;margin:0 auto;width:100%}.mode-intro{text-align:center;margin-bottom:var(--space-8)}.mode-question-title{font-size:2rem;font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-3)}.mode-question-subtitle{font-size:var(--font-lg);color:var(--text-secondary);max-width:600px;margin:0 auto}.mode-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}.premium-mode-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8);cursor:pointer;transition:all var(--transition-base);text-align:left;display:flex;flex-direction:column;gap:var(--space-6);position:relative;overflow:hidden}.premium-mode-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary);transform:scaleX(0);transition:transform var(--transition-base)}.premium-mode-card:hover:before{transform:scaleX(1)}.premium-mode-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.premium-mode-card:active{transform:translateY(-2px)}.premium-mode-card:disabled{opacity:.6;cursor:not-allowed;transform:none}.card-header{display:flex;flex-direction:column;gap:var(--space-3)}.card-icon{width:64px;height:64px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:var(--space-2)}.personal-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.clinical-icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.card-title{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text);margin:0}.card-subtitle{font-size:var(--font-base);color:var(--text-secondary);margin:0}.card-features{display:flex;flex-direction:column;gap:var(--space-3);flex-grow:1}.feature-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-base);color:var(--text)}.check-icon{color:var(--success);font-weight:var(--font-bold);font-size:var(--font-lg);flex-shrink:0}.card-action{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);font-weight:var(--font-semibold);color:var(--primary);transition:all var(--transition-base)}.premium-mode-card:hover .card-action{background:var(--primary);color:#fff}.arrow{font-size:var(--font-xl);transition:transform var(--transition-base)}.premium-mode-card:hover .arrow{transform:translate(4px)}.spinner-small{width:14px;height:14px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.mode-footer-info{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center}.footer-features-title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--text);margin-bottom:var(--space-4)}.footer-features-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.footer-feature{padding:var(--space-2) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text);white-space:nowrap}.mode-version-footer{text-align:center;margin-top:var(--space-6)}.mode-version-footer p{font-size:var(--font-sm);color:var(--text-tertiary);margin:0}@media(max-width:1024px){.mode-cards-grid{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}.mode-main-title{font-size:2.5rem}}@media(max-width:640px){.enterprise-mode-selection{padding:var(--space-6) var(--space-4)}.mode-main-title{font-size:2rem}.mode-main-subtitle{font-size:var(--font-lg)}.mode-question-title{font-size:1.5rem}.premium-mode-card{padding:var(--space-6)}.card-icon{width:56px;height:56px;font-size:1.75rem}.footer-features-grid{gap:var(--space-2)}.footer-feature{font-size:var(--font-xs);padding:var(--space-1) var(--space-3)}}.enterprise-loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e9f0)}.enterprise-spinner{width:48px;height:48px;border:4px solid rgba(0,0,0,.1);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.enterprise-setup-container{display:grid;grid-template-columns:45% 55%;min-height:100vh;background:var(--bg)}.setup-brand-panel{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-700) 100%);color:#fff;display:flex;align-items:center;justify-content:center;padding:var(--space-8);position:relative;overflow:hidden}.setup-brand-panel:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 15s ease-in-out infinite}.setup-info-card{background:#ffffff26;border-radius:var(--radius-xl);padding:var(--space-6);margin:var(--space-8) 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.info-icon{font-size:3rem;margin-bottom:var(--space-3)}.setup-info-card h3{font-size:var(--font-xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.setup-info-card p{font-size:var(--font-base);opacity:.95;line-height:1.6;margin:0}.setup-features{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-6) 0}.setup-feature{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-base);opacity:.95}.feature-icon-small{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%;font-size:var(--font-sm);font-weight:var(--font-bold);flex-shrink:0}.setup-form-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--bg)}.premium-setup-form{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-6)}.welcome-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:#e3f2fd;border:2px solid #90caf9;border-radius:var(--radius-lg);margin-bottom:var(--space-2)}.alert-icon{font-size:var(--font-xl);flex-shrink:0}.alert-content{flex:1}.alert-content strong{display:block;color:#1565c0;margin-bottom:var(--space-1);font-weight:var(--font-semibold)}.alert-content p{color:#1565c0;font-size:var(--font-sm);margin:0;line-height:1.6}.premium-setup-button{padding:var(--space-4) var(--space-6);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:var(--font-semibold);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-3)}.premium-setup-button:hover:not(:disabled){background:var(--primary-700);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.premium-setup-button:active:not(:disabled){transform:translateY(0)}.premium-setup-button:disabled{opacity:.6;cursor:not-allowed}.security-notice{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-4);background:#fff3cd;border:2px solid #ffc107;border-radius:var(--radius-lg)}.notice-icon{font-size:var(--font-xl);flex-shrink:0}.notice-text{font-size:var(--font-sm);color:var(--text);line-height:1.6}.notice-text strong{display:block;margin-bottom:var(--space-1);font-weight:var(--font-semibold)}@media(max-width:1024px){.enterprise-setup-container{grid-template-columns:1fr}.setup-brand-panel{display:none}.setup-form-panel{padding:var(--space-6)}}@media(max-width:640px){.setup-form-panel{padding:var(--space-4)}.form-container{padding:0}.form-header h2{font-size:1.75rem}.welcome-alert,.security-notice{flex-direction:column;align-items:center;text-align:center}}.lab-import-modal{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-4)}.lab-import-content{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);z-index:var(--z-modal)}.lab-import-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);background:linear-gradient(135deg,var(--primary-50),white)}.lab-import-header h2{margin:0;font-size:var(--font-xl);color:var(--text-primary)}.lab-import-header .close-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--gray-100);color:var(--text-secondary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.lab-import-header .close-btn:hover{background:var(--gray-200);color:var(--text-primary)}.lab-import-body{padding:var(--space-6);overflow-y:auto;flex:1}.api-key-setup{margin-bottom:var(--space-6)}.api-key-setup .warning-box{background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);padding:var(--space-4)}.api-key-setup .warning-box h4{margin:0 0 var(--space-2) 0;color:var(--warning-700)}.api-key-setup .warning-box p{margin:0 0 var(--space-3) 0;color:var(--text-secondary)}.api-key-input{width:100%;padding:var(--space-3);border:2px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:monospace;transition:all var(--transition-base)}.api-key-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100)}.upload-section{margin-bottom:var(--space-6)}.upload-section h3{margin:0 0 var(--space-2) 0;font-size:var(--font-lg);color:var(--text-primary)}.help-text{color:var(--text-secondary);font-size:var(--font-sm);margin-bottom:var(--space-3)}.drop-zone{border:2px dashed var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--gray-50)}.drop-zone:hover{border-color:var(--primary);background:var(--primary-50)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.upload-icon{font-size:3rem}.drop-zone-content p{margin:0;color:var(--text-secondary)}.supported-formats{font-size:var(--font-xs);color:var(--text-muted)}.file-info{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.file-icon{font-size:2rem}.file-name{font-weight:var(--font-semibold);color:var(--text-primary)}.file-size{color:var(--text-muted);font-size:var(--font-sm)}.image-preview{margin-top:var(--space-4);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-light);max-height:200px}.image-preview img{width:100%;height:auto;max-height:200px;object-fit:contain}.lab-info-section{margin-bottom:var(--space-6)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-weight:600;color:var(--text)!important;font-size:.95rem}.form-input{padding:var(--space-3);border:2px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--font-base);transition:all var(--transition-base)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100)}.process-section{margin-bottom:var(--space-6)}.process-btn{width:100%;padding:var(--space-4);font-size:var(--font-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.process-btn .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.error-box{background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.error-box p{margin:0;color:var(--error-700)}.extracted-data-section{background:var(--gray-50);border-radius:var(--radius-lg);padding:var(--space-5)}.extracted-data-section h3{margin:0 0 var(--space-2) 0;color:var(--success-700)}.extracted-table-wrapper{overflow-x:auto;margin:var(--space-4) 0;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--surface)}.extracted-table{width:100%;border-collapse:collapse}.extracted-table th{background:var(--gray-100);padding:var(--space-3);text-align:left;font-weight:var(--font-semibold);font-size:var(--font-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.extracted-table td{padding:var(--space-3);border-bottom:1px solid var(--border-light);vertical-align:middle}.extracted-table tr:last-child td{border-bottom:none}.extracted-table tr.row-low{background:var(--warning-50)}.extracted-table tr.row-high{background:var(--error-50)}.extracted-table tr.row-normal{background:var(--success-50)}.inline-input{width:100%;padding:var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--font-sm);background:transparent}.inline-input:focus{outline:none;border-color:var(--primary);background:var(--surface)}.inline-input.input-error{border-color:var(--danger);background:#ef44440d}.inline-input.input-error::placeholder{color:var(--danger);opacity:.7}tr.missing-name{background:#ef444414!important}.value-input,.unit-input{width:80px}.range-inputs{display:flex;align-items:center;gap:var(--space-1)}.range-input{width:60px}.status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-semibold)}.status-badge.status-low{background:var(--warning-100);color:var(--warning-700)}.status-badge.status-high{background:var(--error-100);color:var(--error-700)}.status-badge.status-normal{background:var(--success-100);color:var(--success-700)}.remove-btn{background:transparent;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);opacity:.6;transition:all var(--transition-base)}.remove-btn:hover{opacity:1;background:var(--error-100)}.import-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}@media(max-width:640px){.lab-import-content{max-height:95vh}.lab-import-body{padding:var(--space-4)}.form-row{grid-template-columns:1fr}.drop-zone{padding:var(--space-6)}.extracted-table{font-size:var(--font-sm)}.inline-input{padding:var(--space-1)}.value-input,.unit-input{width:60px}.range-input{width:45px}}.learning-library{max-width:1000px;margin:0 auto}.safety-gate-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.safety-gate-content{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.safety-icon{font-size:2rem}.safety-text{flex:1;min-width:200px}.safety-text strong{display:block;color:var(--color-text-primary);margin-bottom:var(--space-1)}.safety-text p{color:var(--color-text-secondary);font-size:var(--font-sm);margin:0}.btn-ghost{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2) var(--space-3);font-size:var(--font-sm)}.btn-ghost:hover{color:var(--color-text-primary)}.library-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.library-title-section h2{margin:0;font-size:var(--font-2xl)}.library-subtitle{color:var(--color-text-secondary);margin:var(--space-1) 0 0 0}.library-search-section{flex-shrink:0}.search-input-wrapper{display:flex;gap:var(--space-2)}.search-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);width:250px;font-size:var(--font-sm)}.search-btn{padding:var(--space-2) var(--space-3);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.library-nav{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.library-nav-btn{padding:var(--space-2) var(--space-4);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-weight:var(--font-medium);border-radius:var(--radius-md);transition:all var(--transition-base)}.library-nav-btn:hover{background:var(--color-bg-secondary)}.library-nav-btn.active{background:var(--color-primary);color:#fff}.progress-summary-card{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.progress-info{display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.progress-label{font-weight:var(--font-medium)}.progress-count{font-size:var(--font-sm);opacity:.9}.progress-bar-wrapper{background:#fff3;border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar-fill{background:var(--surface);height:100%;border-radius:var(--radius-full);transition:width .3s ease}.library-section{margin-bottom:var(--space-8)}.section-title{font-size:var(--font-lg);margin-bottom:var(--space-4);color:var(--color-text-primary)}.subsection-title{font-size:var(--font-base);margin:var(--space-6) 0 var(--space-3) 0;color:var(--color-text-secondary)}.lesson-cards-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.lesson-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-base)}.lesson-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.lesson-card.completed{border-color:var(--color-success);background:linear-gradient(135deg,var(--color-bg-primary),#f0fdf4)}.lesson-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.lesson-card-format{font-size:var(--font-xs);color:var(--color-text-secondary)}.lesson-card-check{color:var(--color-success);font-weight:700}.lesson-card-icon{font-size:2rem;margin-bottom:var(--space-2)}.lesson-card-title{font-size:var(--font-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0;line-height:1.3}.lesson-card-subtitle{font-size:var(--font-xs);color:var(--color-text-secondary);margin:0 0 var(--space-2) 0}.lesson-card-level{font-size:var(--font-xs);color:var(--color-primary);text-transform:capitalize}.paths-list{display:flex;flex-direction:column;gap:var(--space-3)}.path-card{display:flex;align-items:center;gap:var(--space-4);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-base)}.path-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.path-card.required{border-color:#f59e0b;background:linear-gradient(135deg,var(--color-bg-primary),#fffbeb)}.path-icon{font-size:2rem;flex-shrink:0}.path-icon-large{font-size:3rem}.path-info{flex:1}.path-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.path-header h4{margin:0;font-size:var(--font-base)}.required-badge{background:#f59e0b;color:#fff;font-size:var(--font-xs);padding:2px 8px;border-radius:var(--radius-full);font-weight:var(--font-medium)}.path-info p{color:var(--color-text-secondary);font-size:var(--font-sm);margin:0 0 var(--space-2) 0}.path-progress{display:flex;align-items:center;gap:var(--space-3)}.path-progress-bar{flex:1;background:var(--color-bg-secondary);border-radius:var(--radius-full);height:6px;overflow:hidden}.path-progress-bar.large{height:10px}.path-progress-fill{background:var(--color-primary);height:100%;border-radius:var(--radius-full);transition:width .3s ease}.path-progress-text{font-size:var(--font-xs);color:var(--color-text-secondary);white-space:nowrap}.path-arrow{color:var(--color-text-secondary);font-size:var(--font-lg)}.quick-ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.quick-ref-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-align:center}.quick-ref-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-ref-icon{font-size:1.5rem}.quick-ref-title{font-size:var(--font-sm);font-weight:var(--font-medium)}.lessons-list{display:flex;flex-direction:column;gap:var(--space-2)}.lesson-list-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.lesson-list-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.lesson-list-item.completed{border-color:var(--color-success);background:linear-gradient(135deg,var(--color-bg-primary),#f0fdf4)}.lesson-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--font-sm);flex-shrink:0}.lesson-list-item.completed .lesson-number{background:var(--color-success);color:#fff}.lesson-icon{font-size:1.5rem;flex-shrink:0}.lesson-list-info{flex:1}.lesson-list-info h4{margin:0 0 var(--space-1) 0;font-size:var(--font-base)}.lesson-list-info p{margin:0 0 var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-sm)}.lesson-meta{display:flex;gap:var(--space-3);font-size:var(--font-xs);color:var(--color-text-secondary)}.lesson-arrow{color:var(--color-text-secondary)}.completed-badge{color:var(--color-success);font-weight:700;font-size:var(--font-lg)}.search-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);font-size:var(--font-sm)}.search-results-title{margin-bottom:var(--space-4);color:var(--color-text-secondary)}.empty-state{text-align:center;padding:var(--space-8);color:var(--color-text-secondary)}.empty-icon{font-size:3rem;display:block;margin-bottom:var(--space-3)}.empty-hint{font-size:var(--font-sm);color:var(--color-text-tertiary)}.progress-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.progress-stat-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.stat-number{font-size:var(--font-3xl);font-weight:var(--font-bold);color:var(--color-primary);display:block}.stat-label{font-size:var(--font-sm);color:var(--text)}.progress-by-path{display:flex;flex-direction:column;gap:var(--space-3)}.path-progress-item{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.path-progress-header{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-size:var(--font-sm)}.completed-lessons-list{display:flex;flex-direction:column;gap:var(--space-2)}.completed-lesson-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-sm)}.completed-lesson-item:hover{background:var(--color-bg-secondary)}.completed-check{color:var(--color-success);font-weight:700}.library-disclaimer{margin-top:var(--space-8);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg);font-size:var(--font-sm);color:var(--color-text-secondary)}.library-disclaimer p{margin:0}.path-header-detail{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg)}.path-header-detail h3{margin:0 0 var(--space-1) 0}.path-header-detail p{margin:0;color:var(--color-text-secondary)}.back-btn{background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-sm);padding:var(--space-2) 0;margin-bottom:var(--space-4)}.back-btn:hover{text-decoration:underline}.lesson-viewer{max-width:800px;margin:0 auto}.lesson-viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.save-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);width:40px;height:40px;font-size:1.25rem;cursor:pointer;transition:all var(--transition-base)}.save-btn:hover{border-color:var(--color-primary)}.save-btn.saved{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.lesson-meta-header{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.lesson-format-badge,.lesson-duration-badge,.safety-required-badge{font-size:var(--font-xs);padding:var(--space-1) var(--space-2);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.safety-required-badge{background:#fef3c7;color:#92400e}.lesson-title-section{margin-bottom:var(--space-6)}.lesson-title-section h2{margin:0 0 var(--space-2) 0;font-size:var(--font-2xl)}.lesson-subtitle{color:var(--color-text-secondary);font-size:var(--font-lg);margin:0}.lesson-content-area{margin-bottom:var(--space-6)}.lesson-summary{background:var(--color-bg-secondary);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-size:var(--font-base);line-height:1.6}.lesson-summary p{margin:0}.lesson-section{margin-bottom:var(--space-6)}.lesson-section h3{font-size:var(--font-lg);margin:0 0 var(--space-3) 0;color:var(--color-text-primary)}.section-content{line-height:1.7}.section-content p{margin:0 0 var(--space-3) 0}.section-content code{background:var(--color-bg-secondary);padding:2px 6px;border-radius:var(--radius-sm);font-family:monospace;font-size:.9em}.section-image{max-width:100%;border-radius:var(--radius-lg);margin-top:var(--space-4)}.lesson-tips,.lesson-warnings{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.lesson-tips{background:#ecfdf5;border:1px solid #10b981}.lesson-tips h4{color:#059669;margin:0 0 var(--space-2) 0}.lesson-warnings{background:#fef3c7;border:1px solid #f59e0b}.lesson-warnings h4{color:#d97706;margin:0 0 var(--space-2) 0}.lesson-tips ul,.lesson-warnings ul{margin:0;padding-left:var(--space-4)}.lesson-tips li,.lesson-warnings li{margin-bottom:var(--space-1)}.lesson-tutorial{text-align:center}.tutorial-progress{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6)}.progress-dot{width:12px;height:12px;border-radius:var(--radius-full);background:var(--color-bg-secondary);cursor:pointer;transition:all var(--transition-base)}.progress-dot.active{background:var(--color-primary);transform:scale(1.2)}.progress-dot.completed{background:var(--color-success)}.tutorial-step{text-align:left;margin-bottom:var(--space-6)}.step-image{margin-bottom:var(--space-4)}.step-image img{max-width:100%;border-radius:var(--radius-lg)}.step-content h3{margin:0 0 var(--space-3) 0}.step-content p{line-height:1.7;margin-bottom:var(--space-4)}.step-tip,.step-warning{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.step-tip{background:#ecfdf5}.step-warning{background:#fef3c7}.tip-icon,.warning-icon{flex-shrink:0}.tutorial-nav{display:flex;justify-content:space-between;gap:var(--space-4)}.lesson-checklist{text-align:left}.checklist-progress{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.checklist-progress-bar{flex:1;background:var(--color-bg-secondary);border-radius:var(--radius-full);height:8px;overflow:hidden}.checklist-progress-fill{background:var(--color-success);height:100%;transition:width .3s ease}.checklist-progress-text{font-size:var(--font-sm);color:var(--color-text-secondary);white-space:nowrap}.checklist-items{display:flex;flex-direction:column;gap:var(--space-2)}.checklist-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.checklist-item:hover{border-color:var(--color-primary)}.checklist-item.checked{background:#f0fdf4;border-color:var(--color-success)}.checklist-checkbox{width:24px;height:24px;border:2px solid var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;transition:all var(--transition-base)}.checklist-item.checked .checklist-checkbox{background:var(--color-success);border-color:var(--color-success);color:#fff}.checklist-content{flex:1}.checklist-text{display:block;font-weight:var(--font-medium)}.checklist-details{display:block;font-size:var(--font-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.lesson-video{text-align:left}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;margin-bottom:var(--space-4);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-secondary)}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-placeholder{padding:var(--space-8);background:var(--color-bg-secondary);border-radius:var(--radius-lg);text-align:center;margin-bottom:var(--space-4)}.video-placeholder-icon{font-size:3rem;display:block;margin-bottom:var(--space-3)}.video-placeholder-hint{font-size:var(--font-sm);color:var(--color-text-tertiary)}.lesson-footer{border-top:1px solid var(--color-border);padding-top:var(--space-4);margin-top:var(--space-6)}.lesson-trust-signals{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.trust-badge{font-size:var(--font-xs);color:var(--color-text-secondary)}.lesson-complete-section{text-align:center}.btn-complete{padding:var(--space-3) var(--space-6);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);font-size:var(--font-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base)}.btn-complete:hover:not(:disabled){border-color:var(--color-success);color:var(--color-success)}.btn-complete.completed{background:var(--color-success);border-color:var(--color-success);color:#fff;cursor:default}.lesson-sources{margin-top:var(--space-4);font-size:var(--font-sm)}.lesson-sources summary{cursor:pointer;color:var(--color-primary);margin-bottom:var(--space-2)}.lesson-sources ul{margin:var(--space-2) 0 0 var(--space-4);padding:0}.lesson-sources li{margin-bottom:var(--space-1)}.lesson-sources a{color:var(--color-primary);text-decoration:none}.lesson-sources a:hover{text-decoration:underline}@media(max-width:768px){.library-header{flex-direction:column}.search-input{width:100%}.progress-overview,.lesson-cards-row{grid-template-columns:1fr}.quick-ref-grid{grid-template-columns:repeat(2,1fr)}.safety-gate-content{flex-direction:column;text-align:center}.tutorial-nav{flex-direction:column}}.access-gate-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.access-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--space-4)}.access-gate-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000040;max-width:420px;width:100%;overflow:hidden}.access-gate-header{background:linear-gradient(135deg,#1a1a2e,#16213e);padding:var(--space-8) var(--space-6);text-align:center}.access-gate-logo{height:70px;margin-bottom:var(--space-3);filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.access-gate-title{font-size:2rem;font-weight:600;color:#fff;margin:0 0 var(--space-2) 0}.access-gate-title .brand-c{color:#c084fc}.access-gate-title .brand-reg{font-size:.5em;vertical-align:super;opacity:.8}.access-gate-subtitle{color:#ffffffb3;font-size:var(--font-sm);margin:0;text-transform:uppercase;letter-spacing:.1em}.access-gate-body{padding:var(--space-8) var(--space-6);text-align:center}.access-gate-icon{font-size:3rem;margin-bottom:var(--space-4)}.access-gate-message{color:var(--text-secondary);margin:0 0 var(--space-6) 0;line-height:1.6}.access-gate-form{display:flex;flex-direction:column;gap:var(--space-4)}.access-input-wrapper{position:relative}.access-input{width:100%;padding:var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base);text-align:center;transition:all var(--transition-base)}.access-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.access-input.error{border-color:#ef4444}.access-error{display:block;color:#ef4444;font-size:var(--font-sm);margin-top:var(--space-2)}.access-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.access-submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.access-gate-footer{padding:var(--space-4) var(--space-6);background:var(--bg-secondary);text-align:center;border-top:1px solid var(--border)}.access-gate-footer p{margin:0;font-size:var(--font-sm);color:var(--text-tertiary)}.access-gate-footer a{color:var(--primary);text-decoration:none}.access-gate-footer a:hover{text-decoration:underline}.access-gate-alt{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light);text-align:center}.access-alt-btn{background:transparent;border:none;color:var(--primary);font-size:var(--font-sm);cursor:pointer;padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.access-alt-btn:hover{text-decoration:underline}.personal-setup{display:flex;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e9f0)}.personal-setup .setup-brand-panel{flex:1;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:var(--space-8);position:relative;overflow:hidden}.personal-setup .setup-brand-panel:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 15s ease-in-out infinite}.personal-setup .brand-content{position:relative;z-index:1;text-align:center;max-width:400px}.personal-setup .brand-hero{margin-bottom:var(--space-8)}.personal-setup .brand-title{font-size:2.5rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.02em}.personal-setup .brand-subtitle{color:#ffffffe6;font-size:var(--font-lg);margin-top:var(--space-2)}.personal-setup .setup-info-card{background:#ffffff26;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.personal-setup .setup-info-card .info-icon{font-size:2.5rem;margin-bottom:var(--space-3)}.personal-setup .setup-info-card h3{color:#fff;margin:0 0 var(--space-2) 0;font-size:var(--font-xl)}.personal-setup .setup-info-card p{color:#ffffffd9;margin:0;line-height:1.6}.personal-setup .setup-features{text-align:left}.personal-setup .setup-feature{display:flex;align-items:center;gap:var(--space-3);color:#ffffffe6;padding:var(--space-2) 0}.personal-setup .feature-icon-small{color:#4ade80;font-weight:700}.personal-setup .brand-footer{margin-top:var(--space-8)}.personal-setup .version-text{color:#fff9;font-size:var(--font-sm)}.personal-setup .setup-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.personal-setup .form-container{width:100%;max-width:480px}.personal-setup .form-header{text-align:center;margin-bottom:var(--space-6)}.personal-setup .form-header h2{font-size:var(--font-2xl);color:var(--text);margin:0 0 var(--space-2) 0}.personal-setup .form-header p{color:var(--text-secondary);margin:0}.personal-setup .welcome-alert{display:flex;align-items:flex-start;gap:var(--space-3);background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:1px solid #7dd3fc;border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.personal-setup .welcome-alert .alert-icon{font-size:1.5rem}.personal-setup .welcome-alert .alert-content strong{display:block;color:#0369a1;margin-bottom:var(--space-1)}.personal-setup .welcome-alert .alert-content p{color:#0c4a6e;margin:0;font-size:var(--font-sm)}.personal-setup .error-alert{display:flex;align-items:center;gap:var(--space-2);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);color:#dc2626}.personal-setup .premium-setup-form{display:flex;flex-direction:column;gap:var(--space-4)}.personal-setup .input-row{display:flex;gap:var(--space-4)}.personal-setup .input-row .input-group{flex:1}.personal-setup .input-group{display:flex;flex-direction:column;gap:var(--space-2)}.personal-setup .input-group label{font-weight:600;color:var(--text)!important;font-size:.95rem}.personal-setup .input-group input,.personal-setup .input-group select{padding:var(--space-3) var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base);transition:all var(--transition-base)}.personal-setup .input-group input:focus,.personal-setup .input-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.personal-setup .btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-lg);margin-top:var(--space-4);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.personal-setup .btn-arrow{font-size:1.2em}.personal-setup .privacy-note{text-align:center;color:var(--text-tertiary);font-size:var(--font-sm);margin-top:var(--space-4)}.personal-setup .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:900px){.personal-setup{flex-direction:column}.personal-setup .setup-brand-panel{padding:var(--space-6);min-height:auto}.personal-setup .setup-features{display:none}.personal-setup .input-row{flex-direction:column;gap:var(--space-4)}}.personal-setup .weight-input-group{display:flex;gap:0}.personal-setup .weight-input-group input{flex:1;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.personal-setup .weight-input-group .weight-unit-select{width:70px;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--bg-secondary)}.health-calendar{padding:var(--space-6);max-width:1200px;margin:0 auto}.calendar-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.calendar-title-section h2{margin:0 0 var(--space-2) 0;color:var(--text)}.calendar-view-toggle{display:flex;gap:var(--space-2);background:var(--bg-secondary);padding:var(--space-1);border-radius:var(--radius-lg)}.calendar-view-toggle .toggle-btn{padding:var(--space-2) var(--space-4);border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all var(--transition-base)}.calendar-view-toggle .toggle-btn.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-4)}.calendar-nav .nav-arrow{background:var(--bg-secondary);border:none;width:40px;height:40px;border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-lg);transition:all var(--transition-base)}.calendar-nav .nav-arrow:hover{background:var(--primary-100);color:var(--primary)}.calendar-nav .month-year{font-size:var(--font-xl);font-weight:600;min-width:200px;text-align:center}.quick-add-bar{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.calendar-grid{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--space-6)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--primary-50);border-bottom:1px solid var(--border)}.calendar-weekdays .weekday{padding:var(--space-3);text-align:center;font-weight:600;color:var(--primary-700);font-size:var(--font-sm)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:90px;padding:var(--space-2);border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);cursor:pointer;transition:background var(--transition-base)}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover:not(.empty){background:var(--primary-50)}.calendar-day.empty{background:var(--bg-secondary);cursor:default}.calendar-day.today{background:var(--primary-50)}.calendar-day.today .day-number{background:var(--primary);color:#fff;border-radius:var(--radius-full);width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-day.selected{background:var(--primary-100);box-shadow:inset 0 0 0 2px var(--primary)}.day-number{font-weight:500;font-size:var(--font-sm);margin-bottom:var(--space-1)}.day-events{display:flex;flex-wrap:wrap;gap:3px}.event-dot{width:8px;height:8px;border-radius:var(--radius-full)}.event-dot.completed{opacity:.5}.more-events{font-size:10px;color:var(--text-tertiary)}.selected-day-panel{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-5);margin-bottom:var(--space-6)}.selected-day-panel h4{margin:0 0 var(--space-4) 0;color:var(--text);font-size:var(--font-lg)}.day-events-list{display:flex;flex-direction:column;gap:var(--space-3)}.no-events{color:var(--text-tertiary);text-align:center;padding:var(--space-4)}.event-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-lg);transition:all var(--transition-base)}.event-card.completed{opacity:.6}.event-card.completed .event-info strong{text-decoration:line-through}.event-left{display:flex;align-items:center;gap:var(--space-3)}.complete-btn{width:24px;height:24px;border-radius:var(--radius-full);border:2px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all var(--transition-base)}.complete-btn.checked{background:var(--success);border-color:var(--success);color:#fff}.event-info{display:flex;align-items:center;gap:var(--space-2)}.event-icon{font-size:1.2rem}.event-time{font-size:var(--font-sm);color:var(--text-secondary);margin-left:var(--space-2)}.event-desc{font-size:var(--font-sm);color:var(--text-secondary);margin:var(--space-1) 0 0 0}.event-actions{display:flex;gap:var(--space-2)}.btn-icon{background:transparent;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);transition:background var(--transition-base)}.btn-add-day-event{width:100%;padding:var(--space-3);border:2px dashed var(--border);border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);cursor:pointer;margin-top:var(--space-3);transition:all var(--transition-base)}.btn-add-day-event:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-50)}.event-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:var(--radius-full)}.weight-tracker{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}.weight-header{margin-bottom:var(--space-6)}.weight-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.stat-card.current-weight{background:linear-gradient(135deg,var(--primary-100),var(--primary-50))}.stat-card.trend.up{background:#fef2f2}.stat-card.trend.down{background:#ecfdf5}@media(prefers-color-scheme:dark){.stat-card.current-weight{background:linear-gradient(135deg,#667eea33,#764ba226)}.stat-card.trend.up{background:#ef444426}.stat-card.trend.down{background:#10b98126}}.stat-label{display:block;font-size:var(--font-sm);color:var(--text);margin-bottom:var(--space-1)}.stat-value{display:block;font-size:var(--font-2xl);font-weight:700;color:var(--text)}.stat-date{display:block;font-size:var(--font-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.weight-history h4{margin:0 0 var(--space-4) 0}.weight-entries-list{display:flex;flex-direction:column;gap:var(--space-2)}.weight-entry{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md)}.entry-date{font-size:var(--font-sm);color:var(--text-secondary);min-width:100px}.entry-weight{font-weight:600;min-width:80px}.entry-change{font-size:var(--font-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.entry-change.up{color:#dc2626;background:#fef2f2}.entry-change.down{color:#16a34a;background:#ecfdf5}.entry-notes{font-size:var(--font-sm);color:var(--text-tertiary);flex:1}.weight-input-row{display:flex;gap:var(--space-2);width:100%}.weight-input-row input[type=number]{flex:1!important;min-width:100px!important;width:auto!important;padding:var(--space-3)!important;border:2px solid var(--border)!important;border-radius:var(--radius-lg)!important;font-size:var(--font-lg)!important;-moz-appearance:textfield}.weight-input-row input[type=number]::-webkit-outer-spin-button,.weight-input-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.weight-input-row input:focus{outline:none;border-color:var(--primary)!important}.weight-input-row select{width:80px!important;flex-shrink:0;padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base)}.health-calendar .form-group{margin-bottom:var(--space-4)}.health-calendar .form-group label{display:block;font-weight:600;margin-bottom:var(--space-2);color:var(--text)!important}.health-calendar .form-group input,.health-calendar .form-group select,.health-calendar .form-group textarea{width:100%;padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base)}.health-calendar .form-group input:focus,.health-calendar .form-group select:focus,.health-calendar .form-group textarea:focus{outline:none;border-color:var(--primary)}.health-calendar .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.health-calendar .checkbox-group label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.health-calendar .checkbox-group input[type=checkbox]{width:auto}@media(max-width:768px){.calendar-day{min-height:60px;padding:var(--space-1)}.day-number{font-size:var(--font-xs)}.calendar-weekdays .weekday{font-size:var(--font-xs);padding:var(--space-2)}.health-calendar .form-row{grid-template-columns:1fr}}.today-schedule{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-xl);margin:var(--space-4) var(--space-6);box-shadow:var(--shadow-lg);overflow:hidden;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.today-schedule-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-base)}.today-schedule-header:hover{background:#ffffff1a}.today-schedule-title{display:flex;align-items:center;gap:var(--space-2);color:#fff;font-weight:600}.schedule-icon{font-size:1.2rem}.schedule-badge{background:#fff3;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-xs);margin-left:var(--space-2);font-weight:500}.today-schedule-actions{display:flex;align-items:center;gap:var(--space-2)}.btn-view-calendar{background:#fff3;color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:background var(--transition-base)}.btn-view-calendar:hover{background:#ffffff4d}.btn-collapse,.btn-dismiss{background:transparent;color:#fffc;border:none;width:28px;height:28px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-base);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.btn-collapse:hover,.btn-dismiss:hover{background:#fff3;color:#fff}.btn-dismiss{font-size:1.25rem}.today-schedule-body{background:var(--surface);padding:var(--space-4)}.today-events-list{display:flex;flex-direction:column;gap:var(--space-2)}.today-event-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-lg);transition:all var(--transition-base)}.today-event-item:hover{background:var(--bg-tertiary)}.today-event-item.completed{opacity:.6}.today-event-item.completed .today-event-title{text-decoration:line-through}.today-complete-btn{width:22px;height:22px;min-width:22px;border-radius:var(--radius-full);border:2px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all var(--transition-base)}.today-complete-btn:hover{border-color:var(--success)}.today-complete-btn.checked{background:var(--success);border-color:var(--success);color:#fff}.today-event-time{font-size:var(--font-sm);color:var(--text-secondary);min-width:70px;font-weight:500}.today-event-type{font-size:1.1rem}.today-event-title{flex:1;font-weight:500;color:var(--text)}.today-event-desc{display:block;font-size:var(--font-sm);color:var(--text-secondary);font-weight:400}.today-progress{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-light)}.progress-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--success),#34d399);border-radius:var(--radius-full);transition:width var(--transition-base)}.progress-text{font-size:var(--font-sm);color:var(--text-secondary);font-weight:500}@media(max-width:600px){.today-schedule{margin:var(--space-3)}.today-event-time{min-width:55px;font-size:var(--font-xs)}.btn-view-calendar{display:none}}.access-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.access-modal{background:var(--surface);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000040;max-width:420px;width:90%;overflow:hidden;position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.access-modal-close{position:absolute;top:1rem;right:1rem;background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:var(--radius-full);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);z-index:1}.access-modal-close:hover{background:#ffffff4d}.custom-protocols-section{margin-top:var(--space-6)}.custom-protocols-title{font-size:var(--font-lg);color:var(--text);margin:0 0 var(--space-4) 0}.protocol-card.custom{border-left:4px solid var(--warning)}.custom-badge{background:var(--warning);color:#fff;font-size:var(--font-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:600;margin-right:var(--space-2)}.btn-add-custom-protocol{width:100%;padding:var(--space-4);border:2px dashed var(--border);border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all var(--transition-base);margin-top:var(--space-4)}.btn-add-custom-protocol:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-50)}.custom-protocol-form{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);margin-top:var(--space-4);border:2px solid var(--primary-200)}.custom-protocol-form h4{margin:0 0 var(--space-1) 0;color:var(--text)}.custom-protocol-form .form-subtitle{color:var(--text-secondary);margin:0 0 var(--space-5) 0}.custom-protocol-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.custom-protocol-form .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.custom-protocol-form .form-group.full-width{grid-column:1 / -1}.custom-protocol-form .form-group label{font-weight:600;color:var(--text)!important;font-size:.95rem}.custom-protocol-form .form-group input,.custom-protocol-form .form-group textarea{padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-base);transition:border-color var(--transition-base)}.custom-protocol-form .form-group input:focus,.custom-protocol-form .form-group textarea:focus{outline:none;border-color:var(--primary)}.custom-protocol-form .form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.custom-protocol-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.btn-sm{padding:var(--space-2) var(--space-3)!important;font-size:var(--font-sm)!important}.btn-danger{background:var(--danger);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:background var(--transition-base)}.btn-danger:hover{background:#dc2626}@media(max-width:768px){.custom-protocol-form .form-grid{grid-template-columns:1fr}}.recurrence-options{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-2)}.recurrence-options .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.recurrence-hint{font-size:var(--font-sm);color:var(--text-secondary);margin:var(--space-3) 0 0 0;font-style:italic}@media(max-width:480px){.recurrence-options .form-row{grid-template-columns:1fr}}.recurring-badge{display:inline-block;margin-left:var(--space-1);font-size:var(--font-xs);opacity:.7}.virtual-event-hint{font-size:var(--font-sm);opacity:.5}input,select,textarea{border:2px solid var(--border)!important;background-color:var(--surface)!important;color:var(--text)!important}input:focus,select:focus,textarea:focus{border-color:#6366f1!important;outline:none!important}input::placeholder,textarea::placeholder{color:var(--text-tertiary)!important}input[type=checkbox],input[type=radio]{border:2px solid var(--border)!important;width:auto!important;background-color:var(--surface)!important}input[type=checkbox]:checked,input[type=radio]:checked{background-color:#6366f1!important;border-color:#6366f1!important}.form-section-divider{display:flex;align-items:center;margin:24px 0 16px;color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-section-divider:before,.form-section-divider:after{content:"";flex:1;height:1px;background:var(--border)}.form-section-divider:before{margin-right:12px}.form-section-divider:after{margin-left:12px}.view-details-modal{max-width:600px;width:95%}.view-details-modal .modal-body{max-height:70vh;overflow-y:auto}.detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.detail-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-section h4{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:#4f46e5;text-transform:uppercase;letter-spacing:.5px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:500px){.detail-grid{grid-template-columns:1fr}}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1rem;color:var(--text);font-weight:500}.detail-notes{margin:0;padding:.75rem;background:var(--bg-secondary);border-radius:6px;color:var(--text);font-size:.95rem;line-height:1.5}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}.status-badge.active{background:var(--success-50);color:#065f46}.status-badge.inactive{background:var(--danger-50);color:#991b1b}.view-details-modal .modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border)}.medications{padding:var(--space-4)}.medications-list{display:flex;flex-direction:column;gap:var(--space-4)}.medication-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow .2s ease}.medication-card:hover{box-shadow:0 4px 12px #00000014}.medication-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.medication-title h3{margin:0 0 var(--space-2) 0;font-size:var(--font-lg);color:var(--text-primary)}.medication-badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:500}.badge-dosage{background:var(--accent-blue);color:#fff}.badge-ongoing{background:#22c55e26;color:var(--success)}.badge-asneeded{background:#f59e0b26;color:var(--warning)}.medication-actions{display:flex;gap:var(--space-2)}.medication-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3)}.info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-label{font-size:var(--font-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:var(--font-sm);color:var(--text-primary);font-weight:500}.filter-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.filter-tab{padding:var(--space-2) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all .2s ease}.filter-tab:hover{border-color:var(--primary);color:var(--primary)}.filter-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.btn-icon{padding:var(--space-2);border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);transition:background .2s ease}.btn-icon:hover{background:var(--bg-secondary)}.btn-icon-danger:hover{background:#ef44441a}@media(prefers-color-scheme:dark){.enterprise-mode-selection{background:linear-gradient(135deg,#0a0a0a,#1a1a2e)}.premium-mode-card{background:var(--surface);border-color:var(--border)}.premium-mode-card:hover{border-color:var(--primary);box-shadow:0 12px 24px #0000004d}.mode-footer-info{background:var(--surface);border-color:var(--border)}.spinner-small{border-color:#ffffff1a;border-top-color:var(--primary)}}@media(prefers-color-scheme:dark){.app-container,.tab-content,.card,.modal-content,.form-group input,.form-group select,.form-group textarea,.search-input,.peptide-card,.protocol-card,.biomarker-card,.journal-entry,.calendar-container,.settings-section,.import-section,.export-section,.interaction-card,.result-card,.medication-card,.patient-card,.alert-card,.insights-cta,.biomarker-insights,.bulk-import-area,.learning-card,.dose-card,.reconstitution-calculator,.premium-gate,.auth-container,.report-container,.fda-checker,.personal-setup,.welcome-alert,.mode-footer-info,.premium-mode-card,.inventory-header,.stats-card,.graph-container,.filter-bar,.action-bar,.dropdown-menu,.tooltip-content,.tab-bar,.detail-panel,.info-card,.edit-form,.list-item,.table-container,.data-table th,.data-table td,.today-schedule-body,.today-complete-btn,.access-modal,.custom-protocol-form,.comparison-section,.biomarker-checkbox,.btn-download,.extracted-table-wrapper,.view-details-modal,.sub-nav,.modal,.footer,.nav,.bottom-tab-bar{background-color:var(--surface)!important;color:var(--text)!important}.modal-content,.dropdown-menu,.tooltip-content,.detail-panel{background-color:var(--surface-elevated)!important}.enterprise-mode-selection,.landing-page{background:linear-gradient(135deg,#0a0a0a,#1a1a2e)!important}[style*=background][style*="#f8fafc"],[style*=background][style*="#f5f7fa"],[style*=background][style*="#e4e9f0"]{background-color:var(--bg-secondary)!important}[style*=background][style*="#fff3cd"]{background-color:#f59e0b26!important;color:#fbbf24!important}[style*=backgroundColor][style*=white],[style*=backgroundColor][style*="#fff"],[style*=backgroundColor][style*="#ffffff"]{background-color:var(--surface)!important}[style*=color][style*="#333"],[style*=color][style*="#1a1a"]{color:var(--text)!important}.card,.peptide-card,.protocol-card,.biomarker-card,.journal-entry,.interaction-card,.result-card,.medication-card,.patient-card,.premium-mode-card,.mode-footer-info,.modal-content,.form-group input,.form-group select,.form-group textarea,.settings-section,.stats-card,.today-schedule-body,.access-modal,.custom-protocol-form,.sub-nav,.view-details-modal .modal-footer,.detail-section{border-color:var(--border)!important}input,select,textarea{background-color:var(--bg-tertiary)!important;color:var(--text)!important;border-color:var(--border)!important}input::placeholder,textarea::placeholder{color:var(--text-tertiary)!important}table,th,td{border-color:var(--border)!important}th{background-color:var(--bg-tertiary)!important;color:var(--text)!important}tr:nth-child(2n){background-color:var(--bg-secondary)!important}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-strong)}.modal-overlay{background:#000000b3!important}.bottom-tab-bar,.tab-bar-container{background-color:var(--surface)!important;border-top-color:var(--border)!important}.app-header,.nav-header{background-color:var(--surface)!important;border-bottom-color:var(--border)!important}.badge,.pill,.tag,.footer-feature{background-color:var(--bg-tertiary)!important;color:var(--text)!important}.status-normal{color:#34d399!important}.status-warning{color:#fbbf24!important}.status-critical{color:#f87171!important}.detail-section{border-bottom-color:var(--border)!important}.detail-label{color:var(--text-secondary)!important}.detail-value{color:var(--text)!important}.detail-notes{background:var(--bg-secondary)!important;color:var(--text)!important}.detail-section h4{color:#818cf8!important}.form-section-divider{color:var(--text-secondary)!important}.form-section-divider:before,.form-section-divider:after{background:var(--border)!important}.status-badge.active{background:#10b98133!important;color:#34d399!important}.status-badge.inactive{background:#ef444433!important;color:#f87171!important}.entry-change.up,.extracted-table tr.row-normal{background:#10b98126!important}.entry-change.down,.extracted-table tr.row-high{background:#ef444426!important}.extracted-table tr.row-low{background:#f59e0b26!important}.welcome-alert,.alert-card{background:var(--surface)!important;border-color:var(--border)!important}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:20px}.auth-container{width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{width:80px;height:80px;margin-bottom:16px;border-radius:16px}.auth-header h1{color:#fff;font-size:32px;font-weight:700;margin:0 0 4px}.auth-subtitle{color:#94a3b8;font-size:16px;margin:0}.auth-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px}.auth-tabs{display:flex;gap:8px;margin-bottom:24px}.auth-tab{flex:1;padding:12px 16px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#94a3b8;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-tab:hover{background:#ffffff0d;color:#fff}.auth-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;color:#fca5a5;font-size:14px}.auth-message{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;padding:12px 16px;color:#86efac;font-size:14px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#e2e8f0;font-size:14px;font-weight:500}.form-group input{padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:16px;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#3b82f6;background:#ffffff14}.form-group input::placeholder{color:#64748b}.auth-submit-btn{padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-link-btn{background:none;border:none;color:#60a5fa;font-size:14px;cursor:pointer;padding:8px;margin-top:-8px}.auth-link-btn:hover{color:#93c5fd;text-decoration:underline}.auth-beta-section{margin-top:24px}.auth-divider{display:flex;align-items:center;gap:16px;margin-bottom:20px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.auth-divider span{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:1px}.auth-beta-btn{width:100%;padding:12px 24px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#94a3b8;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-beta-btn:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.auth-beta-note{color:#64748b;font-size:12px;text-align:center;margin-top:12px}.auth-footer{text-align:center;margin-top:24px;color:#64748b;font-size:12px;line-height:1.6}.auth-footer a{color:#60a5fa;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-loading{text-align:center;color:#94a3b8}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){.auth-card{padding:24px}.auth-header h1{font-size:28px}.auth-logo{width:64px;height:64px}}.social-auth-buttons{display:flex;flex-direction:column;gap:12px;padding:20px 20px 0}.social-auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s;border:none}.social-auth-btn:disabled{opacity:.6;cursor:not-allowed}.social-auth-btn:active:not(:disabled){opacity:.8}.apple-btn{background:#000;color:#fff}.google-btn{background:#fff;color:#333;border:1px solid #ddd!important}.auth-divider{display:flex;align-items:center;padding:0 20px;margin:16px 0 4px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid #e0e0e0}.auth-divider span{padding:0 12px;color:#999;font-size:13px;text-transform:uppercase}.landing-page{min-height:100vh;background:#fafbfc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.landing-nav{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}.landing-nav-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.landing-logo{display:flex;align-items:center;gap:.75rem}.landing-logo-img{height:40px;width:auto}.landing-logo-text{font-size:1.5rem;font-weight:600;color:#1a1a2e}.landing-logo-text .brand-c{color:#8b5cf6}.landing-logo-text .brand-reg{font-size:.5em;vertical-align:super;opacity:.6}.landing-nav-links{display:flex;align-items:center;gap:2rem}.landing-nav-links a{color:#64748b;text-decoration:none;font-weight:500;transition:color .2s}.landing-nav-links a:hover{color:#1a1a2e}.btn-nav-cta{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-nav-cta:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.landing-hero{padding:8rem 2rem 4rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;min-height:100vh}.hero-badge{display:inline-block;background:linear-gradient(135deg,#667eea20,#764ba220);color:#667eea;padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:600;margin-bottom:1.5rem}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;color:var(--text, #1a1a2e);margin:0 0 1.5rem}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:#64748b;line-height:1.7;margin:0 0 2rem}.hero-cta-group{display:flex;gap:1rem;margin-bottom:2rem}.btn-hero-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .2s}.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.btn-hero-secondary{background:#fff;color:#667eea;border:2px solid #667eea;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:background .2s}.btn-hero-secondary:hover{background:#667eea10}.hero-trust{display:flex;gap:1.5rem;color:#64748b;font-size:.875rem}.hero-trust span{display:flex;align-items:center;gap:.25rem}.hero-visual{display:flex;justify-content:center}.app-preview{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000026;overflow:hidden;width:100%;max-width:400px}.preview-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;display:flex;align-items:center;gap:1rem}.preview-dots{display:flex;gap:6px}.preview-dots span{width:12px;height:12px;border-radius:50%;background:#ffffff4d}.preview-dots span:first-child{background:#ff5f57}.preview-dots span:nth-child(2){background:#ffbd2e}.preview-dots span:nth-child(3){background:#28ca42}.preview-title{color:#fff;font-size:.875rem;opacity:.9}.preview-content{padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.preview-card{background:#f8fafc;padding:1.25rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-weight:500;color:#1a1a2e;font-size:.875rem;text-align:center}.preview-icon{font-size:2rem}.landing-social-proof{background:linear-gradient(135deg,#667eea,#764ba2);padding:3rem 2rem}.social-proof-content{max-width:1200px;margin:0 auto;text-align:center}.social-proof-content>p{color:#fffc;margin:0 0 2rem;font-size:1rem}.proof-stats{display:flex;justify-content:center;gap:4rem}.stat{text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:800;color:#fff}.stat-label{display:block;color:#fffc;font-size:.875rem;margin-top:.25rem}.section-header{text-align:center;margin-bottom:3rem}.section-badge{display:inline-block;background:linear-gradient(135deg,#667eea20,#764ba220);color:#667eea;padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:600;margin-bottom:1rem}.section-header h2{font-size:2.5rem;font-weight:800;color:#1a1a2e;margin:0 0 1rem}.section-header p{font-size:1.125rem;color:#64748b;max-width:600px;margin:0 auto}.landing-features{padding:5rem 2rem;background:#fff}.features-content{max-width:1200px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature-card{background:#f8fafc;padding:2rem;border-radius:16px;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;font-weight:700;color:#1a1a2e;margin:0 0 .75rem}.feature-card p{color:#64748b;line-height:1.6;margin:0}.landing-audience{padding:5rem 2rem;background:#f8fafc}.audience-content{max-width:1200px;margin:0 auto}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.audience-card{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 4px 12px #0000000d}.audience-card.personal{border-top:4px solid #667eea}.audience-card.clinical{border-top:4px solid #764ba2}.audience-icon{font-size:3rem;margin-bottom:1rem}.audience-card h3{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0 0 .75rem}.audience-card>p{color:#64748b;margin:0 0 1.5rem;line-height:1.6}.audience-card ul{list-style:none;padding:0;margin:0}.audience-card li{padding:.5rem 0;color:#1a1a2e}.landing-pricing{padding:5rem 2rem;background:#fff}.pricing-content{max-width:1200px;margin:0 auto}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:4rem}.pricing-grid.two-tier{grid-template-columns:repeat(2,1fr);max-width:800px;margin-left:auto;margin-right:auto;margin-bottom:4rem}.pricing-card{background:#f8fafc;padding:2rem;border-radius:16px;position:relative;display:flex;flex-direction:column}.pricing-card.featured{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:scale(1.05)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#fbbf24;color:#1a1a2e;padding:.25rem 1rem;border-radius:50px;font-size:.75rem;font-weight:700}.pricing-header{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:1.5rem}.pricing-card.featured .pricing-header{border-bottom-color:#fff3}.pricing-header h3{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:inherit}.pricing-card:not(.featured) .pricing-header h3{color:#1a1a2e}.price{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.price-amount{font-size:3rem;font-weight:800}.pricing-card:not(.featured) .price-amount{color:#1a1a2e}.price-period{font-size:1rem;opacity:.7}.pricing-features{list-style:none;padding:0;margin:0 0 2rem;flex:1}.pricing-features li{padding:.75rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.pricing-card.featured .pricing-features li{border-bottom-color:#ffffff1a}.pricing-card:not(.featured) .pricing-features li{color:#1a1a2e}.btn-pricing{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-pricing:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-pricing-outline{background:transparent;color:inherit;border:2px solid currentColor;padding:1rem;border-radius:8px;font-weight:600;cursor:not-allowed;opacity:.6}.pricing-card.featured .btn-pricing-outline{border-color:#fff;color:#fff}.price-annual{font-size:.875rem;color:inherit;opacity:.7;margin:.5rem 0 0}.pricing-note{text-align:center;font-size:.875rem;color:inherit;opacity:.7;margin:.75rem 0 0}.pricing-card:not(.featured) .pricing-note{color:#64748b}.pricing-card.featured .btn-pricing{background:#fff;color:#667eea}.pricing-card.featured .btn-pricing:hover{background:#f8fafc}.waitlist-section{background:linear-gradient(135deg,#667eea10,#764ba210);padding:3rem;border-radius:16px;text-align:center}.waitlist-section h3{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0 0 .75rem}.waitlist-section>p{color:#64748b;margin:0 0 1.5rem}.waitlist-form{display:flex;gap:1rem;max-width:500px;margin:0 auto}.waitlist-form input{flex:1;padding:1rem 1.5rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem}.waitlist-form input:focus{outline:none;border-color:#667eea}.waitlist-form button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;white-space:nowrap}.waitlist-success{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#059669;font-weight:500}.success-icon{background:#059669;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem}.waitlist-error{color:#dc2626;margin-top:1rem}.landing-about{padding:5rem 2rem;background:#f8fafc}.about-content{max-width:1200px;margin:0 auto}.about-text{max-width:800px;margin:0 auto 3rem;text-align:center}.about-text p{font-size:1.125rem;color:#64748b;line-height:1.8;margin:0 0 1rem}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.value{text-align:center;padding:2rem}.value-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.value h4{font-size:1.25rem;font-weight:700;color:#1a1a2e;margin:0 0 .5rem}.value p{color:#64748b;margin:0;line-height:1.6}.landing-cta{padding:5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);text-align:center}.cta-content{max-width:800px;margin:0 auto}.cta-content h2{font-size:2.5rem;font-weight:800;color:#fff;margin:0 0 1rem}.cta-content p{font-size:1.25rem;color:#ffffffe6;margin:0 0 2rem}.btn-cta-large{background:#fff;color:#667eea;border:none;padding:1.25rem 3rem;border-radius:12px;font-size:1.25rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .2s}.btn-cta-large:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.btn-arrow{transition:transform .2s}.btn-cta-large:hover .btn-arrow,.btn-hero-primary:hover .btn-arrow{transform:translate(4px)}.landing-footer{background:#1a1a2e;padding:4rem 2rem 2rem;color:#fff}.footer-content{max-width:1200px;margin:0 auto}.footer-main{display:flex;justify-content:space-between;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:2rem}.footer-brand p{color:#fff9;margin:1rem 0 0}.footer-brand .landing-logo-text{color:#fff}.footer-links{display:flex;gap:4rem}.footer-column h4{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;color:#ffffff80}.footer-column a,.footer-link-btn{display:block;color:#fffc;text-decoration:none;padding:.5rem 0;transition:color .2s;background:none;border:none;font-size:inherit;cursor:pointer;text-align:left}.footer-column a:hover,.footer-link-btn:hover{color:#fff}.footer-bottom{text-align:center}.footer-techbiota{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.footer-techbiota-pill{display:inline-flex;align-items:center;gap:.5rem;background:#fff;padding:.5rem 1rem;border-radius:50px;transition:background .2s,transform .2s;text-decoration:none}.footer-techbiota-pill:hover{background:#f8fafc;transform:translateY(-2px)}.footer-techbiota-pill span{color:#64748b;font-size:.875rem}.footer-techbiota .techbiota-logo{height:24px}.footer-copyright{color:#ffffff80;font-size:.875rem;margin:0 0 1rem}.footer-disclaimer{color:#fff6;font-size:.75rem;max-width:600px;margin:0 auto;line-height:1.6}@media(max-width:1024px){.landing-hero{grid-template-columns:1fr;text-align:center;padding-top:6rem;min-height:auto}.hero-cta-group{justify-content:center}.hero-trust{justify-content:center;flex-wrap:wrap}.hero-visual{order:-1}.features-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}.pricing-card.featured{transform:none}.audience-grid,.about-values{grid-template-columns:1fr}}@media(max-width:768px){.landing-nav-links a:not(.btn-nav-cta){display:none}.hero-title{font-size:2.5rem}.section-header h2{font-size:2rem}.features-grid{grid-template-columns:1fr}.proof-stats,.footer-main{flex-direction:column;gap:2rem}.footer-links{gap:2rem}.waitlist-form{flex-direction:column}}@media(prefers-color-scheme:dark){.landing-page{background:#0a0a0a}.landing-nav{background:#1a1a1af2;border-bottom-color:var(--border)}.landing-logo-text{color:var(--text)}.landing-nav-links a{color:var(--text-secondary)}.landing-nav-links a:hover,.hero-title{color:var(--text)}.hero-subtitle,.hero-trust{color:var(--text-secondary)}.btn-hero-secondary{background:var(--surface);color:#667eea;border-color:#667eea}.btn-hero-secondary:hover{background:#667eea1a}.app-preview{background:var(--surface)}.preview-card{background:var(--bg-secondary);color:var(--text)}.section-header h2{color:var(--text)}.section-header p{color:var(--text-secondary)}.landing-features{background:var(--surface)}.feature-card{background:var(--bg-secondary)}.feature-card h3{color:var(--text)}.feature-card p{color:var(--text-secondary)}.landing-audience{background:#0a0a0a}.audience-card{background:var(--surface)}.audience-card h3{color:var(--text)}.audience-card>p{color:var(--text-secondary)}.audience-card li{color:var(--text)}.landing-pricing{background:var(--surface)}.pricing-card{background:var(--bg-secondary)}.pricing-card:not(.featured) .pricing-header h3{color:var(--text)}.pricing-card:not(.featured) .price-amount{color:var(--text)}.pricing-card:not(.featured) .pricing-features li{color:var(--text)}.pricing-card:not(.featured) .pricing-note{color:var(--text-secondary)}.pricing-header,.pricing-features li{border-bottom-color:var(--border)}.pricing-badge{color:#1a1a2e}.waitlist-section{background:linear-gradient(135deg,#667eea1a,#764ba21a)}.waitlist-section h3{color:var(--text)}.waitlist-section>p{color:var(--text-secondary)}.waitlist-form input{background:var(--surface);border-color:var(--border);color:var(--text)}.landing-about{background:#0a0a0a}.about-text p{color:var(--text-secondary)}.value h4{color:var(--text)}.value p{color:var(--text-secondary)}}
