*,::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:Hanken Grotesk,system-ui,-apple-system,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}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-5{top:1.25rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.col-span-2{grid-column:span 2/span 2}.col-span-4{grid-column:span 4/span 4}.col-span-8{grid-column:span 8/span 8}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.-ml-1{margin-left:-.25rem}.-mr-2{margin-right:-.5rem}.-mt-0\.5{margin-top:-.125rem}.-mt-2{margin-top:-.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-9{margin-left:2.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-96{height:24rem}.h-auto{height:auto}.h-full{height:100%}.max-h-24{max-height:6rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[50vh\]{max-height:50vh}.max-h-\[55vh\]{max-height:55vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80px\]{max-height:80px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[36px\]{min-height:36px}.min-h-\[44px\]{min-height:44px}.min-h-\[52px\]{min-height:52px}.min-h-\[70px\]{min-height:70px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[44px\]{min-width:44px}.min-w-\[56px\]{min-width:56px}.min-w-\[60px\]{min-width:60px}.min-w-\[88px\]{min-width:88px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[130px\]{max-width:130px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[80\%\]{max-width:80%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-0{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-0{--tw-translate-x:0px}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-1,.translate-x-8{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-8{--tw-translate-x:2rem}.translate-x-9{--tw-translate-x:2.25rem}.translate-x-9,.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%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-90{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))}.rotate-90{--tw-rotate:90deg}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.transform{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))}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.select-all{-webkit-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[auto_auto_1fr_1fr\]{grid-template-columns:auto auto 1fr 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-px{gap:1px}.gap-x-12{column-gap:3rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-x-6{column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.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-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(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)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-line>:not([hidden])~:not([hidden]){border-color:oklch(.9 .012 120)}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:12px}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:16px}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:8px}.rounded-xl{border-radius:22px}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:#fcd34d;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-bucket-cooling{border-color:oklch(.625 .125 52)}.border-bucket-cooling-ink{border-color:oklch(.48 .105 48)}.border-bucket-cooling-line{border-color:oklch(.86 .072 56)}.border-bucket-lost{border-color:oklch(.565 .13 33)}.border-bucket-lost-line{border-color:oklch(.86 .06 36)}.border-bucket-new{border-color:oklch(.595 .125 150)}.border-bucket-new-ink{border-color:oklch(.45 .105 152)}.border-bucket-new-line{border-color:oklch(.85 .07 150)}.border-bucket-routine-line{border-color:oklch(.85 .04 215)}.border-bucket-top-ink{border-color:oklch(.42 .09 350)}.border-bucket-top-line{border-color:oklch(.86 .045 350)}.border-forest{border-color:oklch(.45 .072 156)}.border-forest-soft2{border-color:oklch(.915 .038 152)}.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-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:#86efac;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:#4ade80;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:#e0e7ff;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:#a5b4fc;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-line{border-color:oklch(.9 .012 120)}.border-line-2{border-color:oklch(.85 .014 118)}.border-orange-200{--tw-border-opacity:1;border-color:#fed7aa;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-purple-100{--tw-border-opacity:1;border-color:#f3e8ff;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:#d8b4fe;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:#fca5a5;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:#f87171;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-violet-200{--tw-border-opacity:1;border-color:#ddd6fe;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/30{border-color:#ffffff4d}.border-yellow-200{--tw-border-opacity:1;border-color:#fef08a;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:#fde047;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:#facc15;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-l-amber-400{--tw-border-opacity:1;border-left-color:#fbbf24;border-left-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-l-blue-400{--tw-border-opacity:1;border-left-color:#60a5fa;border-left-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-l-bucket-top{border-left-color:oklch(.5 .095 350)}.border-l-gray-300{--tw-border-opacity:1;border-left-color:#d1d5db;border-left-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-l-green-400{--tw-border-opacity:1;border-left-color:#4ade80;border-left-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-l-orange-400{--tw-border-opacity:1;border-left-color:#fb923c;border-left-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-l-red-400{--tw-border-opacity:1;border-left-color:#f87171;border-left-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-l-red-600{--tw-border-opacity:1;border-left-color:#dc2626;border-left-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:#0000}.border-l-violet-400{--tw-border-opacity:1;border-left-color:#a78bfa;border-left-color:rgb(167 139 250/var(--tw-border-opacity,1))}.border-l-white{--tw-border-opacity:1;border-left-color:#fff;border-left-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:#fbbf24;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:#f59e0b;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/0{background-color:#0000}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-bucket-cooling{background-color:oklch(.625 .125 52)}.bg-bucket-cooling-bg{background-color:oklch(.955 .045 60)}.bg-bucket-lost{background-color:oklch(.565 .13 33)}.bg-bucket-lost-bg{background-color:oklch(.955 .034 38)}.bg-bucket-new{background-color:oklch(.595 .125 150)}.bg-bucket-new-bg{background-color:oklch(.95 .046 150)}.bg-bucket-routine-bg{background-color:oklch(.95 .024 215)}.bg-bucket-top{background-color:oklch(.5 .095 350)}.bg-bucket-top-bg{background-color:oklch(.955 .026 350)}.bg-card{background-color:oklch(.992 .005 95)}.bg-card-2{background-color:oklch(.978 .008 95)}.bg-forest{background-color:oklch(.45 .072 156)}.bg-forest-deep{background-color:oklch(.36 .06 156)}.bg-forest-soft{background-color:oklch(.945 .028 152)}.bg-forest-soft2{background-color:oklch(.915 .038 152)}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:#4ade80;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-ink{background-color:oklch(.28 .022 152)}.bg-ink-2{background-color:oklch(.46 .018 150)}.bg-ink-3{background-color:oklch(.6 .014 145)}.bg-line{background-color:oklch(.9 .012 120)}.bg-line-2{background-color:oklch(.85 .014 118)}.bg-orange-100{--tw-bg-opacity:1;background-color:#ffedd5;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:#fff7ed;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:#f97316;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-paper{background-color:oklch(.972 .01 95)}.bg-paper-2{background-color:oklch(.955 .013 92)}.bg-purple-100{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:#a855f7;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:#9333ea;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:#ef4444;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-signal-down{background-color:oklch(.55 .13 33)}.bg-transparent{background-color:initial}.bg-violet-50{--tw-bg-opacity:1;background-color:#f5f3ff;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-500{--tw-bg-opacity:1;background-color:#8b5cf6;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:#facc15;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:#eab308;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-bucket-cooling{--tw-gradient-from:oklch(0.625 0.125 52) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-forest-soft{--tw-gradient-from:oklch(0.945 0.028 152) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-bucket-cooling{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),oklch(0.625 0.125 52) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-bucket-cooling{--tw-gradient-to:oklch(0.625 0.125 52) var(--tw-gradient-to-position)}.to-forest-soft{--tw-gradient-to:oklch(0.945 0.028 152) var(--tw-gradient-to-position)}.to-forest-soft2{--tw-gradient-to:oklch(0.915 0.038 152) var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.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-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.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-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-serif{font-family:Newsreader,Georgia,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-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.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-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-500{--tw-text-opacity:1;color:#f59e0b;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:#92400e;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-bucket-cooling{color:oklch(.625 .125 52)}.text-bucket-cooling-ink{color:oklch(.48 .105 48)}.text-bucket-lost{color:oklch(.565 .13 33)}.text-bucket-lost-ink{color:oklch(.47 .12 33)}.text-bucket-new{color:oklch(.595 .125 150)}.text-bucket-new-ink{color:oklch(.45 .105 152)}.text-bucket-routine{color:oklch(.56 .066 215)}.text-bucket-routine-ink{color:oklch(.45 .06 215)}.text-bucket-top{color:oklch(.5 .095 350)}.text-bucket-top-ink{color:oklch(.42 .09 350)}.text-forest{color:oklch(.45 .072 156)}.text-forest-deep{color:oklch(.36 .06 156)}.text-forest-soft2{color:oklch(.915 .038 152)}.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-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/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-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:#818cf8;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:#3730a3;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-ink{color:oklch(.28 .022 152)}.text-ink-2{color:oklch(.46 .018 150)}.text-ink-3{color:oklch(.6 .014 145)}.text-ink-4{color:oklch(.72 .012 140)}.text-line-2{color:oklch(.85 .014 118)}.text-orange-500{--tw-text-opacity:1;color:#f97316;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:#c2410c;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:#a855f7;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:#7e22ce;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:#6b21a8;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-signal-down{color:oklch(.55 .13 33)}.text-signal-up{color:oklch(.52 .1 150)}.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-violet-700{--tw-text-opacity:1;color:#6d28d9;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:#a16207;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:#713f12;color:rgb(113 63 18/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.placeholder-forest-soft2::placeholder{color:oklch(.915 .038 152)}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.placeholder-ink-4::placeholder{color:oklch(.72 .012 140)}.accent-indigo-600{accent-color:#4f46e5}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 2px 4px oklch(0.30 0.03 150/0.06),0 6px 16px oklch(0.30 0.03 150/0.07);--tw-shadow-colored:0 2px 4px var(--tw-shadow-color),0 6px 16px var(--tw-shadow-color)}.shadow,.shadow-lg{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-lg{--tw-shadow:0 8px 24px oklch(0.30 0.03 150/0.12),0 2px 6px oklch(0.30 0.03 150/0.08);--tw-shadow-colored:0 8px 24px var(--tw-shadow-color),0 2px 6px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{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-sm{--tw-shadow:0 1px 2px oklch(0.30 0.03 150/0.06),0 1px 1px oklch(0.30 0.03 150/0.04);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 1px 1px var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px 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}.outline{outline-style:solid}.ring-2{--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(2px + 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-bucket-cooling-line{--tw-ring-color:oklch(0.86 0.072 56)}.ring-forest{--tw-ring-color:oklch(0.45 0.072 156)}.ring-forest-soft{--tw-ring-color:oklch(0.945 0.028 152)}.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{--tw-backdrop-blur:blur(8px);-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{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media print{aside,header,nav{display:none!important}.lg\:ml-56,[class*="lg:ml-56"]{margin-left:0!important}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}thead{display:table-header-group}tfoot{display:table-footer-group}tr{break-inside:avoid;page-break-inside:avoid}@page{size:letter;margin:1in}.overflow-x-auto{overflow:visible!important}table{break-inside:auto;page-break-inside:auto;table-layout:fixed;width:100%!important}table td,table th{word-wrap:break-word;overflow-wrap:break-word}.coach-report-comparative table{font-size:9px!important}.coach-report-comparative table td,.coach-report-comparative table th{padding:2px 3px!important}.coach-report-single table{font-size:11px!important}.coach-report-single table td,.coach-report-single table th{padding:4px 6px!important}.mb-4,.space-y-4>div,.space-y-6>div{break-inside:avoid;page-break-inside:avoid}}.placeholder\:text-ink-4::placeholder{color:oklch(.72 .012 140)}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:#60a5fa;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:border-forest:hover{border-color:oklch(.45 .072 156)}.hover\:border-forest-soft2:hover{border-color:oklch(.915 .038 152)}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:#86efac;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.hover\:border-line-2:hover{border-color:oklch(.85 .014 118)}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:#fca5a5;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:#fde68a;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-bucket-lost:hover{background-color:oklch(.565 .13 33)}.hover\:bg-bucket-lost-bg:hover{background-color:oklch(.955 .034 38)}.hover\:bg-bucket-new:hover{background-color:oklch(.595 .125 150)}.hover\:bg-bucket-new-bg:hover{background-color:oklch(.95 .046 150)}.hover\:bg-bucket-top:hover{background-color:oklch(.5 .095 350)}.hover\:bg-card-2:hover{background-color:oklch(.978 .008 95)}.hover\:bg-forest-deep:hover{background-color:oklch(.36 .06 156)}.hover\:bg-forest-soft:hover{background-color:oklch(.945 .028 152)}.hover\:bg-forest-soft2:hover{background-color:oklch(.915 .038 152)}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.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-green-100:hover{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:#4338ca;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-ink:hover{background-color:oklch(.28 .022 152)}.hover\:bg-ink-2:hover{background-color:oklch(.46 .018 150)}.hover\:bg-line:hover{background-color:oklch(.9 .012 120)}.hover\:bg-line-2:hover{background-color:oklch(.85 .014 118)}.hover\:bg-orange-200:hover{--tw-bg-opacity:1;background-color:#fed7aa;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.hover\:bg-paper-2:hover{background-color:oklch(.955 .013 92)}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:#7e22ce;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-signal-down:hover{background-color:oklch(.55 .13 33)}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/50:hover{background-color:#ffffff80}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:#fef08a;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-bucket-lost:hover{color:oklch(.565 .13 33)}.hover\:text-bucket-lost-ink:hover{color:oklch(.47 .12 33)}.hover\:text-bucket-new-ink:hover{color:oklch(.45 .105 152)}.hover\:text-bucket-top-ink:hover{color:oklch(.42 .09 350)}.hover\:text-forest:hover{color:oklch(.45 .072 156)}.hover\:text-forest-deep:hover{color:oklch(.36 .06 156)}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-ink:hover{color:oklch(.28 .022 152)}.hover\:text-ink-2:hover{color:oklch(.46 .018 150)}.hover\:text-red-500:hover{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow:hover{--tw-shadow:0 2px 4px oklch(0.30 0.03 150/0.06),0 6px 16px oklch(0.30 0.03 150/0.07);--tw-shadow-colored:0 2px 4px var(--tw-shadow-color),0 6px 16px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow:hover{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)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px oklch(0.30 0.03 150/0.06),0 1px 1px oklch(0.30 0.03 150/0.04);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 1px 1px 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)}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-forest:focus{border-color:oklch(.45 .072 156)}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.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)}.focus\:ring-1:focus,.focus\:ring-2:focus{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-2: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(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-bucket-new:focus{--tw-ring-color:oklch(0.595 0.125 150)}.focus\:ring-bucket-top-line:focus{--tw-ring-color:oklch(0.86 0.045 350)}.focus\:ring-forest:focus{--tw-ring-color:oklch(0.45 0.072 156)}.focus\:ring-forest-soft2:focus{--tw-ring-color:oklch(0.915 0.038 152)}.focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-card-2:active{background-color:oklch(.978 .008 95)}.active\:bg-paper-2:active{background-color:oklch(.955 .013 92)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-50:disabled{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.disabled\:bg-line-2:disabled{background-color:oklch(.85 .014 118)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-forest:hover:disabled{background-color:oklch(.45 .072 156)}.group:hover .group-hover\:border-ink-4{border-color:oklch(.72 .012 140)}.group:hover .group-hover\:bg-black\/20{background-color:#0003}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:w-72{width:18rem}.sm\:w-80{width:20rem}.sm\:min-w-\[288px\]{min-width:288px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:rounded-2xl{border-radius:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:mb-6{margin-bottom:1.5rem}.md\:mt-1{margin-top:.25rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:min-h-\[80px\]{min-height:80px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:items-center{align-items:center}.md\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.md\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.md\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.md\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.md\:p-2{padding:.5rem}.md\:p-6{padding:1.5rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:1024px){.lg\:static{position:static}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:ml-56{margin-left:14rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:border-0{border-width:0}.lg\:bg-transparent{background-color:initial}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media print{.print\:hidden{display:none}}:root{--paper:oklch(0.972 0.010 95);--paper-2:oklch(0.955 0.013 92);--card:oklch(0.992 0.005 95);--card-2:oklch(0.978 0.008 95);--ink:oklch(0.28 0.022 152);--ink-2:oklch(0.46 0.018 150);--ink-3:oklch(0.60 0.014 145);--ink-4:oklch(0.72 0.012 140);--line:oklch(0.90 0.012 120);--line-2:oklch(0.85 0.014 118);--forest:oklch(0.45 0.072 156);--forest-deep:oklch(0.36 0.060 156);--forest-ink:oklch(0.30 0.050 156);--forest-soft:oklch(0.945 0.028 152);--forest-soft2:oklch(0.915 0.038 152);--wood:oklch(0.58 0.075 62);--wood-soft:oklch(0.93 0.035 70);--b-top:oklch(0.50 0.095 350);--b-top-bg:oklch(0.955 0.026 350);--b-top-line:oklch(0.86 0.045 350);--b-top-ink:oklch(0.42 0.090 350);--b-lost:oklch(0.565 0.130 33);--b-lost-bg:oklch(0.955 0.034 38);--b-lost-line:oklch(0.86 0.060 36);--b-lost-ink:oklch(0.47 0.120 33);--b-cooling:oklch(0.625 0.125 52);--b-cooling-bg:oklch(0.955 0.045 60);--b-cooling-line:oklch(0.86 0.072 56);--b-cooling-ink:oklch(0.48 0.105 48);--b-new:oklch(0.595 0.125 150);--b-new-bg:oklch(0.950 0.046 150);--b-new-line:oklch(0.85 0.070 150);--b-new-ink:oklch(0.45 0.105 152);--b-returning:oklch(0.665 0.110 73);--b-returning-bg:oklch(0.955 0.050 78);--b-returning-line:oklch(0.86 0.075 75);--b-returning-ink:oklch(0.50 0.090 65);--b-routine:oklch(0.560 0.066 215);--b-routine-bg:oklch(0.950 0.024 215);--b-routine-line:oklch(0.85 0.040 215);--b-routine-ink:oklch(0.45 0.060 215);--b-filler:oklch(0.585 0.016 80);--b-filler-bg:oklch(0.945 0.010 85);--b-filler-line:oklch(0.86 0.012 85);--b-filler-ink:oklch(0.46 0.014 80);--up:oklch(0.52 0.10 150);--down:oklch(0.55 0.13 33);--amber:oklch(0.66 0.11 73);--shadow-sm:0 1px 2px oklch(0.30 0.03 150/0.06),0 1px 1px oklch(0.30 0.03 150/0.04);--shadow:0 2px 4px oklch(0.30 0.03 150/0.06),0 6px 16px oklch(0.30 0.03 150/0.07);--shadow-lg:0 8px 24px oklch(0.30 0.03 150/0.12),0 2px 6px oklch(0.30 0.03 150/0.08);--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--font-sans:"Hanken Grotesk",system-ui,-apple-system,sans-serif;--font-serif:"Newsreader",Georgia,serif}.bk-top{--bc:var(--b-top);--bc-bg:var(--b-top-bg);--bc-line:var(--b-top-line);--bc-ink:var(--b-top-ink)}.bk-lost{--bc:var(--b-lost);--bc-bg:var(--b-lost-bg);--bc-line:var(--b-lost-line);--bc-ink:var(--b-lost-ink)}.bk-cooling{--bc:var(--b-cooling);--bc-bg:var(--b-cooling-bg);--bc-line:var(--b-cooling-line);--bc-ink:var(--b-cooling-ink)}.bk-new{--bc:var(--b-new);--bc-bg:var(--b-new-bg);--bc-line:var(--b-new-line);--bc-ink:var(--b-new-ink)}.bk-returning{--bc:var(--b-returning);--bc-bg:var(--b-returning-bg);--bc-line:var(--b-returning-line);--bc-ink:var(--b-returning-ink)}.bk-routine{--bc:var(--b-routine);--bc-bg:var(--b-routine-bg);--bc-line:var(--b-routine-line);--bc-ink:var(--b-routine-ink)}.bk-filler{--bc:var(--b-filler);--bc-bg:var(--b-filler-bg);--bc-line:var(--b-filler-line);--bc-ink:var(--b-filler-ink)}@keyframes apFadeIn{0%{transform:translateY(9px)}to{transform:none}}@keyframes apPop{0%{transform:scale(.94)}to{transform:scale(1)}}@keyframes apSlideIn{0%{transform:translateX(100%)}to{transform:none}}.ap-root{-webkit-font-smoothing:antialiased;font-feature-settings:"ss01";background:oklch(.972 .01 95);background:var(--paper);color:oklch(.28 .022 152);color:var(--ink);font-family:Hanken Grotesk,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);position:relative;text-rendering:optimizeLegibility}.ap-root *,.ap-root :after,.ap-root :before{box-sizing:border-box}.ap-root h1,.ap-root h2,.ap-root h3,.ap-root h4{font-weight:700;letter-spacing:-.01em;margin:0}.ap-root button{cursor:pointer;font-family:inherit}.ap-root ::selection{background:oklch(.915 .038 152);background:var(--forest-soft2)}.ap-root .tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ap-root .fade-in{animation:apFadeIn .38s cubic-bezier(.2,.8,.3,1) both}.ap-root .pop{animation:apPop .22s cubic-bezier(.2,1.3,.5,1) both}.ap-bg{background:radial-gradient(120% 80% at 12% -8%,oklch(.96 .03 150/.55),#0000 60%),radial-gradient(120% 80% at 100% 0,oklch(.95 .03 70/.4),#0000 55%);inset:-26px -24px -40px;pointer-events:none;position:absolute;z-index:0}.ap-content{position:relative;z-index:1}.ap-root .chip{align-items:center;background:oklch(.992 .005 95);background:var(--card);border:1px solid oklch(.85 .014 118);border:1px solid var(--line-2);border-radius:999px;color:oklch(.46 .018 150);color:var(--ink-2);display:inline-flex;font-size:11.5px;font-weight:600;gap:5px;line-height:1;padding:5px 9px;white-space:nowrap}.ap-root .chip .dot{background:currentColor;border-radius:999px;height:7px;width:7px}.ap-root .bucket-tag{align-items:center;background:var(--bc-bg);border:1px solid var(--bc-line);border-radius:999px;color:var(--bc-ink);display:inline-flex;font-size:11.5px;font-weight:700;gap:6px;letter-spacing:.01em;line-height:1;padding:5px 10px 5px 8px}.ap-root .bucket-tag .dot{background:var(--bc);border-radius:999px;height:8px;width:8px}.ap-root .grade-badge{background:oklch(.945 .028 152);background:var(--bc-bg,var(--forest-soft));border:1px solid oklch(.915 .038 152);border:1px solid var(--bc-line,var(--forest-soft2));border-radius:9px;color:oklch(.45 .072 156);color:var(--bc-ink,var(--forest));flex-shrink:0;font-size:14px;font-weight:800;height:30px;width:30px}.ap-root .btn,.ap-root .grade-badge{align-items:center;display:inline-flex;justify-content:center}.ap-root .btn{border:1px solid #0000;border-radius:8px;border-radius:var(--r-sm);font-size:13px;font-weight:600;gap:7px;padding:9px 13px;transition:all .14s ease;white-space:nowrap}.ap-root .btn-primary{background:oklch(.45 .072 156);background:var(--forest);box-shadow:0 1px 2px oklch(.3 .03 150/.06),0 1px 1px oklch(.3 .03 150/.04);box-shadow:var(--shadow-sm);color:oklch(.98 .01 150)}.ap-root .btn-primary:hover{background:oklch(.36 .06 156);background:var(--forest-deep)}.ap-root .btn-ghost{background:#0000;border-color:oklch(.85 .014 118);border-color:var(--line-2);color:oklch(.46 .018 150);color:var(--ink-2)}.ap-root .btn-ghost:hover{background:oklch(.978 .008 95);background:var(--card-2);border-color:oklch(.72 .012 140);border-color:var(--ink-4);color:oklch(.28 .022 152);color:var(--ink)}.ap-root .btn-soft{background:oklch(.945 .028 152);background:var(--forest-soft);border-color:oklch(.915 .038 152);border-color:var(--forest-soft2);color:oklch(.36 .06 156);color:var(--forest-deep)}.ap-root .btn-soft:hover{background:oklch(.915 .038 152);background:var(--forest-soft2)}.ap-root .btn-icon{padding:8px}.ap-root .btn-sm{font-size:12px;padding:7px 10px}.ap-root .btn:disabled{cursor:default;opacity:.45}.ap-root .card{background:oklch(.992 .005 95);background:var(--card);border:1px solid oklch(.9 .012 120);border:1px solid var(--line);border-radius:16px;border-radius:var(--r-lg);box-shadow:0 1px 2px oklch(.3 .03 150/.06),0 1px 1px oklch(.3 .03 150/.04);box-shadow:var(--shadow-sm)}.ap-root .scroll::-webkit-scrollbar{height:10px;width:10px}.ap-root .scroll::-webkit-scrollbar-thumb{background:oklch(.82 .02 140);border:3px solid oklch(.972 .01 95);border:3px solid var(--paper);border-radius:999px}.ap-root .scroll::-webkit-scrollbar-track{background:#0000}.ap-root .switcher{background:oklch(.978 .008 95);background:var(--card-2);border:1px solid oklch(.9 .012 120);border:1px solid var(--line);border-radius:13px;display:inline-flex;gap:4px;padding:4px}.ap-root .sw-btn{align-items:center;background:#0000;border:none;border-radius:9px;color:oklch(.6 .014 145);color:var(--ink-3);display:inline-flex;gap:8px;padding:8px 13px;transition:all .14s}.ap-root .sw-btn:hover{color:oklch(.28 .022 152);color:var(--ink)}.ap-root .sw-btn[data-on=true]{background:oklch(.992 .005 95);background:var(--card);box-shadow:0 1px 2px oklch(.3 .03 150/.06),0 1px 1px oklch(.3 .03 150/.04);box-shadow:var(--shadow-sm);color:oklch(.36 .06 156);color:var(--forest-deep)}.ap-root .sw-text{align-items:flex-start;display:flex;flex-direction:column;line-height:1.1}.ap-root .sw-label{font-size:13px;font-weight:700;white-space:nowrap}.ap-root .sw-sub{color:oklch(.72 .012 140);color:var(--ink-4);font-size:10.5px;font-weight:500;white-space:nowrap}.ap-root .sw-btn[data-on=true] .sw-sub{color:oklch(.45 .072 156);color:var(--forest);opacity:.8}@media (max-width:600px){.ap-root .sw-sub{display:none}}.ap-root .kpi-strip{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-top:22px}@media (max-width:760px){.ap-root .kpi-strip{grid-template-columns:repeat(2,1fr)}}.ap-root .kpi{background:oklch(.992 .005 95);background:var(--card);border:1px solid oklch(.9 .012 120);border:1px solid var(--line);border-radius:16px;border-radius:var(--r-lg);box-shadow:0 1px 2px oklch(.3 .03 150/.06),0 1px 1px oklch(.3 .03 150/.04);box-shadow:var(--shadow-sm);padding:15px 16px}.ap-root .kpi-label{color:oklch(.6 .014 145);color:var(--ink-3);font-size:11.5px;font-weight:600}.ap-root .kpi-val{font-feature-settings:"tnum";font-size:28px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;margin-top:5px}.ap-root .kpi-note{color:oklch(.72 .012 140);color:var(--ink-4);font-size:11px;margin-top:2px}.ap-root .kpi-ink{color:oklch(.28 .022 152);color:var(--ink)}.ap-root .kpi-wood{color:oklch(.58 .075 62);color:var(--wood)}.ap-root .kpi-lost{color:oklch(.47 .12 33);color:var(--b-lost-ink)}.ap-root .kpi-forest{color:oklch(.45 .072 156);color:var(--forest)}.ap-root .drawer{animation:apSlideIn .26s cubic-bezier(.2,.8,.3,1) both;background:oklch(.992 .005 95);background:var(--card);bottom:0;display:flex;flex-direction:column;right:0;top:0;width:min(440px,94vw);z-index:56}.ap-root .drawer,.ap-root .toast{box-shadow:0 8px 24px oklch(.3 .03 150/.12),0 2px 6px oklch(.3 .03 150/.08);box-shadow:var(--shadow-lg);position:fixed}.ap-root .toast{background:oklch(.28 .022 152);background:var(--ink);border-radius:11px;bottom:24px;color:oklch(.972 .01 95);color:var(--paper);font-size:13.5px;font-weight:600;left:50%;padding:12px 18px;transform:translateX(-50%);z-index:80}.ap-root .ap-input{background:oklch(.978 .008 95);background:var(--card-2);border:1.5px solid oklch(.85 .014 118);border:1.5px solid var(--line-2);border-radius:9px;color:oklch(.28 .022 152);color:var(--ink);font-family:inherit;font-size:14px;outline:none;padding:10px 12px;transition:border-color .12s,background .12s;width:100%}.ap-root .ap-input:focus{background:oklch(.992 .005 95);background:var(--card);border-color:oklch(.45 .072 156);border-color:var(--forest)}.ap-root .ap-input::placeholder{color:oklch(.72 .012 140);color:var(--ink-4)}.ap-root .lv-select{background:oklch(.992 .005 95);background:var(--card);border:1.5px solid oklch(.85 .014 118);border:1.5px solid var(--line-2);border-radius:8px;color:oklch(.46 .018 150);color:var(--ink-2);font-family:inherit;font-size:12.5px;outline:none;padding:7px 9px}.ap-root .lv-select:focus{border-color:oklch(.45 .072 156);border-color:var(--forest)}.ap-root .tray-row{align-items:center;border-radius:9px;display:flex;gap:7px;padding:7px 6px 7px 2px;transition:background .12s}.ap-root .tray-row:hover{background:oklch(.978 .008 95);background:var(--card-2)}.ap-root .tray-grip{color:oklch(.72 .012 140);color:var(--ink-4);cursor:grab;display:grid;padding:0 1px;place-items:center}.ap-root .tray-grip:active{cursor:grabbing}.ap-root .tray-act{background:#0000;border:none;border-radius:7px;color:oklch(.72 .012 140);color:var(--ink-4);display:grid;height:28px;place-items:center;transition:all .12s;width:28px}.ap-root .tray-act:hover{background:oklch(.955 .013 92);background:var(--paper-2);color:oklch(.46 .018 150);color:var(--ink-2)}.ap-root .tray-logbtn{align-items:center;background:oklch(.945 .028 152);background:var(--forest-soft);border:1px solid oklch(.915 .038 152);border:1px solid var(--forest-soft2);border-radius:999px;color:oklch(.36 .06 156);color:var(--forest-deep);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;letter-spacing:.01em;padding:0 12px;transition:all .12s}.ap-root .tray-logbtn:hover{background:oklch(.45 .072 156);background:var(--forest);border-color:oklch(.45 .072 156);border-color:var(--forest);color:oklch(.97 .02 150)}.ap-root .leg-origin{align-items:center;color:oklch(.46 .018 150);color:var(--ink-2);display:flex;font-size:11.5px;font-weight:600;gap:8px;padding:5px 6px 2px 4px}.ap-root .origin-dot{background:oklch(.945 .028 152);background:var(--forest-soft);border-radius:999px;color:oklch(.36 .06 156);color:var(--forest-deep);display:grid;height:20px;place-items:center;width:20px}.ap-root .leg-time{align-items:center;color:oklch(.6 .014 145);color:var(--ink-3);display:flex;font-size:10.5px;font-weight:600;gap:7px;padding:1px 6px 1px 13px}.ap-root .leg-line{background:oklch(.85 .014 118);background:var(--line-2);border-radius:2px;height:13px;margin-left:6px;width:2px}.ap-root .route-summary{background:oklch(.945 .028 152);background:var(--forest-soft);border:1px solid oklch(.915 .038 152);border:1px solid var(--forest-soft2);border-radius:11px;margin:2px 10px 8px;padding:10px 12px}.ap-root .hero-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}@media (max-width:880px){.ap-root .hero-grid{grid-template-columns:1fr}}.ap-root .hero-card{background:oklch(.992 .005 95);background:var(--card);border:1px solid oklch(.9 .012 120);border:1px solid var(--line);border-radius:16px;border-radius:var(--r-lg);border-top:3px solid var(--bc);box-shadow:0 1px 2px oklch(.3 .03 150/.06),0 1px 1px oklch(.3 .03 150/.04);box-shadow:var(--shadow-sm);cursor:pointer;padding:16px 16px 15px;position:relative;transition:box-shadow .15s,transform .15s}.ap-root .hero-card:hover{box-shadow:0 2px 4px oklch(.3 .03 150/.06),0 6px 16px oklch(.3 .03 150/.07);box-shadow:var(--shadow);transform:translateY(-2px)}.ap-root .hero-card.flat{border-top:1px solid oklch(.9 .012 120);border-top:1px solid var(--line)}.ap-root .hero-rank{background:var(--bc-bg);border-radius:7px;color:var(--bc-ink);display:inline-grid;font-size:13px;font-weight:800;height:24px;place-items:center;width:24px}.ap-root .list-row{grid-gap:16px;align-items:center;border-bottom:1px solid oklch(.9 .012 120);border-bottom:1px solid var(--line);cursor:pointer;display:grid;gap:16px;grid-template-columns:46px 1fr auto auto auto;padding:15px 18px 15px 16px;position:relative;transition:background .12s}.ap-root .list-row:last-child{border-bottom:none}.ap-root .list-row:hover{background:var(--bc-bg)}.ap-root .lr-accent{background:var(--bc);bottom:0;left:0;opacity:0;position:absolute;top:0;transition:opacity .12s;width:3px}.ap-root .list-row:hover .lr-accent{opacity:1}.ap-root .lr-rank{color:oklch(.72 .012 140);color:var(--ink-4);font-size:18px;font-weight:800;text-align:center}.ap-root .lr-grade{align-items:center;display:flex;flex-direction:column}.ap-root .lr-rev{min-width:120px;text-align:right}@media (max-width:760px){.ap-root .list-row{grid-template-columns:38px 1fr auto}.ap-root .lr-actions,.ap-root .lr-grade{display:none}.ap-root .lr-rev{min-width:0}}.ap-root .fil-chip{align-items:center;background:oklch(.992 .005 95);background:var(--card);border:1px solid oklch(.85 .014 118);border:1px solid var(--line-2);border-radius:999px;color:oklch(.46 .018 150);color:var(--ink-2);display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;padding:7px 12px;transition:all .12s}.ap-root .fil-chip .dot{border-radius:999px;height:8px;width:8px}.ap-root .fil-chip:hover{border-color:oklch(.72 .012 140);border-color:var(--ink-4)}.ap-root .fil-chip[data-on=true]{background:var(--bc-bg);border-color:var(--bc-line);color:var(--bc-ink)}.ap-root .board{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-auto-columns:300px;grid-auto-flow:column;overflow-x:auto;padding:4px 4px 14px}@media (max-width:780px){.ap-root .board{grid-auto-columns:auto;grid-auto-flow:row}}.ap-root .board-col{background:color-mix(in oklch,var(--bc-bg) 60%,oklch(.972 .01 95));background:color-mix(in oklch,var(--bc-bg) 60%,var(--paper));border:1px solid var(--bc-line);border-radius:16px;border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:calc(100vh - 240px)}.ap-root .board-head{border-bottom:1px solid var(--bc-line);padding:14px 14px 13px}.ap-root .board-body{grid-gap:10px;display:grid;gap:10px;overflow-y:auto;padding:10px}.ap-root .board-card{background:oklch(.992 .005 95);background:var(--card);border:1px solid oklch(.9 .012 120);border:1px solid var(--line);border-left:3px solid var(--bc);border-radius:12px;border-radius:var(--r);box-shadow:0 1px 2px oklch(.3 .03 150/.06),0 1px 1px oklch(.3 .03 150/.04);box-shadow:var(--shadow-sm);cursor:pointer;padding:13px 13px 12px;transition:box-shadow .14s,transform .14s}.ap-root .board-card:hover{box-shadow:0 2px 4px oklch(.3 .03 150/.06),0 6px 16px oklch(.3 .03 150/.07);box-shadow:var(--shadow);transform:translateY(-2px)}.ap-root .map-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:268px 1fr}@media (max-width:920px){.ap-root .map-layout{grid-template-columns:1fr}}.ap-root .map-rail{position:sticky;top:12px}@media (max-width:920px){.ap-root .map-rail{position:static}}.ap-root .leg-row{align-items:center;background:#0000;border:none;border-radius:8px;display:flex;gap:9px;padding:7px 8px;transition:background .12s;width:100%}.ap-root .leg-row:hover{background:var(--bc-bg)}.ap-root .leg-row[data-off=true]{opacity:.4}.ap-root .leg-dot{background:var(--bc);border-radius:999px;flex-shrink:0;height:12px;width:12px}.ap-root .leg-row[data-off=true] .leg-dot{background:oklch(.72 .012 140);background:var(--ink-4)}.ap-root .route-row{align-items:center;background:#0000;border:none;border-radius:7px;cursor:pointer;display:flex;gap:8px;padding:5px 6px;width:100%}.ap-root .route-row:hover{background:oklch(.978 .008 95);background:var(--card-2)}.ap-root .rnum{color:oklch(.72 .012 140);color:var(--ink-4);font-size:12px;font-weight:700;text-align:center;width:16px}.ap-root .ap-map{border:1px solid oklch(.9 .012 120);border:1px solid var(--line);border-radius:16px;border-radius:var(--r-lg);height:calc(100vh - 240px);min-height:460px;overflow:hidden}.ap-root .ap-map .leaflet-container{background:oklch(.955 .018 120);font-family:Hanken Grotesk,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);height:100%;width:100%}.ap-route-line{stroke:oklch(.45 .072 156)!important;stroke:var(--forest)!important}.ap-map-pin{box-shadow:0 1px 4px oklch(.3 .03 150/.3);color:oklch(.97 .02 150);display:grid;font-size:12px;font-weight:800;place-items:center}.ap-map-here,.ap-map-pin{border:2.5px solid oklch(.992 .005 95);border:2.5px solid var(--card);border-radius:999px}.ap-map-here{background:oklch(.45 .072 156);background:var(--forest);box-shadow:0 0 0 6px oklch(.45 .072 156/.18)}.ap-root .tagpick{background:oklch(.992 .005 95);background:var(--card);border:1.5px solid oklch(.85 .014 118);border:1.5px solid var(--line-2);border-radius:999px;color:oklch(.46 .018 150);color:var(--ink-2);font-size:12.5px;font-weight:600;line-height:1;padding:7px 11px;transition:all .12s}@media (max-width:560px){.ap-root .page-title{font-size:23px!important}.ap-root .switcher{width:100%}.ap-root .sw-btn{flex:1 1;justify-content:center}.ap-root .today-tray{border-radius:18px 18px 0 0!important;bottom:calc(64px + env(safe-area-inset-bottom))!important;left:0!important;right:0!important;width:auto!important}}.referral-form-container{-webkit-font-smoothing:antialiased;background:var(--paper);background-image:radial-gradient(120% 70% at 12% -8%,oklch(.96 .03 150/.55),#0000 60%),radial-gradient(120% 70% at 100% 0,oklch(.95 .03 70/.4),#0000 55%);color:var(--ink);font-family:var(--font-sans);min-height:100vh;padding:34px 18px 60px}.referral-form-container>*{margin-left:auto;margin-right:auto;max-width:640px}.referral-form-container *{box-sizing:border-box}.form-header{background:var(--card);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);margin-bottom:22px;padding:30px 28px;text-align:center}.form-header h1{color:var(--ink);font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0}.form-header h2{color:var(--forest);font-family:var(--font-serif);font-size:19px;font-style:italic;font-weight:500;letter-spacing:0;margin:6px 0 0}.form-header p{color:var(--ink-3);font-size:13px;margin:8px 0 0}.appointment-form,.referral-form{background:var(--card);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden;padding:34px 36px}.referral-form-container .message{border-radius:var(--r-sm);font-size:13.5px;font-weight:600;margin-bottom:22px;padding:12px 15px}.referral-form-container .success-message{background:var(--up-bg);border:1px solid oklch(.86 .06 150);color:var(--up)}.referral-form-container .error-message{background:var(--down-bg);border:1px solid oklch(.87 .05 36);color:var(--down)}.referral-form-container .form-section{margin-bottom:34px}.referral-form-container .form-section:last-of-type{margin-bottom:0}.referral-form-container .form-section>h3{border-bottom:2px solid var(--forest);color:var(--ink);font-size:14px;font-weight:800;letter-spacing:-.01em;margin:0 0 20px;padding-bottom:9px}.referral-form-container .form-row{grid-gap:18px 22px;display:grid;gap:18px 22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.referral-form-container .form-group{margin-bottom:18px;min-width:0}.referral-form-container .form-row .form-group{margin-bottom:0}.referral-form-container .form-group>label{color:var(--ink-2);display:block;font-size:12.5px;font-weight:700;margin-bottom:7px}.referral-form-container .required{color:var(--down)}.referral-form-container .form-input,.referral-form-container input:not([type=checkbox]):not([type=radio]):not([type=file]),.referral-form-container select,.referral-form-container textarea{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-family:inherit;font-size:14px;padding:11px 13px;transition:border-color .12s,box-shadow .12s;width:100%}.referral-form-container .form-input:focus,.referral-form-container input:focus,.referral-form-container select:focus,.referral-form-container textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px var(--forest-soft);outline:none}.referral-form-container input::placeholder,.referral-form-container textarea::placeholder{color:var(--ink-4)}.referral-form-container textarea{line-height:1.5;min-height:96px;resize:vertical}.referral-form-container select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a8a7a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.referral-form-container input.error,.referral-form-container select.error,.referral-form-container textarea.error{background:var(--down-bg);border-color:var(--down)}.referral-form-container .error-text{color:var(--down);display:block;font-size:11.5px;font-weight:600;margin-top:6px}.referral-form-container .doctor-input-wrapper{align-items:stretch;display:flex}.referral-form-container .doctor-prefix{align-items:center;background:var(--card-2);border:1px solid var(--line-2);border-radius:var(--r-sm) 0 0 var(--r-sm);border-right:none;color:var(--ink-3);display:flex;font-size:14px;font-weight:700;padding:0 12px}.referral-form-container .doctor-input-wrapper .autocomplete-container,.referral-form-container .doctor-input-wrapper input{border-radius:0 var(--r-sm) var(--r-sm) 0}.referral-form-container .autocomplete-container{position:relative}.referral-form-container .autocomplete-dropdown{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);left:0;max-height:240px;overflow-y:auto;padding:5px;position:absolute;right:0;top:calc(100% + 5px);z-index:30}.referral-form-container .autocomplete-item{border-radius:7px;color:var(--ink-2);cursor:pointer;font-size:13.5px;padding:9px 11px}.referral-form-container .autocomplete-item.active,.referral-form-container .autocomplete-item.highlighted,.referral-form-container .autocomplete-item:hover{background:var(--forest-soft);color:var(--forest-deep)}.referral-form-container .autocomplete-create-new{border-radius:7px;color:var(--forest);cursor:pointer;font-weight:600;padding:9px 11px}.referral-form-container .autocomplete-create-new:hover{background:var(--forest-soft)}.referral-form-container .autocomplete-loading{color:var(--ink-4);font-size:12.5px;padding:10px 11px}.referral-form-container .treatment-group{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:14px;padding:20px 22px}.referral-form-container .treatment-header{align-items:center;display:flex;font-size:14px;font-weight:800;justify-content:space-between;margin-bottom:16px}.referral-form-container .remove-treatment-btn{background:none;border:none;border-radius:6px;color:var(--down);cursor:pointer;font-size:12.5px;font-weight:600;padding:4px 8px}.referral-form-container .remove-treatment-btn:hover{background:var(--down-bg)}.referral-form-container .add-treatment-btn{background:var(--forest-soft);border:1px solid var(--forest-soft2);border-radius:var(--r-sm);color:var(--forest-deep);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:12px;transition:background .12s;width:100%}.referral-form-container .add-treatment-btn:hover{background:var(--forest-soft2)}.referral-form-container .file-input-hidden{display:none}.referral-form-container .file-drop-zone{border:2px dashed var(--line-2);border-radius:var(--r-lg);cursor:pointer;padding:30px 20px;text-align:center;transition:all .14s}.referral-form-container .file-drop-zone.drag-over,.referral-form-container .file-drop-zone.over{background:var(--forest-soft);border-color:var(--forest)}.referral-form-container .drop-zone-content{align-items:center;display:flex;flex-direction:column}.referral-form-container .drop-zone-icon{color:var(--ink-4);font-size:30px;margin-bottom:8px}.referral-form-container .drop-zone-text{color:var(--ink-2);font-size:13.5px}.referral-form-container .browse-btn,.referral-form-container .drop-zone-text b{color:var(--forest);font-weight:700}.referral-form-container .browse-btn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:13.5px;padding:0;text-decoration:underline}.referral-form-container .drop-zone-subtext,.referral-form-container .file-help{color:var(--ink-4);font-size:12px;margin-top:5px}.referral-form-container .file-list,.referral-form-container .selected-files{display:flex;flex-direction:column;gap:7px;margin-top:12px}.referral-form-container .file-item{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:8px;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:8px 12px}.referral-form-container .file-info{align-items:center;display:flex;gap:8px;min-width:0}.referral-form-container .file-name{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.referral-form-container .file-size{color:var(--ink-4);font-size:11.5px}.referral-form-container .remove-file-btn{background:none;border:none;color:var(--ink-4);cursor:pointer;font-size:15px;font-weight:700}.referral-form-container .remove-file-btn:hover{color:var(--down)}.referral-form-container .submit-section{background:var(--card-2);border-radius:0 0 var(--r-xl) var(--r-xl);border-top:1px solid var(--line);margin:24px -36px -34px;padding:24px;text-align:center}.referral-form-container .submit-btn{background:var(--forest);border:none;border-radius:var(--r-sm);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:15px;font-weight:700;padding:13px 40px;transition:background .12s}.referral-form-container .submit-btn:hover{background:var(--forest-deep)}.referral-form-container .submit-btn:disabled{cursor:not-allowed;opacity:.55}@media (max-width:560px){.appointment-form,.referral-form{padding:24px 20px}.referral-form-container .submit-section{margin:24px -20px -24px}.referral-form-container .form-row{grid-template-columns:1fr}}.form-input{border:2px solid #ddd;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s ease}.form-input:focus{border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f1a}.autocomplete-dropdown{border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;max-height:300px;transform:translateZ(0);will-change:transform;z-index:9999}.autocomplete-loading{color:#6c757d;font-style:italic;padding:16px}.autocomplete-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin:8px;padding:16px;transition:all .3s ease}.autocomplete-item:hover{background:#f8f9fa;border-color:#2d6a4f;box-shadow:0 4px 12px #2d6a4f26;transform:translateY(-2px)}.autocomplete-create-new{background:#e8f5e8;border:1px solid #28a745;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;margin:8px;padding:12px;transition:all .3s ease}.autocomplete-create-new:hover{background:#d4edda;border-color:#1e7e34;box-shadow:0 4px 12px #28a74526;transform:translateY(-2px)}.create-new-text{color:#155724;font-size:16px;font-weight:600;margin-bottom:4px}.create-new-subtext{color:#6c757d;font-size:14px}.autocomplete-no-results{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;margin:8px;padding:20px}@media (max-width:768px){.autocomplete-create-new,.autocomplete-item{margin:6px;padding:10px}.create-new-text{font-size:15px}.create-new-subtext{font-size:13px}}.login-container,.mfa-container{--lf-paper:#f3f1e9;--lf-card:#fff;--lf-forest:#2f6a4f;--lf-forest-deep:#24523d;--lf-forest-soft:#e9f2ec;--lf-forest-soft2:#d8e7dd;--lf-ink:#26342b;--lf-ink-2:#43534a;--lf-ink-3:#6a7a70;--lf-line:#dde2d9;align-items:center;background:radial-gradient(1000px 520px at 50% -8%,var(--lf-forest-soft) 0,#e9f2ec00 60%),var(--lf-paper);box-sizing:border-box;display:flex;font-family:Hanken Grotesk,system-ui,-apple-system,sans-serif;justify-content:center;min-height:100vh;padding:24px}.login-card,.mfa-enrollment-container{background:var(--lf-card);border:1px solid var(--lf-line);border-radius:18px;box-shadow:0 12px 32px #26342b1a,0 2px 6px #26342b0d;max-width:400px;padding:36px 32px;width:100%}.login-card h2,.mfa-enrollment-container h2{color:var(--lf-forest-deep);font-family:Newsreader,Georgia,serif;font-size:25px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px;text-align:center}.login-card h3{color:var(--lf-ink-3);font-size:15px;font-weight:500;letter-spacing:.08em;margin:0 0 28px;text-align:center;text-transform:uppercase}.login-card p{color:var(--lf-ink-2);font-size:14px;margin-bottom:16px;text-align:center}.google-signin-btn{align-items:center;background:#fff;border:1px solid var(--lf-line);border-radius:10px;color:#3c4043;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;justify-content:center;margin-bottom:4px;padding:12px;transition:background .2s ease,box-shadow .2s ease;width:100%}.google-signin-btn:hover:not(:disabled){background:#f7f6f1;box-shadow:0 1px 3px #26342b1f}.google-signin-btn:disabled{cursor:not-allowed;opacity:.6}.google-signin-icon{flex-shrink:0;height:18px;width:18px}.login-divider{align-items:center;color:var(--lf-ink-3);display:flex;font-size:12px;letter-spacing:.06em;margin:20px 0;text-align:center;text-transform:uppercase}.login-divider:after,.login-divider:before{border-bottom:1px solid var(--lf-line);content:"";flex:1 1}.login-divider span{padding:0 12px}.email-link-btn{background:var(--lf-forest);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:10px;padding:13px;transition:background .2s ease;width:100%}.email-link-btn:hover:not(:disabled){background:var(--lf-forest-deep)}.email-link-btn:disabled{cursor:not-allowed;opacity:.6}.link-sent-msg{background:var(--lf-forest-soft);border:1px solid var(--lf-forest-soft2);border-radius:12px;padding:16px;text-align:center}.link-text-btn{background:none;border:none;color:var(--lf-forest);cursor:pointer;font-size:13px;font-weight:600;margin-top:12px;text-decoration:underline}.error-message{background-color:#fbeae8;border:1px solid #f1c9c4;border-radius:8px;color:#9b2c2c;margin-bottom:18px;padding:10px 12px;text-align:center}.success-message{font-size:14px;padding:10px 12px}.hipaa-notice,.success-message{background-color:var(--lf-forest-soft);border:1px solid var(--lf-forest-soft2);border-radius:8px;color:var(--lf-forest-deep);margin-bottom:20px;text-align:center}.hipaa-notice{font-size:12px;padding:10px}.form-group input{border:1px solid var(--lf-line);border-radius:10px;font-size:14px;padding:12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus{border-color:var(--lf-forest);box-shadow:0 0 0 3px var(--lf-forest-soft);outline:none}.form-group small{color:var(--lf-ink-3);display:block;font-size:12px;margin-top:4px}.login-btn,.primary-button{background:var(--lf-forest);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;margin-top:8px;padding:13px;transition:background .2s ease;width:100%}.login-btn:hover:not(:disabled),.primary-button:hover:not(:disabled){background:var(--lf-forest-deep)}.login-btn:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.7}.cancel-btn,.secondary-button{background:#fff;border:1px solid var(--lf-forest);border-radius:10px;color:var(--lf-forest);cursor:pointer;font-size:15px;font-weight:600;margin-top:12px;padding:13px;transition:background .2s ease;width:100%}.cancel-btn:hover:not(:disabled),.secondary-button:hover:not(:disabled){background:var(--lf-forest-soft)}.cancel-btn:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.7}.form-buttons{display:flex;justify-content:space-between;margin-top:15px}.form-buttons .primary-button,.form-buttons .secondary-button{flex:1 1;margin:0 5px}.form-buttons .secondary-button{margin-left:0}.form-buttons .primary-button{margin-right:0}.mfa-enrollment-container .subtitle{color:var(--lf-ink-3);font-size:16px;font-weight:400;margin-bottom:24px;text-align:center}.mfa-enrollment-form,.mfa-success,.mfa-verification-form{margin-top:20px}.mfa-success p{color:var(--lf-ink);font-size:15px;margin-bottom:12px;text-align:center}.email-verification-section{margin-bottom:20px}.email-verification-alert{background-color:var(--lf-forest-soft);border:1px solid var(--lf-forest-soft2);border-radius:8px;margin-bottom:20px;padding:20px}.email-verification-alert h3{color:var(--lf-forest-deep);font-size:18px;letter-spacing:0;margin-bottom:10px;margin-top:0;text-align:left;text-transform:none}.email-verification-alert p{color:var(--lf-ink-2);margin-bottom:12px;text-align:left}.verification-instructions{margin-top:15px}.phone-display{background-color:var(--lf-paper);border-radius:6px;color:var(--lf-ink-2);font-size:14px;margin-bottom:16px;padding:8px;text-align:center}#recaptcha-container{margin:15px 0}.lp-root{-webkit-font-smoothing:antialiased;background:var(--paper);color:var(--ink);font-family:var(--font-sans);min-height:100vh;overflow:hidden;padding:56px 24px 64px;position:relative}.lp-root:before{background:radial-gradient(120% 70% at 12% -10%,oklch(.95 .04 150/.6),#0000 60%),radial-gradient(120% 70% at 100% 0,oklch(.94 .04 70/.45),#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.lp-inner{margin:0 auto;max-width:1040px;position:relative}.lp-hero{align-items:center;display:flex;flex-direction:column;gap:12px;margin-bottom:40px;text-align:center}.lp-brand{background:linear-gradient(150deg,var(--forest),var(--forest-deep));border-radius:18px;box-shadow:var(--shadow);color:oklch(.96 .03 150);display:grid;height:60px;place-items:center;width:60px}.lp-eyebrow{color:var(--forest);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.lp-title{color:var(--ink);font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0}.lp-sub{color:var(--ink-2);font-family:var(--font-serif);font-size:17px;font-style:italic;margin:0}.lp-section{align-items:center;color:var(--ink-3);display:flex;font-size:11.5px;font-weight:700;gap:12px;letter-spacing:.09em;margin:0 auto 16px;max-width:980px;text-transform:uppercase}.lp-section:after{background:var(--line);content:"";flex:1 1;height:1px}.lp-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));margin:0 auto;max-width:980px}.lp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);border-top:3px solid var(--acc);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:14px;padding:22px 20px;position:relative;text-align:left;transition:transform .16s,box-shadow .16s,border-color .16s}.lp-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.lp-card:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.lp-tile{background:color-mix(in oklch,var(--acc) 15%,var(--card));border:1px solid color-mix(in oklch,var(--acc) 32%,#0000);border-radius:14px;display:grid;font-size:25px;height:52px;line-height:1;place-items:center;width:52px}.lp-card h3{color:var(--ink);font-size:16.5px;font-weight:800;letter-spacing:-.01em;margin:0}.lp-go{align-items:center;color:var(--acc);display:flex;font-size:12.5px;font-weight:700;gap:5px}.lp-empty{background:var(--card);border:1.5px dashed var(--line-2);border-radius:var(--r-lg);color:var(--ink-3);font-size:14px;margin:8px auto 0;max-width:520px;padding:28px;text-align:center}.lp-foot{margin-top:40px;text-align:center}.lp-logout{background:#0000;border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;transition:all .15s}.lp-logout:hover{background:var(--b-lost-bg);border-color:var(--b-lost-line);color:var(--b-lost-ink)}.lp-loading{background:var(--paper);display:grid;font-family:var(--font-sans);min-height:100vh;place-items:center}.lp-spinner{animation:lpSpin .8s linear infinite;border:3px solid var(--forest-soft2);border-radius:50%;border-top-color:var(--forest);height:34px;width:34px}@keyframes lpSpin{to{transform:rotate(1turn)}}@media (max-width:560px){.lp-root{padding:36px 16px 48px}.lp-title{font-size:26px}.lp-sub{font-size:15px}.lp-grid{grid-template-columns:1fr}}body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;padding:env(safe-area-inset-top) 0 0}.App{min-height:100vh}button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.6;transform:none}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;width:100%}input[type=checkbox],input[type=radio]{flex-shrink:0;margin:0 8px 0 0;padding:0;width:auto}input:focus,select:focus,textarea:focus{border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f1a;outline:none}.form-group{margin-bottom:16px}.form-group label{color:#333;display:block;margin-bottom:6px}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;margin-bottom:16px;padding:12px}.success-message{background-color:#efe;border:1px solid #cfc;border-radius:6px;color:#3c3;margin-bottom:16px;padding:12px}.autocomplete-container{position:relative;width:100%}.autocomplete-dropdown{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-item{border-bottom:1px solid #eee;cursor:pointer;padding:12px}.autocomplete-item:hover{background-color:#f5f5f5}.autocomplete-item:last-child{border-bottom:none}.autocomplete-loading{color:#666;padding:12px;text-align:center}.autocomplete-no-results{color:#888;font-style:italic;padding:12px;text-align:center}@media (max-width:768px){body{padding-top:max(env(safe-area-inset-top),0px)}.app-header{top:env(safe-area-inset-top,0)}.dashboard-body,.main-content{margin-top:57px}.sidebar-toggle-fixed{top:calc(57px + env(safe-area-inset-top, 0))}.sidebar{top:calc(107px + env(safe-area-inset-top, 0))}.App,body,html{overflow-x:hidden}}.ref-root{background:var(--paper);color:var(--ink);font-family:var(--font-sans)}.ref-root a{color:inherit;text-decoration:none}.ref-root .tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ref-root .layout{display:grid;grid-template-columns:262px 1fr;margin:0 auto;max-width:1500px}.ref-root .sb{border-right:1px solid var(--line);height:calc(100vh - 57px);overflow-y:auto;padding:18px 14px 60px;position:sticky;top:57px}.ref-root .sb::-webkit-scrollbar{width:9px}.ref-root .sb::-webkit-scrollbar-thumb{background:oklch(.85 .02 140);border:3px solid var(--paper);border-radius:999px}.ref-root .sb-grp{color:var(--ink-4);font-size:10.5px;font-weight:700;letter-spacing:.1em;margin:18px 10px 7px;text-transform:uppercase}.ref-root .sb-grp:first-child{margin-top:4px}.ref-root .filt{align-items:center;background:#0000;border:1px solid #0000;border-radius:9px;color:var(--ink-2);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:10px;padding:9px 11px;text-align:left;width:100%}.ref-root .filt:hover{background:var(--card-2)}.ref-root .filt.active{background:var(--forest-soft);border-color:var(--forest-soft2);color:var(--forest-deep)}.ref-root .filt .dot{border-radius:999px;flex:none;height:8px;width:8px}.ref-root .filt .lbl{flex:1 1}.ref-root .filt .ct{font-feature-settings:"tnum";color:var(--ink-4);font-size:12px;font-variant-numeric:tabular-nums;font-weight:700}.ref-root .filt.active .ct{color:var(--forest-deep)}.ref-root .main{min-width:0;padding:22px 28px 80px}.ref-root .searchbar{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:1fr auto auto;margin-bottom:22px}.ref-root .search{position:relative}.ref-root .search input{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);color:var(--ink);font-family:inherit;font-size:14px;padding:13px 14px 13px 40px;width:100%}.ref-root .search input:focus{border-color:var(--forest);outline:none}.ref-root .search>svg{color:var(--ink-4);height:17px;left:14px;position:absolute;top:50%;transform:translateY(-50%);width:17px}.ref-root .dt label{color:var(--ink-4);display:block;font-size:11px;font-weight:700;margin-bottom:5px}.ref-root .dt input{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-family:inherit;font-size:13.5px;padding:11px 12px}.ref-root .mainhd{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px}.ref-root .mainhd h1{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0}.ref-root .mainhd .count{color:var(--ink-4);font-size:13px;font-weight:600;margin-left:auto}.ref-root .rcard{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--bc,var(--forest));border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:18px;overflow:hidden}.ref-root .rhead{align-items:flex-start;cursor:pointer;display:flex;gap:12px;padding:18px 22px}.ref-root .rhead:hover{background:var(--card-2)}.ref-root .rhead .nm{color:var(--ink);font-size:16px;font-weight:800}.ref-root .rhead .sub{color:var(--ink-3);font-size:12.5px;margin-top:4px}.ref-root .rhead .right{align-items:center;display:flex;gap:14px;margin-left:auto}.ref-root .num6{background:var(--forest);border-radius:999px;color:#fff;font-size:11px;font-weight:800;padding:3px 9px;white-space:nowrap}.ref-root .ago{color:var(--down);font-size:12px;font-weight:600}.ref-root .agodt{color:var(--ink-4);font-size:12px}.ref-root .stpill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:4px 11px}.ref-root .badge-staff{background:var(--blue-bg);border-radius:6px;color:var(--s-1);font-size:11px;font-weight:700;padding:2px 8px}.ref-root .chev{color:var(--ink-4);display:inline-flex;transition:transform .15s}.ref-root .rbody{border-top:1px solid var(--line);padding:0 22px 22px}.ref-root .rtoolbar{display:flex;flex-wrap:wrap;gap:10px;padding:16px 0}.ref-root .sec{border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;overflow:hidden}.ref-root .sec-hd{align-items:center;background:var(--card-2);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:13px 18px}.ref-root .sec-hd .t{color:var(--ink-2);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ref-root .sec-hd .meta{color:var(--ink-4);font-size:12px;font-style:italic}.ref-root .sec-bd{padding:18px}.ref-root .cols4{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}.ref-root .colhd{border-bottom:1px solid var(--line);color:var(--ink-4);font-size:10.5px;font-weight:700;letter-spacing:.06em;margin-bottom:11px;padding-bottom:9px;text-transform:uppercase}.ref-root .kv{color:var(--ink-2);font-size:13px;margin:6px 0}.ref-root .kv .k{color:var(--ink-4);font-size:11px;font-weight:700}.ref-root .kv a{color:var(--s-1)}.ref-root .big{color:var(--ink);font-size:15px;font-weight:800}.ref-root .txpill{border-radius:7px;color:#fff;display:inline-block;font-size:11px;font-weight:800;line-height:1.4;padding:4px 10px}.ref-root .field{margin-bottom:16px}.ref-root .field>label{color:var(--ink-4);display:block;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:7px;text-transform:uppercase}.ref-root .inp{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.ref-root .inp:focus{border-color:var(--forest);outline:none}.ref-root select.inp{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a8a7a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.ref-root .att{width:110px}.ref-root .att .thumb{background:var(--card-2);border:1px solid var(--line);border-radius:9px;color:var(--ink-4);display:grid;height:84px;overflow:hidden;place-items:center}.ref-root .att .thumb img{height:100%;object-fit:cover;width:100%}.ref-root .att .fn{font-size:12px;font-weight:600;margin-top:7px}.ref-root .att .sz{color:var(--ink-4);font-size:11px}.ref-root .tagrow{display:flex;flex-wrap:wrap;gap:9px}.ref-root .tg{border:1px solid;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;padding:6px 12px}@media (max-width:1040px){.ref-root .layout{grid-template-columns:1fr}.ref-root .sb{display:none}.ref-root .cols4{grid-template-columns:1fr 1fr}}.ref-root .fade-in{animation:refFadeIn .3s cubic-bezier(.2,.8,.3,1) both}@keyframes refFadeIn{0%{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:none}}.ref-root .wf-btn{align-items:center;border:1px solid #0000;border-radius:var(--r-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .14s ease}.ref-root .wf-btn svg{height:16px;width:16px}.ref-root .wf-btn-sm{font-size:12.5px;padding:7px 12px}.ref-root .wf-btn-primary{background:var(--forest);box-shadow:var(--shadow-sm);color:oklch(.98 .01 150)}.ref-root .wf-btn-primary:hover{background:var(--forest-deep)}.ref-root .wf-btn-ghost{background:var(--card);border-color:var(--line-2);color:var(--ink-2)}.ref-root .wf-btn-ghost:hover{background:var(--card-2);border-color:var(--ink-4);color:var(--ink)}.ref-root .wf-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:6px;padding:3px 9px}.ref-root .wf-pill-done{background:var(--up-bg);color:var(--up)}.ref-root .overlay{animation:refOv .16s ease both;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:oklch(.3 .03 150/.4);display:grid;inset:0;padding:28px;place-items:center;position:fixed;z-index:100}@keyframes refOv{0%{opacity:0}to{opacity:1}}.ref-root .modal{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:95vw;overflow:auto;width:760px}.ref-root .modal.sm{width:430px}.ref-root .modal-hd{align-items:center;background:var(--card);border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;padding:15px 22px;position:sticky;top:0;z-index:2}.ref-root .modal-hd .t{font-size:16px;font-weight:800}.ref-root .modal-x{background:#0000;border:none;border-radius:8px;color:var(--ink-3);cursor:pointer;display:grid;font-size:15px;height:30px;place-items:center;width:30px}.ref-root .modal-x:hover{background:var(--card-2);color:var(--ink)}.ref-root .sheet{padding:30px 34px}.ref-root .sheet-hd{align-items:flex-start;border-bottom:2px solid var(--ink);display:flex;gap:16px;justify-content:space-between;margin-bottom:22px;padding-bottom:14px}.ref-root .sheet-hd .kick{color:var(--forest);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ref-root .sheet-hd .nm{font-size:23px;font-weight:800;letter-spacing:-.02em;margin-top:3px}.ref-root .sheet-grid{grid-gap:22px 30px;display:grid;gap:22px 30px;grid-template-columns:1fr 1fr}.ref-root .sheet-sec .h{border-bottom:1px solid var(--line);color:var(--ink-4);font-size:10.5px;font-weight:700;letter-spacing:.06em;margin-bottom:10px;padding-bottom:7px;text-transform:uppercase}.ref-root .sheet-kv{color:var(--ink-2);font-size:13.5px;margin:6px 0}.ref-root .sheet-kv b{color:var(--ink);font-weight:700}.ref-root .sheet-full{grid-column:1/-1}.ref-root .imgrow{display:flex;flex-wrap:wrap;gap:16px}.ref-root .imgrow figure{margin:0}.ref-root .imgrow img{border-radius:9px;display:block;max-height:280px;max-width:220px}.ref-root .imgrow figcaption{color:var(--ink-4);font-size:11.5px;font-weight:600;margin-top:7px}@media print{body.ref-printing *{visibility:hidden!important}body.ref-printing .ref-export-sheet,body.ref-printing .ref-export-sheet *{visibility:visible!important}body.ref-printing .ref-export-sheet{border:none!important;border-radius:0!important;box-shadow:none!important;left:0;padding:0!important;position:absolute!important;top:0;width:100%}body.ref-printing .ref-export-sheet .sheet{padding:0!important}@page{margin:.55in}}.validation-queue{margin:0 auto;max-width:900px;padding:20px}.validation-header{margin-bottom:24px}.validation-header h2{color:#2c5282;margin:0 0 8px}.validation-header p{color:#666;margin:0}.no-items{background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;padding:40px 20px;text-align:center}.validation-list{display:flex;flex-direction:column;gap:16px}.validation-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.validation-header-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.validation-type{border-radius:16px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.type-new_office{background:#e6fffa;color:#234e52}.type-new_doctor{background:#fef5e7;color:#744210}.type-new_combination{background:#f0f4ff;color:#3c4fe0}.type-doctor_with_new_office{background:#fef5e7;color:#744210}.type-office_contact_changed{background:#e6fffa;color:#234e52}.type-doctor_not_at_office{background:#fff5f5;color:#c53030}.type-office_with_new_doctor{background:#f0fff4;color:#22543d}.type-multiple_issues{background:#fdf2f8;color:#97266d}.validation-date{color:#666;font-size:14px}.flagging-reasons{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-bottom:20px;padding:16px}.flagging-reasons h4{color:#856404;font-size:16px;font-weight:600;margin:0 0 12px}.flagging-reasons ul{list-style-type:disc;margin:0;padding-left:20px}.flagging-reason-group{margin-bottom:8px}.flagging-reason-group strong{color:#856404;font-weight:600}.flagging-reason-group ul{margin-bottom:0;margin-top:4px}.flagging-reason{color:#856404;font-size:14px;line-height:1.5;margin-bottom:4px}.submitted-data,.validation-details{margin-bottom:20px}.submitted-data{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:16px}.submitted-data h4{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.data-row{align-items:flex-start;display:flex;font-size:14px;gap:12px;margin-bottom:12px}.data-row strong{color:#2d3748;display:inline-block;flex-shrink:0;font-weight:600;margin-top:2px;min-width:80px}.data-row span{color:#4a5568;line-height:1.4}.issue-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-bottom:16px;padding:16px}.issue-section h4{border-bottom:1px solid #dee2e6;color:#495057;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.issue-options{display:flex;flex-direction:column;gap:8px}.action-option{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.action-option:hover{background-color:#f8fafc;border-color:#cbd5e0}.action-option input[type=radio]{cursor:pointer;flex-shrink:0;height:18px;margin:4px 0 0;width:18px}.action-option label{cursor:pointer;flex:1 1;margin:0}.option-label{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:4px}.option-description{color:#718096;font-size:13px;line-height:1.4}.action-option:has(input:checked){background-color:#e6fffa;border-color:#4fd1c7}.action-option:has(input:checked) .option-label{color:#234e52}.action-option:has(input:checked) .option-description{color:#2d3748}.custom-office-name{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:4px;margin-top:12px;padding:12px}.custom-office-name label{color:#1e40af;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.custom-office-name input{background:#fff;border:1px solid #cbd5e0;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.custom-office-name input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.preview-section{background:#f0f9ff;border:2px solid #3b82f6;margin-top:20px;padding:16px}.preview-section h4{color:#1e40af;font-size:16px;font-weight:600;margin:0 0 16px}.preview-change{border-left:4px solid;border-radius:6px;margin-bottom:16px;padding:12px}.preview-change.office_update{background:#fef3c7;border-left-color:#f59e0b}.preview-change.office_create{background:#d1fae5;border-left-color:#10b981}.preview-change.office_keep{background:#e0e7ff;border-left-color:#6366f1}.preview-change.relationship_create{background:#fce7f3;border-left-color:#ec4899}.preview-change.relationship_skip{background:#f3f4f6;border-left-color:#6b7280}.change-description{color:#374151;font-size:14px;font-weight:600;margin-bottom:8px}.change-details{list-style-type:disc;margin:0;padding-left:16px}.change-details li{color:#4b5563;font-size:13px;line-height:1.4;margin-bottom:4px}.selection-prompt{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;flex:1 1;font-weight:500;margin-right:12px;padding:12px 16px;text-align:center}.validation-actions{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;padding-top:16px}.approve-btn,.cancel-btn,.preview-btn,.reject-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:10px 20px;transition:background-color .2s}.approve-btn{background:#10b981;color:#fff}.approve-btn:hover:not(:disabled){background:#059669}.reject-btn{background:#ef4444;color:#fff}.reject-btn:hover:not(:disabled){background:#dc2626}.preview-btn{background:#3b82f6;color:#fff;flex:1 1}.preview-btn:hover:not(:disabled){background:#2563eb}.cancel-btn{background:#6b7280;color:#fff}.cancel-btn:hover:not(:disabled){background:#4b5563}.approve-btn:disabled,.cancel-btn:disabled,.preview-btn:disabled,.reject-btn:disabled{cursor:not-allowed;opacity:.6}.loading{color:#666;font-size:18px}.error,.loading{padding:40px;text-align:center}.error{background:#fed7d7;border-radius:8px;color:#e53e3e;font-size:16px}.validation-queue .custom-doctor-form,.validation-queue .custom-office-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:12px;padding:16px}.validation-queue .custom-doctor-form h5,.validation-queue .custom-office-form h5{color:#2d3748;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.validation-queue .form-row{margin-bottom:12px}.validation-queue .form-row label{color:#4a5568;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.validation-queue .form-row input,.validation-queue .form-row select{border:1px solid #cbd5e0;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.validation-queue .form-row input:focus,.validation-queue .form-row select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.validation-queue .form-row-group{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr;margin-bottom:12px}.validation-queue .search-interface{background:#f0f8ff;border:1px solid #bee3f8;border-radius:6px;margin-top:12px;padding:16px}.validation-queue .search-interface h5{color:#2b6cb0;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.validation-queue .search-box{position:relative}.validation-queue .search-box input{border:2px solid #bee3f8;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.validation-queue .search-box input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.validation-queue .search-results{background:#fff;border:1px solid #e2e8f0;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.validation-queue .search-result-item{border-bottom:1px solid #f7fafc;cursor:pointer;padding:12px 16px;transition:background-color .2s}.validation-queue .search-result-item:hover{background-color:#f7fafc}.validation-queue .search-result-item:last-child{border-bottom:none}.validation-queue .result-name{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:4px}.validation-queue .result-details{color:#718096;font-size:12px;line-height:1.3}.preview-change.doctor_create,.preview-change.office_create{background-color:#f0fff4;border-left:4px solid #38a169}.preview-change.doctor_select,.preview-change.office_select{background-color:#ebf8ff;border-left:4px solid #3182ce}.preview-change.office_update{background-color:#fffbeb;border-left:4px solid #d69e2e}.preview-change.relationship_create{background-color:#faf5ff;border-left:4px solid #805ad5}.preview-change.office_keep,.preview-change.relationship_skip{background-color:#f7fafc;border-left:4px solid #718096}.action-option:has(input:checked) .option-label{color:#2d3748;font-weight:600}.action-option:has(input:checked) .option-description{color:#4a5568}.validation-queue .search-box.loading:after{animation:spin 1s linear infinite;border:2px solid #cbd5e0;border-radius:50%;border-top-color:#4299e1;content:"";height:16px;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px}.validation-queue .form-row input:invalid{border-color:#f56565}.validation-queue .form-row input:invalid:focus{border-color:#f56565;box-shadow:0 0 0 3px #f565651a}.validation-queue .form-row input:valid{border-color:#48bb78}@media (max-width:768px){.validation-queue{padding:12px}.validation-item{padding:16px}.data-row{flex-direction:column;gap:4px}.data-row strong{margin-top:0;min-width:auto}.action-option{padding:16px}.validation-actions{flex-direction:column}.approve-btn,.cancel-btn,.preview-btn,.reject-btn{min-width:auto;width:100%}.selection-prompt{margin-bottom:12px;margin-right:0}.validation-header-row{align-items:flex-start;flex-direction:column;gap:8px}.issue-section,.preview-section{padding:12px}.validation-queue .form-row-group{gap:12px;grid-template-columns:1fr}.validation-queue .custom-doctor-form,.validation-queue .custom-office-form,.validation-queue .search-interface{margin-top:8px;padding:12px}.validation-queue .form-row input,.validation-queue .form-row select{font-size:16px;padding:10px}.validation-queue .search-box input{font-size:16px;padding:12px}.validation-queue .search-results{max-height:150px}.validation-queue .search-result-item{padding:16px 12px}}.validation-queue .search-box input[value*="✓ Selected:"]{background-color:#d1fae5;border-color:#10b981;color:#065f46;font-weight:600}.validation-queue .search-box input[value*="✓ Selected:"]:focus{border-color:#059669;box-shadow:0 0 0 3px #10b9811a}.add-category-form{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:24px;padding:20px}.add-category-btn{margin-bottom:24px}.categories-list{border-radius:8px;display:flex;flex-direction:column;gap:12px;min-height:60px;padding:8px;transition:background-color .2s}.categories-list.dragging{background-color:#f8f9fa}.category-item{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:8px;display:flex;gap:16px;min-height:70px;padding:16px;transition:all .2s}.category-item:hover{border-color:#4a90e2;box-shadow:0 2px 4px #0000001a}.category-item.inactive{background-color:#f8f9fa;border-color:#ced4da;opacity:.6}.category-item.dragging{background-color:#fff;border-color:#4a90e2;box-shadow:0 8px 16px #00000026;transform:rotate(2deg);z-index:1000}.drag-handle{border-radius:4px;color:#6c757d;cursor:grab;font-size:16px;line-height:1;padding:8px;transition:all .2s;-webkit-user-select:none;user-select:none}.drag-handle:hover{background-color:#e9ecef;color:#495057}.drag-handle:active{cursor:grabbing}.category-content{flex:1 1}.category-content,.category-info{display:flex;flex-direction:column;gap:4px}.category-name{border-radius:4px;color:#2c3e50;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;margin:0;max-width:fit-content;padding:4px 8px;transition:background-color .2s}.category-name:hover{background-color:#f8f9fa}.category-stats{color:#6c757d;font-size:12px;font-weight:500}.category-edit-input{background:#fff;border:2px solid #4a90e2;border-radius:4px;color:#2c3e50;font-size:16px;font-weight:600;max-width:300px;padding:8px 12px;width:100%}.category-edit-input:focus{box-shadow:0 0 0 3px #4a90e21a;outline:none}.category-item.drag-over{background-color:#f8fff9;border-color:#28a745}.move-btn{font-size:16px;min-width:36px}.category-actions{align-items:center;display:flex;gap:8px}.category-actions .settings-btn{font-size:12px;min-width:80px;padding:8px 12px}.settings-empty{color:#6c757d}.settings-empty h3{color:#495057}@media (max-width:768px){.category-item{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.drag-handle{align-self:center;order:-1}.category-content,.category-name{text-align:center}.category-name{max-width:100%}.category-actions{justify-content:center}.add-category-form .settings-form-row{align-items:stretch;flex-direction:column;gap:12px}.add-category-form .settings-btn{width:100%}}.category-item.loading{opacity:.5;pointer-events:none}.category-item.loading:after{animation:spin 1s linear infinite;border:2px solid #dee2e6;border-radius:50%;border-top-color:#4a90e2;content:"";height:16px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:16px}.category-name:focus,.drag-handle:focus{outline:2px solid #4a90e2;outline-offset:2px}.category-item:focus-within{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.add-tag-form{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:24px}.add-tag-btn,.add-tag-form{margin-bottom:32px}.color-picker{display:flex;flex-wrap:wrap;gap:8px}.color-option{border:3px solid #0000;border-radius:6px;cursor:pointer;height:32px;position:relative;transition:all .2s;width:32px}.color-option:hover{border-color:#0003;transform:scale(1.1)}.color-option.selected{border-color:#2c3e50;transform:scale(1.15)}.color-option.selected:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;text-shadow:1px 1px 2px #000000b3;top:50%;transform:translate(-50%,-50%)}.color-picker-small{display:flex;gap:4px;margin:8px 0}.color-option-small{border:2px solid #0000;border-radius:4px;cursor:pointer;height:24px;transition:all .2s;width:24px}.color-option-small:hover{border-color:#0003;transform:scale(1.1)}.color-option-small.selected{border-color:#2c3e50;transform:scale(1.2)}.tags-by-category{display:flex;flex-direction:column;gap:32px}.category-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.category-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:16px 20px}.category-header h4{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.tag-count{color:#6c757d;font-size:12px;font-weight:500}.empty-category{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}.empty-category p{font-size:14px;margin:0}.tags-list{background-color:#dee2e6;display:flex;flex-direction:column;gap:1px}.tag-item{align-items:center;background:#fff;display:flex;gap:16px;min-height:60px;padding:16px 20px;transition:all .2s}.tag-item.inactive,.tag-item:hover{background-color:#f8f9fa}.tag-item.inactive{opacity:.6}.tag-preview{align-items:center;display:flex;gap:8px;min-width:120px}.tag-color-preview{border:1px solid #0000001a;border-radius:3px;flex-shrink:0;height:16px;width:16px}.tag-name-preview{color:#495057;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-content{align-items:center;display:flex;flex:1 1}.tag-info{gap:4px}.tag-details,.tag-info{display:flex;flex-direction:column}.tag-details{gap:2px}.tag-name{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.tag-name.clickable{border-radius:4px;cursor:pointer;display:inline-block;max-width:fit-content;padding:4px 8px;transition:background-color .2s}.tag-name.clickable:hover{background-color:#f8f9fa}.tag-category{color:#6c757d;font-size:12px;font-weight:500}.tag-actions{align-items:center;display:flex;gap:8px}.move-btn{font-size:14px;font-weight:700;min-width:32px;padding:6px 10px}.move-btn:disabled{cursor:not-allowed;opacity:.3;transform:none}.tag-actions .settings-btn{font-size:12px;min-width:80px;padding:8px 12px}.tag-edit-form{display:flex;flex-direction:column;gap:12px;width:100%}.edit-form-row{align-items:center;display:flex;gap:12px}.tag-name-input{border:2px solid #4a90e2;border-radius:4px;flex:2 1;font-size:14px;font-weight:600;padding:8px 12px}.tag-category-select{border:2px solid #ced4da;border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px}.tag-category-select:focus,.tag-name-input:focus{box-shadow:0 0 0 3px #4a90e21a;outline:none}.edit-form-actions{display:flex;gap:8px}.edit-form-actions .settings-btn{font-size:12px;min-width:60px;padding:6px 12px}@media (max-width:768px){.add-tag-form .settings-form-row{align-items:stretch;flex-direction:column;gap:16px}.color-picker{justify-content:center}.tag-item{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.tag-preview{justify-content:center;min-width:auto}.tag-content{text-align:center}.tag-actions{justify-content:center}.edit-form-row{align-items:stretch;flex-direction:column}.edit-form-actions{justify-content:center}.category-header{align-items:center;flex-direction:column;gap:8px;text-align:center}}.tag-item.loading{opacity:.5;pointer-events:none}.color-option-small:focus,.color-option:focus,.tag-name.clickable:focus{outline:2px solid #4a90e2;outline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tag-item{animation:slideIn .3s ease-out}.activity-log-viewer{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.activity-log-header{margin-bottom:20px}.activity-log-header h2{color:#333;font-size:24px;margin-bottom:8px}.activity-log-description{color:#666;margin-bottom:16px}.activity-log-actions{display:flex;gap:10px;margin-bottom:20px}.activity-log-actions button{border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.filter-btn{background-color:#f0f0f0;border:1px solid #ddd;color:#333}.filter-btn:hover{background-color:#e0e0e0}.export-btn{background-color:#4caf50;border:none;color:#fff}.export-btn:hover{background-color:#45a049}.export-btn:disabled{background-color:#a5d6a7;cursor:not-allowed}.refresh-btn{background-color:#2196f3;border:none;color:#fff}.refresh-btn:hover{background-color:#0b7dda}.refresh-btn:disabled{background-color:#90caf9}.activity-log-filters{background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;margin-bottom:20px;padding:16px}.activity-log-filters h3{color:#333;font-size:18px;margin-bottom:16px;margin-top:0}.filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:16px}.filter-group{flex-direction:column}.filter-group label{color:#555;font-weight:500;margin-bottom:4px}.filter-group input,.filter-group select{border:1px solid #ddd;border-radius:4px;padding:8px}.filter-actions{display:flex;gap:10px}.apply-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.apply-btn:hover{background-color:#0b7dda}.reset-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.reset-btn:hover{background-color:#d32f2f}.activity-log-table-container{margin-bottom:20px;overflow-x:auto}.activity-log-table{border-collapse:collapse;font-size:14px;width:100%}.activity-log-table td,.activity-log-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.activity-log-table th{background-color:#f5f5f5;color:#333;font-weight:600}.activity-log-table tr:hover{background-color:#f9f9f9}.activity-log-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 0}.spinner{border:4px solid #0000001a;border-top-color:#2196f3;height:40px;margin-bottom:16px;width:40px}.activity-log-empty{color:#666;padding:40px 0;text-align:center}.activity-log-empty p{margin:8px 0}.activity-log-empty-hint{color:#999;font-size:14px}.activity-log-load-more{margin:20px 0;text-align:center}.load-more-btn{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;padding:8px 16px}.load-more-btn:hover{background-color:#e0e0e0}.activity-log-notice{background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:4px;margin-top:20px;padding:16px}.activity-log-notice h4{color:#2e7d32;margin-bottom:8px;margin-top:0}.activity-log-notice p{color:#388e3c;font-size:14px;margin:8px 0}.settings{background:var(--paper);color:var(--ink);display:flex;font-family:var(--font-sans);min-height:calc(100vh - 57px)}.settings-sidebar{background:var(--card);border-right:1px solid var(--line);flex-shrink:0;height:calc(100vh - 57px);overflow-y:auto;padding:24px 18px 60px;position:sticky;top:57px;width:268px}.settings-sidebar::-webkit-scrollbar{width:9px}.settings-sidebar::-webkit-scrollbar-thumb{background:oklch(.85 .02 140);border:3px solid var(--card);border-radius:999px}.settings-sidebar h2{color:var(--ink);font-size:24px;font-weight:800;letter-spacing:-.025em;margin:0 10px 16px}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-section-title{color:var(--ink-4);font-size:10.5px;font-weight:700;letter-spacing:.1em;margin:18px 10px 7px;text-transform:uppercase}.settings-section-title:first-of-type{margin-top:0}.settings-nav-btn{background:#0000;border:1px solid #0000;border-radius:9px;color:var(--ink-2);cursor:pointer;display:block;font-family:inherit;font-size:13.5px;font-weight:600;padding:9px 12px;text-align:left;transition:all .12s ease;width:100%}.settings-nav-btn:hover{background:var(--card-2);color:var(--ink);transform:none}.settings-nav-btn.active{background:var(--forest);box-shadow:var(--shadow-sm);color:oklch(.98 .01 150)}.settings-nav-btn.active:hover{background:var(--forest-deep);color:oklch(.98 .01 150)}.settings-content{flex:1 1;min-width:0;overflow-y:auto;padding:36px 44px 80px}.settings-page{margin:0 auto;max-width:1080px}.settings-page-header{margin-bottom:26px}.settings-page-header h1{color:var(--ink);font-size:26px;font-weight:800;letter-spacing:-.025em;margin:0 0 6px}.settings-page-header p{color:var(--ink-3);font-size:14px;line-height:1.5;margin:0;max-width:70ch}.settings-section{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:22px;overflow:hidden}.settings-section-header{background:var(--card-2);border-bottom:1px solid var(--line);padding:18px 22px}.settings-section-header h3{color:var(--ink);font-size:16px;font-weight:800;letter-spacing:-.01em;margin:0}.settings-section-content{padding:22px}.settings-form{display:flex;flex-direction:column;gap:16px}.settings-form-row{align-items:flex-end;display:flex;gap:16px}.settings-form-group{display:flex;flex:1 1;flex-direction:column;gap:6px}.settings-form-group label{color:var(--ink-2);font-size:12.5px;font-weight:700}.settings-input{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .12s ease,box-shadow .12s ease}.settings-input:focus{border-color:var(--forest);box-shadow:0 0 0 3px var(--forest-soft2);outline:none}.settings-btn{border:1px solid #0000;border-radius:var(--r-sm);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;min-width:100px;padding:10px 18px;transition:all .14s ease}.settings-btn-primary{background:var(--forest);box-shadow:var(--shadow-sm);color:oklch(.98 .01 150)}.settings-btn-primary:hover{background:var(--forest-deep);transform:none}.settings-btn-secondary{background:var(--card);border-color:var(--line-2);color:var(--ink-2)}.settings-btn-secondary:hover{background:var(--card-2);border-color:var(--ink-4);color:var(--ink);transform:none}.settings-btn-danger{background:var(--b-lost);color:#fff}.settings-btn-danger:hover{background:var(--b-lost-ink);transform:none}.settings-loading{font-size:15px}.settings-empty,.settings-loading{color:var(--ink-3);padding:60px 20px}.settings-empty{text-align:center}.settings-empty h3{color:var(--ink-2);font-size:18px;font-weight:700;margin:0 0 8px}.settings-empty p{font-size:14px;margin:0}@media (max-width:900px){.settings{flex-direction:column}.settings-sidebar{border-bottom:1px solid var(--line);border-right:none;height:auto;padding:16px;position:static;width:100%}.settings-nav{flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto}.settings-section-title{display:none}.settings-nav-btn{flex-shrink:0;min-width:120px;text-align:center}.settings-content{padding:20px 16px 60px}.settings-form-row{align-items:stretch;flex-direction:column}}.preference-list{display:flex;flex-direction:column;gap:12px}.preference-item{position:relative}.preference-item-content{align-items:center;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .12s ease,border-color .12s ease}.preference-item-content:hover{background:var(--paper-2);border-color:var(--line-2)}.preference-label{color:var(--ink-2);font-size:14px;font-weight:600}.preference-color-btn{border:2px solid var(--line);border-radius:var(--r-sm);cursor:pointer;height:32px;transition:all .15s ease;width:32px}.preference-color-btn:hover{border-color:var(--ink-4);transform:scale(1.08)}.color-picker-dropdown{grid-gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);display:grid;gap:8px;grid-template-columns:repeat(5,1fr);margin-top:6px;padding:12px;position:absolute;right:0;top:100%;z-index:1000}.color-picker-option{border:2px solid var(--line);border-radius:var(--r-sm);cursor:pointer;height:32px;transition:all .15s ease;width:32px}.color-picker-option:hover{border-color:var(--forest);transform:scale(1.08)}@media (max-width:768px){.preference-item-content{padding:12px}.color-picker-dropdown{grid-template-columns:repeat(5,1fr);left:0;right:0}}.email-settings-message{border-radius:6px;font-weight:500;margin-bottom:20px;padding:12px 16px}.email-settings-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.email-settings-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.email-template-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px}.email-template-form{display:flex;flex-direction:column;gap:16px}.email-body-textarea{font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;line-height:1.4;min-height:120px;resize:vertical}.email-template-variables{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;height:fit-content;padding:16px}.email-template-variables h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 8px}.email-template-variables p{color:#6c757d;font-size:13px;margin:0 0 12px}.active-field-indicator{background-color:#e7f3ff;border:1px solid #4a90e2;border-radius:4px;color:#2c3e50;font-size:12px;margin-bottom:12px;padding:8px}.cursor-info{color:#6c757d;font-style:italic}.insertion-hint{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:12px;margin-top:12px;padding:8px}.html-preview-container{background-color:#fff;border:2px solid #e9ecef;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:120px;padding:16px}.html-preview-content{color:#333}.html-preview-content p{margin:0 0 16px}.html-preview-content p:last-child{margin-bottom:0}.html-preview-content strong{color:#4a90e2;font-weight:600}.field-note{color:#6c757d;font-size:12px;font-style:italic;margin-top:4px}.variable-list{gap:8px}.variable-item,.variable-list{display:flex;flex-direction:column}.variable-item{gap:2px}.variable-code{background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;display:inline-block;font-family:Monaco,Menlo,Consolas,monospace;font-size:12px;padding:4px 8px;transition:all .2s;-webkit-user-select:none;user-select:none}.variable-code:hover{background-color:#4a90e2;border-color:#4a90e2;color:#fff;transform:translateY(-1px)}.variable-code:active{transform:translateY(0)}.variable-description{color:#6c757d;font-size:11px;margin-left:8px}.test-email-container{max-width:500px}.test-email-form{display:flex;flex-direction:column;gap:16px}.test-email-buttons{display:flex;gap:12px}.email-settings-actions{border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px}.settings-btn-large{font-size:16px;min-width:180px;padding:12px 24px}.modal-overlay{background-color:#00000080}.modal-content{border-radius:8px;box-shadow:0 10px 30px #0003;max-height:80vh;padding:24px;width:90%}.modal-header{border-bottom:1px solid #dee2e6;margin-bottom:20px;padding-bottom:16px}.modal-header h3{color:#2c3e50;font-size:20px}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background-color .2s;width:32px}.modal-close:hover{background-color:#f8f9fa;color:#495057}.modal-body{margin-bottom:20px}.modal-footer{border-top:1px solid #dee2e6;gap:12px;justify-content:flex-end;padding-top:16px}.password-input-container{position:relative}.password-toggle{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:14px;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s}.password-toggle:hover{color:#495057}.email-preview{max-width:600px;width:100%}.email-preview-header{background-color:#f8f9fa;border:1px solid #dee2e6;border-bottom:none;border-radius:6px 6px 0 0;padding:12px 16px}.email-preview-header div{display:flex;font-size:13px;margin-bottom:4px}.email-preview-header strong{color:#495057;min-width:60px}.email-preview-body{background:#fff;border:1px solid #dee2e6;border-radius:0 0 6px 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;padding:16px}.email-preview-tabs{display:flex;gap:8px;margin-bottom:16px}.preview-tab{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.preview-tab.active{background:#4a90e2;border-color:#4a90e2;color:#fff}.preview-tab:hover:not(.active){background:#e9ecef}@media (max-width:768px){.email-template-container{gap:16px;grid-template-columns:1fr}.email-template-variables{order:-1}.settings-form-row,.test-email-buttons{flex-direction:column}.settings-form-row{gap:12px}.modal-content{margin:20px;width:calc(100% - 40px)}}.email-settings-loading{align-items:center;color:#6c757d;display:flex;justify-content:center;padding:40px}.settings-input.error{border-color:#dc3545}.settings-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.field-error{color:#dc3545;font-size:12px;margin-top:4px}@keyframes pulse-success{0%{box-shadow:0 0 0 0 #28a74566}70%{box-shadow:0 0 0 10px #28a74500}to{box-shadow:0 0 0 0 #28a74500}}.settings-btn.success-pulse{animation:pulse-success 1s}.preset-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:3000}.preset-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.preset-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:24px 32px;position:sticky;top:0;z-index:1}.preset-modal-header h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.preset-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.preset-modal-close:hover{background:#f8f9fa;color:#495057}.preset-modal-form{padding:32px}.preset-form-group{margin-bottom:24px}.preset-form-group label{color:#495057;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.preset-form-group .required{color:#dc3545}.preset-form-group input,.preset-form-group select{border:2px solid #ced4da;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .3s ease;width:100%}.preset-form-group input:focus,.preset-form-group select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.preset-form-group input.error,.preset-form-group select.error{border-color:#dc3545}.preset-form-group input:disabled,.preset-form-group select:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.6}.error-text{color:#dc3545;display:block;margin-top:4px}.preset-trigger-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.preset-layout-buttons{display:flex;flex-wrap:wrap;gap:12px}.preset-layout-btn{background-color:#fff;border:2px solid #ced4da;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.preset-layout-btn:hover{background-color:#f0f7ff;border-color:#4a90e2}.preset-layout-btn.active{background-color:#4a90e2;border-color:#4a90e2;color:#fff}.preset-labels-list{display:flex;flex-direction:column;gap:12px}.preset-label-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:80px 1fr}.preset-label-number{color:#6c757d;font-size:14px;font-weight:600}.preset-grid-preview{grid-gap:12px;background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;display:grid;gap:12px;padding:20px}.preset-grid-preview.layout-1{grid-template-columns:1fr;max-width:200px}.preset-grid-preview.layout-2{grid-template-columns:repeat(2,1fr)}.preset-grid-preview.layout-3{grid-template-columns:repeat(3,1fr)}.preset-grid-preview.layout-4{grid-template-columns:repeat(4,1fr)}.preset-grid-preview.layout-1x2{grid-template-columns:repeat(2,1fr)}.preset-grid-preview.layout-1x3{grid-template-columns:repeat(3,1fr)}.preset-grid-preview.layout-2x2{grid-template-columns:repeat(2,1fr)}.preset-grid-preview.layout-2x3,.preset-grid-preview.layout-3x3{grid-template-columns:repeat(3,1fr)}.preset-grid-slot{background:#fff;border:2px solid #ced4da;border-radius:6px;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:80px;padding:16px;text-align:center}.preset-slot-number{color:#6c757d;font-size:12px;font-weight:600}.preset-slot-label{color:#2c3e50;font-size:14px;font-weight:600}.preset-loading{color:#6c757d;font-size:14px;padding:20px;text-align:center}.preset-modal-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.preset-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:10px 24px;transition:all .2s}.preset-btn-primary{background:#4a90e2;color:#fff}.preset-btn-primary:hover:not(:disabled){background:#357abd;transform:translateY(-1px)}.preset-btn-secondary{background:#6c757d;color:#fff}.preset-btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.preset-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.preset-modal{border-radius:0;max-height:100vh;max-width:100%}.preset-modal-header{padding:16px 20px}.preset-modal-header h2{font-size:20px}.preset-modal-form{padding:20px}.preset-trigger-row{grid-template-columns:1fr}.preset-layout-buttons{justify-content:center}.preset-label-row{grid-template-columns:1fr}.preset-label-number{margin-bottom:-8px}.preset-grid-preview.layout-2x3,.preset-grid-preview.layout-3,.preset-grid-preview.layout-3x3,.preset-grid-preview.layout-4{grid-template-columns:repeat(2,1fr)}.preset-modal-actions{flex-direction:column-reverse}.preset-btn{width:100%}}.image-prefs-tab{max-width:1200px;padding:24px}.image-prefs-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:32px}.image-prefs-header h2{color:#2c3e50;font-size:28px;font-weight:600;margin:0 0 8px}.image-prefs-description{color:#6c757d;font-size:14px;line-height:1.6;margin:0;max-width:600px}.image-prefs-btn-primary{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.image-prefs-btn-primary:hover{background-color:#357abd;box-shadow:0 4px 8px #4a90e233;transform:translateY(-1px)}.image-prefs-loading{align-items:center;color:#6c757d;display:flex;font-size:16px;justify-content:center;padding:60px 20px}.image-prefs-empty{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:80px 20px;text-align:center}.image-prefs-empty .empty-icon{font-size:64px;margin-bottom:16px}.image-prefs-empty h3{color:#2c3e50;font-size:20px;margin:0 0 8px}.image-prefs-empty p{color:#6c757d;font-size:14px;margin:0 0 24px}.image-prefs-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.image-preset-card{background:#fff;border:2px solid #e9ecef;border-radius:8px;overflow:hidden;transition:all .2s ease}.image-preset-card:hover{border-color:#ced4da;box-shadow:0 4px 12px #00000014}.preset-card-header{align-items:flex-start;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:12px;justify-content:space-between;padding:20px}.preset-card-toggle{align-items:center;display:flex;flex:1 1;gap:12px}.preset-card-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.preset-card-title h3{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.preset-badge-active{background:#28a745;border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.preset-toggle-switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.preset-toggle-switch input{height:0;opacity:0;width:0}.preset-toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.preset-toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}input:checked+.preset-toggle-slider{background-color:#4a90e2}input:checked+.preset-toggle-slider:before{transform:translateX(20px)}.preset-card-actions{display:flex;gap:8px}.preset-action-btn{background:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.preset-edit-btn{border-color:#4a90e2;color:#4a90e2}.preset-edit-btn:hover{background:#4a90e2;color:#fff}.preset-delete-btn{border-color:#dc3545;color:#dc3545;font-size:16px;font-weight:700;padding:6px 10px}.preset-delete-btn:hover{background:#dc3545;color:#fff}.preset-card-body{display:flex;flex-direction:column;gap:12px;padding:20px}.preset-info-row{display:flex;gap:8px}.preset-info-label{color:#6c757d;font-size:13px;font-weight:600;min-width:60px}.preset-info-value{color:#2c3e50;flex:1 1;font-size:13px}.preset-card-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:12px 20px}.preset-modified{color:#6c757d;font-size:12px;font-style:italic}@media (max-width:768px){.image-prefs-tab{padding:16px}.image-prefs-header{align-items:stretch;flex-direction:column}.image-prefs-header h2{font-size:24px}.image-prefs-btn-primary{width:100%}.image-prefs-list{grid-template-columns:1fr}.preset-card-header{align-items:stretch;flex-direction:column}.preset-card-toggle{align-items:flex-start;flex-direction:column;gap:12px}.preset-card-actions{justify-content:flex-end;width:100%}.image-prefs-empty{padding:40px 20px}.image-prefs-empty .empty-icon{font-size:48px}}.cls-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.cls-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.cls-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.cls-header-info p{color:#6b7280;font-size:13px;margin:0}.cls-header-actions{display:flex;gap:8px}.cls-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.cls-btn-primary{background:#3b82f6;color:#fff}.cls-btn-primary:hover{background:#2563eb}.cls-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.cls-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.cls-btn-secondary:hover{background:#f3f4f6}.cls-btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.cls-btn-icon:hover{background:#f3f4f6;color:#111827}.cls-btn-icon:disabled{cursor:not-allowed;opacity:.4}.cls-btn-icon.delete:hover{background:#fef2f2;color:#ef4444}.cls-btn-icon.activate:hover{background:#f0fdf4;color:#10b981}.cls-btn-icon.deactivate:hover{background:#fef2f2;color:#ef4444}.cls-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:13px;gap:8px;margin:12px 16px 0;padding:12px 16px}.cls-error button{background:none;border:none;color:#dc2626;cursor:pointer;margin-left:auto;opacity:.7;padding:4px}.cls-error button:hover{opacity:1}.cls-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.cls-spinner{animation:spin 1s linear infinite}.cls-add-form,.cls-edit-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 20px}.cls-add-form h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 16px}.cls-form-group{margin-bottom:12px}.cls-form-group label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.cls-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:8px 12px;transition:border-color .15s ease;width:100%}.cls-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.cls-input::placeholder{color:#9ca3af}textarea.cls-input{min-height:80px;resize:vertical}.cls-form-actions{display:flex;gap:8px;margin-top:16px}.cls-color-picker{display:flex;flex-wrap:wrap;gap:8px}.cls-color-option{border:2px solid #0000;border-radius:50%;cursor:pointer;height:28px;transition:all .15s ease;width:28px}.cls-color-option:hover{transform:scale(1.1)}.cls-color-option.selected{border-color:#111827;box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.cls-list{padding:8px 0}.cls-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:12px;padding:12px 20px;transition:background-color .15s ease}.cls-item:last-child{border-bottom:none}.cls-item:hover{background:#f9fafb}.cls-item.inactive{opacity:.6}.cls-item-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.cls-item-content{gap:16px}.cls-item-content,.cls-item-info{align-items:center;display:flex;flex:1 1;min-width:0}.cls-item-info{flex-wrap:wrap;gap:8px}.cls-item-name{color:#111827;font-size:14px;font-weight:500}.cls-item-desc{color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cls-item-duration{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 8px}.cls-item-status{flex-shrink:0}.cls-status-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:500;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.cls-status-badge.active{background:#dcfce7;color:#166534}.cls-status-badge.inactive{background:#f3f4f6;color:#6b7280}.cls-item-actions{display:flex;flex-shrink:0;gap:4px}.cls-item .cls-edit-form{background:#0000;border:none;flex:1 1;padding:0}.cls-item .cls-form-group{margin-bottom:8px}.cls-item .cls-form-actions{margin-top:8px}.cls-empty{padding:48px 20px;text-align:center}.cls-empty p{color:#6b7280;font-size:14px;margin:0}.cls-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 20px}.cls-count{color:#6b7280;font-size:13px}.cls-hint{color:#9ca3af;font-size:12px}@media (max-width:640px){.cls-header{flex-direction:column;gap:12px}.cls-item{flex-wrap:wrap}.cls-item-content{align-items:flex-start;flex-direction:column;gap:8px;width:100%}.cls-item-actions{justify-content:flex-end;width:100%}}.bh-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.bh-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:16px 20px}.bh-header,.bh-header-info{align-items:flex-start;display:flex}.bh-header-info{gap:12px}.bh-header-info svg{color:#3b82f6;margin-top:2px}.bh-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.bh-header-info p{color:#6b7280;font-size:13px;margin:0}.bh-header-actions{display:flex;gap:8px}.bh-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.bh-btn-primary{background:#3b82f6;color:#fff}.bh-btn-primary:hover:not(:disabled){background:#2563eb}.bh-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.bh-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.bh-btn-secondary:hover{background:#f3f4f6}.bh-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.bh-spinner{animation:spin 1s linear infinite}.bh-message{align-items:center;display:flex;font-size:13px;gap:8px;padding:12px 20px}.bh-error{background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626}.bh-success{background:#f0fdf4;border-bottom:1px solid #bbf7d0;color:#16a34a}.bh-section{border-bottom:1px solid #e5e7eb;padding:20px}.bh-section:last-child{border-bottom:none}.bh-section h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 4px}.bh-section>p{color:#6b7280;font-size:13px;margin:0 0 16px}.bh-slot-options{display:flex;flex-wrap:wrap;gap:8px}.bh-slot-option{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:10px 16px;transition:all .15s ease}.bh-slot-option:hover{border-color:#3b82f6}.bh-slot-option.selected{background:#eff6ff;border-color:#3b82f6}.bh-slot-option input{display:none}.bh-slot-option span{color:#374151;font-size:14px}.bh-slot-option.selected span{color:#2563eb;font-weight:500}.bh-days-list{display:flex;flex-direction:column;gap:8px}.bh-day-row{align-items:center;background:#f9fafb;border-radius:6px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .15s ease}.bh-day-row.disabled{opacity:.7}.bh-day-toggle{align-items:center;cursor:pointer;display:flex;gap:12px;min-width:140px}.bh-day-toggle input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:18px;width:18px}.bh-day-label{color:#111827;font-size:14px;font-weight:500}.bh-day-row.disabled .bh-day-label{color:#6b7280}.bh-day-hours{align-items:center;display:flex;gap:12px}.bh-time-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;cursor:pointer;font-size:14px;min-width:120px;padding:8px 12px}.bh-time-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.bh-time-separator{color:#6b7280;font-size:13px}.bh-closed-label{color:#9ca3af;font-size:13px;font-style:italic}.bh-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:16px 20px}.bh-footer p{color:#9ca3af;font-size:12px;margin:0}@media (max-width:640px){.bh-day-row,.bh-header{flex-direction:column;gap:12px}.bh-day-row{align-items:flex-start}.bh-day-hours{width:100%}.bh-slot-options{flex-direction:column}.bh-slot-option{width:100%}}.schedule-settings-tab{margin:0 auto;max-width:1200px}.schedule-settings-header{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:24px}.schedule-settings-icon{color:#3b82f6}.schedule-settings-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}.schedule-settings-header p{color:#6b7280;font-size:14px;margin:0}.schedule-settings-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:280px 1fr}.schedule-settings-nav{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px;position:sticky;top:90px}.schedule-nav-item{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .15s ease;width:100%}.schedule-nav-item:hover{background:#f3f4f6}.schedule-nav-item.active{background:#eff6ff;color:#2563eb}.schedule-nav-item svg:first-child{color:#6b7280;flex-shrink:0}.schedule-nav-item.active svg:first-child{color:#2563eb}.schedule-nav-item-content{flex:1 1;min-width:0}.schedule-nav-item-label{color:#111827;display:block;font-size:14px;font-weight:500}.schedule-nav-item.active .schedule-nav-item-label{color:#2563eb}.schedule-nav-item-desc{color:#9ca3af;display:block;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-nav-item-arrow{color:#d1d5db;flex-shrink:0}.schedule-nav-item.active .schedule-nav-item-arrow{color:#2563eb}.schedule-settings-content{min-width:0}@media (max-width:900px){.schedule-settings-layout{grid-template-columns:1fr}.schedule-settings-nav{flex-direction:row;flex-wrap:wrap;position:static}.schedule-nav-item{flex:1 1 auto;min-width:140px}.schedule-nav-item-arrow,.schedule-nav-item-desc{display:none}}.sidebar-fields-settings{padding:24px}.settings-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:24px}.settings-header-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;color:#2563eb;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.settings-header h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 4px}.settings-header p{color:#6b7280;font-size:14px;margin:0}.settings-info-box{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1;display:flex;font-size:13px;gap:10px;margin-bottom:20px;padding:12px 16px}.settings-info-box svg{flex-shrink:0}.fields-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.field-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:12px 16px;transition:all .15s ease}.field-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.field-item.enabled{background:#f0fdf4;border-color:#86efac}.field-drag-handle{color:#9ca3af;cursor:grab;padding:4px}.field-drag-handle:active{cursor:grabbing}.field-content{flex:1 1;min-width:0}.field-label{color:#111827;display:block;font-size:14px;font-weight:500;margin-bottom:2px}.field-description{color:#6b7280;display:block;font-size:12px}.field-toggle{align-items:center;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:6px;color:#0000;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease;width:32px}.field-toggle:hover{background:#e5e7eb;border-color:#d1d5db}.field-toggle.active{background:#22c55e;border-color:#16a34a;color:#fff}.field-toggle.active:hover{background:#16a34a}.settings-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.btn-primary,.btn-secondary{border-radius:6px;padding:10px 20px}.save-message{border-radius:6px;font-size:14px;margin-top:16px;padding:12px 16px;text-align:center}.save-message.success{background:#dcfce7;border:1px solid #86efac;color:#166534}.save-message.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.settings-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.settings-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:24px;width:24px}@media (max-width:640px){.sidebar-fields-settings{padding:16px}.settings-header{gap:12px}.settings-actions,.settings-header{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.patient-settings-tab{margin:0 auto;max-width:1200px}.patient-settings-header{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:24px}.patient-settings-icon{color:#10b981}.patient-settings-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}.patient-settings-header p{color:#6b7280;font-size:14px;margin:0}.patient-settings-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:280px 1fr}.patient-settings-nav{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px;position:sticky;top:90px}.patient-nav-item{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .15s ease;width:100%}.patient-nav-item:hover{background:#f3f4f6}.patient-nav-item.active{background:#ecfdf5;color:#059669}.patient-nav-item svg:first-child{color:#6b7280;flex-shrink:0}.patient-nav-item.active svg:first-child{color:#059669}.patient-nav-item-content{flex:1 1;min-width:0}.patient-nav-item-label{color:#111827;display:block;font-size:14px;font-weight:500}.patient-nav-item.active .patient-nav-item-label{color:#059669}.patient-nav-item-desc{color:#9ca3af;display:block;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-nav-item-arrow{color:#d1d5db;flex-shrink:0}.patient-nav-item.active .patient-nav-item-arrow{color:#059669}.patient-settings-content{min-width:0}@media (max-width:900px){.patient-settings-layout{grid-template-columns:1fr}.patient-settings-nav{flex-direction:row;flex-wrap:wrap;position:static}.patient-nav-item{flex:1 1 auto;min-width:140px}.patient-nav-item-arrow,.patient-nav-item-desc{display:none}}.pcs-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.pcs-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.pcs-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.pcs-header-info p{color:#6b7280;font-size:13px;margin:0}.pcs-header-actions{display:flex;gap:8px}.pcs-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.pcs-btn-primary{background:#3b82f6;color:#fff}.pcs-btn-primary:hover:not(:disabled){background:#2563eb}.pcs-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.pcs-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.pcs-btn-secondary:hover{background:#f3f4f6}.pcs-btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.pcs-btn-icon:hover{background:#f3f4f6;color:#111827}.pcs-btn-icon.delete:hover{background:#fef2f2;color:#ef4444}.pcs-btn-icon.activate:hover{background:#f0fdf4;color:#10b981}.pcs-btn-icon.deactivate:hover{background:#fef2f2;color:#ef4444}.pcs-error{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;font-size:13px;gap:8px;padding:12px 20px}.pcs-error button{background:none;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:4px}.pcs-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.pcs-spinner{animation:spin 1s linear infinite}.pcs-filters{border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px 20px}.pcs-search{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex:1 1;gap:8px;padding:8px 12px}.pcs-search svg{color:#9ca3af}.pcs-search input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.pcs-search input::placeholder{color:#9ca3af}.pcs-category-filter{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;min-width:150px;padding:8px 12px}.pcs-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px}.pcs-form h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 16px}.pcs-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.pcs-form-group{display:flex;flex-direction:column;gap:4px}.pcs-form-group label{color:#374151;font-size:13px;font-weight:500}.pcs-form-full{grid-column:span 2}.pcs-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:8px 12px}.pcs-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.pcs-input:disabled{background:#f3f4f6;color:#6b7280}.pcs-fee-input{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;gap:8px;padding:0 0 0 12px}.pcs-fee-input svg{color:#6b7280}.pcs-fee-input input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none;padding:8px 12px 8px 0}.pcs-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;padding-top:8px}.pcs-checkbox-label input{accent-color:#3b82f6;height:16px;width:16px}.pcs-form-actions{display:flex;gap:8px;margin-top:16px}.pcs-tooth-config{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;padding:16px}.pcs-tooth-config h5{color:#374151;font-size:13px;font-weight:600;margin:0 0 12px}.pcs-tooth-options{display:flex;gap:24px;margin-bottom:12px}.pcs-allowed-teeth{border-top:1px solid #e5e7eb;padding-top:12px}.pcs-teeth-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.pcs-teeth-header span{color:#6b7280;font-size:12px}.pcs-teeth-actions{display:flex;gap:12px}.pcs-btn-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:12px;padding:0}.pcs-btn-link:hover{text-decoration:underline}.pcs-teeth-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(16,1fr);margin-bottom:12px}.pcs-tooth-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:11px;font-weight:500;padding:6px 4px;transition:all .15s}.pcs-tooth-btn:hover{border-color:#3b82f6}.pcs-tooth-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.pcs-sextants-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(6,1fr)}.pcs-sextant-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:12px;font-weight:500;padding:8px;transition:all .15s}.pcs-sextant-btn:hover{border-color:#10b981}.pcs-sextant-btn.selected{background:#10b981;border-color:#10b981;color:#fff}.pcs-list{max-height:600px;overflow-y:auto}.pcs-empty{color:#6b7280;padding:48px 20px;text-align:center}.pcs-category{border-bottom:1px solid #e5e7eb}.pcs-category:last-child{border-bottom:none}.pcs-category-header{align-items:center;background:#f9fafb;display:flex;justify-content:space-between;padding:12px 20px;position:sticky;top:0;z-index:1}.pcs-category-header h4{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.pcs-category-count{color:#9ca3af;font-size:12px}.pcs-codes{padding:8px 0}.pcs-code{align-items:center;display:flex;gap:16px;padding:10px 20px;transition:background-color .15s ease}.pcs-code:hover{background:#f9fafb}.pcs-code.inactive{opacity:.6}.pcs-code-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.pcs-code-code{color:#111827;font-family:monospace;font-size:14px;font-weight:600;min-width:70px}.pcs-code-desc{color:#6b7280;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcs-code-fee{min-width:100px;text-align:right}.pcs-fee{color:#059669;font-size:14px;font-weight:500}.pcs-no-charge{color:#9ca3af;font-size:12px;font-style:italic}.pcs-code-actions{display:flex;flex-shrink:0;gap:4px}.pcs-edit-form{width:100%}.pcs-edit-form .pcs-form-grid{grid-template-columns:repeat(4,1fr)}.pcs-edit-form .pcs-form-actions{justify-content:flex-start}.pcs-footer{background:#f9fafb;border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:13px;justify-content:space-between;padding:12px 20px}@media (max-width:768px){.pcs-filters{flex-direction:column}.pcs-form-grid{grid-template-columns:1fr 1fr}.pcs-form-full{grid-column:span 2}.pcs-code-info{align-items:flex-start;flex-direction:column;gap:4px}.pcs-code-fee{min-width:auto}.pcs-edit-form .pcs-form-grid{grid-template-columns:1fr 1fr}}.mcs-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.mcs-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.mcs-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.mcs-header-info p{color:#6b7280;font-size:13px;margin:0}.mcs-header-actions{display:flex;gap:8px}.mcs-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.mcs-btn-primary{background:#3b82f6;color:#fff}.mcs-btn-primary:hover:not(:disabled){background:#2563eb}.mcs-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.mcs-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.mcs-btn-secondary:hover{background:#f3f4f6}.mcs-btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.mcs-btn-icon:hover{background:#f3f4f6;color:#111827}.mcs-btn-icon.delete:hover{background:#fef2f2;color:#ef4444}.mcs-btn-icon.activate:hover{background:#f0fdf4;color:#10b981}.mcs-btn-icon.deactivate:hover{background:#fef2f2;color:#ef4444}.mcs-error{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;font-size:13px;gap:8px;padding:12px 20px}.mcs-error button{background:none;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:4px}.mcs-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.mcs-spinner{animation:mcs-spin 1s linear infinite}@keyframes mcs-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mcs-filters{border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px 20px}.mcs-search{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex:1 1;gap:8px;padding:8px 12px}.mcs-search svg{color:#9ca3af}.mcs-search input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.mcs-search input::placeholder{color:#9ca3af}.mcs-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px}.mcs-form h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 16px}.mcs-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr}.mcs-form-group{display:flex;flex-direction:column;gap:4px}.mcs-form-group label{color:#374151;font-size:13px;font-weight:500}.mcs-form-full{grid-column:span 2}.mcs-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:8px 12px}.mcs-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.mcs-procedures-section{margin-top:16px}.mcs-procedures-section>label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.mcs-procedure-search{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;gap:8px;padding:8px 12px;position:relative}.mcs-procedure-search svg{color:#9ca3af}.mcs-procedure-search input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.mcs-procedure-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.mcs-procedure-option{grid-gap:12px;border-bottom:1px solid #f3f4f6;cursor:pointer;display:grid;gap:12px;grid-template-columns:80px 1fr auto;padding:10px 14px}.mcs-procedure-option:last-child{border-bottom:none}.mcs-procedure-option:hover{background:#f8fafc}.mcs-proc-code{color:#3b82f6;font-size:13px;font-weight:600}.mcs-proc-desc{color:#374151;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcs-proc-fee{color:#059669;font-size:13px;font-weight:500}.mcs-selected-procedures{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-top:12px;overflow:hidden}.mcs-selected-procedure{grid-gap:12px;align-items:center;border-bottom:1px solid #f3f4f6;display:grid;gap:12px;grid-template-columns:80px 1fr auto 28px;padding:10px 14px}.mcs-selected-procedure:last-of-type{border-bottom:1px solid #e5e7eb}.mcs-remove-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.mcs-remove-btn:hover{background:#fef2f2;color:#ef4444}.mcs-procedures-total{background:#f9fafb;color:#059669;display:flex;font-weight:500;justify-content:space-between;padding:10px 14px}.mcs-no-procedures{background:#fff;border:1px dashed #d1d5db;border-radius:6px;color:#9ca3af;font-size:13px;margin-top:12px;padding:20px;text-align:center}.mcs-form-actions{display:flex;gap:8px;margin-top:16px}.mcs-list{max-height:600px;overflow-y:auto}.mcs-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:16px;padding:48px 20px;text-align:center}.mcs-empty svg{color:#d1d5db}.mcs-item{border-bottom:1px solid #e5e7eb;padding:16px 20px}.mcs-item:last-child{border-bottom:none}.mcs-item.inactive{opacity:.6}.mcs-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.mcs-item-info h4{color:#111827;font-size:15px;font-weight:600;margin:0 0 4px}.mcs-item-info p{color:#6b7280;font-size:13px;margin:0}.mcs-item-actions{display:flex;gap:4px}.mcs-item-codes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.mcs-code-tag{align-items:center;background:#f3f4f6;border-radius:4px;display:flex;font-size:13px;gap:8px;padding:6px 10px}.mcs-code-tag-code{color:#3b82f6;font-weight:600}.mcs-code-tag-fee{color:#059669}.mcs-item-total{color:#059669;font-size:14px;font-weight:600}.mcs-footer{background:#f9fafb;border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:13px;justify-content:space-between;padding:12px 20px}@media (max-width:768px){.mcs-form-grid{grid-template-columns:1fr}.mcs-form-full{grid-column:span 1}.mcs-selected-procedure{grid-template-columns:1fr auto 28px}.mcs-selected-procedure .mcs-proc-desc{display:none}}.procedure-settings-tab{margin:0 auto;max-width:1200px}.procedure-settings-header{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:24px}.procedure-settings-icon{color:#f59e0b}.procedure-settings-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}.procedure-settings-header p{color:#6b7280;font-size:14px;margin:0}.procedure-settings-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:280px 1fr}.procedure-settings-nav{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px;position:sticky;top:90px}.procedure-nav-item{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .15s ease;width:100%}.procedure-nav-item:hover{background:#f3f4f6}.procedure-nav-item.active{background:#fffbeb;color:#d97706}.procedure-nav-item svg:first-child{color:#6b7280;flex-shrink:0}.procedure-nav-item.active svg:first-child{color:#d97706}.procedure-nav-item-content{flex:1 1;min-width:0}.procedure-nav-item-label{color:#111827;display:block;font-size:14px;font-weight:500}.procedure-nav-item.active .procedure-nav-item-label{color:#d97706}.procedure-nav-item-desc{color:#9ca3af;display:block;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procedure-nav-item-arrow{color:#d1d5db;flex-shrink:0}.procedure-nav-item.active .procedure-nav-item-arrow{color:#d97706}.procedure-settings-content{min-width:0}@media (max-width:900px){.procedure-settings-layout{grid-template-columns:1fr}.procedure-settings-nav{flex-direction:row;flex-wrap:wrap;position:static}.procedure-nav-item{flex:1 1 auto;min-width:140px}.procedure-nav-item-arrow,.procedure-nav-item-desc{display:none}}.app-header{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:color-mix(in oklch,var(--card) 86%,#0000);border-bottom:1px solid var(--line);display:flex;font-family:var(--font-sans);height:57px;justify-content:space-between;left:0;padding:0 20px;position:fixed;right:0;top:0;z-index:1002}.header-left{gap:11px;min-width:0}.brand-mark{background:linear-gradient(150deg,var(--forest),var(--forest-deep));border-radius:10px;box-shadow:var(--shadow-sm);color:oklch(.96 .03 150);display:grid;flex-shrink:0;height:34px;place-items:center;width:34px}.brand-text{line-height:1.05;min-width:0}.brand-eyebrow{color:var(--forest);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.brand-eyebrow,.header-left h1{font-weight:700;white-space:nowrap}.header-left h1{color:var(--ink);font-size:15px;letter-spacing:-.01em;margin:1px 0 0}.sidebar-toggle-mobile{display:none}.header-nav{background:var(--card-2);border:1px solid var(--line);border-radius:12px;display:inline-flex;gap:3px;padding:3px}.nav-link{align-items:center;background:none;border:none;border-radius:9px;color:var(--ink-3);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;padding:7px 13px;position:relative;transition:all .15s ease;white-space:nowrap}.nav-link:hover{color:var(--ink)}.nav-link.active{background:var(--card);box-shadow:var(--shadow-sm);color:var(--forest-deep)}.header-right{align-items:center;display:flex;gap:10px;white-space:nowrap}.who-text{line-height:1.1;text-align:right}.who-name{color:var(--ink);font-size:12.5px;font-weight:700}.who-role{color:var(--ink-4);font-size:10.5px;text-transform:capitalize}.avatar{background:var(--wood-soft);border:1px solid color-mix(in oklch,var(--wood) 30%,#0000);border-radius:999px;color:var(--wood);display:grid;flex-shrink:0;font-size:12.5px;font-weight:700;height:34px;place-items:center;width:34px}.logout-btn{background:#0000;border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 13px;transition:all .15s}.logout-btn:hover{background:var(--b-lost-bg);border-color:var(--b-lost-line);color:var(--b-lost-ink)}@media (max-width:768px){.app-header{height:50px;padding:0 12px;top:env(safe-area-inset-top,0);z-index:1003}.brand-mark{border-radius:9px;height:30px;width:30px}.brand-eyebrow{font-size:9px}.header-left h1{font-size:13px}.header-nav,.who-text{display:none}.mobile-menu-button{align-items:center;background:var(--card-2);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;display:flex!important;font-size:17px;justify-content:center;padding:6px 9px}.mobile-menu-button:hover{background:var(--paper-2)}.mobile-menu{grid-gap:2px;background:var(--card);border-top:1px solid var(--line);box-shadow:var(--shadow-lg);display:grid;gap:2px;left:0;padding:6px;position:absolute;right:0;top:100%;z-index:1004}.mobile-menu .nav-link{border-radius:10px;display:block;font-size:14px;padding:12px 14px;text-align:left;width:100%}.mobile-menu .nav-link.active{background:var(--forest-soft);box-shadow:none;color:var(--forest-deep)}.logout-btn{font-size:12px;padding:6px 10px}.sidebar-toggle-mobile{align-items:center;background:var(--card-2);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;justify-content:center;padding:6px 8px}.sidebar-toggle-mobile:hover{background:var(--paper-2)}}@media (min-width:769px){.mobile-menu-button{display:none}}.unread-count-badge{background:var(--b-lost);border-radius:999px;color:oklch(.98 .01 30);display:inline-block;font-size:10.5px;font-weight:700;margin-left:6px;min-width:17px;padding:1px 6px;text-align:center}:root{--s-current:oklch(0.46 0.075 156);--s-1:oklch(0.56 0.066 235);--s-2:oklch(0.60 0.085 62);--s-3:oklch(0.52 0.090 300);--s-4:oklch(0.62 0.110 52);--up-bg:oklch(0.952 0.040 152);--down-bg:oklch(0.958 0.030 38);--amber-bg:oklch(0.960 0.045 70);--blue-bg:oklch(0.955 0.024 235);--blue-ink:oklch(0.46 0.075 235);--violet-bg:oklch(0.957 0.026 300);--violet-ink:oklch(0.45 0.085 300);--wood-deep:oklch(0.47 0.072 58)}.pm-root{background:var(--paper);color:var(--ink);font-family:var(--font-sans);min-height:100%;position:relative}.pm-root *,.pm-root :after,.pm-root :before{box-sizing:border-box}.pm-root .tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pm-root h1,.pm-root h2,.pm-root h3,.pm-root h4{letter-spacing:-.01em}.pm-root .pm-bg{background:radial-gradient(120% 80% at 12% -8%,oklch(.96 .03 150/.5),#0000 60%),radial-gradient(120% 80% at 100% 0,oklch(.95 .03 70/.34),#0000 55%);inset:0;pointer-events:none;position:absolute;z-index:0}.pm-root .pm-content{position:relative;z-index:1}.pm-root .t-forest{--c:var(--forest);--c-bg:var(--forest-soft);--c-line:var(--forest-soft2);--c-ink:var(--forest-ink)}.pm-root .t-up{--c:var(--up);--c-bg:var(--up-bg);--c-line:oklch(0.86 0.06 150);--c-ink:oklch(0.42 0.10 150)}.pm-root .t-down{--c:var(--down);--c-bg:var(--down-bg);--c-line:oklch(0.87 0.05 36);--c-ink:oklch(0.47 0.12 33)}.pm-root .t-amber{--c:var(--amber);--c-bg:var(--amber-bg);--c-line:oklch(0.87 0.07 70);--c-ink:oklch(0.48 0.10 60)}.pm-root .t-blue{--c:var(--s-1);--c-bg:var(--blue-bg);--c-line:oklch(0.87 0.04 235);--c-ink:var(--blue-ink)}.pm-root .t-violet{--c:var(--s-3);--c-bg:var(--violet-bg);--c-line:oklch(0.87 0.04 300);--c-ink:var(--violet-ink)}.pm-root .t-wood{--c:var(--wood);--c-bg:var(--wood-soft);--c-line:oklch(0.86 0.05 70);--c-ink:var(--wood-deep)}.pm-root .page-head{align-items:flex-start;display:flex;gap:16px;margin-bottom:22px}.pm-root .back{align-items:center;background:var(--card);border:1px solid var(--line-2);border-radius:9px;color:var(--ink-2);display:inline-flex;flex:none;font-size:13.5px;font-weight:600;gap:7px;padding:8px 12px 8px 9px}.pm-root .back:hover{border-color:var(--ink-4);color:var(--ink)}.pm-root .h2{font-size:17px;font-weight:800;letter-spacing:-.02em}.pm-root .h2-sub{color:var(--ink-3);font-size:12.5px;margin-top:2px}.pm-root .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:22px 24px}.pm-root .btn{align-items:center;border:1px solid #0000;border-radius:var(--r-sm);display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:11px 17px;transition:all .14s ease}.pm-root .btn-primary{background:var(--forest);box-shadow:var(--shadow-sm);color:oklch(.98 .01 150)}.pm-root .btn-primary:hover{background:var(--forest-deep)}.pm-root .metric{background:var(--card);background:var(--c-bg,var(--card));border:1px solid var(--c-line,var(--line));border-radius:var(--r);display:flex;flex-direction:column;gap:4px;padding:15px 17px;position:relative;text-align:left;transition:transform .14s ease,box-shadow .14s ease;width:100%}.pm-root .metric.click{cursor:pointer}.pm-root .metric.click:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.pm-root .metric .mlabel{color:var(--ink-2);color:var(--c-ink,var(--ink-2));font-size:12px;font-weight:700;letter-spacing:.01em}.pm-root .metric .mval{color:var(--ink);color:var(--c-ink,var(--ink));font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.05}.pm-root .metric .msub{color:var(--ink-3);color:var(--c-ink,var(--ink-3));font-size:11.5px;opacity:.8}.pm-root .metric .micon{color:var(--ink-3);color:var(--c,var(--ink-3));height:22px;opacity:.85;position:absolute;right:15px;top:14px;width:22px}.pm-root .metric .micon svg{height:100%;width:100%}.pm-root .stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;position:relative}.pm-root .stat .slabel{color:var(--ink-3);font-size:12px;font-weight:600}.pm-root .stat .sval{color:var(--ink);color:var(--c-ink,var(--ink));font-size:24px;font-weight:800;letter-spacing:-.02em;margin-top:5px}.pm-root .stat .ssub{color:var(--ink-4);font-size:11.5px;margin-top:4px}.pm-root .stat .sicon{color:var(--ink-4);color:var(--c,var(--ink-4));height:20px;position:absolute;right:16px;top:15px;width:20px}.pm-root .stat.tint{background:var(--c-bg);border-color:var(--c-line)}.pm-root .tbl{border-collapse:collapse;font-size:13.5px;width:100%}.pm-root .tbl th{border-bottom:1.5px solid var(--line-2);color:var(--ink-3);font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:0 12px 11px;text-align:left;text-transform:uppercase;white-space:nowrap}.pm-root .tbl td{border-bottom:1px solid var(--line);color:var(--ink-2);padding:12px}.pm-root .tbl tr:last-child td{border-bottom:none}.pm-root .tbl .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.pm-root .tbl .strong{color:var(--ink);font-weight:700}.pm-root .tbl tbody tr:hover td{background:var(--card-2)}.pm-root .tbl tfoot td{border-bottom:none;border-top:1.5px solid var(--line-2);color:var(--ink);font-weight:800;padding-top:13px}.pm-root .row-hi td{background:var(--forest-soft)!important}.pm-root .row-best td{background:oklch(.952 .04 152)!important;background:var(--up-bg)!important}.pm-root .row-worst td{background:oklch(.958 .03 38)!important;background:var(--down-bg)!important}.pm-root .cell-sub{color:var(--ink-4);font-size:11px;margin-top:2px}.pm-root .pill-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:5px;padding:3px 9px}.pm-root .pb-prog{background:oklch(.96 .045 70);background:var(--amber-bg);color:var(--amber)}.pm-root .pb-done{background:oklch(.952 .04 152);background:var(--up-bg);color:var(--up)}.pm-root .pb-cur{background:oklch(.955 .024 235);background:var(--blue-bg);color:oklch(.56 .066 235);color:var(--s-1)}.pm-root .delta-up{color:var(--up);font-weight:700}.pm-root .delta-down{color:var(--down);font-weight:700}.pm-root .delta-flat{color:var(--ink-4);font-weight:700}.pm-root .yp{align-items:center;border:2px solid #0000;border-radius:11px;color:#fff;display:inline-flex;font-size:14px;font-weight:700;gap:8px;padding:11px 18px;transition:all .12s ease}.pm-root .yp.off{background:var(--card-2);border-color:var(--line);color:var(--ink-3)}.pm-root .yp.off:hover{border-color:var(--ink-4);color:var(--ink)}.pm-root .yp .chk{height:15px;width:15px}.pm-root .yp .cur{font-size:10px;font-weight:700;opacity:.85}.pm-root .yp.cur-ring{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--wood)}.pm-root .chartwrap{width:100%}.pm-root .chartwrap svg{display:block;height:auto;overflow:visible;width:100%}.pm-root .legend{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:14px}.pm-root .legend .li{align-items:center;color:var(--ink-2);display:inline-flex;font-size:12.5px;font-weight:600;gap:7px}.pm-root .legend .sw{border-radius:2px;height:3px;width:16px}.pm-root .legend .dot{border-radius:999px;height:9px;width:9px}.pm-root .note{color:var(--ink-4);font-size:12px}.pm-root .badge-soft{align-items:center;background:oklch(.952 .04 152);background:var(--up-bg);border-radius:999px;color:var(--up);display:inline-flex;font-size:11px;font-weight:700;gap:6px;padding:4px 10px}.pm-root .goalbar{background:var(--line);border-radius:999px;height:12px;overflow:hidden}.pm-root .goalbar i{background:var(--up);border-radius:999px;display:block;height:100%}.pm-root .fade-in{animation:pmFadeIn .34s cubic-bezier(.2,.8,.3,1) both}@keyframes pmFadeIn{0%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}.pm-root .cal-grid{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:54px repeat(7,1fr) 112px;overflow:hidden}.pm-root .cal-hd{background:var(--card-2);color:var(--ink-3);padding:13px 0;text-align:center}.pm-root .cal-hd,.pm-root .cal-wk{border-bottom:1px solid var(--line);font-size:12px;font-weight:700}.pm-root .cal-wk{background:var(--card-2);border-right:1px solid var(--line);color:var(--ink-4);display:grid;place-items:center}.pm-root .cal-cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px;min-height:118px;padding:10px 13px}.pm-root .cal-cell .d{color:var(--ink);font-size:14px;font-weight:700}.pm-root .cal-cell.out{background:oklch(.962 .008 95)}.pm-root .cal-cell.out .d{color:var(--ink-4)}.pm-root .cal-cell.empty{background:var(--card-2)}.pm-root .cal-cell.work{background:oklch(.952 .04 152);background:var(--up-bg)}.pm-root .cal-cell.work .amt{font-feature-settings:"tnum";color:var(--up);font-size:14px;font-variant-numeric:tabular-nums;font-weight:800}.pm-root .cal-cell.vac{background:oklch(.96 .045 70);background:var(--amber-bg)}.pm-root .cal-cell.out.vac{background:oklch(.955 .03 65)}.pm-root .cal-cell .zero{color:var(--ink-3);font-size:14px;font-weight:800}.pm-root .cal-cell .vaclbl{color:var(--amber);font-size:12.5px;font-weight:700}.pm-root .cal-cell .note{color:var(--ink-2);font-size:12px}.pm-root .cal-cell.today{border-radius:6px;box-shadow:inset 0 0 0 2px oklch(.56 .066 235);box-shadow:inset 0 0 0 2px var(--s-1)}.pm-root .cal-cell.today .d{color:oklch(.56 .066 235);color:var(--s-1)}.pm-root .cal-total{font-feature-settings:"tnum";border-bottom:1px solid var(--line);display:grid;font-size:15px;font-variant-numeric:tabular-nums;font-weight:800;place-items:center}.pm-root .cal-total.has{background:oklch(.952 .04 152);background:var(--up-bg);color:var(--up)}.pm-root .cal-total.none{color:var(--ink-4)}.calendar-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr) 56px}.calendar-wk{display:none}@media (min-width:769px){.calendar-grid{gap:4px;grid-template-columns:50px repeat(7,1fr) 80px}.calendar-wk{align-items:center;display:flex;justify-content:center}}.info-section-box{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:24px;padding:24px}.section-subtitle-text{border-bottom:2px solid #007bff;color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.doctor-search-wrapper,.office-search-wrapper,.patient-search-wrapper{margin-bottom:20px}.field-label-text{color:#495057;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.text-input-field{border:1px solid #dee2e6;border-radius:6px;font-size:14px;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.text-input-field:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.helper-text-small{color:#6c757d;font-size:12px;font-style:italic;margin-top:4px}.form-row-dual{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-field-group,.form-row-dual{margin-bottom:16px}.patient-autocomplete-wrapper{position:relative}.patient-dropdown-menu{background:#fff;border:1px solid #dee2e6;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;margin-top:-1px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.patient-dropdown-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:background .2s}.patient-dropdown-item:hover{background:#f8f9fa}.patient-dropdown-item:last-child{border-bottom:none}.patient-name-display{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:4px}.patient-dob-display{color:#6c757d;font-size:12px}.back-step-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 32px;transition:background .2s}.back-step-btn:hover{background:#5a6268}.continue-step-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 32px;transition:all .2s ease}.continue-step-btn:hover{background:#0056b3;box-shadow:0 4px 8px #007bff33;transform:translateY(-1px)}.step-actions-section{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}@media (max-width:768px){.step-actions-section{flex-direction:column}.back-step-btn,.continue-step-btn{width:100%}.form-row-dual{gap:0;grid-template-columns:1fr}.info-section-box{padding:16px}.section-subtitle-text{font-size:16px}.step-actions-section{flex-direction:column}.back-step-btn,.continue-step-btn{width:100%}}.letter-autocomplete-container{margin-bottom:16px;position:relative}.letter-autocomplete-wrapper{position:relative}.letter-autocomplete-dropdown{background:#fff;border:1px solid #dee2e6;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;margin-top:-1px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.letter-autocomplete-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:background .2s}.letter-autocomplete-item:hover{background:#f8f9fa}.letter-autocomplete-item:last-of-type{border-bottom:none}.letter-autocomplete-main{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:4px}.letter-office-separator{color:#6c757d;font-weight:400}.letter-autocomplete-secondary{color:#6c757d;font-size:12px}.letter-autocomplete-loading{color:#6c757d;font-size:14px;padding:16px;text-align:center}.letter-autocomplete-create{background:#d4edda;border-top:1px solid #c3e6cb;cursor:pointer;padding:12px 16px;transition:background .2s}.letter-autocomplete-create:hover{background:#c3e6cb}.letter-create-icon{color:#28a745;font-size:16px;font-weight:700;margin-right:8px}.letter-create-helper{color:#155724;font-size:11px;font-style:italic;margin-top:2px}.patient-autocomplete-dropdown{max-height:280px}.patient-autocomplete-item{padding:14px 16px}.patient-name-result{color:#1f2937;font-weight:600}.patient-dob-result{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;margin-left:12px;padding:2px 8px}.patient-referral-info{color:#059669;font-size:12px;margin-top:6px}.letter-autocomplete-empty{color:#9ca3af;font-size:14px;padding:16px;text-align:center}.clinical-data-step{margin:0 auto;max-width:1000px;padding:2rem}.clinical-step-header{margin-bottom:2rem;text-align:center}.clinical-step-header h2{color:#1a1a1a;font-size:1.75rem;margin-bottom:.5rem}.clinical-step-description{color:#666;font-size:.95rem;line-height:1.4;margin-bottom:.75rem}.clinical-autosave-notice{align-items:center;background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;color:#06c;display:flex;font-size:.9rem;justify-content:center;margin-top:1rem;padding:.5rem}.autosave-icon{font-size:1rem;margin-right:.5rem}.clinical-progress-summary{background:#f8f9fa;border-radius:8px;color:#495057;font-size:.95rem;font-weight:600;margin-bottom:1.5rem;padding:.75rem;text-align:center}.clinical-tabs-container{align-items:center;border-bottom:2px solid #e9ecef;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding-bottom:.5rem}.clinical-tab-item{align-items:center;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px 8px 0 0;cursor:pointer;display:flex;gap:.5rem;min-width:100px;padding:.75rem 1rem;position:relative;transition:all .2s ease}.clinical-tab-item:hover{background:#e9ecef;border-color:#adb5bd}.clinical-tab-item.clinical-tab-active{background:#fff;border-color:#06c;border-bottom:2px solid #fff;margin-bottom:-2px;padding-bottom:calc(.75rem + 2px)}.clinical-tab-item.clinical-tab-complete{background:#f0f8f0;border-color:#c3e6cb}.clinical-tab-item.clinical-tab-complete.clinical-tab-active{background:#f0f8f0;border-color:#28a745}.clinical-tab-number{color:#495057;font-size:.95rem;font-weight:600}.clinical-tab-icon{font-size:1rem}.clinical-tab-close{align-items:center;background:#dc3545;border:2px solid #fff;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.85rem;height:20px;justify-content:center;line-height:1;position:absolute;right:-6px;top:-6px;transition:all .2s ease;width:20px}.clinical-tab-close:hover{background:#c82333;transform:scale(1.1)}.clinical-add-tooth-container{position:relative}.clinical-add-tooth-btn{background:#28a745;border:none;border-radius:8px 8px 0 0;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.clinical-add-tooth-btn:hover:not(:disabled){background:#218838;transform:translateY(-2px)}.clinical-add-tooth-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.clinical-add-tooth-dropdown{background:#fff;border:2px solid #28a745;border-radius:0 8px 8px 8px;box-shadow:0 4px 12px #00000026;left:0;max-height:300px;min-width:150px;overflow-y:auto;position:absolute;top:100%;z-index:100}.clinical-add-tooth-option{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:.75rem 1rem;transition:background .2s ease}.clinical-add-tooth-option:hover{background:#f0f8f0}.clinical-add-tooth-option:last-child{border-bottom:none}.clinical-empty-state{background:#f8f9fa;border-radius:8px;color:#6c757d;font-size:1rem;padding:4rem 2rem;text-align:center}.clinical-tooth-content{background:#fff;border-radius:8px;padding:2rem}.clinical-tooth-fields{display:flex;flex-direction:column;gap:1.5rem}.clinical-soap-section{border:1px solid;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:1.5rem}.clinical-subjective-section{background:#fef5f5;border-color:#f8d7da}.clinical-objective-section{background:#f5f5ff;border-color:#e0e0f0}.clinical-assessment-section{background:#f0f7ff;border-color:#d0e5ff}.clinical-plan-section{background:#f5fef5;border-color:#d4edda}.clinical-soap-header{border-bottom:2px solid;margin-bottom:1.5rem;padding-bottom:.75rem}.clinical-subjective-section .clinical-soap-header{border-color:#f8d7da}.clinical-objective-section .clinical-soap-header{border-color:#e0e0f0}.clinical-assessment-section .clinical-soap-header{border-color:#d0e5ff}.clinical-plan-section .clinical-soap-header{border-color:#d4edda}.clinical-soap-header h3{color:#333;font-size:1.1rem;font-weight:600;margin:0}.clinical-form-card{background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-bottom:1rem;padding:1.25rem}.clinical-form-card:last-child{margin-bottom:0}.clinical-form-card h4{color:#333;font-size:.95rem;font-weight:600;margin:0 0 1rem}.clinical-form-card h5{color:#495057;font-size:.85rem;font-weight:600;margin:1rem 0 .75rem}.clinical-treatment-card{background:#f0f7ff!important;border-color:#d0e5ff!important}.clinical-eval-card{background:#fff5f0!important;border-color:#ffe0cc!important}.clinical-radio-section{margin-bottom:1rem}.clinical-radio-group{display:flex;flex-direction:column;gap:.75rem}.clinical-radio-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem;transition:background-color .2s ease}.clinical-radio-label:hover{background-color:#0066cc0d}.clinical-radio-label input[type=radio]{display:none}.clinical-radio-custom{background:#fff;border:2px solid #dee2e6;border-radius:50%;flex-shrink:0;height:18px;position:relative;transition:all .2s ease;width:18px}.clinical-radio-label input[type=radio]:checked+.clinical-radio-custom{background:#06c;border-color:#06c}.clinical-radio-label input[type=radio]:checked+.clinical-radio-custom:after{background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.clinical-radio-group-inline{display:flex;gap:1.5rem;padding:.5rem 0}.clinical-radio-label-inline{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.5rem 1rem;transition:background-color .2s ease}.clinical-radio-label-inline:hover{background-color:#0066cc0d}.clinical-radio-label-inline input[type=radio]{display:none}.clinical-radio-label-inline .clinical-radio-custom{background:#fff;border:2px solid #dee2e6;border-radius:50%;height:18px;position:relative;transition:all .2s ease;width:18px}.clinical-radio-label-inline input[type=radio]:checked+.clinical-radio-custom{background:#06c;border-color:#06c}.clinical-radio-label-inline input[type=radio]:checked+.clinical-radio-custom:after{background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.clinical-nitrous-percent-options{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-top:.5rem}.clinical-nitrous-percent-option{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.75rem;transition:background-color .2s ease}.clinical-nitrous-percent-option:hover{background-color:#e9ecef}.clinical-nitrous-percent-option input[type=radio]{display:none}.clinical-nitrous-percent-option input[type=radio]:checked+.clinical-radio-custom{background:#06c;border-color:#06c}.clinical-nitrous-percent-option input[type=radio]:checked+.clinical-radio-custom:after{background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.clinical-nitrous-percent-option .percent-label{font-weight:500}@media (max-width:768px){.clinical-nitrous-percent-options{grid-template-columns:repeat(2,1fr)}}.clinical-checkbox-section{margin-bottom:1rem}.clinical-checkbox-group{display:flex;flex-direction:column;gap:.75rem}.clinical-checkbox-group-horizontal{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem 1.5rem}.clinical-checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem;transition:background-color .2s ease}.clinical-checkbox-label:hover{background-color:#28a7450d}.clinical-checkbox-label input[type=checkbox]{display:none}.clinical-checkbox-custom{background:#fff;border:2px solid #dee2e6;border-radius:4px;flex-shrink:0;height:18px;position:relative;transition:all .2s ease;width:18px}.clinical-checkbox-label input[type=checkbox]:checked+.clinical-checkbox-custom{background:#28a745;border-color:#28a745}.clinical-checkbox-label input[type=checkbox]:checked+.clinical-checkbox-custom:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.clinical-custom-input,.clinical-text-input{border:1px solid #ced4da;border-radius:6px;font-size:.9rem;padding:.75rem;width:100%}.clinical-custom-input:focus,.clinical-text-input:focus{border-color:#06c;box-shadow:0 0 0 2px #0066cc1a;outline:none}.clinical-custom-input{margin-top:.5rem}.clinical-select-input{background-color:#fff;border:1px solid #ced4da;border-radius:6px;font-size:.9rem;padding:.75rem;width:100%}.clinical-select-input:focus{border-color:#06c;box-shadow:0 0 0 2px #0066cc1a;outline:none}.clinical-btn-manage-options{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-bottom:1rem;padding:.6rem;transition:all .2s;width:100%}.clinical-btn-manage-options:hover{background:#5a6268;transform:translateY(-1px)}.clinical-btn-add-entry{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:1rem;padding:.75rem;transition:all .2s;width:100%}.clinical-btn-add-entry:hover{background:#218838;transform:translateY(-1px)}.clinical-btn-remove-entry{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-top:1rem;padding:.5rem 1rem;transition:all .2s}.clinical-btn-remove-entry:hover{background:#c82333}.clinical-anesthetic-entries,.clinical-canal-entries{margin:1rem 0}.clinical-anesthetic-entry-card,.clinical-canal-entry-card{background:#fff;border:2px solid #dee2e6;border-radius:8px;margin-bottom:1rem;padding:1.25rem}.clinical-entry-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.clinical-entry-header h5{color:#06c;font-size:1rem;font-weight:700;margin:0}.clinical-entry-header .clinical-btn-remove-entry{font-size:.8rem;margin-top:0;padding:.4rem .8rem}.clinical-entry-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.clinical-canal-entry-row{display:flex;flex-wrap:nowrap;gap:1rem;margin-bottom:1rem}.clinical-entry-field{min-width:200px}.clinical-canal-entry-field,.clinical-entry-field{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.clinical-canal-entry-field{min-width:120px}.clinical-entry-field label{color:#495057;font-size:.85rem;font-weight:600}.clinical-treatment-toggle-section{margin:2rem auto;max-width:600px;padding:0 2rem}.clinical-toggle-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;text-align:center}.clinical-toggle-card h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.clinical-toggle-label{align-items:center;cursor:pointer;display:flex;font-size:1rem;gap:1rem;justify-content:center}.clinical-toggle-input{display:none}.clinical-toggle-slider{background:#ccc;border-radius:30px;flex-shrink:0;height:30px;position:relative;transition:all .3s ease;width:60px}.clinical-toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:24px;left:3px;position:absolute;top:3px;transition:all .3s ease;width:24px}.clinical-toggle-input:checked+.clinical-toggle-slider{background:#06c}.clinical-toggle-input:checked+.clinical-toggle-slider:before{transform:translateX(30px)}.clinical-toggle-text{color:#333;font-weight:500}.clinical-error-text{color:#dc3545;font-size:.8rem;font-weight:500;margin-top:.5rem}.clinical-step-navigation{align-items:center;border-top:2px solid #f8f9fa;display:flex;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:2rem}.clinical-step-nav-actions{display:flex;gap:1rem}.clinical-autosave-status{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:.85rem;min-width:150px;padding:.5rem .75rem;text-align:center}.autosave-saving{color:#06c;font-weight:600}.autosave-saved{color:#28a745;font-weight:600}.autosave-error{color:#dc3545;font-weight:600}.autosave-ready{color:#6c757d;font-style:italic}.autosave-pending{color:#ffc107;font-style:italic}.clinical-sync-note{background-color:#f0f7ff;border:1px solid #b3d7ff;border-radius:6px;color:#004085;font-size:.9rem;margin-bottom:1rem;margin-top:1.5rem;padding:.75rem 1rem}.clinical-sync-note p{align-items:center;display:flex;margin:0}.sync-icon{color:#06c;font-size:1.1rem;margin-right:.5rem}.clinical-btn-primary,.clinical-btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.clinical-btn-secondary{background-color:#f5f5f5;color:#333}.clinical-btn-secondary:hover{background-color:#e0e0e0}.clinical-btn-primary{background-color:#06c;color:#fff}.clinical-btn-primary:hover{background-color:#0052a3;box-shadow:0 4px 8px #06c3;transform:translateY(-1px)}.clinical-btn-primary:active,.clinical-btn-secondary:active{transform:translateY(0)}@media (max-width:768px){.clinical-data-step{padding:1rem}.clinical-radio-group-inline{flex-direction:column;gap:.75rem}.clinical-step-navigation{flex-direction:column}.clinical-btn-primary,.clinical-btn-secondary{width:100%}.clinical-treatment-toggle-section{padding:0 1rem}.clinical-toggle-card{padding:1.5rem}.clinical-toggle-label{flex-direction:column;gap:.75rem}}.anesthetic-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.anesthetic-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;width:90%}.anesthetic-modal-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.anesthetic-modal-header h2{color:#1a1a1a;font-size:1.5rem;margin:0}.anesthetic-modal-close{background:none;border:none;color:#6c757d;cursor:pointer;font-size:2rem;height:30px;line-height:1;padding:0;width:30px}.anesthetic-modal-close:hover{color:#dc3545}.anesthetic-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.anesthetic-loading{color:#6c757d;padding:2rem;text-align:center}.anesthetic-section{margin-bottom:2rem}.anesthetic-section h3{border-bottom:2px solid #06c;color:#06c;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem}.anesthetic-list{margin-bottom:1rem}.anesthetic-item{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.anesthetic-name{color:#333;flex:1 1;font-size:.95rem}.anesthetic-edit-input{border:2px solid #06c;border-radius:4px;flex:1 1;font-size:.95rem;padding:.5rem}.anesthetic-actions{display:flex;gap:.5rem}.anesthetic-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .2s}.anesthetic-actions button:not(.anesthetic-delete){background:#6c757d;color:#fff}.anesthetic-actions button:not(.anesthetic-delete):hover{background:#5a6268}.anesthetic-actions button:disabled{cursor:not-allowed;opacity:.5}.anesthetic-delete{background:#dc3545!important;color:#fff!important}.anesthetic-delete:hover{background:#c82333!important}.anesthetic-add{display:flex;gap:.5rem;margin-top:1rem}.anesthetic-add-input{border:1px solid #ced4da;border-radius:6px;flex:1 1;font-size:.95rem;padding:.6rem}.anesthetic-add-input:focus{border-color:#06c;box-shadow:0 0 0 2px #0066cc1a;outline:none}.anesthetic-add-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;transition:all .2s;white-space:nowrap}.anesthetic-add-btn:hover{background:#218838;transform:translateY(-1px)}.anesthetic-modal-footer{border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.anesthetic-btn-cancel,.anesthetic-btn-save{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.anesthetic-btn-cancel{background:#f5f5f5;color:#333}.anesthetic-btn-cancel:hover{background:#e0e0e0}.anesthetic-btn-save{background:#06c;color:#fff}.anesthetic-btn-save:hover{background:#0052a3;transform:translateY(-1px)}.anesthetic-btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.anesthetic-modal-content{max-height:95vh;width:95%}.anesthetic-item{align-items:stretch;flex-direction:column;gap:.5rem}.anesthetic-actions{justify-content:flex-end}.anesthetic-add{flex-direction:column}.anesthetic-modal-footer{flex-direction:column-reverse}.anesthetic-btn-cancel,.anesthetic-btn-save{width:100%}}.canal-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.canal-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:90%}.canal-modal-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.canal-modal-header h2{color:#1a1a1a;font-size:1.5rem;margin:0}.canal-modal-close{background:none;border:none;color:#6c757d;cursor:pointer;font-size:2rem;height:30px;line-height:1;padding:0;width:30px}.canal-modal-close:hover{color:#dc3545}.canal-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.canal-loading{color:#6c757d;padding:2rem;text-align:center}.canal-list{margin-bottom:1rem}.canal-item{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.canal-name{color:#333;flex:1 1;font-size:.95rem}.canal-edit-input{border:2px solid #06c;border-radius:4px;flex:1 1;font-size:.95rem;padding:.5rem}.canal-actions{display:flex;gap:.5rem}.canal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .2s}.canal-actions button:not(.canal-delete){background:#6c757d;color:#fff}.canal-actions button:not(.canal-delete):hover{background:#5a6268}.canal-actions button:disabled{cursor:not-allowed;opacity:.5}.canal-delete{background:#dc3545!important;color:#fff!important}.canal-delete:hover{background:#c82333!important}.canal-add{display:flex;gap:.5rem;margin-top:1rem}.canal-add-input{border:1px solid #ced4da;border-radius:6px;flex:1 1;font-size:.95rem;padding:.6rem}.canal-add-input:focus{border-color:#06c;box-shadow:0 0 0 2px #0066cc1a;outline:none}.canal-add-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;transition:all .2s;white-space:nowrap}.canal-add-btn:hover{background:#218838;transform:translateY(-1px)}.canal-modal-footer{border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.canal-btn-cancel,.canal-btn-save{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.canal-btn-cancel{background:#f5f5f5;color:#333}.canal-btn-cancel:hover{background:#e0e0e0}.canal-btn-save{background:#06c;color:#fff}.canal-btn-save:hover{background:#0052a3;transform:translateY(-1px)}.canal-btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.canal-modal-content{max-height:95vh;width:95%}.canal-item{align-items:stretch;flex-direction:column;gap:.5rem}.canal-actions{justify-content:flex-end}.canal-add{flex-direction:column}.canal-modal-footer{flex-direction:column-reverse}.canal-btn-cancel,.canal-btn-save{width:100%}}.tooth-selector{-webkit-user-select:none;user-select:none;width:100%}.tooth-graphic{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;width:100%}.tooth-circle{border:2px solid #ddd;color:#333;font-size:.75rem;height:32px;min-width:28px;transition:all .2s ease;width:32px}.tooth-circle:hover{background-color:#f0f7ff;border-color:#06c;transform:scale(1.05)}.tooth-circle.selected{background-color:#06c;border-color:#06c;box-shadow:0 2px 8px #0066cc4d}.tooth-graphic-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;width:100%}.clear-all-btn{background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background-color .2s ease}.clear-all-btn:hover{background-color:#5a6268}.selection-summary{background-color:#f0f7ff;border:1px solid #b3d9ff;color:#06c;flex:1 1;font-size:.85rem;padding:.5rem 1rem;text-align:center}@media (max-width:768px){.tooth-circle{font-size:.7rem;height:28px;min-width:24px;width:28px}.tooth-row{gap:.2rem}.tooth-graphic-controls{flex-direction:column;gap:.5rem}.selection-summary{width:100%}}@media (max-width:480px){.tooth-circle{font-size:.65rem;height:24px;min-width:20px;width:24px}.tooth-row{gap:.1rem}}.image-upload-step{margin:0 auto;max-width:1000px;padding:2rem}.step-header{margin-bottom:2.5rem;text-align:center}.step-header h2{color:#1a1a1a;font-size:1.75rem;margin-bottom:.5rem}.step-description{color:#666;font-size:.95rem}.upload-section{margin-bottom:3rem}.upload-dropzone{background-color:#f8f9fa;border:3px dashed #ddd;border-radius:12px;padding:3rem 2rem;position:relative;text-align:center;transition:all .3s ease}.upload-dropzone:hover{background-color:#f0f7ff;border-color:#06c}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.upload-subtext{color:#666;font-size:.9rem;margin-bottom:1.5rem}.upload-input{display:none}.upload-button{background-color:#06c;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.upload-button:hover{background-color:#0052a3;transform:translateY(-1px)}.upload-status{color:#06c;font-weight:600;margin-top:1rem;text-align:center}.error-message{background-color:#fff3f3;border-left:4px solid #dc3545;border-radius:4px;color:#dc3545;margin-top:1rem;padding:1rem}.uploaded-images-list{margin-top:2rem}.uploaded-images-list h3{color:#333;font-size:1.25rem;margin-bottom:1rem}.images-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.uploaded-image-card{background-color:#fff;border:2px solid #ddd;border-radius:8px;padding:.5rem;position:relative;transition:all .2s ease}.uploaded-image-card:hover{border-color:#06c;box-shadow:0 4px 12px #0066cc26}.uploaded-image-card img{border-radius:4px;height:120px;margin-bottom:.5rem;object-fit:cover;width:100%}.image-card-actions{position:absolute;right:.75rem;top:.75rem}.delete-btn{align-items:center;background-color:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:all .2s ease;width:28px}.delete-btn:hover{background-color:#dc3545;transform:scale(1.1)}.image-filename{color:#666;font-size:.8rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-section{margin-bottom:2rem}.layout-section h3{color:#333;font-size:1.25rem;margin-bottom:1rem}.layout-buttons{display:flex;gap:1rem}.layout-btn{background-color:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.layout-btn:hover{background-color:#f0f7ff;border-color:#06c}.layout-btn.active{background-color:#06c;border-color:#06c;color:#fff}.grid-section{margin-bottom:2rem}.grid-section h3{color:#333;font-size:1.25rem;margin-bottom:.5rem}.grid-instructions{color:#666;font-size:.9rem;margin-bottom:1.5rem}.image-grid{grid-gap:1rem;background-color:#f8f9fa;border-radius:12px;display:grid;gap:1rem;padding:1.5rem}.image-grid.layout-1{grid-template-columns:1fr;margin:0 auto;max-width:300px}.image-grid.layout-2{grid-template-columns:repeat(2,1fr)}.image-grid.layout-3{grid-template-columns:repeat(3,1fr)}.image-grid.layout-4{grid-template-columns:repeat(4,1fr)}.image-grid.layout-1x2{grid-template-columns:repeat(2,1fr)}.image-grid.layout-1x3{grid-template-columns:repeat(3,1fr)}.image-grid.layout-2x2{grid-template-columns:repeat(2,1fr)}.image-grid.layout-2x3,.image-grid.layout-3x3{grid-template-columns:repeat(3,1fr)}.grid-slot{background-color:#fff;border:2px solid #ddd;border-radius:8px;display:flex;flex-direction:column;min-height:280px;padding:1rem;position:relative}.grid-slot-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.slot-number{color:#666;font-size:.85rem;font-weight:600}.delete-slot-btn{align-items:center;background-color:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;transition:all .2s ease;width:24px}.delete-slot-btn:hover{background-color:#dc3545;transform:scale(1.1)}.grid-slot img{border:1px solid #e9ecef;border-radius:4px;height:150px;margin-bottom:.75rem;object-fit:cover;width:100%}.grid-slot-controls{gap:.5rem;margin-top:auto}.grid-slot-controls,.label-field{display:flex;flex-direction:column}.label-field{gap:.25rem}.label-text{color:#666;font-size:.8rem;font-weight:600}.label-select{background-color:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem;transition:all .2s ease}.label-select:focus{border-color:#06c;outline:none}.label-select:hover{border-color:#999}.custom-label-input{border:2px solid #ddd;font-size:.9rem;padding:.5rem}.custom-label-input:focus{border-color:#06c}.swap-slot-btn{background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem;transition:all .2s ease}.swap-slot-btn:hover{background-color:#5a6268}.empty-slot{align-items:center;background-color:#f8f9fa;border:2px dashed #ddd;border-radius:4px;color:#999;display:flex;flex-direction:column;height:100%;justify-content:center;padding:1rem}.empty-slot-text{color:#666;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.empty-slot-instruction{color:#999;font-size:.85rem;margin-bottom:.75rem}.empty-slot-hint{color:#999;font-size:.85rem;font-style:italic;margin:0}.slot-image-picker{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);max-width:200px;width:100%}.add-image-btn{background:none;border:2px solid #ddd;border-radius:6px;cursor:pointer;overflow:hidden;padding:0;transition:all .2s ease}.add-image-btn:hover{border-color:#06c;box-shadow:0 2px 8px #06c3;transform:scale(1.05)}.add-image-btn img{display:block;height:50px;object-fit:cover;width:100%}.step-navigation{margin-top:3rem}.btn-secondary:hover{background-color:#e0e0e0}.btn-primary:hover{background-color:#0052a3;box-shadow:0 4px 8px #06c3;transform:translateY(-1px)}@media (max-width:768px){.image-upload-step{padding:1.5rem}.images-grid{grid-template-columns:repeat(2,1fr)}.layout-buttons{flex-wrap:wrap}.image-grid.layout-2x3,.image-grid.layout-3,.image-grid.layout-3x3,.image-grid.layout-4,.slot-image-picker{grid-template-columns:repeat(2,1fr)}}.preset-banner{align-items:flex-start;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 8px #2196f31a;display:flex;gap:12px;margin-bottom:2rem;padding:16px 20px}.preset-banner-icon{flex-shrink:0;font-size:24px;line-height:1}.preset-banner-content{display:flex;flex-direction:column;gap:4px}.preset-banner-content strong{color:#1565c0;font-size:14px;font-weight:600}.preset-banner-content span{color:#1976d2;font-size:13px}@media (max-width:768px){.preset-banner{padding:12px 16px}.preset-banner-icon{font-size:20px}.preset-banner-content strong{font-size:13px}.preset-banner-content span{font-size:12px}}.preview-step{margin:0 auto;max-width:900px;padding:2rem}.preview-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.preview-header h2{color:#1a1a1a;font-size:1.75rem;margin:0}.preview-actions{display:flex;gap:.75rem}.btn-edit{background-color:#6c757d;color:#fff;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-edit:hover{background-color:#5a6268;transform:translateY(-1px)}.btn-ai-polish{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-ai-polish:before{content:"✨ "}.btn-ai-polish:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.letter-preview-container{background-color:#fff;border:none;border-radius:0;box-shadow:none;font-size:10pt;line-height:1.3;margin-bottom:2rem;padding:1.5rem}.letter-header{border-bottom:1px solid #e9ecef;margin-bottom:.5rem;padding-bottom:.5rem}.practice-header-row{align-items:center;display:flex;gap:.75rem}.practice-logo{flex-shrink:0;height:40px;max-width:80px;object-fit:contain;width:auto}.practice-info{text-align:left}.practice-info h1{color:#1b4332;font-size:11pt;font-weight:700;line-height:1.2;margin:0}.practice-info p{color:#555;font-size:8pt;line-height:1.3;margin:0}.letter-date{color:#333;font-size:10pt;font-weight:600;text-align:right}.recipient-info{margin-bottom:.75rem}.recipient-info p{color:#333;font-size:10pt;line-height:1.3;margin:.1rem 0}.letter-divider{border:none;border-top:1px solid #e9ecef;margin:.75rem 0}.letter-content{color:#333;line-height:1.4}.letter-section{margin-bottom:.75rem}.letter-paragraph{font-size:10pt;line-height:1.4;margin:0;text-align:justify}.preview-soap-section{margin:1rem 0}.preview-soap-section h3{border-bottom:1px solid #1b4332;color:#1b4332;font-size:11pt;margin-bottom:.5rem;padding-bottom:.25rem}.soap-item{display:flex;gap:.5rem;margin-bottom:.5rem}.soap-item strong{color:#1b4332;font-size:10pt;font-weight:700;min-width:25px}.soap-text{flex:1 1}.edit-textarea,.soap-text{font-size:10pt;line-height:1.4}.edit-textarea{border:2px solid #06c;border-radius:8px;font-family:inherit;padding:.5rem;resize:vertical;transition:all .2s ease;width:100%}.edit-textarea:focus{border-color:#0052a3;box-shadow:0 0 0 3px #0066cc1a;outline:none}.soap-textarea{flex:1 1;min-height:50px}.images-section{margin:1rem 0}.images-section h3{border-bottom:1px solid #1b4332;color:#1b4332;font-size:11pt;margin-bottom:.5rem;padding-bottom:.25rem}.images-grid{grid-gap:.5rem;align-items:end;gap:.5rem;margin-top:.5rem;page-break-inside:avoid}.preview-images-1{grid-template-columns:1fr;margin:0 auto;max-width:200px}.preview-images-2{grid-template-columns:repeat(2,1fr)}.preview-images-3{grid-template-columns:repeat(3,1fr)}.preview-images-4{grid-template-columns:repeat(4,1fr)}.preview-grid-1x2{grid-template-columns:repeat(2,1fr)}.preview-grid-1x3{grid-template-columns:repeat(3,1fr)}.preview-grid-2x2{grid-template-columns:repeat(2,1fr)}.preview-grid-2x3,.preview-grid-3x3{grid-template-columns:repeat(3,1fr)}.preview-image-card{background-color:initial;border:none;border-radius:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:140px;overflow:visible;page-break-inside:avoid}.preview-empty-slot{min-height:140px;visibility:hidden}.preview-image-card img{align-self:center;background-color:initial;display:block;margin-bottom:.5rem;max-height:105px;object-fit:contain;padding:0;width:100%}.image-label{background-color:initial;border-top:none;color:#666;font-size:8pt;font-weight:600;line-height:1.3;min-height:20px;padding:0 0 .5rem;text-align:center}.letter-closing{margin-top:1rem}.letter-closing p{font-size:10pt;margin:.25rem 0}@media print{.preview-header,.step-navigation{display:none!important}.letter-preview-container{border:none;box-shadow:none;padding:.5in;page-break-inside:avoid}.images-grid,.images-section{page-break-inside:avoid}}.step-navigation{display:flex;gap:1rem;justify-content:space-between}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.btn-secondary{background-color:#f5f5f5;color:#333}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#06c}.btn-primary:hover:not(:disabled){background-color:#0052a3;box-shadow:0 4px 8px #06c3;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5}@media (max-width:768px){.letter-preview-container,.preview-step{padding:1rem}.preview-header{align-items:flex-start;flex-direction:column;gap:1rem}.preview-actions{flex-direction:column;width:100%}.preview-actions button{width:100%}.letter-header{flex-direction:column;gap:.5rem}.letter-date{text-align:left}.images-grid{grid-template-columns:repeat(2,1fr)!important}.images-grid.preview-images-1{grid-template-columns:1fr!important}.step-navigation{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.btn-secondary:has(:contains("✓ Copied!")){background:#28a745!important;color:#fff!important}.preview-actions .btn-secondary{transition:background-color .3s ease}.ai-polish-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ai-polish-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.ai-polish-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.ai-polish-modal-header h2{align-items:center;color:#fff;display:flex;font-size:1.5rem;gap:.5rem;margin:0}.ai-polish-modal-header h2:before{content:"✨"}.ai-polish-header-actions{align-items:center;display:flex;gap:.5rem}.ai-polish-settings-btn{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.4rem;transition:background .2s}.ai-polish-settings-btn:hover{background:#ffffff4d}.ai-polish-modal-close{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;transition:background .2s}.ai-polish-modal-close:hover{background:#ffffff4d}.ai-polish-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.ai-polish-info{background:#f0f7ff;border:1px solid #b3d4fc;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.ai-polish-info p{color:#1a5276;font-size:.95rem;line-height:1.5;margin:0}.ai-polish-current-soap{margin-bottom:1.5rem}.ai-polish-toggle-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:all .2s;width:100%}.ai-polish-toggle-btn:hover{background:#e9ecef}.ai-polish-current-content{background:#fafafa;border:1px solid #e9ecef;border-radius:6px;margin-top:.75rem;max-height:200px;overflow-y:auto;padding:1rem}.ai-polish-current-section{margin-bottom:.75rem}.ai-polish-current-section:last-child{margin-bottom:0}.ai-polish-current-section strong{color:#495057;font-size:.85rem}.ai-polish-current-section p{color:#6c757d;font-size:.9rem;line-height:1.4;margin:.25rem 0 0}.ai-polish-context-section{margin-bottom:1.5rem}.ai-polish-context-section label{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.ai-polish-context-help{color:#6c757d;font-size:.85rem;line-height:1.4;margin:0 0 .75rem}.ai-polish-context-input{border:1px solid #ced4da;border-radius:6px;font-family:inherit;font-size:.95rem;min-height:100px;padding:.75rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.ai-polish-context-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.ai-polish-context-input:disabled{background:#f8f9fa;cursor:not-allowed}.ai-polish-settings-section{margin-bottom:1.5rem}.ai-polish-settings-section label{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.ai-polish-prompt-textarea{background:#fafafa;border:1px solid #ced4da;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;min-height:300px;padding:.75rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.ai-polish-prompt-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.ai-polish-prompt-textarea:disabled{background:#f8f9fa;cursor:not-allowed}.ai-polish-settings-actions{display:flex;gap:.75rem;justify-content:flex-start;margin-top:1rem}.ai-polish-reset-btn{background:#f8f9fa;border:1px solid #ced4da;border-radius:6px;color:#6c757d;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.ai-polish-reset-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.ai-polish-reset-btn:disabled{cursor:not-allowed;opacity:.6}.ai-polish-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.ai-polish-error,.ai-polish-success{font-size:.9rem;margin:1rem 0;padding:1rem}.ai-polish-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00}.ai-polish-generate-section{padding-top:1rem;text-align:center}.ai-polish-generate-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.5rem;padding:1rem 2.5rem;transition:all .2s}.ai-polish-generate-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.ai-polish-generate-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.ai-polish-spinner{animation:ai-polish-spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes ai-polish-spin{to{transform:rotate(1turn)}}.ai-polish-result-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.ai-polish-result-header h3{color:#333;font-size:1.2rem;margin:0}.ai-polish-result-actions{display:flex;gap:.5rem}.ai-polish-done-btn,.ai-polish-edit-btn,.ai-polish-regenerate-btn{border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.ai-polish-edit-btn{background:#06c;border:none;color:#fff}.ai-polish-edit-btn:hover{background:#0052a3}.ai-polish-done-btn{background:#28a745;border:none;color:#fff}.ai-polish-done-btn:hover{background:#218838}.ai-polish-regenerate-btn{background:#fff;border:1px solid #ced4da;color:#6c757d}.ai-polish-regenerate-btn:hover{background:#f8f9fa;border-color:#adb5bd}.ai-polish-result-content{display:flex;flex-direction:column;gap:1.25rem}.ai-polish-soap-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.ai-polish-soap-section label{color:#06c;display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.ai-polish-soap-text{color:#333;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.ai-polish-soap-text em{color:#6c757d}.ai-polish-soap-textarea{border:2px solid #06c;border-radius:6px;font-family:inherit;font-size:.95rem;line-height:1.5;min-height:80px;padding:.75rem;resize:vertical;width:100%}.ai-polish-soap-textarea:focus{border-color:#0052a3;box-shadow:0 0 0 3px #0066cc26;outline:none}.ai-polish-modal-footer{background:#fafafa;border-radius:0 0 12px 12px;border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.ai-polish-btn-apply,.ai-polish-btn-cancel{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.ai-polish-btn-cancel{background:#f5f5f5;color:#333}.ai-polish-btn-cancel:hover{background:#e0e0e0}.ai-polish-btn-apply{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.ai-polish-btn-apply:hover:not(:disabled){box-shadow:0 4px 12px #28a74566;transform:translateY(-1px)}.ai-polish-btn-apply:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.ai-polish-modal-content{max-height:95vh;width:95%}.ai-polish-modal-header{padding:1rem}.ai-polish-modal-header h2{font-size:1.25rem}.ai-polish-modal-body{padding:1rem}.ai-polish-result-header{align-items:flex-start;flex-direction:column;gap:.75rem}.ai-polish-result-actions{justify-content:flex-start;width:100%}.ai-polish-generate-btn{justify-content:center;width:100%}.ai-polish-modal-footer{flex-direction:column-reverse;padding:1rem}.ai-polish-btn-apply,.ai-polish-btn-cancel{width:100%}}.letter-creation-wrapper{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.letter-creation-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.letter-creation-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 10px #0000000d;display:flex;justify-content:space-between;padding:24px 32px;position:sticky;top:0;z-index:1500}.letter-creation-header h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.letter-cancel-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.letter-cancel-btn:hover{background:#f8f9fa;color:#495057}.save-draft-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.save-draft-btn:hover:not(:disabled){background:#218838}.save-draft-btn:disabled{cursor:not-allowed;opacity:.6}.letter-progress-bar{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-top:-1px;padding:32px 32px 24px;position:sticky;top:73px;z-index:1499}.letter-progress-step{align-items:center;display:flex;flex:0 0 auto;flex-direction:column}.letter-step-circle{align-items:center;background:#e9ecef;border-radius:50%;color:#6c757d;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin-bottom:8px;transition:all .3s;width:40px}.letter-progress-step.active .letter-step-circle{background:#007bff;color:#fff}.letter-progress-step.completed .letter-step-circle{background:#28a745;color:#fff}.letter-step-label{color:#6c757d;font-size:12px;font-weight:500}.letter-progress-step.active .letter-step-label{color:#007bff;font-weight:600}.letter-progress-line{background:#e9ecef;flex:1 1;height:2px;margin:0 16px 24px}.letter-step-content{padding:32px}@media (max-width:768px){.letter-creation-wrapper{padding:0}.letter-creation-container{border-radius:0;max-height:100vh;max-width:100%}.letter-creation-header{padding:16px 20px}.letter-creation-header h2{font-size:20px}.letter-progress-bar{padding:20px 16px 16px}.letter-step-circle{font-size:12px;height:32px;width:32px}.letter-step-label{font-size:10px}.letter-progress-line{margin:0 8px 20px}.letter-step-content{padding:20px}}.letters-dashboard{margin:0 auto;max-width:1400px;padding:40px 24px}.letters-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.letters-header h1{color:#2c3e50;font-size:28px;font-weight:600;margin:0}.btn-new-letter{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;transition:background .2s}.btn-new-letter:hover{background:#0056b3}.letters-controls{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;margin-bottom:24px;padding:20px}.search-input{border:1px solid #dee2e6;flex:1 1;font-size:14px;padding:10px 16px}.search-input:focus{border-color:#007bff}.status-filters{display:flex;gap:8px}.filter-btn{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-btn:hover{background:#e9ecef}.filter-btn.active{background:#007bff;border-color:#007bff;color:#fff}.letters-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.letters-table{border-collapse:collapse;width:100%}.letters-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.letters-table th{color:#495057;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.letters-table td{border-bottom:1px solid #f0f0f0;color:#495057;font-size:14px;padding:16px}.letters-table tbody tr:hover{background:#f8f9fa}.status-badge{padding:4px 12px}.status-badge.sent{background:#d4edda;color:#155724}.status-badge.draft{background:#fff3cd;color:#856404}.letters-dashboard .tooth-pill{background:#007bff;border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.btn-view{background:#007bff;border-radius:4px;padding:6px 16px;transition:background .2s}.btn-view:hover{background:#0056b3}.btn-resume{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 16px;transition:background .2s}.btn-resume:hover{background:#218838}.btn-edit{background:#ffc107;border:none;border-radius:4px;color:#000;padding:6px 16px;transition:background .2s}.btn-edit:hover{background:#e0a800}.empty-state{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:80px 40px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h2{color:#2c3e50;font-size:24px;margin-bottom:8px}.empty-state p{color:#6c757d;font-size:16px}.letters-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:48px;width:48px}@media (max-width:768px){.letters-dashboard{padding:20px 12px}.letters-header{align-items:flex-start;flex-direction:column;gap:16px}.letters-controls{align-items:stretch;flex-direction:column}.status-filters{width:100%}.filter-btn{flex:1 1}.letters-table{font-size:12px}.letters-table td,.letters-table th{padding:12px 8px}}.action-buttons{display:flex;gap:8px}.btn-delete{background:#dc3545;border-radius:4px;font-size:13px;padding:6px 16px;transition:background .2s}.btn-delete:hover{background:#c82333}.btn-archive{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:background .2s}.btn-archive:hover{background:#5a6268}.status-badge.archived{background:#e9ecef;color:#495057}.patient-form{display:flex;flex-direction:column;height:100%}.patient-form-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.patient-form-header svg:first-child{color:#3b82f6;flex-shrink:0;margin-top:2px}.patient-form-header div{flex:1 1}.patient-form-header h2{color:#111827;font-size:18px;font-weight:600;margin:0}.patient-form-header p{color:#6b7280;font-size:14px;margin:4px 0 0}.close-btn{padding:8px}.close-btn:hover{background:#e5e7eb}.form-error-banner{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;font-size:14px;gap:8px;padding:12px 24px}.patient-form-body{flex:1 1;overflow-y:auto;padding:24px}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.form-section h3{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 16px}.form-section h3 svg{color:#6b7280}.form-section.collapsible{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;padding:0}.section-toggle{align-items:center;background:#f9fafb;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:14px 16px;transition:background-color .15s ease;width:100%}.section-toggle:hover{background:#f3f4f6}.section-toggle svg{color:#6b7280}.section-toggle .optional{color:#9ca3af;font-weight:400}.section-toggle .toggle-indicator{color:#6b7280;font-size:18px;margin-left:auto}.form-section.collapsible .form-grid{background:#fff;border-top:1px solid #e5e7eb;padding:16px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.address-grid{grid-template-columns:1fr 80px 120px}.form-group.state-group,.form-group.zip-group{grid-column:auto}.form-group label svg{color:#9ca3af}.required{color:#ef4444}.optional{color:#9ca3af;font-size:12px;font-weight:400}.form-group input,.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:10px 12px;transition:all .15s ease}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input.error,.form-group select.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-group input::placeholder{color:#9ca3af}.form-group input:disabled{background:#f9fafb;color:#6b7280}.error-text{color:#ef4444;font-size:12px}.field-hint{color:#6b7280;font-size:12px}.patient-form-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}@media (max-width:640px){.patient-form-body,.patient-form-header{padding:16px}.address-grid,.form-grid{grid-template-columns:1fr}.form-group.full-width,.form-group.state-group,.form-group.zip-group{grid-column:auto}.patient-form-footer{flex-direction:column-reverse;padding:16px}.btn-cancel,.btn-save{justify-content:center;width:100%}}.tab-container{display:flex;flex-direction:column;height:100%}.tab-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:20px 24px}.tab-header,.tab-header-info{align-items:center;display:flex}.tab-header-info{gap:12px}.tab-header-info svg{color:#3b82f6}.tab-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0}.tab-header-info p{color:#6b7280;font-size:13px;margin:2px 0 0}.btn-add{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-add:hover{background:#2563eb}.btn-save{display:inline-flex;padding:10px 16px;transition:all .15s ease}.btn-save:disabled{background:#93c5fd}.btn-cancel{padding:10px 16px;transition:all .15s ease}.btn-cancel:hover{border-color:#9ca3af}.btn-delete{background:#ef4444;border:none;color:#fff;display:inline-flex;transition:all .15s ease}.btn-delete:hover{background:#dc2626}.btn-icon{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.btn-icon:hover{background:#f3f4f6;color:#111827}.btn-icon.delete:hover{background:#fef2f2;color:#ef4444}.tab-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px}.tab-loading svg{color:#3b82f6;margin-bottom:12px}.tab-error{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;font-size:14px;gap:8px;padding:12px 24px}.tab-error button{background:#0000;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:4px}.tab-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.tab-empty svg{color:#d1d5db;margin-bottom:16px}.tab-empty h4{color:#374151;font-size:16px;margin:0 0 8px}.tab-empty p{font-size:14px;margin:0 0 20px}.tab-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px 24px}.tab-form h4{color:#374151;font-size:15px;font-weight:600;margin:0 0 16px}.form-grid-3{grid-gap:16px;grid-template-columns:repeat(3,1fr)}.form-grid-2,.form-grid-3{display:grid;gap:16px;margin-bottom:16px}.form-grid-2{grid-gap:16px;grid-template-columns:repeat(2,1fr)}.form-group.full-width{grid-column:1/-1}.form-group label .required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{border-radius:6px;color:#111827;transition:all .15s ease}.checkbox-group{justify-content:flex-end}.checkbox-label input{accent-color:#3b82f6;height:16px;width:16px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.tab-content{flex:1 1;overflow-y:auto;padding:20px 24px}.insurance-list{display:flex;flex-direction:column;gap:16px}.insurance-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.insurance-card.inactive{opacity:.7}.insurance-card-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.insurance-type{align-items:center;display:flex;gap:10px}.type-badge{border-radius:6px;font-size:12px;font-weight:600;padding:4px 10px}.type-badge.primary{background:#dbeafe;color:#1d4ed8}.type-badge.secondary{background:#e0e7ff;color:#4338ca}.type-badge.tertiary{background:#f3e8ff;color:#7c3aed}.status-badge{padding:3px 8px}.status-badge.active{background:#d1fae5;color:#059669}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.insurance-actions{display:flex;gap:4px}.insurance-card-body{padding:16px}.company-info{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.company-info svg{color:#6b7280;margin-top:2px}.company-info strong{color:#111827;display:block;font-size:15px}.company-phone{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:4px;margin-top:4px}.policy-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item label{color:#6b7280;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#111827;font-size:14px}.policy-notes{background:#f9fafb;border-radius:6px;color:#6b7280;font-size:13px;margin-top:12px;padding:12px}.documents-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.document-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .15s ease}.document-card:hover{box-shadow:0 4px 12px #00000014}.document-preview{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;height:120px;justify-content:center}.document-preview svg{color:#d1d5db}.document-preview img{height:100%;object-fit:cover;width:100%}.document-info{padding:14px}.document-name{color:#111827;font-size:14px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.document-type-badge{background:#e0e7ff;border-radius:4px;color:#4338ca;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.document-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:flex-end;padding:12px 14px}.notes-list{display:flex;flex-direction:column;gap:12px}.note-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.note-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.note-meta{display:flex;flex-direction:column;gap:4px}.note-author{color:#111827;font-size:13px;font-weight:500}.note-date{color:#6b7280;font-size:12px}.note-actions{display:flex;gap:4px}.note-content{color:#374151;font-size:14px;line-height:1.6;white-space:pre-wrap}.note-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.note-tag{background:#f3f4f6;border-radius:4px;color:#374151;display:inline-flex;font-size:11px;font-weight:500;padding:3px 8px}.tags-multiselect{display:flex;flex-wrap:wrap;gap:8px}.tag-option{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 10px;transition:all .15s ease}.tag-option:hover{border-color:#3b82f6}.tag-option.selected{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.tag-option input{display:none}.appointments-section{margin-bottom:32px}.appointments-section h4{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 16px}.appointments-section h4 .count{background:#f3f4f6;border-radius:10px;color:#6b7280;font-size:12px;padding:2px 8px}.appointments-list{display:flex;flex-direction:column;gap:12px}.appointment-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:10px;gap:16px;padding:16px}.appointment-date{align-items:center;background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;min-width:70px;padding:10px 14px;text-align:center}.appointment-date .day{color:#111827;font-size:24px;font-weight:600;line-height:1}.appointment-date .month{color:#6b7280;font-size:12px;font-weight:500;margin-top:2px;text-transform:uppercase}.appointment-date .year{color:#9ca3af;font-size:11px}.appointment-details{flex:1 1}.appointment-time{color:#111827;font-size:14px;font-weight:500;margin-bottom:4px}.appointment-type{color:#6b7280;font-size:13px}.appointment-status{border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;margin-top:8px;padding:4px 10px}.appointment-status.scheduled{background:#dbeafe;color:#1d4ed8}.appointment-status.confirmed{background:#d1fae5;color:#059669}.appointment-status.completed{background:#f3f4f6;color:#374151}.appointment-status.cancelled{background:#fef2f2;color:#dc2626}.upload-area{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:32px;transition:all .15s ease}.upload-area:hover{background:#eff6ff;border-color:#3b82f6}.upload-area.dragging{background:#dbeafe;border-color:#3b82f6}.upload-area svg{color:#9ca3af;margin-bottom:12px}.upload-area p{color:#6b7280;font-size:14px;margin:0;text-align:center}.upload-area input{display:none}.modal-content{max-width:500px}.confirm-modal{padding:32px;text-align:center}.confirm-modal .warning-icon{color:#f59e0b;margin-bottom:16px}.confirm-modal h3{color:#111827;font-size:18px;margin:0 0 8px}.confirm-modal p{color:#6b7280;margin:0 0 24px}.confirm-actions{display:flex;gap:12px;justify-content:center}@media (max-width:768px){.tab-header{align-items:flex-start;flex-direction:column;gap:16px}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{justify-content:center;width:100%}.documents-grid{grid-template-columns:1fr}.appointment-card{flex-direction:column}.appointment-date{flex-direction:row;gap:8px;justify-content:center;width:100%}}.referrals-list{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.referral-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.referral-card-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.referral-type-badge{border-radius:6px;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.referral-type-badge[data-type=referral]{background:#dbeafe;color:#1d4ed8}.referral-type-badge[data-type=appointment_request]{background:#d1fae5;color:#059669}.referral-type-badge[data-type=manual]{background:#f3e8ff;color:#7c3aed}.referral-date{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:6px}.referral-card-body{padding:16px}.referral-info-row{align-items:center;display:flex;font-size:14px;gap:8px;margin-bottom:8px}.referral-info-row svg{color:#9ca3af;flex-shrink:0}.referral-info-row .label{color:#6b7280;min-width:70px}.referral-info-row .value{color:#111827;font-weight:500}.referral-notes{background:#f9fafb;border-radius:6px;color:#6b7280;font-size:13px;margin-top:12px;padding:10px 12px}.referral-notes strong{color:#374151}.referral-card-actions{background:#f9fafb;display:flex;justify-content:flex-end}.referral-card-actions,.referral-card-footer{border-top:1px solid #e5e7eb;padding:8px 16px}.referral-card-footer{background:#fafafa}.linked-badge{align-items:center;color:#6b7280;display:inline-flex;font-size:11px;gap:6px}.linked-badge svg{color:#9ca3af}.count-badge{background:#e5e7eb;border-radius:10px;color:#374151;font-size:12px;font-weight:500;padding:2px 10px}.search-input-container{position:relative}.search-dropdown{border:1px solid #d1d5db;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 6px #0000001a;max-height:200px;top:100%;z-index:100}.search-option{background:none;border:none;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;display:block;font-size:14px;padding:10px 12px;text-align:left;width:100%}.search-option:hover{background:#f3f4f6}.search-option:last-child{border-bottom:none}.form-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:10px 12px;transition:all .15s ease;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.referral-form{padding:20px}.referral-form .form-group{margin-bottom:16px}.referral-form .form-group label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.modal-header{padding:16px 20px}.modal-header h3{font-size:18px}.btn-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.btn-close:hover{background:#f3f4f6;color:#111827}.btn-icon.danger:hover{background:#fef2f2;color:#ef4444}.tab-header-info h3{align-items:center;display:flex;gap:8px}.letters-tab{padding:0}.letters-tab .tab-header{padding:16px 24px}.letters-list{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.letter-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .15s ease}.letter-card:hover{box-shadow:0 4px 12px #00000014}.letter-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:14px 16px}.letter-header,.letter-title{align-items:center;display:flex}.letter-title{color:#1f2937;font-weight:600;gap:10px}.letter-title svg{color:#3b82f6}.letter-date{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:6px}.letter-details{padding:16px}.letter-detail-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.letter-detail{display:flex;flex-direction:column;gap:4px}.letter-detail label{align-items:center;color:#6b7280;display:flex;font-size:11px;font-weight:500;gap:4px;letter-spacing:.5px;text-transform:uppercase}.letter-detail span{color:#1f2937;font-size:14px}.letter-teeth,.letter-treatment{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:8px;margin-top:8px;padding-top:12px}.letter-teeth label,.letter-treatment label{color:#6b7280;font-size:12px;font-weight:500}.teeth-list{background:#f3f4f6;border-radius:4px;color:#374151;font-family:SF Mono,monospace;font-size:13px;padding:4px 8px}.btn-view{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.btn-view:hover{background:#2563eb}.draft-notice{align-items:center;background:#fef3c7;border-radius:6px;color:#92400e;display:flex;font-size:13px;gap:6px;padding:6px 12px}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px}.status-sent{background:#d1fae5;color:#059669}.status-draft{background:#fef3c7;color:#92400e}.treatment-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.treatment-status-eval{background:#e0f2fe;color:#0369a1}.treatment-status-medicated{background:#fef3c7;color:#b45309}.treatment-status-complete{background:#d1fae5;color:#047857}.letters-tab .teeth-pills{display:flex;flex-wrap:wrap;gap:6px}.letters-tab .tooth-pill{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;color:#fff;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;min-width:36px;padding:4px 10px}.letter-teeth{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:10px;margin-top:12px;padding-top:12px}.letter-teeth label{color:#6b7280;font-size:12px;font-weight:500}@media (max-width:768px){.letter-detail-row{gap:12px;grid-template-columns:1fr}.letter-actions{flex-direction:column;gap:12px}}.treatments-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.treatments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.treatments-header label{color:#374151;font-size:14px;font-weight:600}.btn-add-treatment{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .15s ease}.btn-add-treatment:hover{background:#059669}.treatment-row{grid-gap:12px;align-items:end;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:grid;gap:12px;grid-template-columns:80px 1fr 1fr 36px;margin-bottom:8px;padding:12px}.treatment-row:last-child{margin-bottom:0}.treatment-field{display:flex;flex-direction:column;gap:4px}.treatment-field label{color:#6b7280;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.treatment-field input,.treatment-field select{border:1px solid #d1d5db;border-radius:4px;font-size:13px;padding:8px 10px}.btn-remove-treatment{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.btn-remove-treatment:hover{background:#fecaca}.form-group select[value=emergency],select.urgency-emergency{background-color:#fef2f2;border-color:#dc2626}select.urgency-urgent{background-color:#fff7ed;border-color:#f97316}@media (max-width:600px){.treatment-row{gap:8px;grid-template-columns:1fr}.treatment-row>.btn-remove-treatment{height:auto;padding:8px;width:100%}}.doctor-autocomplete-dropdown{box-shadow:0 4px 12px #00000026;max-height:280px;z-index:1000}.doctor-autocomplete-item{padding:12px 16px;transition:background .15s ease}.doctor-autocomplete-item:hover{background:#f9fafb}.doctor-name-display{color:#1f2937;font-weight:600}.office-separator{color:#6b7280;font-weight:400}.autocomplete-empty,.autocomplete-loading{color:#9ca3af;font-size:14px;padding:16px;text-align:center}.helper-text{color:#6b7280;font-size:12px;margin-top:6px}.form-row{grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.letters-filters{background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:16px;padding:12px 24px}.filter-group,.letters-filters{align-items:center;display:flex}.filter-group{gap:6px}.filter-group svg{color:#6b7280}.filter-group select{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='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:6px 28px 6px 10px}.filter-group select:focus{border-color:#3b82f6;outline:none}.filter-count{color:#6b7280;font-size:13px;margin-left:auto}.letter-actions{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.action-buttons-left,.action-buttons-right{display:flex;gap:8px}.btn-edit{border-radius:6px;font-size:13px;gap:6px;padding:8px 14px}.btn-edit:hover{background:#f3f4f6}.btn-resend{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.btn-resend:hover{background:#059669}.resend-dropdown-container{position:relative}.resend-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;bottom:100%;box-shadow:0 4px 12px #00000026;margin-bottom:4px;min-width:200px;overflow:hidden;position:absolute;right:0;z-index:100}.resend-dropdown button{background:none;border:none;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;display:block;font-size:13px;padding:10px 14px;text-align:left;transition:background .15s ease;width:100%}.resend-dropdown button:last-child{border-bottom:none}.resend-dropdown button:hover:not(:disabled){background:#f9fafb}.resend-dropdown button:disabled{cursor:not-allowed;opacity:.6}.letter-images{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:10px;margin-top:12px;padding-top:12px}.letter-images label{align-items:center;color:#6b7280;display:flex;font-size:12px;font-weight:500;gap:4px;white-space:nowrap}.image-thumbnails{display:flex;gap:6px}.image-thumb{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;height:40px;overflow:hidden;width:40px}.image-thumb img{height:100%;object-fit:cover;width:100%}.image-thumb.more{align-items:center;color:#6b7280;display:flex;font-size:11px;font-weight:600;justify-content:center}.resend-history{align-items:flex-start;border-top:1px solid #f3f4f6;display:flex;gap:10px;margin-top:12px;padding-top:12px}.resend-history label{align-items:center;color:#6b7280;display:flex;font-size:12px;font-weight:500;gap:4px;white-space:nowrap}.resend-list{display:flex;flex-wrap:wrap;gap:6px}.resend-item{background:#e0f2fe;border-radius:4px;color:#0369a1;display:inline-flex;font-size:11px;font-weight:500;padding:4px 8px}.resend-modal{max-width:450px}.resend-modal .modal-body{padding:20px}.resend-modal .modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.empty-state h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.empty-state p{color:#6b7280;margin:0 0 20px}@media (max-width:768px){.letters-filters{align-items:flex-start;flex-direction:column;gap:12px}.filter-count{margin-left:0}.letter-actions{flex-direction:column;gap:12px}.action-buttons-left,.action-buttons-right{justify-content:center;width:100%}.letter-images,.resend-history{align-items:flex-start;flex-direction:column}}.letter-edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:1000}.letter-edit-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.letter-edit-modal .modal-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.letter-edit-modal .header-title{align-items:center;display:flex;gap:10px}.letter-edit-modal .header-title svg{color:#3b82f6}.letter-edit-modal .header-title h3{color:#111827;font-size:18px;font-weight:600;margin:0}.letter-edit-modal .close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.letter-edit-modal .close-btn:hover{background:#f3f4f6;color:#111827}.mode-tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex}.mode-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .15s ease}.mode-tab:hover{background:#00000005;color:#374151}.mode-tab.active{background:#fff;border-bottom-color:#3b82f6;color:#3b82f6}.mode-tab svg{flex-shrink:0}.error-alert{background:#fef2f2;border-bottom:1px solid #fecaca;font-size:14px;gap:10px;padding:12px 16px}.error-alert,.error-alert button{align-items:center;color:#dc2626;display:flex}.error-alert button{background:#0000;border:none;border-radius:4px;cursor:pointer;height:24px;justify-content:center;margin-left:auto;padding:0;width:24px}.error-alert button:hover{background:#dc26261a}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.edit-sections{display:flex;flex-direction:column;gap:16px}.edit-section{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.edit-section.collapsed{border-color:#f3f4f6}.section-header{background:#f9fafb;border:none;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:12px 14px;transition:all .15s ease;width:100%}.section-header:hover{background:#f3f4f6}.edit-section.collapsed .section-header{background:#fafafa;color:#6b7280;font-weight:500}.section-input,.section-textarea{border:none;border-top:1px solid #e5e7eb;color:#111827;font-family:inherit;font-size:14px;line-height:1.6;padding:12px 14px;resize:vertical;width:100%}.section-input:focus,.section-textarea:focus{background:#fefce8;outline:none}.section-textarea{min-height:80px}.section-textarea.large{min-height:160px}.regenerate-section{padding:32px 20px;text-align:center}.regenerate-info,.regenerate-section{align-items:center;display:flex;flex-direction:column}.regenerate-info{max-width:400px}.regenerate-info svg{color:#3b82f6;margin-bottom:16px}.regenerate-info h4{color:#111827;font-size:18px;font-weight:600;margin:0 0 12px}.regenerate-info p{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 20px}.warning-box{align-items:flex-start;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:13px;gap:10px;margin-bottom:24px;padding:12px 14px;text-align:left}.warning-box svg{color:#f59e0b;flex-shrink:0;margin-top:1px}.btn-regenerate{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .15s ease}.btn-regenerate:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.btn-regenerate:disabled{cursor:not-allowed;opacity:.7}.no-appointment-warning{align-items:flex-start;background:#f3f4f6;border-radius:8px;color:#6b7280;display:flex;font-size:14px;gap:10px;max-width:400px;padding:16px;text-align:left}.no-appointment-warning svg{color:#9ca3af;flex-shrink:0;margin-top:2px}.preview-section{background:#fafafa;border-top:1px solid #e5e7eb}.preview-toggle{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .15s ease;width:100%}.preview-toggle:hover{background:#00000005;color:#374151}.preview-content{background:#fff;border-top:1px solid #e5e7eb;max-height:200px;overflow-y:auto;padding:16px 20px}.preview-content pre{word-wrap:break-word;color:#374151;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.7;margin:0;white-space:pre-wrap}.letter-edit-modal .modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.save-buttons{display:flex;gap:8px}.letter-edit-modal .btn{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .15s ease}.letter-edit-modal .btn:disabled{cursor:not-allowed;opacity:.6}.letter-edit-modal .btn-primary{background:#3b82f6;border:none;color:#fff}.letter-edit-modal .btn-primary:hover:not(:disabled){background:#2563eb}.letter-edit-modal .btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.letter-edit-modal .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}@media (max-width:640px){.letter-edit-modal-overlay{padding:16px}.letter-edit-modal{max-height:95vh}.modal-body{padding:16px}.mode-tabs{flex-wrap:wrap}.mode-tab{font-size:13px;padding:10px 12px}.letter-edit-modal .modal-footer{flex-direction:column;gap:8px}.letter-edit-modal .modal-footer .btn,.save-buttons{justify-content:center;width:100%}.save-buttons{flex-direction:column}}.appointments-tab-v2 .appointments-sections{display:flex;flex-direction:column;gap:32px}.appointments-tab-v2 .appointments-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.appointments-tab-v2 .section-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 20px}.appointments-tab-v2 .section-header h4{align-items:center;color:#1f2937;display:flex;font-size:15px;font-weight:600;gap:10px;margin:0}.appointments-tab-v2 .section-header .count{background:#e5e7eb;border-radius:12px;color:#4b5563;font-size:12px;font-weight:600;padding:4px 10px}.appointments-tab-v2 .section-icon{font-size:10px}.appointments-tab-v2 .section-icon.current{color:#10b981}.appointments-tab-v2 .section-icon.future{color:#3b82f6}.appointments-tab-v2 .section-icon.past{color:#9ca3af}.appointments-tab-v2 .current-section{border-color:#10b981;box-shadow:0 0 0 1px #10b9811a}.appointments-tab-v2 .current-section .section-header{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-bottom-color:#a7f3d0}.appointments-tab-v2 .current-section .count{background:#10b981;color:#fff}.appointments-tab-v2 .future-section .section-header .count{background:#dbeafe;color:#1d4ed8}.appointments-tab-v2 .past-section{opacity:.95}.appointments-tab-v2 .past-section .section-header{background:#f3f4f6}.appointments-list-v2{display:flex;flex-direction:column}.appointment-card-v2{align-items:stretch;background:#fff;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:0;padding:0;transition:all .15s ease}.appointment-card-v2:last-child{border-bottom:none}.appointment-card-v2:hover{background:#f9fafb}.appointment-card-v2.current:hover{background:#ecfdf5}.appointment-card-v2.past{opacity:.85}.appointment-card-v2.past:hover{opacity:1}.appointment-card-v2 .appointment-date-block{align-items:center;background:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:16px 20px;text-align:center}.appointment-card-v2.current .appointment-date-block{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-right-color:#6ee7b7}.appointment-card-v2.future .appointment-date-block{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-right-color:#93c5fd}.appointment-card-v2 .appointment-date-block .weekday{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.appointment-card-v2 .appointment-date-block .day{color:#1f2937;font-size:24px;font-weight:700;line-height:1.1}.appointment-card-v2.current .appointment-date-block .day{color:#047857}.appointment-card-v2.future .appointment-date-block .day{color:#1d4ed8}.appointment-card-v2 .appointment-date-block .month{color:#4b5563;font-size:12px;font-weight:500;text-transform:uppercase}.appointment-card-v2 .appointment-date-block .year{color:#9ca3af;font-size:11px}.appointment-card-v2 .appointment-main{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0;padding:16px 20px}.appointment-card-v2 .appointment-time-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.appointment-card-v2 .appointment-time{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:500;gap:6px}.appointment-card-v2 .appointment-time svg{color:#6b7280}.appointment-card-v2 .appointment-time .time-separator{color:#9ca3af}.appointment-card-v2 .appointment-status{border-radius:6px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.appointment-card-v2 .appointment-status.scheduled{background:#dbeafe;color:#1d4ed8}.appointment-card-v2 .appointment-status.confirmed{background:#d1fae5;color:#047857}.appointment-card-v2 .appointment-status.completed{background:#f3f4f6;color:#374151}.appointment-card-v2 .appointment-status.cancelled{background:#fef2f2;color:#dc2626}.appointment-card-v2 .appointment-teeth-section{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.appointment-card-v2 .tooth-treatment-item{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;display:inline-flex;gap:6px;padding:6px 12px}.appointment-card-v2 .tooth-treatment-item .tooth-number{color:#0369a1;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:14px;font-weight:700}.appointment-card-v2 .tooth-treatment-item .treatment-type{color:#0c4a6e;font-size:12px;font-weight:500}.appointment-card-v2 .appointment-type-fallback{color:#4b5563;font-size:14px;font-weight:500;margin-top:4px}.appointment-card-v2 .appointment-location{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px;margin-top:4px}.appointment-card-v2 .appointment-location svg{color:#9ca3af}.appointment-card-v2 .appointment-action{align-items:center;border-left:1px solid #f3f4f6;display:flex;justify-content:center;padding:16px}.appointment-card-v2 .clinical-indicator{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;display:flex;height:36px;justify-content:center;transition:transform .15s ease,box-shadow .15s ease;width:36px}.appointment-card-v2:hover .clinical-indicator{box-shadow:0 4px 12px #10b9814d;transform:scale(1.05)}.appointment-card-v2 .future-indicator{align-items:center;background:#f3f4f6;border-radius:8px;color:#9ca3af;display:flex;height:36px;justify-content:center;width:36px}.appointment-card-v2:hover .future-indicator{background:#e5e7eb;color:#6b7280}@media (max-width:768px){.appointment-card-v2{flex-direction:column}.appointment-card-v2 .appointment-date-block{border-bottom:1px solid #e5e7eb;border-right:none;flex-direction:row;gap:8px;padding:12px 16px}.appointment-card-v2 .appointment-date-block .day{font-size:20px}.appointment-card-v2 .appointment-main{padding:12px 16px}.appointment-card-v2 .appointment-action{border-left:none;border-top:1px solid #f3f4f6;justify-content:flex-end;padding:12px 16px}.appointment-card-v2 .appointment-time-row{flex-wrap:wrap}}.patient-detail-container{margin:0 auto;max-width:1200px;padding:24px}.patient-detail-error,.patient-detail-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:80px 24px}.patient-detail-error svg,.patient-detail-loading svg{color:#9ca3af;margin-bottom:16px}.patient-detail-error h2{color:#374151;margin:0 0 24px}.patient-detail-header{margin-bottom:24px}.back-button{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;margin-bottom:16px;padding:8px 12px;transition:all .15s ease}.back-button:hover{background:#f3f4f6;color:#111827}.patient-header-content{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:20px;padding:24px}.patient-avatar-large{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:24px;font-weight:600;height:72px;justify-content:center;width:72px}.patient-header-info{flex:1 1}.patient-header-info h1{color:#111827;font-size:24px;font-weight:600;margin:0 0 8px}.patient-header-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:14px;gap:16px}.patient-header-meta>span{align-items:center;display:flex;gap:6px}.patient-header-meta svg{color:#9ca3af}.badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 10px}.badge.insurance{background:#d1fae5;color:#059669}.badge.referral{background:#dbeafe;color:#1d4ed8}.patient-header-actions{flex-shrink:0}.btn-edit{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-edit:hover{background:#f9fafb;border-color:#9ca3af}.patient-tabs{background:#f3f4f6;border-radius:10px;display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding:4px}.tab-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease;white-space:nowrap}.tab-button:hover:not(.active){background:#ffffff80;color:#374151}.tab-button.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#111827}.tab-button svg{flex-shrink:0}.patient-tab-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-height:400px}.patient-overview{grid-gap:20px;display:grid;gap:20px;padding:24px}.info-card{background:#f9fafb;border-radius:10px;padding:20px}.info-card h3{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 16px}.info-card h3 svg{color:#6b7280}.info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.info-item label{align-items:center;display:flex;gap:6px}.info-item label svg{color:#9ca3af}.info-item span{color:#111827;font-size:14px}.capitalize{text-transform:capitalize}.address-block{color:#111827;font-size:14px;font-style:normal;line-height:1.6}.meta-card{background:#0000;padding:0}.meta-info{color:#9ca3af;display:flex;flex-wrap:wrap;font-size:13px;gap:24px}@media (max-width:768px){.patient-detail-container{padding:16px}.patient-header-content{flex-direction:column;padding:20px}.patient-avatar-large{font-size:20px;height:56px;width:56px}.patient-header-info h1{font-size:20px}.patient-header-meta{align-items:flex-start;flex-direction:column;gap:8px}.btn-edit,.patient-header-actions{width:100%}.btn-edit{justify-content:center}.patient-tabs{padding:3px}.tab-button{font-size:13px;padding:8px 12px}.tab-button span{display:none}.patient-overview{padding:16px}.info-grid{grid-template-columns:1fr}}.patient-list-container{margin:0 auto;max-width:1400px;padding:24px}.patient-list-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.patient-list-title{align-items:flex-start;display:flex;gap:12px}.patient-list-title svg{color:#3b82f6;margin-top:2px}.patient-list-title h1{color:#111827;font-size:24px;font-weight:600;margin:0}.patient-list-title p{color:#6b7280;font-size:14px;margin:4px 0 0}.patient-list-actions{display:flex;gap:12px}.btn-primary{display:inline-flex;padding:10px 16px;transition:all .15s ease}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-refresh{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-refresh:hover:not(:disabled){background:#f9fafb}.btn-refresh:disabled{cursor:not-allowed;opacity:.6}.btn-warning{align-items:center;background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-warning:hover{background:#d97706}.btn-load-more{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .15s ease}.btn-load-more:hover:not(:disabled){background:#f3f4f6}.btn-load-more:disabled{cursor:not-allowed;opacity:.6}.patient-search-bar{align-items:center;display:flex;gap:16px;margin-bottom:24px}.search-input-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;gap:12px;padding:12px 16px;transition:all .15s ease}.search-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input-wrapper svg{color:#9ca3af;flex-shrink:0}.search-input-wrapper input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.search-input-wrapper input::placeholder{color:#9ca3af}.search-clear{background:#0000;border-radius:4px;padding:4px}.search-clear:hover{background:#f3f4f6}.search-spinner{color:#3b82f6}.search-results-count{color:#6b7280;font-size:14px;white-space:nowrap}.patient-list-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:12px;margin-bottom:24px;padding:12px 16px}.patient-list-error button{background:#0000;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:4px}.patient-list{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.patient-list-empty,.patient-list-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px}.patient-list-empty svg,.patient-list-loading svg{color:#9ca3af;margin-bottom:16px}.patient-list-empty h3{color:#374151;font-size:18px;margin:0 0 8px}.patient-list-empty p{margin:0 0 16px}.patient-list-table{width:100%}.patient-list-header-row{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase}.patient-list-row{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;padding:16px 20px;transition:background-color .15s ease}.patient-list-row:last-child{border-bottom:none}.patient-list-row:hover{background:#f9fafb}.col-name{align-items:center;display:flex;flex:2 1;gap:12px;min-width:200px}.col-sortable{cursor:pointer;transition:color .15s ease;-webkit-user-select:none;user-select:none}.col-sortable:hover{color:#3b82f6}.sort-icon{margin-left:4px;opacity:.7}.col-sortable:hover .sort-icon{opacity:1}.col-dob,.col-email,.col-phone{align-items:center;color:#374151;display:flex;flex:1 1;font-size:14px;gap:8px;min-width:140px}.col-dob svg,.col-email svg,.col-phone svg{color:#9ca3af;flex-shrink:0}.col-insurance{flex:0.8 1;min-width:100px}.col-actions{color:#9ca3af;display:flex;justify-content:flex-end;width:40px}.patient-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.patient-name-info{color:#111827;display:flex;flex-direction:column;gap:4px}.patient-name{color:#111827!important;font-size:14px;font-weight:500}.patient-badge{border-radius:10px;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px;width:fit-content}.patient-badge.referral{background:#dbeafe;color:#1d4ed8}.insurance-badge{border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px}.insurance-badge.has-insurance{background:#d1fae5;color:#059669}.insurance-badge.no-insurance{background:#f3f4f6;color:#6b7280}.patient-list-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:center;padding:16px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;width:100%}.patient-form-modal{max-width:700px}.duplicate-warning-modal{max-width:550px;padding:24px}.duplicate-warning-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.duplicate-warning-header svg{color:#f59e0b}.duplicate-warning-header h2{color:#111827;font-size:18px;margin:0}.duplicate-warning-modal>p{color:#6b7280;font-size:14px;margin:0 0 20px}.duplicate-matches{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.duplicate-match-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;padding:16px}.match-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.match-info strong{color:#111827;font-size:14px}.match-info span{color:#6b7280;font-size:13px}.match-score{flex-shrink:0}.match-score .high-match{background:#fee2e2;color:#dc2626}.match-score .high-match,.match-score .medium-match{border-radius:6px;font-size:12px;font-weight:500;padding:4px 10px}.match-score .medium-match{background:#fef3c7;color:#d97706}.duplicate-match-card .btn-secondary{font-size:13px;padding:8px 12px}.duplicate-warning-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}@media (max-width:1024px){.patient-list-header{flex-direction:column;gap:16px}.patient-list-actions{justify-content:flex-end;width:100%}}@media (max-width:768px){.patient-list-container{padding:16px}.patient-list-header-row{display:none}.patient-list-row{align-items:flex-start;flex-direction:column;gap:8px;padding:16px}.col-name{width:100%}.col-dob,.col-email,.col-insurance,.col-phone{font-size:13px;min-width:0;min-width:auto}.col-actions{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.patient-list-row{padding-right:48px;position:relative}.patient-search-bar{align-items:stretch;flex-direction:column}.search-results-count{text-align:center}.duplicate-match-card{align-items:flex-start;flex-direction:column}}.tooth-selector-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.tooth-selector-modal{background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;width:95%}.tooth-selector-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 18px}.tooth-selector-header h3{color:#1f2937;font-size:15px;font-weight:600;margin:0}.tooth-selector-header .close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px}.tooth-selector-header .close-btn:hover{background:#e5e7eb;color:#374151}.tooth-selector-content{display:flex;flex-direction:column;gap:10px;padding:16px}.arch-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;text-align:center;transition:all .15s}.arch-btn.full-width{width:100%}.arch-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.arch-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.sextant-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.sextant-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:700;padding:10px 8px;text-align:center;transition:all .15s}.sextant-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.sextant-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.teeth-row{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(16,1fr)}.tooth-btn{align-items:center;aspect-ratio:1;background:#fff;border:2px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:11px;font-weight:600;justify-content:center;min-width:0;padding:0;transition:all .15s}.tooth-btn:hover:not(.disabled){background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.tooth-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.tooth-btn.disabled{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed;opacity:.6}.arch-divider{gap:8px;padding:4px 0}.divider-label{color:#9ca3af;font-size:11px;font-weight:700;min-width:12px;text-align:center}.divider-line{background:linear-gradient(90deg,#d1d5db,#9ca3af,#d1d5db);border-radius:1px;height:2px}@media (max-width:480px){.tooth-selector-modal{margin:8px;max-width:none;width:98%}.tooth-selector-content{gap:8px;padding:12px}.tooth-btn{border-radius:3px;font-size:9px}.sextant-btn{font-size:12px;padding:8px 4px}.arch-btn{font-size:12px;padding:8px 12px}}.doc-autocomplete-container{margin-bottom:12px;position:relative}.doc-autocomplete-label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.doc-autocomplete-wrapper{position:relative}.doc-autocomplete-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.doc-autocomplete-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.doc-autocomplete-input:disabled{background:#f3f4f6;cursor:not-allowed}.doc-autocomplete-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.doc-autocomplete-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:12px 14px;transition:background .15s}.doc-autocomplete-item:last-of-type{border-bottom:none}.doc-autocomplete-item:hover{background:#f8fafc}.doc-autocomplete-main{color:#1f2937;font-size:14px;font-weight:500}.doc-office-separator{color:#6b7280;font-weight:400}.doc-autocomplete-loading{color:#6b7280;font-size:14px;padding:16px;text-align:center}.doc-autocomplete-create{background:#d4edda;border-top:1px solid #c3e6cb;cursor:pointer;padding:12px 14px;transition:background .15s}.doc-autocomplete-create:hover{background:#c3e6cb}.doc-create-icon{color:#28a745;font-size:16px;font-weight:700;margin-right:6px}.doc-create-helper{color:#155724;font-size:11px;font-style:italic;margin-top:2px}.doc-helper-text{color:#6b7280;font-size:12px;font-style:italic;margin-top:4px}.doc-selected-display{align-items:center;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:10px 12px}.doc-selected-label{color:#059669;font-size:12px;font-weight:500}.doc-selected-value{color:#065f46;font-size:14px;font-weight:500}.doc-manual-fields{display:flex;flex-direction:column;gap:12px}.doc-field-label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.doc-field-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:14px;padding:8px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.doc-field-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.doc-field-input:disabled{background:#f3f4f6;cursor:not-allowed}.doctor-office-autocomplete.compact .doc-autocomplete-container{margin-bottom:8px}.doctor-office-autocomplete.compact .doc-autocomplete-label{font-size:13px;margin-bottom:4px}.doctor-office-autocomplete.compact .doc-autocomplete-input{font-size:13px;padding:8px 10px}.doctor-office-autocomplete.compact .doc-helper-text{display:none}.doctor-office-autocomplete.compact .doc-manual-fields{gap:8px}.doctor-office-autocomplete.compact .doc-field-input{font-size:13px;padding:6px 10px}.appointment-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.appointment-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.modal-header{background:#f8fafc;padding:16px 24px}.modal-header h2{color:#1f2937;font-size:1.25rem;gap:10px;margin:0}.close-btn,.modal-header h2{align-items:center;display:flex}.close-btn{background:#0000;height:32px;justify-content:center;transition:all .2s;width:32px}.close-btn:hover{color:#1f2937}.modal-error{align-items:center;background:#fef2f2;color:#dc2626;display:flex;font-size:14px;gap:8px;padding:12px 24px}.appointment-form{flex:1 1;overflow-y:auto;padding:24px}.form-group{margin-bottom:20px;position:relative}.form-group label{align-items:center;color:#374151;display:flex;font-size:14px;gap:6px;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-row{grid-template-columns:repeat(3,1fr)}.form-row .form-group{margin-bottom:20px}.patient-search-group,.patient-search-wrapper{position:relative}.patient-search-wrapper .search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.patient-search-wrapper input{padding-left:40px;padding-right:36px}.patient-search-wrapper input.patient-selected{background:#f0fdf4;border-color:#86efac}.clear-patient-btn{align-items:center;background:#f3f4f6;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px}.clear-patient-btn:hover{background:#e5e7eb;color:#1f2937}.search-loading{font-size:12px;position:absolute;right:40px;top:50%;transform:translateY(-50%)}.patient-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.patient-option{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px}.patient-option:last-child{border-bottom:none}.patient-option:hover{background:#f8fafc}.patient-option-name{color:#1f2937;font-weight:500}.patient-option-dob{color:#6b7280;font-size:12px}.procedures-section{margin-top:8px}.procedure-search-row{display:flex;gap:8px}.procedure-search-wrapper{flex:1 1;position:relative}.procedure-search-wrapper .search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.procedure-search-wrapper input{padding-left:40px}.procedure-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.procedure-option{grid-gap:12px;align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:grid;gap:12px;grid-template-columns:80px 1fr auto;padding:10px 14px}.procedure-option:last-child{border-bottom:none}.procedure-option:hover{background:#f8fafc}.procedure-option-code{color:#3b82f6;font-size:13px;font-weight:600}.procedure-option-desc{color:#374151;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procedure-option-fee{color:#059669;font-size:13px;font-weight:500;white-space:nowrap}.macro-dropdown-wrapper{position:relative}.macro-dropdown-btn{align-items:center;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#059669;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:10px 14px;transition:all .15s;white-space:nowrap}.macro-dropdown-btn:hover{background:#dcfce7;border-color:#4ade80}.macro-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;margin-top:4px;max-height:200px;min-width:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.macro-option{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;justify-content:space-between;padding:10px 14px}.macro-option:last-child{border-bottom:none}.macro-option:hover{background:#f0fdf4}.macro-option-name{color:#374151;font-size:13px;font-weight:500}.macro-option-count{color:#9ca3af;font-size:11px}.macro-empty{color:#6b7280;font-size:12px;line-height:1.4;padding:16px 14px;text-align:center}.selected-procedures{border:1px solid #e5e7eb;border-radius:8px;margin-top:12px;overflow:hidden}.selected-procedure-item{grid-gap:8px;align-items:center;background:#fafafa;border-bottom:1px solid #f3f4f6;display:grid;gap:8px;grid-template-columns:1fr 70px 80px 32px;padding:10px 12px}.selected-procedure-item:last-of-type{border-bottom:1px solid #e5e7eb}.selected-procedure-item.has-error{background:#fef2f2}.procedure-info{display:flex;flex-direction:column;gap:2px;min-width:0}.procedure-code{color:#3b82f6;font-size:13px;font-weight:600}.procedure-desc{color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procedure-tooth{position:relative}.procedure-tooth.required input::placeholder{color:#dc2626}.procedure-tooth-input-wrapper{align-items:center;display:flex;position:relative}.procedure-tooth-input-wrapper input{border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 28px 6px 8px;text-align:center;width:100%}.procedure-tooth-input-wrapper input:focus{border-color:#3b82f6;outline:none}.procedure-tooth-input-wrapper input.error{background:#fef2f2;border-color:#dc2626}.btn-procedure-tooth-selector{align-items:center;background:#eff6ff;border:none;border-radius:3px;color:#3b82f6;cursor:pointer;display:flex;height:22px;justify-content:center;padding:0;position:absolute;right:2px;top:50%;transform:translateY(-50%);transition:all .15s;width:22px}.btn-procedure-tooth-selector:hover{background:#dbeafe;color:#1d4ed8}.required-indicator{color:#dc2626;font-size:14px;font-weight:700;position:absolute;right:-12px;top:50%;transform:translateY(-50%)}.procedure-fee{color:#059669;font-size:13px;font-weight:500;text-align:right}.remove-procedure-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.remove-procedure-btn:hover{background:#fee2e2;color:#dc2626}.procedures-total{align-items:center;background:#fff;display:flex;font-weight:500;justify-content:space-between;padding:12px 16px}.procedures-total span:first-child{color:#374151}.total-amount{color:#059669;font-size:16px;font-weight:600}.appointment-type-color-preview,.operatory-color-preview,.type-color-preview{border-radius:50%;height:12px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:12px}.appointment-type-group{position:relative}.appointment-type-group select{padding-right:32px}.modal-actions{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:4px;padding-top:20px}.action-buttons-right{display:flex;gap:12px;margin-left:auto}.btn-delete{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.btn-delete:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.btn-delete:disabled{cursor:not-allowed;opacity:.5}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel:hover{background:#f9fafb}.btn-save{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn-save:hover:not(:disabled){background:#2563eb}.btn-save:disabled{cursor:not-allowed;opacity:.6}.delete-confirm-overlay{background:#fffffff2}.delete-confirm-modal{border:1px solid #e5e7eb;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;padding:24px}.delete-confirm-modal h3{color:#1f2937;margin:0 0 12px}.delete-confirm-modal p{margin:0 0 8px}.delete-warning{color:#dc2626!important;font-weight:500}.delete-confirm-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.delete-confirm-actions button{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.delete-confirm-actions button:first-child{background:#fff;border:1px solid #d1d5db;color:#374151}.delete-confirm-actions button:first-child:hover{background:#f9fafb}.btn-confirm-delete{background:#dc2626;border:none;color:#fff}.btn-confirm-delete:hover:not(:disabled){background:#b91c1c}.btn-confirm-delete:disabled{cursor:not-allowed;opacity:.6}@media (max-width:600px){.appointment-modal{border-radius:0;max-height:100vh}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column;gap:12px}.action-buttons-right{margin-left:0;width:100%}.btn-delete{justify-content:center;width:100%}.btn-cancel,.btn-save{flex:1 1}}.referral-info-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:16px}.referral-info-section>label{color:#1f2937;font-size:15px;font-weight:600;margin-bottom:12px}.referral-source-selector{margin-bottom:16px}.referral-source-selector .source-label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.source-options{display:flex;flex-wrap:wrap;gap:6px}.source-option{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .15s}.source-option:hover{background:#f3f4f6;border-color:#9ca3af}.source-option.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.existing-referral-selector{align-items:flex-start;display:flex;gap:8px;margin-bottom:12px}.referral-dropdown-wrapper{flex:1 1;position:relative}.referral-dropdown-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 12px;transition:all .15s;width:100%}.referral-dropdown-btn:hover{border-color:#9ca3af}.selected-referral-text{align-items:center;display:flex;gap:6px}.selected-referral-text .check-icon{color:#059669}.referral-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:280px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.referral-dropdown-empty,.referral-dropdown-loading{color:#6b7280;font-size:13px;padding:16px;text-align:center}.referral-dropdown-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:12px 14px;transition:background .15s}.referral-dropdown-item:last-of-type{border-bottom:none}.referral-dropdown-item:hover{background:#f8fafc}.referral-dropdown-item.selected{background:#eff6ff}.referral-item-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.referral-doctor{color:#1f2937;font-size:14px;font-weight:500}.referral-office{color:#6b7280;font-size:13px}.referral-item-details{align-items:center;display:flex;justify-content:space-between}.referral-teeth{color:#374151;font-size:12px}.referral-status{border-radius:10px;font-size:11px;font-weight:500;padding:2px 8px}.referral-status.incomplete{background:#fef3c7;color:#92400e}.referral-status.complete{background:#d1fae5;color:#065f46}.referral-dropdown-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:10px 14px}.show-completed-checkbox{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px}.show-completed-checkbox input{cursor:pointer;height:14px;width:14px}.clear-referral-btn{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;padding:8px 12px;transition:all .15s}.clear-referral-btn:hover{background:#fee2e2;border-color:#fca5a5}.referring-doctor-section{margin-bottom:12px}.doctor-autocomplete-container{margin-bottom:12px;position:relative}.doctor-autocomplete-label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.doctor-autocomplete-wrapper{position:relative}.doctor-autocomplete-wrapper .search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.doctor-autocomplete-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 12px 10px 40px;transition:border-color .2s,box-shadow .2s;width:100%}.doctor-autocomplete-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.doctor-autocomplete-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.doctor-autocomplete-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:10px 14px;transition:background .15s}.doctor-autocomplete-item:last-child{border-bottom:none}.doctor-autocomplete-item:hover{background:#f8fafc}.doctor-autocomplete-item .doctor-name{color:#1f2937;font-weight:500}.doctor-autocomplete-item .office-name{color:#6b7280}.doctor-autocomplete-empty,.doctor-autocomplete-loading{color:#6b7280;font-size:13px;padding:14px;text-align:center}.manual-field-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.manual-field{margin-bottom:8px}.manual-field label{color:#374151;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.manual-field input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:13px;padding:8px 10px;transition:border-color .2s,box-shadow .2s;width:100%}.manual-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.self-referral-note{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#065f46;font-size:13px;padding:12px}.teeth-treatment-section{margin-top:8px}.add-tooth-row{align-items:center;display:flex;gap:8px;margin-bottom:12px}.add-tooth-row .tooth-select{flex:1 1;min-width:120px}.add-tooth-row .type-select{flex:2 1;min-width:150px}.btn-add-tooth{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;padding:10px 14px;transition:background .15s;white-space:nowrap}.btn-add-tooth:hover:not(:disabled){background:#2563eb}.btn-add-tooth:disabled{background:#9ca3af;cursor:not-allowed}.teeth-list{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.tooth-item{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:10px 12px}.tooth-item:last-child{border-bottom:none}.tooth-number{color:#1d4ed8;font-size:14px;font-weight:600;min-width:40px}.tooth-type-name{color:#374151;flex:1 1;font-size:14px}.tooth-type-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.tooth-treatment-badge{background:#dbeafe;border-radius:10px;color:#1d4ed8;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.remove-tooth-btn{border:none;color:#9ca3af;padding:0}.remove-tooth-btn:hover{background:#fee2e2;color:#dc2626}.teeth-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:13px;padding:16px;text-align:center}.tooth-input-wrapper{align-items:center;display:flex;flex:1 1;min-width:140px;position:relative}.tooth-input-wrapper .tooth-input{background:#fff;cursor:pointer;padding-right:40px}.tooth-input-wrapper .tooth-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-tooth-selector{align-items:center;background:#eff6ff;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:4px;top:50%;transform:translateY(-50%);transition:all .15s;width:32px}.btn-tooth-selector:hover{background:#dbeafe;color:#1d4ed8}.appointment-card{background:#3b82f6;background:var(--card-color,#3b82f6);border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:64px;height:var(--slot-height,64px);left:4px;min-height:28px;overflow:hidden;padding:6px 8px;position:absolute;right:4px;top:0;transition:transform .15s,box-shadow .15s;z-index:5}.appointment-card:hover{box-shadow:0 4px 12px #00000026;overflow:visible;transform:scale(1.02);z-index:100}.card-patient-row{align-items:center;background:#00000026;border-bottom:1px solid #fff3;border-radius:6px 6px 0 0;display:flex;flex-shrink:0;gap:4px;justify-content:space-between;margin:-6px -8px 4px;padding:5px 8px;width:calc(100% + 16px)}.patient-name{color:#fff;font-size:12px;font-weight:700;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.confirmed-icon{color:#86efac;flex-shrink:0}.reminded-icon{color:#fde047;flex-shrink:0}.card-teeth-type{align-items:center;color:#ffffffe6;display:flex;font-size:11px;gap:4px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-teeth{font-weight:600}.separator{color:#fff9}.card-type-abbrev{color:#ffffffd9}.card-time{color:#ffffffd9}.card-time,.card-type{font-size:10px;margin-top:2px}.card-type{color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-notes{color:#ffffffbf;font-size:10px;line-height:1.3;margin-top:4px}.card-status-badge{border-radius:4px;bottom:4px;font-size:9px;font-weight:600;letter-spacing:.3px;padding:2px 6px;position:absolute;right:4px;text-transform:uppercase}.status-checked-in{box-shadow:inset 0 0 0 2px #22c55e80}.status-checked-in .card-status-badge{background:#22c55e;color:#fff}.status-in-progress{animation:pulse 2s infinite;box-shadow:inset 0 0 0 2px #3b82f680}.status-in-progress .card-status-badge{background:#3b82f6;color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.85}}.status-completed{opacity:.7}.status-completed .card-status-badge{background:#22c55e;color:#fff}.status-cancelled{background:#9ca3af!important;opacity:.5;text-decoration:line-through}.status-cancelled .card-status-badge{background:#6b7280;color:#fff}.status-no-show{background:#ef4444!important;opacity:.6}.status-no-show .card-status-badge{background:#dc2626;color:#fff}.appointment-card[style*="slot-height: 32px"] .card-notes,.appointment-card[style*="slot-height: 32px"] .card-teeth-type,.appointment-card[style*="slot-height: 32px"] .card-time,.appointment-card[style*="slot-height: 32px"] .card-type{display:none}.appointment-tooltip{background:#fff;border-radius:8px;box-shadow:0 10px 25px #00000026,0 4px 10px #0000001a;left:0;margin-top:8px;max-width:350px;min-width:280px;overflow:hidden;pointer-events:none;position:absolute;top:100%;z-index:1000}.appointment-card:first-child .appointment-tooltip{left:0}.appointment-card:last-child .appointment-tooltip{left:auto;right:0}.tooltip-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 14px}.tooltip-header strong{color:#1f2937;display:block;font-size:14px;margin-bottom:2px}.tooltip-phone{color:#6b7280;font-size:12px}.tooltip-section{border-bottom:1px solid #f3f4f6;padding:10px 14px}.tooltip-section:last-of-type{border-bottom:none}.tooltip-section-title{color:#9ca3af;font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.tooltip-row{align-items:flex-start;display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.tooltip-row:last-child{margin-bottom:0}.tooltip-label{color:#6b7280;flex-shrink:0;margin-right:8px}.tooltip-row span:last-child{color:#1f2937;text-align:right}.tooltip-teeth-section{margin-top:8px}.tooltip-teeth-section .tooltip-label{display:block;margin-bottom:6px}.tooltip-teeth-list{display:flex;flex-direction:column;gap:4px}.tooltip-tooth-item{align-items:center;background:#f0f9ff;border-radius:4px;display:flex;font-size:12px;gap:8px;padding:4px 8px}.tooltip-tooth-num{color:#1d4ed8;font-weight:600;min-width:30px}.tooltip-tooth-type{color:#374151}.tooltip-referral{background:#fef3c7}.tooltip-referral .tooltip-section-title{color:#92400e}.tooltip-procedures{background:#f0fdf4}.tooltip-procedures .tooltip-section-title{color:#166534}.tooltip-procedure{grid-gap:8px;align-items:center;border-bottom:1px solid #0000000d;display:grid;font-size:11px;gap:8px;grid-template-columns:60px 1fr auto auto;padding:4px 0}.tooltip-procedure:last-of-type{border-bottom:none}.proc-code{color:#3b82f6;font-weight:600}.proc-desc{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-tooth{color:#6b7280;font-size:10px}.proc-fee{color:#059669;font-weight:500;text-align:right}.tooltip-total{align-items:center;border-top:1px solid #d1fae5;display:flex;font-size:12px;justify-content:space-between;margin-top:6px;padding-top:8px}.tooltip-total span{color:#374151}.tooltip-total strong{color:#059669;font-size:13px}.tooltip-notes{background:#fafafa}.tooltip-notes .tooltip-section-title{color:#6b7280}.tooltip-notes p{color:#374151;font-size:12px;line-height:1.4;margin:0}.tooltip-footer{align-items:center;background:#f8fafc;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 14px}.tooltip-status{background:#e5e7eb;border-radius:4px;color:#374151;font-size:10px;font-weight:600;padding:3px 8px;text-transform:capitalize}.tooltip-status.status-checked-in{background:#dcfce7;color:#166534}.tooltip-status.status-in-progress{background:#dbeafe;color:#1e40af}.tooltip-status.status-completed{background:#dcfce7;color:#166534}.tooltip-status.status-cancelled{background:#f3f4f6;color:#6b7280}.tooltip-status.status-no-show{background:#fee2e2;color:#dc2626}.tooltip-confirmation{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:10px;font-weight:500;padding:3px 8px;text-transform:capitalize}.tooltip-confirmation.confirmed{background:#dcfce7;color:#166534}.tooltip-confirmation.reminded{background:#fef3c7;color:#92400e}.appointment-context-menu{animation:contextMenuFadeIn .1s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;padding:4px 0;position:fixed;z-index:1100}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-header{color:#374151;font-size:12px;font-weight:600;max-width:200px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.context-menu-divider{background:#e5e7eb;height:1px;margin:4px 0}.context-menu-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;text-align:left;transition:background .1s ease;width:100%}.context-menu-item:hover:not(:disabled){background:#eff6ff;color:#1d4ed8}.context-menu-item:hover:not(:disabled) svg{color:#3b82f6}.context-menu-item:disabled{color:#9ca3af;cursor:not-allowed}.context-menu-item svg{color:#6b7280;flex-shrink:0}.context-menu-item span{flex:1 1}.context-menu-item.complete-action:hover:not(:disabled){background:#ecfdf5;color:#047857}.context-menu-item.complete-action:hover:not(:disabled) svg{color:#10b981}.context-menu-item.missed-action:hover:not(:disabled){background:#fef3c7;color:#92400e}.context-menu-item.missed-action:hover:not(:disabled) svg{color:#f59e0b}.context-menu-item.cancel-action:hover:not(:disabled){background:#fef2f2;color:#b91c1c}.context-menu-item.cancel-action:hover:not(:disabled) svg{color:#ef4444}.context-menu-item.uncomplete-action:hover:not(:disabled){background:#f0f9ff;color:#0369a1}.context-menu-item.uncomplete-action:hover:not(:disabled) svg{color:#0ea5e9}.confirmation-status-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:420px;overflow:hidden;width:100%}.confirmation-status-modal .modal-header{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.confirmation-status-modal .modal-header h2{align-items:center;color:#1e40af;display:flex;font-size:18px;font-weight:600;gap:10px;margin:0}.confirmation-status-modal .modal-header h2 svg{color:#3b82f6}.confirmation-status-modal .close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.confirmation-status-modal .close-btn:hover{background:#3b82f61a;color:#1d4ed8}.confirmation-status-modal .modal-body{overflow-y:auto;padding:20px}.patient-info-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:8px;margin-bottom:16px;padding:12px}.patient-info-row .label{color:#64748b;font-size:13px}.patient-info-row .value{color:#1e3a5f;font-size:14px;font-weight:600}.status-options{display:flex;flex-direction:column;gap:8px}.status-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;text-align:left;transition:all .15s ease;width:100%}.status-option:hover{background:#f8fafc;border-color:#93c5fd}.status-option.selected{background:#eff6ff;border-color:#3b82f6}.status-option svg{color:#64748b;flex-shrink:0}.status-option.selected svg{color:#3b82f6}.status-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.status-label{color:#374151;font-size:14px;font-weight:500}.status-option.selected .status-label{color:#1d4ed8}.status-description{color:#9ca3af;font-size:12px}.check-icon{color:#3b82f6}.confirmation-status-modal .modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.confirmation-status-modal .btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .15s ease}.confirmation-status-modal .btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.confirmation-status-modal .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s ease}.confirmation-status-modal .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.confirmation-status-modal .btn-primary:disabled,.confirmation-status-modal .btn-secondary:disabled{cursor:not-allowed;opacity:.6}.schedule-calendar{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden}.schedule-empty,.schedule-error,.schedule-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.schedule-loading .spinning{animation:spin 1s linear infinite}.schedule-error{color:#dc2626}.schedule-error h2{font-size:1.25rem;margin:16px 0}.schedule-error .btn-primary{align-items:center;display:flex;gap:8px;margin-top:16px}.schedule-empty{color:#9ca3af}.schedule-empty h2{color:#6b7280;margin:16px 0 8px}.schedule-closed-notice{align-items:center;background:#fef3c7;border-bottom:1px solid #fcd34d;color:#92400e;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 24px}.schedule-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;padding:16px 24px}.schedule-header,.schedule-header-left{align-items:center;display:flex;gap:16px}.schedule-header-left h1{align-items:center;color:#1f2937;display:flex;font-size:1.5rem;gap:8px;margin:0}.schedule-header-left .current-date{color:#6b7280;font-size:1rem}.schedule-header-center{align-items:center;display:flex;gap:8px}.schedule-header-center .nav-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.schedule-header-center .nav-btn:hover{background:#f3f4f6;color:#1f2937}.schedule-header-center .today-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.schedule-header-center .today-btn:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.schedule-header-right{align-items:center;display:flex;gap:12px}.view-toggle{border:1px solid #e5e7eb;border-radius:8px;display:flex;overflow:hidden}.view-toggle button{background:#fff;border:none;color:#6b7280;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.view-toggle button:first-child{border-right:1px solid #e5e7eb}.view-toggle button:hover{background:#f3f4f6}.view-toggle button.active{background:#3b82f6;color:#fff}.toggle-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 12px;transition:all .2s}.toggle-btn:hover{background:#f3f4f6;border-color:#d1d5db}.toggle-btn.active{background:#fef3c7;border-color:#fcd34d;color:#92400e}.btn-primary,.toggle-btn .toggle-label{font-weight:500}.btn-primary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s}.btn-primary:hover{background:#2563eb}.schedule-grid{display:flex;flex:1 1;overflow:auto;position:relative}.time-column{background:#f8fafc;border-right:1px solid #e5e7eb;flex-shrink:0;left:0;position:sticky;width:80px;z-index:10}.column-header{align-items:center;background:#f1f5f9;border-bottom:2px solid #e5e7eb;color:#64748b;display:flex;font-weight:600;height:48px;justify-content:center}.time-header{border-top:4px solid #0000;color:#94a3b8}.time-slot-label{align-items:flex-start;color:#64748b;display:flex;font-size:12px;height:32px;justify-content:flex-end;padding-right:12px;position:relative}.time-slot-label span{transform:translateY(-50%)}.operatory-column{border-right:1px solid #e5e7eb;flex:1 1;min-width:180px}.operatory-column:last-child{border-right:none}.operatory-header{background:#fff;border-top:4px solid #3b82f6;flex-direction:column}.operatory-name{color:#1f2937;font-size:14px;font-weight:600}.operatory-abbrev{color:#6b7280;font-size:12px;font-weight:400}.operatory-slots,.time-slot{position:relative}.time-slot{border-bottom:1px solid #f1f5f9;cursor:pointer;height:32px;transition:background .15s}.time-slot:hover{background:#f0f9ff}.time-slot.hour-mark{border-top:2px solid #d1d5db}.time-slot.occupied{background:#0000;cursor:default}.time-slot.occupied:hover{background:#0000}.schedule-week-grid{display:flex;flex:1 1;overflow:auto;position:relative}.week-time-header-spacer{height:72px!important}.week-day-group{border-right:2px solid #cbd5e1;display:flex;flex:1 1;flex-direction:column;min-width:0}.week-day-group.last{border-right:none}.week-day-header-row{align-items:center;background:#f1f5f9;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;height:24px;justify-content:center;transition:background .2s}.week-day-header-row:hover{background:#e0e7ff}.week-day-header-row.today{background:#3b82f6;color:#fff}.week-day-header-row.today:hover{background:#2563eb}.week-day-label{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.week-day-operatories{display:flex;flex:1 1;min-width:0}.week-operatory-column{border-right:1px solid #e5e7eb;flex:1 1;min-width:60px}.week-operatory-column.last-in-day{border-right:none}.week-operatory-header{align-items:center;background:#fff;border-bottom:2px solid #e5e7eb;border-top:4px solid #3b82f6;color:#64748b;display:flex;font-size:11px;font-weight:600;height:48px;justify-content:center}.week-operatory-slots{position:relative}.week-operatory-column .appointment-card{font-size:10px;padding:2px 4px}.week-operatory-column .appointment-card .patient-name{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-operatory-column .appointment-card .appointment-time{font-size:9px}.week-operatory-column .appointment-card .appointment-type{display:none}@media (max-width:768px){.schedule-header{padding:12px 16px}.schedule-header-left .current-date{display:none}.schedule-header-right{justify-content:space-between;width:100%}.time-column{width:60px}.operatory-column{min-width:140px}.week-operatory-column{min-width:60px}.week-operatory-header{font-size:9px;height:40px}.week-day-label{font-size:10px}.week-time-header-spacer{height:64px!important}.week-operatory-column .appointment-card{font-size:9px;padding:1px 2px}.week-operatory-column .appointment-card .patient-name{font-size:9px}}.patient-search{position:relative}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#64748b;left:10px;pointer-events:none;position:absolute}.search-input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;padding:8px 32px 8px 34px;transition:all .15s ease;width:100%}.search-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-input::placeholder{color:#9ca3af}.search-clear{align-items:center;background:#e5e7eb;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:20px;justify-content:center;padding:0;position:absolute;right:6px;transition:all .15s ease;width:20px}.search-clear:hover{background:#d1d5db;color:#374151}.search-collapsed-button{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;margin:0 auto;padding:0;transition:all .15s ease;width:36px}.search-collapsed-button:hover{background:#eff6ff;border-color:#93c5fd;color:#3b82f6}.search-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:0;max-height:320px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.search-dropdown-header{color:#6b7280;font-size:10px;font-weight:600;letter-spacing:.5px;padding:8px 12px 4px;text-transform:uppercase}.search-results{padding:4px 0}.search-result-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;text-align:left;transition:background .1s ease;width:100%}.search-result-item:hover{background:#eff6ff}.result-name{color:#1e3a5f;font-size:13px;font-weight:500}.result-info{color:#64748b;display:flex;font-size:11px;gap:6px}.result-info span{background:#f1f5f9;border-radius:4px;padding:2px 6px}.search-loading{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px;justify-content:center;padding:16px}.spinner-small{animation:spin .8s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:16px;width:16px}.search-no-results{padding:16px;text-align:center}.search-no-results p{color:#6b7280;font-size:13px;margin:0}.add-new-patient-btn{align-items:center;background:linear-gradient(180deg,#eff6ff,#dbeafe);border:none;border-top:1px solid #bfdbfe;color:#1d4ed8;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 12px;transition:all .15s ease;width:100%}.add-new-patient-btn:hover{background:linear-gradient(180deg,#dbeafe,#bfdbfe)}.search-dropdown::-webkit-scrollbar{width:6px}.search-dropdown::-webkit-scrollbar-track{background:#0000}.search-dropdown::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.patient-search .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:2000}.patient-search .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.patient-search .patient-form-modal{max-width:700px}.patient-search .duplicate-warning-modal{max-width:550px;padding:24px}.patient-search .duplicate-warning-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.patient-search .duplicate-warning-header svg{color:#f59e0b}.patient-search .duplicate-warning-header h2{color:#111827;font-size:18px;margin:0}.patient-search .duplicate-warning-modal>p{color:#6b7280;font-size:14px;margin:0 0 20px}.patient-search .duplicate-matches{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.patient-search .duplicate-match-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;padding:16px}.patient-search .match-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:150px}.patient-search .match-info strong{color:#111827;font-size:14px}.patient-search .match-info span{color:#6b7280;font-size:13px}.patient-search .match-score{flex-shrink:0}.patient-search .match-score .high-match{background:#fee2e2;border-radius:6px;color:#dc2626;font-size:12px;font-weight:500;padding:4px 10px}.patient-search .match-score .medium-match{background:#fef3c7;border-radius:6px;color:#d97706;font-size:12px;font-weight:500;padding:4px 10px}.patient-search .duplicate-match-card .btn-secondary{font-size:13px;padding:8px 12px}.patient-search .duplicate-warning-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.patient-search .btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .15s ease}.patient-search .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.patient-search .btn-warning{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .15s ease}.patient-search .btn-warning:hover{background:#d97706}.patient-sidebar{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-right:1px solid #e2e8f0;box-shadow:2px 0 8px #3b82f60f;display:flex;flex-direction:column;height:calc(100vh - 57px);left:0;overflow:hidden;position:fixed;top:57px;transition:width .2s ease,transform .2s ease;width:260px;z-index:998}.patient-sidebar.collapsed{width:52px}.sidebar-header{align-items:center;background:linear-gradient(180deg,#eff6ff,#f0f9ff);border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:12px}.sidebar-header-left{align-items:center;display:flex;gap:8px}.home-button{align-items:center;background:none;border:none;border-radius:6px;color:#1e40af;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s ease}.home-button:hover{background:#3b82f61a;color:#1d4ed8}.home-button svg{color:#3b82f6;height:16px;width:16px}.collapse-button{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.collapse-button:hover{background:#3b82f61a;color:#3b82f6}.collapse-button svg{height:16px;transition:transform .2s ease;width:16px}.patient-sidebar.collapsed .collapse-button svg{transform:rotate(180deg)}.patient-sidebar.collapsed .sidebar-header{justify-content:center;padding:12px 8px}.patient-sidebar.collapsed .home-button{padding:8px}.patient-sidebar.collapsed .collapse-button,.patient-sidebar.collapsed .home-button span{display:none}.sidebar-content{flex:1 1;overflow-x:hidden;overflow-y:auto}.search-section{background:#ffffff80;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:12px}.patient-sidebar.collapsed .search-section{padding:8px}.patient-card-section{background:#ffffff4d;border-bottom:1px solid #e2e8f0;padding:12px}.patient-sidebar.collapsed .patient-card-section{padding:8px}.empty-patient-card{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:24px 16px;text-align:center}.empty-patient-card svg{color:#94a3b8;height:32px;margin-bottom:8px;width:32px}.empty-patient-card p{font-size:13px;margin:0}.patient-sidebar.collapsed .empty-patient-card p{display:none}.patient-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:8px;padding:12px;position:relative}.patient-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.patient-card-name{color:#1e3a5f;font-size:14px;font-weight:600;line-height:1.3;margin:0 0 4px}.patient-card-info{color:#475569;font-size:12px;margin:0}.patient-card-close{align-items:center;background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;padding:0;transition:all .15s ease;width:24px}.patient-card-close:hover{background:#3b82f626;color:#1d4ed8}.patient-card-close svg{height:14px;width:14px}.patient-sidebar.collapsed .patient-card{align-items:center;display:flex;flex-direction:column;padding:8px;text-align:center}.patient-card-initials{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:32px;justify-content:center;margin-bottom:4px;width:32px}.patient-card-compact-info{color:#6b7280;font-size:10px;margin:0}.patient-sidebar.collapsed .patient-card-close,.patient-sidebar.collapsed .patient-card-header,.patient-sidebar.collapsed .patient-card-info,.patient-sidebar.collapsed .patient-card-name,.patient-sidebar:not(.collapsed) .patient-card-compact-info,.patient-sidebar:not(.collapsed) .patient-card-initials{display:none}.sections-list{padding:8px 0}.patient-sidebar.collapsed .sections-list{padding:4px 0}.section-item{align-items:center;background:none;border:none;color:#475569;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 16px;text-align:left;transition:all .15s ease;width:100%}.section-item:hover{background:#3b82f614;color:#1e40af}.section-item:hover .section-icon{color:#3b82f6}.section-item.active{background:linear-gradient(90deg,#3b82f626,#3b82f614);border-left:3px solid #3b82f6;color:#1d4ed8;font-weight:500}.section-item.active .section-icon{color:#2563eb}.section-arrow-btn{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:center;margin-left:auto;padding:4px;transition:background .15s ease}.section-arrow-btn:hover{background:#3b82f626}.section-item.expandable .section-arrow{transition:transform .2s ease}.section-item.expandable.expanded .section-arrow{transform:rotate(90deg)}.section-icon{color:#64748b;flex-shrink:0;height:18px;transition:color .15s ease;width:18px}.section-label{flex:1 1}.section-arrow{color:#94a3b8;height:14px;width:14px}.patient-sidebar.collapsed .section-item{justify-content:center;padding:10px 8px}.patient-sidebar.collapsed .section-arrow,.patient-sidebar.collapsed .section-arrow-btn,.patient-sidebar.collapsed .section-label{display:none}.section-expanded-content{background:#f1f5f9cc;border-top:1px solid #e2e8f0;color:#475569;font-size:12px;padding:8px 16px 8px 44px}.section-expanded-content p{margin:0 0 4px}.section-expanded-content p:last-child{margin-bottom:0}.section-expanded-content .referral-summary{margin-top:4px}.section-expanded-content .referral-count{color:#1d4ed8;font-weight:500}.section-expanded-content .field-empty{color:#9ca3af;font-style:italic}.patient-sidebar.collapsed .section-expanded-content{display:none}.patient-card-loading{align-items:center;display:flex;justify-content:center;padding:24px}.patient-card-loading .spinner{animation:spin .8s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:24px;width:24px}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#0000}.sidebar-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#93c5fd}@media (max-width:768px){.patient-sidebar{box-shadow:4px 0 12px #00000026;height:calc(100vh - 50px);top:50px;transform:translateX(-100%);width:280px}.patient-sidebar.mobile-open{transform:translateX(0)}.patient-sidebar.collapsed{width:280px}}.sidebar-backdrop{background:#0006;inset:0;position:fixed;z-index:997}.patient-sidebar.collapsed .section-item{position:relative}.patient-sidebar.collapsed .section-item:after{background:#1f2937;border-radius:4px;color:#fff;content:attr(data-tooltip);font-size:12px;left:100%;margin-left:8px;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .15s ease,visibility .15s ease;visibility:hidden;white-space:nowrap;z-index:1000}.patient-sidebar.collapsed .section-item:hover:after{opacity:1;visibility:visible}.curve-root{--s-1:oklch(0.56 0.066 235);--blue-bg:oklch(0.955 0.024 235);--blue-ink:oklch(0.46 0.075 235);--up-bg:oklch(0.952 0.040 152);--down-bg:oklch(0.958 0.030 38);--amber-bg:oklch(0.960 0.045 70);--b-purple:oklch(0.52 0.090 300);--wood-deep:oklch(0.47 0.072 58);-webkit-font-smoothing:antialiased;background:var(--paper);color:var(--ink);font-family:var(--font-sans);min-height:calc(100vh - 57px);position:relative}.curve-root *{box-sizing:border-box}.curve-root .curve-bg{background:radial-gradient(120% 80% at 12% -8%,oklch(.96 .03 150/.4),#0000 60%),radial-gradient(120% 80% at 100% 0,oklch(.95 .03 70/.28),#0000 55%);inset:0;pointer-events:none;position:absolute;z-index:0}.curve-root .curve-shell{position:relative;z-index:1}.curve-root .cv-aside{background:var(--card);border-right:1px solid var(--line)}.curve-root .cv-leaf{background:linear-gradient(150deg,var(--forest),var(--forest-deep));border-radius:9px;box-shadow:var(--shadow-sm);display:grid;height:28px;place-items:center;width:28px}.curve-root .cv-navbtn{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:var(--ink-3);cursor:pointer;display:flex;font-size:13.5px;font-weight:600;gap:12px;padding:10px 12px;text-align:left;transition:all .12s;width:100%}.curve-root .cv-navbtn:hover{background:var(--card-2);color:var(--ink)}.curve-root .cv-navbtn.active{background:var(--forest-soft);border-color:var(--forest-soft2);color:var(--forest-deep)}.curve-root .cv-h1{font-size:26px;letter-spacing:-.025em}.curve-root .cv-h1,.curve-root .cv-h2{color:var(--ink);font-weight:800;margin:0}.curve-root .cv-h2{font-size:22px;letter-spacing:-.02em}.curve-root .cv-sub{color:var(--ink-3);font-size:13.5px;margin-top:3px}.curve-root .phi{align-items:center;background:var(--down-bg);border:1px solid oklch(.87 .05 36);border-radius:999px;color:var(--down);display:inline-flex;font-size:11.5px;font-weight:700;gap:7px;padding:5px 11px}.curve-root .phi.sm{font-size:10px;padding:3px 8px}.curve-root .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.curve-root .card-hd{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;padding:15px 22px}.curve-root .card-hd .t{color:var(--ink-3);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.curve-root .card-bd{padding:22px}.curve-root .tbl{border-collapse:collapse;font-size:13.5px;width:100%}.curve-root .tbl th{border-bottom:1.5px solid var(--line-2);color:var(--ink-3);font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:0 14px 11px;text-align:left;text-transform:uppercase;white-space:nowrap}.curve-root .tbl td{border-bottom:1px solid var(--line);color:var(--ink-2);padding:12px 14px;vertical-align:top;white-space:nowrap}.curve-root .tbl tr:last-child td{border-bottom:none}.curve-root .tbl tbody tr.click{cursor:pointer}.curve-root .tbl tbody tr.click:hover td{background:var(--card-2)}.curve-root .tbl .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.curve-root .tbl .strong{color:var(--ink);font-weight:700}.curve-root .tbl .money{font-feature-settings:"tnum";color:var(--up);font-variant-numeric:tabular-nums;font-weight:700}.curve-root .tbl .empty{color:var(--ink-4);padding:30px;text-align:center}.curve-root .bdg{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;padding:2px 9px}.curve-root .bdg-green{background:var(--up-bg);color:var(--up)}.curve-root .bdg-blue{background:var(--blue-bg);color:var(--s-1)}.curve-root .bdg-red{background:var(--down-bg);color:var(--down)}.curve-root .bdg-amber{background:var(--amber-bg);color:var(--amber)}.curve-root .bdg-orange{background:var(--wood-soft);color:var(--wood)}.curve-root .bdg-slate{background:var(--card-2);color:var(--ink-3)}.curve-root .search{max-width:460px;position:relative}.curve-root .search input{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);color:var(--ink);font-family:inherit;font-size:14px;padding:11px 13px 11px 38px;transition:border-color .12s,box-shadow .12s;width:100%}.curve-root .search input:focus{border-color:var(--forest);box-shadow:0 0 0 3px var(--forest-soft);outline:none}.curve-root .search svg{color:var(--ink-4);height:16px;left:13px;position:absolute;top:50%;transform:translateY(-50%);width:16px}.curve-root input:not([type=checkbox]):not([type=radio]):not([type=file]),.curve-root select,.curve-root textarea{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-family:inherit}.curve-root input:focus,.curve-root select:focus,.curve-root textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px var(--forest-soft);outline:none}.curve-root .stat-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.curve-root .stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);border-top:3px solid var(--c,var(--forest));padding:14px 16px}.curve-root .stat .v{font-feature-settings:"tnum";color:var(--ink);font-size:23px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em}.curve-root .stat .l{color:var(--ink-3);font-size:12px;margin-top:3px}.curve-root .back{align-items:center;background:var(--card);border:1px solid var(--line-2);border-radius:9px;color:var(--ink-2);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:7px;padding:8px 12px 8px 9px;transition:all .12s}.curve-root .back:hover{border-color:var(--ink-4);color:var(--ink)}.curve-root .back svg{height:16px;width:16px}.curve-root .ph-head{background:linear-gradient(120deg,var(--forest),var(--forest-deep));border-radius:var(--r-lg);box-shadow:var(--shadow);color:#fff;padding:22px 26px}.curve-root .ph-avatar{background:oklch(.98 .01 150/.22);border:1px solid oklch(1 0 0/.25);border-radius:999px;color:#fff;display:grid;flex:none;font-size:21px;font-weight:800;height:56px;place-items:center;width:56px}.curve-root .tabs{background:var(--card-2);border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:3px;padding:4px}.curve-root .tabs button{background:#0000;border:1px solid #0000;border-radius:9px;color:var(--ink-3);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 14px;transition:all .12s}.curve-root .tabs button:hover{color:var(--ink)}.curve-root .tabs button.active{background:var(--card);border-color:var(--line);box-shadow:var(--shadow-sm);color:var(--forest-deep)}.curve-root .row-avatar{background:var(--forest-soft);border:1px solid var(--forest-soft2);border-radius:999px;color:var(--forest-deep);display:grid;flex:none;font-size:12px;font-weight:800;height:32px;place-items:center;width:32px}.curve-root .wf-btn{align-items:center;border:1px solid #0000;border-radius:var(--r-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:8px;padding:9px 15px;transition:all .12s}.curve-root .wf-btn svg{height:16px;width:16px}.curve-root .wf-btn-primary{background:var(--forest);box-shadow:var(--shadow-sm);color:oklch(.98 .01 150)}.curve-root .wf-btn-primary:hover{background:var(--forest-deep)}.curve-root .wf-btn-primary:disabled{cursor:not-allowed;opacity:.5}.curve-root .wf-btn-ghost{background:var(--card);border-color:var(--line-2);color:var(--ink-2)}.curve-root .wf-btn-ghost:hover{background:var(--card-2);border-color:var(--ink-4);color:var(--ink)}.curve-root .kv2{grid-gap:18px 24px;display:grid;gap:18px 24px;grid-template-columns:repeat(4,1fr)}.curve-root .kv2 .k{color:var(--ink-4);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.curve-root .kv2 .v{color:var(--ink);font-size:15px;font-weight:700;margin-top:3px}.curve-root .overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:oklch(.3 .03 150/.4);display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:100}.curve-root .modal{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-height:88vh;max-width:94vw;overflow:auto;width:470px}.curve-root .modal-hd{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:16px 22px}.curve-root .modal-hd .t{color:var(--ink);font-size:16px;font-weight:800}.curve-root .modal-x{background:#0000;border:none;border-radius:8px;color:var(--ink-3);cursor:pointer;font-size:15px;height:30px;width:30px}.curve-root .modal-x:hover{background:var(--card-2);color:var(--ink)}.curve-root .chk{align-items:center;border-radius:9px;color:var(--ink-2);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:11px;padding:10px 12px}.curve-root .chk:hover{background:var(--card-2)}.curve-root .chk input{accent-color:var(--forest);height:17px;width:17px}.curve-root .fade-in{animation:cvFade .3s cubic-bezier(.2,.8,.3,1) both}@keyframes cvFade{0%{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:none}}.curve-print-chart{display:none}@media print{body.curve-printing>:not(.curve-print-chart){display:none!important}body.curve-printing .curve-print-chart{color:var(--ink);display:block!important;font-family:var(--font-sans);padding:0;position:static}body.curve-printing .curve-print-chart h3{break-before:page;color:var(--ink);font-size:14px;font-weight:800;margin:0 0 8px;padding-top:4px;page-break-before:always}body.curve-printing .curve-print-chart h3:first-of-type{break-before:avoid;page-break-before:avoid}body.curve-printing .curve-print-chart .tbl,body.curve-printing .curve-print-chart tr{break-inside:avoid;page-break-inside:avoid}@page{margin:.5in}}.curve-print-chart .pc-eyebrow{color:var(--forest);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.curve-print-chart .pc-title{font-size:22px;font-weight:800;margin:4px 0 2px}.curve-print-chart .pc-meta{color:var(--ink-4);font-size:12px;margin-bottom:16px}.curve-print-chart .pc-kv{grid-gap:4px 16px;display:grid;font-size:12.5px;gap:4px 16px;grid-template-columns:160px 1fr}.curve-print-chart .pc-kv .k{color:var(--ink-3)}.curve-print-chart .pc-kv .v{color:var(--ink);font-weight:600}.curve-print-chart .tbl{border-collapse:collapse;font-size:12px;margin-top:2px;width:100%}.curve-print-chart .tbl th{border-bottom:1.5px solid var(--line-2);color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.04em;padding:0 10px 8px;text-align:left;text-transform:uppercase}.curve-print-chart .tbl td{border-bottom:1px solid var(--line);color:var(--ink-2);padding:7px 10px;vertical-align:top}.curve-print-chart .tbl .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.curve-print-chart .tbl .empty{color:var(--ink-4);padding:16px;text-align:center}@media (max-width:920px){.curve-root .kv2,.curve-root .stat-grid{grid-template-columns:1fr 1fr}}.pv-root{--s-1:oklch(0.56 0.066 235);--blue-bg:oklch(0.955 0.024 235);--blue-ink:oklch(0.46 0.075 235);--b-purple:oklch(0.52 0.090 300);--violet-bg:oklch(0.957 0.026 300);--violet-ink:oklch(0.45 0.085 300);--wood-deep:oklch(0.47 0.072 58);-webkit-font-smoothing:antialiased;color:var(--ink);font-family:var(--font-sans)}.pv-root *{box-sizing:border-box}.pv-root .pv-h1{color:var(--ink);font-size:26px;font-weight:800;letter-spacing:-.025em;margin:0}.pv-root .pv-sub{color:var(--ink-3);font-size:13.5px;margin-top:3px}.pv-root .toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.pv-root .toolbar .pv-search{flex:1 1;min-width:220px;position:relative}.pv-root .toolbar .pv-search input{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-family:inherit;font-size:14px;padding:10px 12px 10px 36px;transition:border-color .12s,box-shadow .12s;width:100%}.pv-root .toolbar .pv-search input:focus{border-color:var(--forest);box-shadow:0 0 0 3px var(--forest-soft);outline:none}.pv-root .toolbar .pv-search input::placeholder{color:var(--ink-4)}.pv-root .toolbar .pv-search svg{color:var(--ink-4);height:15px;left:12px;position:absolute;top:50%;transform:translateY(-50%);width:15px}.pv-root .pv-sel{appearance:none;background:var(--card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a8a7a' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);cursor:pointer;font-family:inherit;font-size:13.5px;min-height:42px;padding:10px 30px 10px 12px}.pv-root .pv-sel:focus{border-color:var(--forest);outline:none}.pv-root .pv-toggle{align-items:center;color:var(--ink-3);cursor:pointer;display:inline-flex;font-size:13px;gap:8px}.pv-root .pv-toggle input{accent-color:var(--forest);height:15px;width:15px}.pv-root .catsec .ch{align-items:center;display:flex;gap:9px;margin-bottom:12px;padding:0 1px}.pv-root .catsec .ch .dot{border-radius:999px;flex:none;height:9px;width:9px}.pv-root .catsec .ch .t{color:var(--ink-3);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pv-root .catsec .ch .ct{color:var(--ink-4);font-size:12px;font-weight:700}.pv-root .grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}@media (max-width:760px){.pv-root .grid{grid-template-columns:1fr}}.pv-root .cred{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--c,var(--forest));border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:16px 18px}.pv-root .cred.deleted{border-style:dashed;opacity:.6}.pv-root .cred .top{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:6px}.pv-root .cred .nm{align-items:center;color:var(--ink);display:inline-flex;font-size:15px;font-weight:800;gap:8px}.pv-root .cred .of{color:var(--ink-3);font-size:12px;margin-top:2px}.pv-root .cred .lnk{color:var(--forest);display:inline-block;font-size:12px;margin-top:2px}.pv-root .cred .lnk:hover{text-decoration:underline}.pv-root .cred .acts{color:var(--ink-4);display:flex;flex:none;gap:6px}.pv-root .cred .acts button{background:#0000;border:none;border-radius:8px;color:var(--ink-4);cursor:pointer;display:grid;height:30px;place-items:center;width:30px}.pv-root .cred .acts button svg{height:16px;width:16px}.pv-root .cred .acts button:hover{background:var(--card-2);color:var(--ink)}.pv-root .cred .acts button.danger:hover{background:var(--bucket-lost-bg);color:var(--bucket-lost)}.pv-root .cred .restore{background:var(--forest-soft);border:1px solid var(--forest-soft2);border-radius:8px;color:var(--forest);cursor:pointer;font-size:12.5px;font-weight:700;padding:6px 12px}.pv-root .cred .restore:hover{background:var(--forest-soft2)}.pv-root .cbadge{align-items:center;display:inline-flex;margin-top:7px;padding:2px 8px}.pv-root .cbadge,.pv-root .del-badge{border-radius:999px;font-size:10px;font-weight:700}.pv-root .del-badge{background:var(--bucket-lost-bg);color:var(--bucket-lost-ink);padding:1px 7px}.pv-root .cred .rows{margin-top:10px}.pv-root .row{align-items:center;border-top:1px solid var(--line);display:flex;font-size:13.5px;gap:8px;padding:8px 0}.pv-root .row .k{color:var(--ink-4);flex:none;font-size:11px;font-weight:700;text-transform:uppercase;width:80px}.pv-root .row .v{font-feature-settings:"tnum";color:var(--ink);flex:1 1;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-root .row .mono{font-family:ui-monospace,monospace;letter-spacing:1px}.pv-root .row .ib{background:var(--card);border:1px solid var(--line-2);border-radius:7px;color:var(--ink-3);cursor:pointer;display:grid;flex:none;height:28px;place-items:center;width:28px}.pv-root .row .ib:hover{border-color:var(--ink-4);color:var(--ink)}.pv-root .row .ib svg{height:14px;width:14px}.pv-root .row .copied{color:var(--up);flex:none;font-size:11px;font-weight:700;text-align:center;width:44px}.pv-root .cred .notes{color:var(--ink-4);font-size:12px;font-style:italic;margin-top:10px}.pv-root .pv-empty{color:var(--ink-4);font-size:14px;padding:60px;text-align:center}.pv-root .fade-in{animation:pvFade .3s cubic-bezier(.2,.8,.3,1) both}@keyframes pvFade{0%{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:none}}.pv-form .pv-office-chip{align-items:center;background:var(--card-2);border:1px solid var(--line-2);border-radius:var(--r-sm);display:flex;gap:8px;padding:10px 12px}.pv-form .pv-office-chip span{color:var(--ink);flex:1 1;font-size:14px}.pv-form .pv-office-chip button{background:none;border:none;color:var(--ink-4);cursor:pointer;padding:2px}.pv-form .pv-office-chip button:hover{color:var(--ink)}.pv-form .pv-office-menu{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);margin-top:4px;max-height:168px;overflow-y:auto;padding:4px;position:absolute;width:100%;z-index:20}.pv-form .pv-office-menu button{background:none;border:none;border-radius:7px;color:var(--ink-2);cursor:pointer;font-size:13.5px;padding:8px 10px;text-align:left;width:100%}.pv-form .pv-office-menu button:hover{background:var(--forest-soft);color:var(--forest-deep)}.sd-root{color:var(--ink);font-family:var(--font-sans)}.sd-root .tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sd-root input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.sd-root select,.sd-root textarea{background-color:var(--card);border:1px solid var(--line-2);color:var(--ink)}.sd-root input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus,.sd-root select:focus,.sd-root textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px var(--forest-soft2);outline:none}.sd-root input::placeholder,.sd-root textarea::placeholder{color:var(--ink-4)}.sd-root .panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.sd-root .panel-hd{align-items:center;display:flex;gap:14px;justify-content:space-between;padding:18px 22px}.sd-root .panel-hd .t{align-items:center;display:flex;font-size:17px;font-weight:800;gap:10px}.sd-root .panel-hd .t .ic{color:var(--forest);height:19px;width:19px}.sd-root .panel-bd{padding:0 22px 22px}.sd-root .cal{border:1px solid var(--line);border-radius:var(--r);display:grid;grid-template-columns:repeat(7,1fr);overflow:hidden}.sd-root .cal .hd{background:var(--card-2);border-bottom:1px solid var(--line);color:var(--ink-3);font-size:12px;font-weight:700;padding:11px 0;text-align:center}.sd-root .cal .cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-height:84px;padding:8px 9px}.sd-root .cal .cell .d{color:var(--ink-2);font-size:12.5px;font-weight:700}.sd-root .cal .cell.out{background:var(--card-2)}.sd-root .cal .cell.today{box-shadow:inset 0 0 0 2px var(--s-1)}.sd-root .cal .cell.today .d{color:var(--s-1)}.sd-root .cal .cell.has{cursor:pointer}.sd-root .cal .cell.has:hover{background:var(--card-2)}.sd-root .ev{border-radius:5px;font-size:11px;font-weight:700;overflow:hidden;padding:2px 7px;text-overflow:ellipsis;white-space:nowrap}.sd-root .ev-amber{background:var(--amber-bg);color:var(--amber)}.sd-root .ev-closed{background:var(--down-bg);color:var(--down)}.sd-root .ev-cov{background:var(--up-bg);color:var(--up)}.sd-root .ev-pend{background:var(--amber-bg);color:var(--amber)}.sd-root .legend{color:var(--ink-2);display:flex;flex-wrap:wrap;font-size:12.5px;font-weight:600;gap:18px;margin-top:14px}.sd-root .legend span{align-items:center;display:inline-flex;gap:7px}.sd-root .legend .dot{border-radius:999px;height:10px;width:10px}.sd-root .evrow{align-items:center;border-radius:11px;display:flex;gap:13px;margin-bottom:9px;padding:13px 15px}.sd-root .evrow .ico{flex:none;height:18px;width:18px}.sd-root .evrow .nm{font-size:14px;font-weight:700}.sd-root .evrow .meta{color:var(--ink-3);font-size:12.5px;margin-top:1px}.sd-root .evrow .acts{color:var(--ink-4);display:flex;gap:6px;margin-left:auto}.sd-root .evrow .acts svg{cursor:pointer;height:16px;width:16px}.sd-root .tag-ok{background:var(--up-bg);border-radius:999px;color:var(--up);font-size:10px;font-weight:700;padding:2px 8px}.sd-root .seg2{display:flex;gap:4px;margin-bottom:14px}.sd-root .seg2 button{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:var(--ink-3);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;padding:8px 4px}.sd-root .seg2 button.active{border-bottom-color:var(--forest);color:var(--forest-deep)}.sd-root .inp{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-family:inherit;font-size:13.5px;padding:9px 12px;width:100%}.sd-root .inp:focus{border-color:var(--forest);outline:none}.sd-root select.inp{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a8a7a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.sd-root .doc{align-items:center;border:1px solid var(--line);border-radius:11px;display:flex;gap:12px;padding:13px 15px}.sd-root .doc .fi{color:var(--ink-3);height:26px;width:26px}.sd-root .subcap{color:var(--ink-4);font-size:10.5px;font-weight:700;letter-spacing:.06em;margin:16px 0 9px;text-transform:uppercase}.sd-root .goalcard{background:var(--up-bg);border:1px solid oklch(.86 .06 150);border-radius:var(--r);padding:18px 20px}.sd-root .wf-progress{background:var(--line);border-radius:999px;height:12px;overflow:hidden}.sd-root .wf-progress>i{background:var(--up);border-radius:999px;display:block;height:100%}.sd-root .grid2{grid-gap:22px;display:grid;gap:22px;grid-template-columns:1fr 1fr}@media (max-width:980px){.sd-root .grid2{grid-template-columns:1fr}}.sd-root .fade-in{animation:sdFadeIn .34s cubic-bezier(.2,.8,.3,1) both}@keyframes sdFadeIn{0%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}.sd-root .wf-btn{align-items:center;border:1px solid #0000;border-radius:var(--r-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .14s ease}.sd-root .wf-btn-sm{font-size:12.5px;padding:7px 12px}.sd-root .wf-btn-primary{background:var(--forest);box-shadow:var(--shadow-sm);color:oklch(.98 .01 150)}.sd-root .wf-btn-primary:hover{background:var(--forest-deep)}.sd-root .wf-btn-ghost{background:var(--card);border-color:var(--line-2);color:var(--ink-2)}.sd-root .wf-btn-ghost:hover{background:var(--card-2);border-color:var(--ink-4);color:var(--ink)}.sd-root .wf-btn-soft{background:var(--forest-soft);border-color:var(--forest-soft2);color:var(--forest-deep)}.sd-root .wf-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:5px;padding:3px 9px}.sd-root .wf-pill-done{background:var(--up-bg);color:var(--up)}.sd-root .wf-pill-prog{background:var(--amber-bg);color:var(--amber)}.sd-root .overlay{animation:sdOv .16s ease both;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:oklch(.3 .03 150/.34);display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:100}@keyframes sdOv{0%{opacity:0}to{opacity:1}}.sd-root .modal{animation:sdPop .2s cubic-bezier(.2,1.2,.5,1) both;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-height:88vh;max-width:94vw;overflow:auto;width:460px}@keyframes sdPop{0%{transform:scale(.96) translateY(6px)}to{transform:none}}.sd-root .modal-hd{align-items:center;background:var(--card);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 22px;position:sticky;top:0}.sd-root .modal-hd .t{font-size:17px;font-weight:800}.sd-root .modal-x{background:#0000;border:none;border-radius:8px;color:var(--ink-3);cursor:pointer;display:grid;font-size:15px;height:30px;place-items:center;width:30px}.sd-root .modal-x:hover{background:var(--card-2);color:var(--ink)}.sd-root .modal-bd{padding:20px 22px}.sd-root .modal-ft{background:var(--card);border-top:1px solid var(--line);bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:16px 22px;position:sticky}.sd-root .fld{margin-bottom:16px}.sd-root .flabel{align-items:center;color:var(--ink-2);display:flex;font-size:12.5px;font-weight:700;justify-content:space-between;margin:0 0 7px}.sd-root .flabel .manage{color:var(--forest);cursor:pointer;font-size:12px;font-weight:600}.sd-root .fhint{color:var(--ink-4);font-size:11.5px;margin-top:5px}.ai-chat-fab{align-items:center;background:linear-gradient(135deg,#6366f1,#7c3aed);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 16px #6366f166;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:24px;transition:transform .2s,box-shadow .2s;width:56px;z-index:1100}.ai-chat-fab:hover{box-shadow:0 6px 24px #6366f180;transform:scale(1.08)}.ai-chat-fab-icon{font-size:16px;font-weight:700;letter-spacing:-.5px}.ai-panel-backdrop{background:#0003;inset:0;position:fixed;transition:opacity .2s;z-index:1200}.ai-panel{background:#fff;box-shadow:-4px 0 24px #0000001f;display:flex;flex-direction:column;height:100vh;position:fixed;right:-440px;top:0;transition:right .25s ease;width:420px;z-index:1300}.ai-panel-open{right:0}.ai-panel-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 16px}.ai-panel-header-left{align-items:center;display:flex;gap:10px}.ai-panel-logo{align-items:center;background:linear-gradient(135deg,#6366f1,#7c3aed);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:32px;justify-content:center;width:32px}.ai-panel-title{color:#111827;font-size:15px;font-weight:600}.ai-panel-subtitle{color:#9ca3af;font-size:11px}.ai-panel-header-actions{align-items:center;display:flex;gap:6px}.ai-panel-clear-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;font-size:12px;padding:4px 10px;transition:background .15s}.ai-panel-clear-btn:hover{background:#e5e7eb}.ai-panel-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;transition:background .15s;width:28px}.ai-panel-close-btn:hover{background:#f3f4f6;color:#374151}.ai-panel-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.ai-panel-welcome{color:#6b7280;padding:32px 12px;text-align:center}.ai-panel-welcome p{font-size:13px;line-height:1.5;margin:0 0 20px}.ai-panel-suggestions{display:flex;flex-direction:column;gap:6px}.ai-panel-suggestions button{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;color:#5b21b6;cursor:pointer;font-size:13px;padding:8px 14px;text-align:left;transition:background .15s}.ai-panel-suggestions button:hover{background:#ede9fe}.ai-panel-msg{display:flex}.ai-panel-msg-user{justify-content:flex-end}.ai-panel-msg-user-bubble{word-wrap:break-word;background:#6366f1;border-radius:14px 14px 4px 14px;color:#fff;font-size:13px;line-height:1.5;max-width:80%;padding:8px 14px}.ai-panel-msg-ai{align-items:flex-start;display:flex;gap:8px;max-width:95%}.ai-panel-msg-ai-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#7c3aed);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:9px;font-weight:700;height:26px;justify-content:center;margin-top:2px;width:26px}.ai-panel-msg-ai-body{flex:1 1;min-width:0}.ai-panel-msg-ai-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px 14px 14px 14px;color:#1f2937;font-size:13px;line-height:1.6;padding:10px 14px}.ai-panel-msg-ai-content .ai-chat-para{margin:0 0 6px}.ai-panel-msg-ai-content .ai-chat-para:last-child{margin-bottom:0}.ai-panel-msg-ai-content .ai-chat-spacer{height:8px}.ai-panel-msg-ai-content .ai-chat-list{margin:4px 0 6px 16px;padding:0}.ai-panel-msg-ai-content .ai-chat-list li{margin-bottom:2px}.ai-panel-sources{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.ai-panel-source-tag{background:#eef2ff;border:1px solid #c7d2fe;border-radius:3px;color:#4338ca;font-family:SFMono-Regular,Menlo,monospace;font-size:10px;padding:1px 6px}.ai-panel-source-doc{color:#6b7280}.ai-panel-typing{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px 14px 14px 14px;display:flex;gap:4px;padding:12px 14px}.ai-panel-typing span{animation:ai-dot 1.4s infinite;background:#9ca3af;border-radius:50%;height:6px;width:6px}.ai-panel-typing span:nth-child(2){animation-delay:.2s}.ai-panel-typing span:nth-child(3){animation-delay:.4s}@keyframes ai-dot{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.ai-panel-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:12px;padding:8px 12px}.ai-panel-input-area{background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:8px;padding:12px 16px}.ai-panel-input-area textarea{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-family:inherit;font-size:13px;max-height:100px;outline:none;padding:8px 12px;resize:none;transition:border-color .15s}.ai-panel-input-area textarea:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f}.ai-panel-send-btn{align-items:center;align-self:flex-end;background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:background .15s;width:36px}.ai-panel-send-btn:hover:not(:disabled){background:#4f46e5}.ai-panel-send-btn:disabled{cursor:not-allowed;opacity:.4}@media (max-width:768px){.ai-chat-fab{bottom:16px;height:48px;right:16px;width:48px}.ai-chat-fab-icon{font-size:14px}.ai-panel{right:-100vw;width:100vw}.ai-panel-open{right:0}}.section-page{background:#f9fafb;min-height:100%}.section-page-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;padding:16px 24px;position:sticky;top:0;z-index:10}.section-back-button{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s ease}.section-back-button:hover{background:#e5e7eb;color:#111827}.section-page-title{align-items:center;display:flex;gap:10px}.section-page-title svg{color:#3b82f6}.section-page-title h1{color:#111827;font-size:18px;font-weight:600;margin:0}.section-page-patient{color:#6b7280;font-size:14px;font-weight:400}.section-page-content{padding:24px}.section-page-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px}.section-page-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;margin-bottom:12px;width:32px}.section-page-error{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.section-page-error svg{color:#ef4444;margin-bottom:12px}.section-page-error h2{color:#111827;font-size:16px;margin:0 0 8px}.section-page-error p{color:#6b7280;font-size:14px;margin:0}.section-placeholder{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.section-placeholder svg{color:#9ca3af;margin-bottom:16px}.section-placeholder h2{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.section-placeholder p{color:#6b7280;font-size:14px;margin:0;max-width:400px}@media (max-width:768px){.section-page-header{gap:12px;padding:12px 16px}.section-back-button span{display:none}.section-page-title h1{font-size:16px}.section-page-patient{display:none}.section-page-content{padding:16px}}.image-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .2s ease}.image-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.image-card.selected{border-color:#3b82f6;border-width:2px;box-shadow:0 0 0 3px #3b82f633}.image-card.selectable{cursor:pointer}.selection-indicator{align-items:center;background:#ffffffe6;border:2px solid #fff;border-radius:4px;box-shadow:0 1px 3px #0003;display:flex;height:22px;justify-content:center;left:8px;position:absolute;top:8px;transition:all .15s ease;width:22px;z-index:10}.selection-indicator.checked{background:#3b82f6;border-color:#3b82f6;color:#fff}.image-preview{align-items:center;aspect-ratio:1;background:#f3f4f6;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.image-preview img{height:100%;object-fit:cover;width:100%}.image-loading{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:24px;width:24px}.image-error{align-items:center;color:#9ca3af;font-size:.75rem;gap:.5rem;justify-content:center}.image-error,.image-info{display:flex;flex-direction:column}.image-info{gap:.375rem;padding:.75rem}.image-card .tooth-pills{display:flex;flex-wrap:wrap;gap:.25rem}.image-card .tooth-pill{align-items:center;background:#eff6ff;border-radius:4px;color:#3b82f6;display:inline-flex;font-size:.7rem;font-weight:600;padding:.125rem .375rem}.image-card .tooth-pill.more{background:#dbeafe}.image-card .tooth-pill.empty{background:#f3f4f6;color:#9ca3af}.image-label{color:#374151;font-size:.8rem;font-weight:500}.image-actions{display:flex;gap:4px;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s ease}.image-card:hover .image-actions{opacity:1}.action-btn{align-items:center;border:none;border-radius:6px;box-shadow:0 1px 3px #0003;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s ease;width:28px}.action-btn.edit-btn{background:#fff;color:#6b7280}.action-btn.edit-btn:hover{background:#3b82f6;color:#fff}.action-btn.delete-btn{background:#fff;color:#ef4444}.action-btn.delete-btn:hover{background:#ef4444;color:#fff}.image-card.compact{border-radius:6px}.image-card.compact .image-info{gap:.25rem;padding:.5rem}.image-card.compact .tooth-pill{font-size:.65rem;padding:.1rem .25rem}.image-card.compact .image-label{font-size:.7rem}.image-card.compact .selection-indicator{height:18px;left:6px;top:6px;width:18px}.image-card.compact .action-btn{height:24px;width:24px}@media (max-width:480px){.image-info{padding:.5rem}.image-card .tooth-pill{font-size:.65rem}.image-label{font-size:.75rem}}.imaging-tooth-selector{-webkit-user-select:none;user-select:none;width:100%}.imaging-tooth-selector.disabled{opacity:.6;pointer-events:none}.tooth-selector-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.tooth-selector-label .required{color:#dc2626;margin-left:2px}.tooth-chart{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:1rem}.tooth-row{flex-wrap:nowrap;gap:.25rem;width:100%}.tooth-circle,.tooth-row{display:flex;justify-content:center}.tooth-circle{align-items:center;background-color:#fff;border:2px solid #d1d5db;border-radius:50%;color:#374151;cursor:pointer;flex-shrink:1;font-size:.7rem;font-weight:600;height:30px;min-width:24px;padding:0;transition:all .15s ease;width:30px}.tooth-circle:hover:not(.disabled){background-color:#eff6ff;border-color:#3b82f6;transform:scale(1.08)}.tooth-circle.selected{background-color:#3b82f6;border-color:#3b82f6;box-shadow:0 2px 6px #3b82f659;color:#fff}.tooth-circle.disabled{cursor:not-allowed;opacity:.5}.arch-divider{align-items:center;display:flex;margin:.25rem 0;padding:0 .5rem;width:100%}.side-label{color:#9ca3af;font-size:.65rem;font-weight:600;min-width:16px;text-align:center}.divider-line{background-color:#d1d5db;flex:1 1;height:1px;margin:0 .5rem}.tooth-text-input-container{align-items:center;display:flex;gap:.5rem}.tooth-text-input{border:1px solid #d1d5db;border-radius:6px;color:#374151;flex:1 1;font-size:.875rem;padding:.5rem .75rem;transition:border-color .15s ease}.tooth-text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.tooth-text-input::placeholder{color:#9ca3af}.tooth-text-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.clear-btn{background-color:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:.5rem .75rem;transition:background-color .15s ease;white-space:nowrap}.clear-btn:hover:not(:disabled){background-color:#4b5563}.clear-btn:disabled{cursor:not-allowed;opacity:.5}.selection-summary{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#3b82f6;font-size:.8rem;font-weight:500;margin-top:.5rem;padding:.5rem .75rem}.validation-message{color:#dc2626;font-size:.75rem;margin-top:.25rem}.imaging-tooth-selector.compact .tooth-chart{padding:.75rem}.imaging-tooth-selector.compact .tooth-circle{font-size:.65rem;height:26px;min-width:22px;width:26px}.imaging-tooth-selector.compact .tooth-row{gap:.15rem}@media (max-width:768px){.tooth-circle{font-size:.65rem;height:26px;min-width:22px;width:26px}.tooth-row{gap:.15rem}}@media (max-width:480px){.tooth-circle{font-size:.6rem;height:22px;min-width:18px;width:22px}.tooth-row{gap:.1rem}.tooth-text-input-container{flex-direction:column}.clear-btn{width:100%}}.image-upload-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.image-upload-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .15s ease}.close-btn:hover{background:#f3f4f6;color:#111827}.modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.file-drop-zone{align-items:center;background:#fafafa;border:2px dashed #d1d5db;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;padding:3rem;transition:all .2s ease}.file-drop-zone:hover{background:#f0f7ff;border-color:#3b82f6}.drop-icon{color:#9ca3af}.drop-text{color:#374151;font-size:1rem;font-weight:500;margin:0}.drop-subtext{color:#9ca3af;font-size:.875rem;margin:0}.file-select-btn{background:#3b82f6;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:background .15s ease}.file-select-btn:hover{background:#2563eb}.file-hint{color:#9ca3af;font-size:.75rem;margin:0}.thumbnail-strip{background:#f9fafb;border-radius:8px;display:flex;gap:.5rem;margin-bottom:1.5rem;overflow-x:auto;padding:.75rem}.thumbnail{background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;padding:0;position:relative;transition:all .15s ease;width:60px}.thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail.current,.thumbnail:hover{border-color:#3b82f6}.thumbnail.current{box-shadow:0 0 0 2px #3b82f64d}.thumbnail.complete{border-color:#10b981}.complete-indicator{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;height:16px;justify-content:center;position:absolute;right:2px;top:2px;width:16px}.current-indicator{background:#3b82f6;bottom:0;height:3px;left:0;position:absolute;right:0}.assignment-area{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.preview-section{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;justify-content:center;min-height:300px;padding:1rem}.large-preview{border-radius:4px;max-height:400px;max-width:100%;object-fit:contain}.form-section{display:flex;flex-direction:column;gap:1.25rem}.form-group{gap:.5rem}.form-label{color:#374151;font-size:.875rem;font-weight:500}.form-label .required{color:#dc2626}.label-options{display:flex;flex-wrap:wrap;gap:.5rem}.label-options-loading{align-items:center;background:#f3f4f6;border-radius:6px;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.label-options-loading .spinner{animation:spin 1s linear infinite}.label-option{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;padding:.375rem .75rem;transition:all .15s ease}.label-option:hover{background:#f0f7ff;border-color:#3b82f6}.label-option.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.custom-label-input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;margin-top:.5rem;padding:.5rem .75rem}.custom-label-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.apply-remaining-checkbox{align-items:center;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.apply-remaining-checkbox input[type=checkbox]{accent-color:#3b82f6;height:16px;width:16px}.modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.nav-buttons{display:flex;gap:.5rem}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.625rem 1rem;transition:all .15s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-nav{background:#fff;border:1px solid #d1d5db;color:#374151}.btn-nav:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.warning-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.warning-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-width:450px;overflow:hidden;width:100%}.warning-header{align-items:center;background:#fef3c7;border-bottom:1px solid #fcd34d;display:flex;gap:.75rem;padding:1rem 1.25rem}.warning-icon{color:#f59e0b}.warning-header h4{color:#92400e;font-size:.95rem;font-weight:600;margin:0}.warning-content{max-height:200px;overflow-y:auto;padding:1rem 1.25rem}.incomplete-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.incomplete-list li{color:#374151;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.5rem}.incomplete-list .missing{background:#fef2f2;border-radius:4px;color:#dc2626;font-size:.75rem;padding:.125rem .375rem}.incomplete-list .more-items{color:#9ca3af;font-style:italic}.warning-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem}@media (max-width:768px){.image-upload-modal{border-radius:0;max-height:100vh;max-width:100%}.assignment-area{grid-template-columns:1fr}.preview-section{min-height:200px}.large-preview{max-height:250px}.modal-footer{flex-wrap:wrap;gap:.75rem}.nav-buttons{justify-content:center;order:3;width:100%}}.image-edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.image-edit-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;position:relative;width:100%}.image-edit-modal .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.image-edit-modal .modal-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.image-edit-modal .close-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .15s ease}.image-edit-modal .close-btn:hover{background:#f3f4f6;color:#111827}.image-edit-modal .modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.image-edit-modal .preview-section{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;justify-content:center;margin-bottom:1.5rem;min-height:200px;padding:1rem}.image-edit-modal .image-preview{border-radius:4px;max-height:300px;max-width:100%;object-fit:contain}.image-edit-modal .form-section{display:flex;flex-direction:column;gap:1.25rem}.image-edit-modal .form-group{display:flex;flex-direction:column;gap:.5rem}.image-edit-modal .form-label{color:#374151;font-size:.875rem;font-weight:500}.image-edit-modal .form-label .required{color:#dc2626}.image-edit-modal .label-options{display:flex;flex-wrap:wrap;gap:.5rem}.image-edit-modal .label-options-loading{align-items:center;background:#f3f4f6;border-radius:6px;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.image-edit-modal .label-options-loading .spinner{animation:spin 1s linear infinite}.image-edit-modal .label-option{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;padding:.375rem .75rem;transition:all .15s ease}.image-edit-modal .label-option:hover{background:#f0f7ff;border-color:#3b82f6}.image-edit-modal .label-option.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.image-edit-modal .custom-label-input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;margin-top:.5rem;padding:.5rem .75rem}.image-edit-modal .custom-label-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.upload-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;gap:.375rem;padding:.75rem}.info-row{align-items:center;color:#6b7280;display:flex;font-size:.8rem;gap:.5rem}.info-row svg{flex-shrink:0}.info-row.file-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-edit-modal .modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.right-buttons{display:flex;gap:.75rem}.image-edit-modal .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.625rem 1rem;transition:all .15s ease}.image-edit-modal .btn:disabled{cursor:not-allowed;opacity:.5}.image-edit-modal .btn-primary{background:#3b82f6;color:#fff}.image-edit-modal .btn-primary:hover:not(:disabled){background:#2563eb}.image-edit-modal .btn-secondary{background:#6b7280;color:#fff}.image-edit-modal .btn-secondary:hover:not(:disabled){background:#4b5563}.image-edit-modal .btn-danger{background:#ef4444;color:#fff}.image-edit-modal .btn-danger:hover:not(:disabled){background:#dc2626}.delete-confirm-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.delete-confirm-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-width:360px;padding:1.5rem;text-align:center;width:100%}.delete-confirm-modal h4{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.delete-confirm-modal p{color:#6b7280;font-size:.875rem;margin:0 0 1.25rem}.delete-confirm-buttons{display:flex;gap:.75rem;justify-content:center}@media (max-width:640px){.image-edit-modal{border-radius:0;max-height:100vh;max-width:100%}.image-edit-modal .preview-section{min-height:150px}.image-edit-modal .image-preview{max-height:200px}.image-edit-modal .modal-footer{flex-direction:column;gap:.75rem}.image-edit-modal .btn-danger{justify-content:center;width:100%}.right-buttons{width:100%}.right-buttons .btn{flex:1 1;justify-content:center}}.imaging-tab{display:flex;flex-direction:column;height:100%}.imaging-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.header-left,.imaging-header{align-items:center;display:flex}.header-left{gap:1rem}.imaging-header h2{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.image-count{background:#f3f4f6;border-radius:999px;color:#6b7280;font-size:.875rem;padding:.25rem .75rem}.header-actions{gap:.75rem}.filter-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.375rem;padding:.5rem .875rem;transition:all .15s ease}.filter-btn:hover{background:#f3f4f6;border-color:#9ca3af}.filter-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.filter-btn.has-filters .filter-badge{align-items:center;background:#3b82f6;border-radius:999px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:600;height:18px;justify-content:center;margin-left:.25rem;min-width:18px;padding:0 4px}.upload-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.5rem .875rem;transition:background .15s ease}.upload-btn:hover{background:#2563eb}.filters-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:1rem}.filter-section{display:flex;flex-direction:column;gap:.5rem}.filter-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;min-width:160px;padding:.5rem .75rem}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.tooth-filter-chips{display:flex;flex-wrap:wrap;gap:.375rem}.tooth-chip{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:.75rem;font-weight:500;padding:.25rem .5rem;transition:all .15s ease}.tooth-chip:hover{background:#f0f7ff;border-color:#3b82f6}.tooth-chip.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.no-teeth{color:#9ca3af;font-size:.8rem;font-style:italic}.clear-filters-btn{align-items:center;align-self:flex-end;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:.8rem;gap:.25rem;margin-left:auto;padding:.375rem .625rem}.clear-filters-btn:hover{color:#374151}.imaging-content{flex:1 1;overflow-y:auto}.empty-state,.error-state,.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.loading-state .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:1rem;width:40px}.empty-state svg{margin-bottom:1rem}.empty-state h3{font-size:1.125rem;margin:0 0 .5rem}.empty-state p{font-size:.875rem;margin:0 0 1.5rem;max-width:300px}.upload-btn-large{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background .15s ease}.upload-btn-large:hover{background:#2563eb}.date-groups{display:flex;flex-direction:column;gap:1rem}.date-group{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.date-group.current-appointment{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.date-group-header{align-items:center;background:#f9fafb;border:none;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;gap:.5rem;padding:.875rem 1rem;text-align:left;transition:background .15s ease;width:100%}.date-group-header:hover{background:#f3f4f6}.date-group-header svg{color:#6b7280;flex-shrink:0}.date-label{align-items:center;color:#374151;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem}.current-badge{background:#dbeafe;border-radius:4px;color:#1e40af;font-size:.65rem;font-weight:600;letter-spacing:.05em;padding:.125rem .375rem;text-transform:uppercase}.group-count{color:#9ca3af;font-size:.8rem}.images-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:1rem}@media (max-width:768px){.imaging-header{align-items:stretch;flex-direction:column;gap:1rem}.header-left{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.filter-btn,.upload-btn{flex:1 1;justify-content:center}.filters-panel{flex-direction:column}.filter-section,.filter-select{width:100%}.images-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding:.75rem}}@media (max-width:480px){.images-grid{grid-template-columns:repeat(2,1fr)}}.charting-tab{display:flex;flex-direction:column;height:100%;max-width:none!important}.charting-header{align-items:flex-start;display:flex;flex-shrink:0;gap:20px;justify-content:space-between;margin-bottom:20px}.charting-header h2{margin:0 0 8px}.charting-columns-wrapper{flex:1 1;margin:0 -24px;padding:0 24px}.charting-columns{align-items:flex-start;display:flex;gap:16px;min-width:min-content}.charting-column{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;flex-shrink:0;width:450px}.charting-column-header{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:2px solid #3b82f6;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:12px 16px;position:sticky;top:51px;z-index:10}.tooth-selector-wrapper{position:relative}.tooth-selector-button{align-items:center;background:#fff;border:1px solid #93c5fd;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:all .15s}.tooth-selector-button:hover{background:#f0f9ff;border-color:#3b82f6}.tooth-selector-button .tooth-number{color:#1d4ed8;font-family:SF Mono,Monaco,monospace;font-size:18px;font-weight:700}.remove-tooth-btn{align-items:center;background:#0000;border:1px solid #fecaca;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.remove-tooth-btn:hover{background:#fef2f2;border-color:#f87171}.charting-column-body{padding:12px}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.add-tooth-dropdown,.tooth-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px #00000026;left:0;margin-top:4px;min-width:280px;padding:12px;position:absolute;top:100%;z-index:100}.dropdown-section{margin-bottom:12px}.dropdown-section:last-child{margin-bottom:0}.dropdown-section-label{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.dropdown-teeth-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(8,1fr)}.dropdown-tooth{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-family:SF Mono,Monaco,monospace;font-size:11px;font-weight:600;height:28px;justify-content:center;transition:all .15s;width:28px}.dropdown-tooth:hover:not(.disabled):not(.current){background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.dropdown-tooth.current{background:#3b82f6;border-color:#3b82f6;color:#fff}.dropdown-tooth.disabled{background:#f3f4f6;color:#d1d5db;cursor:not-allowed}.add-tooth-container{position:relative}.add-tooth-button{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .15s}.add-tooth-button:hover{background:#059669}.add-tooth-dropdown{left:auto;right:0}.charting-section{border:1px solid;border-radius:8px;margin-bottom:12px;padding:12px}.charting-section:last-child{margin-bottom:0}.charting-section.subjective{background:linear-gradient(135deg,#fef5f5,#fff5f5);border-color:#fecaca}.charting-section.objective{background:linear-gradient(135deg,#f5f5ff,#f8f8ff);border-color:#ddd6fe}.charting-section.assessment{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#bae6fd}.charting-section.plan{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.charting-section.treatment{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.charting-section.postop{background:linear-gradient(135deg,#fdf4ff,#fae8ff);border-color:#e9d5ff}.charting-section.notes{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-color:#e5e7eb}.charting-section-header{border-bottom:1px solid #3b82f633;color:#3b82f6;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.charting-section.notes .charting-section-header{border-bottom-color:#10b98133;color:#10b981}.charting-section.referral-status{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#67e8f9;border-width:2px}.charting-section.referral-status .charting-section-header{align-items:center;border-bottom-color:#0891b24d;color:#0891b2;display:flex;gap:8px}.referral-treatment-label{color:#0e7490;font-size:10px;font-weight:500;text-transform:none}.referral-status-options{display:flex;flex-direction:column;gap:6px}.referral-status-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:all .15s}.referral-status-option:hover{background:#f0fdfa;border-color:#99f6e4}.referral-status-option.selected{background:#0891b2;border-color:#0891b2;color:#fff}.referral-status-option input[type=radio]{cursor:pointer;height:14px;margin:0;width:14px}.referral-status-option.selected input[type=radio]{accent-color:#fff}.referral-reconciliation{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;margin:24px 0;padding:20px}.referral-reconciliation.success{background:#d1fae5;border-color:#10b981}.reconciliation-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.reconciliation-header h3{color:#92400e;font-size:16px;font-weight:600;margin:0}.referral-reconciliation.success .reconciliation-header h3{color:#065f46}.reconciliation-icon{align-items:center;border-radius:50%;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;width:28px}.reconciliation-icon.warning{background:#f59e0b;color:#fff}.reconciliation-icon.success{background:#10b981;color:#fff}.reconciliation-message{color:#065f46;font-size:14px;margin:0}.reconciliation-section{background:#fff;border-radius:8px;margin-bottom:16px;padding:12px}.reconciliation-section:last-child{margin-bottom:0}.reconciliation-section h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.reconciliation-section.unaddressed{border-left:3px solid #f59e0b}.reconciliation-section.added{border-left:3px solid #3b82f6}.reconciliation-section ul{list-style:none;margin:0;padding:0}.reconciliation-section li{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:8px;padding:8px 0}.reconciliation-section li:last-child{border-bottom:none}.tooth-badge{align-items:center;background:#e5e7eb;border-radius:4px;color:#374151;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;min-width:32px;padding:4px 8px}.treatment-name{color:#6b7280;font-size:13px}.status-hint{color:#9ca3af;font-size:12px;font-style:italic}.status-badge{background:#dbeafe;border-radius:4px;color:#1d4ed8;display:inline-block;font-size:12px;font-weight:500;padding:2px 8px;text-transform:capitalize}.added-hint{color:#3b82f6;font-size:12px;font-style:italic}.reconciliation-hint{background:#fef9c3;border-radius:4px;color:#92400e;font-size:12px;margin:12px 0 0;padding:8px 12px}.charting-form-field{margin-bottom:12px}.charting-form-field:last-child{margin-bottom:0}.charting-label{color:#6b7280;display:block;font-size:11px;font-weight:500;margin-bottom:4px}.charting-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:12px;padding:8px 10px;transition:all .15s;width:100%}.charting-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.charting-textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#1f2937;font-family:inherit;font-size:12px;padding:8px 10px;resize:vertical;width:100%}.charting-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.charting-textarea::placeholder{color:#9ca3af}.form-row-2col{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.checkbox-row{margin-bottom:12px}.charting-mini-checkbox-group{display:flex;flex-wrap:wrap;gap:4px}.charting-mini-checkbox{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:11px;padding:4px 8px;transition:all .15s}.charting-mini-checkbox:hover{background:#f9fafb;border-color:#d1d5db}.charting-mini-checkbox.selected{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.charting-mini-checkbox input{display:none}.charting-checkbox{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px}.charting-checkbox.small{font-size:11px}.charting-checkbox input{accent-color:#3b82f6;height:16px;width:16px}.charting-checkbox.small input{height:14px;width:14px}.pain-scale-container{align-items:center;display:flex;gap:10px}.pain-scale-slider{accent-color:#3b82f6;flex:1 1;height:6px}.pain-scale-value{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1d4ed8;display:flex;font-family:SF Mono,Monaco,monospace;font-size:13px;font-weight:600;justify-content:center;min-width:36px;padding:4px 10px}.agents-section,.canals-section{margin-bottom:12px}.agents-header,.canals-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.agents-label,.canals-label{color:#6b7280;font-size:11px;font-weight:500}.btn-add-small{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.btn-add-small:hover{background:#059669}.btn-add-small svg{height:14px;width:14px}.btn-remove-small{align-items:center;background:#0000;border:1px solid #fecaca;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;height:22px;justify-content:center;transition:all .15s;width:22px}.btn-remove-small:hover{background:#fef2f2;border-color:#f87171}.agent-row,.canal-row{align-items:center;display:flex;gap:4px;margin-bottom:4px}.agent-select{flex:2 1;padding:6px 8px}.agent-carpules,.agent-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:10px}.agent-carpules{padding:6px;text-align:center;width:36px}.canal-name{color:#1d4ed8;font-weight:600;width:50px}.canal-name,.canal-size,.canal-wl{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:10px;padding:6px}.canal-size,.canal-wl{color:#1f2937;text-align:center;width:40px}.canals-empty{color:#9ca3af;font-size:10px;font-style:italic;padding:4px 0}.charting-empty-state{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.charting-empty-state svg{color:#d1d5db;margin-bottom:16px}.charting-empty-state h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 8px}.charting-empty-state p{color:#6b7280;font-size:14px;margin:0 0 24px}.charting-columns-wrapper::-webkit-scrollbar{height:8px}.charting-columns-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.charting-columns-wrapper::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.charting-columns-wrapper::-webkit-scrollbar-thumb:hover{background:#9ca3af}.charting-global-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px}.global-section-title{border-bottom:2px solid #1b4332;color:#1b4332;font-size:14px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.global-fields-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.global-field{display:flex;flex-direction:column;gap:8px}.global-field-label{color:#374151;font-size:12px;font-weight:600}.global-text-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:13px;padding:8px 12px;transition:all .15s}.global-text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.global-select-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:13px;padding:8px 12px;transition:all .15s}.global-select-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.global-radio-group{display:flex;gap:8px}.global-radio-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;transition:all .15s}.global-radio-option:hover{background:#f9fafb;border-color:#d1d5db}.global-radio-option.selected{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.global-radio-option.small{font-size:11px;padding:4px 8px}.global-radio-option input{display:none}.nitrous-details-section{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.nitrous-fields-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.nitrous-field{display:flex;flex-direction:column;gap:6px}.nitrous-field label{color:#6b7280;font-size:11px;font-weight:500}.anesthetics-section{margin-bottom:12px}.anesthetics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.anesthetics-label{color:#6b7280;font-size:11px;font-weight:600}.anesthetics-actions{display:flex;gap:6px}.btn-manage-options{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;color:#6b7280;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.btn-manage-options:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.btn-manage-options svg{height:16px;width:16px}.anesthetic-entry{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;padding:8px}.anesthetic-row{align-items:center;display:flex;gap:6px;margin-bottom:6px}.anesthetic-type-select{flex:2 1}.anesthetic-carpules-select,.anesthetic-type-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:10px;padding:6px 8px}.anesthetic-carpules-select{width:70px}.anesthetic-locations{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.locations-label{color:#6b7280;font-size:10px;font-weight:500}.locations-checkboxes{display:flex;flex-wrap:wrap;gap:4px}.location-checkbox{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:10px;padding:3px 8px;transition:all .15s}.location-checkbox:hover{background:#f9fafb;border-color:#d1d5db}.location-checkbox.selected{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.location-checkbox input{display:none}.anesthetics-empty{color:#9ca3af;font-size:10px;font-style:italic;padding:8px 0}.canals-actions{display:flex;gap:6px}.canal-entry{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;padding:8px}.canal-custom-name,.canal-name-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;flex:1 1;font-size:10px;padding:6px 8px}.canal-details-row{display:flex;gap:8px;margin-top:6px}.canal-field{display:flex;flex:1 1;flex-direction:column;gap:4px}.canal-field label{color:#6b7280;font-size:9px;font-weight:500}.canal-size-select,.canal-wl-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:10px;padding:6px 8px}@media (max-width:1200px){.global-fields-grid,.nitrous-fields-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.global-fields-grid,.nitrous-fields-grid{grid-template-columns:1fr}}.returning-tooth-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:2px solid #f59e0b;display:flex;gap:8px;justify-content:center;padding:8px 16px}.returning-tooth-status{color:#92400e;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.charting-column.returning-tooth{border-color:#f59e0b;border-width:2px}.charting-column.returning-tooth .charting-column-header{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom-color:#f59e0b}.charting-section.subjective.simplified{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fcd34d}.symptom-status-options{display:flex;gap:8px}.symptom-status-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.symptom-status-option:hover{background:#f9fafb;border-color:#d1d5db}.symptom-status-option.selected{border-width:2px}.symptom-status-option.selected:has(input[value=better]){background:#d1fae5;border-color:#10b981;color:#065f46}.symptom-status-option.selected:has(input[value=same]){background:#fef3c7;border-color:#f59e0b;color:#92400e}.symptom-status-option.selected:has(input[value=worse]){background:#fee2e2;border-color:#ef4444;color:#991b1b}.symptom-status-option input{display:none}.symptom-indicator{background:#e5e7eb;border-radius:50%;height:12px;width:12px}.symptom-status-option.selected .symptom-indicator.better{background:#10b981}.symptom-status-option.selected .symptom-indicator.same{background:#f59e0b}.symptom-status-option.selected .symptom-indicator.worse{background:#ef4444}.previous-findings-panel{border:1px solid;border-radius:8px;margin-bottom:12px;overflow:hidden}.previous-findings-panel.objective{background:linear-gradient(135deg,#f5f5ff,#f8f8ff);border-color:#c4b5fd}.previous-findings-panel.assessment{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#7dd3fc}.previous-findings-header{align-items:center;background:#ffffff80;border-bottom:1px solid #0000000d;display:flex;gap:8px;padding:10px 12px}.previous-findings-panel.objective .previous-findings-header{color:#5b21b6}.previous-findings-panel.assessment .previous-findings-header{color:#0369a1}.previous-findings-title{flex:1 1;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.previous-findings-date{align-items:center;display:flex;font-size:10px;font-weight:500;gap:4px;opacity:.8}.previous-findings-content{padding:12px}.finding-row{align-items:baseline;border-bottom:1px solid #0000000d;display:flex;gap:8px;padding:4px 0}.finding-row:last-child{border-bottom:none}.finding-label{color:#6b7280;font-size:11px;font-weight:600;min-width:90px}.finding-value{color:#1f2937;font-size:12px;font-weight:500}.finding-detail{color:#6b7280;font-size:11px;font-style:italic}.previous-findings-panel.no-data{opacity:.7}.no-previous-data{color:#6b7280;font-size:12px;font-style:italic;margin:0;padding:8px 0;text-align:center}.soap-section{border:1px solid;border-radius:12px;margin-bottom:20px;padding:20px}.subjective-section{background:linear-gradient(135deg,#fef5f5,#fff5f5);border-color:#f8d7da}.objective-section{background:linear-gradient(135deg,#f5f5ff,#f8f8ff);border-color:#e0e0f0}.assessment-section{background:linear-gradient(135deg,#f0f7ff,#f5faff);border-color:#d0e5ff}.plan-section{background:linear-gradient(135deg,#f5fef5,#f8fff8);border-color:#d4edda}.soap-header{align-items:center;border-bottom:2px solid;display:flex;gap:10px;margin-bottom:16px;padding-bottom:12px}.subjective-section .soap-header{border-color:#f5c6cb}.objective-section .soap-header{border-color:#d0d0e0}.assessment-section .soap-header{border-color:#b8daff}.plan-section .soap-header{border-color:#c3e6cb}.soap-header h3{align-items:center;color:#1f2937;display:flex;font-size:16px;font-weight:600;gap:10px;margin:0}.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px;padding:16px 20px}.form-card:last-child{margin-bottom:0}.form-card h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.form-card h5{color:#4b5563;font-size:13px;font-weight:600;margin:16px 0 10px}.form-card h5:first-child{margin-top:0}.form-hint{color:#6b7280;font-size:13px;margin:0 0 12px}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-group.inline{flex-direction:row;flex-wrap:wrap;gap:16px}.radio-label{align-items:center;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 12px;transition:background .15s ease}.radio-label:hover{background:#f9fafb}.radio-label input[type=radio]{display:none}.radio-custom{border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;height:20px;position:relative;transition:all .15s ease;width:20px}.radio-label input[type=radio]:checked+.radio-custom{border-color:#3b82f6}.radio-label input[type=radio]:checked+.radio-custom:after{background:#3b82f6;border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.checkbox-label{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 14px;transition:all .15s ease}.checkbox-label:hover{background:#f3f4f6;border-color:#d1d5db}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;height:18px;position:relative;transition:all .15s ease;width:18px}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:9px;left:5px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.checkbox-label:has(input:checked){background:#eff6ff;border-color:#93c5fd}.text-input{border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.text-input::placeholder{color:#9ca3af}.custom-input-container{margin-top:12px}.select-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;font-size:14px;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.select-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.tooth-tabs-container{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:16px}.tooth-tab{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:8px;padding:10px 16px;transition:all .15s ease}.tooth-tab:hover{background:#f9fafb;border-color:#d1d5db}.tooth-tab.active{background:#eff6ff;border-color:#3b82f6}.tooth-tab.complete{background:#ecfdf5;border-color:#10b981}.tooth-tab.active.complete{background:#d1fae5;border-color:#10b981}.tooth-tab .tooth-number{color:#1f2937;font-family:SF Mono,Monaco,monospace;font-size:15px;font-weight:700}.tooth-tab .tooth-type{color:#6b7280;font-size:12px}.tooth-tab .tooth-status{align-items:center;display:flex}.tooth-tab .tooth-status svg{color:#9ca3af}.tooth-tab.complete .tooth-status svg{color:#10b981}.tooth-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.progress-summary{align-items:center;background:#f9fafb;border-radius:10px;display:flex;justify-content:space-between;margin-top:20px;padding:16px 20px}.progress-text{color:#4b5563;font-size:14px;font-weight:500}.progress-complete{align-items:center;color:#10b981;display:flex;font-size:14px;font-weight:600;gap:6px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#4b5563;font-size:13px;font-weight:500}.entry-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.entry-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.entry-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.entry-card-header h5{color:#374151;font-size:14px;font-weight:600;margin:0}.btn-add-entry{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:background .15s ease}.btn-add-entry:hover{background:#059669}.btn-remove-entry{background:#0000;border:1px solid #fecaca;border-radius:6px;color:#ef4444;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s ease}.btn-remove-entry:hover{background:#fef2f2;border-color:#f87171}.btn-manage-options{background:#0000;border:1px solid #93c5fd;border-radius:6px;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:16px;padding:8px 14px;transition:all .15s ease}.btn-manage-options:hover{background:#eff6ff}.toggle-container{align-items:center;display:flex;gap:12px}.toggle-switch{height:26px;position:relative;width:48px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#d1d5db;border-radius:26px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.3s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(22px)}.toggle-label{color:#374151;font-size:14px}.status-badge.save-status{align-items:center;display:inline-flex;gap:6px}.status-badge.save-status.saving{background:#fef3c7;color:#92400e}.status-badge.save-status.saved{background:#d1fae5;color:#065f46}.status-badge.save-status.error{background:#fee2e2;color:#991b1b}.spinning{animation:spin 1s linear infinite}@media (max-width:768px){.tooth-tabs-container{padding:12px}.tooth-tab{padding:8px 12px}.tooth-tab .tooth-type{display:none}.form-row{grid-template-columns:1fr}.radio-group.inline{gap:8px}.checkbox-group,.radio-group.inline{flex-direction:column}.checkbox-label{width:100%}}.image-selection-grid{display:flex;flex-direction:column;gap:1.25rem}.image-selection-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:2rem}.image-selection-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;margin-bottom:.75rem;width:32px}.image-count-selector{align-items:center;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;display:flex;gap:1rem;padding:.75rem 1rem}.image-count-selector label{color:#374151;font-size:.875rem;font-weight:500}.count-options{display:flex;gap:.5rem}.count-option{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;padding:.375rem .75rem;transition:all .15s ease}.count-option:hover{background:#f0f7ff;border-color:#3b82f6}.count-option.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.section-header h4{color:#374151;font-size:.95rem;font-weight:600;margin:0}.selection-count{color:#6b7280;font-size:.8rem}.arrangement-hint{color:#9ca3af;font-size:.75rem}.selection-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.no-images-message{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;padding:1.5rem;text-align:center}.available-images-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:240px;overflow-y:auto;padding:.25rem}.available-image{background:#fff;border:2px solid #0000;border-radius:6px;cursor:pointer;overflow:hidden;position:relative;transition:all .15s ease}.available-image:hover:not(.disabled){border-color:#93c5fd;transform:scale(1.02)}.available-image.selected{border-color:#3b82f6}.available-image.disabled{cursor:not-allowed;opacity:.5}.image-thumbnail{aspect-ratio:1;overflow:hidden;position:relative}.image-thumbnail img{height:100%;object-fit:cover;width:100%}.selection-overlay{background:#3b82f64d;bottom:0;left:0;position:absolute;right:0;top:0}.selection-badge,.selection-overlay{align-items:center;display:flex;justify-content:center}.selection-badge{background:#3b82f6;border-radius:50%;box-shadow:0 2px 6px #0003;color:#fff;font-size:.8rem;font-weight:700;height:28px;width:28px}.available-image .image-info{display:flex;flex-direction:column;gap:.125rem;padding:.375rem .5rem}.tooth-tags{color:#3b82f6;font-size:.65rem;font-weight:600}.image-label{color:#6b7280;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrangement-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.image-row-arrangement{background:#f3f4f6;border-radius:8px;display:flex;gap:1rem;justify-content:center;margin-top:.5rem;padding:1rem}.arrangement-slot{background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:grab;height:100px;overflow:hidden;position:relative;transition:all .15s ease;width:100px}.arrangement-slot:hover{border-color:#3b82f6}.arrangement-slot:active{cursor:grabbing}.arrangement-slot img{height:100%;object-fit:cover;width:100%}.arrangement-slot .slot-label{background:#0009;bottom:0;color:#fff;font-size:.65rem;left:0;overflow:hidden;padding:.25rem .375rem;position:absolute;right:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.arrangement-slot .remove-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:18px;justify-content:center;line-height:1;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .15s ease;width:18px}.arrangement-slot:hover .remove-btn{opacity:1}.arrangement-slot .drag-handle{align-items:center;background:#00000080;border-radius:4px;color:#fff;display:flex;height:18px;justify-content:center;left:4px;opacity:0;position:absolute;top:4px;transition:opacity .15s ease;width:18px}.arrangement-slot:hover .drag-handle{opacity:1}@media (max-width:640px){.available-images-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.section-header{gap:.5rem}.image-count-selector,.section-header{align-items:flex-start;flex-direction:column}.image-row-arrangement{flex-wrap:wrap}.arrangement-slot{height:80px;width:80px}}.clinical-module{background:#f9fafb;height:calc(100vh - 57px);max-height:calc(100vh - 57px);overflow:auto}.clinical-header,.clinical-module{display:flex;flex-direction:column}.clinical-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:16px;padding:20px 24px}.clinical-header .back-button{align-items:center;align-self:flex-start;background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;transition:all .15s ease}.clinical-header .back-button:hover{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}.clinical-header-info{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.clinical-header .patient-info h1{color:#1f2937;font-size:24px;font-weight:700;margin:0 0 8px}.clinical-header .appointment-meta{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px}.clinical-header .appointment-meta svg{color:#9ca3af}.clinical-header .appointment-meta .separator{color:#d1d5db}.clinical-header .status-badges{display:flex;gap:8px}.clinical-header .status-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.clinical-header .status-badge.future{background:#fef3c7;color:#92400e}.clinical-header .status-badge.past{background:#f3f4f6;color:#6b7280}.clinical-tabs{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;display:flex;flex-shrink:0;gap:4px;overflow-x:auto;padding:0 24px;position:sticky;top:0;z-index:100}.clinical-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:14px 18px;transition:all .15s ease;white-space:nowrap}.clinical-tab:hover:not(.locked){background:#f9fafb;color:#1f2937}.clinical-tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.clinical-tab.locked{color:#d1d5db;cursor:not-allowed}.clinical-tab.locked svg{color:#d1d5db}.clinical-tab svg{flex-shrink:0}.past-warning-banner{align-items:center;background:#fef3c7;border-bottom:1px solid #fcd34d;color:#92400e;display:flex;font-size:14px;gap:10px;padding:12px 24px}.past-warning-banner svg{flex-shrink:0}.clinical-content{flex:1 1;padding:24px}.clinical-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px}.clinical-loading .spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;margin-bottom:16px;width:32px}.clinical-tab-content{max-width:1200px}.clinical-tab-content h2{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 8px}.clinical-tab-content .tab-description{color:#6b7280;font-size:14px;margin:0 0 24px}.clinical-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;overflow:hidden}.clinical-section-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.clinical-section-header h3{align-items:center;color:#374151;display:flex;font-size:15px;font-weight:600;gap:10px;margin:0}.clinical-section-header h3 svg{color:#6b7280}.clinical-section-body{padding:20px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.info-item .value{color:#1f2937;font-size:15px;font-weight:500}.info-item .value.empty{color:#9ca3af;font-style:italic}.teeth-display{display:flex;flex-wrap:wrap;gap:8px}.clinical-module .tooth-pill{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:10px;display:inline-flex;gap:6px;padding:8px 14px}.clinical-module .tooth-pill .number{color:#1d4ed8;font-family:SF Mono,Monaco,monospace;font-size:16px;font-weight:700}.clinical-module .tooth-pill .type{color:#3b82f6;font-size:13px;font-weight:500}.placeholder-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.placeholder-state svg{color:#d1d5db;margin-bottom:16px}.placeholder-state h3{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.placeholder-state p{font-size:14px;margin:0}@media (max-width:768px){.clinical-header{padding:16px}.clinical-header-info{flex-direction:column}.clinical-header .patient-info h1{font-size:20px}.clinical-header .appointment-meta{flex-wrap:wrap}.clinical-tabs{padding:0 16px}.clinical-tab{font-size:13px;padding:12px 14px}.clinical-tab span{display:none}.clinical-content{padding:16px}.info-grid{grid-template-columns:1fr}}.billing-page{display:flex;flex-direction:column;gap:24px}.billing-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:16px;padding:20px}.summary-card.balance .summary-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.summary-card.total .summary-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.summary-card.count .summary-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.summary-icon{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.summary-content{display:flex;flex-direction:column;gap:4px}.summary-label{color:#6b7280;font-size:13px}.summary-value{color:#1f2937;font-size:24px;font-weight:600}.invoices-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.invoices-section .section-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.invoices-section .section-header h3{color:#1f2937;font-size:16px;font-weight:600;margin:0}.refresh-btn{align-items:center;background:none;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.refresh-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.refresh-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty-state,.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.loading-state .spinning{animation:spin 1s linear infinite;color:#3b82f6;margin-bottom:12px}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state h3{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.error-message{align-items:center;background:#fef2f2;color:#b91c1c;display:flex;font-size:14px;gap:8px;padding:12px 20px}.invoices-list{display:flex;flex-direction:column;gap:16px;padding:16px}.invoice-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.invoice-card.cancelled{background:#f3f4f6;opacity:.6}.header-actions{align-items:center;display:flex;gap:12px}.expand-collapse-btns{align-items:center;display:flex;gap:4px}.text-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:12px;padding:4px 8px;transition:color .15s ease}.text-btn:hover:not(:disabled){color:#3b82f6}.text-btn:disabled{color:#d1d5db;cursor:default}.btn-divider{color:#d1d5db;font-size:12px}.invoice-header{align-items:center;display:flex;justify-content:space-between}.invoice-header.clickable{border-radius:10px 10px 0 0;cursor:pointer;margin:-16px -16px 0;padding:12px;transition:background-color .15s ease}.invoice-card.collapsed .invoice-header.clickable{border-radius:10px;margin-bottom:-16px}.invoice-header.clickable:hover{background:#00000008}.invoice-header-left{align-items:center;display:flex;gap:8px}.invoice-header-right{align-items:center;display:flex;gap:12px}.expand-icon{color:#9ca3af;flex-shrink:0}.invoice-date-preview{color:#9ca3af;font-size:12px}.invoice-balance-preview{color:#374151;font-size:14px;font-weight:600}.invoice-balance-preview.has-balance{color:#dc2626}.invoice-card.expanded .invoice-header{border-bottom:1px solid #e5e7eb;margin-bottom:12px;padding-bottom:12px}.invoice-number{color:#1f2937;font-family:monospace;font-size:14px;font-weight:600}.invoice-status{align-items:center;border-radius:12px;display:flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px}.invoice-dates{display:flex;gap:24px;margin-bottom:12px}.date-item{display:flex;flex-direction:column;gap:2px}.date-label{color:#9ca3af;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.date-value{color:#374151;font-size:13px}.invoice-items{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:12px;padding:8px 12px}.line-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;font-size:13px;gap:12px;padding:6px 0}.line-item:last-child{border-bottom:none}.item-code{color:#3b82f6;font-family:monospace;font-weight:500;min-width:60px}.item-tooth{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;font-weight:500;padding:2px 6px}.item-desc{color:#6b7280;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-amount{align-items:center;color:#374151;display:flex;font-weight:500;gap:4px}.more-items{color:#9ca3af;font-size:12px;font-style:italic;padding:6px 0}.invoice-totals{border-top:1px solid #e5e7eb;padding-top:12px}.total-row{color:#6b7280;display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.total-row.payment span:last-child{color:#059669}.total-row.balance{border-top:1px dashed #e5e7eb;color:#1f2937;font-weight:600;margin-top:4px;padding-top:8px}.total-row.balance .has-balance{color:#dc2626}@media (max-width:640px){.billing-summary{grid-template-columns:1fr}.summary-card{padding:16px}.summary-value{font-size:20px}.invoice-dates{flex-direction:column;gap:8px}}
/*# sourceMappingURL=main.3b08ec80.css.map*/