#root{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}:root{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--bg-hover: #e2e8f0;--bg-active: #cbd5e1;--border-subtle: #e2e8f0;--border-default: #cbd5e1;--border-strong: #94a3b8;--accent-primary: #2563eb;--accent-primary-hover: #1d4ed8;--accent-primary-active: #1e40af;--accent-primary-muted: rgba(37, 99, 235, .1);--accent-primary-light: #eff6ff;--accent-secondary: #7c3aed;--accent-secondary-hover: #6d28d9;--accent-secondary-muted: rgba(124, 58, 237, .1);--accent-gradient: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-soft: #94a3b8;--text-inverse: #ffffff;--status-success: #059669;--status-success-hover: #047857;--status-success-muted: rgba(5, 150, 105, .1);--status-success-light: #ecfdf5;--status-success-border: #a7f3d0;--status-warning: #d97706;--status-warning-hover: #b45309;--status-warning-muted: rgba(217, 119, 6, .1);--status-warning-light: #fffbeb;--status-warning-border: #fcd34d;--status-danger: #dc2626;--status-danger-hover: #b91c1c;--status-danger-muted: rgba(220, 38, 38, .1);--status-danger-light: #fef2f2;--status-danger-border: #fca5a5;--status-info: #2563eb;--status-info-hover: #1d4ed8;--status-info-muted: rgba(37, 99, 235, .1);--status-info-light: #eff6ff;--status-info-border: #93c5fd;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--header-height: 64px;--content-max-width: 1280px;--sidebar-width: 280px;--card-max-width: 400px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06);--shadow-success: 0 4px 14px rgba(5, 150, 105, .15);--shadow-warning: 0 4px 14px rgba(217, 119, 6, .15);--shadow-danger: 0 4px 14px rgba(220, 38, 38, .15);--shadow-primary: 0 4px 14px rgba(37, 99, 235, .2);--focus-ring: 0 0 0 3px rgba(37, 99, 235, .4);--focus-ring-danger: 0 0 0 3px rgba(220, 38, 38, .4);--focus-ring-success: 0 0 0 3px rgba(5, 150, 105, .4);--touch-target-min: 44px;--touch-target-comfortable: 48px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-x:hidden;color-scheme:light}@media(prefers-color-scheme:dark){html{color-scheme:dark}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-base);min-height:100vh;overflow-x:hidden;width:100%;max-width:100vw}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover);text-decoration:underline}a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{color:var(--text-inverse);background:var(--accent-primary);padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}.btn-secondary{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}.btn-ghost{color:var(--text-muted);background:transparent;padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}.btn-danger{color:var(--text-inverse);background:var(--status-danger);padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}.btn-success{color:var(--text-inverse);background:var(--status-success);padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}input,select,textarea{font-family:inherit;font-size:var(--text-base)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-input{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);font-family:inherit;width:100%;transition:border-color var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--accent-primary)}.form-textarea{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);font-family:inherit;resize:vertical;min-height:60px;width:100%;transition:border-color var(--transition-fast)}.form-select{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);font-family:inherit;width:100%;cursor:pointer;transition:border-color var(--transition-fast)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.form-error{background:var(--status-danger-muted);padding:var(--space-3);border-radius:var(--radius-md);color:var(--status-danger);font-size:var(--text-sm)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-base)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--status-success)}.text-warning{color:var(--status-warning)}.text-danger{color:var(--status-danger)}.text-info{color:var(--status-info)}.bg-base{background-color:var(--bg-base)}.bg-surface{background-color:var(--bg-surface)}.bg-elevated{background-color:var(--bg-elevated)}.bg-success-light{background-color:var(--status-success-light)}.bg-warning-light{background-color:var(--status-warning-light)}.bg-danger-light{background-color:var(--status-danger-light)}.bg-info-light{background-color:var(--status-info-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.m-0{margin:0}.m-auto{margin:auto}.p-0{padding:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.focus-ring:focus-visible{outline:none;box-shadow:var(--focus-ring)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full)}.status-badge--success{color:var(--status-success);background:var(--status-success-light);border:1px solid var(--status-success-border)}.status-badge--warning{color:var(--status-warning);background:var(--status-warning-light);border:1px solid var(--status-warning-border)}.status-badge--danger{color:var(--status-danger);background:var(--status-danger-light);border:1px solid var(--status-danger-border)}.status-badge--info{color:var(--status-info);background:var(--status-info-light);border:1px solid var(--status-info-border)}.status-icon{width:1em;height:1em;flex-shrink:0}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card--interactive:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--shadow-md)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-slideUp{animation:slideUp var(--transition-base) ease-out}.animate-slideDown{animation:slideDown var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8);text-align:center;min-height:300px}.loading-state{color:var(--text-muted)}.loading-state:before{content:"";width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.error-state{color:var(--status-danger)}.error-state:before{content:"⚠";font-size:2rem}.error-state p{color:var(--text-muted);max-width:300px}.error-state button{margin-top:var(--space-2)}.empty-state{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.empty-state h2{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.empty-state p{color:var(--text-muted);font-size:var(--text-sm);max-width:300px;margin:0}.ai-formatted{line-height:var(--leading-relaxed)}.ai-formatted h2{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-top:var(--space-4);margin-bottom:var(--space-2)}.ai-formatted h3{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin-top:var(--space-3);margin-bottom:var(--space-2)}.ai-formatted h4{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-top:var(--space-3);margin-bottom:var(--space-1)}.ai-formatted p{margin-bottom:var(--space-2);color:var(--text-secondary)}.ai-formatted p:last-child{margin-bottom:0}.ai-formatted strong{font-weight:var(--font-semibold);color:var(--text-primary)}.ai-formatted em{font-style:italic}.ai-formatted ul{list-style:none;padding-left:var(--space-4);margin:var(--space-2) 0}.ai-formatted ul li{position:relative;padding-left:var(--space-3);margin-bottom:var(--space-1);color:var(--text-secondary)}.ai-formatted ul li:before{content:"•";position:absolute;left:0;color:var(--accent-primary);font-weight:var(--font-bold)}.ai-formatted .numbered-item{margin-bottom:var(--space-2);padding-left:var(--space-2);color:var(--text-secondary)}.ai-formatted .numbered-item strong{color:var(--accent-primary);margin-right:var(--space-1)}.ai-formatted>*:first-child{margin-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--font-medium);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;min-height:var(--touch-target-min);position:relative}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:var(--text-inverse);background:var(--accent-primary)}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);box-shadow:var(--shadow-primary)}.btn-primary:focus-visible{box-shadow:var(--focus-ring),var(--shadow-primary)}.btn-secondary{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-default)}.btn-ghost{color:var(--text-muted);background:transparent}.btn-ghost:hover:not(:disabled){color:var(--text-secondary);background:var(--bg-hover)}.btn-danger{color:var(--text-inverse);background:var(--status-danger)}.btn-danger:hover:not(:disabled){background:var(--status-danger-hover);box-shadow:var(--shadow-danger)}.btn-danger:focus-visible{box-shadow:var(--focus-ring-danger)}.btn-success{color:var(--text-inverse);background:var(--status-success)}.btn-success:hover:not(:disabled){background:var(--status-success-hover);box-shadow:var(--shadow-success)}.btn-success:focus-visible{box-shadow:var(--focus-ring-success)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-md{padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-md)}.btn-full{width:100%}.btn-loading .btn-text{opacity:0}.btn-spinner{position:absolute;width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.btn-icon{display:flex;align-items:center;justify-content:center}.btn-icon svg{width:16px;height:16px}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--text-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper.has-icon .form-input{padding-left:40px}.input-wrapper.has-right .form-input{padding-right:44px}.input-icon{position:absolute;left:12px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none}.input-icon svg{width:18px;height:18px}.input-right{position:absolute;right:12px;display:flex;align-items:center;justify-content:center}.form-input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-fast)}.form-input:hover:not(:focus):not(:disabled){border-color:var(--border-default)}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-ring);background:var(--bg-surface)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-input::placeholder{color:var(--text-soft)}.form-input.has-error{border-color:var(--status-danger)}.form-input.has-error:focus{box-shadow:0 0 0 3px var(--status-danger-muted)}.form-error{display:block;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--status-danger)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:100%}.auth-error{padding:var(--space-3) var(--space-4);background:var(--status-danger-muted);border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);font-size:var(--text-sm)}.auth-success{padding:var(--space-4);background:var(--status-success-muted);border:1px solid var(--status-success);border-radius:var(--radius-md);color:var(--status-success);text-align:center;margin-bottom:var(--space-4)}.auth-success h3{margin:0 0 var(--space-2) 0;font-size:var(--text-lg)}.auth-success p{margin:0;font-size:var(--text-sm)}.auth-subtitle-text{color:var(--text-muted);font-size:var(--text-sm);text-align:center;margin-bottom:var(--space-2)}.auth-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-2) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.auth-divider span{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.auth-switch{text-align:center;font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2)}.auth-link{background:none;border:none;color:var(--accent-primary);font-size:inherit;cursor:pointer;padding:0}.auth-link:hover{text-decoration:underline}.forgot-password-link{display:block;text-align:right;margin-top:var(--space-2);font-size:var(--text-sm)}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper .form-input{padding-right:44px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color var(--transition-fast)}.password-toggle:hover{color:var(--text-primary)}.password-toggle svg{width:20px;height:20px}.google-icon{flex-shrink:0;margin-right:var(--space-2)}.google-button-container{display:flex;justify-content:center;min-height:44px}@media(max-width:480px){.form-row{grid-template-columns:1fr}.auth-form{gap:var(--space-3)}.auth-divider{margin:var(--space-1) 0}}@media(max-width:480px){.auth-form .form-input,.auth-form select.form-input{min-height:48px;font-size:16px;padding:var(--space-3) var(--space-3)}.auth-form .form-group{margin-bottom:var(--space-2)}.auth-form .form-label{font-size:11px;margin-bottom:var(--space-1)}.password-wrapper .form-input{padding-right:48px}.password-toggle{right:10px;padding:8px}.password-toggle svg{width:22px;height:22px}}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236d7388' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}input[type=date].form-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}input[type=date].form-input::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}@media(max-width:480px){select.form-input{background-position:right 10px center;padding-right:32px}input[type=date].form-input::-webkit-calendar-picker-indicator{width:20px;height:20px}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-6);background:var(--bg-base)}.auth-card{width:100%;max-width:400px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-7);position:relative}.auth-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(var(--bg-surface-rgb, 255, 255, 255),.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);border-radius:var(--radius-xl);z-index:10;color:var(--text-muted);font-size:var(--text-sm)}.auth-loading-spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-header{text-align:center;margin-bottom:var(--space-6)}.auth-title{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.auth-subtitle{font-size:var(--text-sm);color:var(--text-muted)}@media(max-width:480px){.auth-container{padding:var(--space-3);align-items:flex-start;padding-top:var(--space-6)}.auth-card{padding:var(--space-4);border-radius:var(--radius-lg);max-width:100%}.auth-header{margin-bottom:var(--space-4)}.auth-title{font-size:var(--text-lg)}.auth-subtitle{font-size:var(--text-xs)}}@media(max-width:360px){.auth-container{padding:var(--space-2);padding-top:var(--space-4)}.auth-card{padding:var(--space-3)}}.onboarding-page{min-height:100vh;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-base) 100%);padding:20px;overflow-y:auto}.onboarding-container{max-width:500px;margin:0 auto;padding-bottom:40px}.onboarding-header{text-align:center;padding:24px 0 32px}.onboarding-header h1{font-size:26px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.onboarding-header p{font-size:15px;color:var(--text-secondary);margin:0}.onboarding-form{display:flex;flex-direction:column;gap:0}.onboarding-section{display:flex;flex-direction:column;gap:16px}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.section-subtitle{font-size:13px;color:var(--text-secondary);margin:-8px 0 8px}.section-divider{height:1px;background:var(--border-subtle);margin:24px 0}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:var(--text-primary)}.form-label .required{color:var(--status-danger)}.form-input{padding:12px 14px;font-size:16px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;min-height:48px}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}.form-input::placeholder{color:var(--text-muted)}.sex-options{display:flex;gap:10px}.sex-option{flex:1;padding:14px 16px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.sex-option:hover{border-color:var(--accent-primary)}.sex-option.selected{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.measurements-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.measurement-group{display:flex;flex-direction:column;gap:8px}.measurement-header{display:flex;justify-content:space-between;align-items:center}.unit-toggle{display:flex;border:1px solid var(--border-default);border-radius:6px;overflow:hidden}.unit-toggle button{padding:4px 10px;border:none;background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.unit-toggle button:not(:last-child){border-right:1px solid var(--border-default)}.unit-toggle button.active{background:var(--accent-primary);color:#fff}.height-imperial{display:flex;align-items:center;gap:6px}.height-imperial .form-input{width:60px;text-align:center;padding:12px 8px}.unit-label{font-size:13px;color:var(--text-secondary)}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid var(--border-default);border-radius:20px;background:var(--bg-surface);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.chip:hover{border-color:var(--accent-primary)}.chip.selected{background:var(--accent-primary-light);border-color:var(--accent-primary);color:var(--accent-primary)}.chip .check{font-size:12px;font-weight:600}.add-custom{display:flex;gap:8px;margin-top:4px}.add-custom .form-input{flex:1;min-height:44px;padding:10px 14px;font-size:14px}.autocomplete-container{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:44px;margin-right:8px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:10px;box-shadow:0 4px 16px #00000026;z-index:100;max-height:240px;overflow-y:auto;margin-top:4px}.autocomplete-item{display:block;width:100%;padding:12px 14px;border:none;background:transparent;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background-color .15s}.autocomplete-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.autocomplete-item:hover,.autocomplete-item.highlighted{background:var(--bg-surface-hover)}.autocomplete-item:first-child{border-radius:10px 10px 0 0}.autocomplete-item:last-child{border-radius:0 0 10px 10px}.autocomplete-item:only-child{border-radius:10px}.add-btn{width:44px;height:44px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-surface);color:var(--accent-primary);font-size:24px;font-weight:300;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.add-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.add-btn:disabled{opacity:.4;cursor:not-allowed}.custom-items{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.custom-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--accent-primary-light);border-radius:16px;font-size:13px;color:var(--accent-primary)}.custom-chip button{background:none;border:none;color:var(--accent-primary);font-size:16px;cursor:pointer;padding:0;line-height:1;opacity:.7}.custom-chip button:hover{opacity:1}.smoking-options{display:flex;flex-direction:column;gap:8px}.smoking-option{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s;text-align:left}.smoking-option:hover{border-color:var(--accent-primary)}.smoking-option.selected{background:var(--accent-primary-light);border-color:var(--accent-primary);color:var(--accent-primary)}.smoking-option .check{font-size:14px;font-weight:600}.onboarding-footer{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-subtle);text-align:center}.required-note{font-size:12px;color:var(--text-muted);margin:0 0 16px}.continue-btn{width:100%;padding:16px 24px!important;font-size:16px!important;border-radius:12px!important}@media(max-width:480px){.onboarding-page{padding:16px}.onboarding-header{padding:16px 0 24px}.onboarding-header h1{font-size:22px}.measurements-row{grid-template-columns:1fr;gap:20px}.sex-options{flex-direction:column}.sex-option{padding:12px 14px}.chip{padding:8px 12px;font-size:12px}.smoking-option{padding:12px 14px;font-size:13px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:var(--space-6);z-index:var(--z-modal-backdrop);animation:modalFadeIn var(--transition-base) ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.closing{animation:modalFadeOut var(--transition-base) ease-in forwards}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes modalFadeOut{0%{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}to{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;z-index:var(--z-modal);animation:modalSlideIn var(--transition-base) ease-out}.modal-overlay.closing .modal-content{animation:modalSlideOut var(--transition-base) ease-in forwards}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-20px)}}.modal-sm{width:100%;max-width:360px}.modal-md{width:100%;max-width:480px}.modal-lg{width:100%;max-width:640px}.modal-xl{width:100%;max-width:1100px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle)}.modal-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.modal-close{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);margin:calc(var(--space-1) * -1)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-close:focus-visible{outline:none;box-shadow:var(--focus-ring);background:var(--bg-hover)}.modal-close:active{transform:scale(.95)}.modal-close svg{width:20px;height:20px}.modal-body{flex:1;padding:var(--space-6);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}@media(max-width:480px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{width:100%;max-width:100%;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:modalSlideUp var(--transition-base) ease-out}.modal-overlay.closing .modal-content{animation:modalSlideDown var(--transition-base) ease-in forwards}.modal-header{padding:var(--space-4);position:sticky;top:0;background:var(--bg-surface);z-index:1}.modal-body{padding:var(--space-4);padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-footer{padding:var(--space-3) var(--space-4);position:sticky;bottom:0;background:var(--bg-elevated)}.modal-body input,.modal-body select,.modal-body textarea{font-size:16px}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@media(max-width:380px){.modal-header,.modal-body{padding:var(--space-3)}.modal-title{font-size:var(--text-md)}}.modal-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-6);min-height:200px}.modal-error-icon{width:48px;height:48px;color:var(--status-warning, #f59e0b);margin-bottom:var(--space-4)}.modal-error-icon svg{width:100%;height:100%}.modal-error-fallback h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin:0 0 var(--space-2)}.modal-error-fallback p{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-4)}.modal-error-close-btn{background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast)}.modal-error-close-btn:hover{background:var(--accent-primary-hover, #1d4ed8)}.add-lab-result-form{display:flex;flex-direction:column;gap:var(--space-4)}.marker-search-container{position:relative}.marker-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:100;list-style:none;padding:0;margin:0}.suggestion-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--bg-elevated)}.suggestion-name{font-size:var(--text-sm);color:var(--text-primary)}.suggestion-unit{font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-base);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.marker-card{background:var(--bg-surface);border:none;border-radius:0;padding:8px 10px 8px 12px;transition:background var(--transition-fast);cursor:pointer;position:relative}.marker-card:before{content:"";position:absolute;top:4px;left:4px;bottom:4px;width:2px;border-radius:1px;background:transparent}.marker-card:hover{background:var(--bg-elevated)}.marker-card:focus{outline:none;background:var(--bg-elevated)}.marker-card:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-primary)}.marker-card.status-normal:before{background:var(--status-success)}.marker-card.status-low:before,.marker-card.status-high:before{background:var(--status-warning)}.marker-card.status-critical:before{background:var(--status-danger)}.marker-card-header{display:flex;align-items:center;gap:var(--space-1);margin-bottom:2px}.marker-name{font-size:var(--text-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;line-height:1.2;flex:1}.marker-card .status-icon{font-size:var(--text-xs);font-weight:var(--font-bold);width:1em;height:1em;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.marker-card.status-low .status-icon,.marker-card.status-high .status-icon{color:var(--status-warning)}.marker-card.status-critical .status-icon{color:var(--status-danger)}.marker-value-row{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap}.marker-value{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1}.marker-unit{font-size:var(--text-xs);color:var(--text-muted)}.marker-trend{font-size:var(--text-xs);font-weight:600;margin-left:2px}.marker-trend.trend-up{color:var(--status-warning)}.marker-trend.trend-down{color:var(--status-info)}.marker-trend.trend-stable{color:var(--text-muted)}.marker-range{font-size:var(--text-xs);color:var(--text-muted);opacity:.8}.marker-category{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.marker-category.has-issues{border-color:#ffc17040}.category-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.category-icon{font-size:12px;line-height:1}.category-title{font-size:11px;font-weight:600;color:var(--text-primary);flex:1;text-transform:uppercase;letter-spacing:.04em}.category-count{font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-base);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.category-status{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:500}.category-status.all-good{color:var(--status-success);background:var(--status-success-muted)}.category-status.has-flags{color:var(--status-warning);background:var(--status-warning-muted)}.category-markers{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1px;background:var(--border-subtle)}.marker-detail{display:flex;flex-direction:column;gap:var(--space-5)}.detail-section{display:flex;flex-direction:column;gap:var(--space-3)}.section-title{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.current-value{text-align:center;padding:var(--space-4);background:var(--bg-base);border-radius:var(--radius-lg)}.value-display{display:flex;align-items:baseline;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2)}.value-display .value{font-size:48px;font-weight:700;line-height:1}.value-display .unit{font-size:var(--text-lg);color:var(--text-muted)}.value-display .trend{font-size:var(--text-lg);margin-left:var(--space-2)}.value-display.status-normal .value{color:var(--status-success)}.value-display.status-high .value,.value-display.status-low .value{color:var(--status-warning)}.value-display.status-critical .value{color:var(--status-danger)}.value-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.status-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;text-transform:capitalize}.test-date{font-size:var(--text-xs);color:var(--text-muted)}.trend.trend-up{color:var(--status-warning)}.trend.trend-down{color:var(--status-info)}.trend.trend-stable{color:var(--text-muted)}.reference-display{display:flex;flex-direction:column;gap:var(--space-2)}.ref-range{font-size:var(--text-sm);color:var(--text-secondary)}.range-bar{position:relative;height:8px;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:visible}.range-fill{height:100%;background:linear-gradient(90deg,var(--status-success),var(--status-warning));border-radius:var(--radius-full)}.range-marker{position:absolute;top:-4px;width:16px;height:16px;background:var(--text-primary);border:2px solid var(--bg-surface);border-radius:50%;transform:translate(-50%)}.history-list{display:flex;flex-direction:column;gap:var(--space-2)}.history-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-base);border-radius:var(--radius-md)}.history-item.current{background:var(--bg-elevated);border:1px solid var(--border-subtle)}.history-date{font-size:var(--text-xs);color:var(--text-muted);width:90px}.history-value{flex:1;font-size:var(--text-sm);font-family:var(--font-mono);color:var(--text-primary)}.history-status{font-size:8px}.history-status.normal{color:var(--status-success)}.history-status.high,.history-status.low{color:var(--status-warning)}.history-status.critical{color:var(--status-danger)}.history-more{text-align:center;font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-2)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-label{font-size:var(--text-xs);color:var(--text-muted)}.info-value{font-size:var(--text-sm);color:var(--text-primary);font-family:var(--font-mono)}.ai-analysis-section{background:linear-gradient(135deg,var(--accent-primary-light) 0%,var(--bg-base) 100%);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--accent-primary-muted)}.ai-analysis-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.ai-analysis-header .section-title{margin:0}.ai-analysis-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);color:var(--text-muted)}.ai-analysis-loading .spinner{width:16px;height:16px;border:2px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.ai-analysis-error{text-align:center;padding:var(--space-3);color:var(--status-danger)}.ai-analysis-error p{margin-bottom:var(--space-2)}.ai-analysis-content{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary)}.ai-analysis-content p{margin-bottom:var(--space-2)}.ai-analysis-content p:last-child{margin-bottom:0}.ai-analysis-content p:empty{display:none}.ai-analysis-hint{font-size:var(--text-sm);color:var(--text-muted);text-align:center;padding:var(--space-2)}.ai-analysis-collapsed-hint{font-size:var(--text-sm);color:var(--text-muted);text-align:center;font-style:italic}.ai-analysis-actions{display:flex;align-items:center;gap:var(--space-2)}.collapse-toggle{background:none;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.collapse-toggle:hover{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.marker-description-section{background:var(--bg-base);padding:var(--space-4);border-radius:var(--radius-lg);border-left:3px solid var(--accent-primary)}.marker-description-section .section-title{color:var(--text-primary);font-size:var(--text-sm);text-transform:none;letter-spacing:normal;font-weight:600}.marker-description{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0}.marker-importance{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:var(--space-3) 0 0 0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.marker-importance strong{color:var(--text-primary)}.results-table-container{display:flex;flex-direction:column;gap:var(--space-4)}.table-controls{display:flex;gap:var(--space-3)}.table-search{flex:1;padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm)}.table-search:focus{outline:none;border-color:var(--accent-primary)}.table-search::placeholder{color:var(--text-muted)}.table-filter{padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);min-width:140px}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.results-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.results-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none}.results-table th:hover{color:var(--text-primary)}.results-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.results-table tbody tr{cursor:pointer;transition:background var(--transition-fast)}.results-table tbody tr:hover{background:var(--bg-elevated)}.results-table tbody tr:last-child td{border-bottom:none}.results-table tbody tr.status-critical{border-left:3px solid var(--status-danger)}.results-table tbody tr.status-high,.results-table tbody tr.status-low{border-left:3px solid var(--status-warning)}.results-table tbody tr.status-normal{border-left:3px solid transparent}.date-cell{white-space:nowrap;color:var(--text-muted)}.marker-cell{font-weight:500;color:var(--text-primary)}.value-cell{font-family:var(--font-mono);white-space:nowrap}.ref-cell{color:var(--text-muted);font-size:var(--text-xs)}.status-cell{width:100px}.status-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;text-transform:capitalize}.status-badge.normal{background:var(--status-success-muted);color:var(--status-success)}.status-badge.high,.status-badge.low{background:var(--status-warning-muted);color:var(--status-warning)}.status-badge.critical{background:var(--status-danger-muted);color:var(--status-danger)}.table-empty{padding:var(--space-8);text-align:center;color:var(--text-muted)}.table-footer{font-size:var(--text-xs);color:var(--text-muted);text-align:right}@media(max-width:768px){.table-controls{flex-direction:column}.table-filter{width:100%}.results-table th,.results-table td{padding:var(--space-2) var(--space-3)}.ref-cell{display:none}}.trend-chart{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.chart-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0}.chart-count{font-size:var(--text-xs);color:var(--text-muted)}.chart-container{height:200px;position:relative}.trend-chart-empty{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center}.trend-chart-empty p{color:var(--text-muted);font-size:var(--text-sm);margin:0}.analysis-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-6);overflow:hidden}.analysis-panel-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4);background:linear-gradient(135deg,var(--accent-primary-light) 0%,var(--bg-surface) 100%);border:none;cursor:pointer;transition:background var(--transition-fast)}.analysis-panel-header:hover{background:linear-gradient(135deg,var(--accent-primary-muted) 0%,var(--bg-hover) 100%)}.analysis-panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary)}.analysis-icon{font-size:var(--text-lg)}.analysis-cached-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);background:var(--status-info-muted);color:var(--status-info);border-radius:var(--radius-full);font-weight:var(--font-medium)}.analysis-chevron{font-size:12px;color:var(--text-muted);transition:transform var(--transition-fast)}.analysis-panel.expanded .analysis-chevron{transform:rotate(180deg)}.analysis-panel-content{padding:var(--space-4);border-top:1px solid var(--border-subtle)}.analysis-section{margin-bottom:var(--space-4)}.analysis-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);color:var(--text-muted)}.analysis-loading .spinner{width:20px;height:20px;border:2px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.analysis-error{text-align:center;padding:var(--space-6);color:var(--status-danger)}.analysis-error p{margin-bottom:var(--space-3)}.analysis-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.analysis-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.analysis-text{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);max-height:400px;overflow-y:auto;padding-right:var(--space-2)}.analysis-text h2,.analysis-text h3,.analysis-text h4{color:var(--text-primary);margin-top:var(--space-4);margin-bottom:var(--space-2)}.analysis-text h2{font-size:var(--text-lg)}.analysis-text h3{font-size:var(--text-md)}.analysis-text h4{font-size:var(--text-base)}.analysis-text ul{margin:var(--space-2) 0;padding-left:var(--space-4)}.analysis-text li{margin-bottom:var(--space-1)}.analysis-text .numbered-item{margin:var(--space-2) 0}.analysis-text strong{color:var(--text-primary)}.analysis-empty{text-align:center;padding:var(--space-6);color:var(--text-muted)}.analysis-chat{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.analysis-chat-header{padding:var(--space-2) var(--space-3);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.analysis-chat-history{min-height:150px;max-height:300px;overflow-y:auto;padding:var(--space-3)}.chat-empty{text-align:center;color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-4)}.chat-message-group{margin-bottom:var(--space-3)}.chat-message{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.chat-message.user{justify-content:flex-end}.chat-message.user .chat-avatar{order:2;background:var(--accent-primary)}.chat-message.user .chat-bubble{background:var(--accent-primary);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .chat-avatar{background:var(--status-success)}.chat-message.assistant .chat-bubble{background:var(--bg-surface);border:1px solid var(--border-subtle);border-bottom-left-radius:4px}.chat-avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-semibold);color:#fff}.chat-bubble{max-width:80%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal)}.chat-bubble.typing{display:flex;gap:4px;padding:var(--space-2) var(--space-3)}.typing-dot{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.analysis-chat-input-row{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--bg-surface);border-top:1px solid var(--border-subtle)}.analysis-chat-input{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--transition-fast)}.analysis-chat-input:focus{outline:none;border-color:var(--accent-primary)}.analysis-chat-input::placeholder{color:var(--text-muted)}.analysis-chat-input:disabled{background:var(--bg-elevated);cursor:not-allowed}.story-page{display:flex;flex-direction:column;gap:var(--space-4)}.story-header-row{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-3) 0;gap:var(--space-4)}.story-header-left{display:flex;flex-direction:column;gap:var(--space-2)}.story-title-group{display:flex;align-items:baseline;gap:var(--space-3)}.quick-info-pills{display:flex;gap:var(--space-2);flex-wrap:wrap}.quick-info-pill{font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary)}.quick-info-pill.blood-type{font-weight:700;color:var(--status-danger);background:var(--status-danger-muted);border-color:var(--status-danger)}.quick-info-pill.capitalize{text-transform:capitalize}.story-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.story-subtitle{font-size:var(--text-xs);color:var(--text-muted)}.quick-stats{display:flex;gap:var(--space-2)}.quick-stat{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary)}.quick-stat-dot{width:6px;height:6px;border-radius:50%}.quick-stat-dot.success{background:var(--status-success)}.quick-stat-dot.warning{background:var(--status-warning)}.quick-stat-dot.danger{background:var(--status-danger)}.quick-actions{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-width:90px}.quick-action-btn:hover{background:var(--bg-elevated);border-color:var(--accent-primary);transform:translateY(-2px)}.quick-action-icon{font-size:1.5rem}.quick-action-label{font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);white-space:nowrap}.needs-attention{background:linear-gradient(135deg,var(--status-warning-light) 0%,var(--status-warning-border) 100%);border:1px solid var(--status-warning);border-radius:var(--radius-lg);padding:var(--space-4)}.needs-attention-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.needs-attention-icon{font-size:1.25rem}.needs-attention-title{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0}.needs-attention-count{margin-left:auto;padding:var(--space-1) var(--space-2);background:var(--status-warning);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:#fff}.needs-attention-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.needs-attention.review-results{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b}.needs-attention.review-results .needs-attention-count{background:#f59e0b}.health-overview-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.health-overview-header{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}.health-overview-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.health-overview-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.health-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.overview-card{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4)}.overview-card.overview-analysis{grid-column:1 / -1;padding:0;background:transparent;border:none}.overview-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.overview-card-title{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--space-3) 0}.overview-card-header .overview-card-title{margin:0}.overview-badge{background:var(--accent-primary);color:#fff;font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);min-width:24px;text-align:center}.overview-loading{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-4);text-align:center}.overview-empty{color:var(--text-muted);font-size:var(--text-sm);font-style:italic;padding:var(--space-2) 0}.overview-empty-action{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4);text-align:center}.overview-empty-action p{color:var(--text-muted);font-size:var(--text-sm);margin:0}.overview-empty-action.enhanced{padding:var(--space-5)}.overview-empty-action.enhanced .empty-icon{font-size:32px;margin-bottom:var(--space-1)}.overview-empty-action.enhanced .empty-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.overview-empty-action.enhanced .empty-hint{font-size:var(--text-xs);color:var(--text-secondary);max-width:200px}.empty-state p{margin:0 0 var(--space-5);color:var(--text-secondary);font-size:var(--text-base);max-width:400px;margin-left:auto;margin-right:auto}.empty-state.enhanced{padding:var(--space-10) var(--space-4)}.empty-state-icon{font-size:64px;display:block;margin-bottom:var(--space-4)}.empty-state.enhanced h2{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.empty-state.enhanced p{font-size:var(--text-md);line-height:1.6}.empty-state-hint{font-size:var(--text-sm)!important;color:var(--text-muted)!important;margin-top:var(--space-4)!important}.overview-subsection{margin-bottom:var(--space-4)}.overview-subsection:last-child{margin-bottom:0}.overview-subsection-title{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--space-2) 0}.concerns-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.concern-item{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.concern-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--status-warning-muted);color:var(--status-warning);border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.conditions-compact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.condition-compact{display:flex;align-items:baseline;gap:var(--space-2)}.condition-compact .condition-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.condition-compact .condition-since{font-size:var(--text-xs);color:var(--text-muted)}.allergies-compact{display:flex;flex-wrap:wrap;gap:var(--space-2)}.allergy-tag{font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.allergy-tag.severity-mild{background:var(--status-info-muted);color:var(--status-info)}.allergy-tag.severity-moderate{background:var(--status-warning-muted);color:var(--status-warning)}.allergy-tag.severity-severe{background:var(--status-danger-muted);color:var(--status-danger)}.allergy-tag.severity-unknown{background:var(--bg-elevated);color:var(--text-muted)}.medications-compact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.medication-compact{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-sm)}.med-info{display:flex;align-items:baseline;gap:var(--space-2)}.medication-compact .med-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.medication-compact .med-dosage{font-size:var(--text-xs);color:var(--text-muted)}.medication-compact .med-frequency{font-size:var(--text-xs);color:var(--accent-primary);background:var(--accent-primary-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.view-all-link{background:none;border:none;color:var(--accent-primary);font-size:var(--text-sm);cursor:pointer;padding:0;margin-top:var(--space-3);display:block}.view-all-link:hover{text-decoration:underline}.appointments-compact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.appointment-compact{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-sm)}.appt-date-badge{font-size:var(--text-xs);font-weight:600;color:var(--accent-primary);background:var(--accent-primary-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);white-space:nowrap}.appt-info{display:flex;flex-direction:column;gap:2px;min-width:0}.appt-title{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.appt-location{font-size:var(--text-xs);color:var(--text-muted)}.section-title{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-3) 0}.markers-container{display:flex;flex-direction:column;gap:var(--space-2)}.ai-summary-section{background:linear-gradient(135deg,var(--accent-primary-light) 0%,var(--bg-surface) 100%);border:1px solid var(--accent-primary-muted);border-radius:var(--radius-lg);padding:var(--space-5)}.ai-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.ai-summary-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.ai-summary-content{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary)}.ai-summary-content p{margin-bottom:var(--space-2)}.ai-summary-content p:last-child{margin-bottom:0}.ai-summary-content.ai-formatted h2,.ai-summary-content.ai-formatted h3,.ai-summary-content.ai-formatted h4{color:var(--text-primary);margin-top:var(--space-3);margin-bottom:var(--space-2)}.ai-summary-content.ai-formatted h2{font-size:var(--text-md)}.ai-summary-content.ai-formatted h3{font-size:var(--text-base)}.ai-summary-content.ai-formatted h4{font-size:var(--text-sm)}.ai-summary-content.ai-formatted strong{color:var(--text-primary);font-weight:var(--font-semibold)}.ai-summary-content.ai-formatted ul{list-style:none;padding-left:var(--space-4);margin:var(--space-2) 0}.ai-summary-content.ai-formatted ul li{position:relative;padding-left:var(--space-3);margin-bottom:var(--space-1)}.ai-summary-content.ai-formatted ul li:before{content:"•";position:absolute;left:0;color:var(--accent-primary);font-weight:var(--font-bold)}.ai-summary-empty{text-align:center;padding:var(--space-4)}.ai-summary-empty p{color:var(--text-muted);margin-bottom:var(--space-3)}.recommendations-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.recommendations-section h4{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2)}.recommendations-list{list-style:disc;padding-left:var(--space-4);margin:0}.recommendations-list li{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-1)}.recent-activity-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.activity-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-base);border-radius:var(--radius-md)}.activity-icon{font-size:var(--text-lg)}.activity-description{flex:1;font-size:var(--text-sm);color:var(--text-primary)}.activity-date{font-size:var(--text-xs);color:var(--text-muted)}@media(max-width:1024px){.health-overview-grid{grid-template-columns:1fr}}@media(max-width:768px){.story-header-row{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.story-title-group{flex-direction:column;gap:var(--space-1)}.health-overview-section{padding:var(--space-3)}.health-overview-header{flex-direction:column;gap:var(--space-1)}.overview-card,.ai-summary-section{padding:var(--space-3)}}.global-ai-section{margin:var(--space-4) 0}@media(max-width:768px){.global-ai-section{margin:var(--space-3) 0}}.view-results-section{margin-top:var(--space-2)}.view-all-results-btn{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:left}.view-all-results-btn:hover{background:var(--bg-elevated);border-color:var(--accent-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.view-results-icon{font-size:2rem;flex-shrink:0}.view-results-text{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.view-results-text strong{font-size:var(--text-md);color:var(--text-primary)}.view-results-text span{font-size:var(--text-sm);color:var(--text-muted)}.view-results-arrow{font-size:var(--text-xl);color:var(--accent-primary);flex-shrink:0}@media(max-width:480px){.view-all-results-btn{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.view-results-icon{font-size:1.5rem}.view-results-text strong{font-size:var(--text-base)}.view-results-text span{font-size:var(--text-xs)}}.results-page{display:flex;flex-direction:column;gap:var(--space-4)}.results-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0}.results-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.results-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.results-actions{display:flex;align-items:center;gap:var(--space-2)}@media(max-width:768px){.results-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.results-actions{width:100%;flex-wrap:wrap}}.view-toggle{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--bg-elevated);border-radius:var(--radius-md);width:fit-content}.view-toggle-btn{padding:var(--space-2) var(--space-4);border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.view-toggle-btn:hover{color:var(--text-primary)}.view-toggle-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.results-by-category{display:flex;flex-direction:column;gap:var(--space-3)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4)}.empty-state h2{margin:0 0 var(--space-3);font-size:var(--text-xl);color:var(--text-primary)}.empty-state p{margin:0 0 var(--space-5);color:var(--text-secondary)}@media(max-width:480px){.view-toggle{width:100%}.view-toggle-btn{flex:1;text-align:center}}.doctor-autocomplete{position:relative;width:100%}.autocomplete-input{width:100%;padding:var(--space-3);padding-left:var(--space-8);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm)}.autocomplete-icon{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);font-size:14px;display:flex;align-items:center;justify-content:center;pointer-events:none}.loading-spinner{width:16px;height:16px;border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;max-height:250px;overflow-y:auto;z-index:100;list-style:none;padding:0;margin:0}.option-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.option-specialty{font-size:var(--text-xs);color:var(--accent-primary);background:var(--accent-primary-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.option-clinic{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.autocomplete-empty{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);text-align:center;z-index:100}.autocomplete-empty p{font-size:var(--text-sm);color:var(--text-muted);margin:0}.autocomplete-empty .empty-hint{font-size:var(--text-xs);margin-top:var(--space-1)}.add-visit-form{display:flex;flex-direction:column;gap:var(--space-4)}.visit-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-base)}.visit-card:hover{border-color:var(--border-default);background:var(--bg-elevated);transform:translateY(-2px);box-shadow:var(--shadow-md)}.visit-card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.visit-card:active{transform:translateY(0)}.visit-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.visit-date{font-size:var(--text-xs);color:var(--text-muted)}.visit-badges{display:flex;gap:var(--space-2);align-items:center}.visit-type{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--accent-primary-muted);color:var(--accent-primary);text-transform:capitalize}.visit-followup-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent-primary-light) 0%,var(--accent-primary-muted) 100%);color:var(--accent-secondary);font-weight:500}.followup-icon{font-size:.75rem}.visit-card-body{margin-bottom:var(--space-3)}.visit-doctor{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.visit-specialty{font-size:var(--text-xs);color:var(--text-muted)}.visit-reason{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2);line-height:1.5}.visit-card-footer{padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-muted)}.visit-diagnosis,.visit-notes{margin-bottom:var(--space-1)}.visit-diagnosis .label,.visit-notes .label{font-weight:500;color:var(--text-secondary)}.visit-chat-entry{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.chat-instruction{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--accent-primary-muted);border-radius:var(--radius-md)}.chat-icon{font-size:20px;flex-shrink:0}.chat-instruction p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0}.chat-form{display:flex;gap:var(--space-2);align-items:flex-end}.chat-input{flex:1;padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;resize:none;line-height:1.5;min-height:80px}.chat-input:focus{outline:none;border-color:var(--accent-primary)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-submit{width:44px;height:44px;padding:0;background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.chat-submit:hover:not(:disabled){background:var(--accent-primary-hover)}.chat-submit:disabled{opacity:.5;cursor:not-allowed}.chat-submit svg{width:20px;height:20px}.loading-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}.chat-error{margin-top:var(--space-3);padding:var(--space-3);background:var(--status-danger-muted);border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);font-size:var(--text-sm)}.chat-success{margin-top:var(--space-3);padding:var(--space-3);background:var(--status-success-muted);border:1px solid var(--status-success);border-radius:var(--radius-md);color:var(--status-success);font-size:var(--text-sm)}.chat-examples{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);align-items:center}.examples-label{font-size:var(--text-xs);color:var(--text-muted)}.example-chip{padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.example-chip:hover{background:var(--bg-base);color:var(--text-secondary);border-color:var(--border-default)}.example-chip--highlight{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#c7d2fe;color:#4338ca}.example-chip--highlight:hover{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-color:#a5b4fc;color:#3730a3}.chat-hint{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:var(--radius-md);font-size:var(--text-xs);color:#047857;display:flex;align-items:center;gap:var(--space-2)}.chat-hint:before{content:"💡"}.visits-page{display:flex;flex-direction:column;gap:var(--space-4)}.visits-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0}.visits-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.visits-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.visits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}@media(max-width:768px){.visits-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.visits-grid{grid-template-columns:1fr}}.add-appointment-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-select{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236d7388' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.calendar-grid{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.calendar-weekday{padding:var(--space-3);text-align:center;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{aspect-ratio:1;padding:var(--space-2);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:var(--bg-elevated)}.calendar-day.other-month{opacity:.4}.calendar-day.today .day-number{background:var(--accent-primary);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-day.has-events{background:#007aff0d}.day-number{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.day-indicators{display:flex;gap:3px}.indicator{width:6px;height:6px;border-radius:50%}.indicator.appointment{background:var(--accent-primary)}.indicator.event{background:var(--status-success)}@media(max-width:768px){.calendar-weekday{padding:var(--space-2);font-size:10px}.calendar-day{padding:var(--space-1)}.day-number{font-size:var(--text-xs)}}.day-details-modal{display:flex;flex-direction:column;min-height:200px}.day-details-content{display:flex;flex-direction:column;gap:var(--space-4)}.day-items-list{display:flex;flex-direction:column;gap:var(--space-3)}.day-item{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.day-item:hover{border-color:var(--border-default)}.day-item.appointment-item{border-left:3px solid var(--accent-primary)}.day-item.event-item{border-left:3px solid var(--status-success)}.item-time{flex-shrink:0;width:70px;font-size:var(--text-sm);font-weight:600;color:var(--accent-primary)}.event-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--status-success-light);color:var(--status-success);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-sm)}.item-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.item-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.item-subtitle{font-size:var(--text-xs);color:var(--text-secondary)}.item-location{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.location-icon{font-size:12px}.item-notes{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.day-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center}.empty-icon{font-size:48px;margin-bottom:var(--space-3);opacity:.5}.empty-title{font-size:var(--text-md);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-1)}.empty-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.day-details-actions{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.back-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;margin-bottom:var(--space-4);background:none;border:none;color:var(--accent-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:opacity var(--transition-fast)}.back-button:hover{opacity:.8}.add-appointment-form{display:flex;flex-direction:column;gap:var(--space-3)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.form-select{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-size:max(var(--text-sm),16px);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236d7388' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-textarea{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-size:max(var(--text-sm),16px);font-family:inherit;resize:vertical;min-height:60px}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}@media(max-width:480px){.form-row{grid-template-columns:1fr;gap:var(--space-3)}.item-time{width:60px;font-size:var(--text-xs)}.day-item{gap:var(--space-2);padding:var(--space-2)}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}:root{--sync-indigo-50: #EEF2FF;--sync-indigo-100: #E0E7FF;--sync-indigo-200: #C7D2FE;--sync-indigo-500: #6366F1;--sync-indigo-600: #4F46E5;--sync-indigo-700: #4338CA;--sync-indigo-950: #1E1B4B}.sync-banner{background:linear-gradient(135deg,var(--sync-indigo-50) 0%,var(--sync-indigo-100) 100%);border:1px solid var(--sync-indigo-200);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);animation:banner-slide-in .4s ease-out}.sync-banner--success{background:linear-gradient(135deg,var(--status-success-light) 0%,#D1FAE5 100%);border-color:var(--status-success-border)}@keyframes banner-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.sync-banner__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.sync-banner__icon{position:relative;font-size:1.5rem;line-height:1}.sync-banner__icon-calendar{display:inline-block}.sync-banner__icon-sparkle{position:absolute;top:-8px;right:-10px;font-size:.875rem;animation:sparkle-pulse 2s ease-in-out infinite}@keyframes sparkle-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.sync-banner__icon-success{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--status-success);color:var(--text-inverse);border-radius:50%;font-size:1rem;font-weight:700;animation:checkmark-pop .4s ease-out}@keyframes checkmark-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.sync-banner__title{font-size:1rem;font-weight:600;color:var(--sync-indigo-950)}.sync-banner--success .sync-banner__title{color:#064e3b}.sync-banner__error{background:var(--status-danger-light);border:1px solid var(--status-danger-border);color:var(--status-danger-hover);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.sync-banner__list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.sync-banner__item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:#fff9;border-radius:var(--radius-md);transition:all .2s ease}.sync-banner__item--success{background:var(--status-success-muted);animation:item-complete .3s ease-out}@keyframes item-complete{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.sync-banner__item-icon{font-size:1rem;line-height:1.5;color:var(--sync-indigo-500)}.sync-banner__item--success .sync-banner__item-icon{color:var(--status-success);font-weight:700}.sync-banner__item-content{display:flex;flex-direction:column;gap:2px}.sync-banner__item-date{font-size:var(--text-sm);font-weight:600;color:var(--sync-indigo-700)}.sync-banner__item-title{font-size:var(--text-sm);color:var(--sync-indigo-950)}.sync-banner__item-specialty{font-size:var(--text-xs);color:var(--text-muted)}.sync-banner__show-more{background:none;border:none;color:var(--sync-indigo-600);font-size:var(--text-sm);font-weight:500;cursor:pointer;padding:var(--space-2);text-align:left;transition:color .2s}.sync-banner__show-more:hover{color:var(--sync-indigo-700);text-decoration:underline}.sync-banner__success-message{font-size:var(--text-sm);color:var(--status-success-hover);margin-bottom:var(--space-4)}.sync-banner__actions{display:flex;align-items:center;gap:var(--space-4)}.sync-banner__cta{background:var(--sync-indigo-600)!important;border-color:var(--sync-indigo-600)!important;animation:cta-attention 3s ease-in-out infinite}.sync-banner__cta:hover{background:var(--sync-indigo-700)!important;border-color:var(--sync-indigo-700)!important}@keyframes cta-attention{0%,to{box-shadow:0 0 #4f46e566}50%{box-shadow:0 0 0 8px #4f46e500}}.sync-banner__dismiss{background:none;border:none;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;padding:var(--space-2);transition:color .2s}.sync-banner__dismiss:hover{color:var(--text-secondary);text-decoration:underline}@media(max-width:640px){.sync-banner{padding:var(--space-4)}.sync-banner__header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.sync-banner__actions{flex-direction:column;align-items:stretch}.sync-banner__dismiss{text-align:center}}.calendar-page{display:flex;flex-direction:column;gap:var(--space-4)}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0}.calendar-title-section{display:flex;flex-direction:column}.calendar-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.calendar-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.calendar-nav{display:flex;align-items:center;gap:var(--space-2)}.nav-btn{padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.nav-btn:hover{background:var(--bg-elevated);border-color:var(--border-default)}.today-btn{margin-left:auto}.calendar-month{font-size:var(--text-md);font-weight:600;color:var(--text-primary);min-width:180px;text-align:center}.upcoming-section{margin-top:var(--space-4)}.upcoming-title{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-3)}.upcoming-list{display:flex;flex-direction:column;gap:var(--space-2)}.upcoming-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.upcoming-date{width:60px;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--accent-primary)}.upcoming-details{display:flex;flex-direction:column;gap:var(--space-1)}.upcoming-doctor{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.upcoming-purpose{font-size:var(--text-xs);color:var(--text-muted)}.sync-toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--status-success-light) 0%,var(--status-success-border) 100%);border:1px solid var(--status-success-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);animation:toast-slide-in .3s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sync-toast__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--status-success);color:var(--text-inverse);border-radius:50%;font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0}.sync-toast__message{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--status-success-hover)}.sync-toast__close{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:0;line-height:1;opacity:.6;transition:opacity var(--transition-base)}.sync-toast__close:hover{opacity:1}@media(max-width:768px){.calendar-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.calendar-nav{flex-wrap:wrap}.calendar-month{min-width:auto}}.card{background:var(--bg-surface);border-radius:var(--radius-lg)}.card-default{border:1px solid var(--border-subtle)}.card-elevated{background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md)}.card-outlined{background:transparent;border:1px solid var(--border-default)}.card-padding-none{padding:0}.card-padding-sm{padding:var(--space-3)}.card-padding-md{padding:var(--space-4)}.card-padding-lg{padding:var(--space-6)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.card-header-text{flex:1;min-width:0}.card-title{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0}.card-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.card-header-action{flex-shrink:0;margin-left:var(--space-4)}.notification-settings{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #e0e0e0)}.notification-settings--subscribed{background:var(--bg-success-light, #e8f5e9);border-color:var(--border-success, #4caf50)}.notification-settings--unsupported,.notification-settings--denied{background:var(--bg-warning-light, #fff3e0);border-color:var(--border-warning, #ff9800)}.notification-settings__icon{font-size:1.5rem;line-height:1;flex-shrink:0}.notification-settings__content{flex:1}.notification-settings__content h4{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:var(--text-primary, #212121)}.notification-settings__content p{margin:0;font-size:.85rem;color:var(--text-secondary, #666);line-height:1.4}.notification-settings__hint{margin-top:.5rem!important;padding:.5rem;background:#0000000d;border-radius:4px;font-size:.8rem!important}.notification-settings__error{color:var(--color-error, #d32f2f)!important;font-size:.8rem!important;margin-top:.5rem!important}.notification-settings__actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.notification-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:var(--bg-secondary, #f0f0f0);cursor:pointer;transition:all .2s ease;font-size:1.1rem}.notification-toggle:hover{background:var(--bg-hover, #e0e0e0);transform:scale(1.05)}.notification-toggle:disabled{opacity:.6;cursor:not-allowed}.notification-toggle--active{background:var(--color-primary-light, #e3f2fd)}.notification-toggle__spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--color-primary, #2196f3);border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.notification-unsupported-text,.notification-denied-text{font-size:.75rem;color:var(--text-muted, #999);font-style:italic}@media(max-width:480px){.notification-settings{flex-direction:column;text-align:center}.notification-settings__icon{font-size:2rem;margin-bottom:.5rem}.notification-settings__actions{flex-direction:row;justify-content:center;width:100%;margin-top:.5rem}}.medication-autocomplete{position:relative;width:100%}.autocomplete-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.autocomplete-input-wrapper{position:relative}.autocomplete-input{width:100%;padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm)}.autocomplete-input:focus{outline:none;border-color:var(--accent-primary)}.autocomplete-input.has-error{border-color:var(--status-danger)}.autocomplete-input::placeholder{color:var(--text-muted)}.autocomplete-error{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--status-danger)}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto;z-index:100;list-style:none;padding:0;margin:0}.autocomplete-option{padding:var(--space-3);cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.autocomplete-option:last-child{border-bottom:none}.autocomplete-option:hover,.autocomplete-option.highlighted{background:var(--bg-elevated)}.option-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.option-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.option-category{font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-base);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.option-match{font-size:var(--text-xs);color:var(--accent-primary)}.option-brands{font-size:var(--text-xs);color:var(--text-muted)}.autocomplete-no-results{padding:var(--space-4);text-align:center}.no-results-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.no-results-icon{font-size:var(--text-2xl);opacity:.6}.no-results-text{font-size:var(--text-sm);color:var(--text-secondary)}.no-results-text strong{color:var(--text-primary)}.no-results-hint{font-size:var(--text-xs);color:var(--text-muted);max-width:250px;line-height:1.4}.interaction-alert{border:1px solid var(--alert-border);background-color:var(--alert-bg);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.interaction-alert--compact{padding:var(--space-2)}.interaction-alert__header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.interaction-alert__icon{font-size:1.25rem;flex-shrink:0}.interaction-alert__drugs{display:flex;align-items:center;gap:var(--space-1);flex:1;min-width:0}.interaction-alert__drug{font-weight:600;color:var(--text-primary)}.interaction-alert__separator{color:var(--alert-color);font-weight:700}.interaction-alert__severity{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--alert-color);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background-color:color-mix(in srgb,var(--alert-color) 10%,transparent)}.interaction-alert__toggle{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin-left:auto}.interaction-alert__toggle:hover{background-color:var(--bg-hover);color:var(--text-primary)}.interaction-alert__effect{margin-top:var(--space-2);color:var(--text-primary);font-size:.9375rem;line-height:1.5}.interaction-alert__details{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--alert-border)}.interaction-alert__detail{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:.875rem;line-height:1.5}.interaction-alert__detail strong{color:var(--text-primary)}.interaction-alert__evidence{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.interaction-alert--contraindicated,.interaction-alert--major{border-left:4px solid var(--alert-color)}.interaction-alert--moderate{border-left:3px solid var(--alert-color)}.interaction-alert--minor{border-left:2px solid var(--alert-color)}.interaction-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:1rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background-color:var(--badge-bg)}.interaction-badge[role=button]{cursor:pointer}.interaction-badge[role=button]:hover{opacity:.8}.interaction-badge__count{font-size:.75rem;font-weight:600;color:var(--badge-color)}.interaction-summary-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background-color:var(--bg-secondary)}.interaction-summary-badge--safe{color:var(--color-success);font-size:.875rem}.interaction-summary-badge--critical{background-color:#fef2f2}.interaction-summary-badge[role=button]{cursor:pointer}.interaction-summary-badge[role=button]:hover{background-color:var(--bg-hover)}.interaction-summary-badge__total{font-size:.875rem;color:var(--text-secondary);font-weight:500}.add-medication-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-error{padding:var(--space-3);background:var(--status-danger-muted);border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);font-size:var(--text-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.form-select{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236d7388' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-select:focus{outline:none;border-color:var(--accent-primary)}.form-textarea{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;resize:vertical;min-height:60px}.form-textarea:focus{outline:none;border-color:var(--accent-primary)}.form-textarea::placeholder{color:var(--text-muted)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.interaction-check-status{padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);text-align:center}.interaction-preview{background:#fff7ed;border:1px solid #fed7aa;border-radius:var(--radius-md);padding:var(--space-3)}.interaction-preview__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.interaction-preview__icon{font-size:1.25rem}.interaction-preview__title{font-weight:600;color:#c2410c}.interaction-preview__more{text-align:center;color:var(--text-secondary);font-size:var(--text-sm);padding-top:var(--space-2)}.interaction-warning-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;z-index:10;display:flex;align-items:center;justify-content:center;padding:var(--space-4);border-radius:var(--radius-lg)}.interaction-warning-content{max-width:100%;max-height:100%;overflow-y:auto}.interaction-warning-content h4{color:#c2410c;margin:0 0 var(--space-2);font-size:1.125rem}.interaction-warning-content>p{color:var(--text-secondary);margin:0 0 var(--space-4);font-size:var(--text-sm)}.interaction-warning-list{max-height:300px;overflow-y:auto;margin-bottom:var(--space-4)}.interaction-warning-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.dosage-input-wrapper{display:flex;gap:var(--space-2)}.dosage-input-wrapper .form-input{flex:1;padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm)}.dosage-input-wrapper .form-input:focus{outline:none;border-color:var(--accent-primary)}.dosage-input-wrapper .form-input::placeholder{color:var(--text-muted)}.dosage-toggle-btn{padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.dosage-toggle-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.dosage-section{display:grid;grid-template-columns:1fr auto;gap:var(--space-3)}.pill-count-group{min-width:100px}.pill-count-group .form-select{text-align:center;font-size:var(--text-base)}.dosage-total{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--text-sm)}.dosage-total-label{color:var(--text-secondary)}.dosage-total-value{color:var(--text-primary);font-weight:500}@media(max-width:480px){.dosage-section{grid-template-columns:1fr 80px}.pill-count-group{min-width:80px}}.interaction-checker{padding:1rem 0}.interaction-checker__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem}.interaction-checker__loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--primary-color, #2563eb);border-radius:50%;animation:spin 1s linear infinite}.interaction-checker__error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.interaction-checker__choose{display:flex;flex-direction:column;gap:1.5rem}.interaction-checker__intro{text-align:center}.interaction-checker__description{color:var(--text-secondary, #64748b);margin-bottom:.75rem}.interaction-checker__coverage{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;list-style:none;padding:0;margin:0}.interaction-checker__coverage li{background:var(--bg-secondary, #f1f5f9);padding:.25rem .75rem;border-radius:999px;font-size:.8125rem;color:var(--text-secondary, #64748b)}.interaction-checker__options{display:flex;flex-direction:column;gap:1rem}.interaction-checker__option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:var(--bg-secondary, #f8fafc);border:2px solid var(--border-color, #e2e8f0);border-radius:12px;cursor:pointer;transition:all .2s}.interaction-checker__option:hover:not(:disabled){border-color:var(--primary-color, #2563eb);background:#eff6ff}.interaction-checker__option:disabled{opacity:.5;cursor:not-allowed}.interaction-checker__option .option-icon{font-size:2rem}.interaction-checker__option .option-title{font-weight:600;color:var(--text-primary, #1e293b)}.interaction-checker__option .option-description{font-size:.875rem;color:var(--text-secondary, #64748b)}.interaction-checker__divider{display:flex;align-items:center;gap:1rem;color:var(--text-muted, #94a3b8);font-size:.75rem;text-transform:uppercase}.interaction-checker__divider:before,.interaction-checker__divider:after{content:"";flex:1;height:1px;background:var(--border-color, #e2e8f0)}.interaction-checker__custom-input{padding:1.5rem;background:var(--bg-secondary, #f8fafc);border:2px solid var(--border-color, #e2e8f0);border-radius:12px}.interaction-checker__custom-input .custom-icon{display:block;font-size:1.5rem;text-align:center;margin-bottom:.5rem}.interaction-checker__custom-input .custom-title{display:block;text-align:center;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:.25rem}.interaction-checker__custom-input .custom-description{text-align:center;font-size:.875rem;color:var(--text-secondary, #64748b);margin-bottom:1rem}.custom-input-row{display:flex;gap:.5rem}.custom-input-row input{flex:1}.interaction-checker__custom-input .custom-hint{margin-top:.5rem;font-size:.75rem;color:var(--text-muted, #94a3b8);text-align:center}.interaction-checker__note{font-size:.875rem;color:var(--text-secondary, #64748b);text-align:center;font-style:italic}.interaction-checker__harm-reduction{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:8px;padding:1rem;text-align:center}.interaction-checker__harm-reduction .hr-badge{display:inline-block;background:#f59e0b;color:#fff;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-bottom:.5rem}.interaction-checker__harm-reduction p{font-size:.8125rem;color:#92400e;margin:0}.interaction-checker__results{display:flex;flex-direction:column;gap:1.25rem}.results-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.results-header h3{margin:0;font-size:1.125rem;color:var(--text-primary, #1e293b)}.results-summary{display:flex;justify-content:center}.results-warning{background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #f97316;border-radius:8px;padding:1rem}.results-warning strong{color:#c2410c;display:block;margin-bottom:.25rem}.results-warning p{color:#9a3412;margin:0;font-size:.875rem}.results-warning--critical{background:#fef2f2;border-color:#fecaca;border-left-color:#dc2626}.results-warning--critical strong{color:#dc2626}.results-warning--critical p{color:#991b1b}.checked-items h4,.checked-against h4{font-size:.875rem;color:var(--text-secondary, #64748b);margin:0 0 .5rem}.item-tags,.medication-tags{display:flex;flex-wrap:wrap;gap:.5rem}.item-tag,.medication-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:var(--bg-secondary, #f1f5f9);border-radius:999px;font-size:.8125rem}.item-tag .item-type{font-size:.6875rem;color:var(--text-muted, #94a3b8)}.item-tag--medication{background:#dbeafe;color:#1e40af}.item-tag--supplement{background:#dcfce7;color:#166534}.item-tag--recreational{background:#fef3c7;color:#92400e}.item-tag--unknown{background:#f3f4f6;color:#4b5563}.substance-info{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:1rem}.substance-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.substance-name{font-weight:600;font-size:1.125rem;color:var(--text-primary, #1e293b)}.substance-category{padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.substance-category--stimulant{background:#fef3c7;color:#92400e}.substance-category--depressant{background:#e0e7ff;color:#3730a3}.substance-category--psychedelic{background:#f3e8ff;color:#7c3aed}.substance-category--cannabinoid{background:#dcfce7;color:#166534}.substance-category--opioid{background:#fee2e2;color:#991b1b}.substance-category--dissociative{background:#cffafe;color:#0e7490}.substance-mechanism{font-size:.875rem;color:var(--text-secondary, #64748b);margin:0}.substance-not-found{background:#fefce8;border:1px solid #fef08a;border-radius:8px;padding:1rem}.substance-not-found p{margin:0;font-size:.875rem;color:#854d0e}.interactions-list h4{font-size:.875rem;color:var(--text-secondary, #64748b);margin:0 0 .75rem}.no-interactions{text-align:center;padding:2rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.no-interactions-icon{display:block;font-size:2rem;color:#22c55e;margin-bottom:.5rem}.no-interactions p{margin:0;color:#166534}.no-interactions-note{margin-top:.5rem!important;font-size:.8125rem;color:#4b5563!important}.general-risks,.harm-reduction-tips{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:1rem}.general-risks h4,.harm-reduction-tips h4{margin:0 0 .5rem;font-size:.875rem}.general-risks h4{color:#dc2626}.harm-reduction-tips h4{color:#059669}.general-risks ul,.harm-reduction-tips ul{margin:0;padding-left:1.25rem;font-size:.875rem;color:var(--text-secondary, #64748b)}.general-risks li,.harm-reduction-tips li{margin-bottom:.25rem}.emergency-info{background:#fef2f2;border:2px solid #fecaca;border-radius:8px;padding:1rem}.emergency-info h4{color:#dc2626;margin:0 0 .75rem;font-size:1rem}.emergency-section{margin-bottom:.75rem}.emergency-section strong{display:block;color:#991b1b;font-size:.875rem;margin-bottom:.25rem}.emergency-section ul{margin:0;padding-left:1.25rem;font-size:.8125rem;color:#7f1d1d}.emergency-reminder{margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid #fecaca;font-size:.8125rem;font-style:italic;color:#991b1b;text-align:center}.interaction-checker__footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #e2e8f0)}.interaction-checker__footer .disclaimer{margin:0;font-size:.75rem;color:var(--text-muted, #94a3b8);text-align:center}@media(max-width:480px){.custom-input-row{flex-direction:column}.results-header{flex-direction:column;align-items:flex-start}}.medication-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);transition:all var(--transition-fast)}.medication-card:hover{border-color:var(--border-default);box-shadow:0 2px 8px #0000000d}.medication-card.status-active{border-left:3px solid var(--status-success)}.medication-card.status-stopped{border-left:3px solid var(--text-muted);opacity:.7}.medication-card.status-as-needed{border-left:3px solid var(--status-info)}.medication-header{margin-bottom:var(--space-3)}.medication-name-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.medication-name{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0}.medication-generic{font-weight:400;color:var(--text-secondary);font-size:var(--text-sm)}.medication-type{font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);text-transform:uppercase}.medication-type.type-prescription{background:var(--accent-primary-muted);color:var(--accent-primary)}.medication-type.type-otc{background:var(--status-success-muted);color:var(--status-success)}.medication-type.type-supplement{background:var(--status-warning-muted);color:var(--status-warning)}.medication-type.type-recreational{background:var(--status-danger-muted);color:var(--status-danger)}.medication-type.type-herbal{background:var(--status-success-muted);color:var(--status-success)}.medication-dosage{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.medication-details{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.detail-row{display:flex;justify-content:space-between;font-size:var(--text-sm)}.detail-value{color:var(--text-secondary)}.medication-notes{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-3) 0;padding:var(--space-2);background:var(--bg-base);border-radius:var(--radius-sm);font-style:italic}.medication-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.status-badge .status-icon{font-size:.625rem}.status-badge.status-active{background:var(--status-success-muted);color:var(--status-success)}.status-badge.status-stopped{background:var(--bg-elevated);color:var(--text-muted)}.status-badge.status-as-needed{background:var(--status-info-muted);color:var(--status-info)}.medication-actions{display:flex;gap:var(--space-2)}.action-btn{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-elevated);border-color:var(--border-default)}.action-btn.stop{color:var(--status-danger);border-color:var(--status-danger-muted)}.action-btn.stop:hover{background:var(--status-danger-muted)}.action-btn.reminder{font-size:1rem;padding:var(--space-1);color:var(--accent-primary);border-color:var(--accent-primary-muted)}.action-btn.reminder:hover{background:var(--accent-primary-muted)}.action-btn.take{background:var(--status-success);color:#fff;border-color:var(--status-success);font-weight:500}.action-btn.take:hover{background:var(--status-success-dark, #16a34a);border-color:var(--status-success-dark, #16a34a)}.action-btn.take:disabled{opacity:.7;cursor:not-allowed}.action-btn.take.taken{background:var(--status-success);animation:pulse-success .3s ease-out}@keyframes pulse-success{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.medication-chat-fab{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--accent-gradient);color:#fff;border:none;border-radius:50px;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s,box-shadow .2s;z-index:1000;font-weight:500}.medication-chat-fab:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.medication-chat-fab.hidden{display:none}.fab-icon{font-size:1.25rem}.fab-label{font-size:.9rem}.medication-chat-panel{position:fixed;bottom:24px;right:24px;width:400px;max-width:calc(100vw - 48px);height:550px;max-height:calc(100vh - 100px);background:var(--bg-surface);border-radius:16px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;overflow:hidden;z-index:1001;animation:slideUp .3s ease-out}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--accent-gradient);color:#fff}.chat-header-content{flex:1;min-width:0}.chat-title{margin:0;font-size:1.1rem;font-weight:600}.chat-subtitle{margin:4px 0 0;font-size:.8rem;opacity:.9}.chat-close-btn{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s,transform .2s;flex-shrink:0;margin-left:12px}.chat-close-btn:hover{background:#ffffff59;transform:scale(1.1)}.chat-close-btn:active{transform:scale(.95);background:#fff6}.chat-close-btn svg{display:block}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:20px}.welcome-icon{font-size:3rem;margin-bottom:12px}.chat-welcome h4{margin:0 0 8px;font-size:1.2rem;color:var(--text-primary)}.chat-welcome p{margin:0 0 20px;color:var(--text-secondary);font-size:.9rem}.suggested-questions{display:flex;flex-direction:column;gap:8px;width:100%}.suggested-question{padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;font-size:.85rem;color:var(--text-primary);cursor:pointer;text-align:left;transition:all .2s}.suggested-question:hover{background:var(--accent-primary-light);border-color:var(--accent-primary);color:var(--accent-primary)}.chat-message{max-width:85%;padding:12px 16px;border-radius:16px;word-wrap:break-word}.chat-message.user{align-self:flex-end;background:var(--accent-primary);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant{align-self:flex-start;background:var(--bg-elevated);color:var(--text-primary);border-bottom-left-radius:4px}.message-content{font-size:.9rem;line-height:1.5}.message-content p{margin:0 0 8px}.message-content p:last-child{margin-bottom:0}.message-time{display:block;font-size:.7rem;opacity:.7;margin-top:4px;text-align:right}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.chat-error{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--status-danger-light);color:var(--status-danger);font-size:.85rem}.chat-error button{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;padding:0 0 0 8px}.chat-input-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.chat-input{flex:1;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:20px;font-size:.9rem;resize:none;outline:none;font-family:inherit;max-height:100px;background:var(--bg-surface);color:var(--text-primary)}.chat-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-muted)}.chat-input:disabled{background:var(--bg-elevated);opacity:.7}.chat-input::placeholder{color:var(--text-muted)}@media(max-width:480px){.medication-chat-panel{bottom:0;right:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.chat-header{padding:16px}.chat-close-btn{width:44px;height:44px;min-width:44px;background:#ffffff40}.chat-close-btn svg{width:24px;height:24px}.medication-chat-fab{bottom:16px;right:16px;padding:10px 16px}.fab-label{display:none}}.reminder-modal{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0}.reminder-modal__loading,.reminder-modal__error{padding:var(--space-4);text-align:center;border-radius:var(--radius-md)}.reminder-modal__loading{color:var(--text-muted)}.reminder-modal__error{background:var(--status-danger-light);color:var(--status-danger);border:1px solid var(--status-danger-border)}.reminder-modal__toggle{padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md)}.toggle-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.toggle-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent-primary);cursor:pointer}.toggle-text{font-size:var(--text-sm);color:var(--text-primary)}.toggle-hint{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-muted);padding-left:32px}.reminder-modal__section{display:flex;flex-direction:column;gap:var(--space-2)}.section-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.preset-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.preset-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.preset-btn:hover{background:var(--bg-hover);border-color:var(--border-default)}.preset-btn.active{background:var(--accent-primary-muted);border-color:var(--accent-primary);color:var(--accent-primary);font-weight:500}.time-inputs{display:flex;flex-direction:column;gap:var(--space-2)}.time-input-row{display:flex;align-items:center;gap:var(--space-2)}.time-input{flex:1;max-width:150px}.remove-time-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--status-danger-light);border:none;border-radius:var(--radius-md);color:var(--status-danger);font-size:1.25rem;cursor:pointer;transition:all var(--transition-fast)}.remove-time-btn:hover{background:var(--status-danger);color:#fff}.add-time-btn{padding:var(--space-2) var(--space-3);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.add-time-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-muted)}.reminder-modal__info{display:flex;gap:var(--space-2);padding:var(--space-2);background:var(--bg-elevated);border-radius:var(--radius-sm);font-size:var(--text-sm)}.info-label{color:var(--text-muted)}.info-value{color:var(--text-primary);font-weight:500}@media(max-width:480px){.preset-buttons{flex-direction:column}.preset-btn{width:100%;text-align:center}.time-input{max-width:none}}.interactions-list{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.interactions-list--empty{text-align:center}.interactions-list__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.interactions-list__title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.interactions-list__warning{background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-4);color:#991b1b;font-size:.9375rem}.interactions-list__warning strong{display:block;margin-bottom:var(--space-1)}.interactions-list__filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color)}.interactions-list__filter{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.interactions-list__filter:hover{background-color:var(--bg-hover);color:var(--text-primary)}.interactions-list__filter--active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.interactions-list__filter--contraindicated.interactions-list__filter--active{background-color:#dc2626;border-color:#dc2626}.interactions-list__filter--major.interactions-list__filter--active{background-color:#ea580c;border-color:#ea580c}.interactions-list__filter--moderate.interactions-list__filter--active{background-color:#ca8a04;border-color:#ca8a04}.interactions-list__filter--minor.interactions-list__filter--active{background-color:#2563eb;border-color:#2563eb}.interactions-list__items{max-height:60vh;overflow-y:auto}.interactions-list__empty{padding:var(--space-8);color:var(--text-secondary)}.interactions-list__empty-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:#dcfce7;color:#16a34a;font-size:1.5rem;margin-bottom:var(--space-3)}.interactions-list__empty p{margin:0 0 var(--space-2);font-size:1rem}.interactions-list__checked{font-size:.875rem;color:var(--text-muted)}.interactions-list__footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-color)}.interactions-list__footer .interactions-list__checked{margin:0}.interactions-panel{padding:var(--space-4)}.interactions-panel--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-secondary)}.interactions-panel__spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-3)}.interactions-panel--error{text-align:center;padding:var(--space-6);color:var(--color-error)}.interactions-panel__retry{margin-top:var(--space-3);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer}.interactions-panel__retry:hover{opacity:.9}.medications-page{display:flex;flex-direction:column;gap:var(--space-4)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-3) 0}.header-content{display:flex;flex-direction:column;gap:var(--space-1)}.page-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.page-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin:0}.header-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.interactions-alert-card{border-color:var(--status-warning-border);background:var(--status-warning-light)}.interactions-alert-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.interactions-alert-info{flex:1}.interactions-alert-title{font-size:var(--text-base);font-weight:600;color:var(--status-danger);margin:0 0 var(--space-1)}.interactions-alert-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.interactions-alert-actions{display:flex;align-items:center;gap:var(--space-3)}.interactions-details{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--status-warning-border)}.medication-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary)}.stat-label{font-size:var(--text-sm);color:var(--text-muted)}.stat-card--interactions{cursor:pointer;position:relative;transition:all var(--transition-base);border-color:var(--status-info-border);background:linear-gradient(135deg,var(--accent-primary-light) 0%,var(--status-info-light) 100%)}.stat-card--interactions:hover{border-color:var(--accent-secondary);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.stat-card--interactions .stat-value{color:var(--accent-primary-active)}.stat-card--interactions .stat-label{color:var(--accent-primary)}.stat-card--interactions:after{content:"View →";position:absolute;bottom:8px;right:8px;font-size:var(--text-xs);color:var(--accent-secondary);opacity:0;transition:opacity var(--transition-base)}.stat-card--interactions:hover:after{opacity:1}.stat-warning{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.stat-card--doses{background:linear-gradient(135deg,var(--status-success-light) 0%,var(--bg-surface) 100%);border-color:var(--status-success-border, var(--status-success))}.stat-card--doses .stat-value,.stat-card--doses .stat-label{color:var(--status-success)}.adherence-dashboard{background:linear-gradient(135deg,var(--status-success-light) 0%,var(--bg-surface) 100%);border-color:var(--status-success-border, var(--status-success))}.adherence-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.adherence-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}.adherence-badge{font-size:var(--text-lg);font-weight:700;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.adherence-badge.good{background:var(--status-success);color:#fff}.adherence-badge.partial{background:var(--status-warning);color:#fff}.adherence-badge.low{background:var(--status-danger);color:#fff}.adherence-progress{height:8px;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-3)}.adherence-progress-bar{height:100%;background:var(--status-success);border-radius:var(--radius-full);transition:width .3s ease-out}.adherence-details{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.adherence-count{font-size:var(--text-sm);color:var(--text-secondary)}.adherence-last{font-size:var(--text-sm);color:var(--text-muted)}.medication-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-2)}.tab-btn{padding:var(--space-2) var(--space-4);min-height:var(--touch-target-min);background:transparent;border:none;font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.tab-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.tab-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tab-btn.active{color:var(--accent-primary);background:var(--accent-primary-muted);font-weight:500}.tab-btn.active:focus-visible{box-shadow:var(--focus-ring),inset 0 0 0 2px var(--accent-primary)}.medications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.notification-prompt-card{border-color:var(--accent-primary);background:linear-gradient(135deg,var(--accent-primary-light) 0%,var(--bg-surface) 100%)}.notification-prompt{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.notification-prompt__content{display:flex;align-items:center;gap:var(--space-3);flex:1}.notification-prompt__icon{font-size:1.5rem;flex-shrink:0}.notification-prompt__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1)}.notification-prompt__text{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.notification-settings-expanded{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}@media(max-width:768px){.page-header{flex-direction:column;gap:var(--space-4)}.medication-stats{grid-template-columns:repeat(2,1fr)}.medication-tabs{overflow-x:auto;flex-wrap:nowrap}.tab-btn{white-space:nowrap}.notification-prompt{flex-direction:column;text-align:center}.notification-prompt__content{flex-direction:column}}.imaging-page{padding:24px;max-width:1400px;margin:0 auto}.imaging-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.imaging-header .header-content{flex:1}.imaging-header .page-title{margin:0 0 4px;font-size:1.75rem;font-weight:600;color:var(--text-primary)}.imaging-header .page-subtitle{margin:0;color:var(--text-secondary);font-size:.95rem}.imaging-filters{margin-bottom:24px;display:flex;gap:12px}.filter-select{padding:8px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font-size:.9rem;min-width:150px}.imaging-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.imaging-card{cursor:pointer;transition:transform .2s,box-shadow .2s;overflow:hidden}.imaging-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.image-thumbnail{aspect-ratio:4 / 3;background:var(--bg-elevated);position:relative;overflow:hidden}.image-thumbnail img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-elevated) 0%,var(--bg-surface) 100%)}.image-placeholder.hidden{display:none}.type-icon{font-size:2.5rem;font-weight:700;color:var(--text-muted);opacity:.5}.image-info{padding:16px}.image-title{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-body-part{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.image-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.image-type-badge{display:inline-block;padding:2px 8px;background:var(--accent-primary-light);color:var(--accent-primary);font-size:.75rem;font-weight:500;border-radius:4px}.image-date{font-size:.8rem;color:var(--text-muted)}.findings-badge{display:inline-block;margin-top:8px;padding:2px 8px;background:var(--status-success-light);color:var(--status-success);font-size:.75rem;border-radius:4px}.upload-form{display:flex;flex-direction:column;gap:16px;max-height:70vh;overflow-y:auto;padding-right:8px}.file-input{padding:12px;border:2px dashed var(--border-subtle);border-radius:8px;background:var(--bg-elevated);cursor:pointer}.file-input:hover{border-color:var(--accent-primary)}.help-text{font-size:.8rem;color:var(--text-muted);margin:0}.form-input,.form-select,.form-textarea{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;font-size:.9rem;background:var(--bg-surface);color:var(--text-primary);font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-muted)}.error-message{padding:12px;background:var(--status-danger-light);color:var(--status-danger);border-radius:8px;font-size:.9rem}.image-viewer{display:flex;flex-direction:column;gap:24px}.viewer-image-container{background:#000;border-radius:8px;overflow:hidden;max-height:50vh;display:flex;align-items:center;justify-content:center}.viewer-image{max-width:100%;max-height:50vh;object-fit:contain}.viewer-details{display:flex;flex-direction:column;gap:20px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.detail-section p{margin:0;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.detail-section.ai-section{background:linear-gradient(135deg,var(--accent-primary-light) 0%,var(--bg-elevated) 100%);border:1px solid var(--accent-primary-muted)}.report-text{font-family:inherit;font-size:.9rem;white-space:pre-wrap;margin:0;color:var(--text-primary)}.analysis-date{display:block;margin-top:8px;font-size:.8rem;color:var(--text-muted)}.viewer-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-subtle)}@media(max-width:640px){.imaging-page{padding:16px}.imaging-header{flex-direction:column;align-items:stretch}.imaging-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.detail-grid{grid-template-columns:1fr}}.documents-page{padding:24px;max-width:1400px;margin:0 auto}.documents-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.documents-header .header-content{flex:1}.documents-header .page-title{margin:0 0 4px;font-size:1.75rem;font-weight:600;color:var(--text-primary)}.documents-header .page-subtitle{margin:0;color:var(--text-secondary);font-size:.95rem}.documents-filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:200px;max-width:400px}.search-input{width:100%;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font-size:.9rem}.search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-muted)}.filter-select{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font-size:.9rem;min-width:150px}.filter-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-muted)}.filter-checkbox{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary);cursor:pointer}.filter-checkbox input{width:16px;height:16px;cursor:pointer}.empty-state .empty-icon{font-size:4rem;margin-bottom:16px}.empty-state h2{margin:0 0 8px;color:var(--text-primary);font-size:1.5rem}.empty-state p{max-width:400px;margin:0 auto 24px}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.document-card{display:flex;flex-direction:column;gap:12px;padding:16px;transition:transform .2s,box-shadow .2s}.document-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.document-icon-section{display:flex;justify-content:center;padding:12px 0}.document-type-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:12px;font-size:1.25rem;font-weight:700;background:var(--bg-elevated);color:var(--text-muted)}.document-type-icon.type-lab_report{background:var(--status-info-light);color:var(--status-info)}.document-type-icon.type-doctor_note{background:var(--status-success-light);color:var(--status-success)}.document-type-icon.type-prescription{background:var(--status-warning-light);color:var(--status-warning)}.document-type-icon.type-discharge_summary{background:var(--accent-primary-light);color:var(--accent-primary)}.document-type-icon.type-imaging_report{background:#f0e6ff;color:#7c3aed}.document-info{flex:1;display:flex;flex-direction:column;gap:6px}.document-name{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-type-badge{display:inline-block;padding:2px 8px;background:var(--accent-primary-light);color:var(--accent-primary);font-size:.75rem;font-weight:500;border-radius:4px;width:fit-content}.document-meta{display:flex;gap:12px;font-size:.8rem;color:var(--text-muted)}.results-badge{display:inline-block;padding:2px 8px;background:var(--status-success-light);color:var(--status-success);font-size:.75rem;border-radius:4px;width:fit-content}.document-tags{display:flex;flex-wrap:wrap;gap:4px}.tag{display:inline-block;padding:2px 6px;background:var(--bg-elevated);color:var(--text-secondary);font-size:.7rem;border-radius:4px}.tag-more{color:var(--text-muted);font-size:.7rem}.document-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-subtle);flex-wrap:wrap}.document-actions .delete-btn{color:var(--status-danger)}.document-actions .delete-btn:hover{background:var(--status-danger-light)}.document-view{display:flex;flex-direction:column;gap:20px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1rem;color:var(--text-primary)}.detail-section{padding:16px;background:var(--bg-elevated);border-radius:8px}.detail-section h4{margin:0 0 8px;font-size:.9rem;color:var(--text-secondary)}.detail-section p{margin:0;color:var(--text-primary);line-height:1.6}.text-preview{margin:0;font-family:inherit;font-size:.85rem;white-space:pre-wrap;color:var(--text-primary);max-height:200px;overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-subtle)}.edit-form{display:flex;flex-direction:column;gap:16px}.form-input,.form-textarea{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;font-size:.9rem;background:var(--bg-surface);color:var(--text-primary);font-family:inherit}.form-textarea{resize:vertical;min-height:100px}@media(max-width:640px){.documents-page{padding:16px}.documents-header,.documents-filters{flex-direction:column;align-items:stretch}.search-box{max-width:none}.documents-grid,.detail-grid{grid-template-columns:1fr}}.status-legend{display:inline-flex;align-items:center;gap:16px;font-size:12px;color:var(--text-muted, #6b7280)}.status-legend--compact{gap:12px;font-size:11px}.status-legend-item{display:inline-flex;align-items:center;gap:5px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-legend--compact .status-dot{width:6px;height:6px}.status-label{font-weight:500}@media(max-width:400px){.status-legend:not(.status-legend--compact){gap:10px}}.health-sync-panel{display:flex;flex-direction:column;gap:var(--space-4)}.sync-content{padding:var(--space-2) 0}.sync-section{display:flex;flex-direction:column;gap:var(--space-4)}.sync-description{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.sync-warning{padding:var(--space-3);background:var(--status-warning-bg, #fef3c7);color:var(--status-warning-text, #92400e);border-radius:var(--radius-md);font-size:var(--text-sm)}.connected-devices{display:flex;flex-direction:column;gap:var(--space-2)}.connected-devices h4{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.device-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3)!important}.device-info{display:flex;flex-direction:column;gap:var(--space-1)}.device-name{font-weight:500;color:var(--text-primary)}.device-type{font-size:var(--text-xs);color:var(--text-secondary);text-transform:capitalize}.device-last{font-size:var(--text-xs);color:var(--text-muted)}.device-actions{display:flex;gap:var(--space-2)}.pair-devices{display:flex;flex-direction:column;gap:var(--space-3)}.pair-devices h4{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.device-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.device-type-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.device-type-btn:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--accent-primary);transform:translateY(-1px)}.device-type-btn:disabled{opacity:.5;cursor:not-allowed}.device-type-icon{width:40px;height:40px;border-radius:50%;background:var(--accent-primary-subtle, #e0f2fe);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:600}.device-type-label{font-size:var(--text-xs);color:var(--text-secondary);text-align:center}.sync-result{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--status-success-bg, #d1fae5);color:var(--status-success-text, #065f46);border-radius:var(--radius-md);font-size:var(--text-sm)}.sync-result-icon{font-size:var(--text-lg)}@media(max-width:480px){.device-types{grid-template-columns:repeat(2,1fr)}}.vitals-page{padding:24px;max-width:1200px;margin:0 auto}.vitals-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.header-actions{display:flex;gap:8px;flex-shrink:0}.vitals-header .page-title{margin:0 0 4px;font-size:1.75rem;font-weight:600;color:var(--text-primary)}.vitals-header .page-subtitle{margin:0;color:var(--text-secondary);font-size:.95rem}.quick-log-section{margin-bottom:32px}.section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 16px}.quick-log-buttons{display:flex;gap:12px;flex-wrap:wrap}.quick-log-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;cursor:pointer;transition:all .2s;min-width:80px}.quick-log-btn:hover{background:var(--accent-primary-light);border-color:var(--accent-primary);transform:translateY(-2px)}.quick-log-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:50%;font-size:1rem;font-weight:600;color:var(--accent-primary)}.quick-log-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.vitals-section{margin-bottom:32px}.vitals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.vital-card{padding:16px}.vital-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.vital-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.vital-trend{font-size:1.2rem;font-weight:600}.vital-trend.trend-up{color:var(--status-danger)}.vital-trend.trend-down{color:var(--status-success)}.vital-trend.trend-stable{color:var(--text-muted)}.vital-value-section{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.vital-value{font-size:2rem;font-weight:700;line-height:1}.vital-unit{font-size:.9rem;color:var(--text-muted)}.age-months{font-size:1rem;color:var(--text-secondary);margin-left:4px}.vital-no-data{font-size:1rem;color:var(--text-muted);font-style:italic}.vital-footer{display:flex;flex-direction:column;gap:4px}.vital-range,.vital-date{font-size:.75rem;color:var(--text-muted)}.bp-list{display:flex;flex-direction:column;gap:12px}.bp-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px}.bp-value{display:flex;align-items:baseline;gap:4px}.bp-systolic,.bp-diastolic{font-size:1.5rem;font-weight:600}.bp-separator{font-size:1.5rem;color:var(--text-muted);margin:0 2px}.bp-unit{font-size:.85rem;color:var(--text-muted);margin-left:6px}.bp-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.bp-date{font-size:.85rem;color:var(--text-muted)}.bp-notes{font-size:.8rem;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readings-list{display:flex;flex-direction:column;gap:8px}.reading-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px}.reading-info{display:flex;align-items:center;gap:16px}.reading-type{font-size:.9rem;color:var(--text-secondary);min-width:150px}.reading-value{font-size:1rem;font-weight:600}.reading-date{font-size:.8rem;color:var(--text-muted)}.log-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.form-input,.form-textarea{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;font-size:1rem;background:var(--bg-surface);color:var(--text-primary);font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-muted)}.form-hint{font-size:.8rem;color:var(--text-muted)}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--border-subtle)}.loading-state,.error-state,.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary)}@media(max-width:640px){.vitals-page{padding:16px}.vitals-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-end}.quick-log-buttons{display:grid;grid-template-columns:repeat(3,1fr)}.vitals-grid{grid-template-columns:repeat(2,1fr)}.bp-item{flex-direction:column;align-items:flex-start;gap:8px}.bp-meta{align-items:flex-start}.reading-item{flex-direction:column;align-items:flex-start;gap:6px}.reading-info{flex-direction:column;align-items:flex-start;gap:4px}.form-row{flex-direction:column}}.surgery-page{padding:1rem;padding-bottom:120px}.surgery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.surgery-list{display:flex;flex-direction:column;gap:1.5rem}.surgery-year-group{display:flex;flex-direction:column;gap:.75rem}.year-header{font-size:1rem;font-weight:600;color:var(--text-secondary);padding-bottom:.5rem;border-bottom:1px solid var(--border-color);margin:0}.surgery-cards{display:flex;flex-direction:column;gap:.75rem}.surgery-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.surgery-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.surgery-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.procedure-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.surgery-status{font-size:.75rem;font-weight:500;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:4px}.surgery-card-body{display:flex;flex-direction:column;gap:.375rem}.surgery-meta{display:flex;gap:.5rem;font-size:.875rem}.meta-label{color:var(--text-muted);min-width:80px}.surgery-complications{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--status-warning);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.warning-icon{font-size:.875rem}.surgery-form{display:flex;flex-direction:column;gap:1rem}.surgery-detail{display:flex;flex-direction:column;gap:1.25rem}@media(max-width:480px){.surgery-header{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}}.admissions-page{padding:1rem;padding-bottom:120px}.admissions-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.admissions-list{display:flex;flex-direction:column;gap:.75rem}.admission-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.admission-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.admission-card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.admission-icon{font-size:1.5rem;flex-shrink:0}.admission-header-text{flex:1;min-width:0}.facility-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.department{font-size:.8125rem;color:var(--text-muted)}.stay-duration{display:flex;flex-direction:column;align-items:center;background:var(--accent-light);padding:.375rem .625rem;border-radius:8px;flex-shrink:0}.duration-value{font-size:1.125rem;font-weight:700;color:var(--accent-color);line-height:1}.duration-label{font-size:.625rem;color:var(--accent-color);text-transform:uppercase;letter-spacing:.5px}.admission-card-body{display:flex;flex-direction:column;gap:.5rem}.admission-dates{display:flex;align-items:center;gap:.75rem;font-size:.8125rem}.date-range{color:var(--text-secondary)}.admission-type-badge{font-size:.6875rem;font-weight:500;padding:.125rem .5rem;background:var(--bg-tertiary);border-radius:4px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.admission-reason{font-size:.9375rem;color:var(--text-primary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.diagnoses-preview{display:flex;gap:.375rem;font-size:.8125rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.diagnoses-label{color:var(--text-muted);flex-shrink:0}.diagnoses-text{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admission-form{display:flex;flex-direction:column;gap:1rem}.admission-detail{display:flex;flex-direction:column;gap:1.25rem}.detail-header{display:flex;justify-content:flex-end}.stay-badge{display:flex;flex-direction:column;align-items:center;background:var(--accent-light);padding:.5rem .75rem;border-radius:8px}.stay-value{font-size:1.5rem;font-weight:700;color:var(--accent-color);line-height:1}.stay-label{font-size:.75rem;color:var(--accent-color)}.detail-list{margin:0;padding-left:1.25rem;color:var(--text-primary)}.detail-list li{margin-bottom:.25rem;font-size:.9375rem}@media(max-width:480px){.admissions-header{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}.stay-duration{display:none}}.devices-page{padding:1rem;padding-bottom:120px}.devices-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.mri-alert{background:linear-gradient(135deg,#ef44441a,#f59e0b1a);border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.mri-alert-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.mri-icon{font-size:1.25rem}.mri-title{font-size:1rem;font-weight:600;color:#ef4444}.mri-alert-body{display:flex;gap:1rem;margin-bottom:.75rem}.mri-stat{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;border-radius:8px}.mri-stat.unsafe{background:#ef444426}.mri-stat.conditional{background:#f59e0b26}.mri-stat .stat-value{font-size:1.5rem;font-weight:700;line-height:1}.mri-stat.unsafe .stat-value{color:#ef4444}.mri-stat.conditional .stat-value{color:#f59e0b}.mri-stat .stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.mri-stat.unsafe .stat-label{color:#ef4444}.mri-stat.conditional .stat-label{color:#f59e0b}.mri-notice{font-size:.8125rem;color:var(--text-secondary);margin:0}.filter-bar{margin-bottom:1rem}.filter-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.filter-toggle input{cursor:pointer}.devices-list{display:flex;flex-direction:column;gap:1.5rem}.device-type-group{display:flex;flex-direction:column;gap:.75rem}.type-header{font-size:1rem;font-weight:600;color:var(--text-secondary);padding-bottom:.5rem;border-bottom:1px solid var(--border-color);margin:0}.device-cards{display:flex;flex-direction:column;gap:.75rem}.device-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.device-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.device-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.device-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.device-status{font-size:.75rem;font-weight:500;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:4px}.device-card-body{display:flex;flex-direction:column;gap:.375rem}.device-meta{display:flex;gap:.5rem;font-size:.875rem}.meta-label{color:var(--text-muted);min-width:90px}.mri-badge{display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:4px;margin-top:.75rem}.device-form{display:flex;flex-direction:column;gap:1rem}.checkbox-group label{flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input{cursor:pointer}.device-detail{display:flex;flex-direction:column;gap:1.25rem}.detail-badges{display:flex;gap:.75rem;flex-wrap:wrap}.status-badge{font-size:.875rem;font-weight:500;padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:4px}.mri-badge-large{font-size:.875rem;font-weight:500;padding:.25rem .75rem;border-radius:4px}.detail-section.warning{background:rgba(var(--warning-rgb),.1);padding:.75rem;border-radius:8px}.detail-section.warning h4{color:var(--status-warning);border-color:rgba(var(--warning-rgb),.2)}.id-card-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px;font-size:.875rem;color:var(--text-secondary)}.id-icon{font-size:1.25rem}@media(max-width:480px){.devices-header{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}.mri-alert-body{flex-direction:column}}.family-page{padding:1rem;padding-bottom:120px}.family-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.header-content{flex:1}.page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.page-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.family-summary{background:var(--bg-secondary);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.summary-stats{display:flex;gap:1.5rem;margin-bottom:1rem}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--accent-color);line-height:1}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.risk-alert{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:.75rem;margin-bottom:1rem}.risk-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.risk-icon{font-size:1rem}.risk-title{font-size:.875rem;font-weight:600;color:#ef4444}.risk-conditions{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.risk-tag{font-size:.75rem;padding:.25rem .5rem;background:#ef444426;color:#ef4444;border-radius:4px}.risk-note{font-size:.75rem;color:var(--text-muted);margin:0}.common-conditions h3{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem}.condition-tags{display:flex;flex-wrap:wrap;gap:.375rem}.condition-tag{font-size:.75rem;padding:.25rem .5rem;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px}.empty-state{text-align:center;padding:3rem 1.5rem;background:var(--bg-secondary);border-radius:12px;margin-top:2rem}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;color:var(--text-primary);margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);margin:0 0 1.5rem}.family-list{display:flex;flex-direction:column;gap:1.5rem}.family-group{display:flex;flex-direction:column;gap:.75rem}.group-header{font-size:1rem;font-weight:600;color:var(--text-secondary);padding-bottom:.5rem;border-bottom:1px solid var(--border-color);margin:0}.member-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.member-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.member-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.member-card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.member-icon{font-size:1.75rem;flex-shrink:0}.member-info{flex:1;min-width:0}.member-relationship{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.member-name{font-size:.8125rem;color:var(--text-muted)}.deceased-badge{font-size:.625rem;font-weight:500;padding:.125rem .375rem;background:var(--bg-tertiary);color:var(--text-muted);border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.deceased-badge.large{font-size:.75rem;padding:.25rem .5rem}.member-conditions{display:flex;flex-wrap:wrap;gap:.375rem}.condition-chip{font-size:.75rem;padding:.25rem .5rem;background:var(--accent-light);color:var(--accent-color);border-radius:4px}.more-conditions{font-size:.75rem;color:var(--text-muted);padding:.25rem .5rem}.family-form,.condition-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{padding:.625rem;border:1px solid var(--border-color);border-radius:8px;font-size:.9375rem;background:var(--bg-primary);color:var(--text-primary)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.15)}.form-textarea{resize:vertical;min-height:60px}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.member-detail{display:flex;flex-direction:column;gap:1.25rem}.detail-header{display:flex;align-items:center;gap:1rem}.detail-icon{font-size:2.5rem}.detail-section{display:flex;flex-direction:column;gap:.5rem}.detail-section h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0;padding-bottom:.375rem;border-bottom:1px solid var(--border-color)}.detail-row{display:flex;justify-content:space-between;font-size:.9375rem}.detail-label{color:var(--text-muted)}.detail-text{font-size:.9375rem;color:var(--text-primary);line-height:1.5;margin:0}.conditions-section{background:var(--bg-secondary);border-radius:8px;padding:1rem}.conditions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.conditions-header h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0}.no-conditions{font-size:.875rem;color:var(--text-muted);text-align:center;padding:1rem 0;margin:0}.conditions-list{display:flex;flex-direction:column;gap:.5rem}.condition-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-primary);border-radius:6px;position:relative}.condition-main{display:flex;align-items:center;gap:.5rem;flex:1}.condition-name{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.severity-badge{font-size:.625rem;font-weight:500;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.severity-badge.mild{background:#22c55e26;color:#22c55e}.severity-badge.moderate{background:#f59e0b26;color:#f59e0b}.severity-badge.severe{background:#ef444426;color:#ef4444}.condition-age{font-size:.75rem;color:var(--text-muted);width:100%}.delete-condition-btn{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer;padding:.25rem;line-height:1;opacity:0;transition:opacity .15s}.condition-item:hover .delete-condition-btn{opacity:1}.delete-condition-btn:hover{color:var(--status-danger)}.detail-actions{display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.loading-state,.error-state{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.error-state p{margin-bottom:1rem}@media(max-width:480px){.family-header{flex-direction:column;gap:1rem}.form-row,.member-cards{grid-template-columns:1fr}.summary-stats{justify-content:space-around}}.profile-selector{position:relative}.profile-selector-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-width:160px}.profile-selector-trigger:hover{border-color:var(--border-default);background:var(--bg-elevated)}.profile-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-primary);color:#fff;font-size:var(--text-xs);font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-avatar.all{background:var(--bg-elevated);color:var(--text-muted);font-size:var(--text-xs)}.profile-avatar.add{background:var(--bg-base);border:1px dashed var(--border-subtle);color:var(--text-muted);font-size:16px}.profile-name{flex:1;font-size:var(--text-sm);color:var(--text-primary);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-chevron{font-size:var(--text-xs);color:var(--text-muted)}.profile-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.profile-option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:transparent;border:none;cursor:pointer;transition:background var(--transition-fast);text-align:left}.profile-option:hover{background:var(--bg-elevated)}.profile-option.active{background:var(--accent-primary-muted)}.profile-option-details{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.profile-option-name{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-option-meta{font-size:var(--text-xs);color:var(--text-muted)}.profile-divider{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}.profile-option.add-profile,.profile-option.add-profile .profile-option-name{color:var(--accent-primary)}.add-profile-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-description{color:var(--text-secondary);font-size:var(--text-sm);margin:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.form-error{background:var(--status-danger-light);color:var(--status-danger);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid var(--status-danger-border)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-select{padding:var(--space-2) var(--space-3);font-size:var(--text-base);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;min-height:44px}.form-select:hover{border-color:var(--border-strong)}.form-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.settings-page{padding:20px 20px 100px;max-width:600px;margin:0 auto}.settings-header{margin-bottom:24px}.settings-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0}.settings-section{margin-bottom:24px}.settings-section-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px 4px}.settings-card{background:var(--surface);border-radius:16px;border:1px solid var(--border);overflow:hidden}.profile-info{display:flex;align-items:center;gap:16px;padding:20px}.profile-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600}.profile-details h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.profile-details p{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.profile-row .profile-avatar{width:48px;height:48px;font-size:18px;flex-shrink:0}.profile-row .profile-details{flex:1;min-width:0}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:none;background:transparent;width:100%;cursor:pointer;transition:background .2s;text-align:left}.settings-row:not(:last-child){border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .06))}.settings-row:hover{background:#00000005}.settings-row-left{display:flex;align-items:center;gap:14px}.settings-row-icon{font-size:24px;width:32px;text-align:center}.settings-row-title{display:block;font-size:16px;font-weight:500;color:var(--text-primary)}.settings-row-subtitle{display:block;font-size:13px;color:var(--text-secondary);margin-top:2px}.settings-row-chevron{width:20px;height:20px;color:var(--text-muted);flex-shrink:0;transition:transform .2s ease}.settings-row-chevron.expanded{transform:rotate(90deg)}.settings-security-note{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:13px;color:var(--text-secondary);margin:8px 0 0}.settings-security-note .settings-row-icon{font-size:16px;width:auto}.notification-settings-container,.profile-manager-container{padding:16px 20px;border-top:1px solid var(--border-light, rgba(0, 0, 0, .06));background:var(--surface-elevated, #f8fafc)}.profile-manager-loading,.profile-manager-empty{text-align:center;color:var(--text-secondary);font-size:14px;padding:16px 0;margin:0}.profile-manager-list{display:flex;flex-direction:column;gap:12px}.profile-manager-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border-radius:12px;border:1px solid var(--border-light, rgba(0, 0, 0, .08))}.profile-manager-item.inactive{opacity:.7;background:var(--surface-muted, #f1f5f9)}.profile-manager-info{display:flex;align-items:center;gap:12px}.profile-manager-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.profile-manager-item.inactive .profile-manager-avatar{background:var(--text-muted)}.profile-manager-details{display:flex;flex-direction:column}.profile-manager-name{font-size:15px;font-weight:500;color:var(--text-primary)}.profile-manager-status{font-size:12px;color:var(--text-secondary);margin-top:2px}.profile-manager-actions{display:flex;gap:8px;flex-shrink:0}.logout-button{width:100%;margin:0;border-radius:0}.settings-footer{text-align:center;padding:24px;color:var(--text-muted)}.settings-footer p{margin:0;font-size:14px}.settings-footer-note{font-size:12px!important;margin-top:4px!important}@media(max-width:480px){.settings-page{padding:16px}.settings-header h1{font-size:24px}.profile-info{padding:16px}.profile-avatar{width:48px;height:48px;font-size:18px}.settings-row{padding:14px 16px}}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--space-4)}.admin-login-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);width:100%;max-width:400px}.admin-login-card h1{margin:0 0 var(--space-2) 0;font-size:var(--text-2xl);color:var(--text-primary)}.admin-login-card p{margin:0 0 var(--space-6) 0;color:var(--text-muted);font-size:var(--text-sm)}.admin-container{padding:var(--space-6);max-width:1400px;margin:0 auto;min-height:100vh;background:var(--bg-primary)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.admin-header h1{margin:0;font-size:var(--text-2xl);color:var(--text-primary)}.admin-error{padding:var(--space-3) var(--space-4);background:var(--status-danger-muted);border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);font-size:var(--text-sm);margin-bottom:var(--space-4)}.admin-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.admin-tab{padding:var(--space-3) var(--space-5);background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.users-table-container{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-subtle)}.users-table th{background:var(--bg-tertiary);font-weight:600;font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.users-table td{font-size:var(--text-sm);color:var(--text-primary)}.users-table tbody tr:hover{background:var(--bg-tertiary)}.users-table tbody tr:last-child td{border-bottom:none}.user-name{font-weight:500}.user-email{color:var(--text-muted)}.tables-section{display:grid;grid-template-columns:250px 1fr;gap:var(--space-4);min-height:500px}.tables-sidebar{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.tables-sidebar h3{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tables-list{list-style:none;padding:0;margin:0}.tables-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.tables-list li:hover{background:var(--bg-tertiary)}.tables-list li.active{background:var(--accent-primary);color:#fff}.tables-list li.active .table-count{color:#fffc}.table-name{font-size:var(--text-sm);font-weight:500}.table-count{font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}.table-data-container{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);overflow:hidden}.table-data-container h3{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);color:var(--text-primary)}.table-hint{color:var(--text-muted);text-align:center;padding:var(--space-8)}.data-table-wrapper{overflow-x:auto;max-height:600px;overflow-y:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);text-align:left;border:1px solid var(--border-subtle);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table th{background:var(--bg-tertiary);font-weight:600;position:sticky;top:0;z-index:1}.data-table td{background:var(--bg-secondary)}.data-table tbody tr:hover td{background:var(--bg-tertiary)}.sql-section{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.sql-templates{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.sql-templates span{font-size:var(--text-sm);color:var(--text-muted)}.sql-template-btn{padding:var(--space-1) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.sql-template-btn:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.sql-input{width:100%;padding:var(--space-3);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--text-sm);color:var(--text-primary);resize:vertical;min-height:120px}.sql-input:focus{outline:none;border-color:var(--accent-primary)}.sql-actions{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-3)}.sql-hint{font-size:var(--text-xs);color:var(--text-muted)}.sql-result{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.sql-result-info{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-3) 0}.sql-result-info.sql-success{color:var(--status-success)}@media(max-width:768px){.admin-container{padding:var(--space-4)}.tables-section{grid-template-columns:1fr}.tables-sidebar{max-height:200px;overflow-y:auto}.users-table-container{overflow-x:auto}.users-table{min-width:600px}}.top-nav{height:var(--header-height);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:1000;display:flex;align-items:center;padding:0 var(--space-6);width:100%;max-width:100vw;box-sizing:border-box;overflow:visible}.nav-content{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--content-max-width);margin:0 auto}.nav-logo{font-size:var(--text-md);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.nav-tabs{display:flex;gap:var(--space-1);position:absolute;left:50%;transform:translate(-50%)}.nav-tab{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.nav-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.nav-tab.active{color:var(--text-primary);background:var(--bg-elevated)}.nav-tab.open{color:var(--accent-primary);background:var(--accent-primary-muted)}.nav-tab-wrapper{position:relative;z-index:1}.nav-tab-wrapper:has(.nav-tab-dropdown){z-index:1000}.nav-tab-chevron{display:inline-flex;align-items:center;margin-left:var(--space-1);transition:transform var(--transition-fast)}.nav-tab-chevron.open{transform:rotate(180deg)}.nav-tab-chevron svg{width:10px;height:10px}.nav-tab-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:var(--space-2);min-width:180px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:9999}.nav-tab-dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);background:transparent;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.nav-tab-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-tab-dropdown-item.active{background:var(--accent-primary-muted);color:var(--accent-primary)}.nav-tab-dropdown-icon{font-size:var(--text-base);line-height:1}.nav-right{display:flex;align-items:center;gap:var(--space-4)}.nav-user-section{position:relative}.nav-user{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast)}.nav-user:hover{background:var(--bg-hover)}.nav-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;color:#fff}.nav-username{font-size:var(--text-sm);color:var(--text-secondary)}.nav-chevron{font-size:8px;color:var(--text-muted);margin-left:var(--space-1)}.nav-dropdown{position:absolute;top:100%;right:0;margin-top:var(--space-2);min-width:200px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:200}.nav-dropdown-header{padding:var(--space-3) var(--space-4)}.nav-dropdown-email{font-size:var(--text-xs);color:var(--text-muted)}.nav-dropdown-divider{height:1px;background:var(--border-subtle)}.nav-dropdown-item{display:block;width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);background:transparent;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.nav-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-dropdown-item.active{background:var(--accent-primary-muted);color:var(--accent-primary)}.nav-dropdown-item.add-profile{color:var(--accent-primary)}.nav-dropdown-item.signout{color:var(--status-danger)}.nav-dropdown-item.signout:hover{background:var(--status-danger-muted)}.nav-dropdown-section-label{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.nav-dropdown-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent-gradient);font-size:10px;font-weight:600;color:#fff;margin-right:var(--space-2);flex-shrink:0}.nav-dropdown-avatar.all{background:var(--bg-elevated);color:var(--text-muted);font-size:8px}.nav-dropdown-avatar.add{background:var(--accent-primary-muted);color:var(--accent-primary);font-size:14px}@media(max-width:768px){.top-nav{padding:0 var(--space-4)}.nav-tabs{position:static;transform:none}.nav-username{display:none}}@media(max-width:600px){.top-nav{padding:0 var(--space-3)}.nav-tabs{display:none}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;width:100%;max-width:100vw;z-index:9000;box-shadow:0 -1px #0000000d,0 -4px 20px #0000000a}@media(prefers-color-scheme:dark){.bottom-nav{box-shadow:0 -1px #ffffff0d,0 -4px 20px #0003}}.bottom-nav.keyboard-hidden{transform:translateY(100%);transition:transform .2s ease}@media(max-width:600px){.bottom-nav{display:block}}.bottom-nav-inner{display:flex;justify-content:space-evenly;align-items:stretch;height:56px;padding:0;width:100%;max-width:100%;padding-bottom:env(safe-area-inset-bottom,0px);background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}@media(prefers-color-scheme:dark){.bottom-nav-inner{background:#1c1c1eeb}}.bottom-nav-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1 1 0;min-width:48px;min-height:48px;padding:6px 4px;background:transparent;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s ease}.bottom-nav-tab:active{transform:scale(.92)}.bottom-nav-tab:focus-visible{outline:none}.bottom-nav-tab:focus-visible:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:12px;border:2px solid var(--accent-primary, #007AFF)}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-icon svg{width:22px;height:22px;color:#636366;transition:color .2s ease,transform .2s ease}.bottom-nav-tab.active .bottom-nav-icon svg{width:24px;height:24px;color:var(--accent-primary, #007AFF)}.bottom-nav-tab.active .bottom-nav-icon{transform:translateY(-1px)}.bottom-nav-label{font-size:10px;font-weight:500;letter-spacing:.01em;color:#636366;transition:color .2s ease,font-weight .2s ease;white-space:nowrap;line-height:1.2}.bottom-nav-tab.active .bottom-nav-label{color:var(--accent-primary, #007AFF);font-weight:600}.bottom-nav-indicator{position:absolute;top:4px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--accent-primary, #007AFF);border-radius:50%;opacity:0;animation:indicatorFadeIn .3s ease forwards}@keyframes indicatorFadeIn{0%{opacity:0;transform:translate(-50%) scale(0)}to{opacity:1;transform:translate(-50%) scale(1)}}@media(hover:hover){.bottom-nav-tab:hover:not(.active) .bottom-nav-icon svg{color:#636366}.bottom-nav-tab:hover:not(.active) .bottom-nav-label{color:#636366}}@media(max-width:360px){.bottom-nav-inner{padding:0}.bottom-nav-tab{padding:4px 2px}.bottom-nav-label{font-size:9px}.bottom-nav-icon svg{width:20px;height:20px}.bottom-nav-tab.active .bottom-nav-icon svg{width:22px;height:22px}}@media(max-width:600px)and (orientation:landscape){.bottom-nav-inner{height:48px}.bottom-nav-tab{gap:1px;padding:4px 0}.bottom-nav-icon{width:24px;height:24px}.bottom-nav-icon svg{width:18px;height:18px}.bottom-nav-tab.active .bottom-nav-icon svg{width:20px;height:20px}.bottom-nav-label{font-size:9px}}@media(prefers-reduced-motion:reduce){.bottom-nav-tab,.bottom-nav-icon,.bottom-nav-icon svg,.bottom-nav-label{transition:none}.bottom-nav-indicator{animation:none;opacity:1;transform:translate(-50%) scale(1)}}.sub-nav-panel{position:absolute;bottom:100%;left:0;right:0;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.08);box-shadow:0 -4px 20px #00000014;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.sub-nav-panel{background:#1c1c1efa;border-top:1px solid rgba(255,255,255,.08)}}.sub-nav-content{position:relative;display:flex;justify-content:center;gap:6px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sub-nav-content::-webkit-scrollbar{display:none}.sub-nav-panel:before,.sub-nav-panel:after{content:"";position:absolute;top:0;bottom:0;width:24px;pointer-events:none;z-index:1;opacity:0;transition:opacity .2s}.sub-nav-panel:before{left:0;background:linear-gradient(to right,rgba(255,255,255,.98) 0%,transparent 100%)}.sub-nav-panel:after{right:0;background:linear-gradient(to left,rgba(255,255,255,.98) 0%,transparent 100%)}.sub-nav-panel.scrollable-left:before,.sub-nav-panel.scrollable-right:after{opacity:1}@media(prefers-color-scheme:dark){.sub-nav-panel:before{background:linear-gradient(to right,rgba(28,28,30,.98) 0%,transparent 100%)}.sub-nav-panel:after{background:linear-gradient(to left,rgba(28,28,30,.98) 0%,transparent 100%)}}.sub-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;min-height:48px;background:#00000008;border:1px solid transparent;border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .15s ease;min-width:70px}.sub-nav-item:active{transform:scale(.95)}.sub-nav-item.active{background:var(--accent-primary, #007AFF);color:#fff}.sub-nav-item:not(.active):hover{background:#0000000f}.sub-nav-icon{font-size:18px;line-height:1}.sub-nav-label{font-size:11px;font-weight:500;white-space:nowrap;color:inherit}.bottom-nav-tab.expanded{background:#007aff14;border-radius:10px}.tab-chevron{width:10px;height:10px;margin-top:1px;color:#636366;transition:transform .2s ease,color .2s ease}.tab-chevron.expanded{transform:rotate(180deg)}.bottom-nav-tab.active .tab-chevron{color:var(--accent-primary, #007AFF)}@media(prefers-color-scheme:dark){.sub-nav-item{background:#ffffff0d}.sub-nav-item:not(.active):hover{background:#ffffff1a}}@media(max-width:360px){.sub-nav-content{padding:10px 12px;gap:4px}.sub-nav-item{padding:8px 10px;min-width:60px}.sub-nav-icon{font-size:16px}.sub-nav-label{font-size:10px}}.app-container{display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}.main-content{flex:1;padding:var(--space-6);width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.content-wrapper{max-width:var(--content-max-width);margin:0 auto;width:100%;box-sizing:border-box}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--transition-base),transform var(--transition-base)}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity var(--transition-fast)}@media(max-width:768px){.main-content{padding:var(--space-4)}}@media(max-width:600px){.main-content{padding:var(--space-3);padding-bottom:calc(56px + var(--space-4) + env(safe-area-inset-bottom,0px))}}.document-preview{display:flex;flex-direction:column;height:100%;background:var(--bg-elevated);border-radius:var(--radius-lg);overflow:hidden}.document-preview-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}.document-filename{font-size:var(--text-xs);color:var(--text-muted);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zoom-controls{display:flex;align-items:center;gap:var(--space-1)}.zoom-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-md);cursor:pointer;transition:all var(--transition-fast)}.zoom-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-default)}.zoom-btn:disabled{opacity:.5;cursor:not-allowed}.zoom-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.zoom-level{min-width:48px;height:28px;padding:0 var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.zoom-level:hover{background:var(--bg-hover)}.zoom-level:focus-visible{outline:none;box-shadow:var(--focus-ring)}.document-preview-container{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-3);position:relative;min-height:300px}.document-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.document-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.document-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--status-danger);font-size:var(--text-sm)}.document-error .error-icon{font-size:2rem}.document-image{max-width:100%;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-md);transform-origin:top center;transition:transform var(--transition-base)}.document-pdf{width:100%;height:100%;min-height:400px;border:none;border-radius:var(--radius-md);transform-origin:top center}.document-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);text-align:center}.document-unsupported .unsupported-icon{font-size:2rem}.download-link{color:var(--accent-primary);text-decoration:none;font-weight:500}.download-link:hover{text-decoration:underline}@media(max-width:768px){.document-preview-header{flex-direction:column;gap:var(--space-2)}.document-filename{max-width:100%}}.medical-review-step{display:flex;flex-direction:column;height:100%;min-height:500px}.review-header{padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-3)}.header-info{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.document-type-badge{background:var(--accent-primary);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600}.document-date{color:var(--text-muted);font-size:var(--text-sm)}.review-instructions{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.review-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);flex:1;overflow:hidden}.review-document{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:auto;min-height:400px}.document-loading-state,.document-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-2);color:var(--text-muted)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.review-data{overflow-y:auto;padding-right:var(--space-2)}.no-data-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted);gap:var(--space-2)}.data-sections{display:flex;flex-direction:column;gap:var(--space-3)}.data-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:opacity .2s,border-color .2s}.data-section.excluded{opacity:.5;border-color:transparent}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.edit-hint{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.section-toggle{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.section-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.section-title{font-weight:600;color:var(--text-primary);font-size:var(--text-sm)}.section-content{padding:var(--space-3)}.visit-details{display:flex;flex-direction:column;gap:var(--space-2)}.detail-row{display:flex;gap:var(--space-2)}.detail-row.full-width{flex-direction:column}.detail-label{color:var(--text-muted);font-size:var(--text-sm);min-width:80px;flex-shrink:0}.detail-value{color:var(--text-primary);font-size:var(--text-sm)}.date-override-notice{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--status-warning-muted);border:1px solid var(--status-warning);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.notice-content{display:flex;align-items:center;gap:var(--space-2)}.notice-icon{font-size:var(--text-lg);flex-shrink:0}.notice-text{color:var(--text-primary);font-size:var(--text-sm);font-weight:500}.date-override-input{padding:var(--space-2) var(--space-3);border:2px solid var(--status-warning);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--bg-surface);color:var(--text-primary);max-width:200px}.date-override-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{text-align:left;padding:var(--space-2);color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border-subtle)}.data-table td{padding:var(--space-2);border-bottom:1px solid var(--border-subtle)}.data-table tr:last-child td{border-bottom:none}.data-table tr.flag-H td{background:var(--status-danger-muted)}.data-table tr.flag-L td{background:var(--status-warning-muted)}.value-cell{display:flex;align-items:center;gap:var(--space-2)}.flag-badge{font-size:var(--text-xs);font-weight:700;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.flag-H .flag-badge{background:var(--status-danger);color:#fff}.flag-L .flag-badge{background:var(--status-warning);color:#fff}.item-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.item-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);background:var(--bg-base);border-radius:var(--radius-md)}.item-info{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.item-name{font-weight:500;color:var(--text-primary)}.item-dosage{color:var(--text-secondary);font-size:var(--text-sm)}.item-meta{color:var(--text-muted);font-size:var(--text-xs)}.status-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:500;text-transform:capitalize}.status-badge.active{background:var(--status-danger-muted);color:var(--status-danger)}.status-badge.resolved{background:var(--status-success-muted);color:var(--status-success)}.status-badge.suspected{background:var(--status-warning-muted);color:var(--status-warning)}.severity-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:500;text-transform:capitalize}.severity-badge.mild{background:var(--status-info-muted);color:var(--status-info)}.severity-badge.moderate{background:var(--status-warning-muted);color:var(--status-warning)}.severity-badge.severe{background:var(--status-danger-muted);color:var(--status-danger)}.severity-badge.unknown{background:var(--bg-elevated);color:var(--text-muted)}.new-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--accent-primary);color:#fff;font-weight:600}.remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);font-size:var(--text-lg);line-height:1;border-radius:var(--radius-sm);transition:color .15s,background-color .15s}.remove-btn:hover{color:var(--status-danger);background:var(--status-danger-muted)}.notes-section{background:var(--bg-base);border-style:dashed}.notes-text{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0;white-space:pre-wrap}.review-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);margin-top:var(--space-4)}.mismatch-warning-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--status-danger-muted);border:1px solid var(--status-danger);border-radius:var(--radius-md);margin-bottom:var(--space-3);color:var(--status-danger);font-size:var(--text-sm)}.mismatch-warning-banner .warning-icon{font-size:var(--text-lg);flex-shrink:0}.col-status{width:32px;text-align:center}.verification-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-weight:700;font-size:var(--text-xs);background:var(--bg-elevated)}.verification-verified{background:var(--status-success-muted)}.verification-mismatch{background:var(--status-danger-muted)}.verification-unverified{background:var(--status-warning-muted)}.data-table tr.row-mismatch td{background:var(--status-danger-muted)}.data-table tr.row-verified td{background:var(--status-success-muted)}.data-table tr.row-swap-warning td{background:var(--status-warning-muted)}.swap-hint{display:inline-block;margin-left:var(--space-2);font-size:var(--text-xs);color:var(--status-warning);cursor:help}.mismatch-choices{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:var(--bg-surface);border:2px solid var(--status-danger);border-radius:var(--radius-md)}.mismatch-choices .choice-label{font-size:var(--text-xs);color:var(--status-danger);font-weight:500}.choice-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.choice-option:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.choice-option input[type=radio]{accent-color:var(--accent-primary)}.choice-source{font-size:var(--text-xs);color:var(--text-muted)}@media(max-width:900px){.review-content{grid-template-columns:1fr}.review-document{max-height:300px}}@media(max-width:640px){.header-info{flex-direction:column;align-items:flex-start}.item-info{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.review-actions{flex-direction:column}.review-actions button{width:100%}}.validation-errors{background:var(--status-danger-bg, #fef2f2);border:1px solid var(--status-danger, #ef4444);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3);color:var(--status-danger, #ef4444)}.validation-errors strong{display:block;margin-bottom:var(--space-2)}.validation-errors ul{margin:0;padding-left:var(--space-4)}.validation-errors li{margin-bottom:var(--space-1);font-size:var(--text-sm)}.editable-cell{cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background-color .15s ease;display:inline-block;min-width:2em}.editable-cell:hover{background-color:var(--bg-subtle)}.editable-cell:focus{outline:2px solid var(--accent-primary);outline-offset:1px}.cell-edit-input{width:100%;min-width:60px;padding:var(--space-1) var(--space-2);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);font-size:inherit;font-family:inherit;background:var(--bg-primary);color:var(--text-primary)}.cell-edit-input:focus{outline:none;box-shadow:0 0 0 2px var(--accent-primary-subtle)}.reference-cell{white-space:nowrap}.range-separator{color:var(--text-muted);margin:0 var(--space-1)}.upload-modal-content{display:flex;flex-direction:column;gap:var(--space-4)}.drop-zone{border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--bg-base)}.drop-zone:hover{border-color:var(--accent-primary);background:#007aff0d}.drop-zone.active{border-color:var(--accent-primary);background:#007aff1a}.drop-zone.has-files{padding:var(--space-4)}.file-input{display:none}.drop-icon{font-size:48px;margin-bottom:var(--space-3)}.drop-text{font-size:var(--text-md);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1)}.drop-subtext{font-size:var(--text-sm);color:var(--text-muted)}.selected-files{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.file-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.file-icon{font-size:20px}.file-name{flex:1;font-size:var(--text-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-remove{width:24px;height:24px;border:none;background:var(--bg-elevated);border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all var(--transition-fast)}.file-remove:hover{background:var(--status-danger-muted);color:var(--status-danger)}.upload-progress{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4);background:var(--accent-primary-muted);border-radius:var(--radius-md);color:var(--accent-primary);font-size:var(--text-sm)}.progress-spinner{width:20px;height:20px;border:2px solid var(--accent-primary-muted);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.upload-error{padding:var(--space-3);background:var(--status-danger-muted);border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);font-size:var(--text-sm)}.upload-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.upload-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6)}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--status-success-muted);color:var(--status-success);font-size:32px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.upload-success h3{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.upload-success p{color:var(--text-muted);margin-bottom:var(--space-4)}.extracted-markers{width:100%;margin-bottom:var(--space-4)}.markers-label{font-size:var(--text-xs);color:var(--text-muted);display:block;margin-bottom:var(--space-2)}.markers-list{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.marker-chip{padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary)}.marker-chip.more{background:var(--accent-primary-muted);color:var(--accent-primary)}.upload-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);min-height:200px}.upload-processing .processing-spinner{width:48px;height:48px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-4)}.upload-processing h3{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.upload-processing p{color:var(--text-muted);font-size:var(--text-sm)}.upload-processing .processing-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-2)}.upload-error-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6)}.upload-error-state .error-icon{width:64px;height:64px;border-radius:50%;background:var(--status-danger-muted);color:var(--status-danger);font-size:32px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.upload-error-state h3{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.upload-error-state p{color:var(--text-muted);margin-bottom:var(--space-4);max-width:400px}.error-actions{display:flex;gap:var(--space-3)}.saved-summary{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.saved-summary p{color:var(--text-secondary);font-size:var(--text-sm);margin:0;padding:var(--space-1) var(--space-3);background:var(--status-success-muted);border-radius:var(--radius-full);display:inline-block}.success-note{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.documents-modal{display:flex;flex-direction:column;gap:var(--space-4);min-height:300px}.documents-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.documents-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:0}.documents-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);color:var(--text-muted)}.documents-loading .spinner{width:24px;height:24px;border:2px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.documents-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center;color:var(--status-danger)}.documents-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8);text-align:center}.documents-empty .empty-icon{font-size:var(--text-lg);color:var(--text-muted)}.documents-empty p{color:var(--text-secondary);margin:0}.documents-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:400px;overflow-y:auto}.document-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-base);border-radius:var(--radius-md);transition:background var(--transition-fast)}.document-item:hover{background:var(--bg-elevated)}.document-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);flex-shrink:0}.document-icon svg{width:24px;height:24px}.document-icon.icon-pdf{background:var(--status-danger-muted);color:var(--status-danger)}.document-icon.icon-image{background:var(--status-info-muted);color:var(--status-info)}.document-icon.icon-file{background:var(--bg-elevated);color:var(--text-muted)}.document-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.document-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.document-date,.document-size{font-size:var(--text-xs);color:var(--text-muted)}.document-results{font-size:var(--text-xs);color:var(--accent-primary);background:var(--accent-primary-muted);padding:2px 6px;border-radius:var(--radius-sm)}.document-delete-btn{flex-shrink:0}.export-modal{display:flex;flex-direction:column;gap:var(--space-5)}.export-description{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:var(--leading-relaxed)}.export-formats{display:flex;flex-direction:column;gap:var(--space-2)}.export-format-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-base);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:left;width:100%}.export-format-option:hover{background:var(--bg-elevated);border-color:var(--border-default)}.export-format-option.selected{background:var(--accent-primary-light);border-color:var(--accent-primary)}.format-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);flex-shrink:0}.format-icon svg{width:24px;height:24px}.format-icon.icon-pdf{background:var(--status-danger-muted);color:var(--status-danger)}.format-icon.icon-csv{background:var(--status-success-muted);color:var(--status-success)}.format-icon.icon-json{background:var(--status-warning-muted);color:var(--status-warning)}.format-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.format-label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.format-description{font-size:var(--text-xs);color:var(--text-muted)}.format-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.format-check svg{width:20px;height:20px;color:var(--accent-primary)}.export-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.toast-container{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:toastSlideIn var(--transition-slow) ease-out;pointer-events:auto}.toast.exiting{animation:toastSlideOut var(--transition-base) ease-in forwards}@keyframes toastSlideIn{0%{transform:translate(100%) scale(.9);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(100%) scale(.9);opacity:0}}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.toast-success .toast-icon{background:var(--status-success-muted);color:var(--status-success)}.toast-error .toast-icon{background:var(--status-danger-muted);color:var(--status-danger)}.toast-warning .toast-icon{background:var(--status-warning-muted);color:var(--status-warning)}.toast-info .toast-icon{background:var(--accent-primary-muted);color:var(--accent-primary)}.toast-message{flex:1;font-size:var(--text-sm);color:var(--text-primary);line-height:1.4}.toast-close{width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);font-size:var(--text-md);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;opacity:.6}.toast-close:hover{background:var(--bg-elevated);color:var(--text-primary);opacity:1}.toast-close:focus-visible{outline:none;box-shadow:var(--focus-ring);opacity:1}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.3;border-radius:0 0 var(--radius-lg) var(--radius-lg);animation:toastProgress 5s linear forwards}@keyframes toastProgress{0%{width:100%}to{width:0%}}.toast{position:relative;overflow:hidden}.toast-success{border-left:3px solid var(--status-success)}.toast-error{border-left:3px solid var(--status-danger)}.toast-warning{border-left:3px solid var(--status-warning)}.toast-info{border-left:3px solid var(--accent-primary)}@media(max-width:480px){.toast-container{left:var(--space-4);right:var(--space-4);max-width:none}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:var(--space-6);z-index:var(--z-modal-backdrop);animation:dialogFadeIn var(--transition-base) ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.dialog-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:420px;width:100%;animation:dialogSlideIn var(--transition-base) ease-out;overflow:hidden}.dialog-content:focus{outline:none}.dialog-header{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);padding-bottom:var(--space-4)}.dialog-icon{width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dialog-icon svg{width:24px;height:24px}.dialog-icon--info{background:var(--accent-primary-muted);color:var(--accent-primary)}.dialog-icon--success{background:var(--status-success-muted);color:var(--status-success)}.dialog-icon--warning{background:var(--status-warning-muted);color:var(--status-warning)}.dialog-icon--danger,.dialog-icon--error{background:var(--status-danger-muted);color:var(--status-danger)}.dialog-text{flex:1;min-width:0}.dialog-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;margin-bottom:var(--space-2);line-height:1.3}.dialog-message{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.dialog-message strong{color:var(--text-primary);font-weight:var(--font-medium)}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--bg-elevated);border-top:1px solid var(--border-subtle)}@media(max-width:480px){.dialog-overlay{padding:0;align-items:flex-end}.dialog-content{max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:dialogSlideUp var(--transition-base) ease-out}.dialog-header{padding:var(--space-5);padding-bottom:var(--space-4)}.dialog-footer{flex-direction:column-reverse;gap:var(--space-2);padding:var(--space-4) var(--space-5);padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.dialog-footer .btn{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.dialog-overlay,.dialog-content{animation:none}}.dialog-footer--single{justify-content:center}@media(max-width:480px){.dialog-footer--single{flex-direction:column}}.ai-chat-fab{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--accent-gradient);color:#fff;border:none;border-radius:50px;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s,box-shadow .2s;z-index:1000;font-weight:500}.ai-chat-fab:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.ai-chat-fab.hidden{display:none}.ai-chat-fab .fab-icon{font-size:1.25rem}.ai-chat-fab .fab-label{font-size:.9rem}.ai-chat-panel{position:fixed;bottom:24px;right:24px;width:400px;max-width:calc(100vw - 48px);height:550px;max-height:calc(100vh - 100px);background:var(--bg-surface);border-radius:16px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;overflow:hidden;z-index:1001;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-chat-panel .chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--accent-gradient);color:#fff}.ai-chat-panel .chat-header-content{flex:1;min-width:0}.ai-chat-panel .chat-title{margin:0;font-size:1.1rem;font-weight:600}.ai-chat-panel .chat-subtitle{margin:4px 0 0;font-size:.8rem;opacity:.9}.ai-chat-panel .chat-close-btn{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s,transform .2s;flex-shrink:0;margin-left:12px}.ai-chat-panel .chat-close-btn:hover{background:#ffffff59;transform:scale(1.1)}.ai-chat-panel .chat-close-btn:active{transform:scale(.95);background:#fff6}.ai-chat-panel .chat-close-btn svg{display:block}.ai-chat-panel .chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-chat-panel .chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:20px}.ai-chat-panel .welcome-icon{font-size:3rem;margin-bottom:12px}.ai-chat-panel .chat-welcome h4{margin:0 0 8px;font-size:1.2rem;color:var(--text-primary)}.ai-chat-panel .chat-welcome p{margin:0 0 20px;color:var(--text-secondary);font-size:.9rem}.ai-chat-panel .suggested-questions{display:flex;flex-direction:column;gap:8px;width:100%}.ai-chat-panel .suggested-question{padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;font-size:.85rem;color:var(--text-primary);cursor:pointer;text-align:left;transition:all .2s}.ai-chat-panel .suggested-question:hover{background:var(--accent-primary-light);border-color:var(--accent-primary);color:var(--accent-primary)}.ai-chat-panel .chat-message{max-width:85%;padding:12px 16px;border-radius:16px;word-wrap:break-word}.ai-chat-panel .chat-message.user{align-self:flex-end;background:var(--accent-primary);color:#fff;border-bottom-right-radius:4px}.ai-chat-panel .chat-message.assistant{align-self:flex-start;background:var(--bg-elevated);color:var(--text-primary);border-bottom-left-radius:4px}.ai-chat-panel .message-content{font-size:.9rem;line-height:1.6;word-break:break-word;overflow-wrap:break-word}.ai-chat-panel .ai-formatted{display:flex;flex-direction:column;gap:8px}.ai-chat-panel .ai-formatted .ai-p{margin:0}.ai-chat-panel .ai-formatted .ai-h2,.ai-chat-panel .ai-formatted .ai-h3,.ai-chat-panel .ai-formatted .ai-h4,.ai-chat-panel .ai-formatted .ai-h5{margin:12px 0 6px;font-weight:600;line-height:1.3}.ai-chat-panel .ai-formatted .ai-h2:first-child,.ai-chat-panel .ai-formatted .ai-h3:first-child,.ai-chat-panel .ai-formatted .ai-h4:first-child,.ai-chat-panel .ai-formatted .ai-h5:first-child{margin-top:0}.ai-chat-panel .ai-formatted .ai-h2{font-size:1.1rem}.ai-chat-panel .ai-formatted .ai-h3{font-size:1rem}.ai-chat-panel .ai-formatted .ai-h4{font-size:.95rem}.ai-chat-panel .ai-formatted .ai-h5{font-size:.9rem}.ai-chat-panel .ai-formatted .ai-list{margin:8px 0;padding-left:20px}.ai-chat-panel .ai-formatted .ai-list.numbered{list-style:none;padding-left:0}.ai-chat-panel .ai-formatted .ai-li{margin:4px 0;line-height:1.5}.ai-chat-panel .ai-formatted .ai-li.numbered{display:flex;gap:8px}.ai-chat-panel .ai-formatted .ai-li .num{font-weight:600;color:var(--accent-primary);min-width:24px}.ai-chat-panel .ai-formatted .code-block{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:12px;margin:8px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.ai-chat-panel .ai-formatted .code-block code{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.8rem;line-height:1.5;white-space:pre;display:block}.ai-chat-panel .ai-formatted .inline-code{background:#0000000f;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:.85em}.ai-chat-panel .ai-formatted .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0}.ai-chat-panel .ai-formatted .ai-table{width:100%;min-width:200px;border-collapse:collapse;font-size:.85rem}.ai-chat-panel .ai-formatted .ai-table td,.ai-chat-panel .ai-formatted .ai-table th{padding:8px 10px;border:1px solid var(--border-subtle);text-align:left}.ai-chat-panel .ai-formatted .ai-table tr:first-child td{font-weight:600;background:var(--bg-elevated)}.ai-chat-panel .ai-formatted .ai-quote{border-left:3px solid var(--accent-primary);padding:8px 12px;margin:8px 0;background:#00000008;border-radius:0 8px 8px 0;font-style:italic}.ai-chat-panel .ai-formatted .ai-hr{border:none;border-top:1px solid var(--border-subtle);margin:12px 0}.ai-chat-panel .message-content p{margin:0 0 8px}.ai-chat-panel .message-content p:last-child{margin-bottom:0}.ai-chat-panel .message-time{display:block;font-size:.7rem;opacity:.7;margin-top:4px;text-align:right}.ai-chat-panel .typing-indicator{display:flex;gap:4px;padding:4px 0}.ai-chat-panel .typing-indicator span{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.ai-chat-panel .typing-indicator span:nth-child(1){animation-delay:-.32s}.ai-chat-panel .typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.ai-chat-panel .chat-error{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--status-danger-light);color:var(--status-danger);font-size:.85rem}.ai-chat-panel .chat-error button{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;padding:0 0 0 8px}.ai-chat-panel .chat-input-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.ai-chat-panel .chat-input{flex:1;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:20px;font-size:.9rem;resize:none;outline:none;font-family:inherit;max-height:100px;background:var(--bg-surface);color:var(--text-primary)}.ai-chat-panel .chat-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-muted)}.ai-chat-panel .chat-input:disabled{background:var(--bg-elevated);opacity:.7}.ai-chat-panel .chat-input::placeholder{color:var(--text-muted)}@media(max-width:480px){.ai-chat-panel{bottom:0;right:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.ai-chat-panel .chat-header{padding:16px}.ai-chat-panel .chat-close-btn{width:44px;height:44px;min-width:44px;background:#ffffff40}.ai-chat-panel .chat-close-btn svg{width:24px;height:24px}.ai-chat-fab{bottom:16px;right:16px;padding:10px 16px}.ai-chat-fab .fab-label{display:none}.ai-chat-panel .chat-message{max-width:95%}.ai-chat-panel .chat-message.assistant{max-width:100%}.ai-chat-panel .chat-messages{padding:12px}.ai-chat-panel .message-content{font-size:.95rem;line-height:1.7}}.global-ai-assistant{display:flex;flex-direction:column;background:var(--surface);border-radius:16px;border:1px solid var(--border);overflow:hidden;max-height:600px;box-shadow:0 4px 12px #00000014}.ai-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);color:#fff}.ai-header-left{display:flex;align-items:center;gap:12px}.ai-icon{font-size:28px;line-height:1}.ai-header-text h3{margin:0;font-size:18px;font-weight:600}.ai-header-text p{margin:2px 0 0;font-size:13px;opacity:.9}.ai-header-actions{display:flex;gap:8px}.ai-report-btn,.ai-clear-btn{padding:8px 14px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.ai-report-btn{background:#fff3;color:#fff}.ai-report-btn:hover:not(:disabled){background:#ffffff4d}.ai-clear-btn{background:transparent;color:#fffc}.ai-clear-btn:hover{color:#fff}.report-options{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:var(--surface-elevated, #f8fafc);border-bottom:1px solid var(--border)}.report-options button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.report-options button:hover{background:var(--primary-light, #eff6ff);border-color:var(--primary)}.report-icon{font-size:16px}.data-summary-pills{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:var(--surface-elevated, #f8fafc);border-bottom:1px solid var(--border)}.data-pill{padding:4px 10px;background:var(--primary-light, #eff6ff);color:var(--primary);border-radius:20px;font-size:12px;font-weight:500}.ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:350px}.ai-welcome{text-align:center;padding:20px;color:var(--text-secondary)}.ai-welcome p:first-child{font-size:15px;margin-bottom:12px}.ai-welcome ul{list-style:none;padding:0;margin:0;text-align:left;display:inline-block}.ai-welcome li{padding:6px 0;font-size:14px;color:var(--text-primary)}.ai-welcome li:before{content:'"';color:var(--primary);font-weight:600}.ai-welcome li:after{content:'"';color:var(--primary);font-weight:600}.ai-welcome-note{margin-top:16px;font-size:13px;color:var(--text-muted)}.ai-message{display:flex}.ai-message-user{justify-content:flex-end}.ai-message-assistant,.ai-message-system{justify-content:flex-start}.message-content{max-width:85%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5}.user-content{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.assistant-content{background:var(--surface-elevated, #f1f5f9);color:var(--text-primary);border-bottom-left-radius:4px}.system-content{background:var(--warning-light, #fef3c7);color:var(--warning-dark, #92400e);display:flex;align-items:center;gap:8px}.system-icon{font-size:16px}.retry-btn{margin-left:auto;padding:6px 14px;background:var(--warning-dark, #92400e);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.retry-btn:hover{background:var(--warning, #b45309)}.assistant-content .ai-formatted{font-size:14px;line-height:1.6;display:flex;flex-direction:column;gap:8px;word-break:break-word;overflow-wrap:break-word}.assistant-content .ai-formatted .ai-p{margin:0}.assistant-content .ai-formatted .ai-h2,.assistant-content .ai-formatted .ai-h3,.assistant-content .ai-formatted .ai-h4,.assistant-content .ai-formatted .ai-h5,.assistant-content .ai-formatted h2,.assistant-content .ai-formatted h3,.assistant-content .ai-formatted h4{margin:14px 0 8px;font-weight:600;line-height:1.3}.assistant-content .ai-formatted .ai-h2:first-child,.assistant-content .ai-formatted .ai-h3:first-child,.assistant-content .ai-formatted .ai-h4:first-child,.assistant-content .ai-formatted h2:first-child,.assistant-content .ai-formatted h3:first-child,.assistant-content .ai-formatted h4:first-child{margin-top:0}.assistant-content .ai-formatted .ai-h2,.assistant-content .ai-formatted h2{font-size:16px}.assistant-content .ai-formatted .ai-h3,.assistant-content .ai-formatted h3{font-size:15px}.assistant-content .ai-formatted .ai-h4,.assistant-content .ai-formatted h4,.assistant-content .ai-formatted .ai-h5{font-size:14px}.assistant-content .ai-formatted .ai-list,.assistant-content .ai-formatted ul,.assistant-content .ai-formatted ol{margin:8px 0;padding-left:20px}.assistant-content .ai-formatted .ai-list.numbered{list-style:none;padding-left:0}.assistant-content .ai-formatted .ai-li,.assistant-content .ai-formatted li{margin:4px 0;line-height:1.5}.assistant-content .ai-formatted .ai-li.numbered{display:flex;gap:8px}.assistant-content .ai-formatted .ai-li .num{font-weight:600;color:var(--primary);min-width:24px}.assistant-content .ai-formatted .code-block{background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px;margin:10px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.assistant-content .ai-formatted .code-block code{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;line-height:1.5;white-space:pre;display:block;color:var(--text-primary)}.assistant-content .ai-formatted .inline-code{background:#0000000f;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:.9em}.assistant-content .ai-formatted .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0;border-radius:8px;border:1px solid var(--border)}.assistant-content .ai-formatted .ai-table{width:100%;min-width:250px;border-collapse:collapse;font-size:13px}.assistant-content .ai-formatted .ai-table td,.assistant-content .ai-formatted .ai-table th{padding:10px 12px;border:1px solid var(--border);text-align:left}.assistant-content .ai-formatted .ai-table tr:first-child td{font-weight:600;background:var(--surface-elevated, #f8fafc)}.assistant-content .ai-formatted .ai-quote{border-left:3px solid var(--primary);padding:10px 14px;margin:10px 0;background:#3b82f60d;border-radius:0 8px 8px 0;font-style:italic;color:var(--text-secondary)}.assistant-content .ai-formatted .ai-hr{border:none;border-top:1px solid var(--border);margin:14px 0}.message-sources{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-light, rgba(0, 0, 0, .08));display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sources-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.source-tag{padding:2px 8px;background:#0000000d;border-radius:4px;font-size:11px;color:var(--text-secondary)}.message-content.loading{display:flex;align-items:center;gap:10px}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background:var(--primary);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.quick-prompts{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}.quick-prompt-btn{padding:8px 14px;background:#fff;border:1px solid var(--border);border-radius:20px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.quick-prompt-btn:hover:not(:disabled){background:var(--primary-light, #eff6ff);border-color:var(--primary);color:var(--primary)}.quick-prompt-btn:disabled{opacity:.5;cursor:not-allowed}.ai-input-form{display:flex;gap:8px;padding:12px 16px;background:var(--surface-elevated, #f8fafc);border-top:1px solid var(--border)}.ai-input-form textarea{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:24px;font-size:14px;font-family:inherit;resize:none;outline:none;transition:border-color .2s;background:#fff;line-height:1.4}.ai-input-form textarea:focus{border-color:var(--primary)}.ai-input-form textarea::placeholder{color:var(--text-muted)}.ai-input-form button{width:44px;height:44px;border-radius:50%;border:none;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.ai-input-form button:hover:not(:disabled){background:var(--primary-dark, #2563eb);transform:scale(1.05)}.ai-input-form button:disabled{background:var(--text-muted);cursor:not-allowed}.ai-input-form button svg{width:20px;height:20px}@media(max-width:640px){.global-ai-assistant{max-height:none;border-radius:12px}.ai-header{padding:12px}.ai-header-text h3{font-size:16px}.ai-messages{max-height:300px;padding:12px}.message-content{max-width:95%;padding:10px 14px;font-size:15px;line-height:1.7}.ai-message-assistant .message-content{max-width:100%}.quick-prompts{padding:0 12px 10px}.ai-input-form{padding:10px 12px}}.floating-ai-btn{position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary, #3b82f6) 0%,var(--primary-dark, #2563eb) 100%);border:none;box-shadow:0 4px 20px #3b82f666;cursor:pointer;z-index:999;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}.floating-ai-btn:hover{transform:scale(1.05);box-shadow:0 6px 24px #3b82f680}.floating-ai-btn:active{transform:scale(.95)}.floating-ai-btn.hidden{transform:scale(0);opacity:0;pointer-events:none}.floating-ai-icon{display:flex;align-items:center;justify-content:center}.floating-ai-icon svg{width:28px;height:28px;color:#fff}.floating-ai-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--primary, #3b82f6);animation:pulse 2s ease-in-out infinite;z-index:-1}@keyframes pulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.15);opacity:0}}@supports (bottom: env(safe-area-inset-bottom)){.floating-ai-btn{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}.ai-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1001;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-modal-container{width:100%;max-width:600px;max-height:85vh;background:var(--surface, white);border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.ai-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb);flex-shrink:0}.ai-modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.ai-modal-close{width:36px;height:36px;border-radius:50%;background:var(--surface-elevated, #f3f4f6);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.ai-modal-close:hover{background:var(--surface-hover, #e5e7eb)}.ai-modal-close svg{width:20px;height:20px;color:var(--text-secondary, #6b7280)}.ai-modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}@media(min-width:601px){.ai-modal-body{padding-bottom:0}}.ai-modal-body .global-ai-assistant{height:100%;border:none;border-radius:0;box-shadow:none}.ai-modal-body .ai-header{display:none}.ai-modal-body .ai-messages{flex:1;max-height:none}@media(min-width:601px){.ai-modal-overlay{align-items:center;padding:20px}.ai-modal-container{max-height:80vh;border-radius:20px}.floating-ai-btn{bottom:24px;right:24px}}@media(min-width:1200px){.floating-ai-btn{display:flex;bottom:24px;right:24px}}@media(prefers-color-scheme:dark){.ai-modal-overlay{background:#000000b3}.ai-modal-container{background:var(--surface-dark, #1f2937)}.ai-modal-close{background:var(--surface-elevated-dark, #374151)}.ai-modal-close:hover{background:var(--surface-hover-dark, #4b5563)}}.page-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center;min-height:300px}.page-state--loading{color:var(--text-muted)}.page-state__spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.page-state--error{color:var(--text-secondary)}.page-state--error .page-state__icon{width:48px;height:48px;border-radius:50%;background:var(--status-danger-muted);color:var(--status-danger);font-size:var(--text-xl);font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.page-state--error .page-state__title{color:var(--status-danger);margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:600}.page-state--error .page-state__text{margin:0 0 var(--space-4);max-width:400px}.page-state--empty{color:var(--text-secondary)}.page-state--empty .page-state__icon{font-size:3rem;margin-bottom:var(--space-4);line-height:1}.page-state--empty .page-state__title{color:var(--text-primary);margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:600}.page-state--empty .page-state__text{margin:0 0 var(--space-4);max-width:400px;color:var(--text-muted)}.page-state__text{font-size:var(--text-sm);line-height:1.5}.help-tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-left:6px;vertical-align:middle;background:none;border:none;padding:0}.help-tooltip--sm .help-icon{width:16px;height:16px;font-size:10px}.help-tooltip--md .help-icon{width:20px;height:20px;font-size:12px}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg-tertiary, #e5e7eb);color:var(--text-muted, #6b7280);font-size:10px;font-weight:600;font-family:system-ui,-apple-system,sans-serif;transition:all .15s ease;-webkit-user-select:none;user-select:none}.help-tooltip:hover .help-icon{background:var(--primary, #3b82f6);color:#fff}.help-tooltip:before{content:attr(data-tooltip);position:absolute;padding:8px 12px;background:var(--bg-primary, #1f2937);color:var(--text-inverse, #f9fafb);font-size:12px;font-weight:400;line-height:1.4;border-radius:6px;white-space:normal;max-width:220px;width:max-content;text-align:left;z-index:500;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;box-shadow:0 4px 12px #00000026}.help-tooltip:after{content:"";position:absolute;border:5px solid transparent;z-index:501;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none}.help-tooltip:hover:before,.help-tooltip:hover:after,.help-tooltip--open:before,.help-tooltip--open:after{opacity:1;visibility:visible}.help-tooltip--open .help-icon{background:var(--primary, #3b82f6);color:#fff}.help-tooltip[data-position=top]:before{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.help-tooltip[data-position=top]:after{bottom:calc(100% + 3px);left:50%;transform:translate(-50%);border-top-color:var(--bg-primary, #1f2937)}.help-tooltip[data-position=bottom]:before{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.help-tooltip[data-position=bottom]:after{top:calc(100% + 3px);left:50%;transform:translate(-50%);border-bottom-color:var(--bg-primary, #1f2937)}.help-tooltip[data-position=left]:before{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.help-tooltip[data-position=left]:after{right:calc(100% + 3px);top:50%;transform:translateY(-50%);border-left-color:var(--bg-primary, #1f2937)}.help-tooltip[data-position=right]:before{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.help-tooltip[data-position=right]:after{left:calc(100% + 3px);top:50%;transform:translateY(-50%);border-right-color:var(--bg-primary, #1f2937)}@media(max-width:768px){.help-tooltip:before{max-width:180px;font-size:11px;padding:6px 10px}.help-tooltip:hover:before,.help-tooltip:hover:after{opacity:0;visibility:hidden}.help-tooltip--open:before,.help-tooltip--open:after{opacity:1;visibility:visible}.help-tooltip:focus{outline:none}}
