@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-sky-50:#f0f9ff;--color-sky-200:#b8e6fe;--color-slate-800:#1d293d;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--application-font,"Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-sky-50:lab(97.3623% -2.33802 -4.13098);--color-sky-200:lab(88.6983% -11.3978 -16.8488);--color-slate-800:lab(16.132% -.318035 -14.6672)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-4{right:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-5{margin:calc(var(--spacing) * 5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 5px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--input)}.border-sky-200{border-color:var(--color-sky-200)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-button-background{background-color:var(--button-background)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-overlay\/50{background-color:var(--overlay)}@supports (color:color-mix(in lab, red, red)){.bg-overlay\/50{background-color:color-mix(in oklab, var(--overlay) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-secondary{background-color:var(--secondary)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-transparent{background-color:#0000}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-button-foreground{color:var(--button-foreground)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-slate-800{color:var(--color-slate-800)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-foreground{accent-color:var(--foreground)}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-button-background\/90:hover{background-color:var(--button-background)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-button-background\/90:hover{background-color:color-mix(in oklab, var(--button-background) 90%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-muted-foreground{color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:text-foreground:hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.data-shimmer{background:var(--muted-foreground);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.data-shimmer{background:color-mix(in srgb, var(--muted-foreground) 14%, var(--background))}}.data-shimmer{isolation:isolate}.data-shimmer:after{content:"";background:linear-gradient(90deg, transparent, var(--foreground), transparent);position:absolute;inset:0;transform:translate(-100%)}@supports (color:color-mix(in lab, red, red)){.data-shimmer:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--foreground) 9%, transparent), transparent)}}.data-shimmer:after{animation:1.6s ease-in-out infinite field-shimmer}@keyframes field-shimmer{to{transform:translate(100%)}}.loading-field{vertical-align:middle;width:8rem;min-width:1.5rem;max-width:100%;line-height:1;display:inline-block}.loading-field>.data-shimmer{border-radius:5px;width:100%;height:1em;min-height:12px;display:block}button .loading-field{width:3rem}.content-loading{gap:18px;width:100%;min-width:0;padding-block:12px;display:grid}.content-loading-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.loading-content-section{align-content:start;gap:14px;min-width:0;display:grid}.content-loading-cards .loading-content-section,.loading-budget{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:20px}.loading-label{width:40%;height:16px}.loading-line{width:100%;height:18px}.loading-short{width:65%}.loading-input{width:100%;height:44px}.loading-chart{width:100%;height:198px}.loading-table{gap:0;display:grid}.loading-table-row{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:20px 12px;display:grid}.loading-table-row>div{overflow-wrap:anywhere;min-width:0}.meal-day-loading{gap:16px;width:100%;min-width:0;display:grid}.loading-budget-fields{grid-template-columns:auto 1fr 1fr;align-items:center;gap:24px;margin-top:16px;display:grid}.loading-budget-fields>div{min-width:0}.loading-ring{border-radius:50%;width:104px;height:104px}.loading-number{width:80%;height:32px;margin-top:12px}@media (max-width:480px){.loading-budget-fields{grid-template-columns:72px 1fr;gap:14px}.loading-budget-fields>:last-child{grid-column:2}.loading-ring{width:72px;height:72px}.loading-table-row{gap:10px;padding-inline:4px}}@media (prefers-reduced-motion:reduce){.data-shimmer:after{opacity:.3;animation:none;transform:none}}.meal-day-loading>.content-loading-cards:nth-child(2){grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.meal-day-loading>.content-loading-cards:nth-child(2) .loading-content-section{overflow-wrap:anywhere;padding:12px}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}.daily-summary-shell .daily-summary-columns>.daily-macro-targets{border:0;grid-area:2/1/auto/-1;padding:20px 0 0}.daily-macro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:720px;margin-inline:auto;display:grid}.daily-macro-card{border:1px solid var(--border);background:var(--card);text-align:center;min-width:0;color:var(--card-foreground);border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;display:flex}.daily-macro-card[data-macro="1"]{--macro-color:var(--meal-chart-1,var(--meal-palette-1))}.daily-macro-card[data-macro="2"]{--macro-color:var(--meal-chart-2,var(--meal-palette-2))}.daily-macro-card[data-macro="3"]{--macro-color:var(--meal-chart-3,var(--meal-palette-3))}.daily-macro-card h5{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:650}.daily-macro-ring{aspect-ratio:1;width:min(76px,100%);color:var(--macro-color);place-items:center;display:grid;position:relative}.daily-macro-circle{width:100%;height:100%;position:absolute;inset:0}.daily-macro-circle circle{fill:none;stroke-width:8px}.daily-macro-track{stroke:var(--muted)}.daily-macro-fill{stroke:currentColor;stroke-linecap:round}.daily-macro-icon{width:30px;height:30px}.daily-macro-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.daily-macro-value small{font-size:13px;font-weight:400}.daily-macro-caption,.daily-macro-footnote{color:var(--muted-foreground);font-size:12px}.daily-macro-bound{border-top:1px solid var(--border);width:100%;padding-top:9px;font-size:12px}.daily-macro-status{background:var(--muted);overflow-wrap:anywhere;border-radius:8px;place-items:center;width:100%;min-height:42px;margin:auto 0 0;padding:5px;font-size:12px;display:grid}.daily-macro-card[data-status=over] .daily-macro-status,.daily-macro-card[data-status=invalid] .daily-macro-status{color:var(--destructive)}.daily-macro-footnote{text-align:center;margin:12px 0 0}@container daily-summary (max-width:850px){.daily-summary-shell .daily-summary-columns>.daily-macro-targets{padding-top:0}}@container daily-summary (max-width:480px){.daily-macro-grid{gap:7px}.daily-macro-card{border-radius:16px;padding:14px 4px}.daily-macro-card h5{font-size:14px}.daily-macro-value{font-size:21px}.daily-macro-ring{width:min(64px,100%)}}.daily-macro-bound{text-align:center;justify-items:center;gap:4px;display:grid}.daily-macro-limit{direction:rtl;justify-content:center;align-items:center;gap:5px;display:flex}.daily-macro-limit>svg{flex-shrink:0;width:18px;height:18px}.daily-macro-limit[data-limit=minimum]>svg{color:#2563eb}.daily-macro-limit[data-limit=maximum]>svg{color:#dc2626}.portal-card.compact-meal-plans{gap:16px;margin-block:18px;padding:22px}.compact-plans-header,.compact-plans-list>li,.compact-plan-form-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.compact-plans-header>div:first-child,.compact-plan-identity>div{min-width:0}.compact-meal-plans h2{font-size:19px}.compact-meal-plans p{color:var(--muted-foreground);margin:4px 0 0;font-size:13px}.compact-plans-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.compact-plans-actions button{white-space:normal;height:auto;min-height:42px}.compact-plans-list{margin:0;padding:0;list-style:none}.compact-plans-list>li{border-top:1px solid var(--border);padding-block:14px}.compact-plans-list>li:last-child{padding-bottom:0}.compact-plan-identity{overflow-wrap:anywhere;flex:180px;align-items:center;gap:12px;min-width:0;display:flex}.compact-plan-identity>svg{width:24px;height:28px;color:var(--muted-foreground);flex-shrink:0}.compact-meal-plans .compact-plan-form{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:18px;display:grid}.compact-plan-form>div{min-width:0}.compact-plan-form>div>label{margin-bottom:8px}.compact-plan-form-heading,.compact-plan-form-footer{grid-column:1/-1}.compact-plan-form-heading h3{overflow-wrap:anywhere;font-weight:600}.compact-plan-form input{min-width:0;max-width:100%}.compact-plan-form-footer .portal-confirm-share{flex:260px}@media (max-width:600px){.portal-card.compact-meal-plans{padding:16px}.compact-meal-plans .compact-plan-form{grid-template-columns:minmax(0,1fr)}.compact-plans-list>li>.compact-plans-actions{justify-content:flex-end;width:100%}.compact-meal-plans input{font-size:16px}}.compact-plan-status{background:var(--muted);border-radius:6px;padding:2px 7px;display:inline-block}.compact-plan-status[data-status=published]{color:var(--success-foreground);background:var(--success)}.compact-meal-plans button[data-variant=ghost],.compact-plan-form input{color:var(--foreground)}.portal-page{background:var(--page-background,var(--background,#f5f8f7));align-content:center;min-height:100dvh;padding:24px;display:grid}.portal-card{border:1px solid var(--border,#dce5e1);background:var(--card,white);border-radius:24px;gap:18px;width:min(100%,680px);margin-inline:auto;padding:clamp(24px,5vw,44px);display:grid}.portal-card h1{font-size:clamp(24px,4vw,34px);font-weight:700}.portal-card h2{font-size:20px;font-weight:600}.portal-card p{line-height:1.7}.portal-actions{flex-wrap:wrap;gap:12px;margin-block:12px;display:flex}.portal-access-panel{width:100%;margin-block:24px}.portal-invitation{gap:12px;min-width:0;display:grid}.portal-dashboard-page{align-content:start;padding-block:clamp(20px,5vw,60px)}.portal-dashboard-shell{width:min(100%,1080px)}.portal-dashboard{border-block-end:1px solid var(--border);gap:24px;min-width:0;padding-block:12px 24px;display:grid}.portal-dashboard h3{align-items:center;gap:10px;font-size:18px;font-weight:650;display:flex}.portal-dashboard .portal-patient-name{font-size:26px}.portal-dashboard-toolbar,.portal-plan-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;display:grid}.portal-summary-card{background:var(--muted);border-radius:18px;align-content:start;gap:18px;padding:24px;display:grid}.portal-detail-stack{gap:8px;display:grid}.portal-list{gap:12px;margin-block:14px;padding:0;list-style:none;display:grid}.portal-list>li{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:14px;padding:18px}.portal-muted{color:var(--muted-foreground);font-size:13px}.portal-publish-form{gap:12px;display:grid}.portal-confirm-share{align-items:flex-start;gap:10px;line-height:1.6;display:flex}.portal-confirm-share input{flex-shrink:0;margin-block-start:6px}.portal-conversation{border:1px solid var(--border);background:var(--card);border-radius:22px;min-width:0;margin-block:20px;display:grid;overflow:hidden}.portal-chat-header{border-block-end:1px solid var(--border);align-items:center;gap:12px;padding:18px 22px;display:flex}.portal-chat-header h2{font-size:19px;font-weight:650}.portal-avatar{width:44px;height:44px;color:var(--primary);background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.portal-avatar img{object-fit:cover;width:44px;height:44px}.portal-chat-background{background-color:var(--secondary);background-image:radial-gradient(var(--primary) 1px, transparent 1px);min-height:320px;padding:16px}@supports (color:color-mix(in lab, red, red)){.portal-chat-background{background-image:radial-gradient(color-mix(in srgb, var(--primary) 9%, transparent) 1px, transparent 1px)}}.portal-chat-background{background-size:22px 22px}.portal-messages{overscroll-behavior:contain;flex-direction:column;gap:12px;height:clamp(220px,100dvh - 430px,520px);margin:0;padding:12px;list-style:none;display:flex;overflow-y:auto}.portal-message{overflow-wrap:anywhere;border-radius:18px;max-width:min(82%,640px);padding:12px 16px 8px;box-shadow:0 1px 2px #0000000a}.portal-message-own{background:var(--primary);color:var(--primary-foreground);border-end-start-radius:4px;align-self:flex-start}.portal-message-other{background:var(--card);border:1px solid var(--border);border-end-end-radius:4px;align-self:flex-end}.portal-message time{text-align:end;opacity:.8;margin-block-start:8px;font-size:11px;display:block}.portal-message-delivery{text-align:end;margin-block-start:8px;font-size:11px}.portal-message-retry{color:inherit;cursor:pointer;padding:6px 0;font-size:12px;text-decoration:underline}.portal-message-retry:disabled{opacity:.6;cursor:wait}.portal-message-body{white-space:pre-wrap;unicode-bidi:plaintext;line-height:1.65}.portal-message-own .portal-muted{color:inherit;opacity:.85}.portal-composer{padding:14px 18px}.portal-composer fieldset{align-items:center;gap:12px;min-width:0;display:flex}.portal-composer textarea{border:1px solid var(--border);resize:vertical;background:var(--background);width:100%;min-width:0;max-height:180px;font:inherit;border-radius:16px;flex:1;padding:10px 14px}.portal-composer fieldset:disabled{opacity:.6}.portal-chat-state{text-align:center;padding:20px}.portal-inbox{min-width:0;padding:clamp(16px,3vw,32px)}.portal-inbox-table-wrap{border:1px solid var(--border);background:var(--card);border-radius:18px;overflow-x:auto}.portal-inbox-table{border-collapse:collapse;text-align:start;width:100%;font-size:14px}.portal-inbox-table th{text-align:start;color:var(--muted-foreground);background:var(--muted);padding:18px 20px;font-size:13px;font-weight:500}.portal-inbox-table td{border-block-start:1px solid var(--border);padding:20px}.portal-inbox-table td:last-child{white-space:nowrap;font-size:13px}.portal-inbox-table tbody tr{cursor:pointer}.portal-inbox-table tbody tr:hover,.portal-inbox-table tbody tr:focus-within{background:var(--secondary)}.portal-thread-link{text-align:start;cursor:pointer;font-weight:600}.portal-thread-unread .portal-thread-link{font-weight:750}.portal-thread-status{white-space:nowrap;background:var(--muted);border-radius:20px;padding:4px 10px;font-size:12px;display:inline-block}.portal-thread-unread .portal-thread-status{background:var(--accent);color:var(--primary)}@media (max-width:760px){.portal-chat-header{padding:14px}.portal-chat-background{padding:5px}.portal-message{max-width:90%}.portal-inbox-table th,.portal-inbox-table td{padding:14px 10px}}.portal-meals{border-block-end:1px solid var(--border);gap:18px;padding-block:28px;display:grid}.portal-meal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;display:grid}.portal-meal-journal{gap:18px;display:grid}.portal-journal-card{min-width:0}.portal-journal-card h3{align-items:center;gap:8px;display:flex}.portal-journal-card .portal-nutrients{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-journal-card input[type=file]{max-width:100%;font-size:13px}.portal-journal-card .portal-photo-picker{flex-wrap:wrap;gap:8px;display:flex}.portal-journal-card .portal-photo-row{flex-wrap:wrap}.portal-journal-card .portal-photo-row .portal-photo-picker{flex:9rem}.portal-journal-card input[type=time]{max-width:180px}.portal-journal-photo{object-fit:contain;border-radius:12px;width:100%;max-height:240px}.portal-journal-notes{background:var(--muted);overflow-wrap:anywhere;border-radius:10px;padding:10px 12px}.portal-meal-card{border:1px solid var(--border);border-radius:18px;align-content:start;gap:12px;padding:16px;display:grid}.portal-meal-card h3{font-size:19px;font-weight:650}.portal-meal-result,.portal-meal-summary{background:var(--secondary);border-radius:14px;gap:10px;padding:18px;display:grid}.portal-meal-upload fieldset,.portal-meal-editor fieldset{gap:14px;min-width:0;display:grid}.portal-meal-upload label,.portal-meal-editor label{gap:8px;font-size:14px;display:grid}.portal-meal-upload input:not([type=checkbox]):not([type=file]),.portal-meal-upload textarea,.portal-meal-editor input:not([type=checkbox]),.portal-meal-editor textarea{border:1px solid var(--border);background:var(--background);width:100%;font:inherit;border-radius:10px;min-width:0;padding:10px 12px}.portal-meal-upload .portal-confirm-share,.portal-meal-editor .portal-confirm-share{align-items:start;display:flex}.portal-meal-preview{object-fit:cover;border-radius:8px;width:40px;height:40px}.portal-photo-row{align-items:center;gap:8px;min-width:0;display:flex}.portal-meal-upload .portal-photo-picker{border:1px dashed var(--border);cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;min-height:44px;padding:12px;display:flex}.portal-photo-picker:focus-within{outline:2px solid var(--primary);outline-offset:2px}.portal-photo-picker[aria-disabled=true]{opacity:.5;cursor:default}.portal-meal-editor-row{border-block-end:1px solid var(--border);gap:12px;padding-block:20px;display:grid}.portal-meal-summary h3{font-weight:650}.portal-meal-history{border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:var(--card);border-radius:14px;width:100%;overflow:hidden}.portal-meal-history td{border-block-end:1px solid var(--border);padding:0}.portal-meal-history tr:last-child td{border-block-end:0}.portal-meal-history button{width:100%;min-height:44px;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;padding:16px;display:block}.portal-meal-history button:hover,.portal-meal-history button:focus-visible{background:var(--accent)}.portal-meal-history button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-meal-history-dialog{overscroll-behavior-y:contain;max-height:calc(100dvh - 2rem);overflow-y:auto}.portal-meals details>summary{cursor:pointer;padding:12px}.portal-meals details .portal-meal-summary{margin-block:12px}.portal-budget-numbers{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-budget-numbers>div{gap:4px;display:grid}.portal-budget-numbers span{color:var(--muted-foreground);font-size:13px}.portal-budget-numbers strong{font-variant-numeric:tabular-nums;font-size:22px}.portal-budget-numbers .portal-budget-remaining strong{color:var(--primary);font-size:36px}.portal-meal-summary progress{width:100%;height:8px;accent-color:var(--primary)}.portal-nutrition-chips{flex-wrap:wrap;gap:8px;display:flex}.portal-nutrition-chips button,.portal-nutrition-chips span{border:1px solid var(--border);background:var(--background);border-radius:20px;padding:8px 12px;font-size:13px}.portal-nutrition-chips button{cursor:pointer;min-height:44px}.portal-nutrition-chips [aria-pressed=true],.portal-nutrition-chips span{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.portal-nutrients{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px;padding-block:12px;display:grid}.portal-nutrients dt{color:var(--muted-foreground);font-size:12px}.portal-nutrients dd{font-variant-numeric:tabular-nums;font-size:14px}.portal-meal-energy{font-size:22px}.portal-meal-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;display:block}.portal-staff-meal-history{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tracking-date-strip{width:100%;min-width:0}.tracking-date-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tracking-date-toolbar time{overflow-wrap:anywhere;font-weight:600}.tracking-date-controls{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:6px;min-width:0;display:grid}.tracking-date-controls>button{width:36px;height:44px}.tracking-date-tiles{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;align-items:stretch;gap:8px;min-width:0;padding:4px max(0px,50% - 44px);display:flex;position:relative;overflow-x:auto}.tracking-date-tiles::-webkit-scrollbar{display:none}.tracking-date-tiles:active{cursor:grabbing;scroll-snap-type:none}.tracking-date-tiles>button{border:1px solid var(--border);background:var(--card);min-height:110px;color:var(--muted-foreground);scroll-snap-align:center;cursor:pointer;border-radius:12px;flex-direction:column;flex:0 0 88px;justify-content:center;align-items:center;gap:2px;padding:8px 4px;font-size:11px;line-height:1.4;display:flex}.tracking-date-tiles>button strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:26px}.tracking-date-tiles>button small{font-size:10px;font-weight:600}.tracking-date-tiles>button[aria-pressed=true]{background:var(--accent);color:var(--foreground);border:2px solid var(--primary);box-shadow:0 2px 8px var(--primary)}@supports (color:color-mix(in lab, red, red)){.tracking-date-tiles>button[aria-pressed=true]{box-shadow:0 2px 8px color-mix(in srgb, var(--primary) 18%, transparent)}}.tracking-date-tiles>button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.staff-tracking-details{border:1px solid var(--border);border-radius:14px;padding:0 12px}.staff-tracking-details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:48px;font-weight:600;list-style:none;display:flex}.staff-tracking-details>summary::-webkit-details-marker{display:none}.staff-tracking-details>summary svg{flex-shrink:0;width:18px;height:18px}.staff-tracking-details[open]>summary svg{transform:rotate(180deg)}.staff-tracking-details>summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:8px}.staff-tracking-details[open]{padding-bottom:12px}.portal-staff-meals{margin-block:20px}.portal-meal-result>details>summary{padding-inline:0;font-size:13px}.portal-device-preference{margin-block:10px;font-size:13px}.patient-dashboard-heading,.tracking-patient-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-dashboard-page{background:linear-gradient(150deg, var(--secondary), var(--background) 45%);padding-block-end:110px}.portal-dashboard-shell{padding:clamp(18px,3vw,32px);box-shadow:0 8px 40px #00000005}.portal-dashboard-shell .portal-dashboard{border:0;padding-block-end:0}.portal-dashboard-shell .portal-meals{border-block-end:0}.portal-account-settings{border-block-start:1px solid var(--border);padding-block-start:16px}.portal-account-settings>summary{cursor:pointer;min-height:44px;color:var(--muted-foreground);align-items:center;gap:8px;font-size:14px;display:flex}.portal-account-settings>summary svg{width:18px}.workspace-tabs[data-slot=tabs-list]{border-radius:16px;gap:4px;width:100%;height:auto;margin-block:12px 20px;padding:5px}.workspace-tabs [role=tab]{white-space:normal;border-radius:12px;min-height:48px;padding:10px 14px}.patient-chat-launcher{inset-inline-end:max(24px, env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;border-radius:999px;height:56px;padding-inline:22px;position:fixed;box-shadow:0 6px 24px #0003}.patient-chat-dialog[data-slot=dialog-content]{text-align:start;border-radius:22px;flex-direction:column;gap:0;width:min(540px,100% - 24px);max-width:540px;height:min(780px,100dvh - 24px);padding:0;display:flex;overflow:hidden}.patient-chat-dialog-heading{justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.patient-chat-clinic{align-items:center;gap:12px;padding:8px 18px;display:flex}.patient-chat-dialog .portal-conversation{border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;margin:0;display:flex}.patient-chat-dialog .portal-chat-header{padding:10px 18px}.patient-chat-dialog .portal-chat-header h2{display:none}.patient-chat-dialog .portal-chat-background{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.patient-chat-dialog .portal-messages{flex:1;height:auto;min-height:0}.patient-chat-dialog .portal-composer{padding-bottom:max(14px, env(safe-area-inset-bottom));flex-shrink:0}.patient-tracking-workspace{width:min(100%,1120px);margin-inline:auto;padding:clamp(16px,3vw,32px)}.tracking-patient-picker{border:1px solid var(--border);background:var(--card);border-radius:18px;grid-template-columns:auto minmax(100px,1fr) auto minmax(160px,2fr);align-items:center;gap:12px;padding:18px;display:grid}.tracking-patient-picker label{color:var(--muted-foreground);font-size:13px}.tracking-patient-picker input,.tracking-patient-picker select,.patient-chat-clinic select{border:1px solid var(--border);background:var(--background);border-radius:10px;min-width:0;min-height:44px;padding:8px 12px}.tracking-empty{text-align:center;color:var(--muted-foreground);padding-block:40px}.tracking-patient-content{min-width:0;margin-block-start:24px}.tracking-patient-content .workspace-tabs{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.tracking-patient-content .workspace-tabs [role=tab]{overflow-wrap:anywhere;min-width:0}.tracking-manage-patient{margin-block:20px}.tracking-manage-patient>summary{cursor:pointer;color:var(--muted-foreground);padding-block:10px;font-size:14px}.tracking-feed{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:clamp(14px,2vw,24px)}.tracking-feed h2{font-size:20px;font-weight:650}.tracking-feed-scroll{margin-block:12px;overflow-x:auto}.tracking-feed table{table-layout:fixed;border-collapse:collapse;text-align:start;width:100%;font-size:14px}.tracking-feed th,.tracking-feed td{border-bottom:1px solid var(--border);text-align:start;overflow-wrap:anywhere;padding:14px clamp(5px,1vw,12px)}.tracking-feed th:first-child{width:40%}.tracking-feed th{color:var(--muted-foreground);font-size:12px;font-weight:500}.tracking-feed-name,.tracking-feed-time{text-align:start;gap:4px;display:grid}.tracking-feed small{color:var(--muted-foreground);font-size:11px;font-weight:400}.tracking-feed tr[data-unread=true]{background:#f4f8fc}.tracking-feed-patient{cursor:pointer;border-radius:6px;align-items:center;gap:8px;max-width:100%;min-height:44px;font-weight:400;display:flex}.tracking-feed-patient:hover{text-decoration:underline}.tracking-feed-patient:focus-visible{outline-offset:4px;outline:2px solid #537b9d}.tracking-feed tr[data-unread=true] .tracking-feed-patient{font-weight:750}.tracking-unread-dot{background:#537b9d;border-radius:50%;flex:none;width:7px;height:7px}.tracking-patient-heading h2{font-size:24px;font-weight:700}.tracking-patient-content .portal-access-panel,.tracking-patient-content .portal-staff-meals{width:100%;max-width:none}.clinic-quick-actions{flex-shrink:0;justify-content:center;align-items:center;gap:10px;display:flex}.clinic-quick-actions a{background:var(--muted);width:44px;height:44px;color:var(--foreground);border-radius:50%;place-items:center;display:grid;position:relative}.clinic-quick-actions a:hover{background:var(--accent);color:var(--primary)}.clinic-quick-actions a:focus-visible,.portal-account-settings>summary:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.clinic-quick-actions svg{width:21px;height:21px}.clinic-notification-badge{border:2px solid var(--card);color:#fff;top:-5px;direction:ltr;background:#c62828;border-radius:999px;place-items:center;min-width:21px;height:21px;padding-inline:4px;font-size:11px;font-weight:750;display:grid;position:absolute;inset-inline-end:-6px}.app-surface-viewport:has(.clinic-quick-actions) .app-header{flex:none}.app-surface-viewport:has(.clinic-quick-actions) .dashboard-content{flex:1;height:auto}@media (max-width:1100px){.app-header:has(.clinic-quick-actions) .clinic-switcher{display:none}}@media (max-width:640px){.portal-dashboard-page{padding-inline:10px}.workspace-tabs [role=tab]{gap:5px;padding:8px 6px;font-size:12px}.workspace-tabs [role=tab] svg{display:none}.portal-summary-card{gap:12px;padding:16px}.portal-dashboard .portal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-dashboard .portal-summary-card{padding:14px;font-size:13px}.portal-dashboard .portal-summary-card h3{gap:6px;font-size:13px}.portal-dashboard .portal-summary-card h3 svg{flex-shrink:0;width:17px}.patient-chat-launcher{inset-inline-end:18px;bottom:calc(18px + env(safe-area-inset-bottom))}.patient-chat-dialog[data-slot=dialog-content]{width:100%;max-width:100%;height:100dvh;padding-top:env(safe-area-inset-top);border-radius:0}.tracking-patient-picker{grid-template-columns:1fr;gap:8px}.tracking-patient-picker label:not(:first-child){margin-block-start:8px}.app-header:has(.clinic-quick-actions){flex-wrap:wrap;gap:12px}.clinic-quick-actions{justify-content:flex-end}}.portal-device-preference summary{cursor:pointer;padding-block:8px}.portal-device-preference p{max-width:65ch;margin-block:8px}:root{--application-font:"Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;--background:#f4f7f8;--page-background:#fcfcfb;--foreground:#17262a;--card:#fff;--card-foreground:#17262a;--popover:#fff;--popover-foreground:#17262a;--primary:#145c5b;--primary-foreground:#fff;--secondary:#edf3f3;--secondary-foreground:#234247;--muted:#eef2f3;--muted-foreground:#637579;--accent:#e2eeee;--accent-foreground:#145c5b;--destructive:#b84141;--border:#dce5e6;--input:#d5dfe1;--ring:#5b9694;--button-background:var(--primary);--button-foreground:var(--primary-foreground);--destructive-foreground:#fff;--overlay:#000;--success:#e8f6ed;--success-foreground:#2f7047;--error:#fff4f4;--error-foreground:#8f3535;--warning:#fff5e9;--warning-foreground:#8a5a22;--radius:.875rem;--sidebar:#0f3438;--sidebar-foreground:#eaf4f3;--sidebar-primary:#fff;--sidebar-primary-foreground:#0f3438;--sidebar-accent:#1a494d;--sidebar-accent-foreground:#fff;--sidebar-border:#2b5659;--sidebar-ring:#8cc1be;--clinic-primary:#145c5b;--clinic-accent:#e89655}*{box-sizing:border-box}html{background:var(--page-background,var(--background));font-family:var(--application-font)}body{background:var(--page-background,var(--background));min-width:320px;color:var(--foreground);font-family:var(--application-font,"Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif);margin:0}:where(body,body *){font-family:var(--application-font)}.brand-lockup{color:inherit;letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:1rem;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{background:var(--primary);width:2.45rem;height:2.45rem;color:var(--primary-foreground,#fff);box-shadow:inset 0 0 0 1px var(--card,#fff);border-radius:.85rem;place-items:center;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.brand-mark{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--card,#fff) 12%, transparent)}}.brand-mark svg{width:1.25rem;height:1.25rem}.eyebrow,.card-kicker,.popover-kicker{color:var(--detail-5d7779,#5d7779);letter-spacing:normal;text-transform:none;margin:0;font-size:.8rem;font-weight:500;line-height:1.4}.login-page{background:var(--detail-f7f9f9,#f7f9f9);grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);min-height:100svh;display:grid;position:relative}.login-story{background:radial-gradient(circle at 15% 85%, var(--detail-e89655,#e89655), transparent 24rem), linear-gradient(145deg, var(--detail-0b3034,#0b3034) 0%, var(--detail-15575a,#15575a) 100%);flex-direction:column;justify-content:space-between;min-height:100svh;padding:clamp(2rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.login-story{background:radial-gradient(circle at 15% 85%, color-mix(in srgb, var(--detail-e89655,#e89655) 25%, transparent), transparent 24rem), linear-gradient(145deg, var(--detail-0b3034,#0b3034) 0%, var(--detail-15575a,#15575a) 100%)}}.login-story{color:var(--primary-foreground,#fff)}.login-story:after{border:1px solid var(--card,#fff);width:26rem;height:26rem;position:absolute;bottom:5rem;right:-8rem}@supports (color:color-mix(in lab, red, red)){.login-story:after{border:1px solid color-mix(in srgb, var(--card,#fff) 11%, transparent)}}.login-story:after{box-shadow:0 0 0 4rem var(--card,#fff), 0 0 0 8rem var(--card,#fff);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.login-story:after{box-shadow:0 0 0 4rem color-mix(in srgb, var(--card,#fff) 2.5%, transparent), 0 0 0 8rem color-mix(in srgb, var(--card,#fff) 2.5%, transparent)}}.login-story:after{content:""}.brand-lockup-light{z-index:1;position:relative}.brand-lockup-light .brand-mark{background:var(--card,#fff)}@supports (color:color-mix(in lab, red, red)){.brand-lockup-light .brand-mark{background:color-mix(in srgb, var(--card,#fff) 14%, transparent)}}.login-story-copy{z-index:1;max-width:36rem;padding:5rem 0;position:relative}.login-story-copy .eyebrow{color:var(--detail-9ed1cc,#9ed1cc)}.login-story-copy h1{letter-spacing:-.055em;max-width:10ch;margin:.8rem 0 1.5rem;font-size:clamp(3rem,5.5vw,5.8rem);font-weight:680;line-height:.98}.login-story-copy>p:not(.eyebrow){max-width:34rem;color:var(--detail-c8dcdc,#c8dcdc);font-size:1.05rem;line-height:1.7}.login-story-copy ul{color:var(--detail-e6f1f0,#e6f1f0);gap:.85rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.login-story-copy li{align-items:center;gap:.75rem;display:flex}.login-story-copy li svg{width:1rem;height:1rem;color:var(--detail-f0a96e,#f0a96e)}.security-note{z-index:1;color:var(--detail-a9c7c7,#a9c7c7);align-items:center;gap:.65rem;font-size:.85rem;display:flex;position:relative}.security-note svg{width:1rem}.login-panel{place-items:center;min-height:100svh;padding:2rem;display:grid}.login-card{width:min(100%,28rem)}.mobile-brand{display:none}.login-card h2{letter-spacing:-.045em;margin:.55rem 0 .5rem;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;line-height:1.08}.login-intro{color:var(--muted-foreground);margin:0 0 2rem;font-size:1rem}.google-button{background:var(--card,#fff);border-radius:.85rem;width:100%;height:3.25rem;font-size:.95rem}.login-divider{color:var(--detail-7d8d8f,#7d8d8f);align-items:center;gap:1rem;margin:1.6rem 0;font-size:.78rem;display:flex}.login-divider:before,.login-divider:after{background:var(--border);content:"";flex:1;height:1px}.login-form{gap:1.15rem;display:grid}.field-stack{gap:.5rem;display:grid}.field-stack label{font-size:.85rem;font-weight:700}.field-stack input{background:var(--card,#fff);border-radius:.85rem;height:3.2rem;padding-inline:1rem;font-size:1rem}.email-sign-in{border-radius:.85rem;height:3.25rem;margin-top:.4rem;font-weight:750}.email-sign-in svg{width:1rem}.auth-error{border:1px solid var(--detail-ebc9c9,#ebc9c9);background:var(--error,#fff4f4);color:var(--error-foreground,#8f3535);border-radius:.8rem;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding:.8rem .9rem;font-size:.85rem;display:flex}.auth-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.1rem;line-height:1}.language-selector{border:1px solid var(--border);background:var(--card,#fff);color:var(--foreground);border-radius:.75rem;align-items:center;gap:.55rem;padding:.45rem .55rem;font-size:.76rem;font-weight:700;display:flex}.language-selector>svg{flex:none;width:1rem;height:1rem}.language-selector select{min-width:5.4rem;color:inherit;cursor:pointer;background:0 0;border:0;outline:0}.login-language-selector{z-index:5;box-shadow:0 5px 18px var(--detail-123438,#123438);top:1.25rem;position:absolute;inset-inline-end:1.25rem}@supports (color:color-mix(in lab, red, red)){.login-language-selector{box-shadow:0 5px 18px color-mix(in srgb, var(--detail-123438,#123438) 10%, transparent)}}.directional-icon{transition:transform .15s}html[dir=rtl] .directional-icon{transform:rotate(180deg)}.application-loading{min-height:100svh;color:var(--muted-foreground);place-content:center;justify-items:center;gap:1rem;display:grid}.application-loading .brand-mark{animation:1.5s ease-in-out infinite loading-pulse}@keyframes loading-pulse{50%{box-shadow:0 12px 28px color-mix(in srgb, var(--primary,#145c5b) 25%, transparent);transform:translateY(-4px)}}.clinic-sidebar [data-sidebar=sidebar]{border:0}.sidebar-brand{padding:1.35rem 1.15rem}.sidebar-brand .brand-mark{background:var(--card,#fff);width:2.2rem;height:2.2rem}@supports (color:color-mix(in lab, red, red)){.sidebar-brand .brand-mark{background:color-mix(in srgb, var(--card,#fff) 12%, transparent)}}.clinic-sidebar [data-sidebar=menu]{gap:.35rem}.clinic-sidebar [data-sidebar=menu-button]{text-align:start;border-radius:.75rem;height:auto;min-height:2.75rem;padding-inline:.85rem;font-size:.9rem}.clinic-sidebar [data-sidebar=menu-button]>span{white-space:normal;overflow-wrap:anywhere;line-height:1.25}.clinic-sidebar [data-sidebar=menu-button]>svg{width:1.25rem;height:1.25rem}.sidebar-brand{flex-direction:row;align-items:center;gap:.5rem;padding-inline:.75rem;display:flex}.sidebar-brand .brand-lockup{flex:1;gap:.5rem;min-width:0}.sidebar-brand-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.sidebar-toggle{flex-shrink:0;width:2.75rem;height:2.75rem}.sidebar-collapse-button{color:var(--sidebar-foreground)}[data-slot=sidebar][data-collapsible=icon] .sidebar-brand{flex-direction:column;padding:.75rem .25rem}[data-slot=sidebar][data-collapsible=icon] .sidebar-brand .brand-lockup{flex:none;justify-content:center}[data-slot=sidebar][data-collapsible=icon] .sidebar-brand-name,[data-slot=sidebar][data-collapsible=icon] [data-sidebar=menu-button]>span,[data-slot=sidebar][data-collapsible=icon] .sidebar-language-selector,[data-slot=sidebar][data-collapsible=icon] .sidebar-account .avatar-circle,[data-slot=sidebar][data-collapsible=icon] .sidebar-account .account-copy{display:none}[data-slot=sidebar][data-collapsible=icon] [data-sidebar=menu-button]{justify-content:center;margin-inline:auto;width:2.75rem!important;height:2.75rem!important;padding:.625rem!important}[data-slot=sidebar][data-collapsible=icon] [data-sidebar=menu-button]>svg{width:1.375rem;height:1.375rem}[data-slot=sidebar][data-collapsible=icon] .sidebar-account{justify-content:center;margin:.25rem;padding:.75rem 0 0;display:flex}@media (max-width:767px){.sidebar-collapse-button{display:none}}.clinic-sidebar [data-sidebar=menu-button][data-active=true]{background:var(--sidebar-primary);color:var(--sidebar-primary-foreground);font-weight:750}.clinic-sidebar [data-sidebar=menu-button]:disabled{opacity:.45}.sidebar-language-selector{max-width:calc(100% - 1.5rem);color:var(--sidebar-foreground);background:0 0;border:0;border-radius:.35rem;align-self:flex-start;gap:.35rem;margin:0 .75rem -.5rem;padding:0 .4rem}@supports (color:color-mix(in lab, red, red)){.sidebar-language-selector{color:color-mix(in srgb, var(--sidebar-foreground) 75%, var(--sidebar))}}.sidebar-language-selector{font-size:.7rem;font-weight:400}.sidebar-language-selector>svg{width:.85rem;height:.85rem}.sidebar-language-selector>span{display:none}.sidebar-language-selector select{min-width:0;max-width:100%;min-height:2rem;color:inherit}.sidebar-language-selector:focus-within{outline:2px solid var(--sidebar-ring);outline-offset:2px}.sidebar-language-selector option{color:var(--foreground)}.sidebar-account{border-top:1px solid var(--card,#fff);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;margin:.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.sidebar-account{border-top:1px solid color-mix(in srgb, var(--card,#fff) 10%, transparent)}}.sidebar-account{padding:1rem .4rem .25rem}.avatar-circle{background:var(--detail-e6a369,#e6a369);width:2.35rem;height:2.35rem;color:var(--detail-183d40,#183d40);border-radius:50%;place-items:center;font-size:.72rem;font-weight:850;display:grid}.account-copy{min-width:0;display:grid}.account-copy strong,.account-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-copy strong{color:var(--sidebar-foreground);font-size:.78rem}.account-copy span{color:var(--sidebar-foreground);font-size:.68rem}.app-surface{background:var(--page-background,var(--background,#f4f7f8));min-width:0;min-height:100svh}.app-surface-viewport{height:calc(100svh - 1rem);min-height:0;overflow:hidden}.app-surface-viewport .app-header{flex:0 0 5.2rem}.app-header{border-bottom:1px solid var(--border);background:var(--header-background,var(--primary));min-height:5.2rem;color:var(--header-foreground,#fff);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem clamp(1rem,3vw,2.25rem);display:flex}.header-title{align-items:center;gap:.8rem;display:flex}.header-title>div{display:grid}.header-title p{color:inherit;margin:0;font-size:.72rem;font-weight:700}.header-title h1{letter-spacing:-.03em;margin:0;font-size:1.45rem;font-weight:750}.clinic-switcher{border:1px solid var(--border);background:var(--card,#fff);max-width:16rem;color:var(--foreground);border-radius:.9rem;align-items:center;gap:.65rem;padding:.45rem .65rem;display:flex}.clinic-switcher-mark{background:var(--detail-e7f0ef,#e7f0ef);width:2.1rem;height:2.1rem;color:var(--primary);border-radius:.65rem;flex:none;place-items:center;display:grid}.clinic-switcher-mark svg{width:1rem}.clinic-switcher>span:nth-child(2){text-align:start;min-width:0;display:grid}.clinic-switcher small{color:var(--muted-foreground);font-size:.63rem}.clinic-switcher strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.clinic-switcher>svg{width:.9rem;color:var(--muted-foreground)}.dashboard-content{grid-template-columns:minmax(0,4fr) minmax(20rem,6fr);align-items:stretch;gap:clamp(.75rem,1.4vw,1.15rem);width:100%;max-width:1500px;height:calc(100% - 5.2rem);min-height:0;margin:0 auto;padding:clamp(.75rem,2vh,2rem) clamp(1rem,2.4vw,2rem);display:grid}html[dir=rtl] .dashboard-content{direction:ltr}html[dir=rtl] .dashboard-content>*{direction:rtl}.dashboard-main-column{grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(.75rem,1.4vw,1.15rem);min-width:0;min-height:0;display:grid}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;min-width:0;display:grid}.dashboard-card{border:1px solid var(--border);background:var(--card,#fff);box-shadow:0 8px 30px var(--detail-1c3a3d,#1c3a3d);border-radius:1.45rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.dashboard-card{box-shadow:0 8px 30px color-mix(in srgb, var(--detail-1c3a3d,#1c3a3d) 4.5%, transparent)}}.planned-card{flex-direction:column;justify-content:space-between;min-height:0;padding:clamp(.9rem,1.8vh,1.75rem) clamp(1rem,2vw,1.75rem);display:flex}.planned-card>div:nth-child(2){z-index:1;display:grid;position:relative}.card-icon{border-radius:.9rem;place-items:center;width:2.85rem;height:2.85rem;display:grid}.card-icon svg{width:1.3rem}.card-icon.primary{background:var(--clinic-primary)}@supports (color:color-mix(in lab, red, red)){.card-icon.primary{background:color-mix(in srgb, var(--clinic-primary) 13%, var(--card,#fff))}}.card-icon.primary{color:var(--clinic-primary)}.card-icon.muted{background:var(--detail-e6f0ef,#e6f0ef);color:var(--detail-296967,#296967)}.card-icon.warning{background:var(--detail-fff0e3,#fff0e3);color:var(--detail-bd6d31,#bd6d31)}.card-icon.accent{background:var(--clinic-accent)}@supports (color:color-mix(in lab, red, red)){.card-icon.accent{background:color-mix(in srgb, var(--clinic-accent) 18%, var(--card,#fff))}}.card-icon.accent{color:var(--detail-a85825,#a85825)}.hero-number{letter-spacing:-.07em;margin:clamp(.35rem,1vh,.7rem) 0 .2rem;font-size:clamp(2.8rem,min(9vw,9vh),7.4rem);font-weight:650;line-height:.9;display:block}.card-caption{color:var(--muted-foreground);font-size:.9rem}.planned-accent{background:var(--clinic-primary);inset-inline-end:-3.4rem;border-radius:50%;width:14rem;height:14rem;position:absolute;bottom:-4.5rem}@supports (color:color-mix(in lab, red, red)){.planned-accent{background:color-mix(in srgb, var(--clinic-primary) 9%, var(--card,#fff))}}.planned-accent{box-shadow:0 0 0 2.6rem var(--clinic-primary)}@supports (color:color-mix(in lab, red, red)){.planned-accent{box-shadow:0 0 0 2.6rem color-mix(in srgb, var(--clinic-primary) 4%, var(--card,#fff))}}.summary-grid .hero-number{font-size:clamp(2.8rem,min(6vw,8vh),5.8rem)}.calendar-card{flex-direction:column;min-width:0;height:100%;min-height:0;padding:1.4rem;display:flex}.calendar-card-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.calendar-card-header h2,.stat-card-heading h2,.active-patients-card h2{letter-spacing:-.025em;margin:.25rem 0 0;font-size:1.05rem;font-weight:780}.calendar-navigation{align-items:center;gap:.2rem;display:flex}.calendar-navigation button{border-radius:.65rem}.period-tabs{margin-top:1rem}.period-tabs [data-slot=tabs-list]{background:var(--detail-eff4f4,#eff4f4);width:100%;height:2.4rem}.period-tabs [data-slot=tabs-trigger]{min-height:2rem}.calendar-view{flex:1;min-height:0;margin-top:1rem}.weekday-row{color:var(--detail-869497,#869497);text-align:center;text-transform:uppercase;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:.3rem;font-size:.65rem;font-weight:800;display:grid}.month-view{grid-template-rows:auto minmax(0,1fr);display:grid}.month-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(2.2rem,1fr);gap:.25rem;height:100%;min-height:0;display:grid}.calendar-day{background:var(--detail-fbfcfc,#fbfcfc);min-width:0;color:var(--detail-405356,#405356);border:1px solid #0000;border-radius:.65rem;padding:.35rem;font-size:.7rem}.calendar-day.outside-month{opacity:.34}.calendar-day.today{border-color:var(--detail-78aaa7,#78aaa7);color:var(--primary,#145c5b);font-weight:850}.calendar-day.selected:not(.today){background:var(--detail-edf4f4,#edf4f4)}.appointment-dots{flex-wrap:wrap;gap:.18rem;margin-top:.25rem;display:flex}.appointment-dot{border:2px solid var(--card,#fff);width:.62rem;height:.62rem;box-shadow:0 0 0 1px var(--detail-12383b,#12383b);border-radius:50%;flex:none;padding:0;position:relative}@supports (color:color-mix(in lab, red, red)){.appointment-dot{box-shadow:0 0 0 1px color-mix(in srgb, var(--detail-12383b,#12383b) 8%, transparent)}}.appointment-dot{cursor:pointer;transition:transform .14s,box-shadow .14s}.appointment-dot:after{content:"";border-radius:50%;position:absolute;inset:-.32rem}.appointment-dot:hover,.appointment-dot:focus-visible{box-shadow:0 0 0 3px var(--primary,#145c5b);transform:scale(1.35)}@supports (color:color-mix(in lab, red, red)){.appointment-dot:hover,.appointment-dot:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary,#145c5b) 14%, transparent)}}.appointment-dot:hover,.appointment-dot:focus-visible{outline:none}.external-event-dot{background:var(--google-event-color,var(--external-event,#f6c6d3));border-radius:2px}.appointment-popover{border-radius:1rem;width:min(20rem,100vw - 2rem);padding:1rem}.popover-kicker{font-size:.75rem}.patient-link{color:var(--foreground);font-size:1.05rem;text-decoration:none}.patient-link:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.appointment-details-list{gap:.6rem;margin:1rem 0 0;display:grid}.appointment-details-list>div{justify-content:space-between;align-items:center;gap:1rem;font-size:.78rem;display:flex}.appointment-details-list dt{color:var(--muted-foreground);align-items:center;gap:.35rem;display:flex}.appointment-details-list dt svg{width:.85rem}.appointment-details-list dd{text-align:end;margin:0;font-weight:750}.detail-color{border-radius:50%;width:.55rem;height:.55rem}.payment-pill{text-transform:capitalize;border-radius:999px;padding:.18rem .5rem;font-size:.65rem;font-weight:800;display:inline-flex}.payment-pill.paid{background:var(--detail-e2f3ec,#e2f3ec);color:var(--detail-277056,#277056)}.payment-pill.unpaid{background:var(--detail-fff0e4,#fff0e4);color:var(--detail-a95d29,#a95d29)}.week-view{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;min-height:0;display:grid}.week-day{border:1px solid var(--border);border-radius:.8rem;flex-direction:column;align-items:center;min-width:0;padding:.75rem .25rem;display:flex}.week-day.today{border-color:var(--detail-78aaa7,#78aaa7);background:var(--detail-f1f7f6,#f1f7f6)}.week-day>div:first-child{justify-items:center;display:grid}.week-day>div:first-child span{color:var(--muted-foreground);text-transform:uppercase;font-size:.65rem;font-weight:750}.week-day>div:first-child strong{margin-top:.25rem;font-size:1.2rem}.week-day .appointment-dots{justify-content:center;margin:.65rem 0}.week-day small{color:var(--muted-foreground);font-size:.58rem}.week-external-events{gap:.3rem;width:100%;min-width:0;margin:auto 0 .55rem;display:grid}.external-event-row{border:1px solid var(--google-event-color,var(--external-event,#f6c6d3));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;width:100%;min-width:0;display:grid}@supports (color:color-mix(in lab, red, red)){.external-event-row{border:1px solid color-mix(in srgb, var(--google-event-color,var(--external-event,#f6c6d3)) 65%, var(--detail-8f6873,#8f6873))}}.external-event-row{border-inline-start:.28rem solid var(--google-event-color,var(--external-event,#f6c6d3));background:var(--google-event-color,var(--external-event,#f6c6d3));border-radius:.7rem}@supports (color:color-mix(in lab, red, red)){.external-event-row{background:color-mix(in srgb, var(--google-event-color,var(--external-event,#f6c6d3)) 18%, var(--card,#fff))}}.external-event-row{color:var(--foreground);text-align:start;cursor:pointer;padding:.58rem .68rem}.external-event-row:hover,.external-event-row:focus-visible{background:var(--google-event-color,var(--external-event,#f6c6d3))}@supports (color:color-mix(in lab, red, red)){.external-event-row:hover,.external-event-row:focus-visible{background:color-mix(in srgb, var(--google-event-color,var(--external-event,#f6c6d3)) 28%, var(--card,#fff))}}.external-event-row:hover,.external-event-row:focus-visible{outline:2px solid var(--google-event-color,var(--external-event,#f6c6d3))}@supports (color:color-mix(in lab, red, red)){.external-event-row:hover,.external-event-row:focus-visible{outline:2px solid color-mix(in srgb, var(--google-event-color,var(--external-event,#f6c6d3)) 55%, var(--card,#fff))}}.external-event-row:hover,.external-event-row:focus-visible{outline-offset:1px}.external-event-row.compact{padding:.38rem .42rem;font-size:.62rem;display:block}.external-event-row.compact .external-event-time{display:none}.external-event-time{white-space:nowrap;font-size:.7rem;font-weight:850}.external-event-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.72rem;font-weight:750;display:block;overflow:hidden}.day-view{grid-template-columns:minmax(9rem,.65fr) 1.5fr;gap:1rem;min-height:0;display:grid}.day-date-block{background:var(--detail-edf5f4,#edf5f4);color:var(--detail-1e5d5c,#1e5d5c);border-radius:1rem;align-content:center;justify-items:center;display:grid}.day-date-block span{text-transform:uppercase;font-size:.8rem;font-weight:750}.day-date-block strong{letter-spacing:-.08em;font-size:4.5rem;font-weight:620;line-height:1}.day-date-block small{color:var(--detail-648382,#648382)}.day-appointments{align-content:center;gap:.6rem;display:grid}.day-appointment{border:1px solid var(--border);border-radius:.8rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.7rem;display:grid}.day-appointment>div{display:grid}.day-appointment strong{font-size:.8rem}.day-appointment span,.day-appointment small{color:var(--muted-foreground);font-size:.7rem}.calendar-empty{color:var(--muted-foreground);text-align:center;justify-items:center;display:grid}.calendar-empty svg{width:1.4rem}.calendar-empty p{font-size:.8rem}.year-view{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:.55rem;padding-inline-end:.2rem;display:grid;overflow:auto}.mini-month{border:1px solid var(--border);border-radius:.75rem;min-width:0;padding:.45rem}.mini-month h4{margin:0 0 .3rem;font-size:.68rem}.mini-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.mini-calendar-grid .calendar-day{background:0 0;border:0;border-radius:.2rem;min-height:1rem;padding:.05rem;font-size:.42rem}.mini-calendar-grid .appointment-dots{gap:1px;margin-top:1px}.mini-calendar-grid .appointment-dot{border:0;width:.2rem;height:.2rem}.mini-calendar-grid .appointment-dot:after{inset:-.1rem}.statistics-stack{grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(.75rem,1.4vw,1.15rem);min-width:0;min-height:0;display:grid}.statistic-card{min-height:0;padding:clamp(.85rem,1.7vh,1.35rem);overflow:auto}.stat-card-heading{align-items:center;gap:.8rem;display:flex}.treatment-statistics{gap:clamp(.35rem,.9vh,.7rem);margin-top:clamp(.7rem,1.8vh,2rem);display:grid}.treatment-row{border-bottom:1px solid var(--detail-edf1f2,#edf1f2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem 0;display:grid}.treatment-swatch{border-radius:50%;width:.7rem;height:.7rem}.treatment-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.treatment-row>span:last-child{background:var(--detail-f1f5f5,#f1f5f5);border-radius:.65rem;place-items:center;min-width:2rem;height:2rem;font-size:.75rem;font-weight:850;display:grid}.stat-number{letter-spacing:-.06em;margin-top:clamp(.55rem,1.5vh,1.2rem);font-size:clamp(2.2rem,5vh,3.3rem);font-weight:650;line-height:1;display:block}.unpaid-list{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.unpaid-list span{background:var(--detail-f4f0eb,#f4f0eb);color:var(--detail-6d5948,#6d5948);border-radius:999px;padding:.35rem .6rem;font-size:.7rem;font-weight:700}.unpaid-list p{color:var(--muted-foreground);font-size:.78rem}.active-patients-card{background:linear-gradient(145deg, var(--detail-123f43,#123f43), var(--detail-0d3034,#0d3034));min-height:0;color:var(--active-patients-foreground,#fff);flex-direction:column;padding:clamp(.9rem,1.8vh,1.75rem) clamp(1rem,2vw,1.75rem);display:flex}.active-patients-copy{align-items:center;gap:.8rem;display:flex}.active-patients-card .card-kicker{color:var(--active-patients-foreground,#fff)}.active-patients-card .hero-number{z-index:1;color:var(--active-patients-foreground,#fff);margin-top:auto;position:relative}.active-patients-card>p{z-index:1;max-width:22rem;color:var(--active-patients-foreground,#fff);margin:.65rem 0 0;font-size:.78rem;position:relative}.active-visual{opacity:.4;inset-inline-end:1.3rem;align-items:flex-end;gap:.3rem;display:flex;position:absolute;bottom:1.3rem}.active-visual span{background:var(--clinic-accent);border-radius:999px;width:.52rem}.active-visual span:first-child{height:2.2rem}.active-visual span:nth-child(2){height:3.5rem}.active-visual span:nth-child(3){height:5rem}.dashboard-error{border:1px solid var(--detail-ebc9c9,#ebc9c9);background:var(--card,#fff);max-width:44rem;color:var(--error-foreground,#8f3535);border-radius:1rem;align-items:flex-start;gap:1rem;margin:2rem;padding:1.25rem;display:flex}.dashboard-error h2,.dashboard-error p{margin:0}.dashboard-error h2{font-size:1rem}.dashboard-error p{margin-top:.3rem;font-size:.82rem}.patients-page{width:100%;min-height:calc(100svh - 5.2rem);padding:clamp(1rem,2.4vw,2rem);position:relative}.patients-page-heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;max-width:1500px;margin:0 auto 1.2rem;display:flex}.patients-page-heading h2{letter-spacing:-.04em;margin:.35rem 0 0;font-size:clamp(1.65rem,3vw,2.35rem)}.patients-page-heading>div>p:last-child{max-width:40rem;color:var(--muted-foreground);margin:.45rem 0 0;font-size:.88rem}.patients-count{border:1px solid var(--border);background:var(--card,#fff);color:var(--muted-foreground);border-radius:999px;flex:none;padding:.45rem .75rem;font-size:.75rem;font-weight:750}.patients-table-card{max-width:1500px;margin:0 auto}.patients-table{min-width:86rem}.patients-table th,.patients-table td{text-align:start;height:3.6rem;padding-inline:1rem}.patients-table th{background:var(--detail-f3f7f7,#f3f7f7);color:var(--detail-53676a,#53676a);letter-spacing:.035em;text-transform:uppercase;font-size:.7rem;font-weight:800}.patients-table td{color:var(--detail-3f5053,#3f5053);font-size:.78rem}.patients-sort-button{width:100%;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:start;text-transform:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:.4rem;padding:0;display:inline-flex}.patients-sort-button svg{opacity:.48;flex:none;width:.82rem;height:.82rem}.patients-sort-button:hover,.patients-sort-button:focus-visible,.patients-sort-button.active{color:var(--clinic-primary)}.patients-sort-button.active svg{opacity:1}.patients-sort-button:focus-visible{outline:2px solid var(--clinic-primary);border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.patients-sort-button:focus-visible{outline:2px solid color-mix(in srgb, var(--clinic-primary) 35%, transparent)}}.patients-sort-button:focus-visible{outline-offset:3px}.patient-name-cell a{color:var(--foreground);font-weight:800;text-decoration:none}.patient-name-cell a:hover{color:var(--clinic-primary);text-underline-offset:3px;text-decoration:underline}.patient-activity-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;width:fit-content;padding:.3rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.patient-activity-badge>span{background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.patient-activity-badge.active{color:var(--success-foreground,#2f7047);background:var(--success-foreground,#2f7047)}@supports (color:color-mix(in lab, red, red)){.patient-activity-badge.active{background:color-mix(in srgb, var(--success-foreground,#2f7047) 10%, var(--card,#fff))}}.patient-activity-badge.inactive,.patient-activity-badge.unknown{color:var(--muted-foreground);background:var(--muted)}.patient-treatment-pill{background:var(--detail-f1f5f5,#f1f5f5);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .55rem;font-weight:750;display:inline-flex}.patient-treatment-pill>span{border-radius:50%;flex:none;width:.55rem;height:.55rem}.patients-state-card{border:1px solid var(--border);background:var(--card,#fff);max-width:1500px;min-height:26rem;color:var(--muted-foreground);text-align:center;border-radius:1.45rem;place-content:center;justify-items:center;margin:0 auto;padding:2rem;display:grid}.patients-state-card>svg{width:2.2rem;height:2.2rem;color:var(--clinic-primary)}.patients-state-card h3{color:var(--foreground);margin:1rem 0 0}.patients-state-card p{margin:.4rem 0 0}.patients-fab{z-index:20;background:var(--clinic-primary);width:3.6rem;height:3.6rem;color:var(--primary-foreground,#fff);box-shadow:0 12px 30px var(--clinic-primary);inset-inline-end:clamp(1.25rem,3vw,2.5rem);border:0;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:clamp(1.25rem,3vw,2.5rem)}@supports (color:color-mix(in lab, red, red)){.patients-fab{box-shadow:0 12px 30px color-mix(in srgb, var(--clinic-primary) 32%, transparent)}}.patients-fab{cursor:pointer;transition:transform .15s,box-shadow .15s}.patients-fab:hover,.patients-fab:focus-visible{box-shadow:0 16px 34px var(--clinic-primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.patients-fab:hover,.patients-fab:focus-visible{box-shadow:0 16px 34px color-mix(in srgb, var(--clinic-primary) 38%, transparent)}}.patients-fab:hover,.patients-fab:focus-visible{outline:3px solid var(--clinic-primary)}@supports (color:color-mix(in lab, red, red)){.patients-fab:hover,.patients-fab:focus-visible{outline:3px solid color-mix(in srgb, var(--clinic-primary) 20%, transparent)}}.patients-fab:hover,.patients-fab:focus-visible{outline-offset:3px}.patients-fab svg{width:1.45rem;height:1.45rem}.patient-dialog{border-radius:1.25rem;width:min(100vw - 2rem,52rem);max-width:52rem;max-height:min(90svh,48rem);padding:clamp(1.25rem,3vw,2rem);overflow-y:auto}.patient-dialog-header{text-align:start}.patient-dialog-header [data-slot=dialog-title]{font-size:1.35rem}.required-fields-hint{color:var(--detail-8b6464,#8b6464);margin:.15rem 0 0;font-size:.72rem}.patient-form{gap:1.25rem;display:grid}.patient-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.patient-form-field{align-content:start;gap:.42rem;min-width:0;display:grid}.patient-form-field label{font-size:.78rem;font-weight:750}.patient-form-field input,.patient-form-select{border:1px solid var(--input);background:var(--card,#fff);width:100%;height:2.8rem;color:var(--foreground);border-radius:.75rem;outline:none;padding-inline:.8rem;font-size:.85rem}.patient-form-field input:focus,.patient-form-select:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring)}@supports (color:color-mix(in lab, red, red)){.patient-form-field input:focus,.patient-form-select:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 18%, transparent)}}.patient-form-field input[aria-invalid=true],.patient-form-select[aria-invalid=true]{border-color:var(--destructive)}.patient-form-field small{color:var(--destructive);font-size:.68rem}.patient-save-error{background:var(--detail-fff1f1,#fff1f1);color:var(--detail-983d3d,#983d3d);border-radius:.75rem;margin:0;padding:.7rem .8rem;font-size:.78rem}.patient-dialog-footer{margin-top:.25rem}.appointments-table{min-width:92rem}.appointments-table th,.appointments-table td{height:3.2rem;padding-block:.4rem;padding-inline:.72rem}.appointment-treatment-pill{white-space:nowrap}.appointment-number-cell{font-weight:850;color:var(--clinic-primary)!important;font-size:.9rem!important}.appointment-payment-cell{justify-items:start;gap:.3rem;min-width:8.8rem;padding-block:.15rem;display:grid}.appointment-status-cell{justify-items:start;gap:.3rem;min-width:6rem;padding-block:.15rem;display:grid}.appointment-row-actions{flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex}.appointment-row-actions button{border-radius:.75rem;width:2.75rem;height:2.75rem;padding:0}.appointment-row-actions button svg{width:1.1rem;height:1.1rem}.appointment-row-actions .appointment-action-cancel{background:var(--warning,#fff5e9);color:var(--warning-foreground,#8a5a22);border-color:#0000}.appointment-row-actions .appointment-action-restore,.appointment-row-actions .appointment-action-payment.status-paid{background:var(--success,#e8f6ed);color:var(--success-foreground,#2f7047);border-color:#0000}.appointment-row-actions .appointment-action-payment.status-unpaid{background:var(--muted);color:var(--muted-foreground);border-color:#0000}.appointment-row-actions button:hover{filter:brightness(.95)}.appointment-payment-badge{white-space:nowrap;border-radius:999px;justify-content:center;min-width:5.6rem;padding:.26rem .55rem;font-size:.68rem;font-weight:850;display:inline-flex}.appointment-payment-badge.status-paid{background:var(--success,#e8f6ed);color:var(--success-foreground,#2f7047)}.appointment-payment-badge.status-unpaid{background:var(--warning,#fff5e9);color:var(--warning-foreground,#8a5a22)}.appointment-payment-cell button{white-space:nowrap;height:1.85rem;padding-inline:.55rem;font-size:.66rem}.appointment-payment-cell button svg{width:.8rem;height:.8rem}.appointment-payment-cell small,.appointment-status-cell small{max-width:12rem;color:var(--destructive);font-size:.65rem;line-height:1.3}.appointment-status-badge{white-space:nowrap;border-radius:.45rem;justify-content:center;min-width:5.6rem;padding:.3rem .65rem;font-size:.7rem;font-weight:850;display:inline-flex}.appointment-status-badge.status-confirmed{background:var(--detail-dff3e7,#dff3e7);color:var(--detail-24663d,#24663d)}.appointment-status-badge.status-cancelled{background:var(--detail-fde3e3,#fde3e3);color:var(--detail-9b3030,#9b3030)}.appointment-reminder-cell{justify-items:start;gap:.3rem;min-width:11rem;padding-block:.15rem;display:grid}.appointment-reminder-cell small{max-width:15rem;color:var(--destructive);font-size:.65rem;line-height:1.3}.appointment-reminder-status{background:var(--detail-eef3f3,#eef3f3);color:var(--detail-53676a,#53676a);white-space:nowrap;border-radius:999px;align-items:center;padding:.26rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.appointment-reminder-status.status-pending{color:#3d5268;background:#edf2f7}.appointment-reminder-status.status-scheduled{color:#254e86;background:#e5efff}.appointment-reminder-status.status-processing{color:#63408c;background:#eee5ff}.appointment-reminder-status.status-sent{background:var(--success,#e8f6ed);color:var(--success-foreground,#2f7047)}.appointment-reminder-status.status-manually-sent{color:#216760;background:#dff5f3}.appointment-reminder-status.status-failed{background:var(--detail-fff0f0,#fff0f0);color:var(--detail-9a3d3d,#9a3d3d)}.appointment-reminder-status.status-manual-required{background:var(--warning,#fff5e9);color:var(--warning-foreground,#8a5a22)}.appointment-reminder-status.status-skipped{color:#66583d;background:#f2eee4}.appointment-reminder-status.status-cancelled{color:#79465c;background:#f4e4eb}.appointment-reminder-cell button{white-space:nowrap;height:1.85rem;padding-inline:.55rem;font-size:.66rem}.appointment-reminder-cell button svg{width:.8rem;height:.8rem}.appointment-whatsapp-dialog{border-radius:1.25rem;width:min(100vw - 2rem,34rem);max-width:34rem;padding:clamp(1.25rem,3vw,2rem)}.appointment-created-icon{background:var(--success,#e8f6ed);width:3rem;height:3rem;color:var(--success-foreground,#2f7047);border-radius:50%;place-items:center;margin-bottom:.4rem;display:grid}.appointment-created-icon svg{width:1.5rem;height:1.5rem}.appointment-dialog{overscroll-behavior-y:contain;border-radius:1.25rem;width:min(100vw - 2rem,43rem);max-width:43rem;max-height:calc(100dvh - 2rem);padding:clamp(1.25rem,3vw,2rem);scroll-padding-block:1rem;overflow-y:auto}.appointment-patient-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:.5rem;display:grid}.appointment-patient-choices>button{border:1px solid var(--border);background:var(--detail-f8fbfb,#f8fbfb);min-height:10.5rem;color:var(--foreground);text-align:start;cursor:pointer;border-radius:1rem;align-content:center;justify-items:start;gap:.5rem;padding:1.25rem;transition:border-color .15s,background .15s,transform .15s;display:grid}.appointment-patient-choices>button:hover,.appointment-patient-choices>button:focus-visible{border-color:var(--clinic-primary);background:var(--clinic-primary)}@supports (color:color-mix(in lab, red, red)){.appointment-patient-choices>button:hover,.appointment-patient-choices>button:focus-visible{background:color-mix(in srgb, var(--clinic-primary) 6%, var(--card,#fff))}}.appointment-patient-choices>button:hover,.appointment-patient-choices>button:focus-visible{outline:3px solid var(--clinic-primary)}@supports (color:color-mix(in lab, red, red)){.appointment-patient-choices>button:hover,.appointment-patient-choices>button:focus-visible{outline:3px solid color-mix(in srgb, var(--clinic-primary) 16%, transparent)}}.appointment-patient-choices>button:hover,.appointment-patient-choices>button:focus-visible{outline-offset:2px;transform:translateY(-1px)}.appointment-patient-choices>button:disabled{cursor:not-allowed;opacity:.55;transform:none}.appointment-patient-choices svg{width:1.8rem;height:1.8rem;color:var(--clinic-primary)}.appointment-patient-choices strong{font-size:.95rem}.appointment-patient-choices span{color:var(--muted-foreground);font-size:.75rem;line-height:1.45}.appointment-dialog-back{width:fit-content;margin-inline-start:-.7rem}.appointment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.appointment-patient-field{grid-column:1/-1}.appointment-management-page{width:100%;min-height:calc(100svh - 5.2rem);padding:clamp(1rem,2.4vw,2rem);padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.appointment-management-selection{align-content:center;gap:1.35rem;width:min(100%,50rem);min-height:34rem;margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem);display:grid}.appointment-management-heading{text-align:center;justify-items:center;display:grid}.appointment-management-heading>span{background:var(--clinic-primary);border-radius:1rem;place-items:center;width:3.2rem;height:3.2rem;margin-bottom:.8rem;display:grid}@supports (color:color-mix(in lab, red, red)){.appointment-management-heading>span{background:color-mix(in srgb, var(--clinic-primary) 12%, var(--card,#fff))}}.appointment-management-heading>span{color:var(--clinic-primary)}.appointment-management-heading>span svg{width:1.5rem}.appointment-management-heading h2{letter-spacing:-.035em;max-width:38rem;margin:.4rem 0 0;font-size:clamp(1.45rem,3vw,2rem)}.visit-type-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.visit-type-options button{border:1px solid var(--border);background:var(--detail-f8fbfb,#f8fbfb);min-height:5.8rem;color:var(--foreground);text-align:start;cursor:pointer;border-radius:1rem;align-items:center;gap:.75rem;padding:1rem;display:flex}.visit-type-options button:hover,.visit-type-options button:focus-visible,.visit-type-options button.active{border-color:var(--clinic-primary);background:var(--clinic-primary)}@supports (color:color-mix(in lab, red, red)){.visit-type-options button:hover,.visit-type-options button:focus-visible,.visit-type-options button.active{background:color-mix(in srgb, var(--clinic-primary) 7%, var(--card,#fff))}}.visit-type-options button:hover,.visit-type-options button:focus-visible,.visit-type-options button.active{outline:none}.visit-type-options button.active{box-shadow:inset 0 0 0 1px var(--clinic-primary)}.visit-type-options svg{width:1.25rem;color:var(--clinic-primary);flex:none}.patient-search-picker{gap:.45rem;display:grid}.patient-search-picker>label{font-size:.78rem;font-weight:800}.patient-search-input{position:relative}.patient-search-input>svg{z-index:1;width:1rem;color:var(--muted-foreground);top:50%;position:absolute;inset-inline-start:.85rem;transform:translateY(-50%)}.patient-search-input input{height:2.9rem;padding-inline-start:2.5rem}.patient-search-results{border:1px solid var(--border);background:var(--card,#fff);border-radius:.85rem;gap:.2rem;max-height:12rem;padding:.3rem;display:grid;overflow-y:auto}.patient-search-results button{color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:.65rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem .7rem;display:grid}.patient-search-results button:hover,.patient-search-results button:focus-visible,.patient-search-results button[aria-selected=true]{background:var(--detail-edf5f4,#edf5f4);outline:none}.patient-search-results svg{width:1rem;color:var(--clinic-primary)}.patient-search-results p,.selection-hint{color:var(--muted-foreground);text-align:center;margin:0;padding:.75rem;font-size:.76rem}.appointment-management-placeholder{text-align:center;place-content:center;justify-items:center;gap:.75rem;width:min(100%,45rem);min-height:28rem;margin:0 auto;padding:2rem;display:grid}.appointment-management-placeholder>svg{width:2.5rem;color:var(--clinic-primary)}.appointment-management-placeholder h2,.appointment-management-placeholder p{margin:0}.appointment-management-placeholder p{color:var(--muted-foreground)}.clinical-visit-shell{width:min(100%,82rem);margin:0 auto}.clinical-visit-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.clinical-visit-heading h2{letter-spacing:-.04em;margin:.3rem 0 0;font-size:clamp(1.55rem,3vw,2.25rem)}.clinical-visit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;padding:clamp(1.25rem,3vw,2rem);display:grid;overflow:visible}.clinical-form-field{align-content:start;gap:.45rem;min-width:0;display:grid}.clinical-form-field>label,.clinical-chip-field legend{font-size:.8rem;font-weight:800}.clinical-form-field textarea{resize:vertical;background:var(--card,#fff);text-align:start;border-radius:.8rem;width:100%;padding:.8rem;line-height:1.55}.clinical-form-field textarea[aria-invalid=true]{border-color:var(--destructive)}.clinical-form-field small,.clinical-chip-field small{color:var(--destructive);font-size:.69rem}.clinical-form-wide{grid-column:1/-1}.clinical-field-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.clinical-field-heading span{color:var(--muted-foreground);white-space:nowrap;font-size:.7rem}.clinical-field-heading span.over-limit{color:var(--destructive);font-weight:800}.clinical-chip-field{border:0;min-width:0;margin:0;padding:0}.clinical-chip-field legend{margin-bottom:.55rem}.clinical-chips{flex-wrap:wrap;gap:.5rem;display:flex}.clinical-chips button{border:1px solid var(--border);background:var(--detail-f7fafa,#f7fafa);color:var(--detail-435557,#435557);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.48rem .75rem;font-size:.76rem;font-weight:750;display:inline-flex}.clinical-chips button:hover,.clinical-chips button:focus-visible,.clinical-chips button[aria-pressed=true],.clinical-chips button[aria-checked=true]{border-color:var(--clinic-primary);background:var(--clinic-primary)}@supports (color:color-mix(in lab, red, red)){.clinical-chips button:hover,.clinical-chips button:focus-visible,.clinical-chips button[aria-pressed=true],.clinical-chips button[aria-checked=true]{background:color-mix(in srgb, var(--clinic-primary) 10%, var(--card,#fff))}}.clinical-chips button:hover,.clinical-chips button:focus-visible,.clinical-chips button[aria-pressed=true],.clinical-chips button[aria-checked=true]{color:var(--clinic-primary);outline:none}.clinical-chips button svg{width:.8rem}.clinical-form-actions{justify-content:flex-end;display:flex}.clinical-save-success{background:var(--success,#e8f6ed);color:var(--success-foreground,#2f7047);border-radius:.75rem;margin:0;padding:.7rem .8rem;font-size:.78rem}.clinical-section{border-top:1px solid var(--border);gap:1rem;min-width:0;padding-top:1.35rem;display:grid}.clinical-section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.clinical-section-heading h3{align-items:center;gap:.55rem;margin:.2rem 0 0;font-size:1.08rem;display:flex}.clinical-section-heading h3 svg{width:1.05rem;color:var(--clinic-primary)}.clinical-section-heading p:not(.card-kicker){max-width:45rem;color:var(--muted-foreground);margin:.4rem 0 0;font-size:.74rem;line-height:1.55}.clinical-section-error{color:var(--destructive);font-size:.72rem}.clinical-add-button,.clinical-remove-button{border:1px solid var(--border);background:var(--card,#fff);color:var(--clinic-primary);cursor:pointer;flex:none;place-items:center;display:inline-grid}.clinical-add-button{border-radius:999px;width:2rem;height:2rem}.clinical-remove-button{width:2.35rem;height:2.35rem;color:var(--destructive);border-radius:.65rem}.clinical-add-button:hover,.clinical-add-button:focus-visible,.clinical-remove-button:hover,.clinical-remove-button:focus-visible{background:currentColor;border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.clinical-add-button:hover,.clinical-add-button:focus-visible,.clinical-remove-button:hover,.clinical-remove-button:focus-visible{background:color-mix(in srgb, currentColor 6%, var(--card,#fff))}}.clinical-add-button:hover,.clinical-add-button:focus-visible,.clinical-remove-button:hover,.clinical-remove-button:focus-visible{outline:none}.clinical-add-button svg,.clinical-remove-button svg{width:.95rem}.purpose-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.purpose-field:first-child{grid-column:1/-1}.purpose-input-row{align-items:center;gap:.45rem;display:flex}.purpose-input-row input{min-width:0}.bowel-parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1.5rem;display:grid}.bowel-parameter{min-width:0}.food-diary-grid{flex-direction:column;gap:0;display:flex}.food-diary-entry{border-inline-start:2px solid var(--clinic-primary);padding:0 0 1.4rem;grid-template-columns:8rem minmax(0,1fr);gap:.55rem 1rem;min-width:0;padding-inline-start:1.25rem;display:grid;position:relative}.food-diary-entry:before{content:"";background:var(--clinic-primary);inset-inline-start:-.39rem;border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:.25rem}.food-diary-entry .clinical-field-heading{grid-column:1/-1}.clinical-question{gap:.5rem;margin-block-end:1rem;display:grid}@media (max-width:640px){.food-diary-entry{grid-template-columns:minmax(0,1fr)}}.food-diary-entry textarea{resize:vertical;background:var(--card,#fff);text-align:start;border-radius:.75rem;min-height:6.5rem;padding:.7rem;line-height:1.45}.blood-tests-scroll{overscroll-behavior-inline:contain;border:1px solid var(--border);background:var(--card,#fff);border-radius:.9rem;width:100%;max-width:100%;overflow-x:auto}.blood-tests-scroll:focus-visible{outline:3px solid var(--clinic-primary)}@supports (color:color-mix(in lab, red, red)){.blood-tests-scroll:focus-visible{outline:3px solid color-mix(in srgb, var(--clinic-primary) 18%, transparent)}}.blood-tests-scroll:focus-visible{outline-offset:2px}.blood-tests-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.73rem}.blood-tests-table th,.blood-tests-table td{border-bottom:1px solid var(--border);border-inline-end:1px solid var(--border);text-align:start;min-width:9rem;padding:.55rem}.blood-tests-table thead th{z-index:2;background:var(--detail-f3f8f7,#f3f8f7);color:var(--foreground);font-weight:800;position:sticky;top:0}.blood-tests-table th:first-child{z-index:3;background:var(--detail-f8fbfb,#f8fbfb);width:17rem;min-width:17rem;position:sticky;inset-inline-start:0}.blood-tests-table thead th:first-child{z-index:4;background:var(--detail-edf5f4,#edf5f4)}.blood-tests-table tbody th{color:var(--detail-3f5557,#3f5557);font-weight:750}.blood-test-parameter-name{display:block}.blood-test-reference{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.16rem;font-size:.59rem;font-weight:550;line-height:1.2;display:block;overflow:hidden}.blood-tests-table thead small{color:var(--clinic-primary);margin-top:.15rem;font-size:.62rem;display:block}.blood-tests-table input{background:var(--card,#fff);min-width:7.5rem;height:2.2rem;font-size:.74rem}.blood-tests-table thead input[type=date]{min-width:8.6rem;margin-top:.35rem;font-weight:650}.blood-test-date-label{color:var(--muted-foreground);font-size:.64rem;font-weight:800;display:block}.blood-test-abnormal-cell input{border-color:var(--detail-d98a82,#d98a82);background:var(--detail-fff4f3,#fff4f3);color:var(--detail-a43f35,#a43f35);box-shadow:inset 0 0 0 1px var(--detail-a43f35,#a43f35)}@supports (color:color-mix(in lab, red, red)){.blood-test-abnormal-cell input{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--detail-a43f35,#a43f35) 8%, transparent)}}.blood-test-abnormal-cell input{font-weight:750}.blood-test-abnormal-cell input:focus-visible{border-color:var(--detail-b64c42,#b64c42);box-shadow:0 0 0 3px var(--detail-b64c42,#b64c42)}@supports (color:color-mix(in lab, red, red)){.blood-test-abnormal-cell input:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--detail-b64c42,#b64c42) 14%, transparent)}}.blood-tests-table tr:last-child th,.blood-tests-table tr:last-child td{border-bottom:0}.blood-tests-table tr>:last-child{border-inline-end:0}.clinical-metrics-table th:first-child{white-space:normal}.clinical-attachment-card{border:1px solid var(--border);background:var(--detail-fafcfc,#fafcfc);border-radius:1rem;gap:.8rem;padding:1rem;display:grid}.clinical-attachment-card>div:first-child{align-items:flex-start;gap:.7rem;display:flex}.clinical-attachment-card>div:first-child>svg{width:1.2rem;color:var(--clinic-primary);flex:none}.clinical-attachment-card strong{font-size:.82rem}.clinical-attachment-card p{color:var(--muted-foreground);margin:.2rem 0 0;font-size:.7rem}.clinical-file-picker{border:1px solid var(--clinic-primary);background:var(--card,#fff);width:fit-content;min-height:2.35rem;color:var(--clinic-primary);cursor:pointer;border-radius:.7rem;align-items:center;padding:.45rem .8rem;font-size:.75rem;font-weight:800;display:inline-flex;position:relative}.clinical-file-picker input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.clinical-selected-file{font-weight:700;color:var(--foreground)!important}.clinical-stored-file{border-top:1px solid var(--border);justify-content:space-between;padding-top:.8rem;align-items:center!important;gap:1rem!important;display:flex!important}.clinical-stored-file span{min-width:0;display:grid}.clinical-stored-file strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clinical-stored-file small{color:var(--muted-foreground);font-size:.65rem}.previous-backgrounds{gap:.75rem;margin-bottom:1rem;display:grid}.previous-backgrounds h3{margin:.2rem 0 0;font-size:1rem}.previous-background-list{gap:.65rem;display:grid}.previous-background-card{border:1px solid var(--border);border-inline-start:3px solid var(--clinic-primary);background:var(--detail-f8fbfb,#f8fbfb);border-radius:.85rem;min-width:0;padding:.8rem .9rem}.previous-background-card h4{color:var(--clinic-primary);margin:0 0 .4rem;font-size:.73rem}.previous-background-card p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--detail-435557,#435557);margin:0;font-size:.76rem;line-height:1.6}.settings-page{width:min(100%,86rem);padding:clamp(1rem,2.5vw,2.2rem);padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px));margin:0 auto}.settings-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.2rem;display:flex}.settings-heading h2{letter-spacing:-.04em;margin:.25rem 0;font-size:clamp(1.6rem,3vw,2.3rem)}.settings-heading p:not(.card-kicker){max-width:45rem;color:var(--muted-foreground);margin:0;font-size:.78rem}.settings-card{gap:1.15rem;margin-bottom:1rem;padding:clamp(1rem,2.5vw,1.6rem);display:grid;overflow:visible}.settings-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,26rem),1fr));align-items:stretch;gap:1.25rem;display:grid;position:relative}.settings-cards>.settings-card{align-content:start;width:100%;min-width:0;height:auto;margin:0}.settings-cards .settings-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.settings-cards .treatment-settings-row,.settings-cards .location-settings-row{grid-template-columns:minmax(0,1fr) auto}.settings-cards .location-settings-destination{grid-column:1/-1}.settings-cards .location-settings-row>.settings-status-button{grid-column:2}.settings-section-title{align-items:flex-start;gap:.75rem;display:flex}.settings-section-title>svg{width:1.2rem;color:var(--clinic-primary);flex:none}.settings-section-title>div{flex:1;min-width:0}.settings-section-title h3{margin:0;font-size:1rem}.settings-section-title p{color:var(--muted-foreground);margin:.25rem 0 0;font-size:.7rem;line-height:1.5}.settings-section-title button{flex:none}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.settings-form-grid>div{gap:.4rem;min-width:0;display:grid}.settings-form-grid label{font-size:.72rem;font-weight:800}.settings-color-field{grid-template-columns:2.6rem minmax(0,1fr);gap:.45rem;display:grid}.settings-color-field input[type=color]{border:1px solid var(--border);background:var(--card,#fff);cursor:pointer;border-radius:.65rem;width:2.6rem;height:2.35rem;padding:.18rem}.settings-treatment-color>span{color:var(--muted-foreground);grid-column:1/-1;font-size:.62rem;font-weight:800}.settings-list,.settings-option-sections{gap:.65rem;display:grid}.settings-list-row{border:1px solid var(--border);background:var(--detail-fafcfc,#fafcfc);border-radius:.85rem;align-items:center;gap:.55rem;min-width:0;padding:.7rem;display:grid}.settings-list-row code{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;overflow:hidden}.treatment-settings-row{grid-template-columns:minmax(10rem,1fr) auto;grid-auto-flow:column}.location-settings-row{grid-template-columns:minmax(9rem,1fr) auto minmax(12rem,2fr) auto}.location-settings-destination{gap:.35rem;min-width:0;display:grid}.location-settings-destination p{color:var(--muted-foreground);margin:0;font-size:.7rem;line-height:1.5}@media (max-width:1100px){.location-settings-row{grid-template-columns:minmax(0,1fr) auto}.location-settings-destination{grid-column:1/-1}.location-settings-row>.settings-status-button{grid-column:2}}.option-settings-row{grid-template-columns:minmax(7rem,.7fr) repeat(3,minmax(9rem,1fr)) auto}.settings-status-button{border:1px solid var(--detail-d9b9b5,#d9b9b5);background:var(--card,#fff);min-height:2.2rem;color:var(--detail-9a4940,#9a4940);cursor:pointer;white-space:nowrap;border-radius:.65rem;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.68rem;font-weight:800;display:inline-flex}.settings-status-button.archived{border-color:var(--detail-aed0c1,#aed0c1);color:var(--success-foreground,#2f7047)}.settings-status-button svg{width:.8rem}.settings-checkbox{white-space:nowrap;align-items:center;gap:.4rem;font-size:.69rem;font-weight:750;display:flex}.settings-option-group{border-top:1px solid var(--border);gap:.6rem;padding-top:.9rem;display:grid}.settings-option-group:first-child{border-top:0;padding-top:0}.settings-option-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-option-heading h4{margin:0;font-size:.82rem}.settings-floating-save{z-index:30;inset-inline-end:calc(1rem + max(env(safe-area-inset-left,0px), env(safe-area-inset-right,0px)));bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:3.5rem;height:3.5rem;box-shadow:0 8px 24px var(--detail-1c3a3d,#1c3a3d);border-radius:50%;padding:0;position:fixed}@supports (color:color-mix(in lab, red, red)){.settings-floating-save{box-shadow:0 8px 24px color-mix(in srgb, var(--detail-1c3a3d,#1c3a3d) 24%, transparent)}}.settings-page>.clinical-save-success{align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.settings-page>.clinical-save-success svg{width:1rem}.settings-validation-summary{border:1px solid var(--destructive);margin-bottom:.8rem}@supports (color:color-mix(in lab, red, red)){.settings-validation-summary{border:1px solid color-mix(in srgb, var(--destructive) 35%, var(--card,#fff))}}.settings-validation-summary{background:var(--destructive);border-radius:.9rem}@supports (color:color-mix(in lab, red, red)){.settings-validation-summary{background:color-mix(in srgb, var(--destructive) 5%, var(--card,#fff))}}.settings-validation-summary{color:var(--destructive);padding:.85rem 1rem;font-size:.75rem}.settings-validation-summary ul{gap:.25rem;margin:.45rem 0 0;padding-inline-start:1.2rem;display:grid}.settings-page [aria-invalid=true]{border-color:var(--destructive)}.google-calendar-settings{overflow:hidden}.google-calendar-connection{justify-items:start;gap:.9rem;display:grid}.google-calendar-actions{flex-wrap:wrap;gap:.65rem;display:flex}.google-calendar-status,.google-calendar-loading{color:var(--muted-foreground);align-items:center;gap:.45rem;margin:0;font-size:.78rem;font-weight:800;display:inline-flex}.google-calendar-status.connected{color:var(--success-foreground,#2f7047)}.google-calendar-status svg,.google-calendar-loading svg,.google-calendar-settings button svg,.google-calendar-settings .clinical-save-success svg{width:1rem;height:1rem}.google-calendar-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;width:min(100%,42rem);display:grid}.google-calendar-details>div{gap:.4rem;min-width:0;display:grid}.google-calendar-details label{font-size:.72rem;font-weight:800}.google-calendar-details a{min-width:0;color:var(--clinic-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:750;overflow:hidden}.google-calendar-event-color{gap:.4rem;width:min(100%,20rem);display:grid}.google-calendar-event-color>label{font-size:.72rem;font-weight:800}.google-calendar-event-color>small{color:var(--muted-foreground);font-size:.66rem;line-height:1.5}.google-calendar-warning,.google-calendar-preserved{border-radius:.75rem;max-width:48rem;margin:0;padding:.7rem .8rem;font-size:.72rem;line-height:1.5}.google-calendar-warning{border:1px solid var(--detail-e6cda2,#e6cda2);background:var(--detail-fff9ed,#fff9ed);color:var(--detail-75531d,#75531d)}.google-calendar-preserved{border:1px solid var(--border);background:var(--detail-f8fbfb,#f8fbfb);color:var(--muted-foreground)}.google-calendar-settings>.clinical-save-success,.google-calendar-settings>.patient-save-error{margin:0}.spin{animation:.9s linear infinite google-calendar-spin}@keyframes google-calendar-spin{to{transform:rotate(360deg)}}.patient-page{width:100%;max-width:65rem;margin:0 auto;padding:clamp(1rem,3vw,2.2rem)}.back-button{margin-bottom:1rem}.patient-profile-card,.patient-empty{border:1px solid var(--border);background:var(--card,#fff);box-shadow:0 8px 30px var(--detail-1c3a3d,#1c3a3d);border-radius:1.5rem;padding:clamp(1.5rem,4vw,2.5rem)}@supports (color:color-mix(in lab, red, red)){.patient-profile-card,.patient-empty{box-shadow:0 8px 30px color-mix(in srgb, var(--detail-1c3a3d,#1c3a3d) 4.5%, transparent)}}.patient-avatar{background:var(--detail-e6f0ef,#e6f0ef);width:4.5rem;height:4.5rem;color:var(--primary);border-radius:1.3rem;place-items:center;display:grid}.patient-avatar svg{width:2rem}.patient-title{margin-top:1.25rem}.patient-title h2{letter-spacing:-.04em;margin:.35rem 0 .25rem;font-size:2rem}.patient-title>span{color:var(--muted-foreground);font-size:.8rem}.patient-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:2rem;display:grid}.patient-contact-grid>div{border:1px solid var(--border);border-radius:1rem;gap:.2rem;min-width:0;padding:1rem;display:grid}.patient-contact-grid svg{width:1rem;color:var(--primary);margin-bottom:.5rem}.patient-contact-grid span{color:var(--muted-foreground);font-size:.68rem}.patient-contact-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.patient-empty{text-align:center;justify-items:center;padding-block:5rem;display:grid}.patient-empty svg{width:2rem;color:var(--muted-foreground)}.patient-empty h2{margin:1rem 0 .3rem}.patient-empty p{color:var(--muted-foreground);margin:0}@media (max-width:1180px){.dashboard-content{grid-template-columns:minmax(0,2fr) minmax(19rem,3fr)}.summary-grid,.dashboard-main-column,.statistics-stack{gap:.85rem}}@media (max-width:900px){.login-page{grid-template-columns:1fr}.login-story{display:none}.mobile-brand{margin-bottom:3.5rem;display:inline-flex}.app-surface-viewport{height:auto;min-height:calc(100svh - 1rem);overflow:visible}.dashboard-content{grid-template-columns:1fr;height:auto;min-height:auto}html[dir=rtl] .dashboard-content{direction:rtl}.dashboard-main-column{grid-template-rows:auto auto}.planned-card,.active-patients-card{min-height:13rem}.statistics-stack{grid-template-rows:auto}.statistic-card{min-height:11rem}.calendar-card{min-height:clamp(28rem,62svh,36rem)}.food-diary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.option-settings-row{grid-template-columns:minmax(7rem,.7fr) repeat(2,minmax(9rem,1fr)) auto;overflow-x:auto}}@media (max-width:767px){.app-surface-viewport{min-height:100svh}}@media (max-width:640px){.login-panel{padding:1.25rem}.mobile-brand{margin-bottom:2.7rem}.app-header{min-height:4.5rem}.clinic-switcher{max-width:10.5rem}.clinic-switcher small{display:none}.dashboard-content{padding:.8rem}.dashboard-card{border-radius:1.1rem}.calendar-card{padding:1rem}.calendar-card-header{align-items:flex-start}.calendar-card-header h2{font-size:.95rem}.calendar-navigation{gap:0}.calendar-navigation button{width:2rem;height:2rem}.calendar-navigation button:nth-child(2){width:auto}.month-calendar-grid{gap:.12rem;min-height:16rem}.calendar-day{padding:.25rem}.summary-grid{grid-template-columns:1fr}.statistics-stack{grid-template-rows:auto}.week-view{grid-template-columns:repeat(7,minmax(0,1fr))}.day-view{grid-template-columns:1fr}.day-date-block{min-height:8rem}.year-view{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-contact-grid{grid-template-columns:1fr}.patients-page-heading{flex-direction:column;align-items:flex-start;gap:.75rem}.patient-form-grid{grid-template-columns:1fr}.patient-dialog-footer{flex-direction:column-reverse}.appointment-patient-choices,.appointment-form-grid{grid-template-columns:1fr}.appointment-patient-field{grid-column:auto}.visit-type-options,.clinical-visit-form{grid-template-columns:1fr}.clinical-form-wide{grid-column:auto}.clinical-visit-heading{flex-direction:column;align-items:flex-start}.purpose-fields,.bowel-parameter-grid,.food-diary-grid{grid-template-columns:1fr}.purpose-field:first-child{grid-column:auto}.blood-tests-table th:first-child{width:13rem;min-width:13rem}.clinical-stored-file,.settings-heading,.settings-section-title{flex-direction:column;align-items:flex-start}.settings-form-grid,.google-calendar-details{grid-template-columns:1fr}.option-settings-row{grid-template-columns:minmax(7rem,.7fr) minmax(10rem,1fr) auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.clinical-secondary-sidebar{background:var(--sidebar);flex:0 0 10rem;height:100dvh;padding:1rem .5rem;position:sticky;top:0;overflow-y:auto}.clinical-section-nav{flex-direction:column;gap:.25rem;display:flex}.clinical-section-nav a{color:var(--sidebar-foreground);overflow-wrap:anywhere;border-radius:.75rem;padding:.8rem .85rem;font-size:.9rem;font-weight:500;line-height:1.4}.clinical-section-nav a:hover,.clinical-section-nav a[aria-current=location]{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.clinical-section-nav a[aria-current=location]{box-shadow:inset 0 0 0 1px var(--card,#fff);font-weight:700}@supports (color:color-mix(in lab, red, red)){.clinical-section-nav a[aria-current=location]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--card,#fff) 12%, transparent)}}.clinical-section-nav a:focus-visible{outline:2px solid var(--sidebar-ring);outline-offset:-2px}.clinical-secondary-mobile{display:none}.clinical-section [id]{scroll-margin-block-start:6rem}@media (max-width:1100px){.clinical-secondary-sidebar{display:none}.clinical-secondary-mobile{z-index:10;background:var(--sidebar);min-width:0;max-width:100%;display:block;position:sticky;top:0}.clinical-secondary-mobile .clinical-section-nav{flex-direction:row;padding:.4rem;overflow-x:auto}.clinical-secondary-mobile a{flex-shrink:0}}.summaries-page{width:100%;min-width:0;max-width:1500px;margin-inline:auto;padding:2rem clamp(1rem,3vw,3rem) 4rem}.summary-search-area{text-align:center;width:min(100%,660px);margin:clamp(2rem,10vh,7rem) auto 3rem}.summaries-has-patient .summary-search-area{margin-block-start:1rem}.summary-search-emblem{width:2.5rem;height:2.5rem;color:var(--primary);margin:0 auto 1rem}.summary-search-area h2{margin-bottom:.6rem;font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:600}.summary-search-area>p,.summary-patient-heading p,.summary-file-help{color:var(--muted-foreground);font-size:.9rem;line-height:1.6}.summary-search-field{background:var(--card);border:1px solid var(--border);box-shadow:0 5px 22px var(--detail-11393a,#11393a);border-radius:999px;align-items:center;gap:.8rem;margin-block-start:1.6rem;padding:.4rem 1.3rem;display:flex}@supports (color:color-mix(in lab, red, red)){.summary-search-field{box-shadow:0 5px 22px color-mix(in srgb, var(--detail-11393a,#11393a) 3.137%, transparent)}}.summary-search-field:focus-within{outline:2px solid var(--ring);outline-offset:3px}.summary-search-field svg{width:1.2rem;color:var(--muted-foreground);flex-shrink:0}.summary-search-field input{box-shadow:none;background:0 0;border:0;border-radius:0;min-width:0;height:2.9rem;font-size:1.05rem}.summary-search-field input:focus-visible{box-shadow:none;outline:none}.summary-search-results{border:1px solid var(--border);background:var(--card);text-align:start;border-radius:1.3rem;margin-top:.75rem;padding:.6rem}.summary-search-results>p{color:var(--muted-foreground);padding:.4rem .75rem;font-size:.8rem}.summary-search-results ul{max-height:280px;overflow:auto}.summary-search-results button{text-align:start;cursor:pointer;border-radius:.7rem;width:100%;padding:.8rem}.summary-search-results button:hover,.summary-search-results button:focus-visible{background:var(--muted)}.summary-status,.summary-empty{text-align:center;color:var(--muted-foreground);padding:2rem}.summary-error{color:var(--detail-a53128,#a53128);padding:1rem}.summary-error button{margin-block-start:.75rem}.summary-patient-heading{justify-content:space-between;align-items:center;gap:1rem;margin-block-end:1.3rem;display:flex}.summary-patient-heading h2{margin-block-end:.3rem;font-size:1.5rem;font-weight:600}.summary-patient-heading>span{color:var(--muted-foreground);flex-shrink:0;font-size:.85rem}.summary-table-scroll{overscroll-behavior-inline:contain;width:100%;max-width:100%;overflow-x:auto}.summary-list-scroll{background:var(--card);border:1px solid var(--border);border-radius:1.3rem}.summary-list,.summary-detail-table{border-collapse:collapse;text-align:start;width:100%}.summary-list{table-layout:fixed;min-width:670px}.summary-list>thead th{background:var(--muted);color:var(--muted-foreground);text-align:start;padding:1rem;font-size:.8rem;font-weight:500}.summary-list>thead th:first-child{width:155px}.summary-list>thead th:nth-child(2){width:80px}.summary-list-row>th,.summary-list-row>td{border-top:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;text-align:start;padding:1.2rem 1rem;font-size:.9rem;line-height:1.65}.summary-list-row{cursor:pointer}.summary-list-row:hover,.summary-list-row[data-expanded=true]{background:var(--detail-eef5f5,#eef5f5)}@supports (color:color-mix(in lab, red, red)){.summary-list-row:hover,.summary-list-row[data-expanded=true]{background:color-mix(in srgb, var(--detail-eef5f5,#eef5f5) 43.92%, transparent)}}.summary-expand{cursor:pointer;text-align:start;align-items:center;gap:.5rem;font-weight:600;display:flex}.summary-expand svg{flex-shrink:0;width:1rem;height:1rem;transition:transform .15s}.summary-expand[aria-expanded=true] svg{transform:rotate(180deg)}.summary-expand small{color:var(--muted-foreground);font-size:.7rem;font-weight:400;display:block}.summary-expanded-cell{background:var(--detail-f8fbfb,#f8fbfb);border-top:1px solid var(--border);padding:1.3rem}.summary-record{gap:1rem;min-width:0;display:grid}.summary-section{border:1px solid var(--border);background:var(--card);border-radius:1rem;min-width:0;padding:1.3rem}.summary-section h3,.summary-file h3{color:var(--primary);margin-block-end:.8rem;font-size:1rem;font-weight:600}.summary-section dl{gap:1rem;display:grid}.summary-section dt{color:var(--muted-foreground);margin-bottom:.25rem;font-size:.8rem}.summary-section dd{white-space:pre-wrap;overflow-wrap:anywhere;text-align:start;font-size:.95rem;line-height:1.8}.summary-detail-table{min-width:400px}.summary-detail-table th,.summary-detail-table td{text-align:start;border-bottom:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap;padding:.7rem;font-size:.85rem}.summary-detail-table th{color:var(--muted-foreground);font-weight:500}.summary-abnormal{color:var(--detail-9c2b28,#9c2b28);background:var(--detail-fff2ec,#fff2ec)}.summary-file{border:1px solid var(--border);background:var(--card);overflow-wrap:anywhere;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1.3rem;display:flex}.summary-file>div:first-child{flex:300px;min-width:0}.summary-file-help{max-width:650px;margin-block-start:.4rem;font-size:.8rem}.summary-file-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.summary-upload{background:var(--primary);color:var(--primary-foreground);cursor:pointer;border-radius:.7rem;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.85rem;display:inline-flex;position:relative}.summary-upload svg{width:1rem;height:1rem}.summary-upload input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.summary-upload:focus-within{outline:2px solid var(--ring);outline-offset:3px}.summary-upload:has(input:disabled){opacity:.5}@media (max-width:900px){.summaries-page{padding-inline:1rem}.summary-patient-heading{flex-wrap:wrap}.summary-expanded-cell{padding:.6rem}}.blood-tests-table input,.clinical-visit-form input[type=date],.clinical-visit-form input[type=time]{text-align:match-parent}.summary-file,.summary-section,.clinical-visit-form{text-align:start}.summary-list-row .summary-file{background:0 0;border:0;border-radius:0;gap:.5rem;margin:0;padding:0}.summary-list-row .summary-file>div:first-child{flex-basis:auto}.summary-list-row .summary-file h3{margin-block-end:.25rem}.summary-list-row .summary-file-help{display:none}.clinical-visit-form input[type=date]{text-align:left}html[dir=rtl] .clinical-visit-form input[type=date]{text-align:right}.clinical-visit-form input[type=date]::-webkit-date-and-time-value{text-align:inherit}.clinical-visit-form input[type=date]::-webkit-datetime-edit{text-align:inherit;flex:1}.clinical-visit-form input[type=date]::-webkit-datetime-edit-fields-wrapper{direction:ltr;display:inline-block}.blood-tests-table[dir=rtl] th,.blood-tests-table[dir=rtl] td{text-align:right}.blood-tests-table[dir=ltr] th,.blood-tests-table[dir=ltr] td{text-align:left}.summary-list{min-width:960px}.summary-list>thead th:nth-child(5){width:155px}.summary-list>thead th:last-child{width:160px}.summary-list-row>th,.summary-list-row>td{vertical-align:middle;white-space:nowrap;overflow-wrap:normal;padding:.65rem 1rem}.summary-preview{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.summary-list-row .summary-file{white-space:nowrap;flex-wrap:nowrap;display:inline-flex;position:relative}.summary-upload{white-space:nowrap;padding:.45rem .65rem}.summary-file-status>div{justify-items:start;gap:.5rem;display:grid}.clinical-visit-form .blood-tests-table input.blood-test-date-input{text-align:right;direction:ltr}.clinical-visit-form .blood-tests-table input.blood-test-date-input::-webkit-datetime-edit{flex:none;margin-left:auto;padding:0}.clinical-visit-form .blood-tests-table input.blood-test-date-input::-webkit-calendar-picker-indicator{flex:none;margin:0 0 0 .35rem;padding:0}.clinical-metrics-table .bmi-help{max-width:12rem;color:var(--muted-foreground);font-size:.7rem;font-weight:400;display:block}.appearance-settings{gap:1rem;min-width:0;margin-top:1.5rem;display:grid}.appearance-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:1rem;display:flex}.appearance-heading h4{margin:0}.appearance-heading p{max-width:65ch;color:var(--muted-foreground);font-size:.85rem;line-height:1.6}.appearance-preview{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:.875rem;grid-template-columns:minmax(8rem,1fr) minmax(0,3fr);display:grid;overflow:hidden}.appearance-preview-sidebar{background:var(--sidebar);color:var(--sidebar-foreground);flex-direction:column;gap:1rem;padding:1rem;display:flex}.appearance-preview-nav{background:var(--sidebar-primary);color:var(--sidebar-primary-foreground);border-radius:.5rem;padding:.5rem}.appearance-preview-body{gap:1rem;min-width:0;padding:1rem;display:grid}.appearance-preview-body>p{color:var(--muted-foreground);margin:0}.appearance-preview-card{border:1px solid var(--border);background:var(--card);color:var(--card-foreground);border-radius:.75rem;gap:.75rem;padding:1rem;display:grid}.appearance-preview-buttons,.appearance-preview-statuses{flex-wrap:wrap;gap:.5rem;display:flex}.appearance-preview-statuses>span{border-radius:.5rem;padding:.3rem .7rem}.appearance-group{border:1px solid var(--border);border-radius:.75rem;padding:.8rem 1rem}.appearance-group>summary{cursor:pointer;font-weight:600}.appearance-group>summary span{color:var(--muted-foreground)}.appearance-color-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));padding-top:1rem}@media (max-width:600px){.appearance-preview{grid-template-columns:minmax(0,1fr)}.appearance-preview-sidebar{flex-flow:wrap;align-items:center}}.dashboard-card,.summary-section,.clinical-section,.patients-state-card{color:var(--card-foreground)}.patients-fab{background:var(--button-background);color:var(--button-foreground)}.appearance-group[hidden],.appearance-color-grid>[hidden]{display:none}.summary-template-settings{gap:1rem;display:grid}.summary-template-settings>*{overflow-wrap:anywhere;min-width:0}.summary-template-settings .settings-checkbox{white-space:normal;align-items:flex-start}.summary-template-settings .settings-checkbox input{flex:none;margin-top:.2rem}.summary-template-upload{gap:.5rem;font-weight:600;display:grid}.summary-template-upload input{width:100%;max-width:100%;font-weight:400}.summary-template-controls{flex-wrap:wrap;gap:1rem;display:flex}.summary-template-controls label{flex:120px;gap:.35rem;display:grid}.summary-template-controls input,.summary-template-controls select{border:1px solid var(--border);background:var(--background);border-radius:10px;width:100%;padding:.6rem}.summary-template-crop{border:1px solid #ccd9da;width:100%;max-width:540px;margin-inline:auto;position:relative;overflow:hidden}.summary-template-crop canvas,.summary-pdf-canvas canvas{width:100%;height:auto;display:block}.summary-template-body{color:#476367;text-align:center;background:#fff;border-block:2px dashed #25847c;place-items:center;display:grid;position:absolute;inset-inline:0}.summary-pdf-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.summary-pdf-dialog{width:min(900px,100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;max-width:900px!important}.summary-pdf-editor{gap:.5rem;display:grid}.summary-pdf-metadata{text-align:start;gap:.4rem;display:grid}.summary-pdf-metadata h3{text-align:center;margin-block:1rem .25rem;font-size:1.25rem;font-weight:700}.summary-pdf-editor textarea{resize:vertical;min-height:12rem;line-height:1.7}.summary-pdf-floating{inset-inline-end:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;border-radius:50%;width:56px;height:56px;position:fixed;box-shadow:0 6px 24px #0003}.summary-pdf-floating svg{width:24px;height:24px}.summary-pdf-sections{gap:16px;min-width:0;display:grid}.summary-pdf-section{border:1px solid var(--border);border-radius:12px;gap:12px;min-width:0;padding:16px;display:grid}.summary-pdf-section legend{padding-inline:6px;font-weight:600}.summary-pdf-section-heading{align-items:end;gap:8px;display:flex}.summary-pdf-section-heading label{flex:1;gap:6px;min-width:0;display:grid}.summary-pdf-bullets{gap:10px;padding:0;list-style:none;display:grid}.summary-pdf-bullets li{align-items:start;gap:8px;min-width:0;display:flex}.summary-pdf-bullets li>span{padding-top:8px}.summary-pdf-bullets textarea{resize:vertical;flex:1;min-width:0;min-height:4rem;line-height:1.7}.summary-section-bullets{white-space:pre-wrap;padding-inline-start:24px;list-style:outside}.summary-pdf-preview{gap:1rem;min-width:0;display:grid}.summary-pdf-canvas{background:#e8eeee;border-radius:8px;padding:.5rem}.summary-pdf-text{white-space:pre-wrap;overflow-wrap:anywhere}.summary-pdf-notice{color:#6c4a16;background:#fff5df;border-radius:10px;padding:.75rem}.portal-dashboard-page,.patient-blue-theme,.patient-login-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f9fd;--foreground:#304b65;--card:#fff;--card-foreground:#304b65;--primary:#dbeafa;--primary-foreground:#294f70;--secondary:#eff5fc;--secondary-foreground:#345774;--muted:#f1f6fc;--muted-foreground:#5b7187;--accent:#e8f1fb;--accent-foreground:#294f70;--border:#dce7f2;--input:#dce7f2;--ring:#7e9fbe;--button-background:#dbeafa;--button-foreground:#294f70;color:var(--foreground)}.portal-dashboard-page{background:var(--page-background,var(--background));padding:clamp(12px,3vw,36px) clamp(8px,2vw,28px) 100px}.portal-dashboard-page .portal-dashboard-shell{border-radius:28px;gap:18px;width:min(100%,1280px);padding:clamp(16px,2.5vw,32px);box-shadow:0 12px 50px #355e8208}.patient-dashboard-heading{justify-content:flex-end}.patient-overview-header{direction:rtl;justify-content:space-between;align-items:center;gap:12px;padding-block:0 8px;display:flex}.patient-overview-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.patient-profile{align-items:center;gap:16px;min-width:0;display:flex}.patient-profile>div{overflow-wrap:anywhere;min-width:0}.patient-profile-photo{outline:1px solid var(--border);color:#6488ab;background:#e9f2fc;border:4px solid #fff;border-radius:50%;flex-shrink:0;place-items:center;width:72px;height:72px;display:grid;overflow:hidden}.patient-profile-photo picture,.patient-profile-photo img{object-fit:cover;width:100%;height:100%}.portal-day-submit{background:var(--muted);border-radius:18px;gap:12px;padding:18px;display:grid}.portal-day-submit>button{white-space:normal;width:100%;height:auto;min-height:44px}.patient-profile-photo svg{width:34px;height:34px}.patient-greeting{color:#466d90;font-size:16px;font-weight:550}.patient-clinic-name{color:var(--muted-foreground);font-size:13px}.patient-updates{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.patient-updates>button{border:1px solid var(--border);text-align:start;cursor:pointer;background:#f5f9fe;border-radius:18px;align-items:center;gap:12px;min-width:0;min-height:96px;padding:16px;transition:background .15s;display:flex}.patient-updates>button:nth-child(2){background:#f0f6fd}.patient-updates>button:hover{background:#e8f2fc}.patient-updates>button>span:last-child{min-width:0}.patient-update-label{color:var(--muted-foreground);margin-bottom:5px;font-size:12px;display:block}.patient-updates strong{overflow-wrap:anywhere;font-size:14px;font-weight:550;line-height:1.6}.patient-update-icon,.patient-soft-icon{color:#4b7195;background:#e1edfa;border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid;position:relative}.patient-update-icon svg,.patient-soft-icon svg{width:21px;height:21px}.patient-update-dot{inset-inline-end:4px;background:#638db8;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:3px}.patient-dashboard-layout[data-slot=tabs]{direction:ltr;grid-template-columns:minmax(0,1fr) 206px;align-items:start;gap:28px;display:grid}.patient-sidebar{border:1px solid var(--border);background:#f8fbff;border-radius:20px;grid-area:1/2;min-width:0;padding:14px 10px;position:sticky;top:18px}.patient-side-tabs[data-slot=tabs-list]{background:0 0;flex-direction:column;gap:7px;width:100%;padding:0;display:flex}.patient-side-tabs [role=tab]{color:#526d86;white-space:normal;text-align:start;border-radius:13px;flex:none;justify-content:flex-start;gap:12px;width:100%;height:auto;min-height:48px;padding:12px;font-size:14px}.patient-side-tabs [role=tab][data-state=active]{color:#315a80;box-shadow:none;background:#e2eefb;border-color:#d3e4f6}.patient-side-tabs [role=tab] svg{width:19px;height:19px}.patient-sidebar-chat{text-align:start;color:#466d90;cursor:pointer;border-radius:13px;align-items:center;gap:12px;width:100%;min-height:48px;margin-top:18px;padding:12px;font-size:14px;display:flex}.patient-sidebar-chat:hover{background:#e8f1fb}.patient-sidebar-chat svg{flex-shrink:0;width:19px;height:19px}.patient-main{grid-area:1/1;min-width:0;padding:8px 0 24px}.patient-main [role=tabpanel]{min-width:0;margin:0}.patient-section-heading{align-items:center;gap:12px;margin-bottom:12px;display:flex}.patient-section-heading p{color:var(--muted-foreground);font-size:13px}.patient-main .portal-muted{font-size:12px}.patient-visit-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;padding:0;list-style:none;display:grid}.patient-visit-note{overflow-wrap:anywhere;background:#f0f6fe;border:1px solid #dce8f5;border-radius:6px 20px 20px;align-content:start;gap:14px;min-height:190px;padding:28px 22px 22px;display:grid;position:relative;box-shadow:0 7px 18px #476b9007}.patient-visit-note:nth-child(3n+2){background:#f6f8ff}.patient-visit-note:nth-child(3n+3){background:#edf5fc}.patient-note-pin{color:#6385a5;fill:#e2edf8;width:22px;height:22px;position:absolute;top:-10px;left:calc(50% - 11px);transform:rotate(-20deg)}.patient-note-label{color:#5b7997;align-items:center;gap:7px;font-size:12px;display:flex}.patient-note-label svg{width:15px;height:15px}.patient-visit-note h4{color:#315778;font-size:20px;font-weight:600}.patient-visit-note p{color:#57738d;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;display:flex}.patient-visit-note p svg{flex-shrink:0;width:15px;height:15px}.patient-visits-empty{text-align:center;min-height:220px;color:var(--muted-foreground);background:#f6f9fe;border:1px dashed #d5e3f1;border-radius:20px;align-content:center;justify-items:center;gap:16px;margin-block:24px;padding:24px;display:grid}.patient-visits-empty>svg{color:#7798b7;width:36px;height:36px}.patient-main .portal-meals{border:0;padding-top:0}.portal-dashboard-page .portal-account-settings{border:0;padding-top:16px}.portal-dashboard-page .portal-budget-remaining strong{color:#355e82}.portal-dashboard-page .portal-meal-summary progress{accent-color:#91b4d6}.portal-dashboard-page .portal-meal-summary progress::-webkit-progress-bar{background:#e2eaf4;border-radius:8px}.portal-dashboard-page .portal-meal-summary progress::-webkit-progress-value{background:#91b4d6;border-radius:8px}.portal-dashboard-page .portal-meal-summary progress::-moz-progress-bar{background:#91b4d6}.portal-dashboard-page .patient-chat-launcher{border:1px solid #c7dcf0;box-shadow:0 6px 24px #355e8218}.patient-updates button:focus-visible,.patient-sidebar-chat:focus-visible{outline-offset:3px;outline:2px solid #759bc1}.patient-login-page .login-story{color:#304b65;background:linear-gradient(150deg,#edf5fd,#dcecfb)}.patient-login-page .login-story :is(h1,p,li,.brand-lockup,.security-note){color:#304b65}.patient-login-page [data-variant=link],.portal-dashboard-page [data-variant=link]{color:#426e95}@media (max-width:760px){.patient-dashboard-layout[data-slot=tabs]{grid-template-columns:minmax(0,1fr) 68px;gap:12px}.patient-sidebar{border-radius:16px;padding:8px 4px;top:8px}.patient-side-tabs [role=tab],.patient-sidebar-chat{text-align:center;flex-direction:column;justify-content:center;gap:6px;min-height:64px;padding:10px 3px;font-size:11px;line-height:1.5}.patient-sidebar-chat{margin-top:10px}.patient-visit-notes{grid-template-columns:1fr;gap:18px}.patient-visit-note{min-height:174px;padding:24px 16px 18px}.patient-visit-note h4{font-size:18px}.patient-section-heading{align-items:start}.patient-section-heading .patient-soft-icon{display:none}.portal-dashboard .patient-section-heading h3{font-size:17px}.patient-updates{gap:8px}.patient-updates>button{flex-direction:column;align-items:start;gap:10px;padding:12px 10px}.patient-updates strong{font-size:12px}.patient-update-label{font-size:11px}.patient-update-icon{border-radius:10px;width:30px;height:30px}.patient-update-icon svg{width:17px;height:17px}.patient-profile{gap:12px}.patient-profile-photo{border-width:3px;width:54px;height:54px}.portal-dashboard .portal-patient-name{font-size:21px}.patient-greeting{font-size:14px}.portal-dashboard{gap:20px}}.color-preset-settings{border:0;min-width:0;margin-top:1.5rem;padding:0}.color-preset-settings legend{font-size:1.1rem;font-weight:700}.color-preset-settings>p{color:var(--muted-foreground);margin:.5rem 0 1rem}.color-preset-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.color-preset-option{border:2px solid var(--border);cursor:pointer;background:var(--card);color:var(--card-foreground);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;display:flex}.color-preset-option:has(input:checked){border-color:var(--primary)}.color-preset-option:focus-within{outline:2px solid var(--ring);outline-offset:3px}.color-preset-option input{accent-color:var(--primary);width:1rem;height:1rem}.color-preset-swatches{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.color-preset-swatches span{width:22px;height:28px}.color-preset-option strong{width:100%}.clinic-sidebar [data-sidebar=menu-button]:not(:disabled):hover,[data-slot=tabs-trigger]:not(:disabled):hover{background:var(--sidebar-accent,#edf2f2);color:var(--sidebar-accent-foreground,#111827)}.sidebar-brand .brand-mark{color:var(--sidebar-foreground)}.app-surface[data-slot=sidebar-inset],.app-header{border-radius:0}.clinic-sidebar[data-slot=sidebar-container]{border-inline:0}.app-surface[data-slot=sidebar-inset]{box-shadow:none}.app-header{z-index:9;border-bottom:1px solid #d1d5db;position:sticky;top:0;box-shadow:0 7px 18px #0000001a,0 2px 5px #0000000a}.clinic-sidebar[data-slot=sidebar-container]:after{content:"";pointer-events:none;width:1px;background:#d1d5db;position:absolute;inset-block-start:calc(var(--shell-header-height,5.2rem) - 1px);inset-block-end:0;inset-inline-end:0;box-shadow:5px 0 16px 3px #0000001a}[dir=rtl] .clinic-sidebar[data-slot=sidebar-container]:after{box-shadow:-5px 0 16px 3px #0000001a}.clinical-secondary-sidebar{padding-block-start:calc(var(--shell-header-height,5.2rem) + 1rem)}.clinical-secondary-sidebar:after{content:"";pointer-events:none;width:1px;background:#d1d5db;position:absolute;inset-block-start:calc(var(--shell-header-height,5.2rem) - 1px);inset-block-end:0;inset-inline-end:0}@media (min-width:1101px){[data-slot=sidebar-wrapper]:has(.clinical-secondary-sidebar) .clinic-sidebar[data-slot=sidebar-container]:after{display:none}.clinical-secondary-sidebar{box-shadow:5px 0 16px 3px #0000001a}[dir=rtl] .clinical-secondary-sidebar{box-shadow:-5px 0 16px 3px #0000001a}}@media (max-width:1100px){.clinical-secondary-mobile{top:var(--shell-header-height,5.2rem);z-index:8}}.header-controls{flex-shrink:0;align-items:center;gap:16px;margin-inline-start:auto;display:flex}.clinic-quick-actions :is(a,.tracking-bell),.color-mode-toggle{background:var(--muted);width:44px;height:44px;color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative}.clinic-quick-actions .tracking-bell:hover,.color-mode-toggle:hover{background:var(--accent)}.tracking-bell:focus-visible,.color-mode-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.color-mode-toggle svg{width:20px;height:20px}.color-mode-select:focus-within{outline:2px solid var(--ring);outline-offset:3px}.color-mode-select select{min-height:44px}.tracking-notification-popover{width:min(340px,100vw - 24px);max-height:min(440px, var(--radix-popover-content-available-height));border-radius:16px;padding:12px;overflow-y:auto;box-shadow:0 12px 36px #0003}.tracking-notification-popover h2{padding:6px 8px 12px;font-size:15px;font-weight:650}.tracking-notification-popover p{color:var(--muted-foreground);padding:12px 8px}.tracking-notification-popover li+li{border-top:1px solid var(--border)}.tracking-notification-popover a{overflow-wrap:anywhere;border-radius:10px;gap:5px;min-height:64px;padding:12px 10px;display:grid}.tracking-notification-popover a:hover{background:var(--accent)}.tracking-notification-popover a:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.tracking-notification-popover a span{color:var(--muted-foreground);font-size:13px}.meal-notification-popover{padding:8px}.meal-notification-popover h2{padding:4px 6px 8px}.tracking-meal-preview{text-align:start;cursor:pointer;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 8px;display:flex}.tracking-meal-preview:hover{background:var(--accent)}.tracking-meal-preview:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.tracking-meal-preview>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--foreground);flex:1;font-size:13px;overflow:hidden}.tracking-meal-preview>time{white-space:nowrap;color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}@media (pointer:coarse){.tracking-meal-preview{min-height:44px}}.reported-meal-dialog{overscroll-behavior:contain;width:calc(100vw - 24px);max-width:680px;max-height:calc(100dvh - 32px);overflow-y:auto}.reported-meal-heading{justify-content:space-between;align-items:start;gap:8px;min-width:0;display:flex}.reported-meal-heading [data-slot=dialog-title]{overflow-wrap:anywhere;min-width:0}.reported-meal-heading button{flex-shrink:0}.reported-meal-dialog .portal-staff-meals[data-notification=true]{box-shadow:none;border:0;margin:0;padding:0}.reported-meal-dialog .portal-dashboard-toolbar{justify-content:flex-end}@media (max-width:520px){.reported-meal-dialog{padding:16px}}@media (min-width:641px){.app-header:has(.clinic-quick-actions) .clinic-switcher{display:flex}}@media (max-width:640px){.header-controls{gap:10px}}:root[data-color-mode=dark] .app-header{border-bottom-color:var(--border);box-shadow:0 8px 24px #0007}:root[data-color-mode=dark] .clinic-sidebar[data-slot=sidebar-container]:after,:root[data-color-mode=dark] .clinical-secondary-sidebar:after{background:var(--border);box-shadow:0 0 18px #0007}:root[data-color-mode=dark] .tracking-feed tr[data-unread=true]{background:var(--accent)}:root[data-color-mode=dark] :is(.patient-sidebar,.patient-updates>button,.patient-visit-note,.patient-visits-empty){background:var(--card);border-color:var(--border);color:var(--foreground)}:root[data-color-mode=dark] :is(.patient-updates>button:hover,.patient-sidebar-chat:hover,.patient-side-tabs [role=tab][data-state=active]){background:var(--accent);color:var(--accent-foreground);border-color:var(--border)}:root[data-color-mode=dark] :is(.patient-profile-photo,.patient-update-icon,.patient-soft-icon){background:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}:root[data-color-mode=dark] :is(.patient-greeting,.patient-side-tabs [role=tab],.patient-sidebar-chat,.patient-note-label,.patient-visit-note h4,.patient-visit-note p,.portal-dashboard-page .portal-budget-remaining strong,.patient-login-page [data-variant=link],.portal-dashboard-page [data-variant=link]){color:var(--foreground)}:root[data-color-mode=dark] .patient-login-page .login-story{background:var(--sidebar)}:root[data-color-mode=dark] .patient-login-page .login-story :is(h1,p,li,.brand-lockup,.security-note){color:var(--foreground)}:root[data-color-mode=dark] .patient-note-pin{color:var(--muted-foreground);fill:var(--secondary)}:root[data-color-mode=dark] .summary-pdf-notice{background:var(--warning);color:var(--warning-foreground)}.staff-meal-section{gap:8px;min-width:0;display:grid}.staff-meal-section>h4{color:var(--foreground);margin:0;font-size:14px;font-weight:500}.staff-meal-content,.portal-meal-result.staff-meal-content{background:var(--muted);color:var(--foreground);overflow-wrap:anywhere;border-radius:12px;gap:10px;padding:14px 16px;display:grid}.clinical-data-disclosure>summary{cursor:pointer;color:var(--foreground);padding-block:8px}.clinical-data-disclosure>summary::marker{color:var(--muted-foreground)}.clinical-data-disclosure>summary h3{vertical-align:middle;align-items:center;gap:.55rem;margin:0;font-size:1.08rem;display:inline-flex}.clinical-data-disclosure>summary h3 svg{width:1.05rem;color:var(--clinic-primary)}.clinical-data-disclosure>summary:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:6px}.clinical-data-disclosure[open]>summary{margin-block-end:16px}.portal-nutrient-chart{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;width:100%;max-width:620px;margin-inline:auto;display:grid}.portal-nutrient-pie{width:100%;max-width:280px;margin-inline:auto;display:block;overflow:visible}.portal-nutrient-chart .portal-nutrients{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.portal-nutrient-dot{border-radius:50%;width:9px;height:9px;margin-inline-end:5px;display:inline-block}.portal-nutrient-caption{grid-column:1/-1;font-size:12px}.tracking-feed-name time{color:var(--muted-foreground);font-size:12px}@media (max-width:520px){.portal-nutrient-chart{grid-template-columns:1fr}.portal-nutrient-pie{max-width:220px}}.patient-updates{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.patient-overview-header{direction:inherit}.portal-meal-nutrients{border-block-start:1px solid var(--border);padding-block:12px}.patient-login-emblem{color:#246b61;background:#e2f0ed;border-radius:22px;place-items:center;width:64px;height:64px;margin-block:8px 24px;display:grid}.patient-login-emblem svg{width:30px;height:30px}.patient-login-benefits{flex-wrap:wrap;gap:12px;margin-block:24px;display:flex}.patient-login-benefits span{background:var(--secondary);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.patient-login-benefits svg,.patient-login-hint svg{flex-shrink:0;width:18px;height:18px}.patient-login-hint{color:var(--muted-foreground);align-items:start;gap:8px;margin-block:16px;font-size:13px;line-height:1.7;display:flex}@media (max-width:640px){.portal-dashboard-page{padding:0 0 calc(24px + env(safe-area-inset-bottom));background:var(--background)}.portal-dashboard-page .portal-dashboard-shell{box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;padding:0}.portal-dashboard-page .portal-dashboard{gap:16px}.patient-overview-header{padding:calc(20px + env(safe-area-inset-top)) 20px 16px;background:var(--card);border-bottom:1px solid var(--border)}.patient-profile-photo{width:56px;height:56px}.patient-greeting{font-size:13px;font-weight:500;line-height:1.6}.portal-dashboard .portal-patient-name{letter-spacing:-.03em;margin:2px 0;font-size:24px;line-height:1.35}.patient-clinic-name{font-size:12px}.patient-updates{gap:10px;margin-inline:16px}.patient-updates>button{background:var(--card);border-radius:18px;flex-direction:row;align-items:center;min-height:72px;padding:14px 16px}.patient-updates strong{font-size:14px}.patient-update-icon{border-radius:13px;width:40px;height:40px}.patient-dashboard-layout[data-slot=tabs]{direction:inherit;flex-direction:column;gap:0;display:flex}.patient-sidebar{z-index:20;border:0;border-block:1px solid var(--border);background:var(--card);border-radius:0;width:100%;padding:8px 12px;position:sticky;top:0}.patient-side-tabs[data-slot=tabs-list]{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:stretch;gap:3px;height:auto;display:grid}.patient-side-tabs [role=tab]{overflow-wrap:anywhere;border:0;border-radius:12px;grid-template-rows:19px minmax(2.8em,auto);grid-template-columns:minmax(0,1fr);place-content:start stretch;place-items:start center;gap:6px;width:100%;min-height:72px;padding:8px 3px;font-size:11px;line-height:1.4;display:grid}.patient-side-tabs [role=tab] .patient-tab-label{text-align:center;width:100%;min-width:0;min-height:2.8em;display:block}.patient-side-tabs [role=tab][data-state=active]{color:#255c72;background:#e5f1f5;font-weight:700}.patient-sidebar-chat{display:none}.patient-main{width:100%;padding:20px 16px}.patient-main [role=tabpanel]{scroll-margin-top:96px}.patient-visit-notes{gap:12px;margin-top:16px}.patient-visit-note{background:var(--card);min-height:auto;box-shadow:none;border-radius:18px;gap:12px;padding:20px}.patient-note-pin{display:none}.patient-visit-note:nth-child(n){background:var(--card)}.patient-section-heading p{line-height:1.6}.portal-dashboard-page .portal-meal-summary{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:20px 16px}.portal-dashboard-page .portal-meal-card{background:var(--card);border-radius:20px;padding:18px 16px}.portal-dashboard-page .portal-meal-grid{grid-template-columns:minmax(0,1fr);gap:16px}.portal-dashboard-page :is(button,select,input:not([type=checkbox]):not([type=file])){min-height:44px}.portal-dashboard-page :is(input,textarea,select){font-size:16px}.portal-dashboard-page .portal-actions{flex-wrap:wrap}.portal-dashboard-page .portal-actions>button{white-space:normal;flex:auto;height:auto}.portal-dashboard-page .portal-meal-nutrients{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-dashboard-page .portal-plan-row{border:1px solid var(--border);background:var(--card);border-radius:18px;flex-direction:column;align-items:stretch;gap:16px;padding:18px}.portal-dashboard-page .portal-account-settings{gap:20px;display:grid}.portal-dashboard-page .patient-chat-launcher{bottom:calc(16px + env(safe-area-inset-bottom))}.patient-login-page{background:radial-gradient(at 90% 0,#dbece8,#0000 55%),#f6f9fd;display:block}.patient-login-page .login-panel{min-height:100svh;padding:calc(80px + env(safe-area-inset-top)) 24px calc(32px + env(safe-area-inset-bottom));align-items:center;display:flex}.patient-login-page .login-card{width:100%;max-width:420px;margin-inline:auto}.patient-login-page .mobile-brand{margin-bottom:32px;font-size:15px}.patient-login-page .brand-mark{width:36px;height:36px}.patient-login-page .login-card h2{letter-spacing:-.035em;color:#234759;max-width:12ch;margin-block:10px 16px;font-size:clamp(30px,8vw,38px);line-height:1.2}.patient-login-page .login-intro{color:#526b7b;font-size:15px;line-height:1.8}.patient-login-page .google-button{background:#fff;border:1px solid #bacdd8;border-radius:16px;min-height:56px;font-size:16px;box-shadow:0 4px 12px #23475908}.patient-login-page [data-variant=link]{white-space:normal;min-height:48px;margin-top:8px}.patient-login-page .login-language-selector{top:calc(18px + env(safe-area-inset-top));inset-inline-end:20px}.patient-login-page .language-selector select{min-height:44px}.patient-login-page .auth-error{border-radius:14px;padding:16px}:root[data-color-mode=dark] .patient-login-page{background:var(--background)}:root[data-color-mode=dark] .patient-login-page :is(.login-card h2,.login-intro){color:var(--foreground)}:root[data-color-mode=dark] .patient-login-page .google-button{background:var(--card);border-color:var(--border);color:var(--foreground)}:root[data-color-mode=dark] .patient-side-tabs [role=tab][data-state=active]{color:var(--accent-foreground);background:var(--accent)}}.loading-progress{z-index:2147483647;pointer-events:none;background:var(--muted,#e4ecef);direction:ltr;width:100%;height:4px;position:fixed;inset:0 0 auto;overflow:hidden}.loading-progress-indicator{background:var(--clinic-primary,var(--primary,#315a80));transform-origin:0;width:100%;height:100%;animation:1.5s linear infinite data-loading-progress;display:block}.loading-progress[data-state=complete] .loading-progress-indicator{animation:none;transform:scaleX(1)}@keyframes data-loading-progress{0%{transform:scaleX(0)}85%,to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.loading-progress-indicator{animation:none;transform:scaleX(1)}}.summary-pdf-dialog{text-align:start}.summary-pdf-dialog [data-slot=dialog-header]{text-align:start;padding-inline-end:24px}.summary-pdf-dialog>[data-slot=dialog-close]{left:auto;right:auto;inset-inline-end:16px}.summary-pdf-dialog input,.summary-pdf-dialog textarea{text-align:start}.summary-pdf-subtitle{text-align:center;font-weight:400}.summary-pdf-section-heading label>input,.summary-pdf-section legend{font-weight:700}.summary-pdf-section textarea{font-weight:400}[dir=rtl] .tracking-feed-time{text-align:right}.portal-target-ranges{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.meal-score{width:124px;height:124px;margin-block:12px;position:relative}.meal-score svg{width:100%;height:100%;overflow:visible}.meal-score[data-tone=red]{--meal-score-color:#dc2626}.meal-score[data-tone=dark-orange]{--meal-score-color:#c2410c}.meal-score[data-tone=yellow]{--meal-score-color:#facc15}.meal-score[data-tone=dark-green]{--meal-score-color:#166534}.meal-score[data-tone=neon-green]{--meal-score-color:#7cfc00}.meal-score circle{fill:none;stroke-width:9px}.meal-score-track{stroke:var(--muted)}.meal-score-value{stroke:var(--meal-score-color);stroke-linecap:round}.meal-score>span{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.meal-score strong{font-size:2rem;line-height:1.2}.meal-score small{font-size:.8rem}.meal-celebration{z-index:100;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.meal-confetti{position:relative}.meal-confetti i{border-radius:2px;width:9px;height:14px;animation:3s ease-out both meal-confetti-burst;position:absolute}@keyframes meal-confetti-burst{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:1}80%{opacity:1}to{transform:translate(var(--x), var(--y)) rotate(var(--rotation));opacity:0}}@media (prefers-reduced-motion:reduce){.meal-confetti i{transform:translate(var(--x), var(--y));opacity:.8;animation:none}}.meal-score-reasons{text-align:start;margin-block:8px 16px;padding-inline-start:22px;list-style:outside}.meal-score-reasons li{white-space:normal;overflow-wrap:anywhere;margin-block:6px;line-height:1.65}.portal-card,.portal-meals,.portal-meal-journal,.portal-meal-card,.portal-meal-result,.staff-meal-content{grid-template-columns:minmax(0,1fr);min-width:0}.portal-meal-card>*,.portal-meal-result>*,.staff-meal-section,.meal-assessment,.meal-score-reasons{min-width:0;max-width:100%}.portal-message-body,.portal-meal-description,.meal-score-reasons li{overflow-wrap:anywhere;white-space:pre-wrap;text-overflow:clip;-webkit-line-clamp:unset;min-width:0;max-width:100%;max-height:none;overflow:visible}.meal-timeline{--rail:64px;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0;margin:0;padding:0;list-style:none;display:grid;position:relative}.meal-timeline:before{content:"";background:var(--border);width:2px;position:absolute;inset-block:20px;inset-inline-start:var(--rail)}.meal-timeline-entry{grid-template-columns:52px minmax(0,1fr);align-items:start;gap:28px;min-width:0;display:grid;position:relative}.meal-timeline-entry:before{content:"";border:2px solid var(--background);background:var(--primary);inset-inline-start:calc(var(--rail) - 4px);border-radius:50%;width:10px;height:10px;position:absolute;top:21px}.meal-timeline-time{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;padding-block-start:16px;font-size:14px;font-weight:650}.meal-timeline-entry>.portal-meal-card{background:var(--card);width:100%;container-type:inline-size}.meal-timeline-entry .meal-assessment{grid-template-columns:84px minmax(0,1fr);align-items:start;gap:16px;display:grid}.meal-timeline-entry .meal-score{width:84px;height:84px;margin-block:0}.meal-timeline-entry .meal-score strong{font-size:1.5rem}.meal-timeline-entry .meal-score small{font-size:.7rem}.meal-timeline-entry .meal-score-reasons{margin-block:0}@container (max-width:400px){.meal-timeline-entry .meal-assessment{grid-template-columns:minmax(0,1fr);gap:12px}}@media (max-width:520px){.meal-timeline{--rail:5px;gap:20px}.meal-timeline-entry{grid-template-columns:minmax(0,1fr);gap:8px;padding-inline-start:22px}.meal-timeline-time{padding-block-start:0}.meal-timeline-entry:before{top:6px}.meal-timeline:before{inset-block:10px}.portal-dashboard-page .meal-timeline-entry>.portal-meal-card,.meal-timeline-entry>.portal-meal-card{padding:14px 12px}.meal-timeline-entry .portal-meal-result{padding:12px}.portal-staff-meals.portal-card{padding:16px 12px}}.daily-meal-rating{border:1px solid var(--border);background:var(--card);border-radius:22px;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;min-width:0;padding:22px;display:grid}.daily-meal-rating-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.daily-meal-rating-heading>div,.daily-meal-rating-reasons{overflow-wrap:anywhere;min-width:0}.daily-meal-rating h3{font-size:19px;font-weight:700}.daily-meal-average{font-variant-numeric:tabular-nums;font-size:26px}.daily-meal-average small{color:var(--muted-foreground);font-size:14px;font-weight:400}.daily-meal-stars{gap:8px;width:fit-content;max-width:100%;display:flex}.daily-meal-stars svg{flex-shrink:1;width:clamp(28px,8vw,40px);height:clamp(28px,8vw,40px)}.daily-star-track{fill:var(--muted);stroke:var(--border);stroke-width:1px}.daily-star-fill{fill:#d99825}.daily-meal-rating-label{overflow-wrap:anywhere;font-size:14px}.daily-meal-rating-reasons{border-block-start:1px solid var(--border);padding-block-start:14px}.daily-meal-rating-reasons h4{font-weight:600}.daily-meal-rating .meal-score-reasons{margin-block-end:0}@media (max-width:520px){.daily-meal-rating{padding:18px 14px}}.meal-timeline-entry .meal-assessment,.meal-assessment{grid-template-columns:minmax(0,1fr);display:grid}.meal-assessment-top{justify-content:space-between;align-items:start;gap:20px;min-width:0;display:flex}.meal-assessment-top .meal-score{flex-shrink:0}.meal-nutrient-bars{width:min(100%,340px);min-width:0;margin:0}.meal-nutrient-columns{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;display:grid}.meal-nutrient-column{text-align:center;overflow-wrap:anywhere;font-size:11px}.meal-nutrient-bar-space{height:var(--meal-nutrient-height,72px);border-bottom:1px solid var(--border);justify-content:center;align-items:end;display:flex;position:relative}.meal-nutrient-bar-space>div{border-radius:5px 5px 0 0;width:70%}.meal-nutrient-bar-space strong{color:var(--foreground);background:var(--card);border-radius:4px;padding:1px 3px;position:absolute;top:0}.meal-nutrient-bars figcaption{text-align:center;color:var(--muted-foreground);margin-top:6px;font-size:10px}.nutrient-pie-percent{fill:#fff;stroke:#172117;stroke-width:2px;paint-order:stroke;font-size:13px;font-weight:700}.meal-add-floating{left:max(18px, env(safe-area-inset-left));bottom:calc(22px + env(safe-area-inset-bottom));z-index:40;color:#fff;background:#17334a;border:2px solid #fff;border-radius:50%;width:56px;height:56px;position:fixed;box-shadow:0 4px 16px #0005}.meal-add-floating:hover{color:#fff;background:#254b69}.portal-meal-journal{padding-bottom:80px}.daily-activity{border:1px solid var(--border);border-radius:18px;min-width:0;padding:16px 12px}.daily-activity-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.daily-activity-heading h3{font-weight:600}.daily-activity-track{height:46px;margin:10px 8px 0;position:relative}.daily-activity-line{border-top:2px dashed var(--muted-foreground);position:absolute;inset:32px 0 auto}.daily-activity-track svg{width:28px;height:28px;color:var(--foreground);pointer-events:none;position:absolute;top:0;transform:scaleX(-1)}.daily-activity-track input{touch-action:none;appearance:none;opacity:0;cursor:pointer;background:0 0;width:100%;height:46px;margin:0;position:absolute;inset:0}.daily-activity-track:focus-within{outline:2px solid var(--ring);outline-offset:3px;border-radius:8px}.daily-activity-endpoints{justify-content:space-between;font-size:12px;display:flex}.daily-activity form{flex-wrap:wrap;align-items:end;gap:12px;margin-top:12px;display:flex}.daily-activity form label{gap:6px;display:grid}.daily-activity input[type=number]{border:1px solid var(--border);border-radius:8px;width:100px;padding:6px}.portal-meal-summary progress.daily-calorie-progress{accent-color:var(--budget-color)}.portal-meal-summary progress.daily-calorie-progress::-webkit-progress-value{background:var(--budget-color)}.portal-meal-summary progress.daily-calorie-progress::-moz-progress-bar{background:var(--budget-color)}@media (max-width:380px){.meal-assessment-top{flex-wrap:wrap}.meal-nutrient-bars{width:100%}}.daily-activity-track input::-webkit-slider-thumb{appearance:none;width:28px;height:46px}.daily-activity-track input::-moz-range-thumb{border:0;width:28px;height:46px}.patient-visit-open{border-radius:inherit;cursor:pointer;position:absolute;inset:0}.patient-visit-open:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.patient-dashboard-layout[data-slot=tabs]{direction:inherit;grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.patient-dashboard-layout>.patient-sidebar{z-index:20;border-radius:16px;grid-area:1/1;width:100%;padding:8px;position:sticky;top:0}.patient-side-tabs[data-slot=tabs-list]{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;height:auto;display:grid}.patient-side-tabs [role=tab]{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:72px;padding:10px 4px;display:flex}.patient-dashboard-layout>.patient-main{grid-area:2/1;width:100%;padding-top:0}.patient-main .patient-updates{margin:0 0 24px}.patient-recent-title{margin-block:20px 0}.patient-main .patient-visit-notes{margin-top:16px}.daily-activity[data-compact=true]{border:0;border-radius:0;padding:0 8px}.daily-activity[data-compact=true] .daily-activity-track{margin-block:0}.portal-budget-details>summary,.journal-card-details>summary{cursor:pointer;min-height:44px;color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:8px;font-size:13px;list-style:none;display:flex}.portal-budget-details>summary::-webkit-details-marker{display:none}.portal-budget-details>summary svg,.journal-card-details>summary svg{flex-shrink:0;width:18px;height:18px;transition:transform .15s}.portal-budget-details[open]>summary svg,.journal-card-details[open]>summary svg{transform:rotate(180deg)}.portal-budget-details>summary:focus-visible,.journal-card-details>summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:8px}.portal-budget-expanded,.journal-card-expanded{gap:12px;padding-top:12px;display:grid}.journal-card-details{border-top:1px solid var(--border)}.journal-card-heading{direction:ltr;justify-content:flex-start;display:flex}.journal-card-badges{align-items:center;gap:10px;display:flex}.journal-meal-number{border:2px solid var(--primary);flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab, red, red)){.journal-meal-number{border:2px solid color-mix(in srgb, var(--primary) 35%, var(--card))}}.journal-meal-number{background:var(--accent);color:var(--foreground);font-variant-numeric:tabular-nums;border-radius:50%;font-weight:650}.portal-journal-card .journal-card-badges .meal-score{width:58px;height:58px;margin:0}.journal-card-actions{flex-wrap:wrap;align-items:start;gap:8px;display:flex}.journal-card-actions>div{flex:1;min-width:0}.journal-card-actions .portal-journal-photo{margin-top:8px}.meal-draft-list{flex-wrap:wrap;gap:8px;display:flex}.meal-editor-dialog{overscroll-behavior-y:contain;max-height:calc(100dvh - 2rem);scroll-padding-block:16px;overflow-y:auto}.meal-editor-heading{direction:ltr;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.meal-editor-heading [data-slot=dialog-title]{text-align:center;overflow-wrap:anywhere}.meal-editor-dialog .meal-time-field{width:50%;min-width:0}.meal-editor-dialog .meal-time-field input{width:100%;min-width:0;max-width:100%}.meal-editor-dialog .portal-photo-row{flex-wrap:nowrap;gap:8px;display:flex}.meal-editor-dialog .portal-photo-row .portal-photo-picker{border-style:solid;flex-direction:row;flex:1 1 0;gap:6px;min-width:0;padding:10px 6px;display:flex}.meal-editor-dialog .portal-photo-picker svg{flex-shrink:0}.meal-draft-photo{justify-content:flex-start;align-items:center;gap:4px;display:flex}.meal-editor-dialog .portal-actions{margin-bottom:0}.meal-editor-dialog .portal-actions button[type=submit]{width:100%}@media (max-width:640px){.patient-dashboard-layout[data-slot=tabs]{gap:0}.patient-dashboard-layout>.patient-sidebar{border-radius:0;padding:8px 12px}.patient-side-tabs [role=tab]{font-size:11px}.patient-dashboard-layout>.patient-main{padding-top:20px}.meal-editor-dialog{padding:16px}}.meal-nutrient-columns{padding-top:18px}.meal-nutrient-bar-space strong{background:0 0;border-radius:0;width:max-content;max-width:100%;padding:0;font-size:11px;line-height:1.25;top:auto;left:50%;transform:translate(-50%)}.journal-card-heading{grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);align-items:start;gap:8px;display:grid}.journal-card-badges{display:contents}.journal-card-badges .journal-meal-number{grid-area:1/3;justify-self:end}.portal-journal-card .journal-card-badges .meal-score{grid-area:1/2;width:104px;height:104px;margin:0}.journal-card-badges .meal-score strong{font-size:1.8rem}.journal-card-badges .meal-score small{font-size:11px}.daily-meal-rating-reasons>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:44px;font-weight:600;list-style:none;display:flex}.daily-meal-rating-reasons>summary::-webkit-details-marker{display:none}.daily-meal-rating-reasons>summary svg{flex-shrink:0;width:18px;height:18px}.daily-meal-rating-reasons[open]>summary svg{transform:rotate(180deg)}.daily-meal-rating-reasons>summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:8px}.portal-nutrient-chart .portal-nutrients{gap:6px}.portal-nutrient-chart .portal-nutrients>div{grid-template-rows:minmax(2.8em,auto) auto;gap:4px;min-width:0;font-size:11px;display:grid}.portal-nutrient-chart .portal-nutrients dt{overflow-wrap:anywhere;font-size:11px;line-height:1.35}.portal-nutrient-chart .portal-nutrients dd{font-size:12px}.daily-activity-help{color:var(--muted-foreground);margin-block:4px 8px;font-size:12px;line-height:1.5}.daily-activity-track,.daily-activity[data-compact=true] .daily-activity-track{height:70px;margin-inline:28px}.daily-activity-line{top:56px}.daily-activity-runner{pointer-events:none;width:28px;height:28px;position:absolute;top:24px}.daily-activity-runner svg{top:0;right:0}.daily-activity-value{white-space:nowrap;color:var(--foreground);font-variant-numeric:tabular-nums;font-size:12px;line-height:16px;position:absolute;top:-22px;right:50%;transform:translate(50%)}.daily-activity-track input{height:70px}.clinical-appointment-field{min-width:0}.clinical-appointment-trigger{text-align:start;white-space:normal;width:100%;min-width:0;max-width:100%;height:auto;min-height:2.8rem}.clinical-appointment-trigger [data-slot=select-value]{overflow-wrap:anywhere;-webkit-line-clamp:unset;min-width:0;display:block}.clinical-appointment-options{width:var(--radix-select-trigger-width);min-width:0;max-width:calc(100vw - 24px);max-height:min(20rem, var(--radix-select-content-available-height))}.clinical-appointment-options [data-radix-select-viewport]{width:100%;min-width:0!important}.clinical-appointment-options [data-slot=select-item]{white-space:normal;overflow-wrap:anywhere;text-align:start;min-width:0}.clinical-appointment-options [data-slot=select-item]>span:last-child{min-width:0;display:block}.tracking-workspace-toolbar{direction:ltr;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;margin-block-end:24px;display:grid}.tracking-back-button{grid-area:1/1;margin-block-start:4px}.tracking-patient-search{width:min(100%,720px);min-width:0;direction:inherit;grid-area:1/2;justify-self:center}[dir=rtl] .tracking-patient-search{direction:rtl}.tracking-patient-search .summary-search-field{margin:0}.tracking-patient-search .summary-search-results{text-align:start}.tracking-patient-content [data-slot=tabs-content]{min-width:0}.tracking-date-tiles button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:640px){.tracking-workspace-toolbar{grid-template-columns:minmax(0,1fr);gap:12px}.tracking-back-button{justify-self:start}.tracking-patient-search{grid-area:2/1;width:100%}}.meal-file-recovery{gap:6px;margin-block-start:8px}.meal-photo-read-details textarea{width:100%;max-width:100%;margin-block:8px;font-family:monospace;font-size:.8rem}.meal-score[data-tone=neutral]{--meal-score-color:var(--muted-foreground)}.meal-score-context{overflow-wrap:anywhere;min-width:0}.meal-score-context>p{margin-block:6px}.meal-adequacy{gap:8px;display:grid}.meal-adequacy>div{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.meal-adequacy dd{overflow-wrap:anywhere;margin:0}.meal-coverage-control{border:1px solid var(--border);border-radius:16px;padding:12px 16px}.meal-coverage-control label{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.meal-coverage-control input{flex-shrink:0;width:18px;height:18px}.portal-scoring-targets>summary{cursor:pointer;min-height:44px;padding-block:10px}:root .patient-dashboard-layout>nav.patient-floating-navigation{top:auto;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40;color:#edf6fa;background:linear-gradient(125deg,#17334a,#245b67);border:1px solid #ffffff24;border-radius:32px;width:calc(100% - 24px);max-width:560px;padding:8px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #102e4a40,inset 0 1px #ffffff14}:root .patient-floating-navigation .patient-side-tabs[data-slot=tabs-list]{background:0 0;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:4px;width:100%;height:auto;min-height:64px;padding:0;display:grid}:root .patient-floating-navigation .patient-side-tabs [role=tab][data-state]{color:#e8f2f6;width:100%;height:100%;min-height:64px;box-shadow:none;text-align:center;background:0 0;border:0;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 4px;font-size:12px;line-height:1.3;transition:color .18s,background .18s,box-shadow .18s;display:flex}:root .patient-floating-navigation .patient-side-tabs [role=tab][data-state=active]{color:#18384a;background:#f5d49a;font-weight:700;box-shadow:0 3px 12px #081e342e}:root .patient-floating-navigation .patient-side-tabs [role=tab][data-state=active]:hover{background:#ffe2b0}:root .patient-floating-navigation .patient-side-tabs [role=tab]:focus-visible{outline-offset:2px;outline:2px solid #fff2d7}:root .patient-floating-navigation .patient-tab-label{width:100%;min-height:0;line-height:1.3}:root .patient-floating-navigation .patient-sidebar-chat{display:none}.patient-dashboard-layout>.patient-main{padding-bottom:calc(var(--patient-dock-height,82px) + 42px + env(safe-area-inset-bottom));grid-row:1}.patient-appointment-calendar{--calendar-teal:#235c65;--calendar-past:#deefed;--calendar-gold:#f7d69b;--calendar-ink:#203f4c;height:calc(100dvh - var(--patient-calendar-top,170px) - var(--patient-dock-height,82px) - 44px - env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--card);border-radius:28px;flex-direction:column;gap:12px;min-height:420px;padding:clamp(16px,3vw,30px);display:flex;box-shadow:0 12px 40px #234b6010}.patient-appointment-calendar[data-weeks="6"]{min-height:460px}.patient-appointment-calendar[data-load-error]{min-height:500px}.patient-appointment-calendar[data-load-error][data-weeks="6"]{min-height:540px}.patient-calendar-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.patient-calendar-heading p{color:var(--muted-foreground);align-items:center;gap:7px;margin-bottom:6px;font-size:12px;display:flex}.patient-calendar-heading p svg{width:16px;height:16px}.patient-calendar-heading h3{letter-spacing:-.04em;margin:0;font-size:clamp(22px,4vw,32px);font-weight:750;line-height:1.3}.patient-calendar-today{background:var(--secondary);border-radius:999px;min-height:40px;padding-inline:18px}.patient-calendar-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.patient-calendar-toolbar>button{background:var(--muted);border-radius:50%;width:42px;height:42px}.patient-calendar-toolbar>span{color:var(--muted-foreground);text-align:center;font-size:12px}.patient-calendar-days{flex:1;min-height:200px}.patient-calendar-grid{table-layout:fixed;border-collapse:collapse;width:100%;height:100%}.patient-calendar-grid th{height:30px;color:var(--muted-foreground);padding-bottom:8px;font-size:12px;font-weight:500}.patient-calendar-grid td{vertical-align:middle;text-align:center;padding:0}.patient-calendar-day{border-radius:14px;place-items:center;width:100%;height:100%;min-height:38px;display:grid}button.patient-calendar-day{cursor:pointer}.patient-calendar-circle{aspect-ratio:1;font-variant-numeric:tabular-nums;border:1.5px solid #0000;border-radius:50%;place-items:center;width:clamp(32px,8vw,54px);font-size:clamp(14px,2vw,19px);display:grid;position:relative}.patient-calendar-grid [data-appointment=past] .patient-calendar-circle{background:var(--calendar-past);color:var(--calendar-teal);font-weight:700}.patient-calendar-grid [data-appointment=future] .patient-calendar-circle{background:var(--calendar-gold);color:var(--calendar-ink);font-weight:750;box-shadow:0 3px 9px #a8772520}.patient-calendar-grid [data-today] .patient-calendar-circle{border-color:var(--calendar-teal)}.patient-calendar-grid [data-today] .patient-calendar-circle:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.patient-calendar-day:focus-visible{outline:2px solid var(--calendar-teal);outline-offset:1px}button.patient-calendar-day:hover .patient-calendar-circle{outline:3px solid var(--border);outline-offset:3px}.patient-calendar-count{background:var(--calendar-teal);color:#fff;border:2px solid var(--card);top:-3px;border-radius:50%;place-items:center;min-width:17px;height:17px;font-size:9px;display:grid;position:absolute;inset-inline-end:-3px}.patient-calendar-legend{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:10px 18px;padding-top:14px;display:flex}.patient-calendar-legend>span{color:var(--muted-foreground);align-items:center;gap:6px;font-size:11px;display:flex}.patient-calendar-legend i{background:var(--calendar-past);border-radius:50%;width:10px;height:10px}.patient-calendar-legend [data-kind=future]{background:var(--calendar-gold)}.patient-calendar-legend [data-kind=today]{border:1.5px solid var(--calendar-teal);background:0 0}.patient-calendar-error{background:var(--secondary);border-radius:12px;padding:8px 12px;font-size:12px;line-height:1.6}.patient-calendar-error button{cursor:pointer;min-height:32px;padding-inline:5px;font-weight:700;text-decoration:underline}.patient-calendar-dialog{text-align:start;border-radius:28px;max-height:calc(100dvh - 32px);padding:24px;overflow-y:auto}.patient-calendar-dialog-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.patient-calendar-dialog-heading p{color:var(--muted-foreground);margin-bottom:8px;font-size:12px}.patient-calendar-dialog-heading [data-slot=dialog-title]{font-size:20px;line-height:1.5}.patient-calendar-dialog-heading button{background:var(--muted);border-radius:50%;flex-shrink:0}.patient-calendar-appointments{gap:14px;margin:0;padding:0;list-style:none;display:grid}.patient-calendar-appointments>li{border:1px solid var(--border);background:var(--secondary);border-radius:20px;gap:18px;padding:20px;display:grid}.patient-calendar-visit-status{color:#235c65;background:#deefed;border-radius:999px;justify-self:start;padding:5px 10px;font-size:12px}.patient-calendar-visit-status[data-kind=future]{color:#203f4c;background:#f7d69b}.patient-calendar-visit-time{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.patient-calendar-visit-time time{font-size:28px;font-weight:700}.patient-calendar-visit-time>span{color:var(--muted-foreground);font-size:13px}.patient-calendar-visit-time svg,.patient-calendar-location svg{flex-shrink:0;width:18px;height:18px}.patient-calendar-location{overflow-wrap:anywhere;align-items:flex-start;gap:9px;font-size:14px;display:flex}.patient-calendar-location small{color:var(--muted-foreground);margin-top:5px;font-size:12px;display:block}.patient-calendar-download{white-space:normal;color:#fff;background:#235c65;border-radius:14px;width:100%;height:auto;min-height:44px}.patient-calendar-no-summary{color:var(--muted-foreground);font-size:12px}:root[data-color-mode=dark] .patient-appointment-calendar{--calendar-past:#244c50;--calendar-teal:#b7ded7}:root[data-color-mode=dark] .patient-calendar-count{color:#183c43;background:#b7ded7}@media (max-width:640px){.patient-appointment-calendar{border-radius:24px;gap:8px;padding:18px 10px 16px}.patient-calendar-heading{padding-inline:6px}.patient-calendar-legend{gap:8px 12px}.patient-calendar-legend>span{font-size:10px}.patient-calendar-dialog{padding:20px}}.patient-settings-button[aria-pressed=true]{background:var(--accent);color:var(--foreground)}.meal-add-floating svg{width:36px;height:36px}.portal-dashboard-page .meal-add-floating,.portal-dashboard-page .patient-chat-launcher{bottom:calc(var(--patient-dock-height,82px) + 30px + env(safe-area-inset-bottom))}.meal-timeline-entry{scroll-margin-top:24px}@media (max-width:360px){:root .patient-floating-navigation .patient-side-tabs [role=tab][data-state]{gap:5px;padding-inline:2px;font-size:10px}:root .patient-floating-navigation .patient-side-tabs [role=tab] svg{width:22px;height:22px}}@media (prefers-reduced-motion:reduce){:root .patient-floating-navigation .patient-side-tabs [role=tab][data-state]{transition:none}}.tracking-date-tiles{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000)}.tracking-date-controls>button{z-index:2;position:relative}.daily-meal-rating-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.daily-meal-rating-heading h3{min-width:0}.daily-meal-average{white-space:nowrap;line-height:1.25}.daily-meal-rating-reasons{padding-block-start:4px}.daily-meal-rating-reasons>summary{min-height:36px;font-size:14px}.meal-success-dialog{border-radius:24px;max-height:calc(100dvh - 32px);overflow-y:auto}.meal-success-reasons{gap:14px;margin:0;padding:0;list-style:none;display:grid}.meal-success-reasons li{align-items:start;gap:10px;line-height:1.65;display:flex}.meal-success-reasons svg{color:#20814c;flex:0 0 22px;width:22px;height:22px;margin-top:2px}[data-color-mode=dark] .meal-success-reasons svg{color:#71d79b}@media (max-width:380px){.daily-meal-rating-heading h3{font-size:16px}.daily-meal-average{font-size:23px}.daily-meal-average small{font-size:11px}}.meal-score[data-assessment=neutral-beverage] strong,.meal-score[data-assessment] strong{font-size:1rem;line-height:1.3}.daily-meal-recorded-count{color:var(--muted-foreground);white-space:nowrap;font-size:13px}.daily-meal-assessment-status{font-size:14px;line-height:1.65}.meal-score[data-assessment=range]>span>strong{letter-spacing:-.04em;font-size:1.35rem}.daily-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;min-width:0;display:grid}.daily-overview-grid>*{min-width:0;margin:0}.daily-overview-grid .daily-activity{border:1px solid var(--border);background:var(--card);border-radius:22px;align-content:start;gap:16px;padding:22px;display:grid}.daily-overview-grid .daily-meal-rating{align-content:start}.daily-meal-rating .daily-meal-rating-heading{display:block}.daily-meal-rating .daily-meal-ring{width:150px;height:150px;margin:0 auto}.daily-meal-rating .daily-meal-average{font-size:32px}.daily-meal-rating .daily-meal-pears{color:#639932;margin:0 auto}.daily-meal-rating-label{text-align:center}.nutrition-editor .nutrition-advanced-heading{padding:20px;font-size:20px;font-weight:650}.patient-suggested-meals{gap:14px;margin-block:20px 28px;display:grid}.patient-suggested-meals article{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:18px 20px}.patient-suggested-meals h4{align-items:center;gap:10px;font-weight:650;display:flex}.patient-suggested-meals h4 span{width:28px;height:28px;color:var(--primary);background:var(--secondary);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.patient-suggested-meals p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px}@media (max-width:760px){.daily-overview-grid{grid-template-columns:minmax(0,1fr)}}.month-calendar-grid .calendar-day{grid-template-rows:max-content minmax(0,1fr);gap:4px;min-height:0;display:grid;overflow:clip}.month-calendar-grid .calendar-day>span{line-height:1.2}.calendar-cell-events.appointment-dots{--calendar-dot-size:14px;grid-template-columns:repeat(var(--calendar-event-columns), var(--calendar-dot-size));grid-template-rows:repeat(var(--calendar-event-rows), var(--calendar-dot-size));direction:rtl;place-content:start;gap:6px;width:100%;min-width:0;height:100%;min-height:0;margin:0;display:grid;position:relative;overflow:clip}.appointment-marker.appointment-dot{width:100%;min-width:0;height:100%;min-height:0;box-shadow:none;color:inherit;text-align:right;font:inherit;direction:ltr;background:0 0;border:0;border-radius:4px;grid-template-columns:14px max-content;justify-content:end;align-items:center;gap:6px;padding:2px;display:grid}.appointment-marker.appointment-dot:hover,.appointment-marker.appointment-dot:focus-visible{transform:none}.appointment-marker-dot{border-radius:50%;width:14px;height:14px}.appointment-marker-time,.calendar-cell-time-measure{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;line-height:1.3}.appointment-marker-time{text-align:right;display:block}.calendar-cell-time-measure,.calendar-cell-events:not([data-layout=rows]) .appointment-marker-time{visibility:hidden;pointer-events:none;width:max-content;position:absolute}.calendar-cell-time-measure{inset:0 auto auto 0}.calendar-cell-events:not([data-layout=rows]) .appointment-marker{grid-template-columns:minmax(0,1fr);place-items:center;padding:0;display:grid}.calendar-cell-events:not([data-layout=rows]) .appointment-marker-dot{width:var(--calendar-dot-size);height:var(--calendar-dot-size)}.calendar-cell-events[data-layout=rows]{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--calendar-event-rows), max-content)}.calendar-cell-events[data-layout=rows] .appointment-marker{height:auto}.calendar-cell-events .appointment-marker:after{display:none}.calendar-cell-events .appointment-marker:hover,.calendar-cell-events .appointment-marker:focus-visible{box-shadow:none;transform:none}.calendar-cell-events .appointment-marker:focus-visible{outline:2px solid var(--foreground);outline-offset:-2px}.calendar-cell-events[data-layout=rows] .appointment-marker-dot{width:14px;height:14px}.calendar-day-overflow{width:var(--calendar-dot-size);height:var(--calendar-dot-size);border:1px solid var(--primary);background:var(--secondary);color:var(--foreground);cursor:pointer;border-radius:50%;place-self:start;place-items:center;font-size:9px;font-weight:750;line-height:1;display:grid}.calendar-day-overflow:focus-visible{outline:2px solid var(--foreground);outline-offset:-3px}.calendar-day-appointment-list{max-height:min(480px,100dvh - 32px);overflow-y:auto}.calendar-day-entry{border-bottom:1px solid var(--border);padding-block:8px}.calendar-day-entry>summary{cursor:pointer;grid-template-columns:14px max-content minmax(0,1fr);align-items:center;gap:8px;font-size:12px;display:grid}.calendar-day-entry>summary>span:last-child{overflow-wrap:anywhere}.calendar-day-entry-details{padding-top:12px}.tracking-workspace .tracking-feed td{vertical-align:top}.tracking-workspace .tracking-feed .tracking-feed-time{text-align:match-parent;min-height:0;margin-top:0;line-height:14px}.tracking-workspace .tracking-feed .tracking-update-kind{min-height:24px}.app-surface>:is(.patients-page,.appointments-page,.appointment-management-page,.patient-tracking-workspace,.summaries-page,.settings-page,.patient-page,.income-page,.dashboard-content){width:100%;max-width:none;margin-inline:0}.app-surface :is(.patients-table-card,.patients-page-heading,.appointments-page-heading,.appointments-table-card,.settings-heading,.settings-cards){max-width:none}.app-header{z-index:40;isolation:isolate}.app-surface{background:var(--page-background,var(--background))}.daily-meal-rating .daily-meal-pears{color:var(--primary)}.daily-meal-pears .daily-star-fill{fill:var(--primary)}.daily-overview-aside{grid-template-rows:minmax(0,3fr) minmax(0,7fr);gap:14px;min-width:0;display:grid}.daily-overview-aside .daily-activity{gap:0;min-height:0;padding:10px 16px}.daily-overview-aside .daily-activity-help{display:none}.daily-overview-aside .daily-activity-track{height:48px;margin-block:0}.daily-overview-aside .daily-activity-line{top:40px}.daily-overview-aside .daily-activity-runner{top:16px}.daily-overview-aside .daily-activity input{height:48px}.daily-overview-aside .daily-activity-heading h3{font-size:16px}.daily-overview-aside .portal-meal-summary{background:var(--secondary);align-content:start;gap:10px;min-height:0;margin:0;padding:16px}.daily-overview-aside>.portal-meal-summary:only-child{grid-row:1/-1}.daily-overview-aside:has(.portal-budget-details[open]){grid-template-rows:auto auto}.staff-nutrition-focuses{padding-block:12px}.staff-nutrition-focuses h3{font-size:15px;font-weight:650}.staff-nutrition-focuses .portal-nutrition-chips{margin-top:8px}.staff-meal-timeline{min-width:0}.staff-meal-day-chart>h3{margin-block:16px;font-size:17px;font-weight:700}.staff-meal-chart{min-width:0;margin:0 12px 18px 48px}.staff-meal-y-title{color:var(--foreground);margin-bottom:22px;font-size:12px;display:block}.staff-meal-plot{border-bottom:1px solid var(--border);background:repeating-linear-gradient(to top, var(--border) 0 1px, transparent 1px 25%);height:240px;position:relative}.staff-meal-y-tick{text-align:right;width:38px;color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;left:-46px;transform:translateY(-50%)}.staff-meal-hours{grid-template-columns:repeat(24,minmax(0,1fr));width:100%;height:100%;margin:0;padding:0;list-style:none;display:grid}.staff-meal-hour{border-left:1px solid var(--border);min-width:0;height:100%;position:relative}@supports (color:color-mix(in lab, red, red)){.staff-meal-hour{border-left:1px solid color-mix(in srgb, var(--border) 35%, transparent)}}.staff-meal-hour-bar{background:var(--primary);border:0;border-radius:6px 6px 0 0;width:68%;min-height:1px;position:absolute;bottom:0;left:16%}@supports (color:color-mix(in lab, red, red)){.staff-meal-hour-bar{background:color-mix(in srgb, var(--primary) 65%, var(--foreground))}}.staff-meal-hour-bar{cursor:pointer}.staff-meal-hour-bar[aria-pressed=true]{background:var(--primary);box-shadow:0 0 0 2px var(--card), 0 0 0 3px var(--primary)}.staff-meal-hour-bar:after{content:"";position:absolute;inset:-10px -4px}.staff-meal-hour-bar[data-calories=unknown]{border:2px dashed var(--muted-foreground);background:0 0;min-height:8px}.staff-meal-hour-bar>span{background:var(--foreground);border-radius:50%;width:8px;height:8px;display:block;position:absolute;top:-4px;left:calc(50% - 4px)}.staff-meal-hour-bar:focus-visible,.staff-meal-preview:focus-visible{outline:3px solid var(--ring);outline-offset:5px}.staff-meal-chart-times{height:26px;color:var(--foreground);font-variant-numeric:tabular-nums;margin-top:10px;font-size:10px;position:relative}.staff-meal-chart-times>span{position:absolute;transform:translate(-50%)}.staff-meal-chart-times>.staff-meal-day-end{left:100%}.staff-meal-preview-track{height:180px;margin-top:12px;position:relative}.staff-meal-hour-preview{left:clamp(0px, calc(var(--preview-x) - 100px), calc(100% - 200px));border:1px solid var(--border);background:var(--card);width:200px;box-shadow:0 5px 18px var(--foreground);border-radius:18px;position:absolute;top:0}@supports (color:color-mix(in lab, red, red)){.staff-meal-hour-preview{box-shadow:0 5px 18px color-mix(in srgb, var(--foreground) 8%, transparent)}}.staff-meal-hour-preview{padding:4px}.staff-meal-hour-picker{border:0;border-bottom:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);border-radius:12px 12px 0 0;padding:6px 8px;font-size:12px}.staff-meal-preview{background:var(--card);width:100%;color:var(--foreground);border:0;border-radius:14px;grid-template-columns:1fr 1fr;place-items:center;gap:8px;padding:10px;display:grid}.staff-meal-preview[aria-expanded=true]{background:var(--secondary)}.staff-meal-point-time{font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:12px;font-weight:650}.staff-meal-preview .meal-score{width:68px;height:68px;margin:0}.staff-meal-preview .meal-score strong{font-size:18px}.staff-meal-preview .meal-score small{font-size:8px}.meal-calorie-ring{border:5px solid var(--primary);width:68px;height:68px;color:var(--foreground);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.meal-calorie-ring strong{font-variant-numeric:tabular-nums;font-size:16px;line-height:1}.meal-calorie-ring small{font-size:9px}.staff-selected-meal{gap:16px;padding:20px;display:grid}.staff-selected-meal .journal-card-expanded{padding:0}.staff-selected-meal .portal-meal-result{background:0 0;gap:22px;padding:0}.staff-selected-meal .meal-nutrient-bars{width:min(100%,440px)}.staff-meal-undated{flex-wrap:wrap;align-items:center;gap:10px;margin-block:14px;display:flex}.staff-meal-undated button{border:1px solid var(--border);background:var(--secondary);border-radius:12px;padding:8px 14px}@media (max-width:760px){.daily-overview-aside{display:contents}.daily-overview-aside .daily-activity{padding:18px 14px}.daily-overview-aside .daily-activity-help{display:block}.daily-overview-aside .daily-activity-track,.daily-overview-aside .daily-activity input{height:70px}.daily-overview-aside .daily-activity-line{top:56px}.daily-overview-aside .daily-activity-runner{top:24px}}.app-header{-webkit-backdrop-filter:none;backdrop-filter:none}.portal-budget-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-budget-heading h3{font-size:16px}.portal-budget-heading time{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.portal-budget-numbers{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:10px;display:grid}.portal-budget-numbers>div{min-width:0}.portal-budget-numbers strong{font-size:clamp(18px,2vw,24px)}.portal-budget-numbers .portal-budget-remaining strong{font-size:clamp(26px,3vw,38px)}.portal-budget-numbers span{font-size:11px}.portal-meal-summary progress.daily-calorie-progress{appearance:none;background:var(--primary);border:0;border-radius:999px;width:100%;height:10px;display:block;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.portal-meal-summary progress.daily-calorie-progress{background:color-mix(in srgb, var(--primary) 12%, var(--card))}}.portal-meal-summary progress.daily-calorie-progress::-webkit-progress-bar{background:var(--primary);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.portal-meal-summary progress.daily-calorie-progress::-webkit-progress-bar{background:color-mix(in srgb, var(--primary) 12%, var(--card))}}.portal-meal-summary progress.daily-calorie-progress::-webkit-progress-value{background:var(--budget-color,var(--primary));border-radius:999px}.portal-meal-summary progress.daily-calorie-progress::-moz-progress-bar{background:var(--budget-color,var(--primary));border-radius:999px}.portal-budget-utilization{color:var(--foreground);justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.patient-suggested-meals h4 span{color:var(--foreground);border:1px solid var(--border);font-weight:750}.patient-files-toggle{margin-block:4px 16px}.patient-files-list{min-width:0}.patient-appointments{min-height:clamp(280px, calc(100svh - var(--patient-dock-height,110px) - 230px), 760px);text-align:center;align-content:center;justify-items:center;gap:24px;padding:clamp(24px,5vh,56px) 0;display:grid}.patient-appointments-heading{justify-items:center;gap:14px;display:grid}.patient-appointments-heading>span{background:var(--secondary);width:68px;height:68px;color:var(--foreground);border-radius:22px;place-items:center;display:grid}.patient-appointments-heading svg{width:32px;height:32px}.patient-appointments>.portal-list{width:min(100%,720px)}.patient-appointments .portal-detail-stack{justify-items:center}@media (max-width:760px){.daily-meal-rating .daily-meal-pears{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.daily-meal-rating .daily-meal-pears{color:color-mix(in srgb, var(--primary) 20%, var(--foreground))}}.daily-meal-pears .daily-star-fill{fill:var(--primary)}@supports (color:color-mix(in lab, red, red)){.daily-meal-pears .daily-star-fill{fill:color-mix(in srgb, var(--primary) 20%, var(--foreground))}}.daily-meal-pears .daily-star-track{stroke:var(--primary)}@supports (color:color-mix(in lab, red, red)){.daily-meal-pears .daily-star-track{stroke:color-mix(in srgb, var(--primary) 20%, var(--foreground))}}}.daily-calorie-progress[data-budget=within]{--budget-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.daily-calorie-progress[data-budget=within]{--budget-color:color-mix(in srgb, var(--primary) 40%, var(--foreground))}}.daily-calorie-progress[data-budget=below]{--budget-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.daily-calorie-progress[data-budget=below]{--budget-color:color-mix(in srgb, var(--primary) 40%, var(--foreground))}}.daily-calorie-progress[data-budget=over]{--budget-color:var(--destructive)}.portal-budget-numbers .portal-budget-remaining strong{color:var(--foreground)}.portal-budget-numbers>div:last-child:not(:first-child) strong{font-size:clamp(14px,1.5vw,20px)}.meal-nutrient-bars,.portal-nutrient-chart,.daily-macro-targets{--meal-palette-1:#2563eb;--meal-palette-2:#f59e0b;--meal-palette-3:#16a34a;--meal-palette-4:#c2410c}.portal-nutrient-chart .nutrient-pie-percent{fill:#fff;paint-order:stroke;stroke:#17212bcc;stroke-width:2px;stroke-linejoin:round}.calendar-cell-events[data-layout=rows] .appointment-marker{direction:rtl;justify-content:start}.calendar-cell-events .appointment-marker-time,.calendar-cell-time-measure,.calendar-day-entry time{font-weight:750}.daily-overview-energy>.portal-meal-summary{order:-1;grid-column:1/-1}.daily-overview-energy .daily-activity{gap:12px}.portal-energy-layout{flex-wrap:wrap;align-items:center;gap:24px;min-width:0;display:flex}.portal-energy-ring{color:#e66b20;flex:0 0 140px;width:140px;height:140px;position:relative}.portal-energy-ring>svg:first-child{width:100%;height:100%}.energy-ring-track,.energy-ring-used{fill:none;stroke-width:6.5px}.energy-ring-track{stroke:var(--border)}.energy-ring-used{stroke:#e66b20;stroke-linecap:round;transition:stroke-dasharray .45s}.portal-energy-ring .energy-flame{width:58%;height:58%;margin:auto;position:absolute;inset:0}.portal-energy-layout .portal-budget-numbers{flex:1;min-width:220px}.activity-options{border:0;min-width:0;padding:0}.activity-options legend{margin-bottom:8px;font-weight:600}.activity-options>div,.activity-presets{flex-wrap:wrap;gap:6px;display:flex}.activity-options button,.activity-presets button,.activity-stepper button,.activity-save{border:1px solid var(--border);background:var(--background);min-height:44px;color:var(--foreground);border-radius:12px;padding:8px 12px}.activity-options button[aria-pressed=true],.activity-presets button[aria-pressed=true],.activity-save{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.activity-duration{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.activity-stepper{align-items:center;gap:8px;display:flex}.activity-stepper input{text-align:center;border:1px solid var(--border);background:var(--background);width:70px;min-height:44px;color:var(--foreground);border-radius:10px;font-size:18px}.activity-stepper svg{width:18px;height:18px}.activity-readonly{overflow-wrap:anywhere}.portal-meal-summary{container-type:inline-size}@container (max-width:440px){.portal-energy-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 12px;display:grid}.portal-energy-ring{grid-area:1/2;justify-self:center;width:112px;height:112px}.portal-energy-layout .portal-budget-numbers{display:contents}.portal-budget-numbers .portal-budget-remaining{grid-area:1/1;align-self:center}.portal-budget-numbers .portal-budget-remaining strong{font-size:clamp(28px,10cqi,38px);line-height:1.2}.portal-energy-layout:after{content:"";background:var(--border);grid-area:2/1/auto/-1;height:1px}.portal-budget-numbers .portal-budget-consumed,.portal-budget-numbers .portal-budget-target{grid-row:3}.portal-budget-numbers .portal-budget-consumed{grid-column:1}.portal-budget-numbers .portal-budget-target{grid-column:2}.portal-budget-numbers span{overflow-wrap:anywhere;font-size:12px}.portal-budget-numbers strong{font-variant-numeric:tabular-nums;display:block}}.activity-type-options button{border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;padding:0;display:grid}.activity-type-options button svg{width:26px;height:26px}.activity-selected-type{font-weight:400}@media (prefers-reduced-motion:reduce){.energy-ring-used{transition:none}}.daily-summary-shell{border:1px solid var(--border);background:var(--card);width:100%;min-width:0;color:var(--card-foreground);border-radius:24px;overflow:clip;container:daily-summary/inline-size}.daily-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:22px 24px;display:flex}.daily-summary-header h3{font-size:21px;font-weight:700}.daily-summary-header time{color:var(--muted-foreground);font-size:13px}.daily-summary-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;padding:0 24px 24px;display:grid}.daily-summary-shell .daily-summary-columns>*{border:0;min-width:0;padding:0 24px}.daily-summary-shell .daily-summary-columns>:first-child{padding-inline-start:0}.daily-summary-shell .daily-summary-columns>:last-child{padding-inline-end:0}.daily-summary-shell .daily-summary-columns>*+*{border-inline-start:1px solid var(--border)}.daily-summary-shell .portal-meal-summary,.daily-summary-shell .daily-meal-rating,.daily-summary-shell .daily-activity{width:auto;box-shadow:none;background:0 0;border-block:0;border-radius:0;margin:0}.daily-summary-shell .portal-meal-summary{display:block;container-type:normal}.daily-summary-shell .daily-meal-rating,.daily-summary-shell .daily-activity{align-content:start;gap:12px;display:grid}.daily-summary-shell h4,.daily-summary-shell .daily-meal-rating h3,.daily-summary-shell .daily-activity h3{margin:0;font-size:15px;font-weight:650}.daily-summary-shell .portal-energy-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:16px 12px;margin-top:16px;display:grid}.daily-summary-shell .portal-energy-layout:after{content:none}.daily-summary-shell .portal-energy-ring{grid-area:1/2;justify-self:center;width:88px;height:88px}.daily-summary-shell .portal-budget-numbers{min-width:0;display:contents}.daily-summary-shell .portal-budget-numbers>div{text-align:center;min-width:0}.daily-summary-shell .portal-budget-numbers .portal-budget-remaining{grid-area:1/1}.daily-summary-shell .portal-budget-numbers .portal-budget-consumed{grid-area:2/1}.daily-summary-shell .portal-budget-numbers .portal-budget-target{grid-area:2/2}.daily-summary-shell .portal-budget-numbers strong{font-variant-numeric:tabular-nums;font-size:clamp(19px,2.2cqi,24px);line-height:1.3;display:block}.daily-summary-shell .portal-budget-numbers .portal-budget-remaining strong{font-size:34px}.daily-summary-shell .portal-budget-numbers span{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:12px;display:block}.daily-summary-shell .daily-meal-rating-label{text-align:start;color:var(--muted-foreground);font-size:12px}.daily-rating-number{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.daily-rating-number strong{font-size:34px;line-height:1.2}.daily-rating-number span{color:var(--muted-foreground);font-size:12px}.daily-rating-segments{justify-self:start;gap:4px;width:112px;max-width:100%;display:flex}.daily-rating-segments>span{background:var(--border);border-radius:4px;flex:1;height:6px;display:flex;overflow:hidden}.daily-rating-segments i{background:#23784f;height:100%;display:block}.activity-overview{gap:6px;font-size:14px;display:grid}.activity-overview-amount{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.activity-overview-amount strong{font-variant-numeric:tabular-nums;font-size:34px;line-height:1.2}.activity-overview-amount>svg{width:24px;height:24px}.activity-overview-amount>span{color:var(--muted-foreground);font-size:12px}.activity-edit{border-top:1px solid var(--border);min-width:0}.activity-edit>summary{cursor:pointer;align-content:center;min-height:44px;font-size:14px;display:list-item}.activity-edit-fields{gap:12px;padding-top:8px;display:grid}.daily-summary-status{background:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:13px 24px;font-size:13px;display:flex}.daily-summary-status[data-exceeded=true]>span{color:var(--destructive)}.daily-summary-shell>.portal-budget-details{border-top:1px solid var(--border);margin:0;padding:0 24px}.daily-summary-shell>.portal-budget-expanded{padding:16px 24px}.daily-summary-shell .daily-meal-rating-reasons>summary{font-size:12px}@container daily-summary (max-width:850px){.daily-summary-columns{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.daily-summary-shell .daily-summary-columns>.portal-meal-summary{border-bottom:1px solid var(--border);grid-column:1/-1;padding:0 0 20px}.daily-summary-shell .daily-summary-columns>.daily-meal-rating{border-inline-start:0;padding-inline-start:0}.daily-summary-shell .portal-energy-layout{grid-template-columns:repeat(4,minmax(0,1fr));max-width:520px;margin-inline:auto}.daily-summary-shell .portal-budget-numbers .portal-budget-consumed{grid-area:1/3}.daily-summary-shell .portal-budget-numbers .portal-budget-target{grid-area:1/4}}@container daily-summary (max-width:480px){.daily-summary-header{padding:18px 16px}.daily-summary-columns{padding:0 16px 18px}.daily-summary-shell .daily-summary-columns>*{padding-inline:14px}.daily-summary-shell .portal-energy-layout{grid-template-columns:repeat(2,minmax(0,1fr));max-width:340px}.daily-summary-shell .portal-budget-numbers .portal-budget-consumed{grid-area:2/1}.daily-summary-shell .portal-budget-numbers .portal-budget-target{grid-area:2/2}.daily-summary-status{padding:12px 16px}.daily-summary-shell>.portal-budget-details{padding-inline:16px}.daily-summary-shell .activity-edit-fields{grid-column:1/-1}.daily-summary-shell .daily-summary-columns:has(.activity-edit[open])>.daily-activity{border-inline-start:0;border-top:1px solid var(--border);grid-column:1/-1;padding:16px 0 0}}.daily-summary-shell .daily-summary-columns{max-width:1280px;margin-inline:auto}.daily-summary-shell .daily-summary-columns>section{border-inline-end:0}.daily-summary-header{max-width:1280px;margin-inline:auto}.daily-summary-columns{align-items:stretch}.daily-summary-shell .daily-summary-columns>.daily-meal-rating,.daily-summary-shell .daily-summary-columns>.daily-activity{flex-direction:column;display:flex}.daily-summary-action{border-top:1px solid var(--border);text-align:start;width:100%;min-height:46px;margin-top:auto;padding:12px 0 0;font-size:12px}.daily-summary-dialog{overscroll-behavior:contain;max-height:85dvh;overflow-y:auto}.daily-summary-dialog[dir=rtl]>[data-slot=dialog-close]{left:1rem;right:auto}.activity-entry{border-bottom:1px solid var(--border);gap:12px;min-width:0;padding:16px 0;display:grid}.activity-entry-heading,.activity-add{justify-content:space-between;align-items:center;gap:8px;display:flex}.activity-add{border:1px dashed var(--border);border-radius:12px;justify-content:center;min-height:44px}.daily-summary-shell .activity-overview .portal-muted{overflow-wrap:anywhere}.summary-file-status[data-has-summary=true] button,.summary-manage-files[data-has-summary=true]{color:#205c36;background:#e8f6ed;border:1px solid #368653}.summary-file-status[data-has-summary=false] button,.summary-manage-files[data-has-summary=false]{color:#85450f;background:#fff2df;border:1px solid #c77820}.portal-meal-editor-row>summary,.patient-suggested-meals details>summary,.meal-analysis-sources>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:600;list-style:none;display:flex}.portal-meal-editor-row>summary::-webkit-details-marker{display:none}.patient-suggested-meals details>summary::-webkit-details-marker{display:none}.portal-meal-editor-row>summary svg,.patient-suggested-meals details>summary svg,.meal-analysis-sources>summary svg{flex-shrink:0;width:20px;height:20px}.portal-meal-editor-row[open]>summary svg,.patient-suggested-meals details[open]>summary svg,.meal-analysis-sources[open]>summary svg{transform:rotate(180deg)}.portal-meal-editor-row[open]>summary{margin-bottom:12px}.patient-suggested-meals details{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:12px 20px}.portal-budget-expanded .portal-nutrients{text-align:center}.portal-budget-expanded .portal-nutrient-chart{justify-items:center}.daily-summary-header{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;padding-block:18px;display:grid}.daily-summary-shell .portal-energy-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:340px;margin:0 auto}.daily-summary-shell .portal-energy-ring{aspect-ratio:1;width:104px;max-width:100%;height:104px}.daily-summary-shell .portal-energy-layout:not(:has(.portal-budget-remaining)){grid-template-columns:minmax(0,1fr)}.daily-summary-shell .portal-energy-layout:not(:has(.portal-budget-remaining)) .portal-energy-ring{grid-column:1}.portal-meals{padding-top:0}.portal-dashboard[data-view=today]{gap:8px;padding-top:0}.portal-dashboard[data-view=today] .patient-main{padding-top:4px}.portal-dashboard-page:has(.portal-dashboard[data-view=today]) .portal-dashboard-shell{padding-top:8px}:root .patient-dashboard-layout>nav.patient-floating-navigation{background:var(--background);padding:5px}@supports (color:color-mix(in lab, red, red)){:root .patient-dashboard-layout>nav.patient-floating-navigation{background:color-mix(in srgb, var(--background) 94%, #76a79b)}}:root .patient-dashboard-layout>nav.patient-floating-navigation{border:1px solid #91b5aa66;border-radius:22px;box-shadow:0 8px 28px #25493c20}:root .patient-floating-navigation .patient-side-tabs [role=tab][data-state]{height:46px;min-height:46px;color:var(--foreground);background:0 0;gap:3px;padding:5px 10px;font-size:10px}:root .patient-floating-navigation .patient-side-tabs [role=tab][data-state=active],:root .patient-floating-navigation .patient-side-tabs [role=tab][data-state=active]:hover{color:#214e41;box-shadow:none;background:#cde9df}:root .patient-floating-navigation .patient-side-tabs [role=tab]:hover{background:#91b5aa22}:root .patient-floating-navigation .patient-side-tabs [role=tab]:focus-visible{outline:2px solid #4c917c}:root .patient-floating-navigation .patient-side-tabs [role=tab] svg{width:20px;height:20px}.meal-timeline-empty{text-align:center;min-height:45dvh;color:var(--muted-foreground);place-content:center;padding:24px;font-size:clamp(1.1rem,4vw,1.5rem);display:grid}.meal-fold-card{position:relative}.meal-fold-card .journal-card-heading{direction:rtl;align-items:flex-start;gap:12px;min-height:60px;padding-left:92px;display:flex}.meal-fold-card .journal-meal-number{flex:0 0 34px;width:34px;height:34px}.meal-card-toggle{text-align:center;cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:44px;display:flex}.meal-card-toggle .portal-meal-description{overflow-wrap:anywhere;margin:0;font-size:1rem}.meal-card-toggle>svg{flex:0 0 16px;width:16px;transition:transform .3s}.is-expanded .meal-card-toggle>svg{transform:rotate(180deg)}.meal-bookmark{color:#718b81;cursor:pointer;border-radius:10px;place-items:center;width:36px;height:40px;display:grid;position:absolute;top:12px;left:8px}.meal-bookmark[aria-pressed=true]{color:#367662;background:#d8eee3}.meal-bookmark:focus-visible,.meal-card-toggle:focus-visible{outline-offset:2px;outline:2px solid #4c917c}.meal-animated-score{pointer-events:none;width:48px;height:48px;transition:left .4s,top .4s,width .4s,height .4s,transform .4s;position:absolute;top:14px;left:48px;transform:translate(0)}.meal-animated-score .meal-score{width:100%;min-width:0;height:100%}.meal-animated-score .meal-score strong{font-size:16px;transition:font-size .4s}.meal-animated-score .meal-score small{display:none}.meal-score-space{height:0;transition:height .4s}.is-expanded .meal-score-space{height:120px}.is-expanded .meal-animated-score{top:var(--meal-score-top,80px);width:104px;height:104px;left:50%;transform:translate(-50%)}.is-expanded .meal-animated-score .meal-score strong{font-size:32px}.meal-fold-graph{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.meal-fold-graph{background:color-mix(in srgb, var(--background) 88%, #9ac7b6)}}.meal-fold-graph{border:1px solid #9ac7b633;border-radius:18px;margin-top:12px;padding:18px;animation:.35s both meal-graph-in}.meal-fold-graph[hidden]{display:none}.meal-fold-graph .portal-meal-energy{text-align:center;margin-bottom:12px;display:block}.saved-meal-picker{gap:8px;margin-block:12px;display:grid}.saved-meal-picker select{border:1px solid var(--border);background:var(--background);border-radius:12px;width:100%;padding:12px}.saved-meal-hint{background:var(--background);padding:14px}@supports (color:color-mix(in lab, red, red)){.saved-meal-hint{background:color-mix(in srgb, var(--background) 85%, #9ac7b6)}}.saved-meal-hint{border-radius:12px;line-height:1.7}.activity-energy{color:var(--muted-foreground);text-align:center;font-size:.8rem}.meal-harvest-celebration{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}@keyframes meal-graph-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:420px){:root .patient-floating-navigation .patient-tab-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){.meal-animated-score,.meal-score-space,.meal-animated-score .meal-score strong{transition:none}.meal-fold-graph{animation:none}}:root .patient-floating-navigation .patient-side-tabs[data-slot=tabs-list]{grid-template-columns:repeat(5,minmax(0,1fr));min-height:46px}.meal-fold-card.is-expanded .journal-card-heading{padding-left:44px}.portal-dashboard[data-view=overview]{gap:6px;padding-top:0}.portal-dashboard[data-view=overview] .patient-main{padding-top:0}.portal-dashboard-page:has(.portal-dashboard[data-view=overview]) .portal-dashboard-shell{padding-top:8px}.portal-dashboard[data-view=overview] .patient-overview-header{padding-bottom:4px}.portal-budget-remaining strong small{font-size:.75rem;font-weight:500}:root .patient-floating-navigation .patient-side-tabs[data-slot=tabs-list]{grid-template-columns:repeat(6,minmax(0,1fr))}.patient-main{min-width:0;scroll-padding-bottom:calc(var(--patient-dock-height,82px) + 42px + env(safe-area-inset-bottom))}.patient-main [role=tabpanel]{min-width:0;scroll-margin-bottom:calc(var(--patient-dock-height,82px) + 42px + env(safe-area-inset-bottom))}.patient-goals-page{gap:16px;display:grid}.goals-heading,.goals-heading>div,.goal-card-heading,.goal-editor-actions{align-items:center;gap:10px;display:flex}.goals-heading,.goal-card-heading{justify-content:space-between}.goals-heading h2{margin:0;font-size:1.5rem}.goals-heading svg,.goal-card-heading svg{color:#568d78}.goal-periods{flex-wrap:wrap;gap:8px;display:flex}.goals-date{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.goals-date input,.goal-editor-card select{background:var(--background);border:1px solid var(--border);border-radius:10px;min-width:0;max-width:100%;padding:9px}.goal-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;display:grid}.patient-goal-card{border:1px solid var(--border);background:var(--card);overflow-wrap:anywhere;border-radius:22px;align-content:start;gap:12px;min-width:0;padding:20px;display:grid}.patient-goal-card[data-status=met]{background:var(--card);border-color:#79ae96}@supports (color:color-mix(in lab, red, red)){.patient-goal-card[data-status=met]{background:color-mix(in srgb, var(--card) 90%, #9dd6b5)}}.patient-goal-card h3,.patient-goal-card p{margin:0}.goal-reading{gap:6px;display:grid}.goal-reading strong{font-size:2rem;line-height:1.3}.goal-reading small{font-size:.85rem;font-weight:500}.patient-goal-card progress{accent-color:#568d78;border:0;border-radius:9px;width:100%;height:10px;overflow:hidden}.patient-goal-card progress::-webkit-progress-bar{background:#568d7820}.patient-goal-card progress::-webkit-progress-value{background:#568d78;border-radius:9px}.goal-status{color:var(--foreground);font-weight:600}.goals-highlight{background:var(--card);border-radius:20px;gap:14px;padding:20px;display:flex}@supports (color:color-mix(in lab, red, red)){.goals-highlight{background:color-mix(in srgb, var(--card) 88%, #e1c572)}}.goals-highlight p{margin:6px 0 0;font-size:.85rem}.goals-highlight svg{color:#a8873d;flex-shrink:0}.goals-empty{border:1px dashed var(--border);text-align:center;border-radius:18px;padding:28px}.goals-history summary,.patient-goals-editor summary,.patient-goal-card summary{cursor:pointer;padding-block:12px;font-weight:600}.goals-table-wrap{overflow-x:auto}.goals-history table{text-align:start;border-collapse:collapse;width:100%;font-size:.85rem}.goals-history th,.goals-history td{border-bottom:1px solid var(--border);text-align:start;padding:10px}.goal-measurements{padding:0;list-style:none}.goal-measurements li{justify-content:space-between;gap:12px;padding-block:6px;display:flex}.patient-goals-editor{margin-block:12px}.goal-editor-list{gap:14px;margin-block:16px;display:grid}.goal-editor-card{border:1px solid var(--border);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;min-width:0;padding:18px;display:grid}.goal-editor-card label{gap:6px;min-width:0;font-size:.85rem;display:grid}.goal-editor-actions{flex-wrap:wrap}@media (max-width:600px){:root .patient-floating-navigation .patient-tab-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.portal-dashboard .patient-overview-header{gap:8px;padding-block:6px}.portal-dashboard .patient-profile-photo{border-width:2px;width:42px;height:42px}.portal-dashboard .patient-profile-photo svg{width:24px;height:24px}.portal-dashboard .portal-patient-name{margin:0;font-size:1rem}.portal-dashboard .patient-clinic-name{margin:0;font-size:.75rem}.portal-dashboard .tracking-date-strip{margin-bottom:16px}.meal-fold-card .journal-card-heading,.meal-fold-card.is-expanded .journal-card-heading{align-items:center;min-height:54px;padding-left:152px}.meal-fold-card>.meal-card-toggle{width:100%;margin-block:4px 8px;padding:8px}.meal-bookmark{border:1px solid var(--border);background:var(--secondary);width:auto;min-width:84px;height:42px;color:var(--foreground);justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.8rem;font-weight:600;transition:transform .1s,background-color .12s;display:flex;top:14px;left:10px}.meal-bookmark svg{width:18px;height:18px}.meal-bookmark:active{transform:scale(.95)}.meal-bookmark:hover:not(:disabled){background:var(--accent)}.meal-bookmark:disabled{cursor:wait;opacity:.7}.meal-bookmark[aria-pressed=true]{color:var(--primary-foreground);background:var(--primary);border-color:var(--primary-foreground)}.meal-bookmark[aria-pressed=true] svg{fill:none}.meal-animated-score{transition-duration:.18s;left:110px}.meal-animated-score .meal-score strong,.meal-score-space{transition-duration:.18s}.meal-fold-graph{animation-duration:.16s}.meal-card-toggle>svg{transition-duration:.15s}.patient-weight-form{flex-wrap:wrap;align-items:end;gap:12px;padding-block:8px 16px;display:flex}.patient-weight-form label{flex:150px;gap:6px;display:grid}.patient-weight-form input{width:100%;min-width:0}.tracking-current-weight{gap:2px;font-size:.8rem;display:grid}.tracking-current-weight strong{font-size:1.2rem}@media (prefers-reduced-motion:reduce){.meal-bookmark,.meal-card-toggle>svg{transition:none}}.patient-tablet-brand,.patient-tablet-clinic,.patient-tablet-only,.patient-tablet-page-title{display:none}@media (min-width:768px){.portal-dashboard-page{--background:#f5f7f6;--foreground:#203e35;--card:#fff;--card-foreground:#203e35;--primary:#286b54;--primary-foreground:#fff;--secondary:#e5f1eb;--secondary-foreground:#286b54;--muted:#f5f7f6;--muted-foreground:#60786f;--accent:#e5f1eb;--accent-foreground:#286b54;--border:#e0e8e3;--input:#e0e8e3;--ring:#286b54;--button-background:#286b54;--button-foreground:#fff;--application-font:Arial, sans-serif;background:var(--background);color:var(--foreground);padding:24px}:root[data-color-mode=dark] .portal-dashboard-page{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#161e1c;--foreground:#e4f0eb;--card:#202c28;--card-foreground:#e4f0eb;--primary:#91d6b7;--primary-foreground:#202c28;--secondary:#2c4439;--secondary-foreground:#e4f0eb;--muted:#161e1c;--muted-foreground:#b0c5bc;--accent:#2c4439;--accent-foreground:#91d6b7;--border:#3a4e44;--input:#3a4e44;--ring:#91d6b7;--button-background:#91d6b7;--button-foreground:#202c28}:is(.portal-dashboard-page .portal-dashboard-shell,.portal-dashboard-page:has(.portal-dashboard[data-view]) .portal-dashboard-shell){background:var(--background);width:min(100%,1440px);box-shadow:none;border:0;border-radius:18px;gap:0;padding:0;overflow:clip}.portal-dashboard-page .portal-dashboard[data-view]{border:0;gap:0;padding:0}.portal-dashboard .patient-overview-header{background:var(--card);border-bottom:1px solid var(--border);gap:16px;min-height:65px;padding:15px 24px}.portal-dashboard[data-view=overview] .patient-overview-header{padding-bottom:15px}.portal-dashboard .patient-profile{display:none}.patient-tablet-brand{align-items:center;gap:10px;font-size:14px;display:flex}.patient-tablet-brand>span{background:var(--secondary);width:34px;height:34px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.patient-tablet-brand svg{width:18px;height:18px}.patient-tablet-clinic{color:var(--muted-foreground);font-size:12px;display:block}.patient-tablet-only{display:inline}.patient-tablet-page-title{margin:0 0 22px;font-size:23px;font-weight:700;display:block}.portal-dashboard .patient-dashboard-layout[data-slot=tabs]{direction:inherit;grid-template-columns:154px minmax(0,1fr);align-items:stretch;gap:0;min-height:620px;display:grid}:root .portal-dashboard .patient-dashboard-layout>nav.patient-floating-navigation{border:0;border-inline-end:1px solid var(--border);background:var(--card);width:154px;max-width:none;min-height:620px;color:var(--foreground);box-shadow:none;z-index:10;border-radius:0;grid-area:1/1;align-self:start;padding:24px 12px;position:sticky;inset:0 auto auto;transform:none}:root .portal-dashboard .patient-floating-navigation .patient-side-tabs[data-slot=tabs-list]{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;height:auto;min-height:0;padding:0;display:flex}:root .portal-dashboard .patient-floating-navigation .patient-side-tabs [role=tab][data-state]{text-align:start;width:100%;height:auto;min-height:42px;color:var(--foreground);box-shadow:none;background:0 0;border:0;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;padding:9px 12px;font-size:14px;line-height:1.6}:root .portal-dashboard .patient-floating-navigation .patient-side-tabs [role=tab][data-state=active],:root .portal-dashboard .patient-floating-navigation .patient-side-tabs [role=tab][data-state=active]:hover{background:var(--secondary);color:var(--primary);box-shadow:none;font-weight:700}:root .portal-dashboard .patient-floating-navigation .patient-side-tabs [role=tab]:hover{background:var(--muted)}:root .portal-dashboard .patient-floating-navigation .patient-side-tabs [role=tab] svg{flex-shrink:0;width:16px;height:16px}:root .portal-dashboard .patient-floating-navigation .patient-tab-label{clip-path:none;width:auto;height:auto;line-height:1.6;display:block;position:static;overflow:visible}:root .portal-dashboard .patient-floating-navigation .patient-sidebar-chat{color:var(--foreground);margin-top:16px;padding:9px 12px;font-size:13px;display:flex}.portal-dashboard .patient-dashboard-layout>.patient-main{grid-area:1/2;width:100%;min-width:0;padding:24px;scroll-padding-bottom:24px}.portal-dashboard .patient-main [role=tabpanel]{scroll-margin-bottom:24px}.portal-dashboard .patient-main [hidden]{display:none}.portal-dashboard .patient-main h2{font-size:23px;font-weight:700}.portal-dashboard .patient-main h3{font-size:16px;font-weight:700}.patient-tablet-overview{font-size:14px;line-height:1.6}.patient-tablet-overview p{margin:4px 0}.patient-tablet-overview h2,.patient-tablet-overview h3{margin:0}.pt-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.pt-muted{color:var(--muted-foreground);font-size:12px;font-weight:400;display:block}.pt-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.pt-card{background:var(--card);border:1px solid var(--border);border-radius:14px;min-width:0;padding:18px}.pt-card>h3{margin-bottom:14px}.pt-value{overflow-wrap:anywhere;font-size:26px;font-weight:700;line-height:1.5}.pt-value small{font-size:14px;font-weight:600}.pt-columns{grid-template-columns:minmax(0,1.4fr) minmax(210px,1fr);gap:18px;display:grid}.pt-stack{align-content:start;gap:18px;display:grid}.pt-button{border:1px solid var(--border);font:inherit;background:var(--card);color:var(--foreground);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;display:inline-flex}.pt-button svg{width:16px;height:16px}.pt-button:hover{background:var(--secondary)}.pt-button.pt-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.pt-button:disabled{opacity:.5;cursor:not-allowed}.pt-button:focus-visible,.pt-meal-row:focus-visible,.pt-text-button:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.pt-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pt-text-button{color:var(--primary);cursor:pointer;margin-top:8px;padding-block:6px;font-size:12px}.pt-meal-row{text-align:start;border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.pt-meal-row:last-child{border-bottom:0}.pt-meal-row>span:first-child{min-width:0}.pt-meal-caption{overflow-wrap:anywhere;display:block}.pt-score{border:3px solid var(--primary);border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.pt-meter{appearance:none;background:var(--secondary);width:100%;height:6px;color:var(--primary);border:0;border-radius:6px;margin-top:10px;display:block;overflow:hidden}.pt-meter::-webkit-progress-bar{background:var(--secondary);border-radius:6px}.pt-meter::-webkit-progress-value{background:var(--primary);border-radius:6px}.pt-meter::-moz-progress-bar{background:var(--primary);border-radius:6px}.portal-dashboard-page .meal-add-floating{width:auto;height:auto;min-height:42px;box-shadow:none;background:var(--primary);color:var(--primary-foreground);border-radius:10px;margin-top:16px;padding:9px 12px;position:static;transform:none}.portal-dashboard-page .meal-add-floating svg{width:16px;height:16px}.portal-dashboard-page .patient-chat-launcher{bottom:24px}.patient-metrics-workspace{grid-template-columns:minmax(0,1.4fr) minmax(210px,1fr);align-items:start;gap:18px;display:grid}.patient-metrics-workspace>.patient-tablet-page-title{grid-column:1/-1;margin:0 0 4px}.patient-metrics-workspace>.patient-weight-form{border:1px solid var(--border);background:var(--card);border-radius:14px;grid-area:2/2;gap:12px;margin:0;padding:18px;display:grid}.patient-weight-form h3{margin:0 0 2px}.patient-metrics-workspace>[data-patient-content-ready]{grid-area:2/1}.patient-metrics-workspace>.patient-weight-form label{min-width:0;display:grid}.portal-dashboard .patient-goal-card,.portal-dashboard .portal-meal-card,.portal-dashboard .patient-appointments,.portal-dashboard .patient-suggested-meals{border-color:var(--border);background:var(--card);color:var(--foreground);border-radius:14px}.portal-dashboard .tracking-date-strip{margin-bottom:16px}.portal-dashboard .tablet-day-details:has(.daily-summary-shell){margin-bottom:20px}.portal-dashboard .daily-summary-shell{border-color:var(--border);background:var(--card)}}@media (min-width:768px) and (max-width:900px){.portal-dashboard-page{padding:12px}.portal-dashboard .patient-dashboard-layout>.patient-main{padding:20px}.pt-card{padding:14px}.pt-value{font-size:23px}}.meal-score-audit{margin-block:1rem;font-size:.9rem;line-height:1.6}.meal-score-deductions{gap:.45rem;padding:0;list-style:none;display:grid}.meal-score-deductions li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:.7rem;padding-block:.3rem;display:flex}.meal-score-deductions strong{white-space:nowrap;font-variant-numeric:tabular-nums}.meal-score-parameters{margin-block:.8rem;overflow-x:auto}.meal-score-parameters table{border-collapse:collapse;width:100%}.meal-score-parameters caption{text-align:start;padding-block:.5rem;font-weight:600}.meal-score-parameters th,.meal-score-parameters td{text-align:start;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;padding:.4rem .5rem}.meal-score-parameters tbody th{font-weight:400}.meal-score-parameters tbody tr:nth-child(odd){background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.meal-score-parameters tbody tr:nth-child(odd){background:color-mix(in srgb, var(--primary) 4%, transparent)}}.meal-score-audit-total{font-weight:600}.mealz-onboarding{gap:1rem;max-width:36rem;margin-inline:auto;display:grid}.mealz-onboarding label{gap:.35rem;display:grid}.mealz-onboarding input,.mealz-onboarding select,.mealz-onboarding textarea{border:1px solid var(--border);color:inherit;background:0 0;border-radius:.5rem;width:100%;padding:.65rem}.portal-dashboard .patient-overview-header{z-index:30;background:var(--card);position:sticky;top:0}.portal-dashboard .patient-overview-actions .patient-settings-button,.portal-dashboard .patient-overview-actions .color-mode-toggle{background:var(--muted);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--foreground);box-shadow:none;border:0;border-radius:50%;flex-shrink:0;padding:0}.portal-dashboard .patient-overview-actions .patient-settings-button svg{width:22px;height:22px}.portal-dashboard .patient-overview-actions .patient-settings-button:hover,.portal-dashboard .patient-overview-actions .color-mode-toggle:hover{background:var(--accent)}.portal-dashboard .patient-datebar{top:var(--patient-header-height,72px);z-index:20;background:var(--background);min-width:0;margin-bottom:8px;padding-block:14px 10px;position:sticky}.portal-dashboard .patient-datebar[hidden]{display:none}.portal-dashboard .patient-datebar:not(:has(.tracking-date-strip)){display:none}.patient-datebar-host{min-width:0}.portal-dashboard .patient-datebar .tracking-date-strip{margin:0}@media (max-width:767px){.portal-dashboard .patient-overview-header,.portal-dashboard[data-view=overview] .patient-overview-header{padding-block:12px}.portal-dashboard .patient-datebar{padding-inline:16px}.portal-dashboard .patient-datebar .tracking-date-tiles{gap:6px}.portal-dashboard .patient-datebar .tracking-date-tiles>button{flex-basis:76px;min-height:94px;padding:6px 4px}.portal-dashboard .patient-datebar .tracking-date-tiles>button strong{font-size:24px}}@media (min-width:768px){.portal-dashboard .patient-datebar .tracking-date-tiles>button{flex-basis:52px;min-height:58px;padding-block:5px}}.meal-harvest-celebration[data-phase=loading]{display:none}.meal-harvest-celebration .meal-harvest-fruit{transform-origin:50%;will-change:transform, opacity;filter:drop-shadow(0 9px 10px #194a282b);background-repeat:no-repeat;background-size:400% 300%;display:block;position:absolute;top:0;left:0}.meal-harvest-fruit[data-produce="7"]{clip-path:inset(7% 0 0 5%)}.goal-card-label{align-items:center;gap:10px;min-width:0;display:flex}.goal-card-icon{flex-shrink:0;place-items:center;display:grid}.goal-card-icon svg{width:20px;height:20px}.goal-mobile-badge,.goal-mobile-metadata,.goal-period-short,.patient-mobile-goals-summary{display:none}@media (max-width:767px){.patient-mobile-metrics,.portal-dashboard .patient-goals-page,.patient-mobile-measure-dialog{--patient-mobile-accent:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.patient-mobile-metrics,.portal-dashboard .patient-goals-page,.patient-mobile-measure-dialog{--patient-mobile-accent:color-mix(in srgb, var(--foreground) 78%, var(--primary) 22%)}}.patient-mobile-metrics{gap:20px;min-width:0;display:grid}.patient-mobile-page-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.patient-mobile-page-heading h2,.portal-dashboard .goals-heading h2{margin:0;font-size:22px;line-height:1.4}.patient-mobile-page-heading p{color:var(--muted-foreground);margin:3px 0 0;font-size:12px}.patient-mobile-page-heading>button,.patient-mobile-page-heading [data-slot=dialog-trigger]{background:var(--patient-mobile-accent);color:var(--card);border-radius:12px;flex-shrink:0;gap:6px;padding-inline:12px}.patient-mobile-weight-card{border:1px solid var(--border);background:var(--card);box-shadow:0 3px 12px var(--foreground);border-radius:22px;gap:16px;padding:20px 18px;display:grid}@supports (color:color-mix(in lab, red, red)){.patient-mobile-weight-card{box-shadow:0 3px 12px color-mix(in srgb, var(--foreground) 3%, transparent)}}.patient-mobile-weight-card{min-width:0}.patient-mobile-weight-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.patient-mobile-weight-heading p{color:var(--muted-foreground);margin:0 0 6px;font-size:12px}.patient-mobile-weight-heading strong{color:var(--foreground);font-size:38px;font-weight:650;line-height:1.2}.patient-mobile-weight-heading strong small{color:var(--muted-foreground);font-size:13px;font-weight:400}.patient-mobile-metric-icon{background:var(--secondary);width:40px;height:40px;color:var(--patient-mobile-accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.patient-mobile-metric-icon svg{width:21px;height:21px}.patient-mobile-weight-change{border-top:1px solid var(--border);color:var(--muted-foreground);justify-content:space-between;gap:10px;padding-top:13px;font-size:12px;display:flex}.patient-mobile-weight-change bdi{color:var(--foreground)}.patient-mobile-periods,.portal-dashboard .goal-periods{background:var(--muted);border-radius:12px;flex-wrap:nowrap;gap:4px;padding:3px;display:flex}.patient-mobile-periods button,.portal-dashboard .goal-periods button{min-width:0;color:var(--muted-foreground);white-space:normal;height:auto;box-shadow:none;background:0 0;border:0;border-radius:9px;flex:1;padding:8px 3px;font-size:12px;line-height:1.4}.patient-mobile-periods button[aria-pressed=true],.portal-dashboard .goal-periods button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.patient-mobile-unit{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.patient-mobile-unit select{border:1px solid var(--border);background:var(--card);border-radius:8px;max-width:65%;padding:6px 10px}.patient-mobile-weight-card .patient-mobile-weight-chart{height:190px;min-height:190px}.patient-mobile-weight-card>details>summary{color:var(--patient-mobile-accent);padding-block:4px;font-size:12px}.patient-mobile-weight-card>[class*=chartFoot]{display:none}.patient-mobile-other-metrics{gap:10px;display:grid}.patient-mobile-other-metrics>h3{margin:0 0 2px;font-size:16px}.patient-mobile-metric-row{border:1px solid var(--border);background:var(--card);border-radius:18px;align-items:center;gap:12px;padding:15px;display:flex}.patient-mobile-metric-row>div{flex:1;min-width:0}.patient-mobile-metric-row h4{margin:0;font-size:14px}.patient-mobile-metric-row p{color:var(--muted-foreground);margin:4px 0 0;font-size:11px}.patient-mobile-metric-row strong{flex-shrink:0;font-size:24px;font-weight:600}.patient-mobile-metric-row small{font-size:12px;font-weight:400}.patient-mobile-empty{color:var(--muted-foreground);text-align:center;padding:18px 0;font-size:14px}.patient-mobile-progress-details>summary{color:var(--patient-mobile-accent);cursor:pointer;align-items:center;gap:8px;padding:14px 4px;font-size:14px;display:flex}.patient-mobile-progress-details>summary svg{width:19px;height:19px}.patient-mobile-progress-details>section{margin-top:10px}.patient-mobile-progress-details .recharts-line-curve{stroke:var(--patient-mobile-accent)}.patient-mobile-save-status{color:var(--patient-mobile-accent);margin:0;font-size:14px}.patient-mobile-measure-dialog[data-slot=dialog-content]{--tw-translate-x:0px;--tw-translate-y:0px;width:100%;max-width:100%;max-height:calc(100dvh - 24px);padding:26px 20px max(24px, env(safe-area-inset-bottom));border-radius:24px 24px 0 0;inset:auto 0 0;overflow-y:auto;transform:translate(0)}.patient-mobile-measure-dialog [data-slot=dialog-close]{top:14px;left:auto;right:auto;position:absolute;inset-inline-end:16px}.patient-mobile-measure-dialog [data-slot=dialog-title]{padding-inline-end:44px}.patient-mobile-measure-dialog .patient-weight-form{gap:18px;padding:0;display:grid}.patient-mobile-measure-dialog .patient-weight-form input{text-align:start;height:46px;font-size:16px}.patient-mobile-measure-dialog .patient-weight-form>button{background:var(--patient-mobile-accent);height:46px;color:var(--card);border-radius:12px}.portal-dashboard .patient-goals-page{gap:18px}.portal-dashboard .goals-heading>div{gap:8px}.portal-dashboard .goals-heading>div>svg{color:var(--patient-mobile-accent);width:22px;height:22px}.portal-dashboard .goals-heading+p{margin:-10px 0 0;font-size:12px}.portal-dashboard .goals-date{color:var(--muted-foreground);justify-content:space-between;font-size:12px}.portal-dashboard .goals-date input{background:var(--card);color:var(--foreground);border-radius:10px;padding:7px 9px;font-size:13px}.goal-period-long,.goal-desktop-metadata,.portal-dashboard .patient-goal-card>.goal-status{display:none}.goal-period-short{display:inline}.patient-mobile-goals-summary{background:var(--secondary);border-radius:20px;align-items:center;gap:16px;padding:20px;display:flex}.patient-mobile-goals-summary strong{font-size:16px;font-weight:600}.patient-mobile-goals-summary p{color:var(--muted-foreground);margin:5px 0 0;font-size:12px}.patient-mobile-goals-ring{background:conic-gradient(var(--patient-mobile-accent) var(--goal-completion), var(--primary) 0);border-radius:50%;flex-shrink:0;place-items:center;width:60px;height:60px;display:grid}@supports (color:color-mix(in lab, red, red)){.patient-mobile-goals-ring{background:conic-gradient(var(--patient-mobile-accent) var(--goal-completion), color-mix(in srgb, var(--primary) 12%, var(--card)) 0)}}.patient-mobile-goals-ring>span{background:var(--card);border-radius:50%;place-items:center;width:47px;height:47px;font-size:13px;display:grid}.portal-dashboard .goal-cards{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.portal-dashboard .patient-goal-card,.portal-dashboard .patient-goal-card[data-status=met]{border:1px solid var(--border);background:var(--card);border-radius:19px;gap:12px;padding:16px}.portal-dashboard .goal-card-label{gap:9px}.portal-dashboard .goal-card-label h3{font-size:14px;line-height:1.5}.portal-dashboard .goal-card-icon{background:var(--muted);width:34px;height:34px;color:var(--primary);border-radius:10px}.portal-dashboard .goal-card-icon svg{width:18px;height:18px;color:var(--patient-mobile-accent)}.goal-mobile-badge{color:var(--muted-foreground);text-align:end;justify-content:end;align-items:center;gap:4px;max-width:42%;font-size:11px;line-height:1.5;display:inline-flex}.goal-mobile-badge svg{width:14px;height:14px;color:var(--patient-mobile-accent);flex-shrink:0}.patient-goal-card[data-status=met] .goal-mobile-badge{color:var(--patient-mobile-accent)}.portal-dashboard .goal-reading{flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-dashboard .goal-reading strong{white-space:nowrap;font-size:24px}.portal-dashboard .goal-reading small,.portal-dashboard .goal-reading>span{color:var(--muted-foreground);font-size:12px}.portal-dashboard .patient-goal-card progress{background:var(--muted);height:7px;accent-color:var(--patient-mobile-accent)}.portal-dashboard .patient-goal-card progress::-webkit-progress-bar{background:var(--muted)}.portal-dashboard .patient-goal-card progress::-webkit-progress-value{background:var(--patient-mobile-accent)}.portal-dashboard .patient-goal-card progress::-moz-progress-bar{background:var(--patient-mobile-accent)}.goal-mobile-metadata{color:var(--muted-foreground);font-size:12px;display:block}.goal-mobile-metadata>summary{color:var(--patient-mobile-accent);padding-block:0;font-size:12px}.goal-mobile-metadata[open]>summary{padding-bottom:10px}.goal-mobile-metadata p{font-size:12px;line-height:1.7}.portal-dashboard .goals-highlight{background:var(--secondary);border-radius:18px;padding:16px;font-size:14px}.portal-dashboard .goals-highlight svg{color:var(--patient-mobile-accent)}}.meal-card-header-actions{align-items:center;gap:.35rem;display:flex}.journal-card-heading .meal-favorite,.journal-card-heading .meal-edit-icon{border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:.6rem;display:inline-flex;position:static}.meal-favorite[aria-pressed=true]{color:#dc2626}.meal-favorite svg,.meal-edit-icon svg{width:22px;height:22px}.meal-card-header-actions button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.journal-card-details>summary{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.journal-card-details>summary{background:color-mix(in srgb, var(--primary) 5%, transparent)}}.journal-card-details>summary{border-radius:.65rem;padding:.55rem .8rem;list-style:none}.journal-card-details>summary::marker{content:""}.meal-analysis-sources>summary::marker{content:""}.journal-card-details>summary::-webkit-details-marker{display:none}.meal-analysis-sources>summary::-webkit-details-marker{display:none}.meal-card-toggle{cursor:pointer}.meal-fold-card .meal-card-header-actions{position:absolute;top:14px;left:10px}.pd-journal-panel .meal-card-header-actions{position:static}.meal-bookmark.meal-favorite[aria-pressed=true]{color:#dc2626;background:var(--secondary);border-color:var(--border)}.meal-bookmark.meal-favorite[aria-pressed=true] svg{fill:currentColor}.pd-journal-panel .journal-card-details>summary{padding:.55rem .8rem}.mealz-billing-panel{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:1rem;gap:.8rem;min-width:0;padding:1rem;display:grid}.mealz-billing-panel button,.mealz-billing-panel label{white-space:normal;min-height:44px}.mealz-startup{z-index:100;background:var(--background,#fafaf7);color:var(--foreground,#183c32);min-height:100svh;position:fixed;inset:0}.mealz-startup-brand{top:max(32px,env(safe-area-inset-top));align-items:center;gap:10px;font-size:30px;font-weight:600;display:flex;position:absolute;left:50%;transform:translate(-50%)}.mealz-startup-brand svg{width:38px;height:38px}.mealz-startup-center{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.mealz-startup-spinner{border:3px solid #78927b35;border-top-color:#56765c;border-radius:50%;width:38px;height:38px;animation:.8s linear infinite mealz-startup-turn}.mealz-startup-center button{color:inherit;background:0 0;border:1px solid #78927b;border-radius:10px;padding:12px 24px}@keyframes mealz-startup-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.mealz-startup-spinner{animation-duration:2s}}.dietitian-feedback-page{padding-bottom:calc(110px + env(safe-area-inset-bottom));scroll-margin-bottom:110px}.dietitian-feedback-item{border:1px solid var(--border,#dce4dc);border-radius:16px;margin:16px 0;padding:18px}.dietitian-feedback-item[data-unread]{border-inline-start:4px solid #397350}.dietitian-feedback-item summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.feedback-excerpt{color:var(--muted-foreground,#66776e);flex-basis:100%;font-size:14px;line-height:1.8;display:block}.feedback-read-state{background:#78927b20;border-radius:20px;padding:3px 10px;font-size:12px}.feedback-full-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;line-height:1.95}.feedback-period{color:var(--muted-foreground);font-size:12px}@media (max-width:767px){:root .patient-floating-navigation .patient-side-tabs[data-slot=tabs-list]{overscroll-behavior-inline:contain;grid-template-columns:repeat(7,minmax(44px,1fr));overflow-x:auto}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
