*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.-bottom-10{bottom:-2.5rem}.-left-10{left:-2.5rem}.bottom-8{bottom:2rem}.right-0{right:0}.right-4{right:1rem}.right-8{right:2rem}.top-0{top:0}.top-1\/2{top:50%}.top-8{top:2rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-bottom:2rem;margin-top:2rem}.-mt-10{margin-top:-2.5rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1/1}.h-24{height:6rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-24{width:6rem}.w-80{width:20rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[1440px\]{max-width:1440px}.max-w-\[280px\]{max-width:280px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-32{gap:8rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2.5rem*var(--tw-space-y-reverse));margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-4xl{border-radius:2.5rem}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-y{border-bottom-width:1px;border-top-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/60{border-color:#e5e7eb99}.border-gray-50{--tw-border-opacity:1;border-color:#f9fafb;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-accent{--tw-bg-opacity:1;background-color:#d49d8c;background-color:rgb(212 157 140/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:#2d4a3e;background-color:rgb(45 74 62/var(--tw-bg-opacity,1))}.bg-transparent{background-color:initial}.bg-warm-bg{--tw-bg-opacity:1;background-color:#fcf9f3;background-color:rgb(252 249 243/var(--tw-bg-opacity,1))}.bg-warm-bg\/90{background-color:#fcf9f3e6}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#1a1a1a\]\/80{--tw-gradient-from:#1a1a1acc var(--tw-gradient-from-position);--tw-gradient-to:#1a1a1a00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-accent\/20{--tw-gradient-from:#d49d8c33 var(--tw-gradient-from-position);--tw-gradient-to:#d49d8c00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-accent\/30{--tw-gradient-from:#d49d8c4d var(--tw-gradient-from-position);--tw-gradient-to:#d49d8c00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#1a1a1a\]\/30{--tw-gradient-to:#1a1a1a00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1a1a1a4d var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-primary\/20{--tw-gradient-to:#2d4a3e33 var(--tw-gradient-to-position)}.to-primary\/30{--tw-gradient-to:#2d4a3e4d var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.object-cover{object-fit:cover}.p-0{padding:0}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-12{padding-left:3rem;padding-right:3rem}.px-14{padding-left:3.5rem;padding-right:3.5rem}.px-16{padding-left:4rem;padding-right:4rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-32{padding-bottom:8rem;padding-top:8rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-40{padding-bottom:10rem;padding-top:10rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-32{padding-bottom:8rem}.pb-40{padding-bottom:10rem}.pb-8{padding-bottom:2rem}.pl-6{padding-left:1.5rem}.pr-12{padding-right:3rem}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-serif{font-family:DM Serif Display,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[15px\]{font-size:15px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-\[0\.9\]{line-height:.9}.leading-\[1\.1\]{line-height:1.1}.leading-\[1\.2\]{line-height:1.2}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-\[0\.4em\]{letter-spacing:.4em}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-\[\#d49d8c\],.text-accent{--tw-text-opacity:1;color:#d49d8c;color:rgb(212 157 140/var(--tw-text-opacity,1))}.text-accent\/30{color:#d49d8c4d}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:#2d4a3e;color:rgb(45 74 62/var(--tw-text-opacity,1))}.text-primary\/80{color:#2d4a3ecc}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:#e2e8f0;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.mix-blend-overlay{mix-blend-mode:overlay}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[0_40px_100px_-20px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_40px_100px_-20px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:0 40px 100px -20px #0000001a;--tw-shadow-colored:0 40px 100px -20px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid #0000;outline-offset:2px}.ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-warm-bg{--tw-ring-opacity:1;--tw-ring-color:rgb(252 249 243/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.grayscale{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)}.grayscale{--tw-grayscale:grayscale(100%)}.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)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-700{transition-duration:.7s}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.placeholder\:text-gray-300::placeholder{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-primary\/95:hover{background-color:#2d4a3ef2}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.hover\:text-\[\#2d4a3e\]:hover{--tw-text-opacity:1;color:#2d4a3e;color:rgb(45 74 62/var(--tw-text-opacity,1))}.hover\:text-accent:hover{--tw-text-opacity:1;color:#d49d8c;color:rgb(212 157 140/var(--tw-text-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:#000;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:grayscale-0:hover{--tw-grayscale:grayscale(0);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)}.focus\:border-\[\#d49d8c\]:focus{--tw-border-opacity:1;border-color:#d49d8c;border-color:rgb(212 157 140/var(--tw-border-opacity,1))}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#d49d8c\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(212 157 140/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:640px){.sm\:flex-row{flex-direction:row}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:py-40{padding-bottom:10rem;padding-top:10rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-\[52px\]{font-size:52px}.md\:text-\[88px\]{font-size:88px}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:px-32{padding-left:8rem;padding-right:8rem}}@media (min-width:1280px){.xl\:px-40{padding-left:10rem;padding-right:10rem}}.landing-page{background-color:#fcf9f3;color:#1a1a1a;font-family:Inter,sans-serif;min-height:100vh}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.material-symbols-outlined.fill-1{font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 24}.hims-card{background:#fff;border:1px solid #00000005;border-radius:1rem;box-shadow:0 4px 20px -2px #00000008;transition:transform .4s cubic-bezier(.165,.84,.44,1),box-shadow .4s ease}.hims-card:hover{box-shadow:0 30px 60px -12px #00000014;transform:translateY(-8px)}.sidebar-transition{transition:transform .6s cubic-bezier(.16,1,.3,1)}html{scroll-behavior:smooth}::selection{background-color:#d49d8c4d}@media (max-width:768px){.landing-page h1{font-size:3rem!important}.landing-page h2{font-size:2.5rem!important}}.legal-footer-strip{background:#fcf9f3;border-top:1px solid #2d4a3e1f;margin-top:auto;padding:1.25rem 1.5rem}.legal-footer-strip-nav{display:flex;flex-wrap:wrap;font-size:.75rem;font-weight:600;gap:1rem 1.5rem;justify-content:center;letter-spacing:.08em;text-transform:uppercase}.legal-footer-strip-nav a{color:#2d4a3e;text-decoration:none}.legal-footer-strip-nav a:focus-visible,.legal-footer-strip-nav a:hover{color:#d49d8c;text-decoration:underline}.legal-footer-strip-emergency{color:#4b5563;font-size:.75rem;line-height:1.5;margin:.75rem 0 0;text-align:center}.services-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.top-bar{background:#000;padding:.5rem 0;text-align:center}.book-now-top{background:#0000;border:none;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:.3rem 1rem;transition:opacity .3s ease}.book-now-top:hover{opacity:.8}.navbar{background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 2px 4px #0000000d;padding:1rem 0;position:sticky;top:0;z-index:100}.nav-container{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.logo{background:#0000;border:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;padding:0;text-align:left}.logo-main{color:#666;font-size:1.8rem;font-weight:300;letter-spacing:2px;line-height:1}.logo-sub{color:#999;font-size:.9rem;font-weight:300;letter-spacing:1px;margin-top:.2rem}.nav-links{display:flex;flex:1 1;gap:2rem;justify-content:center}.nav-links a{color:#666;font-size:.95rem;font-weight:400;text-decoration:none;transition:color .3s ease}.nav-links a.active,.nav-links a:hover{color:#000}.nav-contact{align-items:center;display:flex;gap:1rem}.phone-icon{font-size:1.2rem}.phone-number{color:#666;font-size:.95rem;font-weight:400}.schedule-btn{background:#000;border:none;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.7rem 1.5rem;transition:background .3s ease;white-space:nowrap}.schedule-btn:hover{background:#333}.services-hero-section{background:#1a1a1a;color:#fff;padding:6rem 2rem;text-align:center}.services-hero-content{margin:0 auto;max-width:900px}.services-hero-subtitle{color:#ffffffb3;font-size:.9rem;font-weight:400;letter-spacing:2px;margin-bottom:1rem;text-transform:uppercase}.services-hero-title{font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:2rem}.services-hero-description{color:#fffc;font-size:1.1rem;font-weight:300;line-height:1.8}.services-grid-section{margin:0 auto;max-width:1400px;padding:6rem 2rem}.services-container{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.service-detail-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:3rem 2.5rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.service-detail-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-5px)}.service-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.8}.service-detail-title{color:#000;font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.service-detail-description{color:#666;font-size:1rem;font-weight:300;line-height:1.8}.services-cta-section{background:#f5f5f5;margin:0 auto;max-width:1400px;padding:6rem 2rem;text-align:center}.services-cta-title{color:#000;font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:1rem}.services-cta-description{color:#666;font-size:1.2rem;font-weight:300;margin-bottom:2.5rem}.services-cta-button{background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:1px;padding:1.125rem 3rem;text-transform:uppercase;transition:all .3s ease}.services-cta-button:hover{background:#333;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.floating-message-btn{background:#000;border:none;border-radius:30px;bottom:2rem;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:1rem 1.5rem;position:fixed;right:2rem;transition:transform .3s ease,box-shadow .3s ease;z-index:1000}.floating-message-btn:hover{box-shadow:0 6px 16px #0003;transform:translateY(-2px)}@media (max-width:1024px){.services-container{gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:768px){.nav-container{flex-wrap:wrap}.nav-links{border-top:1px solid #e5e5e5;justify-content:flex-start;margin-top:1rem;order:3;padding-top:1rem;width:100%}.services-hero-title{font-size:2.5rem}.services-container{gap:2rem;grid-template-columns:1fr}.services-cta-title{font-size:2rem}.floating-message-btn{bottom:1rem;font-size:.8rem;padding:.8rem 1.2rem;right:1rem}}.slot-date-time-picker{display:flex;flex-direction:column;gap:1.25rem}.slot-date-time-picker .slot-picker-step-title{color:#1a1a1a8c;font-size:.82rem;font-weight:600;letter-spacing:.04em;margin:0 0 .5rem;padding-left:1.5rem;text-transform:uppercase}.slot-date-time-picker .slot-picker-calendar-wrap{display:flex;justify-content:center;padding:.5rem 0 1.75rem}.slot-date-time-picker .slot-picker-calendar-card{background:#fff;border:1px solid #1a1a1a12;border-radius:1.25rem;box-shadow:0 6px 32px -8px #00000014;padding:1.25rem 1.5rem 1.5rem;-webkit-user-select:none;user-select:none;width:340px}.slot-date-time-picker .slot-picker-cal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.slot-date-time-picker .slot-picker-cal-title{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1rem;font-weight:600;letter-spacing:-.2px}.slot-date-time-picker .slot-picker-cal-nav{align-items:center;background:#0000;border:1px solid #1a1a1a14;border-radius:50%;color:#1a1a1a;cursor:pointer;display:flex;font-family:inherit;height:32px;justify-content:center;padding:0;transition:all .18s ease;width:32px}.slot-date-time-picker .slot-picker-cal-nav .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20;line-height:1}.slot-date-time-picker .slot-picker-cal-nav:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a;color:#fff}.slot-date-time-picker .slot-picker-cal-nav:disabled{cursor:not-allowed;opacity:.35}.slot-date-time-picker .slot-picker-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.slot-date-time-picker .slot-picker-cal-weekday{color:#1a1a1a59;font-size:.65rem;font-weight:700;letter-spacing:.1em;padding:.25rem 0;text-align:center;text-transform:uppercase}.slot-date-time-picker .slot-picker-cal-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.slot-date-time-picker .slot-picker-cal-day{align-items:center;aspect-ratio:1;background:#0000;border:none;border-radius:8px;color:#1a1a1a52;cursor:default;display:flex;flex-direction:column;font-family:inherit;font-size:.8rem;font-weight:500;gap:3px;justify-content:center;line-height:1;padding:0;transition:background .15s ease,color .15s ease}.slot-date-time-picker .slot-picker-cal-day--available{color:#1a1a1a;cursor:pointer;font-weight:700}.slot-date-time-picker .slot-picker-cal-day--available:hover:not(:disabled):not([aria-pressed=true]){background:#d49d8c26;color:#1a1a1a}.slot-date-time-picker .slot-picker-cal-day--selected,.slot-date-time-picker .slot-picker-cal-day[aria-selected=true]{background:#1a1a1a;color:#fff;font-weight:700}.slot-date-time-picker .slot-picker-cal-day--outside{color:#1a1a1a2e}.slot-date-time-picker .slot-picker-cal-day-num{line-height:1}.slot-date-time-picker .slot-picker-cal-today-dot{background:#d49d8c;border-radius:50%;display:block;flex-shrink:0;height:4px;width:4px}.slot-date-time-picker .slot-picker-cal-day--selected .slot-picker-cal-today-dot,.slot-date-time-picker .slot-picker-cal-day[aria-selected=true] .slot-picker-cal-today-dot{background:#ffffffb3}.slot-date-time-picker .slot-time-section{padding:0 1.5rem 1.5rem}.slot-date-time-picker .slot-time-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));max-width:36rem}.slot-date-time-picker .slot-time-button{align-items:center;background:#fff;border:1px solid #1a1a1a14;border-radius:.85rem;box-shadow:0 2px 8px -4px #0000000f;cursor:pointer;display:flex;font-family:inherit;gap:.75rem;padding:1rem 1.2rem;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.slot-date-time-picker .slot-time-icon{color:#d49d8c;flex-shrink:0;font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.slot-date-time-picker .slot-time-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.slot-date-time-picker .slot-time-row{align-items:baseline;display:flex;gap:.5rem}.slot-date-time-picker .slot-time-label{color:#1a1a1a61;font-size:.62rem;font-weight:700;letter-spacing:.08em;min-width:2.75rem;text-transform:uppercase}.slot-date-time-picker .slot-time-value{color:#1a1a1a;font-size:.875rem;font-weight:600;white-space:nowrap}.slot-date-time-picker .slot-time-button:hover:not(:disabled):not(.selected){background:#fcf9f399;border-color:#d49d8c;box-shadow:0 6px 20px -6px #d49d8c59}.slot-date-time-picker .slot-time-button.selected{background:#1a1a1a;border-color:#1a1a1a;box-shadow:0 6px 20px -6px #1a1a1a59;color:#fff}.slot-date-time-picker .slot-time-button.selected .slot-time-icon{color:#d49d8c}.slot-date-time-picker .slot-time-button.selected .slot-time-label{color:#ffffff8c}.slot-date-time-picker .slot-time-button.selected .slot-time-value{color:#fff}.slot-date-time-picker .slot-time-button:disabled{cursor:not-allowed;opacity:.55}.slot-date-time-picker .slot-time-button:focus-visible{outline:2px solid #d49d8c;outline-offset:2px}.slot-date-time-picker .slot-picker-empty,.slot-date-time-picker .slot-picker-pick-day{color:#1a1a1a8c;font-size:.9rem;margin:0;padding-left:1.5rem}.slot-date-time-picker .slot-picker-step-message{padding-bottom:1.5rem}.slot-date-time-picker .slot-picker-selected-day{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.05rem;font-weight:600;margin:0 0 .75rem;padding-left:1.5rem;text-transform:capitalize}.dob-input-fieldset{border:none;margin:0;padding:0}.dob-input-legend{color:#1a1a1a;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem;padding:0}.dob-input-fieldset .dob-selects{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.dob-input-fieldset .dob-selects select{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;flex:1 1;font-family:Manrope,sans-serif;font-size:.875rem;min-width:100px;padding:.75rem;transition:border-color .2s,box-shadow .2s}.dob-input-fieldset .dob-selects select:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:none}.dob-input-fieldset .dob-selects select:disabled{cursor:not-allowed;opacity:.6}.dob-manual{margin-top:.25rem}.dob-manual-label{color:#1a1a1a59;display:block;font-size:.65rem;font-weight:600;letter-spacing:.06em;margin-bottom:.25rem;text-transform:uppercase}.dob-manual-input{background:#fcf9f380;border:1px solid #1a1a1a14;border-radius:.5rem;color:#1a1a1abf;font-family:Manrope,sans-serif;font-size:.8rem;padding:.5rem .75rem;transition:border-color .2s,box-shadow .2s;width:100%}.dob-manual-input::placeholder{color:#1a1a1a59}.dob-manual-input:focus{background:#fff;border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c1f;outline:none}.dob-manual-input:disabled{cursor:not-allowed;opacity:.6}.dob-manual-input.has-error{border-color:#dc2626}.dob-manual-error{color:#dc2626;font-size:.75rem;margin:.375rem 0 0}.booking-page{-webkit-font-smoothing:antialiased;background:#fcf9f3;color:#1a1a1a;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:2rem 0 3rem}.booking-container{margin:0 auto;max-width:1120px;padding:0 1.5rem}.booking-container--narrow{max-width:480px}.booking-back{align-items:center;background:#fff;border:1px solid #1a1a1a14;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1.75rem;padding:.65rem 1.1rem;transition:border-color .2s ease,box-shadow .2s ease}.booking-back:hover{border-color:#d49d8c;box-shadow:0 4px 16px -4px #d49d8c40}.booking-back .material-symbols-outlined{font-size:1.125rem}.booking-header{margin-bottom:1.5rem;padding:0 0 2rem;text-align:center}.booking-eyebrow{color:#d49d8c;font-size:.65rem;font-weight:700;letter-spacing:.2em;margin-bottom:.75rem;text-transform:uppercase}.booking-title{color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin-bottom:.5rem}.booking-doctor-name{color:#1a1a1a8c;font-size:1.05rem;font-weight:500}.booking-help{margin-bottom:1.5rem}.booking-help-card{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;padding:1.25rem 1.5rem;transition:border-color .25s ease,box-shadow .25s ease}.booking-help-card:hover{border-color:#d49d8c73;box-shadow:0 10px 30px -10px #d49d8c33}.booking-help-title{color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.booking-help-text{color:#1a1a1aa6;font-size:.9rem;line-height:1.6;margin:0}.booking-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:640px}.booking-stat{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;padding:1.25rem 1.35rem;transition:all .25s ease}.booking-stat:hover{border-color:#d49d8c59;box-shadow:0 10px 30px -10px #d49d8c33}.booking-stat--highlight{border-left:4px solid #d49d8c}.booking-stat-icon{background:#d49d8c1f;border-radius:.5rem;color:#c4897a;display:inline-flex;margin-bottom:.75rem;padding:.4rem}.booking-stat-icon .material-symbols-outlined{font-size:1.25rem}.booking-stat-label{color:#1a1a1a80;font-size:.8rem;font-weight:500;margin-bottom:.25rem}.booking-stat-value{color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:1.75rem;font-weight:700;letter-spacing:-.03em;line-height:1.2}.booking-selection-value{color:#1a1a1a59;font-size:.92rem;font-weight:600;letter-spacing:-.02em;line-height:1.45;margin:0}.booking-selection-value.has-selection{color:#1a1a1a}.booking-content{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.booking-panel{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;padding:1.5rem;transition:border-color .25s ease,box-shadow .25s ease}.booking-panel:hover{border-color:#d49d8c40;box-shadow:0 10px 30px -10px #d49d8c26}.booking-panel-title{border-bottom:1px solid #1a1a1a0f;color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1.25rem;padding-bottom:1rem}.booking-empty-slots{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:2rem 1rem 1rem;text-align:center}.booking-empty-icon{color:#d49d8ca6;font-size:2.5rem;margin-bottom:.25rem}.booking-empty-slots p{color:#1a1a1a8c;font-size:.9rem;line-height:1.5;margin:0}.booking-empty-hint{color:#1a1a1a6b!important;font-size:.8125rem!important;max-width:18rem}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:420px;overflow-y:auto;padding:.15rem .15rem .5rem}.slot-button{font-family:inherit;padding:.85rem .75rem}.slot-button.selected .slot-time{color:#ffffffbf}.patient-form{display:flex;flex-direction:column;gap:1.25rem}.form-group label{color:#1a1a1abf;font-size:.82rem;letter-spacing:.04em;margin-bottom:.45rem}.required{color:#2d4a3e}.form-group input{background:#fcf9f3;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:inherit;font-size:.95rem;padding:.75rem .85rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus-visible{background:#fff;border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:2px solid #2d4a3e;outline-offset:2px}.form-group input:focus:not(:focus-visible){outline:none}.form-group input::placeholder{color:#1a1a1a59}.dob-group .dob-selects{gap:8px}.dob-group select{background-color:#fcf9f3;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;flex:1 1;font-family:inherit;font-size:.9rem;min-width:100px;padding:.65rem .5rem}.dob-group select:focus{border-color:#d49d8c;outline:none}.error-message{border:1px solid #fecaca;padding:.85rem 1rem}.booking-consent{background:#fcf9f3a6;border:1px solid #1a1a1a14;border-radius:.5rem;margin-top:.5rem;padding:1rem 1.1rem}.booking-consent-notice{color:#1a1a1aad;font-size:.8125rem;line-height:1.55;margin:0 0 .75rem}.booking-consent-notice:last-of-type{margin-bottom:1rem}.booking-consent-checkbox{align-items:flex-start;color:#1a1a1a;cursor:pointer;display:flex;font-size:.875rem;gap:.65rem;line-height:1.45}.booking-consent-checkbox input[type=checkbox]{accent-color:#2d4a3e;cursor:pointer;flex-shrink:0;height:1rem;margin-top:.15rem;width:1rem}.booking-consent-link{color:#1a1a1a99;font-size:.8125rem;margin:.85rem 0 0}.booking-consent-link a{color:#2d4a3e;font-weight:600;text-decoration:underline;text-underline-offset:2px}.booking-consent-link a:hover{color:#243d33}.booking-submit{align-items:center;background:#2d4a3e;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.25rem;padding:.95rem 1.5rem;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;width:100%}.booking-submit:hover:not(:disabled){background:#243d33;box-shadow:0 8px 24px -6px #2d4a3e73}.booking-submit:disabled{background:#1a1a1a40;box-shadow:none;cursor:not-allowed}.booking-submit .material-symbols-outlined{font-size:1.125rem}.booking-loading{align-items:center;color:#1a1a1a80;display:flex;flex-direction:column;font-size:.95rem;gap:1rem;justify-content:center;min-height:50vh}.booking-loading-icon{animation:booking-pulse 1.2s ease-in-out infinite;color:#d49d8cbf;font-size:2.5rem}@keyframes booking-pulse{0%,to{opacity:.55}50%{opacity:1}}.booking-error-panel{background:#fff;border:1px solid #1a1a1a0f;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000f;padding:2.5rem 1.75rem;text-align:center}.booking-error-icon{color:#dc2626;display:block;font-size:2.5rem;margin-bottom:1rem}.booking-error-panel p{color:#1a1a1ab3;line-height:1.5;margin-bottom:1.5rem}.booking-success-card{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;padding:2.75rem 2rem;text-align:center}.booking-success-icon{color:#15803d;display:block;font-size:3rem;margin-bottom:1rem}.booking-success-card h2{color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.booking-success-card p{color:#1a1a1a99;font-size:.95rem;line-height:1.6}@media (max-width:900px){.booking-content,.booking-stats{grid-template-columns:1fr}.booking-stats{max-width:none}.slots-grid{max-height:360px}}@media (max-width:600px){.booking-page{padding:1.25rem 0 2rem}.booking-container{padding:0 1rem}}.legal-page{-webkit-font-smoothing:antialiased;background:#fcf9f3;color:#1a1a1a;font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:2rem 0 3rem}.legal-container{margin:0 auto;max-width:820px;padding:0 1.5rem}.legal-back{align-items:center;background:#fff;border:1px solid #1a1a1a14;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1.75rem;padding:.65rem 1.1rem;transition:border-color .2s ease,box-shadow .2s ease}.legal-back:hover{border-color:#d49d8c;box-shadow:0 4px 16px -4px #d49d8c40}.legal-back .material-symbols-outlined{font-size:1.125rem}.legal-card{background:#fff;border:1px solid #1a1a1a0f;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000f;padding:2.5rem 2rem 2rem}.legal-masthead{border-bottom:1px solid #1a1a1a14;margin-bottom:2rem;padding-bottom:2rem;text-align:center}.legal-eyebrow{color:#1a1a1a80;font-size:.75rem;font-weight:600;letter-spacing:.08em;margin-bottom:.75rem;text-transform:uppercase}.legal-title{color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin-bottom:.75rem}.legal-version{color:#1a1a1a8c;font-size:.8125rem}.legal-toc{background:#fcf9f3d9;border:1px solid #1a1a1a0f;border-radius:.5rem;margin-bottom:2.5rem;padding:1.25rem 1.5rem}.legal-toc-heading{color:#1a1a1a73;font-size:.6875rem;font-weight:700;letter-spacing:.12em;margin-bottom:.85rem;text-transform:uppercase}.legal-toc-list{column-count:1;column-gap:2rem;margin:0;padding-left:1.25rem}.legal-toc-list li{break-inside:avoid;margin-bottom:.35rem;page-break-inside:avoid}.legal-toc-list a{color:#2d4a3e;font-size:.875rem;line-height:1.45;text-decoration:none}.legal-toc-list a:hover{text-decoration:underline;text-underline-offset:2px}.legal-lang-label{color:#2d4a3e;margin-bottom:1.5rem}.legal-lang-divider,.legal-lang-label{font-size:.6875rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.legal-lang-divider{align-items:center;color:#1a1a1a59;display:flex;gap:1rem;margin:3rem 0 2rem}.legal-lang-divider:after,.legal-lang-divider:before{background:#1a1a1a1a;content:"";flex:1 1;height:1px}.legal-lang-divider span{color:#2d4a3e;white-space:nowrap}.legal-lang-section{display:flex;flex-direction:column;gap:2.25rem}.legal-section{scroll-margin-top:1.5rem}.legal-section-title{color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;margin-bottom:1rem}.legal-paragraph{color:#1a1a1ac7;font-size:.9375rem;line-height:1.65;margin-bottom:.85rem}.legal-paragraph:last-child{margin-bottom:0}.legal-subheading{color:#1a1a1a;font-size:.875rem;font-weight:600;margin:.75rem 0 .5rem}.legal-list{color:#1a1a1ac7;font-size:.9375rem;line-height:1.65;margin:0 0 .85rem;padding-left:1.35rem}.legal-list li{margin-bottom:.35rem}.legal-list li:last-child{margin-bottom:0}.legal-table-wrap{-webkit-overflow-scrolling:touch;margin:.75rem 0 1rem;overflow-x:auto}.legal-table{border-collapse:collapse;font-size:.875rem;line-height:1.5;min-width:420px;width:100%}.legal-table td,.legal-table th{border:1px solid #1a1a1a1a;padding:.65rem .85rem;text-align:left;vertical-align:top}.legal-table th{background:#2d4a3e0f;color:#1a1a1a;font-weight:600}.legal-table td{color:#1a1a1ac7}.legal-callout{background:#fef9f5;border-left:3px solid #d49d8c;border-radius:0 .375rem .375rem 0;color:#1a1a1ad1;font-size:.875rem;line-height:1.55;margin:.75rem 0 .85rem;padding:.85rem 1rem}.legal-footer a,.legal-paragraph a{color:#2d4a3e;font-weight:600;text-decoration:underline;text-underline-offset:2px}.legal-footer a:hover,.legal-paragraph a:hover{color:#243d33}.legal-footer{border-top:1px solid #1a1a1a14;margin-top:2rem;padding-top:1.5rem;text-align:center}.legal-footer p{color:#1a1a1a8c;font-size:.8125rem;margin-bottom:.5rem}.legal-footer p:last-child{margin-bottom:0}@media (min-width:640px){.legal-toc-list{column-count:2}.legal-card{padding:3rem 2.75rem 2.5rem}}@media (max-width:600px){.legal-page{padding:1.25rem 0 2rem}.legal-container{padding:0 1rem}.legal-card{padding:1.75rem 1.25rem 1.5rem}}.doctor-dashboard{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fcf9f3;color:#1a1a1a;display:flex;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.dashboard-sidebar{background:#fff;border-right:1px solid #1a1a1a0d;display:flex;flex-direction:column;height:100vh;min-width:280px;overflow-y:auto;position:fixed;width:280px;z-index:50}.sidebar-brand{padding:2rem 2rem 1rem}.sidebar-brand-inner{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.75rem;margin-bottom:2.5rem;padding:0;text-align:left;width:100%}.sidebar-brand-icon{align-items:center;background:#1a1a1a;border-radius:.5rem;color:#d49d8c;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.sidebar-brand-icon .material-symbols-outlined{font-size:1.5rem}.sidebar-brand-name{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 2rem}.sidebar-item{align-items:center;background:none;border:none;border-radius:.5rem;color:#1a1a1a99;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.sidebar-item:hover{background:#d49d8c1a;color:#1a1a1a}.sidebar-item.active{background:#1a1a1a;color:#fff}.sidebar-item .material-symbols-outlined{font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.sidebar-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 24}.sidebar-footer{margin-top:auto;padding:2rem}.sidebar-legal-links{border-top:1px solid #2d4a3e1a;display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:1rem;padding-top:1rem}.sidebar-legal-links a{color:#6b7280;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.sidebar-legal-links a:focus-visible,.sidebar-legal-links a:hover{color:#2d4a3e;text-decoration:underline}.sidebar-profile{align-items:center;background:#fcf9f3;border-radius:.75rem;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:.75rem}.sidebar-profile-avatar{align-items:center;background:#1a1a1a;border:2px solid #d49d8c;border-radius:50%;color:#d49d8c;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:40px;justify-content:center;width:40px}.sidebar-profile-info{display:flex;flex-direction:column}.sidebar-profile-role{color:#1a1a1a66;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sidebar-profile-name{color:#1a1a1a;font-size:.875rem;font-weight:600}.sidebar-logout{align-items:center;background:none;border:none;border-radius:.5rem;color:#1a1a1a99;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.sidebar-logout:hover{color:#dc2626}.sidebar-logout .material-symbols-outlined{font-size:1.25rem}.dashboard-main-area{background:#fcf9f3;display:flex;flex:1 1;flex-direction:column;margin-left:280px;min-height:100vh}.doctor-dashboard .dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #1a1a1a0d;color:#1a1a1a;display:flex;height:80px;justify-content:space-between;padding:0 2.5rem;position:sticky;top:0;z-index:40}.doctor-dashboard .header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.doctor-dashboard .header-content h1{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0}.header-actions{align-items:center;display:flex;gap:1.5rem}.header-notification-btn{background:none;border:none;color:#1a1a1a99;cursor:pointer;padding:.5rem;position:relative;transition:color .2s}.header-notification-btn:hover{color:#1a1a1a}.header-notification-dot{background:#d49d8c;border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:8px;top:8px;width:8px}.dashboard-main{margin:0 auto;max-width:1200px;padding:2.5rem;width:100%}.summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2.5rem}.summary-cards-four{grid-template-columns:repeat(4,1fr)}.summary-card{background:#fff;border:1px solid #1a1a1a0d;border-left:4px solid #d49d8c;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;padding:1.5rem;transition:all .3s ease}.summary-card:hover{border-color:#d49d8c;box-shadow:0 10px 30px -10px #d49d8c33}.summary-card-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.summary-card-icon{align-items:center;background:#d49d8c1a;border-radius:.5rem;color:#d49d8c;display:flex;justify-content:center;padding:.5rem}.summary-card-icon .material-symbols-outlined{font-size:1.25rem}.summary-card-badge{border-radius:9999px;font-size:.75rem;font-weight:700;padding:.25rem .5rem}.summary-card-badge.positive{background:#f0fdf4;color:#16a34a}.summary-card-badge.negative{background:#fef2f2;color:#f87171}.summary-card-label{color:#1a1a1a80;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.summary-card-value{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.875rem;font-weight:700;letter-spacing:-.5px}.tab-content-wrapper{width:100%}.appointments-section{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;overflow:hidden;transition:all .3s ease}.appointments-section:hover{border-color:#d49d8c;box-shadow:0 10px 30px -10px #d49d8c33}.appointments-section h2{border-bottom:1px solid #1a1a1a0d;color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px;margin:0;padding:1.5rem}.appointments-section .appointments-section-toolbar h2{border-bottom:none;padding:0}.appointments-section h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;margin:1rem 1.5rem .75rem}.no-appointments{color:#1a1a1a80;font-family:Manrope,sans-serif;font-size:.875rem;padding:2.5rem 1.5rem;text-align:center}.appointments-list,.no-appointments{background:#fff;border-top:1px solid #1a1a1a0d;margin:0 -1.5rem}.appointments-list{display:flex;flex-direction:column;padding:0}.appointment-card{grid-gap:1rem 1.5rem;align-items:center;border-bottom:1px solid #1a1a1a0d;cursor:pointer;display:grid;gap:1rem 1.5rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr) minmax(0,1.25fr);padding:1rem 1.5rem;transition:background .2s ease}.appointment-card:last-child{border-bottom:none}.appointment-card:hover{background:#fcf9f380}.appointment-header{align-items:center;display:flex;gap:.75rem;min-width:0}.appointment-header h3{border:none;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.appointment-details{display:contents}.appointment-details p{color:#1a1a1aa6;font-size:.8125rem;line-height:1.45;margin:0;min-width:0}.appointment-details strong{color:#1a1a1a66;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.status-badge{font-size:.75rem;white-space:nowrap}.status-confirmed,.status-scheduled{background:#f0fdf4;color:#15803d}.status-pending,.status-requested{background:#fffbeb;color:#b45309}.status-cancelled{color:#b91c1c}.patient-form{padding:1.5rem}.form-group label{color:#1a1a1a66;font-size:.75rem;font-weight:700;letter-spacing:.1em}.form-group input,.form-group select{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:none}.form-group input::placeholder{color:#1a1a1a4d}.form-group small{color:#1a1a1a66;display:block;font-size:.75rem;margin-top:.375rem}.dob-group .dob-selects{display:flex;flex-wrap:wrap;gap:.5rem}.dob-group input,.dob-group select{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;flex:1 1;font-family:Manrope,sans-serif;font-size:.875rem;min-width:100px;padding:.75rem}.dob-group input:focus,.dob-group select:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:none}.slots-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:0 1.5rem 1.5rem}.slot-button{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;cursor:pointer;font-family:Manrope,sans-serif;padding:.75rem 1rem;text-align:center;transition:all .2s ease}.slot-button:hover{border-color:#d49d8c;box-shadow:0 4px 12px #d49d8c26}.slot-button.selected{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.slot-date{font-size:.875rem;font-weight:600}.slot-time{color:#1a1a1a80;font-size:.75rem;margin-top:.25rem}.slot-button.selected .slot-time{color:#ffffffb3}.submit-button{background:#1a1a1a;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;margin-left:1.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.submit-button:hover{background:#1a1a1ae6}.submit-button:disabled{cursor:not-allowed;opacity:.5}.success-message{background:#f0fdf4;border-radius:.5rem;color:#16a34a;font-size:.875rem;font-weight:600;margin:0 1.5rem 1rem;padding:.75rem 1.5rem}.logout-button{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.logout-button:hover{border-color:#dc2626;color:#dc2626}.help-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.help-section{background:#fcf9f3;border:1px solid #1a1a1a0d;border-radius:.5rem;padding:1.25rem;transition:all .2s ease}.help-section:hover{border-color:#d49d8c}.help-section h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;letter-spacing:-.2px;margin:0 0 .5rem;padding:0}.help-section p{color:#1a1a1a99;font-size:.875rem;line-height:1.6;margin:0}.error-container,.loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;min-height:400px}.loading{color:#1a1a1a80;font-size:.875rem}.error{margin:1rem 1.5rem;padding:.75rem 1.5rem}.calendar-controls{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem;padding:0 1.5rem}.calendar-controls h3{color:#1a1a1a;font-family:Playfair Display,serif;font-weight:700;margin:0;text-transform:capitalize}.calendar-nav{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.calendar-nav:hover{background:#1a1a1a;color:#fff}.calendar-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,minmax(120px,1fr));padding:0 1.5rem 1.5rem}.calendar-weekday{color:#1a1a1a66;font-size:.75rem;font-weight:700;letter-spacing:.1em;padding:.5rem 0;text-align:center;text-transform:uppercase}.calendar-cell{background:#fff;border:1px solid #1a1a1a0d;border-radius:.5rem;display:flex;flex-direction:column;gap:.375rem;min-height:120px;padding:.5rem;transition:all .2s}.calendar-cell:hover{border-color:#d49d8c}.calendar-cell.empty{background:#fcf9f380;border-style:dashed}.calendar-day-number{color:#1a1a1a;font-size:.875rem;font-weight:600}.calendar-events{display:flex;flex:1 1;flex-direction:column;gap:.375rem}.calendar-event{background:#fcf9f3cc;border-left:3px solid #d49d8c;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem}.calendar-event-title{color:#1a1a1a;font-weight:600}.calendar-event-time{color:#1a1a1a80;font-size:.7rem}.calendar-event.status-confirmed{border-left-color:#16a34a}.calendar-event.status-requested{border-left-color:#d97706}.calendar-event.status-cancelled{border-left-color:#dc2626}.calendar-no-events{color:#1a1a1a4d;font-size:.75rem}.availability-popup{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;box-shadow:0 10px 30px -10px #00000026;display:flex;flex-direction:column;gap:.375rem;padding:.75rem;position:absolute;right:5px;top:30px;width:160px;z-index:50}.availability-popup input{border:1px solid #1a1a1a1a;border-radius:.375rem;font-family:Manrope,sans-serif;font-size:.8rem;padding:.5rem;width:100%}.availability-popup input:focus{border-color:#d49d8c;outline:none}.availability-popup button{font-family:Manrope,sans-serif;font-size:.75rem;padding:.375rem}.sidebar-toggle{align-items:center;background:#1a1a1a;border:none;border-radius:50%;bottom:1.5rem;box-shadow:0 4px 20px #0003;color:#fff;cursor:pointer;display:none;height:48px;justify-content:center;position:fixed;right:1.5rem;width:48px;z-index:100}.sidebar-overlay{display:none}@media (max-width:1024px){.summary-cards,.summary-cards-four{grid-template-columns:repeat(2,1fr)}.calendar-grid{grid-template-columns:repeat(7,minmax(80px,1fr))}}@media (max-width:768px){.doctor-dashboard{display:block}.dashboard-sidebar{left:-280px;position:fixed;transition:left .3s ease}.dashboard-sidebar.open{left:0}.sidebar-overlay{background:#0000004d;border:none;cursor:default;display:none;inset:0;margin:0;padding:0;position:fixed;width:100%;z-index:49}.sidebar-overlay.visible{display:block}.sidebar-toggle{display:flex}.dashboard-main-area{margin-left:0}.doctor-dashboard .dashboard-header{height:64px;padding:0 1.5rem}.doctor-dashboard .header-content h1{font-size:1.25rem}.dashboard-main{padding:1.5rem}.summary-cards{grid-template-columns:1fr}.appointments-section{border-radius:.5rem}.appointment-card{gap:.375rem;grid-template-columns:1fr}.appointment-details{display:flex;flex-direction:column;gap:.25rem}.calendar-grid{gap:.25rem;grid-template-columns:repeat(7,minmax(60px,1fr));padding:0 1rem 1rem}}.patient-completion-form{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.patient-completion-form h4{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;margin:.5rem 0}.patient-completion-form p{color:#1a1a1a99;font-size:.875rem}.patient-completion-form input{border:1px solid #1a1a1a1a;border-radius:.375rem;font-family:Manrope,sans-serif;font-size:.875rem;padding:.625rem .75rem;width:100%}.patient-completion-form input:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:none}.appointment-date-range-bar{background:#fff;border:1px solid #1a1a1a0f;border-left:3px solid #d49d8c;border-radius:.625rem;box-shadow:0 1px 4px #00000008;margin-bottom:1rem;padding:1rem 1.125rem}.appointment-date-range-header{align-items:center;border-bottom:1px solid #1a1a1a0d;display:flex;gap:.625rem;margin-bottom:.875rem;padding-bottom:.75rem}.appointment-date-range-header .material-symbols-outlined{color:#d49d8c;flex-shrink:0;font-size:1.25rem}.appointment-date-range-title{color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.8125rem;font-weight:700;margin:0}.appointment-date-range-applied{color:#1a1a1a80;font-family:Manrope,sans-serif;font-size:.75rem;margin:.125rem 0 0}.appointment-date-range-controls{grid-gap:.875rem 1.25rem;align-items:end;display:grid;gap:.875rem 1.25rem;grid-template-columns:auto minmax(0,1fr) auto}.appointment-date-range-preset{align-self:end;background:#fcf9f3;border:1px solid #1a1a1a1a;border-radius:.375rem;color:#1a1a1ab3;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8125rem;font-weight:600;height:2.375rem;padding:0 .875rem;transition:border-color .2s,background .2s,color .2s;white-space:nowrap}.appointment-date-range-preset.active{background:#d49d8c24;border-color:#d49d8c;color:#7a4538}.appointment-date-range-preset:hover:not(:disabled){border-color:#d49d8c;color:#1a1a1a}.appointment-date-range-fields{grid-gap:.75rem 1rem;display:grid;gap:.75rem 1rem;grid-template-columns:repeat(2,minmax(9.5rem,1fr))}.appointment-date-range-fields label{color:#1a1a1a73;display:flex;flex-direction:column;font-family:Manrope,sans-serif;font-size:.6875rem;font-weight:600;gap:.3125rem;letter-spacing:.04em;text-transform:uppercase}.appointment-date-range-fields input[type=date]{background:#fcf9f3;border:1px solid #1a1a1a1f;border-radius:.375rem;box-sizing:border-box;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;height:2.375rem;padding:0 .625rem;width:100%}.appointment-date-range-fields input[type=date]:focus{border-color:#d49d8c;box-shadow:0 0 0 2px #d49d8c33;outline:none}.appointment-date-range-actions{align-items:flex-end;display:flex;gap:.5rem}.appointment-date-range-apply,.appointment-date-range-reset{border-radius:.375rem;box-sizing:border-box;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8125rem;font-weight:600;height:2.375rem;padding:0 1rem;white-space:nowrap}.appointment-date-range-apply{background:#1a1a1a;border:none;color:#fff;transition:background .2s}.appointment-date-range-apply:hover:not(:disabled){background:#1a1a1ad9}.appointment-date-range-apply:disabled{cursor:not-allowed;opacity:.45}.appointment-date-range-reset{background:#fff;border:1px solid #1a1a1a1f;color:#1a1a1ab3}.appointment-date-range-reset:hover:not(:disabled){border-color:#d49d8c;color:#1a1a1a}.appointment-date-range-error{color:#c45c4a;font-family:Manrope,sans-serif;font-size:.8125rem;margin:.75rem 0 0}@media (max-width:900px){.appointment-date-range-controls{align-items:stretch;grid-template-columns:1fr}.appointment-date-range-actions{justify-content:flex-start}}@media (max-width:520px){.appointment-date-range-fields{grid-template-columns:1fr}}dialog.modal-overlay:not([open]){display:none}dialog.modal-overlay[open]{align-items:center;background:#0000;border:none;display:flex;height:100vh;inset:0;justify-content:center;margin:0;max-height:100vh;max-width:100vw;padding:0;position:fixed;width:100vw;z-index:1000}dialog.modal-overlay::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006}.modal{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 20px 60px -15px #0003;max-width:480px;padding:1.5rem;width:100%}.modal-header{align-items:center;border-bottom:1px solid #1a1a1a0d;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.modal-header h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;margin:0;padding:0}.modal-header button{background:none;border:none;color:#1a1a1a66;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;transition:color .2s}.modal-header button:hover{color:#1a1a1a}.modal-body p{color:#1a1a1ab3;font-size:.875rem;line-height:1.5;margin-bottom:.5rem}.modal-body strong{color:#1a1a1a;font-weight:600}button.appointment-card{background:#0000;border:none;color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.complete-appointment-btn{background:#1a1a1a;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-top:.75rem;padding:.75rem;transition:all .2s;width:100%}.complete-appointment-btn:hover{background:#1a1a1ad9}.complete-appointment-btn:disabled{cursor:not-allowed;opacity:.5}.no-show-btn{background:#fef2f2;border:1px solid #dc262633;border-radius:.5rem;color:#dc2626;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-top:.5rem;padding:.75rem;transition:all .2s;width:100%}.no-show-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff}.no-show-btn:disabled{cursor:not-allowed;opacity:.5}.credentials-modal{border:1px solid #dc262640}.credentials-modal .modal-header h3{color:#b45309}.credentials-value{background:#fffbeb;border:1px solid #b453094d;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:block;font-family:JetBrains Mono,Courier New,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.15em;margin:.75rem 0;padding:.85rem 1rem;text-align:center;transition:border-color .2s ease,box-shadow .2s ease;-webkit-user-select:all;user-select:all;width:100%}.credentials-value:hover{border-color:#b453098c;box-shadow:0 2px 8px #b453091f}.credentials-value--masked{letter-spacing:.35em;-webkit-user-select:none;user-select:none}.credentials-pending-label{color:#1a1a1a8c;font-size:.875rem;font-style:italic;margin:0 0 .5rem}.status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.7rem;font-weight:700;gap:.375rem;letter-spacing:.03em;padding:.25rem .75rem;text-transform:uppercase}.status-confirmed{background:#f0fdf4;color:#15803d}.status-completed{background:#eff6ff;color:#1d4ed8}.status-cancelled{background:#fef2f2;color:#dc2626}.status-requested{background:#fffbeb;color:#b45309}.appointments-section-toolbar{align-items:center;background:#fff;border-bottom:1px solid #1a1a1a0f;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;padding:1.25rem 1.5rem}.appointments-section-toolbar h2{border:none;color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px;margin:0;padding:0}.appointments-section-content{background:#fcf9f3;padding:1.25rem 1.5rem 0}.appointments-archive-subtabs,.appointments-subtabs{display:flex;flex-wrap:wrap;gap:.5rem}.appointments-subtabs--primary{background:#0000;padding:0}.appointments-subtabs--secondary{background:#0000;margin-bottom:1rem;padding:0}.subtab{background:#fff;border:none;border-radius:.375rem;box-shadow:0 1px 3px #0000000d;color:#1a1a1a73;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.subtab:hover{color:#1a1a1a}.subtab.active{background:#1a1a1a;box-shadow:0 2px 8px #0000001f;color:#fff;font-weight:600}.subtab--secondary{background:#0000;border:1px solid #1a1a1a1a;box-shadow:none;color:#1a1a1a8c;font-size:.8125rem;padding:.4375rem .875rem}.subtab--secondary:hover{background:#ffffffb3;border-color:#d49d8c;color:#1a1a1a}.subtab--secondary.active{background:#d49d8c24;border-color:#d49d8c;box-shadow:none;color:#7a4538;font-weight:600}.active-subtab-badge{align-items:center;background:#c45c4a;border-radius:999px;color:#fff;display:inline-flex;font-size:.625rem;font-weight:700;height:1.125rem;justify-content:center;line-height:1;margin-left:.375rem;min-width:1.125rem;padding:0 .3rem}.subtab--secondary.active .active-subtab-badge{background:#a94432}.appointment-card-needs-closure{background:rgba(196,92,74,.035)}.archived-pagination,.archived-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin:.75rem 0 1rem}.archived-pagination-label{color:#64748b;font-size:.9rem}.appointment-consent-notice{color:#475569;font-size:.9rem;line-height:1.5;margin:.75rem 0}.closure-pending-badge{background:#c45c4a1f;border-radius:999px;color:#a94432;display:inline-block;font-size:.625rem;font-weight:700;letter-spacing:.03em;margin-left:.375rem;padding:.125rem .5rem;text-transform:uppercase;vertical-align:middle}@media (max-width:768px){.appointments-section-toolbar{align-items:flex-start;padding:1rem 1.25rem}.appointments-section-content{padding:1rem 1.25rem 0}.appointments-list,.no-appointments{margin-left:-1.25rem;margin-right:-1.25rem}.appointment-card{gap:.375rem;grid-template-columns:1fr;padding:1rem 1.25rem}.appointment-details{display:flex;flex-direction:column;gap:.25rem}}.approval-toolbar-meta{color:#1a1a1a80;font-family:Manrope,sans-serif;font-size:.8125rem;font-weight:500;margin:0}.approval-toolbar-meta strong{color:#7a4538;font-weight:700}.approval-row{grid-gap:1rem 1.5rem;align-items:center;background:#fff;border-bottom:1px solid #1a1a1a0d;display:grid;gap:1rem 1.5rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr) minmax(0,1fr) auto;padding:1rem 1.5rem;transition:background .2s ease}.approval-row:last-child{border-bottom:none}.approval-row:hover{background:#fcf9f380}.approval-row .appointment-header{flex-wrap:wrap}.approval-badges{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.375rem}.approval-source-badge{background:#d49d8c24;color:#7a4538}.approval-row-detail{display:flex;flex-direction:column;gap:.25rem;min-width:0}.approval-row-detail p{color:#1a1a1aa6;font-size:.8125rem;line-height:1.45;margin:0;min-width:0}.approval-row-detail strong{color:#1a1a1a66;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.approval-row-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem;justify-content:flex-end}.approval-btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-family:Manrope,sans-serif;font-size:.8125rem;font-weight:600;gap:.375rem;justify-content:center;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.approval-btn .material-symbols-outlined{font-size:1rem}.approval-btn:disabled{cursor:not-allowed;opacity:.5}.approval-btn--approve{background:#1a1a1a;color:#fff}.approval-btn--approve:hover:not(:disabled){background:#1a1a1ad9}.approval-btn--reject{background:#fff;border:1px solid #1a1a1a1f;color:#1a1a1ab3}.approval-btn--reject:hover:not(:disabled){background:#fef2f2;border-color:#dc262640;color:#dc2626}@keyframes approval-spin{to{transform:rotate(1turn)}}.approval-btn-spin{animation:approval-spin .8s linear infinite}@media (max-width:768px){.approval-row{gap:.625rem;grid-template-columns:1fr;padding:1rem 1.25rem}.approval-row-actions{justify-content:stretch;padding-top:.375rem}.approval-btn{flex:1 1}}.create-note-modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.create-note-modal{animation:cnSlideUp .35s ease-out;background:#fcf9f3;border-radius:1rem;box-shadow:0 25px 80px -15px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}@keyframes cnSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.create-note-header{align-items:flex-start;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffe6;border-bottom:1px solid #1a1a1a0d;border-radius:1rem 1rem 0 0;display:flex;justify-content:space-between;padding:1.75rem 2rem}.create-note-header-content{flex:1 1}.create-note-header h2{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0 0 .25rem}.create-note-patient-name{color:#1a1a1a80;font-size:.875rem;font-weight:500;margin:0}.create-note-close-btn{align-items:center;background:#1a1a1a0d;border:none;border-radius:50%;color:#1a1a1a80;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;padding:0;transition:all .2s;width:40px}.create-note-close-btn:hover{background:#1a1a1a1a;color:#1a1a1a}.create-note-form{display:flex;flex:1 1;flex-direction:column;gap:2rem;overflow-y:auto;padding:2rem}.create-note-section{display:flex;flex-direction:column;gap:.75rem}.create-note-label{align-items:center;color:#1a1a1a;display:flex;font-family:Playfair Display,serif;font-size:1.125rem;font-weight:700;gap:.5rem;letter-spacing:-.2px;margin-bottom:.25rem}.label-icon{color:#1a1a1a66;font-size:1.25rem}.create-note-hint{color:#1a1a1a80;font-size:.85rem;font-style:normal;line-height:1.5;margin:0}.category-options{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-top:.5rem}.category-option{align-items:flex-start;background:#fff;border:1px solid #1a1a1a14;border-radius:.75rem;cursor:pointer;display:flex;gap:1rem;padding:1.25rem;transition:all .25s ease}.category-option:hover{background:#fff;border-color:#1a1a1a40;box-shadow:0 4px 16px #0000000f;transform:translateY(-2px)}.category-option.selected{background:#fff;border-color:#1a1a1a;box-shadow:0 4px 16px #00000014}.category-option input[type=radio]{accent-color:#1a1a1a;cursor:pointer;flex-shrink:0;height:18px;margin-top:.25rem;width:18px}.category-option-content{flex:1 1}.category-option-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.375rem}.category-icon{align-items:center;background:#1a1a1a0d;border-radius:.5rem;display:flex;font-size:1.25rem;height:40px;justify-content:center;transition:all .2s;width:40px}.category-option.selected .category-icon,.category-option:hover .category-icon{background:#1a1a1a;color:#fff}.category-label{color:#1a1a1a;font-size:.95rem;font-weight:700}.category-description{color:#1a1a1a80;font-size:.8rem;line-height:1.5;margin:0}.create-note-textarea{background:#fff;border:1px solid #1a1a1a1a;border-radius:.75rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.9rem;line-height:1.6;min-height:200px;padding:1.25rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.create-note-textarea:focus{background:#fff;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14;outline:none}.create-note-textarea::placeholder{color:#1a1a1a4d;font-style:normal}.character-count{color:#1a1a1a59;font-size:.75rem;font-weight:500;margin-top:.5rem;text-align:right}.character-warning{color:#d49d8c;font-weight:700;margin-left:.5rem}.create-note-error{align-items:center;background:#fef2f2;border-left:3px solid #dc2626;border-radius:.5rem;color:#dc2626;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.875rem 1.25rem}.error-icon{flex-shrink:0;font-size:1.1rem}.create-note-actions{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffe6;border-top:1px solid #1a1a1a0d;display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 2rem}.create-note-cancel-btn,.create-note-submit-btn{align-items:center;border:none;border-radius:9999px;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:700;gap:.5rem;padding:.75rem 1.75rem;transition:all .2s ease}.create-note-cancel-btn{background:#0000;border:1px solid #1a1a1a26;color:#1a1a1a99}.create-note-cancel-btn:hover:not(:disabled){background:#1a1a1a0d;border-color:#1a1a1a4d;color:#1a1a1a}.create-note-submit-btn{background:#1a1a1a;box-shadow:0 4px 16px #1a1a1a33;color:#fff}.create-note-submit-btn:hover:not(:disabled){background:#1a1a1ad9;box-shadow:0 6px 20px #1a1a1a40;transform:scale(1.02)}.create-note-submit-btn:active:not(:disabled){transform:scale(.98)}.create-note-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.create-note-modal-overlay{padding:0}.create-note-modal{border-radius:0;max-height:100vh}.create-note-header{border-radius:0;padding:1.25rem 1.5rem}.create-note-form{padding:1.5rem}.category-options{grid-template-columns:1fr}.create-note-textarea{min-height:150px}.create-note-actions{flex-direction:column-reverse;padding:1rem 1.5rem}.create-note-cancel-btn,.create-note-submit-btn{justify-content:center;width:100%}}.onboarding-modal-overlay{align-items:center;background-color:initial;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:3000}.onboarding-modal-backdrop{background-color:#00000073;border:none;cursor:default;inset:0;margin:0;padding:0;position:absolute;z-index:0}.onboarding-modal-overlay>.onboarding-modal{position:relative;z-index:1}.onboarding-modal{animation:slideUp .35s ease-out;background:#fcf9f3;border-radius:1rem;box-shadow:0 25px 80px -15px #00000040;display:flex;flex-direction:column;max-height:95vh;max-width:1000px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{align-items:flex-start;background:#fff;border-bottom:1px solid #1a1a1a0d;display:flex;justify-content:space-between;padding:1.75rem 2rem}.onboarding-header h2{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0 0 .25rem}.onboarding-header p{color:#1a1a1a80;font-size:.875rem;font-weight:500;margin:0}.onboarding-edit-hint{color:#1a1a1a73!important;font-size:.8rem!important;font-style:italic;line-height:1.4;margin-top:.5rem!important;max-width:28rem}.close-btn{align-items:center;background:#1a1a1a0d;border:none;border-radius:50%;color:#1a1a1a80;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.close-btn:hover{background:#1a1a1a1a;color:#1a1a1a}.onboarding-progress{background:#fff9;border-bottom:1px solid #1a1a1a0d;padding:1.25rem 2rem}.progress-bar{background:#1a1a1a0f;border-radius:9999px;height:6px;margin-bottom:.625rem;overflow:hidden;width:100%}.progress-fill{background:#1a1a1a;border-radius:9999px;height:100%;transition:width .5s ease-out}.onboarding-progress p{color:#1a1a1a66;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase}.onboarding-content{flex:1 1;overflow-y:auto;padding:2rem}.form-section-content h3{align-items:center;border-bottom:none;color:#1a1a1a;display:flex;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;gap:.75rem;letter-spacing:-.3px;margin:0 0 1.5rem;padding-bottom:0}.form-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1/-1}.form-group label{color:#1a1a1a99;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#1a1a1a4d}.checkbox-group{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:.5rem}.checkbox-item{align-items:center;background:#fff;border:1px solid #1a1a1a14;border-radius:.75rem;cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;transition:border-color .15s ease}.checkbox-item:hover{border-color:#1a1a1a40}.checkbox-item input[type=checkbox]{accent-color:#1a1a1a;border-radius:.25rem;cursor:pointer;flex-shrink:0;height:18px;width:18px}.checkbox-item input[type=checkbox]:checked+label{color:#1a1a1a;font-weight:600}.checkbox-item label{color:#1a1a1ab3;cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none}.error-message{border-left:3px solid #dc2626;color:#dc2626;font-weight:500;margin:.75rem 2rem;padding:.875rem 1.25rem}.onboarding-actions{align-items:center;background:#fff;border-top:1px solid #1a1a1a0d;display:flex;justify-content:space-between;padding:1.25rem 2rem}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:9999px;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:700;gap:.5rem;padding:.75rem 1.75rem;transition:all .2s ease}.btn-secondary{background:#0000;border:1px solid #1a1a1a26;color:#1a1a1a99}.btn-secondary:hover:not(:disabled){background:#1a1a1a0d;border-color:#1a1a1a4d;color:#1a1a1a}.btn-secondary:disabled{cursor:not-allowed;opacity:.35}.btn-primary{background:#1a1a1a;box-shadow:0 4px 16px #1a1a1a33;color:#fff}.btn-primary:hover:not(:disabled){background:#1a1a1ad9;box-shadow:0 6px 20px #1a1a1a40;transform:scale(1.02)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.follow-up-badge{color:#d49d8c;font-size:.75rem;font-weight:700;margin-left:.5rem}.info-banner{align-items:flex-start;background:#1a1a1a08;border:1px solid #1a1a1a14;border-radius:.75rem;color:#1a1a1a;display:flex;font-size:.85rem;gap:.75rem;line-height:1.5;margin-bottom:1rem;padding:1rem 1.25rem}.info-banner span{flex-shrink:0;font-size:1.1rem;margin-top:.1rem}@media (max-width:768px){.checkbox-group,.form-grid{grid-template-columns:1fr}.onboarding-modal{border-radius:0;max-height:100vh}.onboarding-header{border-radius:0;padding:1.25rem 1.5rem}.onboarding-content{padding:1.5rem}.onboarding-actions,.onboarding-progress{padding:1rem 1.5rem}}.patients-chart-view{background:#fcf9f3;display:flex;flex:1 1;flex-direction:column;min-height:0}.patients-chart-view-header{background:#fff;border-bottom:1px solid #1a1a1a0f;display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.75rem}.patients-chart-back{align-items:center;align-self:flex-start;background:#fff;border:1px solid #1a1a1a1a;border-radius:9999px;color:#1a1a1a;cursor:pointer;display:inline-flex;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:700;gap:.5rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease}.patients-chart-back:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.patients-chart-back .material-symbols-outlined{font-size:1.125rem}.patients-chart-view-header-patient{align-items:center;display:flex;gap:1rem}.patients-chart-view-body{flex:1 1;min-height:0;overflow-y:auto;padding:1.5rem 1.75rem 2rem}.patients-chart-view-footer{background:#fff;border-top:1px solid #1a1a1a0f;display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem 1.75rem}.patient-chart-tabs{background:#fff;border-bottom:1px solid #1a1a1a0f;display:flex;gap:.5rem;overflow-x:auto;padding:0 1.75rem}.patient-chart-tab{background:none;border:none;border-bottom:2px solid #0000;color:#1a1a1a73;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:.875rem 1rem;text-transform:uppercase;transition:color .15s,border-color .15s;white-space:nowrap}.patient-chart-tab.active{border-bottom-color:#d49d8c;color:#1a1a1a}.encounter-card.encounter-card-row{align-items:center;background:#fff;border:1px solid #1a1a1a0f;border-left:3px solid #d49d8c;border-radius:.625rem;cursor:pointer;display:flex;font-family:inherit;gap:1rem;justify-content:space-between;margin-bottom:.875rem;padding:1rem 1.125rem;text-align:left;transition:background .15s,border-color .15s;width:100%}.encounter-card-row:hover{background:#d49d8c0f;border-color:#d49d8c59}.encounter-card-main{flex:1 1;min-width:0}.encounter-card-trailing{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.encounter-card-chevron{color:#1a1a1a59;font-size:1.25rem}.encounter-fin{background:#1a1a1a0d;border-radius:.25rem;color:#1a1a1a;font-family:ui-monospace,Cascadia Code,monospace;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.25rem .5rem;text-transform:uppercase}.encounter-preview{color:#1a1a1abf;font-size:.9rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-load-more{background:#fff;border:1px dashed #1a1a1a26;border-radius:.5rem;color:#1a1a1a8c;cursor:pointer;display:block;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;margin-top:.5rem;padding:.75rem;transition:border-color .15s,color .15s;width:100%}.chart-load-more:hover:not(:disabled){border-color:#d49d8c;color:#1a1a1a}.chart-load-more:disabled{cursor:not-allowed;opacity:.5}.appointment-link-field{background:#d49d8c14;border:1px solid #d49d8c33;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.appointment-link-field label{color:#1a1a1a8c;display:block;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.appointment-link-field select{background:#fff;border:1px solid #1a1a1a1f;border-radius:.375rem;font-family:Manrope,sans-serif;font-size:.875rem;padding:.625rem .75rem;width:100%}.visit-fin-header{color:#d49d8c;font-family:ui-monospace,Cascadia Code,monospace;font-size:.8rem;font-weight:700;letter-spacing:.04em;margin-top:.25rem}.patients-section.patients-chart-mode .patients-split-container{display:none}.patients-section.patients-chart-mode{display:flex;flex-direction:column;min-height:calc(100vh - 200px)}.patient-avatar{overflow:hidden}.patient-avatar-img{display:block;height:100%;object-fit:cover;width:100%}.patients-section{display:flex;flex-direction:column;height:100%}.patients-split-container{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;display:flex;gap:0;height:calc(100vh - 200px);min-height:600px;overflow:hidden}.patients-list-panel{background:#fff;border-right:1px solid #1a1a1a0d;display:flex;flex-direction:column;min-width:340px;overflow:hidden;width:380px}.patients-header{background:#fff;border-bottom:1px solid #1a1a1a0d;padding:1.5rem}.patients-header-top{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.patients-header-top h2{margin:0}.patients-header h2,.patients-header-top h2{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px}.patients-header h2{margin:0 0 1rem}.patients-add-btn{align-items:center;background:#1a1a1a;border:none;border-radius:9999px;box-shadow:0 2px 8px #1a1a1a1f;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:700;gap:.375rem;letter-spacing:.05em;padding:.5rem .875rem;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.patients-add-btn .material-symbols-outlined{font-size:1rem}.patients-add-btn:hover{background:#1a1a1ad1;box-shadow:0 4px 14px #1a1a1a2e}.add-patient-modal{max-height:92vh;overflow-y:auto;width:460px}.add-patient-input{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;box-sizing:border-box;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;margin-bottom:.875rem;padding:.625rem .875rem;transition:border-color .2s,box-shadow .2s;width:100%}.add-patient-input:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14;outline:none}.add-patient-input:disabled{cursor:not-allowed;opacity:.55}.patients-search-container{position:relative;width:100%}.patients-search-input{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;padding:.75rem 2.5rem .75rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.patients-search-input:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:none}.patients-search-input::placeholder{color:#1a1a1a4d}.patients-search-clear{align-items:center;background:none;border:none;color:#1a1a1a4d;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:color .2s;width:24px}.patients-search-clear:hover{color:#1a1a1a}.patients-list-container{flex:1 1;overflow-y:auto;padding:.5rem}.patients-cards-list{display:flex;flex-direction:column;gap:.375rem}.patient-card{align-items:center;background:#0000;background:#fff;border:1px solid #0000;border-radius:.5rem;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:all .2s ease;width:100%}.patient-card:hover{background:#fcf9f3cc;border-color:#d49d8c4d}.patient-card.selected{background:#fcf9f3;border-color:#d49d8c;box-shadow:0 2px 8px #d49d8c26}.patient-card-avatar{align-items:center;background:#1a1a1a;border:2px solid #d49d8c33;border-radius:50%;color:#d49d8c;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:40px;justify-content:center;width:40px}.patient-card.selected .patient-card-avatar{border-color:#d49d8c}.patient-card-info{flex:1 1;min-width:0}.patient-card-name{color:#1a1a1a;font-size:.875rem;font-weight:600;margin-bottom:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-card-details{color:#1a1a1a66;display:flex;flex-direction:column;font-size:.75rem;gap:.125rem}.patient-card-email,.patient-card-phone{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-card-status{flex-shrink:0}.status-badge-active{background:#d49d8c1a;border-radius:9999px;color:#d49d8c;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.2rem .625rem;text-transform:uppercase}.patients-detail-panel{background:#fcf9f3;display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.patient-detail-empty{align-items:center;color:#1a1a1a59;display:flex;font-size:.95rem;height:100%;justify-content:center}.patient-detail-content{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.patient-detail-header{align-items:flex-start;border-bottom:1px solid #1a1a1a0d;display:flex;justify-content:space-between;padding-bottom:1.5rem}.patient-detail-header-left{align-items:center;display:flex;gap:1rem}.patient-detail-avatar{align-items:center;background:#1a1a1a;border:2px solid #d49d8c;border-radius:50%;color:#d49d8c;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:56px;justify-content:center;width:56px}.patient-summary-avatar-wrap{flex-shrink:0;position:relative}.patient-avatar-upload-btn{align-items:center;background:#d49d8c;border:2px solid #fff;border-radius:50%;bottom:-4px;box-shadow:0 1px 4px #00000026;color:#1a1a1a;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;position:absolute;right:-4px;width:28px}.patient-avatar-upload-btn:disabled{cursor:not-allowed;opacity:.6}.patient-avatar-upload-btn .material-symbols-outlined{font-size:16px}.patient-summary-photo-remove{background:none;border:none;color:#8b4513;cursor:pointer;font-size:.75rem;padding:0;text-decoration:underline}.patient-summary-photo-remove:disabled{cursor:not-allowed;opacity:.5}.patient-detail-title{display:flex;flex-direction:column;gap:.375rem}.patient-detail-name{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.375rem;font-weight:700;letter-spacing:-.3px}.patient-detail-meta{align-items:center;display:flex;gap:1rem}.patient-detail-id{color:#1a1a1a66;font-size:.8rem;font-weight:500}.patient-new-appointment-btn{align-items:center;background:#1a1a1a;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s;white-space:nowrap}.patient-new-appointment-btn:hover{background:#1a1a1ad9;box-shadow:0 4px 12px #00000026}.patient-new-appointment-btn:active{transform:translateY(0)}.patient-detail-section{display:flex;flex-direction:column;gap:.75rem}.section-title{align-items:center;color:#1a1a1a;display:flex;font-family:Playfair Display,serif;font-size:1.125rem;font-weight:700;gap:.5rem;letter-spacing:-.3px;margin:0}.section-content{background:#fff;border:1px solid #1a1a1a0d;border-radius:.5rem;box-shadow:0 2px 8px #00000008;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.info-item{align-items:center;display:flex;font-size:.875rem;gap:.75rem}.info-icon{color:#d49d8c;flex-shrink:0;font-size:1rem}.info-label{color:#1a1a1a66;font-size:.8rem;font-weight:600;letter-spacing:.05em;min-width:120px;text-transform:uppercase}.info-value{color:#1a1a1a;font-weight:500}.info-value-allergies,.info-value-medications{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.allergy-tag,.medication-tag{background:#fcf9f3;border:1px solid #1a1a1a0d;border-radius:9999px;color:#1a1a1a;display:inline-block;font-size:.8rem;font-weight:500;padding:.3rem .625rem}.allergy-tag.no-allergies{background:#fffbeb;border-color:#d49d8c4d;color:#b45309}.medication-tag{background:#d49d8c1a;border-color:#d49d8c33;color:#1a1a1a}.medication-tag.prescribed{background:#f0fdf4;border-color:#16a34a33;color:#15803d}.notes-content{border:none;box-shadow:none}.notes-content,.notes-content .patient-clinical-notes{background:#0000;padding:0}.notes-content .notes-timeline{display:flex;flex-direction:column;gap:.5rem}.notes-content .note-item{background:#fff;border:1px solid #1a1a1a0d;border-radius:.5rem;padding:1rem;transition:border-color .2s}.notes-content .note-item:hover{border-color:#d49d8c}.lab-reports-content{border:none;box-shadow:none}.lab-reports-content,.lab-reports-content .patient-lab-reports{background:#0000;padding:0}.appointments-history-list{display:flex;flex-direction:column;gap:.5rem}.appointment-history-item{align-items:center;background:#fff;border:1px solid #1a1a1a0d;border-radius:.5rem;display:flex;justify-content:space-between;padding:.875rem 1rem;transition:all .2s}.appointment-history-item:hover{border-color:#d49d8c;box-shadow:0 2px 8px #d49d8c1a}.appointment-history-left{align-items:center;display:flex;flex:1 1;gap:1rem}.appointment-history-icon{color:#d49d8c;flex-shrink:0;font-size:1.1rem}.appointment-history-date{color:#1a1a1a;font-size:.875rem;font-weight:600;min-width:100px}.appointment-history-description{color:#1a1a1a80;font-size:.8rem}.appointment-history-right{flex-shrink:0}.appointment-history-badge{background:#1a1a1a;border-radius:9999px;color:#fff;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.3rem .625rem;text-transform:uppercase}.patient-detail-actions{border-top:1px solid #1a1a1a0d;display:flex;gap:.75rem;padding-top:1rem}.patient-action-button{align-items:center;background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.05em;padding:.625rem 1.25rem;text-transform:uppercase;transition:all .2s ease}.patient-action-button:hover{background:#1a1a1a;border-color:#1a1a1a;box-shadow:0 4px 12px #0000001a;color:#fff}.patient-action-button.secondary{background:#fff}.patient-action-button.secondary:hover{background:#1a1a1a;color:#fff}.patient-action-button.primary{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.patient-action-button.primary:hover{background:#1a1a1ad9;color:#fff}.loading,.no-appointments{color:#1a1a1a66;padding:2rem}.error,.loading,.no-appointments{font-size:.875rem;text-align:center}.error{background:#fef2f2;border-radius:.5rem;color:#dc2626;margin:.75rem;padding:.75rem}@media (max-width:1024px){.patients-split-container{flex-direction:column;height:auto}.patients-list-panel{border-bottom:1px solid #1a1a1a0d;border-right:none;max-height:400px;min-width:0;width:100%}.patients-detail-panel{min-height:500px}}@media (max-width:768px){.patient-detail-content{gap:1.25rem;padding:1rem}.patient-detail-header{align-items:flex-start;flex-direction:column;gap:1rem}.patient-new-appointment-btn{justify-content:center;width:100%}.patient-detail-actions{flex-direction:column}.patient-action-button{justify-content:center;width:100%}.info-item{flex-wrap:wrap}.info-label{min-width:auto}}.patient-chart-summary-card{display:flex;flex-direction:column;gap:1.25rem;height:100%;overflow-y:auto;padding:1.75rem}.patient-summary-hero{align-items:flex-start;border-bottom:1px solid #1a1a1a0d;display:flex;gap:1rem;justify-content:space-between;padding-bottom:1.25rem}.patient-summary-hero .patient-detail-header-left{flex:1 1;min-width:0}.patient-summary-preferred{color:#1a1a1a80;font-size:.8rem;font-weight:500;margin-top:.125rem}.patient-summary-meta{flex-wrap:wrap;gap:.375rem!important;margin-top:.25rem}.patient-summary-chip{align-items:center;background:#1a1a1a0d;border-radius:9999px;color:#1a1a1a8c;display:inline-flex;font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:.2rem .5rem}.patient-summary-chip.accent{background:#d49d8c26;color:#9a6b5c}.patient-summary-status{border-radius:9999px;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.35rem .625rem;text-transform:uppercase;white-space:nowrap}.patient-summary-status.complete{background:#f0fdf4;border:1px solid #16a34a33;color:#15803d}.patient-summary-status.pending{background:#fffbeb;border:1px solid #d49d8c59;color:#b45309}.patient-summary-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.patient-summary-stat{margin:0;padding:1rem!important}.patient-summary-stat.highlight{border-left-color:#1a1a1a}.patient-summary-stat .summary-card-top{margin-bottom:.5rem}.patient-summary-stat-value{font-size:1.125rem!important;line-height:1.2}.patient-summary-stat-sub{color:#1a1a1a66;font-size:.7rem;font-weight:500;margin:.25rem 0 0}.patient-summary-section{gap:.625rem}.patient-summary-section .info-item{align-items:flex-start}.patient-summary-section .info-label{min-width:5.5rem}.patient-summary-clinical-block{display:flex;flex-direction:column;gap:.375rem}.patient-summary-clinical-block+.patient-summary-clinical-block{border-top:1px solid #1a1a1a0d;padding-top:.625rem}.patient-summary-clinical-label{color:#1a1a1a66;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.patient-summary-clinical-text{color:#1a1a1a;font-size:.875rem;font-weight:500;line-height:1.5;margin:0}.patient-summary-empty{color:#1a1a1a8c;font-size:.875rem;line-height:1.55;margin:0}.patient-summary-inline-link{background:none;border:none;color:#9a6b5c;cursor:pointer;font:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.patient-summary-inline-link:hover{color:#1a1a1a}.medication-tag.more{background:#1a1a1a0d;border-color:#0000;color:#1a1a1a73;font-style:italic}.patient-chart-summary-actions{border-top:1px solid #1a1a1a0d;display:flex;flex-direction:column;gap:.625rem;margin-top:auto;padding-top:.5rem}.patient-summary-primary-btn{justify-content:center;width:100%}.patient-chart-summary-actions-row{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.patient-chart-summary-actions-row .patient-action-button{flex:1 1;font-size:.65rem;justify-content:center;padding:.625rem .5rem}.patient-chart-summary-actions-row .patient-action-button .material-symbols-outlined{font-size:1rem}.patient-action-button .material-symbols-outlined{font-size:1.1rem}@media (max-width:1100px){.patient-chart-summary-actions-row{grid-template-columns:1fr}}.patient-temp-password-block{display:flex;flex-direction:column;gap:.75rem}.patient-temp-password-panel{display:flex;flex-direction:column;gap:.5rem}.patient-temp-password-label{color:#1a1a1a8c;font-size:.875rem;font-style:italic;margin:0;text-align:center}.patient-temp-password-value{background:#fffbeb;border:1px solid #b453094d;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:block;font-family:JetBrains Mono,Courier New,monospace;font-size:1.25rem;font-weight:700;letter-spacing:.15em;margin:0;padding:.85rem 1rem;text-align:center;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.patient-temp-password-value:hover{border-color:#b453098c;box-shadow:0 2px 8px #b453091f}.patient-temp-password-value--masked{letter-spacing:.35em;-webkit-user-select:none;user-select:none}.patient-temp-password-copy{justify-content:center;width:100%}.patient-temp-password-error{color:#dc2626;font-size:.8125rem;margin:0;text-align:center}dialog.patient-credentials-overlay:not([open]){display:none}dialog.patient-credentials-overlay[open]{align-items:center;background:#0000;border:none;display:flex;height:100vh;inset:0;justify-content:center;margin:0;max-height:100vh;max-width:100vw;padding:0;position:fixed;width:100vw;z-index:1100}dialog.patient-credentials-overlay::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006}.patient-credentials-modal{background:#fff;border:1px solid #dc262640;border-radius:.75rem;box-shadow:0 20px 60px -15px #0003;max-width:480px;padding:1.5rem;width:calc(100% - 2rem)}.patient-credentials-header{align-items:center;border-bottom:1px solid #1a1a1a0d;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.patient-credentials-header h3{color:#b45309;font-size:1.125rem;margin:0}.patient-credentials-header button{background:none;border:none;color:#1a1a1a80;cursor:pointer;font-size:1.5rem;line-height:1}.patient-credentials-body{display:flex;flex-direction:column;gap:.75rem}.patient-credentials-body p{font-size:.875rem;line-height:1.5;margin:0}.patient-temp-password-close{justify-content:center;margin-top:.25rem;width:100%}.patient-clinical-notes{padding:0}.btn-new-note{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-new-note:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.btn-icon{font-size:1.25rem;font-weight:700}.error-message{background-color:#f8d7da;border-radius:4px;color:#721c24;padding:.75rem}.note-form{background-color:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.5rem;width:100%}.form-group textarea{min-height:100px;resize:vertical}.btn-submit{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:background-color .2s}.btn-submit:hover:not(:disabled){background-color:#218838}.btn-submit:disabled{background-color:#6c757d;cursor:not-allowed}.loading,.no-notes{color:#666;padding:2rem;text-align:center}.notes-timeline{display:flex;flex-direction:column;gap:1rem}.note-item{background-color:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:1rem}.note-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.note-category{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.note-category-history{background-color:#e3f2fd;color:#1976d2}.note-category-symptom{background-color:#fff3e0;color:#f57c00}.note-category-visit{background-color:#f3e5f5;color:#7b1fa2}.note-category-general{background-color:#e8f5e9;color:#388e3c}.note-date{color:#666;flex:1 1;font-size:.85rem;text-align:right}.btn-delete-note{align-items:center;background:none;border:none;color:#dc3545;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:24px}.btn-delete-note:hover{color:#c82333}.note-content{word-wrap:break-word;color:#333;line-height:1.6;white-space:pre-wrap}.patient-clinical-notes-section{border-top:2px solid #e8ecf1;margin-top:2rem;padding-top:1.5rem}.clinical-notes-divider{margin-bottom:1rem}.clinical-notes-cards{display:flex;flex-direction:column;gap:.75rem}.clinical-note-card{background:#fff;border:1px solid #e5e8ed;border-radius:10px;box-shadow:0 1px 3px #0f172a0f;overflow:hidden}.clinical-note-card-header{align-items:center;background:#f8fafc;border:none;color:#1e293b;cursor:pointer;display:flex;font:inherit;gap:1rem;justify-content:space-between;padding:1rem 1.15rem;text-align:left;width:100%}.clinical-note-card-header:hover{background:#f1f5f9}.clinical-note-card-title{font-size:.95rem;font-weight:600}.clinical-note-card-chevron{color:#64748b;flex-shrink:0}.clinical-note-card-body{border-top:1px solid #e8ecf1;padding:0 1.15rem 1.15rem}.clinical-note-card-body .note-content{margin-bottom:.75rem;padding-top:1rem}.clinical-note-card-body .btn-delete-note{background:#fff5f5;border:1px solid #fecaca;border-radius:6px;font-size:.85rem;height:auto;padding:.35rem .75rem;width:auto}.calendar-section{background:#0000;border:none;box-shadow:none;overflow:visible}.calendar-section:hover{border-color:#0000;box-shadow:none}.calendar-section h2{border-bottom:none;color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin-bottom:.25rem;padding:0}.calendar-section .calendar-controls{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:0}.calendar-section .calendar-controls h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:500;letter-spacing:-.5px;margin:0;text-transform:capitalize}.calendar-section .calendar-nav{align-items:center;background:#fff;border:1px solid #1a1a1a14;border-radius:9999px;color:#1a1a1a;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;gap:.375rem;letter-spacing:.05em;padding:.5rem 1.25rem;text-transform:uppercase;transition:all .2s ease}.calendar-section .calendar-nav:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.calendar-section .calendar-grid{grid-gap:0;background:#fff;border:1px solid #1a1a1a0f;border-radius:1.5rem;box-shadow:0 8px 40px -12px #00000014;display:grid;gap:0;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.calendar-section .calendar-weekday{border-bottom:1px solid #1a1a1a0d;color:#1a1a1a59;font-size:.65rem;font-weight:700;letter-spacing:.15em;padding:1rem 0;text-align:center;text-transform:uppercase}.calendar-section .calendar-cell{background:#fff;border-bottom:1px solid #1a1a1a0a;border-right:1px solid #1a1a1a0a;display:flex;flex-direction:column;gap:.375rem;min-height:96px;padding:.75rem;position:relative;transition:background .2s ease}.calendar-section .calendar-cell .cal-context-menu,.calendar-section .calendar-cell .day-menu-button{position:relative;z-index:1}.calendar-section .calendar-cell:hover{background:#d49d8c1a}.calendar-section .calendar-cell-clickable{cursor:pointer}.calendar-section .calendar-cell-open{align-items:stretch;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;height:100%;padding:0;text-align:inherit;width:100%}.calendar-section .calendar-cell-clickable:focus-visible,.calendar-section .calendar-cell-open:focus-visible{outline:2px solid #d49d8c;outline-offset:-2px}.calendar-section .calendar-cell.empty{background:#fcf9f34d;border-bottom:1px solid #1a1a1a08;border-right:1px solid #1a1a1a08;opacity:.35}.calendar-section .calendar-day-number{color:#1a1a1a;font-size:.875rem;font-weight:700}.calendar-section .calendar-day-bubbles{align-content:flex-start;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:.25rem;margin-top:.35rem}.calendar-section .calendar-day-bubble{align-items:center;border-radius:9999px;display:inline-flex;font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:.18rem .45rem;text-transform:uppercase;white-space:nowrap}.calendar-section .calendar-day-bubble-count{font-size:.65rem;font-weight:800;min-width:.875rem;text-align:center}.calendar-section .calendar-day-bubble-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-section .calendar-day-bubble.bubble-citas{background:#d49d8c38;border:1px solid #d49d8c59;color:#7a4f44}.calendar-section .calendar-day-bubble.bubble-libres{background:#7a9e9133;border:1px solid #7a9e9159;color:#3d5a50}.calendar-section .calendar-day-bubble.bubble-pendientes{background:#e4b26c47;border:1px solid #e4b26c73;color:#8a5c24}.calendar-section .calendar-day-bubble[data-count="0"]{opacity:.42}.calendar-section .calendar-event{background:#1a1a1a0d;border-left:none;border-radius:9999px;display:flex;flex-direction:column;font-size:.6rem;font-weight:700;gap:.125rem;letter-spacing:.08em;padding:.25rem .625rem;text-transform:uppercase}.calendar-section .calendar-event-title{font-size:.6rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-section .calendar-event-time{font-size:.55rem;font-weight:500;opacity:.7}.calendar-section .calendar-event.status-confirmed{background:#dcfce7;border-left:none;color:#166534}.calendar-section .calendar-event.status-requested{background:#fef3c7;border-left:none;color:#92400e}.calendar-section .calendar-event.status-cancelled{background:#fef2f2;border-left:none;color:#991b1b}.calendar-section .calendar-event.status-completed{background:#e1f0fe;border-left:none;color:#2c78c5}.calendar-section .calendar-event.availability-slot{background:#1a1a1a;border-left:none;color:#fff}.calendar-section .calendar-event.availability-slot .calendar-event-time,.calendar-section .calendar-event.availability-slot .calendar-event-title{color:#fff}.calendar-section .day-menu-button{align-items:center!important;background:#fff!important;border:1px solid #1a1a1a1f!important;border-radius:9999px;box-shadow:0 1px 2px #0000000a;color:#1a1a1a8c;cursor:pointer!important;display:inline-flex!important;justify-content:center!important;line-height:1!important;min-height:28px!important;min-width:28px!important;opacity:1;padding:6px!important;position:absolute!important;right:6px!important;top:6px!important;transition:all .2s ease}.calendar-section .day-menu-button .material-symbols-outlined{font-size:1.125rem;line-height:1}.calendar-section .day-menu-button:hover{border-color:#1a1a1a33!important;box-shadow:0 2px 6px #00000014;color:#1a1a1a}.calendar-section .day-menu-button:focus-visible{outline:2px solid #d49d8c;outline-offset:2px}.calendar-section .day-menu-button--open{background:#d49d8c26!important;border-color:#d49d8c73!important;box-shadow:0 2px 6px #d49d8c33;color:#1a1a1a}.cal-context-menu{animation:calFadeIn .15s ease-out;background:#fff;border:1px solid #1a1a1a14;border-radius:.75rem;box-shadow:0 12px 40px -8px #00000026;padding:.375rem;position:absolute;right:6px;top:28px;width:180px;z-index:50}@keyframes calFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal-context-item{align-items:center;background:#0000;border:none;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:500;gap:.5rem;padding:.625rem .75rem;text-align:left;transition:background .15s ease;width:100%}.cal-context-item:hover{background:#fcf9f3cc}.cal-context-item.danger:hover{background:#fef2f2;color:#dc2626}dialog.cal-modal-overlay:not([open]){display:none}.cal-modal-overlay{align-items:center;animation:calFadeIn .2s ease-out;background:#0000;border:none;display:flex;height:100vh;justify-content:center;left:0;margin:0;max-height:100vh;max-width:100vw;padding:0;position:fixed;top:0;width:100vw;z-index:5000}.cal-modal-backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000059;border:none;cursor:default;inset:0;margin:0;padding:0;position:absolute;z-index:0}.cal-modal-overlay>.cal-modal{position:relative;z-index:1}dialog.cal-modal-overlay::backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000059}.cal-modal-overlay.z-high{z-index:6000}.cal-modal-overlay.z-higher{z-index:8000}.cal-modal-overlay.z-highest{z-index:9999}.cal-modal{animation:calSlideUp .25s ease-out;background:#fcf9f3;border:1px solid #d49d8c2e;border-radius:1rem;box-shadow:0 25px 80px -15px #00000040;max-width:95vw;padding:2rem;width:420px}@keyframes calSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cal-modal h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px;margin:0 0 .375rem}.cal-modal p{color:#1a1a1a80;font-size:.875rem;line-height:1.5;margin:0 0 1.25rem}.cal-modal p strong{color:#1a1a1a;font-weight:600}.cal-modal-error{background:#fef2f2;border-left:3px solid #dc2626;border-radius:.5rem;color:#dc2626;font-size:.8rem;font-weight:500;margin-bottom:.875rem;padding:.625rem .875rem}.cal-modal label{color:#1a1a1a66;display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.375rem;text-transform:uppercase}.cal-modal input[type=date]{border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;margin-bottom:0;padding:.625rem .875rem;transition:border-color .2s,box-shadow .2s;width:100%}.cal-modal input[type=date]:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c2e;outline:none}.cal-modal-bulk{max-height:90vh;overflow-y:auto;width:480px}.cal-bulk-mode-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.cal-bulk-mode-tab{background:#fff;border:1px solid #1a1a1a1a;border-radius:9999px;color:#1a1a1a8c;cursor:pointer;flex:1 1;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.625rem 1rem;text-transform:uppercase;transition:all .2s ease}.cal-bulk-mode-tab.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.cal-bulk-mode-tab:hover:not(.active):not(:disabled){border-color:#1a1a1a;color:#1a1a1a}.cal-bulk-date-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.cal-bulk-field label{margin-bottom:.375rem}.cal-bulk-section-label{color:#1a1a1a66;display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.cal-bulk-weekdays{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}.cal-bulk-weekday{background:#fff;border:1px solid #1a1a1a1a;border-radius:9999px;color:#1a1a1a80;cursor:pointer;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:700;min-width:2.75rem;padding:.375rem .625rem;transition:all .2s ease}.cal-bulk-weekday.active{background:#d49d8c26;border-color:#d49d8c;color:#1a1a1a}.cal-bulk-checkbox{align-items:flex-start;color:#1a1a1a99;cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;line-height:1.4;margin:0 0 1rem}.cal-bulk-checkbox input{accent-color:#1a1a1a;margin-top:.2rem}.cal-bulk-preview{color:#1a1a1a73;font-size:.8rem;font-weight:600;margin:0 0 1rem!important}.cal-bulk-success{background:#f0fdf4;border-left:3px solid #16a34a;border-radius:.5rem;color:#166534;font-size:.8rem;font-weight:500;margin-bottom:.875rem;padding:.625rem .875rem}.calendar-bulk-btn{align-items:center;background:#1a1a1a;border:none;border-radius:9999px;box-shadow:0 4px 16px #1a1a1a26;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:700;gap:.5rem;letter-spacing:.05em;padding:.625rem 1.25rem;text-transform:uppercase;transition:all .2s ease}.calendar-bulk-btn .material-symbols-outlined{font-size:1.125rem}.calendar-bulk-btn:hover{background:#1a1a1ad9;box-shadow:0 6px 20px #1a1a1a33}.cal-btn-primary{background:#7a4f44;border:none;border-radius:9999px;box-shadow:0 4px 16px #7a4f4433;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;padding:.75rem;text-transform:uppercase;transition:all .2s ease;width:100%}.cal-btn-primary:hover{background:#6a4239;box-shadow:0 6px 20px #7a4f4447}.cal-btn-danger{background:#b85c5c;border:none;border-radius:9999px;box-shadow:0 4px 16px #b85c5c33;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;padding:.75rem;text-transform:uppercase;transition:all .2s ease;width:100%}.cal-btn-danger:hover{background:#a04e4e;box-shadow:0 6px 20px #b85c5c47}.cal-btn-secondary{background:#0000;border:1px solid #1a1a1a1a;border-radius:9999px;color:#1a1a1a8c;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;margin-bottom:.375rem;padding:.625rem;transition:all .2s ease;width:100%}.cal-btn-secondary:hover{background:#d49d8c1a;border-color:#d49d8c66;color:#7a4f44}.cal-slot-btn{background:#fff;border:1px solid #d49d8c40;border-left:3px solid #7a9b8e;border-radius:.75rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-bottom:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.cal-slot-btn:hover{background:#7a9e9114;border-color:#7a9b8e80 #7a9b8e80 #7a9b8e80 #7a9b8e;box-shadow:0 2px 8px #0000000a}.calendar-legend{align-items:center;display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:1rem}.calendar-legend-items{align-items:center;display:flex;gap:1.5rem}.calendar-legend-item{align-items:center;color:#1a1a1a59;display:flex;font-size:.65rem;font-weight:700;gap:.5rem;letter-spacing:.1em;text-transform:uppercase}.calendar-legend-dot{border-radius:50%;height:8px;width:8px}.calendar-legend-dot.confirmed{background:#d49d8c8c;box-shadow:0 0 0 1px #d49d8c59}.calendar-legend-dot.requested{background:#e4b26ca6;box-shadow:0 0 0 1px #e4b26c66}.calendar-legend-dot.available{background:#7a9e918c;box-shadow:0 0 0 1px #7a9e9159}@media (max-width:1024px){.calendar-section .calendar-grid{grid-template-columns:repeat(7,minmax(80px,1fr))}.calendar-section .calendar-cell{min-height:90px;padding:.5rem}}@media (max-width:768px){.calendar-section .calendar-grid{border-radius:.75rem;grid-template-columns:repeat(7,minmax(44px,1fr))}.calendar-section .calendar-cell{min-height:60px;padding:.375rem}.calendar-section .day-menu-button{min-height:24px!important;min-width:24px!important;padding:4px!important;right:4px!important;top:4px!important}.calendar-section .day-menu-button .material-symbols-outlined{font-size:1rem}.cal-context-menu{right:4px;top:30px}.calendar-section .calendar-day-number{font-size:.75rem}.calendar-section .calendar-day-bubble{font-size:.5rem;padding:.15rem .35rem}.calendar-section .calendar-day-bubble-label{display:none}.calendar-section .calendar-day-bubble-count{font-size:.6rem}.calendar-section .calendar-controls h3{font-size:1.25rem}.cal-modal{padding:1.5rem;width:95vw}.cal-modal-bulk{width:95vw}.calendar-legend{align-items:stretch;flex-direction:column;gap:1rem}.calendar-bulk-btn{justify-content:center;width:100%}}.encounter-drawer-overlay{align-items:stretch;justify-content:flex-end}.encounter-drawer{animation:encounterDrawerIn .28s ease-out;background:#fcf9f3;box-shadow:-8px 0 40px #0000001f;display:flex;flex-direction:column;height:100vh;max-width:100%;width:min(680px,58vw)}@keyframes encounterDrawerIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.encounter-drawer-header{background:#fff;border-bottom:1px solid #1a1a1a0f;flex-shrink:0;padding:1.5rem 2rem}.encounter-drawer-header-top{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.encounter-drawer-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.encounter-drawer .encounter-fin{background:#1a1a1a0d;border-radius:.25rem;color:#1a1a1a;font-family:ui-monospace,Cascadia Code,monospace;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.25rem .5rem;text-transform:uppercase}.encounter-drawer-date{color:#1a1a1a80;font-size:.8rem;font-weight:600}.encounter-drawer-close{align-items:center;background:#fff;border:1px solid #1a1a1a1a;border-radius:9999px;color:#1a1a1a;cursor:pointer;display:flex;height:2.25rem;justify-content:center;padding:0;transition:background .15s,border-color .15s;width:2.25rem}.encounter-drawer-close:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.encounter-drawer-close .material-symbols-outlined{font-size:1.25rem}.encounter-drawer-cc{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.35;margin:0}.encounter-drawer-diagnosis-chip{background:#d49d8c33;border-radius:9999px;color:#1a1a1a;display:inline-block;font-size:.8125rem;font-weight:700;margin-top:.75rem;padding:.4rem .875rem}.encounter-drawer-body{flex:1 1;min-height:0;overflow-y:auto;padding:1.5rem 2rem 2.25rem}.encounter-drawer .encounter-panel-section-title{font-size:.75rem;margin-bottom:.875rem}.encounter-drawer .encounter-field-label{font-size:.8125rem}.encounter-drawer .encounter-field-value{font-size:.9375rem;line-height:1.55}.encounter-drawer .encounter-field-row{gap:.5rem 1.25rem;grid-template-columns:minmax(8.5rem,34%) 1fr}.encounter-drawer .encounter-diagnosis-value{font-size:1.0625rem}.encounter-drawer .encounter-plan-value,.encounter-drawer .patient-summary-clinical-text{font-size:.9375rem}.encounter-drawer .medication-tag{font-size:.8125rem;padding:.35rem .65rem}.encounter-panel-section{border-bottom:1px solid #1a1a1a0f;padding-bottom:1.25rem}.encounter-panel-section:last-child{border-bottom:none;padding-bottom:0}.encounter-panel-section-title{color:#1a1a1a73;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin:0 0 .75rem;text-transform:uppercase}.encounter-field-grid{display:flex;flex-direction:column;gap:.625rem;margin:0}.encounter-field-row{grid-gap:.5rem 1rem;align-items:start;display:grid;gap:.5rem 1rem;grid-template-columns:minmax(7rem,38%) 1fr}.encounter-field-label{color:#1a1a1a80;font-size:.75rem;font-weight:600;line-height:1.4;margin:0}.encounter-field-value{color:#1a1a1a;font-size:.875rem;font-weight:500;line-height:1.5;margin:0}.encounter-chip-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.875rem}.encounter-chip-group:last-child{margin-bottom:0}.encounter-chip-list{display:flex;flex-wrap:wrap;gap:.375rem}.encounter-sintomas-subsections{display:flex;flex-direction:column;gap:.25rem}.encounter-sintomas-sub{margin-bottom:.75rem}.encounter-diagnosis-card{background:#d49d8c1f;border-left:3px solid #d49d8c;border-radius:.625rem;margin-top:.875rem;padding:1rem}.encounter-diagnosis-primary{display:flex;flex-direction:column;gap:.25rem}.encounter-diagnosis-label{color:#1a1a1a73;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.encounter-diagnosis-value{color:#1a1a1a;font-size:1rem;font-weight:700;line-height:1.35;margin:0}.encounter-diagnosis-secondary{border-top:1px solid #1a1a1a14;margin-top:.75rem;padding-top:.75rem}.encounter-plan-card{display:flex;flex-direction:column;gap:.75rem}.encounter-plan-row{align-items:flex-start;display:flex;gap:.75rem}.encounter-plan-icon{color:#d49d8c;flex-shrink:0;font-size:1.25rem}.encounter-plan-row-body{flex:1 1;min-width:0}.encounter-plan-value{color:#1a1a1a;font-size:.875rem;font-weight:500;line-height:1.5;margin:.25rem 0 0}@media (max-width:768px){.encounter-drawer{min-width:100vw;width:100vw}}@media (max-width:480px){.encounter-field-row{gap:.125rem;grid-template-columns:1fr}}.patient-lab-reports{padding:0}.documents-header{align-items:center;border-bottom:1px solid #1a1a1a0f;display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem}.documents-header h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;margin:0}.btn-upload{align-items:center;background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:inline-flex;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.05em;padding:.625rem 1.25rem;text-transform:uppercase;transition:all .2s ease}.btn-upload:hover:not(:has(input:disabled)){background:#1a1a1a;border-color:#1a1a1a;color:#fff}.btn-upload:has(input:disabled){cursor:not-allowed;opacity:.55}.error-message{background:#fef2f2;border:1px solid #dc26261f;border-radius:.5rem;color:#b91c1c;margin-bottom:1rem;padding:.75rem 1rem}.error-message,.loading,.no-documents{font-family:Manrope,sans-serif;font-size:.875rem}.loading,.no-documents{color:#1a1a1a73;padding:2.5rem 1rem;text-align:center}.no-documents p{margin:0 0 .5rem}.no-documents-hint{color:#1a1a1a66!important;font-size:.8rem!important;line-height:1.45;margin:.75rem auto 0!important;max-width:22rem}.no-documents-hint strong{color:#1a1a1a8c;font-weight:700}.documents-list{display:flex;flex-direction:column;gap:.75rem}.document-item{align-items:center;background:#fff;border:1px solid #1a1a1a0f;border-left:3px solid #d49d8c;border-radius:.625rem;display:flex;gap:1rem;padding:1rem 1.125rem;transition:border-color .15s,box-shadow .15s}.document-item:hover{border-color:#d49d8c59;box-shadow:0 2px 8px #d49d8c1a}.document-icon{flex-shrink:0;font-size:1.75rem;line-height:1}.document-info{flex:1 1;min-width:0}.document-name{background:#0000;border:none;color:#1a1a1a;cursor:pointer;display:block;font-family:Manrope,sans-serif;font-size:.9rem;font-weight:600;margin-bottom:.25rem;padding:0;text-align:left;transition:color .15s;width:100%;word-break:break-word}.document-name:hover{color:#d49d8c;text-decoration:underline}.document-meta{color:#1a1a1a73;display:flex;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:500;gap:.5rem}.btn-delete-document{align-items:center;background:#1a1a1a0d;border:none;border-radius:.375rem;color:#1a1a1a73;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:36px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s;width:36px}.btn-delete-document:hover{background:#fef2f2;color:#b91c1c}.patients-chart-view-body .patient-lab-reports .documents-header{margin-bottom:1rem}.patients-chart-view-body .patient-lab-reports .no-documents{background:#fff;border:1px dashed #1a1a1a1f;border-radius:.625rem}.time-select-field{margin-bottom:.875rem}.time-select-field>label{color:#1a1a1a66;display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.375rem;text-transform:uppercase}.time-select-primary{appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%231a1a1a' fill-opacity='.45' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;padding:.625rem 2.25rem .625rem .875rem;transition:border-color .2s,box-shadow .2s;width:100%}.time-select-primary:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c2e;outline:none}.time-select-primary:disabled{cursor:not-allowed;opacity:.6}.time-select-dropdown{position:relative}.time-select-trigger{display:block;text-align:left;width:100%}.time-select-menu{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;box-shadow:0 12px 32px -8px #0000002e;left:0;list-style:none;margin:0;max-height:11rem;overflow-y:auto;padding:.375rem;position:absolute;right:0;top:calc(100% + .25rem);z-index:10050}.time-select-menu-item{border-radius:.375rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;padding:.5rem .625rem;transition:background .15s ease}.time-select-menu-item.selected,.time-select-menu-item:hover{background:#d49d8c26}.time-select-primary option[value=""]{color:#1a1a1a73}.time-select-manual{margin-top:.5rem}.time-select-manual-label{color:#1a1a1a59;display:block;font-size:.65rem;font-weight:600;letter-spacing:.06em;margin-bottom:.25rem;text-transform:uppercase}.time-select-manual-input{background:#fcf9f380;border:1px solid #1a1a1a14;border-radius:.5rem;color:#1a1a1abf;font-family:Manrope,sans-serif;font-size:.8rem;padding:.5rem .75rem;transition:border-color .2s,box-shadow .2s;width:100%}.time-select-manual-input:focus{background:#fff;border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c1f;outline:none}.time-select-manual-input:disabled{cursor:not-allowed;opacity:.6}.cal-day-drawer-overlay{align-items:stretch;justify-content:flex-end}.cal-day-drawer{animation:calDayDrawerIn .28s ease-out;background:#fcf9f3;box-shadow:-8px 0 40px #0000001f;display:flex;flex-direction:column;height:100vh;max-width:100%;width:min(680px,58vw)}@keyframes calDayDrawerIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.cal-day-drawer-header{background:#fff;border-bottom:1px solid #1a1a1a0f;flex-shrink:0;padding:1.5rem 2rem}.cal-day-drawer-header-top{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.cal-day-drawer-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}.cal-day-drawer-badge{align-self:flex-start;background:#d49d8c33;border:1px solid #d49d8c59;border-radius:.25rem;color:#7a4f44;font-family:ui-monospace,Cascadia Code,monospace;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.25rem .5rem;text-transform:uppercase}.cal-day-drawer-date{color:#1a1a1a8c;font-size:.875rem;font-weight:600;text-transform:capitalize}.cal-day-drawer-close{align-items:center;background:#fff;border:1px solid #1a1a1a1a;border-radius:9999px;color:#1a1a1a;cursor:pointer;display:flex;flex-shrink:0;height:2.25rem;justify-content:center;padding:0;transition:background .15s,border-color .15s;width:2.25rem}.cal-day-drawer-close:hover{background:#7a4f44;border-color:#7a4f44;color:#fff}.cal-day-drawer-close .material-symbols-outlined{font-size:1.25rem}.cal-day-drawer-summary{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.35;margin:0}.cal-day-drawer-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.cal-day-chip{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:700;padding:.35rem .75rem}.cal-day-chip.chip-citas{background:#d49d8c38;border:1px solid #d49d8c59;color:#7a4f44}.cal-day-chip.chip-libres{background:#7a9e9133;border:1px solid #7a9e9159;color:#3d5a50}.cal-day-chip.chip-pendientes{background:#e4b26c47;border:1px solid #e4b26c73;color:#8a5c24}.cal-day-drawer-body{flex:1 1;min-height:0;overflow-y:auto;padding:1.5rem 2rem 2rem}.cal-day-section{border-bottom:1px solid #1a1a1a0f;margin-bottom:1.25rem;padding-bottom:1.25rem}.cal-day-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.cal-day-section-title{color:#1a1a1a73;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.06em;margin:0 0 .875rem;text-transform:uppercase}.cal-day-empty{color:#1a1a1a73;font-size:.875rem;margin:0}.cal-day-slot-list{display:flex;flex-direction:column;gap:.625rem;list-style:none;margin:0;padding:0}.cal-day-slot-card{grid-gap:.75rem 1rem;align-items:start;background:#fff;border:1px solid #1a1a1a0f;border-left:3px solid #d49d8c;border-radius:.625rem;box-shadow:0 2px 10px -4px #1a1a1a0f;display:grid;gap:.75rem 1rem;grid-template-columns:minmax(7.5rem,34%) 1fr;padding:.875rem 1rem}.cal-day-slot-card.status-confirmed{background:linear-gradient(105deg,#6b9b8a1a,#fff 55%);border-left-color:#6b9b8a}.cal-day-slot-card.status-requested{background:linear-gradient(105deg,#e4b26c24,#fff 55%);border-left-color:#d4a066}.cal-day-slot-card.status-completed{background:linear-gradient(105deg,#6a8fb51f,#fff 55%);border-left-color:#6a8fb5}.cal-day-slot-card.status-scheduled{background:linear-gradient(105deg,#d49d8c1f,#fff 55%);border-left-color:#d49d8c}.cal-day-slot-card.availability-slot{background:linear-gradient(105deg,#7a9e911f,#fcf9f399 55%);border-left-color:#7a9b8e}.cal-day-slot-card.availability-slot .cal-day-slot-title{color:#3d5a50}.cal-day-slot-time{color:#1a1a1a8c;font-size:.8125rem;font-weight:600;line-height:1.4}.cal-day-slot-main{display:flex;flex-direction:column;gap:.25rem;min-width:0}.cal-day-slot-title{color:#1a1a1a;font-size:.9375rem;font-weight:700;line-height:1.35}.cal-day-slot-status{align-self:flex-start;border-radius:9999px;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.2rem .5rem;text-transform:uppercase}.cal-day-slot-status.status-confirmed{background:#6b9b8a2e;color:#3d5a50}.cal-day-slot-status.status-requested{background:#e4b26c47;color:#8a5c24}.cal-day-slot-status.status-completed{background:#6a8fb533;color:#3d5c78}.cal-day-slot-status.status-scheduled{background:#d49d8c38;color:#7a4f44}.cal-day-drawer-footer{background:#fff;border-top:1px solid #1a1a1a0f;display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem 2rem}.cal-day-action-btn{align-items:center;background:#fff;border:1px solid #1a1a1a1f;border-radius:9999px;color:#1a1a1a;cursor:pointer;display:inline-flex;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:700;gap:.375rem;letter-spacing:.05em;padding:.625rem 1rem;text-transform:uppercase;transition:background .15s,border-color .15s,color .15s}.cal-day-action-btn:hover:not(:disabled){background:#7a4f44;border-color:#7a4f44;color:#fff}.cal-day-action-btn:disabled{cursor:not-allowed;opacity:.4}.cal-day-action-btn.danger:hover:not(:disabled){background:#b85c5c;border-color:#b85c5c}.cal-day-action-btn .material-symbols-outlined{font-size:1.125rem}.cal-day-past-note{align-items:center;color:#1a1a1a61;display:flex;font-family:Manrope,sans-serif;font-size:.75rem;font-style:italic;font-weight:600;gap:.5rem;margin:0}.cal-day-past-note .material-symbols-outlined{font-size:1rem;opacity:.6}@media (max-width:768px){.cal-day-drawer{width:100vw}.cal-day-slot-card{gap:.375rem;grid-template-columns:1fr}}.cal-day-slot-card--list-item{list-style:none}.cal-day-slot-card--clickable{cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .12s ease}.cal-day-slot-card--clickable:hover{box-shadow:0 4px 16px -4px #1a1a1a21;transform:translateY(-1px)}.cal-day-slot-card.expanded{box-shadow:0 6px 24px -6px #1a1a1a24}.cal-day-slot-card--free-btn{background:inherit;padding:.875rem 1rem}.cal-day-slot-card--free-btn,.cal-day-slot-inner{border:none;color:inherit;font:inherit;text-align:left;width:100%}.cal-day-slot-inner{grid-gap:.75rem 1rem;align-items:center;background:#0000;cursor:pointer;display:grid;gap:.75rem 1rem;grid-template-columns:minmax(7.5rem,34%) 1fr auto;padding:0}.cal-day-slot-chevron{color:#1a1a1a59;flex-shrink:0;font-size:1.25rem;transition:color .15s}.cal-day-slot-inner:hover .cal-day-slot-chevron,.expanded .cal-day-slot-chevron{color:#1a1a1aa6}.cal-day-slot-detail{animation:calDetailIn .18s ease-out;border-top:1px solid #1a1a1a12;display:flex;flex-direction:column;gap:.45rem;margin-top:.75rem;padding-top:.75rem}@keyframes calDetailIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal-day-slot-detail-row{align-items:baseline;display:flex;gap:.5rem}.cal-day-slot-detail-label{color:#1a1a1a66;flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.06em;min-width:5.5rem;text-transform:uppercase}.cal-day-slot-detail-value{color:#1a1a1abf;font-size:.8125rem;font-weight:500}.cal-day-slot-edit-hint{color:#7a9e91b3;flex-shrink:0;font-size:1rem;transition:color .15s}.cal-day-slot-card--free-btn:hover .cal-day-slot-edit-hint{color:#3d5a50}.cal-day-slot-card--free-btn.cal-day-slot-card{grid-gap:.75rem 1rem;align-items:center;display:grid;gap:.75rem 1rem;grid-template-columns:minmax(7.5rem,34%) 1fr auto}@media (max-width:768px){.cal-day-slot-inner{gap:.375rem;grid-template-columns:1fr auto}.cal-day-slot-inner .cal-day-slot-time{grid-column:1/-1}.cal-day-slot-card--free-btn.cal-day-slot-card{grid-template-columns:1fr auto}}.doctor-notification-root{position:relative}.header-notification-badge{align-items:center;background:#c45c4a;border:2px solid #fff;border-radius:999px;color:#fff;display:inline-flex;font-size:.625rem;font-weight:700;height:1.125rem;justify-content:center;line-height:1;min-width:1.125rem;padding:0 .25rem;position:absolute;right:2px;top:2px}.doctor-notification-panel{background:#fff;border:1px solid #1a1a1a14;border-radius:.75rem;box-shadow:0 16px 40px -12px #0000002e;padding:.75rem 0;position:absolute;right:0;top:calc(100% + .5rem);width:min(22rem,calc(100vw - 2rem));z-index:200}.doctor-notification-empty{color:#1a1a1a99;font-size:.875rem;margin:0;padding:1rem 1.25rem}.doctor-notification-section+.doctor-notification-section{border-top:1px solid #1a1a1a0f;margin-top:.5rem;padding-top:.5rem}.doctor-notification-section-header h3{color:#1a1a1a8c;font-size:.75rem;font-weight:700;letter-spacing:.02em;margin:0;padding:.25rem 1.25rem .5rem;text-transform:uppercase}.doctor-notification-list{list-style:none;margin:0;padding:0}.doctor-notification-item{align-items:flex-start;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;gap:.125rem;padding:.625rem 1.25rem;text-align:left;transition:background .15s;width:100%}.doctor-notification-item:focus-visible,.doctor-notification-item:hover{background:#d49d8c1f;outline:none}.doctor-notification-item-title{color:#1a1a1a;font-size:.875rem;font-weight:600}.doctor-notification-item-meta{color:#1a1a1a8c;font-size:.75rem}.doctor-notification-view-all{background:#faf8f6;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:block;font-size:.8125rem;font-weight:600;margin:.25rem 1.25rem .5rem;padding:.5rem .75rem;width:calc(100% - 2.5rem)}.doctor-notification-view-all:hover{background:#d49d8c26}.summary-card-actionable{cursor:pointer;font:inherit;text-align:left;transition:box-shadow .2s,transform .2s;width:100%}.summary-card-actionable:hover{box-shadow:0 8px 24px -8px #c45c4a40;transform:translateY(-1px)}.summary-card-actionable:focus-visible{outline:2px solid #d49d8c;outline-offset:2px}.summary-card-warning .summary-card-icon{background:#c45c4a1f;color:#c45c4a}*{margin:0;padding:0}.patient-dashboard{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fcf9f3;color:#1a1a1a;display:flex;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.patient-dashboard .dashboard-sidebar{background:#fff;border-right:1px solid #1a1a1a0d;display:flex;flex-direction:column;height:100vh;min-width:280px;overflow-y:auto;position:fixed;width:280px;z-index:50}.patient-dashboard .sidebar-brand{padding:2rem 2rem 1rem}.patient-dashboard .sidebar-brand-inner{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.75rem;margin-bottom:2.5rem;padding:0;text-align:left;width:100%}.patient-dashboard .sidebar-brand-icon{align-items:center;background:#1a1a1a;border-radius:.5rem;color:#d49d8c;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.patient-dashboard .sidebar-brand-icon .material-symbols-outlined{font-size:1.5rem}.patient-dashboard .sidebar-brand-name{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px}.patient-dashboard .sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 2rem}.patient-dashboard .sidebar-item{align-items:center;background:none;border:none;border-radius:.5rem;color:#1a1a1a99;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.patient-dashboard .sidebar-item:hover{background:#d49d8c1a;color:#1a1a1a}.patient-dashboard .sidebar-item.active{background:#1a1a1a;color:#fff}.patient-dashboard .sidebar-item .material-symbols-outlined{font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.patient-dashboard .sidebar-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 24}.patient-dashboard .sidebar-footer{margin-top:auto;padding:2rem}.patient-dashboard .sidebar-legal-links{border-top:1px solid #2d4a3e1a;display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:1rem;padding-top:1rem}.patient-dashboard .sidebar-legal-links a{color:#6b7280;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.patient-dashboard .sidebar-legal-links a:focus-visible,.patient-dashboard .sidebar-legal-links a:hover{color:#2d4a3e;text-decoration:underline}.patient-dashboard .sidebar-profile{align-items:center;background:#fcf9f3;border-radius:.75rem;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:.75rem}.patient-dashboard .sidebar-profile-avatar{align-items:center;background:#1a1a1a;border:2px solid #d49d8c;border-radius:50%;color:#d49d8c;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:40px;justify-content:center;width:40px}.patient-dashboard .sidebar-profile-info{display:flex;flex-direction:column}.patient-dashboard .sidebar-profile-role{color:#1a1a1a66;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.patient-dashboard .sidebar-profile-name{color:#1a1a1a;font-size:.875rem;font-weight:600}.patient-dashboard .sidebar-logout{align-items:center;background:none;border:none;border-radius:.5rem;color:#1a1a1a99;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.patient-dashboard .sidebar-logout:hover{color:#dc2626}.patient-dashboard .sidebar-logout .material-symbols-outlined{font-size:1.25rem}.patient-dashboard .dashboard-main-area{background:#fcf9f3;display:flex;flex:1 1;flex-direction:column;margin-left:280px;min-height:100vh}.patient-dashboard .dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #1a1a1a0d;color:#1a1a1a;display:flex;height:80px;justify-content:space-between;padding:0 2.5rem;position:sticky;top:0;z-index:40}.patient-dashboard .header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.patient-dashboard .header-content h1{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0}.patient-dashboard .header-actions{align-items:center;display:flex;gap:1.5rem}.patient-dashboard .header-notification-btn{background:none;border:none;color:#1a1a1a99;cursor:pointer;padding:.5rem;position:relative;transition:color .2s}.patient-dashboard .header-notification-btn:hover{color:#1a1a1a}.patient-dashboard .header-notification-dot{background:#d49d8c;border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:8px;top:8px;width:8px}.patient-dashboard .dashboard-main{margin:0 auto;max-width:1200px;padding:2.5rem;width:100%}.patient-dashboard .summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2.5rem}.patient-dashboard .summary-card{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;padding:1.5rem;transition:all .3s ease}.patient-dashboard .summary-card:hover{border-color:#d49d8c;box-shadow:0 10px 30px -10px #d49d8c33}.patient-dashboard .summary-card.highlight{border-left:4px solid #d49d8c}.patient-dashboard .summary-card-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.patient-dashboard .summary-card-icon{align-items:center;background:#d49d8c1a;border-radius:.5rem;color:#d49d8c;display:flex;justify-content:center;padding:.5rem}.patient-dashboard .summary-card-icon .material-symbols-outlined{font-size:1.25rem}.patient-dashboard .summary-card-label{color:#1a1a1a80;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.patient-dashboard .summary-card-value{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.875rem;font-weight:700;letter-spacing:-.5px}.patient-dashboard .summary-card-value-text{font-size:1.125rem;line-height:1.35}.patient-dashboard .appointments-section{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;overflow:hidden;transition:all .3s ease}.patient-dashboard .appointments-section:hover{border-color:#d49d8c;box-shadow:0 10px 30px -10px #d49d8c33}.patient-dashboard .appointments-section h2{border-bottom:1px solid #1a1a1a0d;color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px;margin:0;padding:1.5rem}.patient-dashboard .appointments-section h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;margin:1rem 1.5rem .75rem}.patient-dashboard .no-appointments{color:#1a1a1a80;font-size:.875rem;padding:3rem 2rem;text-align:center}.patient-dashboard .appointments-list{display:flex;flex-direction:column;padding:0}.patient-dashboard .appointment-card{align-items:center;border-bottom:1px solid #1a1a1a0d;cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:background .2s ease}.patient-dashboard .appointment-card:last-child{border-bottom:none}.patient-dashboard .appointment-card:hover{background:#fcf9f380}.patient-dashboard .appointment-header{align-items:center;display:flex;flex:1 1;gap:1rem}.patient-dashboard .appointment-header h3{border:none;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin:0;padding:0}.patient-dashboard .appointment-details{align-items:center;display:flex;flex:1 1;gap:2rem}.patient-dashboard .appointment-details p{color:#1a1a1a99;font-size:.875rem;line-height:1.5;margin:0}.patient-dashboard .appointment-details strong{color:#1a1a1a66;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.patient-dashboard .status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:700;gap:.375rem;padding:.25rem .75rem;white-space:nowrap}.patient-dashboard .status-confirmed,.patient-dashboard .status-scheduled{background:#f0fdf4;color:#15803d}.patient-dashboard .status-pending,.patient-dashboard .status-requested{background:#fffbeb;color:#b45309}.patient-dashboard .status-cancelled{background:#fef2f2;color:#b91c1c}.patient-dashboard .status-completed{background:#eff6ff;color:#1d4ed8}.patient-dashboard .book-tab-intro{padding-top:0}.patient-dashboard .book-tab-intro .help-section h3{margin-top:0}.patient-dashboard .summary-cards.book-tab-summary{grid-template-columns:repeat(2,1fr);margin:0 1.5rem 1.5rem;max-width:640px}.patient-dashboard .book-tab-selection-value{color:#1a1a1a59;font-family:Manrope,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:-.02em;line-height:1.45;margin:0}.patient-dashboard .book-tab-selection-value.has-selection{color:#1a1a1a}.patient-dashboard .book-tab-loading{align-items:center;display:flex;justify-content:center;min-height:120px;padding:2.5rem 1.5rem 1rem}.patient-dashboard .book-tab-loading .loading{min-height:0}.patient-dashboard .book-tab-empty{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding-top:1rem}.patient-dashboard .book-tab-empty-icon{color:#d49d8ca6;font-size:2.5rem;margin-bottom:.25rem}.patient-dashboard .book-tab-empty-hint{color:#1a1a1a73;font-size:.8125rem;line-height:1.5;margin:0;max-width:22rem}.patient-dashboard .book-tab-actions{border-top:1px solid #1a1a1a0d;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start;padding:1.25rem 1.5rem 1.5rem}.patient-dashboard .submit-button.book-tab-submit{align-items:center;display:inline-flex;gap:.5rem;margin-bottom:0;margin-left:0}.patient-dashboard .submit-button.book-tab-submit .material-symbols-outlined{font-size:1.125rem}.patient-dashboard .book-tab-slot-picker{padding:0 1.5rem 1rem}.patient-dashboard .slots-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:0 1.5rem 1.5rem}.patient-dashboard .slot-button{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;cursor:pointer;font-family:Manrope,sans-serif;padding:.75rem 1rem;text-align:center;transition:all .2s ease}.patient-dashboard .slot-button:hover{border-color:#d49d8c;box-shadow:0 4px 12px #d49d8c26}.patient-dashboard .slot-button.selected{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.patient-dashboard .slot-date{font-size:.875rem;font-weight:600}.patient-dashboard .slot-time{color:#1a1a1a80;font-size:.75rem;margin-top:.25rem}.patient-dashboard .slot-button.selected .slot-time{color:#ffffffb3}.patient-dashboard .submit-button{background:#1a1a1a;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;margin-left:1.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.patient-dashboard .submit-button:hover{background:#1a1a1ae6}.patient-dashboard .submit-button:disabled{cursor:not-allowed;opacity:.5}.patient-dashboard .success-message{background:#f0fdf4;border-radius:.5rem;color:#16a34a;font-size:.875rem;font-weight:600;margin:0 1.5rem 1rem;padding:.75rem 1.5rem}.patient-dashboard .logout-button{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.patient-dashboard .logout-button:hover{border-color:#dc2626;color:#dc2626}.patient-dashboard .help-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.patient-dashboard .help-section{background:#fcf9f3;border:1px solid #1a1a1a0d;border-radius:.5rem;padding:1.25rem;transition:all .2s ease}.patient-dashboard .help-section:hover{border-color:#d49d8c}.patient-dashboard .help-section h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;letter-spacing:-.2px;margin:0 0 .5rem;padding:0}.patient-dashboard .help-section p{color:#1a1a1a99;font-size:.875rem;line-height:1.6;margin:0}.patient-dashboard .error-container,.patient-dashboard .loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;min-height:400px}.patient-dashboard .loading{color:#1a1a1a80;font-size:.875rem}.patient-dashboard .error{background:#fef2f2;border-radius:.5rem;color:#dc2626;font-size:.875rem;margin:1rem 1.5rem;padding:.75rem 1.5rem;text-align:center}.patient-dashboard .sidebar-toggle{align-items:center;background:#1a1a1a;border:none;border-radius:50%;bottom:1.5rem;box-shadow:0 4px 20px #0003;color:#fff;cursor:pointer;display:none;height:48px;justify-content:center;position:fixed;right:1.5rem;width:48px;z-index:100}.patient-dashboard .sidebar-overlay{display:none}@media (max-width:1024px){.patient-dashboard .summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.patient-dashboard{display:block}.patient-dashboard .dashboard-sidebar{left:-280px;position:fixed;transition:left .3s ease}.patient-dashboard .dashboard-sidebar.open{left:0}.patient-dashboard .sidebar-overlay{background:#0000004d;border:none;cursor:default;display:none;inset:0;margin:0;padding:0;position:fixed;width:100%;z-index:49}.patient-dashboard .sidebar-overlay.visible{display:block}.patient-dashboard .sidebar-toggle{display:flex}.patient-dashboard .dashboard-main-area{margin-left:0}.patient-dashboard .dashboard-header{height:64px;padding:0 1.5rem}.patient-dashboard .header-content h1{font-size:1.25rem}.patient-dashboard .dashboard-main{padding:1.5rem}.patient-dashboard .summary-cards{grid-template-columns:1fr}.patient-dashboard .appointments-section{border-radius:.5rem}.patient-dashboard .summary-cards.book-tab-summary{grid-template-columns:1fr}}.patient-lab-results .lab-results-error{background-color:#f8d7da;border-radius:8px;color:#721c24;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.patient-lab-results .lab-results-list{display:flex;flex-direction:column;gap:.75rem}.patient-lab-results .lab-result-card{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:1rem;padding:1rem 1.25rem;transition:box-shadow .2s,transform .2s}.patient-lab-results .lab-result-card:hover{box-shadow:0 4px 10px #00000014;transform:translateY(-1px)}.patient-lab-results .lab-result-icon{align-items:center;background-color:#eaf3ff;border-radius:10px;color:#0a66c2;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.patient-lab-results .lab-result-icon .material-symbols-outlined{font-size:1.5rem}.patient-lab-results .lab-result-info{flex:1 1;min-width:0}.patient-lab-results .lab-result-name{color:#1a1a1a;font-weight:600;margin-bottom:.25rem;word-break:break-word}.patient-lab-results .lab-result-meta{color:#666;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.5rem}.patient-lab-results .lab-result-download{align-items:center;background-color:#0a66c2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:500;gap:.4rem;padding:.5rem .9rem;transition:background-color .2s,opacity .2s}.patient-lab-results .lab-result-download:hover:not(:disabled){background-color:#084c91}.patient-lab-results .lab-result-download:disabled{cursor:not-allowed;opacity:.6}.patient-lab-results .lab-result-download .material-symbols-outlined{font-size:1.1rem}@media (max-width:600px){.patient-lab-results .lab-result-card{flex-wrap:wrap}.patient-lab-results .lab-result-download{justify-content:center;width:100%}}.error-boundary{align-items:center;background-color:#f8f9fb;display:flex;justify-content:center;min-height:60vh;padding:2rem 1rem}.error-boundary-card{background:#fff;border:1px solid #e3e6ec;border-radius:12px;box-shadow:0 6px 18px #0f172a0f;max-width:32rem;padding:2rem;text-align:center;width:100%}.error-boundary-icon{color:#d23f3f;display:block;font-size:48px;margin:0 auto .75rem}.error-boundary-title{color:#1f2937;font-size:1.25rem;margin:0 0 .5rem}.error-boundary-message{color:#4b5563;line-height:1.5;margin:0 0 1.25rem}.error-boundary-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.error-boundary-reload,.error-boundary-retry{border:1px solid #0000;border-radius:8px;cursor:pointer;font-weight:600;padding:.6rem 1.1rem;transition:background-color .15s ease,border-color .15s ease}.error-boundary-retry{background-color:#2563eb;color:#fff}.error-boundary-retry:hover{background-color:#1d4ed8}.error-boundary-reload{background-color:#fff;border-color:#d1d5db;color:#1f2937}.error-boundary-reload:hover{background-color:#f3f4f6}.cookie-notice{align-items:center;background:#2d4a3e;bottom:0;box-shadow:0 -4px 24px #00000026;color:#fcf9f3;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;left:0;padding:1rem 1.5rem;position:fixed;right:0;z-index:1000}.cookie-notice-text{flex:1 1 16rem;font-size:.875rem;line-height:1.5;margin:0}.cookie-notice-text a{color:#f5d5c8;font-weight:600}.cookie-notice-text a:focus-visible{outline:2px solid #fcf9f3;outline-offset:2px}.cookie-notice-btn{background:#fcf9f3;border:none;border-radius:9999px;color:#2d4a3e;cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem}.cookie-notice-btn:focus-visible{outline:2px solid #d49d8c;outline-offset:2px}.policy-update-banner{align-items:center;background:#f5ebe0;border-bottom:1px solid #2d4a3e26;color:#1a1a1a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.875rem 1.5rem}.policy-update-banner-text{flex:1 1 16rem;font-size:.875rem;line-height:1.5;margin:0}.policy-update-banner-text a{color:#2d4a3e;font-weight:600}.policy-update-banner-text a:focus-visible{outline:2px solid #2d4a3e;outline-offset:2px}.policy-update-banner-btn{background:#0000;border:1px solid #2d4a3e;border-radius:9999px;color:#2d4a3e;cursor:pointer;flex-shrink:0;font-size:.8125rem;font-weight:600;padding:.5rem 1rem}.policy-update-banner-btn:focus-visible{outline:2px solid #2d4a3e;outline-offset:2px}.App{display:flex;flex-direction:column;margin:0;min-height:100vh;padding:0}.skip-link{background:#2d4a3e;color:#fcf9f3;font-weight:600;left:-9999px;padding:.75rem 1rem;position:absolute;text-decoration:none;top:0;z-index:2000}.skip-link:focus{left:1rem;outline:2px solid #d49d8c;outline-offset:2px;top:1rem}:focus-visible{outline:2px solid #2d4a3e;outline-offset:2px}.legal-consent-checkbox{align-items:flex-start;color:#4b5563;cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;line-height:1.6}.legal-consent-checkbox a{color:#2d4a3e;font-weight:600}.form-error-alert{background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#b91c1c;font-size:.875rem;font-weight:500;padding:1rem 1.25rem}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}
/*# sourceMappingURL=main.98759d06.css.map*/