*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{line-height:1.5;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:"rlig" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:inherit}button{background:none;border:none;cursor:pointer}:root{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--background: 210 25% 98%;--foreground: 215 28% 17%;--card: 0 0% 100%;--card-foreground: 215 28% 17%;--popover: 0 0% 100%;--popover-foreground: 215 28% 17%;--primary: 205 85% 45%;--primary-foreground: 0 0% 100%;--secondary: 175 65% 41%;--secondary-foreground: 0 0% 100%;--success: 152 60% 42%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--muted: 210 20% 96%;--muted-foreground: 215 16% 47%;--accent: 205 85% 95%;--accent-foreground: 205 85% 35%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 210 20% 88%;--input: 210 20% 88%;--ring: 205 85% 45%;--radius-sm: .375rem;--radius: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 hsl(215 28% 17% / .05);--shadow: 0 1px 3px 0 hsl(215 28% 17% / .1), 0 1px 2px -1px hsl(215 28% 17% / .1);--shadow-md: 0 4px 6px -1px hsl(215 28% 17% / .1), 0 2px 4px -2px hsl(215 28% 17% / .1);--shadow-lg: 0 10px 15px -3px hsl(215 28% 17% / .1), 0 4px 6px -4px hsl(215 28% 17% / .1);--shadow-xl: 0 20px 25px -5px hsl(215 28% 17% / .1), 0 8px 10px -6px hsl(215 28% 17% / .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8%;--chart-primary: 205 85% 45%;--chart-secondary: 175 65% 41%;--chart-success: 152 60% 42%;--chart-warning: 38 92% 50%;--chart-muted: 210 20% 80%}.dark{--background: 222 47% 11%;--foreground: 210 40% 98%;--card: 222 47% 13%;--card-foreground: 210 40% 98%;--popover: 222 47% 13%;--popover-foreground: 210 40% 98%;--primary: 205 85% 55%;--primary-foreground: 222 47% 11%;--secondary: 175 55% 45%;--secondary-foreground: 222 47% 11%;--success: 152 55% 48%;--success-foreground: 222 47% 11%;--warning: 38 92% 50%;--warning-foreground: 222 47% 11%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20% 65%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62% 30%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 205 85% 55%;--sidebar-background: 240 5.9% 10%;--sidebar-foreground: 240 4.8% 95.9%;--sidebar-primary: 224.3 76.3% 48%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 240 3.7% 15.9%;--sidebar-accent-foreground: 240 4.8% 95.9%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 217.2 91.2% 59.8%;--chart-primary: 205 85% 55%;--chart-secondary: 175 55% 45%;--chart-success: 152 55% 48%;--chart-warning: 38 92% 50%;--chart-muted: 217.2 32.6% 30%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(10px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-10px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}.animate-slide-down{animation:slideDown .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.bottomNav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:hsl(var(--card));border-top:1px solid hsl(var(--border));padding:var(--spacing-sm) 0;padding-bottom:calc(var(--spacing-sm) + env(safe-area-inset-bottom,0px));z-index:50}.bottomNavItem{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-xs) var(--spacing-md);color:hsl(var(--muted-foreground));border-radius:var(--radius);transition:all .2s ease}.bottomNavItem:hover{color:hsl(var(--foreground))}.bottomNavItem.active{color:hsl(var(--primary))}.bottomNavLabel{font-size:.625rem;font-weight:500}.syncErrorBanner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:hsl(var(--warning) / .1);border-bottom:1px solid hsl(var(--warning) / .3);animation:slideDown .3s ease-out}.syncErrorBanner .bannerText{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:hsl(var(--foreground))}.syncErrorBanner .bannerIcon{flex-shrink:0;width:1rem;height:1rem;color:hsl(var(--warning))}.syncErrorBanner .retryButton{display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0;padding:.25rem .75rem;font-size:.8125rem;font-weight:500;color:hsl(var(--primary));background-color:hsl(var(--primary) / .1);border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background-color .2s ease}.syncErrorBanner .retryButton:hover:not(:disabled){background-color:hsl(var(--primary) / .2)}.syncErrorBanner .retryButton:disabled{opacity:.6;cursor:wait}.syncErrorBanner .retrySpinner{width:.875rem;height:.875rem;animation:spin 1s linear infinite}.toastContainer{position:fixed;bottom:calc(70px + var(--spacing-md));left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm);width:calc(100% - var(--spacing-xl) * 2);max-width:420px;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastSlideIn .25s ease-out}.toast--success{background-color:hsl(var(--success));color:hsl(var(--success-foreground))}.toast--info{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.toast--warning{background-color:hsl(var(--warning));color:hsl(var(--warning-foreground))}.toast--error{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.toastIcon{flex-shrink:0}.toastMessage{flex:1;font-size:.875rem;font-weight:500;line-height:1.4}.toastDismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);opacity:.7;transition:opacity .15s ease;color:inherit}.toastDismiss:hover{opacity:1}@keyframes toastSlideIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.appLayout{display:flex;flex-direction:column;min-height:100dvh;background:hsl(var(--background))}.dashboardSection{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dashboardSectionTitle{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin:0;padding-left:var(--spacing-xs)}.diagnosisSectionEmpty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.diagnosisSectionEmptyIcon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:var(--radius-full)}.diagnosisSectionEmptyText{font-size:.9375rem;color:hsl(var(--muted-foreground));margin:0}.diagnosisSectionEmptyActions{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.diagnosisSectionEmptyButton{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.diagnosisSectionEmptyButton.primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;box-shadow:0 2px 8px hsl(var(--primary) / .3)}.diagnosisSectionEmptyButton.primary:hover{background:hsl(var(--primary) / .9)}.diagnosisSectionEmptyButton.secondary{background:transparent;color:hsl(var(--primary));border:1px solid hsl(var(--primary) / .3)}.diagnosisSectionEmptyButton.secondary:hover{background:hsl(var(--accent))}.diagnosisSectionFilled{background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.diagnosisSectionHeader{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);cursor:pointer;transition:background .2s ease}.diagnosisSectionHeader:hover{background:hsl(var(--accent) / .5)}.diagnosisSectionIcon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:var(--radius);flex-shrink:0}.diagnosisSectionContent{flex:1;min-width:0}.diagnosisSectionLabel{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 var(--spacing-xs) 0;line-height:1.3}.diagnosisSectionMeta{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0}.diagnosisSectionChevron{color:hsl(var(--muted-foreground));flex-shrink:0}.customButton{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;min-width:0;border-radius:var(--radius);border:none;flex:1 1 0;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.customButton:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.customButton:disabled{opacity:.5;cursor:not-allowed}.customButton:active:not(:disabled){transform:scale(.98)}.customButton.primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:var(--shadow-sm)}.customButton.primary:hover:not(:disabled){background-color:hsl(var(--primary) / .9);box-shadow:var(--shadow)}.customButton.secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));box-shadow:var(--shadow-sm)}.customButton.secondary:hover:not(:disabled){background-color:hsl(var(--secondary) / .9);box-shadow:var(--shadow)}.customButton.outlined{background-color:transparent;border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.customButton.outlined:hover:not(:disabled){background-color:hsl(var(--accent));border-color:hsl(var(--accent-foreground) / .2)}.customButton.ghost{background-color:transparent;color:hsl(var(--foreground))}.customButton.ghost:hover:not(:disabled){background-color:hsl(var(--muted))}.customButton.link{background-color:transparent;color:hsl(var(--primary));text-decoration:underline;text-underline-offset:4px}.customButton.link:hover:not(:disabled){color:hsl(var(--primary) / .8)}.customButton.sm{height:2rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;border-radius:var(--radius-sm)}.customButton.md{height:2.75rem;padding-left:1rem;padding-right:1rem;font-size:.9375rem}.customButton.lg{height:3.25rem;padding-left:1.5rem;padding-right:1.5rem;font-size:1rem}.customButton.icon{width:2.5rem;height:2.5rem;padding:0;flex:0 0 auto}.customButton.icon.sm{width:2rem;height:2rem}.customButton.icon.lg{width:3rem;height:3rem}.customButton.loading{cursor:wait}.buttonSpinner{width:1rem;height:1rem;animation:spin 1s linear infinite}.buttonContent{display:inline-flex;align-items:center;gap:.5rem}.buttonContent.hidden{visibility:hidden}.customButtonText.lg{font-size:1.125rem;line-height:1.75rem;font-weight:500}.customButtonText.md{font-size:.9375rem;line-height:1.5rem;font-weight:500}.customButtonText.sm{font-size:.875rem;line-height:1.25rem;font-weight:500}@media(max-width:480px){.customButton.md{padding-left:1rem;padding-right:1rem}.customButton.lg{padding-left:1.25rem;padding-right:1.25rem}}.exerciseLogOverlay{position:fixed;inset:0;background:hsl(var(--foreground) / .5);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:100;animation:fadeIn .2s ease}.exerciseLogModal{background:hsl(var(--card));border-radius:var(--radius-xl);width:100%;max-width:400px;animation:scaleIn .2s ease}.exerciseLogHeader{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid hsl(var(--border))}.exerciseLogTitle{font-size:1.125rem;font-weight:600;margin:0;color:hsl(var(--foreground))}.exerciseLogClose{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:hsl(var(--muted-foreground));border-radius:var(--radius);transition:all .2s ease}.exerciseLogClose:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.exerciseLogContent{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.exerciseLogExerciseName{font-size:.9375rem;font-weight:500;color:hsl(var(--foreground));line-height:1.5}.exerciseLogInputRow{display:flex;gap:var(--spacing-md)}.exerciseLogInputGroup{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.exerciseLogInputGroup label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.exerciseLogInputGroup input[type=number]{padding:var(--spacing-sm) var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));width:100%}.exerciseLogInputGroup input[type=number]:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.exerciseLogNotesSection{display:flex;flex-direction:column;gap:var(--spacing-xs)}.exerciseLogNotesLabel{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.exerciseLogNotesInput{padding:var(--spacing-sm) var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;resize:none;background:hsl(var(--background));color:hsl(var(--foreground))}.exerciseLogNotesInput:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.exerciseLogNotesInput::-moz-placeholder{color:hsl(var(--muted-foreground))}.exerciseLogNotesInput::placeholder{color:hsl(var(--muted-foreground))}.exerciseLogActions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid hsl(var(--border))}.exerciseLogActions>*{flex:1}.treatmentSectionEmpty{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.treatmentSectionEmptyIcon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:var(--radius);flex-shrink:0}.treatmentSectionEmptyText{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.treatmentSectionFilled{background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.treatmentSectionHeader{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background .2s ease}.treatmentSectionHeader:hover{background:hsl(var(--accent) / .5)}.treatmentSectionPhaseInfo{display:flex;flex-direction:column;gap:var(--spacing-xs)}.treatmentSectionPhaseLabel{font-size:.8125rem;font-weight:500;color:hsl(var(--primary))}.treatmentSectionPhaseTitle{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground))}.treatmentSectionChevron{color:hsl(var(--muted-foreground));flex-shrink:0}.treatmentSectionProgress{display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-lg) var(--spacing-md)}.treatmentSectionProgressBar{flex:1;height:8px;background:hsl(var(--muted));border-radius:var(--radius-full);overflow:hidden}.treatmentSectionProgressFill{height:100%;background:hsl(var(--primary));border-radius:var(--radius-full);transition:width .3s ease}.treatmentSectionProgressPercent{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));min-width:36px;text-align:right}.treatmentSectionExercises{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.treatmentSectionExercisesHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.treatmentSectionExercisesTitle{font-size:.8125rem;font-weight:500;color:hsl(var(--muted-foreground))}.treatmentSectionCompletionCount{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.treatmentSectionAllDone{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:hsl(var(--success) / .1);color:hsl(var(--success));border-radius:var(--radius);font-size:.8125rem;font-weight:500;margin-bottom:var(--spacing-sm)}.treatmentSectionExercisesList{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.treatmentSectionExerciseItem{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-xs);border-radius:var(--radius);cursor:pointer;transition:background .15s ease}.treatmentSectionExerciseItem:not(.done):hover{background:hsl(var(--primary) / .06)}.treatmentSectionExerciseItem:not(.done):active{background:hsl(var(--primary) / .12)}.treatmentSectionExerciseItem.done{cursor:default}.treatmentSectionCheckbox{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid hsl(var(--border));border-radius:var(--radius-sm, 4px);flex-shrink:0;margin-top:1px;transition:all .15s ease}.treatmentSectionExerciseItem:not(.done):hover .treatmentSectionCheckbox{border-color:hsl(var(--primary))}.treatmentSectionCheckbox.checked{background:hsl(var(--success));border-color:hsl(var(--success));color:hsl(var(--success-foreground))}.treatmentSectionExerciseText{font-size:.8125rem;color:hsl(var(--foreground));line-height:1.5}.treatmentSectionExerciseText.done{text-decoration:line-through;color:hsl(var(--muted-foreground))}.painLogModalOverlay{position:fixed;inset:0;background:hsl(var(--foreground) / .5);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:100;animation:fadeIn .2s ease}.painLogModal{background:hsl(var(--card));border-radius:var(--radius-xl);width:100%;max-width:400px;animation:scaleIn .2s ease}.painLogModalHeader{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid hsl(var(--border))}.painLogModalTitle{font-size:1.125rem;font-weight:600;margin:0;color:hsl(var(--foreground))}.painLogModalClose{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:hsl(var(--muted-foreground));border-radius:var(--radius);transition:all .2s ease}.painLogModalClose:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.painLogModalContent{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.painLogReference{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:center;padding:var(--spacing-sm) var(--spacing-md);background:hsl(var(--muted) / .5);border-radius:var(--radius)}.painLogReference strong{color:hsl(var(--foreground))}.painLogSliderSection{display:flex;flex-direction:column;gap:var(--spacing-sm)}.painLogSliderLabels{display:flex;justify-content:space-between;font-size:.75rem;color:hsl(var(--muted-foreground))}.painLogSlider{width:100%;height:8px;border-radius:var(--radius-full);background:hsl(var(--muted));-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.painLogSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;box-shadow:var(--shadow-md)}.painLogSlider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:none;box-shadow:var(--shadow-md)}.painLogSliderValue{text-align:center;font-size:2rem;font-weight:700;color:hsl(var(--primary))}.painLogWhenSection{display:flex;flex-direction:column;gap:var(--spacing-xs)}.painLogWhenLabel{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.painLogWhenChips{display:flex;gap:var(--spacing-xs)}.painLogWhenChip{flex:1;padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;font-weight:500;border-radius:var(--radius-full);border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease}.painLogWhenChip:hover{border-color:hsl(var(--primary));color:hsl(var(--foreground))}.painLogWhenChip.selected{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.painLogNotesSection{display:flex;flex-direction:column;gap:var(--spacing-xs)}.painLogNotesLabel{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.painLogNotesInput{padding:var(--spacing-sm) var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;resize:none;background:hsl(var(--background));color:hsl(var(--foreground))}.painLogNotesInput:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.painLogNotesInput::-moz-placeholder{color:hsl(var(--muted-foreground))}.painLogNotesInput::placeholder{color:hsl(var(--muted-foreground))}.painLogModalActions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid hsl(var(--border))}.painLogModalActions>*{flex:1}.progressSectionEmpty{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.progressSectionEmptyIcon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:var(--radius);flex-shrink:0}.progressSectionEmptyText{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.progressSectionFilled{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.progressStats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.progressStatItem{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)}.progressStatIcon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius)}.progressStatIcon.daysIcon{background:hsl(var(--secondary) / .1);color:hsl(var(--secondary))}.progressStatIcon.painIcon{background:hsl(var(--success) / .1);color:hsl(var(--success))}.progressStatContent{display:flex;flex-direction:column;align-items:center;text-align:center}.progressStatValue{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground))}.progressStatLabel{font-size:.6875rem;color:hsl(var(--muted-foreground))}.progressStatTrendImproving{color:hsl(var(--success))}.progressStatTrendWorsening{color:hsl(var(--destructive))}.progressStatTrendStable{color:hsl(var(--muted-foreground))}.progressLogPainButton{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;color:hsl(var(--primary));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.progressLogPainButton:hover{background:hsl(var(--accent))}.welcomeHero{display:flex;flex-direction:column;gap:var(--spacing-md)}.welcomeHeroContent{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl) var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.welcomeHeroIcon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:var(--radius-full)}.welcomeHeroTitle{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));margin:0}.welcomeHeroDescription{font-size:.9375rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.5;max-width:320px}.welcomeHeroSteps{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.welcomeHeroStep{display:flex;align-items:center;gap:var(--spacing-xs)}.welcomeHeroStepNumber{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.welcomeHeroStepLabel{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.welcomeHeroStepArrow{color:hsl(var(--muted-foreground));flex-shrink:0}.welcomeHeroCta{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-xl);background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease;box-shadow:0 2px 8px hsl(var(--primary) / .3)}.welcomeHeroCta:hover{background:hsl(var(--primary) / .9)}.welcomeHeroSecondary{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:transparent;color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.welcomeHeroSecondary:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.dashboardView{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;max-width:800px;margin:0 auto;padding:var(--spacing-md);padding-bottom:calc(70px + var(--spacing-md))}.dashboardHeader{padding:var(--spacing-sm) 0}.dashboardTitle{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin:0}.backButton{display:flex;align-items:center;gap:var(--spacing-xs);color:hsl(var(--muted-foreground));font-size:.875rem;padding:var(--spacing-xs);margin:calc(var(--spacing-xs) * -1);border-radius:var(--radius);transition:color .2s ease}.backButton:hover{color:hsl(var(--foreground))}.pageHeader{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:800px;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:hsl(var(--background));z-index:10}.pageHeaderRight{font-size:.875rem;color:hsl(var(--muted-foreground))}.fixedBottomBar{position:fixed;bottom:70px;left:0;right:0;display:flex;justify-content:center;padding:var(--spacing-md);background:hsl(var(--background));border-top:1px solid hsl(var(--border));z-index:10}.flowPageLayout{display:flex;flex-direction:column;width:100%;max-width:800px;margin:0 auto;padding:var(--spacing-md);padding-top:calc(44px + var(--spacing-lg));padding-bottom:calc(70px + var(--spacing-md));gap:var(--spacing-md)}.flowPageContent{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeletonBlock{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--muted) / .5),hsl(var(--muted)) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius)}.skeletonPage{display:flex;flex-direction:column;min-height:100dvh;padding:var(--spacing-xl) var(--spacing-lg);gap:var(--spacing-lg);max-width:800px;margin:0 auto;width:100%}.skeletonHeader{height:2rem;width:40%;border-radius:var(--radius)}.skeletonLine{height:1rem;border-radius:var(--radius-sm)}.skeletonLine.short{width:60%}.skeletonLine.medium{width:80%}.skeletonLine.full{width:100%}.skeletonCard{border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);background:hsl(var(--card));box-shadow:var(--shadow-sm)}.skeletonCard .skeletonBlock{height:1rem}.skeletonCard .skeletonBlock:first-child{height:1.25rem;width:50%}.skeletonResultContent{display:flex;flex-direction:column;gap:var(--spacing-lg)}.skeletonResultTop{background:#effbf5;border:1px solid hsl(152 60% 85%);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.skeletonResultTop .skeletonBlock{background:linear-gradient(90deg,#cef3e2 25%,#def7eb,#cef3e2 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeletonResultHeader{display:flex;align-items:center;gap:var(--spacing-md)}.skeletonCircle{width:1.5rem;height:1.5rem;border-radius:var(--radius-full);flex-shrink:0}.skeletonResultTitle{height:1.25rem;flex:1}.skeletonBadge{width:4rem;height:1.5rem;border-radius:var(--radius-full)}.skeletonResultDesc{height:.875rem}.resultAlert{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background:#fef1f1;border:1px solid hsl(0 72% 90%);border-radius:var(--radius-lg)}.resultAlertIcon{flex-shrink:0;color:#dc2828}.resultAlertContent{flex:1}.resultAlertTitle{font-size:1rem;font-weight:600;color:#9a1919;margin:0 0 var(--spacing-sm) 0}.resultAlertText{font-size:.875rem;color:#933;margin:0;line-height:1.5}.resultAlertText+.resultAlertText{margin-top:var(--spacing-sm)}.resultTopDiagnosis{background:#effbf5;border:1px solid hsl(152 60% 85%);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.resultTopHeader{display:flex;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap}.resultTopIcon{flex-shrink:0;color:#2bab6f}.resultTopInfo{flex:1;min-width:0}.resultTopLabel{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#248f5d}.resultTopTitle{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:var(--spacing-xs) 0 0 0}.resultTopDescription{font-size:.875rem;color:hsl(var(--muted-foreground));margin:var(--spacing-md) 0 0 0;line-height:1.5}.resultBadge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;flex-shrink:0}.resultBadge.small{font-size:.6875rem;padding:2px var(--spacing-xs)}.resultBadge.high{background:#d6f5e7;color:#1f7a50}.resultBadge.mediumHigh{background:#d5f6f3;color:#1b7e76}.resultBadge.medium{background:#fdecce;color:#986a1b}.resultBadge.low,.resultBadge.uncertain{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.resultFetchError{background:#fef9f0;border:1px solid hsl(38 92% 85%);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.resultFetchErrorContent{display:flex;gap:var(--spacing-sm)}.resultFetchErrorIcon{flex-shrink:0;color:#cf8b17}.resultFetchErrorText{flex:1}.resultFetchErrorTitle{font-size:.9375rem;font-weight:600;color:#825b17;margin:0 0 var(--spacing-xs) 0}.resultFetchErrorMessage{font-size:.8125rem;color:#997433;margin:0;line-height:1.5}.resultFetchError .customButton{align-self:flex-start}.resultIncompleteNotice{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fef5e7;border:1px solid hsl(38 92% 82%);border-radius:var(--radius-lg);color:#825b17;font-size:.8125rem;line-height:1.5}.resultIncompleteNotice svg{flex-shrink:0;margin-top:2px}.resultIncompleteNotice strong{display:block;font-size:.875rem;margin-bottom:var(--spacing-xs)}.resultIncompleteNotice p{margin:0}.resultDetailCard{background:hsl(var(--card));border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.resultDetailLabel{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin:0 0 var(--spacing-sm) 0}.resultDetailText{font-size:.875rem;color:hsl(var(--foreground));margin:0;line-height:1.6}.resultAltSection{background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.resultAltSummary{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);cursor:pointer;font-size:.9375rem;font-weight:500;color:hsl(var(--foreground));list-style:none}.resultAltSummary::-webkit-details-marker{display:none}.resultAltChevron{color:hsl(var(--muted-foreground));transition:transform .2s ease}.resultAltSection[open] .resultAltChevron{transform:rotate(180deg)}.resultAltList{padding:0 var(--spacing-md) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.resultAltCard{background:hsl(var(--background));border-radius:var(--radius);padding:var(--spacing-md)}.resultAltHeader{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-xs)}.resultAltIndex{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground))}.resultAltTitle{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));flex:1}.resultAltDescription{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.5}.notFoundContainer{background-color:hsl(var(--muted));justify-content:center;align-items:center;min-height:100vh;display:flex}.notFoundTextContainer{text-align:center}.notFoundHeader{font-weight:700;font-size:2.25rem;line-height:2.5rem;margin-bottom:1rem}.notFoundDescription{color:hsl(var(--muted-foreground));font-size:1.25rem;line-height:1.75rem;margin-bottom:1rem}.notFoundLink{text-decoration:underline;color:hsl(var(--primary))}.notFoundLink:hover{color:hsl(var(--primary) / .9)}.chatMessageWrapper{display:flex;margin-bottom:var(--spacing-sm);animation:slideUp .2s ease-out}.chatMessageWrapper.user{justify-content:flex-end}.chatMessageWrapper.assistant{justify-content:flex-start}.chatMessage{max-width:85%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);word-wrap:break-word}.chatMessage.user{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-bottom-right-radius:var(--radius-sm)}.chatMessage.assistant{background-color:hsl(var(--card));color:hsl(var(--card-foreground));border-bottom-left-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.chatMessageText{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.chatInputWrapper{display:flex;flex-direction:column}.chatInputForm{display:flex;gap:var(--spacing-sm);align-items:flex-end;padding:var(--spacing-sm) var(--spacing-md);background-color:hsl(var(--background));border-top:1px solid hsl(var(--border))}.chatInputTextarea{flex:1;min-height:44px;max-height:120px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card));color:hsl(var(--foreground));font-size:.9375rem;line-height:1.5;resize:none;outline:none;transition:border-color .2s ease}.chatInputTextarea:focus{border-color:hsl(var(--ring))}.chatInputTextarea:disabled{opacity:.5;cursor:not-allowed}.chatInputTextarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.chatInputTextarea::placeholder{color:hsl(var(--muted-foreground))}.chatInputRecording{background-color:hsl(var(--destructive))!important;animation:pulse-recording 1.5s ease-in-out infinite}.chatInputError{padding:0 var(--spacing-md) var(--spacing-sm);margin:0;font-size:.8125rem;color:hsl(var(--destructive))}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.6}}.chatErrorCard{background-color:#fef9f0;border:1px solid hsl(38 92% 85%);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);animation:slideUp .2s ease-out;display:flex;flex-direction:column;gap:var(--spacing-md)}.chatErrorCardContent{display:flex;gap:var(--spacing-sm)}.chatErrorCardIcon{flex-shrink:0;color:#cf8b17}.chatErrorCardText{flex:1}.chatErrorCardTitle{font-size:.9375rem;font-weight:600;color:#825b17;margin:0 0 var(--spacing-xs) 0}.chatErrorCardMessage{font-size:.8125rem;color:#997433;margin:0;line-height:1.5}.chatErrorCard .customButton{align-self:flex-start}.typingIndicatorWrapper{display:flex;justify-content:flex-start;margin-bottom:var(--spacing-sm)}.typingIndicator{display:flex;align-items:center;gap:4px;padding:var(--spacing-sm) var(--spacing-md);background-color:hsl(var(--card));border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.typingDot{width:8px;height:8px;background-color:hsl(var(--muted-foreground));border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.typingDot:nth-child(1){animation-delay:-.32s}.typingDot:nth-child(2){animation-delay:-.16s}.typingDot:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.companionTrigger{position:fixed;bottom:calc(70px + env(safe-area-inset-bottom,0px) + var(--spacing-sm));left:50%;transform:translate(-50%);width:calc(100% - 2 * var(--spacing-md));max-width:400px;z-index:40;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-md);background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius);cursor:pointer;box-shadow:0 2px 8px hsl(var(--primary) / .3);transition:opacity .15s ease}.companionTrigger:hover{opacity:.9}.companionTriggerIcon{color:hsl(var(--primary-foreground));flex-shrink:0}.companionTriggerLabel{font-size:.875rem;color:hsl(var(--primary-foreground))}.companionBackdrop{position:fixed;inset:0;z-index:55;background:#0006;opacity:0;pointer-events:none;transition:opacity .3s ease}.companionBackdrop.open{opacity:1;pointer-events:auto}.companionPanel{position:fixed;bottom:calc(70px + env(safe-area-inset-bottom,0px));left:50%;z-index:60;width:100%;max-width:800px;height:calc(85dvh - 70px);max-height:calc(100dvh - 70px - env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;background:hsl(var(--background));border-radius:var(--radius-lg, 16px);overflow:hidden;box-shadow:0 -4px 20px #00000026;transform:translate(-50%,100%);opacity:0;transition:transform .3s ease,opacity .15s ease,visibility 0s .3s;visibility:hidden;pointer-events:none}.companionPanel.open{transform:translate(-50%);opacity:1;transition:transform .3s ease,opacity .15s .1s ease,visibility 0s 0s;visibility:visible;pointer-events:auto}.companionSheetHeader{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid hsl(var(--border));flex-shrink:0}.companionSheetTitle{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.companionSheetActions{display:flex;align-items:center;gap:var(--spacing-xs)}.companionSheetBtn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius);color:hsl(var(--muted-foreground));transition:all .2s ease}.companionSheetBtn:hover{color:hsl(var(--foreground));background:hsl(var(--muted))}.companionSheetMessages{flex:1;overflow-y:auto;padding:var(--spacing-md);min-height:0}.companionSheetMessageList{display:flex;flex-direction:column}.companionSheetSuggestions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm);animation:companionSlideUp .2s ease-out}.companionSheetSuggestionBtn{font-size:.8125rem!important;white-space:nowrap}@keyframes companionSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.companionSheetFooter{flex-shrink:0;border-top:1px solid hsl(var(--border))}.treatmentPage.flowPageLayout,.treatmentContent.flowPageContent{gap:var(--spacing-lg)}.treatmentDiagnosis{background:hsl(var(--primary) / .05);border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.treatmentDiagnosisLabel{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--primary))}.treatmentDiagnosisTitle{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:var(--spacing-xs) 0 0 0}.treatmentSection{display:flex;flex-direction:column;gap:var(--spacing-sm)}.treatmentSectionTitle{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.treatmentCard{background:hsl(var(--card));border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.treatmentList{margin:0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.treatmentListItem{font-size:.9375rem;color:hsl(var(--foreground));line-height:1.5}.treatmentPhases{display:flex;flex-direction:column;gap:var(--spacing-sm)}.treatmentPhaseCard{background:hsl(var(--card));border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.treatmentPhaseHeader{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.treatmentPhaseNumber{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius-full);font-size:.75rem;font-weight:600;flex-shrink:0}.treatmentPhaseTitle{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));margin:0}.treatmentPhaseItems{margin:0;padding-left:calc(24px + var(--spacing-sm) + var(--spacing-md));display:flex;flex-direction:column;gap:var(--spacing-xs)}.treatmentPhaseItem{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5}.treatmentExternalLink{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:hsl(var(--accent));color:hsl(var(--primary));border-radius:var(--radius);font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .2s ease}.treatmentExternalLink:hover{background:hsl(var(--primary) / .15)}.card{background:hsl(var(--card));color:hsl(var(--card-foreground));padding:2rem;width:100%;max-width:42rem;border-radius:var(--radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1)}.card.flat{border:1px solid hsl(var(--border));box-shadow:none}.card.raised{border:1px solid hsl(var(--border) / .5);box-shadow:var(--shadow-md)}.card.floating{border:none;box-shadow:var(--shadow-lg)}.card.floating:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card.animate{animation:slideUp .3s ease-out}.card.xs>*+*{margin-top:.5rem}.card.sm>*+*{margin-top:1rem}.card.lg>*+*{margin-top:3.5rem}.card.grid{display:grid;grid-template-rows:auto 1fr auto;grid-template-areas:"questionTracker" "main" "navButtons";min-height:min(35rem,80vh);gap:1rem}@media(min-width:768px){.card{padding:3rem}}.cardSection.xs>*+*{margin-top:.25rem}.cardSection.sm>*+*{margin-top:.5rem}.cardSection.md>*+*{margin-top:1rem}.cardSection.lg>*+*{margin-top:1.5rem}.titleH12{color:hsl(var(--foreground));font-size:1.875rem;line-height:2.25rem;font-weight:700}.titleH2{color:hsl(var(--foreground));font-size:1.5rem;line-height:2rem;font-weight:600}.subHeader{color:hsl(var(--muted-foreground));font-size:1.125rem;max-width:36rem;margin-left:auto;margin-right:auto}@media(min-width:768px){.titleH12{font-size:2.25rem;line-height:2.5rem}.titleH2{font-size:1.875rem;line-height:2.25rem}}.diagnosisList{display:flex;flex-direction:column;gap:var(--spacing-sm)}.diagnosisListItem{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background:hsl(var(--muted));border:2px solid hsl(var(--border));border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:all .2s ease}.diagnosisListItem:hover{background:hsl(var(--accent));border-color:hsl(var(--primary) / .3)}.diagnosisListItem.selected{background:hsl(var(--primary) / .05);border-color:hsl(var(--primary))}.diagnosisListItemContent{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.diagnosisListItemLabel{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground))}.diagnosisListItemDescription{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.4}.diagnosisListItemCheck{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius-full);flex-shrink:0}.addDiagnosisLayout{min-height:100dvh;display:flex;align-items:center;justify-content:center;background-color:hsl(var(--background));padding:.5rem}.bodyPartOptions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.bodyPartOption{padding:var(--spacing-lg);background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);text-align:left;font-size:1rem;font-weight:500;color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease}.bodyPartOption:hover{background:hsl(var(--accent));border-color:hsl(var(--primary))}.confirmSelectedDiagnosis{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.confirmSelectedLabel{font-size:.8125rem;color:hsl(var(--muted-foreground))}.confirmSelectedValue{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.confirmWarning{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .3);border-radius:var(--radius)}.confirmWarningIcon{color:hsl(var(--warning));flex-shrink:0;margin-top:2px}.confirmWarningText{font-size:.875rem;color:hsl(var(--foreground));margin:0;line-height:1.5}.confirmCheckbox{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all .2s ease;text-align:left}.confirmCheckbox:hover{background:hsl(var(--muted))}.confirmCheckbox.checked{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary))}.confirmCheckboxBox{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:var(--radius-sm);flex-shrink:0;transition:all .2s ease}.confirmCheckbox.checked .confirmCheckboxBox{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.confirmCheckboxLabel{font-size:.875rem;color:hsl(var(--foreground));line-height:1.5}.confirmSelectLabel{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:var(--spacing-sm)}.confirmSelectOptions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.confirmSelectOption{padding:var(--spacing-md);background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;font-weight:500;color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease}.confirmSelectOption:hover{background:hsl(var(--muted))}.confirmSelectOption.selected{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary));color:hsl(var(--primary))}.diagnosisLoading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl);color:hsl(var(--muted-foreground));font-size:.875rem}.diagnosisLoadingSpinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tabPage{flex:1}.tabPageContent{max-width:800px;margin:0 auto;padding:var(--spacing-md);padding-bottom:calc(70px + 52px + var(--spacing-md))}.tabPageHeader{margin-bottom:var(--spacing-lg)}.tabPageTitle{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 var(--spacing-xs) 0}.tabPageSubtitle{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.emptyState{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl) var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);text-align:center}.emptyStateIcon{color:hsl(var(--muted-foreground))}.emptyStateText{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5;margin:0}.progressSection{margin-bottom:var(--spacing-xl)}.progressSectionHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.progressSectionHeader .progressSectionTitle{margin:0}.progressSectionTitle{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 var(--spacing-md) 0}.progressPainLogButton{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;font-weight:500;color:hsl(var(--primary));background:hsl(var(--primary) / .1);border-radius:var(--radius-full);cursor:pointer;transition:background .15s ease}.progressPainLogButton:hover{background:hsl(var(--primary) / .2)}.progressStatsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.progressStatCard{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg) var(--spacing-sm);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.progressStatIcon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius)}.progressStatIcon.streakIcon{background:#f59f0a1a;color:#f59f0a}.progressStatIcon.weekIcon{background:hsl(var(--success) / .1);color:hsl(var(--success))}.progressStatIcon.phaseIcon{background:hsl(var(--secondary) / .1);color:hsl(var(--secondary))}.progressStatValue{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground))}.progressStatLabel{font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center}.painTrendCard{padding:var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.painTrendHeader{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.painTrendLabel{font-size:1rem;font-weight:500;color:hsl(var(--foreground))}.painTrendCurrent{display:flex;align-items:center;gap:var(--spacing-sm)}.painTrendCurrentLabel{font-size:.875rem;color:hsl(var(--muted-foreground))}.painTrendCurrentValue{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.trendImproving{color:hsl(var(--success))}.trendWorsening{color:hsl(var(--destructive))}.trendStable{color:hsl(var(--muted-foreground))}.painHistoryList{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.painHistoryItem{display:flex;align-items:center;gap:var(--spacing-md)}.painHistoryDate{width:60px;font-size:.75rem;color:hsl(var(--muted-foreground));flex-shrink:0}.painHistoryBar{flex:1;height:8px;background:hsl(var(--muted));border-radius:var(--radius-full);overflow:hidden}.painHistoryBarFill{height:100%;background:hsl(var(--primary));border-radius:var(--radius-full);transition:width .3s ease}.painHistoryValue{width:24px;font-size:.875rem;font-weight:600;color:hsl(var(--foreground));text-align:right}.progressWeekOverview{padding:var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.progressWeekDays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs)}.progressWeekDay{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-height:60px}.progressWeekDayLabel{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.progressWeekDayDot{width:10px;height:10px;border-radius:var(--radius-full);border:2px solid hsl(var(--primary));background:transparent}.progressWeekDayDot.active{background:hsl(var(--primary))}.progressWeekDayDot.future{border-color:hsl(var(--muted));background:transparent}.progressWeekDayCount{font-size:.7rem;font-weight:600;color:hsl(var(--foreground))}.settingsSection{margin-bottom:var(--spacing-xl)}.settingsSectionTitle{font-size:.875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-sm) 0}.settingsSectionTitleDanger{color:hsl(var(--destructive))}.settingsSectionTitleDev{display:flex;align-items:center;gap:var(--spacing-xs);color:#2662d9}.settingsCard{background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.settingsCardDanger{border:1px solid hsl(var(--destructive) / .2);padding:var(--spacing-md)}.settingsInfoItem{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid hsl(var(--border))}.settingsInfoItem:last-child{border-bottom:none}.settingsInfoLabel{font-size:.9375rem;color:hsl(var(--foreground))}.settingsInfoValue{font-size:.875rem;color:hsl(var(--muted-foreground))}.settingsLogoutItem{padding:var(--spacing-md) var(--spacing-lg)}.settingsDangerText{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5;margin:0 0 var(--spacing-md) 0}.settingsConfirmReset{display:flex;flex-direction:column;gap:var(--spacing-md)}.settingsConfirmWarning{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));border-radius:var(--radius);font-size:.875rem}.settingsConfirmButtons{display:flex;gap:var(--spacing-sm)}.settingsConfirmButtons>*{flex:1}.settingsDevScenario{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.settingsDevDescription{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.5}.settingsDevSelect{display:flex;flex-direction:column;gap:var(--spacing-xs)}.settingsDevLabel{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.settingsDevSelectInput{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:.9375rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.settingsDevSelectInput:focus{outline:none;border-color:hsl(var(--primary))}.settingsDevScenarioDesc{font-size:.8125rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted));padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);margin:0;line-height:1.4}.exercisesPhaseNav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.exercisesPhaseLabel{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground))}.exercisesAdvanceBtn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);color:hsl(var(--primary));font-size:.875rem;font-weight:500;border-radius:var(--radius);transition:all .2s ease}.exercisesAdvanceBtn:hover{background:hsl(var(--primary) / .1)}.exercisesReadiness{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid hsl(var(--border))}.exercisesReadinessTitle{display:block;font-size:.8rem;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.03em}.exercisesReadinessCriteria{display:flex;flex-direction:column;gap:var(--spacing-xs)}.exercisesReadinessItem{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.85rem;color:hsl(var(--muted-foreground))}.exercisesReadinessItem.met{color:hsl(var(--success))}.exercisesPhasesContainer{display:flex;flex-direction:column;gap:var(--spacing-md)}.exercisesPhaseCard{padding:var(--spacing-lg);background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:2px solid transparent;transition:all .2s ease}.exercisesPhaseCard.current{border-color:hsl(var(--primary))}.exercisesPhaseCard.past{opacity:.7}.exercisesPhaseCard.future{opacity:.5}.exercisesPhaseHeader{display:flex;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.exercisesPhaseIndicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:var(--radius-full);font-size:.875rem;font-weight:600;flex-shrink:0}.exercisesPhaseIndicator.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.exercisesPhaseIndicator.completed{background:hsl(var(--success));color:hsl(var(--success-foreground))}.exercisesPhaseInfo{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.exercisesPhaseTitle{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));margin:0;line-height:1.3}.exercisesPhaseBadge{display:inline-block;padding:2px 8px;background:hsl(var(--primary) / .1);color:hsl(var(--primary));font-size:.75rem;font-weight:500;border-radius:var(--radius-full);width:-moz-fit-content;width:fit-content}.exercisesPhaseBadgeCompleted{display:inline-block;padding:2px 8px;background:hsl(var(--success) / .1);color:hsl(var(--success));font-size:.75rem;font-weight:500;border-radius:var(--radius-full);width:-moz-fit-content;width:fit-content}.exercisesPhaseItems{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.exercisesPhaseItem{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.exercisesPhaseItemBullet{width:6px;height:6px;background:hsl(var(--primary) / .5);border-radius:var(--radius-full);flex-shrink:0;margin-top:7px}.exercisesPhaseCard.current .exercisesPhaseItemBullet{background:hsl(var(--primary))}.exercisesPhaseItemText{font-size:.875rem;color:hsl(var(--foreground));line-height:1.5}.exercisesPhaseItemText.done{text-decoration:line-through;color:hsl(var(--muted-foreground))}.exercisesPhaseItem.interactive{cursor:pointer;padding:var(--spacing-sm) var(--spacing-sm);margin:0 calc(-1 * var(--spacing-sm));border-radius:var(--radius);transition:background .15s ease}.exercisesPhaseItem.interactive:not(.done):hover{background:hsl(var(--primary) / .06)}.exercisesPhaseItem.interactive:not(.done):active{background:hsl(var(--primary) / .12)}.exercisesCheckbox{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid hsl(var(--border));border-radius:var(--radius-sm, 4px);flex-shrink:0;margin-top:1px;transition:all .15s ease}.exercisesPhaseItem.interactive:not(.done):hover .exercisesCheckbox{border-color:hsl(var(--primary))}.exercisesCheckbox.checked{background:hsl(var(--success));border-color:hsl(var(--success));color:hsl(var(--success-foreground))}.exercisesAllDoneBanner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:hsl(var(--success) / .1);color:hsl(var(--success));border-radius:var(--radius);font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-lg)}.preAssessmentPage{min-height:100vh;display:flex;flex-direction:column;background:hsl(var(--background))}.preAssessmentHeader{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;padding:var(--spacing-md);background:hsl(var(--background));z-index:10}.preAssessmentContent{flex:1;display:flex;flex-direction:column;padding:var(--spacing-xl);padding-top:calc(44px + var(--spacing-2xl));padding-bottom:calc(70px + var(--spacing-xl));max-width:500px;margin:0 auto;width:100%}.preAssessmentTitle{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:var(--spacing-sm);animation:slideUp .3s ease-out}.preAssessmentSubtitle{font-size:1rem;color:hsl(var(--muted-foreground));line-height:1.6;margin-bottom:var(--spacing-2xl);animation:slideUp .3s ease-out .1s both}.preAssessmentFeatures{display:flex;flex-direction:column;gap:var(--spacing-lg);animation:slideUp .3s ease-out .2s both}.preAssessmentFeature{display:flex;gap:var(--spacing-md);align-items:flex-start}.preAssessmentFeatureIcon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius);background:hsl(var(--primary) / .1);color:hsl(var(--primary));flex-shrink:0}.preAssessmentFeatureText{display:flex;flex-direction:column;gap:var(--spacing-xs)}.preAssessmentFeatureText h3{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground))}.preAssessmentFeatureText p{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5}.preAssessmentButton{width:100%;max-width:500px}.onboardingPage{min-height:100vh;display:flex;flex-direction:column;background:hsl(var(--background))}.onboardingContent{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);padding-top:calc(44px + var(--spacing-xl));padding-bottom:calc(70px + var(--spacing-xl));max-width:500px;margin:0 auto;width:100%}.welcomeStep{justify-content:center;text-align:center;padding-top:var(--spacing-3xl)}.welcomeIcon{margin-bottom:var(--spacing-xl);animation:scaleIn .4s ease-out}.welcomeTitle{font-size:1.75rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:var(--spacing-sm);animation:slideUp .4s ease-out .1s both}.welcomeSubtitle{font-size:1rem;color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-2xl);animation:slideUp .4s ease-out .2s both}.welcomeFeatures{list-style:none;text-align:left;width:100%;animation:slideUp .4s ease-out .3s both}.welcomeFeatures li{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) 0;font-size:1rem;color:hsl(var(--foreground))}.featureIcon{color:hsl(var(--success));font-weight:700;flex-shrink:0}.nameStep{padding-top:calc(44px + var(--spacing-2xl))}.stepTitle{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:var(--spacing-sm);text-align:center;animation:slideUp .3s ease-out}.stepSubtitle{font-size:.9375rem;color:hsl(var(--muted-foreground));text-align:center;margin-bottom:var(--spacing-xl);animation:slideUp .3s ease-out .1s both}.nameInput{width:100%;padding:var(--spacing-md);font-size:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease,box-shadow .2s ease;animation:slideUp .3s ease-out .2s both}.nameInput:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.nameInput::-moz-placeholder{color:hsl(var(--muted-foreground))}.nameInput::placeholder{color:hsl(var(--muted-foreground))}.ageStep{padding-top:calc(44px + var(--spacing-2xl))}.ageOptions{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;margin-bottom:var(--spacing-lg);animation:slideUp .3s ease-out .2s both}.ageOption{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:500;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease}.ageOption:hover{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.ageOption.selected{border-color:hsl(var(--primary));background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.skipLink{font-size:.875rem;color:hsl(var(--muted-foreground));text-decoration:underline;cursor:pointer;background:none;border:none;padding:var(--spacing-sm);animation:slideUp .3s ease-out .3s both}.skipLink:hover{color:hsl(var(--foreground))}.fullWidthButton{width:100%;max-width:500px}.onboardingPage .fixedBottomBar{bottom:0}.physicalTestCard{background-color:hsl(var(--accent));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);animation:slideUp .2s ease-out}.physicalTestHeader{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.physicalTestQuestion{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.physicalTestBadge{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.physicalTestInstructions{font-size:.9375rem;line-height:1.6;color:hsl(var(--foreground));margin-bottom:var(--spacing-md);white-space:pre-wrap}.physicalTestButtons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.physicalTestButtons .customButton{flex:0 1 auto;width:auto;min-width:80px}.selectCard{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.selectCard--answered{padding:var(--spacing-md);gap:var(--spacing-sm);opacity:.85}.selectCardHeader{display:flex;flex-direction:column;gap:var(--spacing-xs)}.selectCard--answered .selectCardHeader{display:none}.selectCardQuestion{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.selectCardDescription{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.5}.selectCardOptions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.selectCard--answered .selectCardOptions{gap:var(--spacing-xs)}.selectCardOption{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all .15s ease;text-align:left}.selectCardOption:hover:not(:disabled){background:hsl(var(--muted));border-color:hsl(var(--primary) / .5)}.selectCardOption--selected{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary))}.selectCardOption--disabled{cursor:default;padding:var(--spacing-sm) var(--spacing-md)}.selectCardOption--disabled:not(.selectCardOption--selected){opacity:.4}.selectCardOption--disabled.selectCardOption--selected{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .5)}.selectCardCheckbox{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:hsl(var(--background));border:2px solid hsl(var(--border));border-radius:var(--radius-sm);flex-shrink:0;transition:all .15s ease}.selectCardCheckbox--checked{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.selectCardCheckIcon{flex-shrink:0;color:hsl(var(--primary))}.selectCardOptionLabel{font-size:.9375rem;color:hsl(var(--foreground));font-weight:500}.chatResultCard{background-color:hsl(var(--accent));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);animation:slideUp .2s ease-out;display:flex;flex-direction:column;gap:var(--spacing-md)}.chatResultCard--redFlag{background:#fef1f1;border-color:#f8d3d3}.chatResultCardHeader{display:flex;align-items:center}.chatResultCardBadge{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#d6f5e7;color:#1f7a50;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.chatResultCardBadge--redFlag{background-color:#f8d3d3;color:#9a1919}.chatResultCardAlert{display:flex;gap:var(--spacing-sm)}.chatResultCardAlertIcon{flex-shrink:0;color:#dc2828}.chatResultCardAlertContent{flex:1}.chatResultCardAlertTitle{font-size:.9375rem;font-weight:600;color:#9a1919;margin:0 0 var(--spacing-xs) 0}.chatResultCardAlertText{font-size:.8125rem;color:#933;margin:0;line-height:1.5}.chatResultCard--redFlag .customButton{width:auto;flex:0 0 auto;align-self:flex-start;margin-top:var(--spacing-xs)}.chatResultCardDiagnosis{background:#effbf5;border:1px solid hsl(152 60% 85%);border-radius:var(--radius);padding:var(--spacing-md)}.chatResultCardDiagnosisHeader{display:flex;align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap}.chatResultCardIcon{flex-shrink:0;color:#2bab6f}.chatResultCardInfo{flex:1;min-width:0}.chatResultCardLabel{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#248f5d}.chatResultCardTitle{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:var(--spacing-xs) 0 0 0}.chatResultCardDescription{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:var(--spacing-sm) 0 0 0;line-height:1.5}.chatResultCardConfidence{display:inline-flex;align-items:center;padding:2px var(--spacing-xs);border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;flex-shrink:0}.chatResultCardConfidence--high{background:#d6f5e7;color:#1f7a50}.chatResultCardConfidence--mediumHigh{background:#d5f6f3;color:#1b7e76}.chatResultCardConfidence--medium{background:#fdecce;color:#986a1b}.chatResultCardConfidence--low,.chatResultCardConfidence--uncertain{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.chatResultCardIncomplete{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:#fdf0d8;color:#986a1b;border-radius:var(--radius);font-size:.75rem;font-weight:500;line-height:1.4}.chatIntakePage{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:800px;margin:0 auto;background-color:hsl(var(--background))}.chatIntakeHeader{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid hsl(var(--border));background-color:hsl(var(--background));flex-shrink:0}.chatIntakeTitle{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.chatIntakeHeaderSpacer{width:40px}.chatIntakeProgressBar{height:3px;background:hsl(var(--muted));flex-shrink:0}.chatIntakeProgressFill{height:100%;background:hsl(var(--primary));border-radius:0 var(--radius-full) var(--radius-full) 0;transition:width .4s ease}.chatIntakeMessages{flex:1;overflow-y:auto;padding:var(--spacing-md);padding-bottom:var(--spacing-lg)}.chatMessageList{display:flex;flex-direction:column}.chatIntakeFooter{flex-shrink:0;padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.chatResumePrompt{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--spacing-md)}.chatResumeCard{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);max-width:400px;width:100%;text-align:center}.chatResumeText{color:hsl(var(--foreground));font-size:.938rem;line-height:1.5;margin-bottom:var(--spacing-lg)}.chatResumeActions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.chatResumeButton{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s ease}.chatResumeButton:active{opacity:.8}.chatResumeButtonPrimary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none}.chatResumeButtonSecondary{background-color:transparent;color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}@supports (padding-bottom: env(safe-area-inset-bottom)){.chatIntakeFooter{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}}.loginPage{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:var(--spacing-md);background:hsl(var(--background))}.loginContainer{width:100%;max-width:400px}.loginHeader{text-align:center;margin-bottom:var(--spacing-xl)}.loginTitle{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 var(--spacing-sm) 0}.loginSubtitle{font-size:.9375rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.5}.loginForm{display:flex;flex-direction:column;gap:var(--spacing-md)}.loginField{display:flex;flex-direction:column;gap:var(--spacing-xs)}.loginLabel{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.loginInput{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease;box-sizing:border-box}.loginInput:focus{border-color:hsl(var(--primary))}.loginInput::-moz-placeholder{color:hsl(var(--muted-foreground))}.loginInput::placeholder{color:hsl(var(--muted-foreground))}.loginError{font-size:.875rem;color:hsl(var(--destructive));background:hsl(var(--destructive) / .1);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);line-height:1.4}
