*,:before,:after{--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: rgb(59 130 246 / .5);--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: }::backdrop{--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: rgb(59 130 246 / .5);--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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[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}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-4{left:1rem}.top-1\/2{top:50%}.col-span-full{grid-column:1 / -1}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-purple-100{--tw-border-opacity: 1;border-color:rgb(243 232 255 / var(--tw-border-opacity, 1))}.border-purple-300{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-400{--tw-bg-opacity: 1;background-color:rgb(192 132 252 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.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-amber-500{--tw-gradient-from: #f59e0b var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from: #22d3ee var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from: #10b981 var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-fuchsia-500{--tw-gradient-from: #d946ef var(--tw-gradient-from-position);--tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from: #f9fafb var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-500{--tw-gradient-from: #6b7280 var(--tw-gradient-from-position);--tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-600{--tw-gradient-from: #4b5563 var(--tw-gradient-from-position);--tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-400{--tw-gradient-from: #818cf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-500{--tw-gradient-from: #84cc16 var(--tw-gradient-from-position);--tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-600{--tw-gradient-from: #ea580c var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #ec4899 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from: #faf5ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-600{--tw-gradient-from: #dc2626 var(--tw-gradient-from-position);--tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-500{--tw-gradient-from: #f43f5e var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-500{--tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-500{--tw-gradient-from: #64748b var(--tw-gradient-from-position);--tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from: #eab308 var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to: #d97706 var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to: #eff6ff var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to: #06b6d4 var(--tw-gradient-to-position)}.to-cyan-600{--tw-gradient-to: #0891b2 var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to: #059669 var(--tw-gradient-to-position)}.to-fuchsia-600{--tw-gradient-to: #c026d3 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position)}.to-gray-600{--tw-gradient-to: #4b5563 var(--tw-gradient-to-position)}.to-gray-700{--tw-gradient-to: #374151 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to: #6366f1 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-lime-600{--tw-gradient-to: #65a30d var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-orange-700{--tw-gradient-to: #c2410c var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #7e22ce var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #dc2626 var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to: #b91c1c var(--tw-gradient-to-position)}.to-rose-600{--tw-gradient-to: #e11d48 var(--tw-gradient-to-position)}.to-sky-600{--tw-gradient-to: #0284c7 var(--tw-gradient-to-position)}.to-slate-600{--tw-gradient-to: #475569 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to: #0d9488 var(--tw-gradient-to-position)}.to-violet-600{--tw-gradient-to: #7c3aed var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to: #ca8a04 var(--tw-gradient-to-position)}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pl-12{padding-left:3rem}.pr-4{padding-right:1rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.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-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}:root{font-family:Lato,sans-serif;line-height:1.6;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;font-family:Lato,sans-serif}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Readex Pro,sans-serif;line-height:1.2;letter-spacing:0}button{font-family:inherit;cursor:pointer}a{color:#0e9eee;text-decoration:none}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:1600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:none;position:sticky;top:0;background:#109eee;z-index:100;border-radius:12px 12px 0 0;box-shadow:0 2px 8px #109eee4d}.modal-header h2{margin:0;font-size:20px;color:#fff;font-weight:600;letter-spacing:.5px}.modal-close{background:#fff3;border:none;font-size:28px;color:#fff;cursor:pointer;padding:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;line-height:1}.modal-close:hover{background:#ffffff4d;transform:scale(1.05)}.modal-content form{padding:24px;overflow-y:auto;flex:1;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.modal-content form::-webkit-scrollbar{width:8px}.modal-content form::-webkit-scrollbar-track{background:#f1f1f1}.modal-content form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.modal-content form::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px;flex-shrink:0}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s;box-sizing:border-box}.form-group textarea{resize:vertical}.form-group select[multiple]{padding:8px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#109eee;box-shadow:0 0 0 3px #109eee1a}.read-only-field{width:100%;padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#6b7280;box-sizing:border-box}.form-group small{display:block;margin-top:6px;font-size:12px;color:#6b7280}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.btn-primary{background:#109eee;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #109eee66}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.btn-icon{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f3f4f6;color:#374151}.btn-icon.btn-danger:hover{background:#fee2e2;color:#dc2626}.btn-danger{background:#dc2626;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-danger:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}@media(max-width:1024px){.form-row{grid-template-columns:1fr 1fr}}@media(max-width:768px){.modal-content{max-width:100%;max-height:100vh;border-radius:0;width:100%}.modal-overlay{padding:0}.form-row{grid-template-columns:1fr}.modal-content form{padding-bottom:120px}}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-emerald-400:hover{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.hover\:border-purple-300:hover{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:shadow-2xl:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-purple-400:focus{--tw-border-opacity: 1;border-color:rgb(192 132 252 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white\/30{background-color:#ffffff4d}@media(min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-3{gap:.75rem}.md\:gap-6{gap:1.5rem}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.md\:p-4{padding:1rem}.md\:p-6{padding:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-base{font-size:1rem;line-height:1.5rem}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dashboard-layout{display:flex;flex-direction:column;min-height:100vh;background:#f5f7fa}.dashboard-header{background:#109eee;color:#fff;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.dashboard-logo{display:flex;align-items:center;gap:12px}.logo-image{height:36px;width:auto}.dashboard-title{font-size:1.25em;font-weight:600}.header-actions{display:flex;align-items:center;gap:16px}.header-user-name{font-weight:500}.header-more-wrapper{position:relative}.header-more-btn{display:flex;align-items:center;gap:6px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:.85em;font-weight:500;transition:background .2s}.header-more-btn:hover,.header-more-btn.active{background:#ffffff38}.header-chevron{transition:transform .2s}.header-chevron.open{transform:rotate(180deg)}.header-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:10px;box-shadow:0 8px 30px #00000026,0 2px 8px #00000014;min-width:200px;padding:6px;z-index:200;animation:dropIn .15s ease-out}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header-dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 14px;color:#374151;text-decoration:none;border-radius:6px;font-size:.9em;font-weight:450;transition:background .15s}.header-dropdown-item:hover{background:#e8f4fd;color:#109eee}.header-dropdown-item.active{background:#e0f0fc;color:#109eee;font-weight:600}.header-dropdown-user{padding:10px 14px}.header-dropdown-user-name{font-size:.9em;font-weight:600;color:#111827}.header-dropdown-user-email{font-size:.8em;color:#6b7280;margin-top:2px}.header-dropdown-divider{height:1px;background:#e5e7eb;margin:4px 8px}.header-dropdown-logout{width:100%;background:none;border:none;cursor:pointer;color:#dc2626}.header-dropdown-logout:hover{background:#fef2f2!important;color:#dc2626!important}.dashboard-content-wrapper{display:flex;flex:1}.sidebar-nav{width:210px;background:#fff;border-right:1px solid #e1e8ed;padding:16px 0;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto}.sidebar-nav nav{display:flex;flex-direction:column}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#555;text-decoration:none;transition:all .2s;border-left:3px solid transparent;font-weight:500}.nav-item:hover{background:#e8f4fd;color:#109eee}.nav-item.active{background:#e0f0fc;color:#109eee;border-left-color:#109eee}.nav-item-special{margin:4px 10px 8px;padding:10px 16px;border-radius:12px;border-left:none;background:linear-gradient(135deg,#f0f9ff,#eff6ff);color:#109eee;font-weight:600}.nav-item-special .nav-label{font-weight:600;letter-spacing:.3px}.nav-item-special:hover{background:linear-gradient(135deg,#e0f2fe,#dbeafe);border-left:none}.nav-item-special.active{background:linear-gradient(135deg,#109eee,#0d7fcc);color:#fff;border-left-color:transparent;box-shadow:0 2px 8px #109eee4d}.nav-icon{flex-shrink:0}.nav-icon-img{width:22px;height:22px;flex-shrink:0}.nav-item-special.active .nav-icon-img{filter:brightness(0) invert(1)}.nav-label{font-size:.92em;font-weight:400}.nav-badge{background:#ef4444;color:#fff;font-size:.7em;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px;margin-left:auto;line-height:1}.main-content{flex:1;padding:30px;overflow-y:auto}@media(max-width:768px){.sidebar-nav{width:60px}.nav-label,.nav-badge{display:none}.nav-item{justify-content:center;padding:12px;border-left:none}.dashboard-title,.user-email,.header-user-name{display:none}.header-more-btn{padding:6px 10px}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0e9eee,#0a7bc4);padding:20px}.auth-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px}.auth-logo{text-align:center;margin:0 0 20px}.auth-logo-image{max-width:250px;height:auto}.auth-card h2{text-align:center;color:#333;margin:0 0 30px;font-size:1.5em}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input{width:100%;padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#0e9eee}.input-help{display:block;margin-top:5px;color:#888;font-size:12px}.submit-button{width:100%;padding:14px;background:#0e9eee;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,background .3s;margin-top:10px}.submit-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0e9eee66;background:#0a7bc4}.submit-button:active{transform:translateY(0)}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:15px;font-size:14px}.auth-link{text-align:center;margin-top:20px;color:#666}.auth-link a{color:#0e9eee;text-decoration:none;font-weight:600}.auth-link a:hover{opacity:.8}.token-display{margin:30px 0}.token-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:12px;border-radius:6px;margin-bottom:15px;font-size:14px}.token-box{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:15px;margin-bottom:15px;word-break:break-all}.token-box code{color:#0e9eee;font-family:Courier New,monospace;font-size:13px}.copy-button{width:100%;padding:10px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:10px}.copy-button:hover{background:#218838}.patients-page{max-width:1400px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{margin:0;font-size:2em;color:#333}.btn-primary{background:#0e9eee;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary:hover{background:#0a7bc4;transform:translateY(-2px);box-shadow:0 5px 15px #0e9eee4d}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .3s}.btn-secondary:hover{background:#5a6268}.btn-delete{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.85em;cursor:pointer;transition:all .3s}.btn-delete:hover{background:#c82333}.filters-section{margin-bottom:25px}.search-form{display:flex;gap:10px;margin-bottom:15px}.search-input{flex:1;max-width:400px;padding:12px 16px;border:2px solid #e1e8ed;border-radius:8px;font-size:.95em;font-family:Lato,sans-serif}.search-input:focus{outline:none;border-color:#0e9eee}.search-button{padding:12px 24px;background:#0e9eee;color:#fff;border:none;border-radius:8px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .3s}.search-button:hover{background:#0a7bc4}.clear-search-button{padding:12px 20px;background:#6c757d;color:#fff;border:none;border-radius:8px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .3s}.clear-search-button:hover{background:#5a6268}.filters{display:flex;gap:15px;align-items:center}.filter-select{padding:10px 15px;border:2px solid #e1e8ed;border-radius:6px;font-size:.95em;cursor:pointer;background:#fff}.filter-select:focus{outline:none;border-color:#0e9eee}.patient-count{margin-left:auto;color:#666;font-weight:500}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.patient-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000001a;transition:all .3s}.patient-card:hover{transform:translateY(-3px);box-shadow:0 5px 20px #00000026}.patient-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.patient-header h3{margin:0;font-size:1.2em;color:#333}.status-badge{padding:5px 12px;border-radius:20px;font-size:.8em;font-weight:600;text-transform:uppercase}.status-lead{background:#fff3cd;color:#856404}.status-active{background:#d4edda;color:#155724}.patient-details{margin-bottom:15px}.detail-row{display:flex;gap:10px;margin-bottom:8px;font-size:.9em}.detail-label{color:#666;font-weight:500;min-width:60px}.detail-value{color:#333}.patient-notes{background:#f8f9fa;padding:12px;border-radius:6px;font-size:.9em;color:#555;margin-bottom:12px;border-left:3px solid #0E9EEE}.patient-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.tag{background:#e3f2fd;color:#0e9eee;padding:4px 10px;border-radius:15px;font-size:.8em;font-weight:500}.patient-actions{display:flex;gap:10px;padding-top:15px;border-top:1px solid #e1e8ed;flex-wrap:wrap}.btn-edit{padding:8px 16px;background:#0e9eee;color:#fff;border:none;border-radius:6px;font-size:.85em;cursor:pointer;transition:all .3s;font-weight:600}.btn-edit:hover{background:#0a7bc4}.status-select{padding:8px 12px;border:2px solid #e1e8ed;border-radius:6px;font-size:.85em;cursor:pointer;min-width:100px}.status-select:focus{outline:none;border-color:#0e9eee}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:#fff;border-radius:10px}.empty-state p{margin:0 0 20px;font-size:1.1em;color:#666}.page-loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.2em;color:#0e9eee}.error-banner{background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.close-error{background:none;border:none;font-size:24px;cursor:pointer;color:#721c24}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:1600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.patient-form{padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:.95em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:.95em;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0e9eee}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e1e8ed}@media(max-width:768px){.patients-grid,.form-row{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch}.patient-count{margin-left:0}}.patient-detail-page{padding:24px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.error-banner{background:#fef2f2;color:#dc2626;padding:12px 20px;border-radius:10px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;border:1px solid #fecaca}.close-error{background:none;border:none;color:#dc2626;font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;line-height:1}.tag{display:inline-block;padding:4px 12px;background:#eff6ff;color:#1d4ed8;border-radius:16px;font-size:12px;font-weight:500}.status-badge{padding:4px 12px;border-radius:16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-active{background:#d1fae5;color:#065f46}.page-loading,.page-error{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center;flex-direction:column;gap:16px}.back-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;transition:all .2s;font-size:14px}.back-button:hover{background:#f9fafb;border-color:#d1d5db}.header-actions{display:flex;gap:10px}.patient-info-card{background:#fff;border-radius:16px;padding:28px 32px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid #f0f0f0}.patient-header-info{display:flex;align-items:center;gap:20px;margin-bottom:20px}.patient-avatar{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#109eee,#0d7fbf);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;flex-shrink:0}.patient-title h1{margin:0 0 6px;font-size:24px;font-weight:700;color:#111827;letter-spacing:-.02em}.patient-title-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.marketing-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:16px;font-size:11px;font-weight:500}.marketing-badge.opted-in{background:#ecfdf5;color:#065f46}.marketing-badge.opted-out{background:#f9fafb;color:#9ca3af}.patient-contact-row{display:flex;flex-wrap:wrap;gap:24px;padding:16px 0;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6}.contact-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#4b5563}.contact-item svg{color:#9ca3af;flex-shrink:0}.patient-tags-section{margin-top:16px;padding-top:0}.tags-list{display:flex;flex-wrap:wrap;gap:6px}.documents-section{background:#fff;border-radius:16px;padding:24px 32px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid #f0f0f0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{margin:0;font-size:18px;font-weight:600;color:#111827;display:flex;align-items:center}.section-actions{display:flex;gap:8px}.document-tabs{display:flex;gap:4px;border-bottom:2px solid #f3f4f6;margin-bottom:20px}.document-tabs button{padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#9ca3af;cursor:pointer;font-weight:500;font-size:13px;transition:all .2s;margin-bottom:-2px}.document-tabs button:hover{color:#6b7280}.document-tabs button.tab-active{color:#109eee;border-bottom-color:#109eee}.documents-list{display:flex;flex-direction:column;gap:8px}.document-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fafafa;border-radius:10px;border:1px solid #f0f0f0;transition:all .15s ease}.document-card:hover{background:#f5f5f5;border-color:#e5e7eb}.document-icon{width:38px;height:38px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;color:#109eee;flex-shrink:0;border:1px solid #f0f0f0}.document-info{flex:1;min-width:0}.document-info h4{margin:0 0 2px;font-size:14px;font-weight:600;color:#111827}.document-description{margin:2px 0 6px;color:#9ca3af;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;align-items:center}.document-type,.document-category,.document-date{color:#9ca3af}.document-type{padding:1px 8px;background:#f3f4f6;border-radius:4px;text-transform:capitalize;font-size:11px}.document-category{color:#109eee;font-weight:500}.document-actions{display:flex;gap:8px;opacity:0;transition:opacity .15s}.document-card:hover .document-actions{opacity:1}.docs-group{margin-bottom:20px}.docs-group-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #f3f4f6}.docs-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.docs-image-card{position:relative;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb;cursor:pointer;transition:all .15s;background:#f9fafb}.docs-image-card:hover{border-color:#297b8a;box-shadow:0 2px 8px #00000014}.docs-image-thumb{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block}.docs-image-placeholder{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;color:#d1d5db;background:#f3f4f6}.docs-image-info{padding:6px 8px;display:flex;justify-content:space-between;align-items:center;gap:4px}.docs-image-title{font-size:11px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.docs-image-date{font-size:10px;color:#9ca3af;white-space:nowrap}.docs-notes-list{display:flex;flex-direction:column;gap:2px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.docs-note-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;cursor:pointer;transition:background .1s;border-bottom:1px solid #f3f4f6;gap:12px}.docs-note-row:last-child{border-bottom:none}.docs-note-row:hover{background:#f9fafb}.docs-note-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.docs-note-title{font-size:13px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docs-note-cat{font-size:10px;color:#297b8a;background:#e8f4f6;padding:1px 6px;border-radius:3px;white-space:nowrap;font-weight:500}.docs-note-preview{margin:0;font-size:12px;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.docs-note-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.docs-note-date{font-size:11px;color:#9ca3af;white-space:nowrap}.docs-file-icon{color:#6b7280;display:flex;flex-shrink:0}.docs-delete-btn{padding:4px;background:none;border:none;color:#d1d5db;cursor:pointer;border-radius:4px;display:flex;opacity:0;transition:all .15s}.docs-image-card:hover .docs-delete-btn,.docs-note-row:hover .docs-delete-btn{opacity:1}.docs-delete-btn:hover{color:#dc2626;background:#fef2f2}.btn-icon-danger{padding:6px;background:transparent;border:1px solid transparent;border-radius:6px;color:#dc2626;cursor:pointer;transition:all .2s}.btn-icon-danger:hover{background:#fef2f2;border-color:#fca5a5}.empty-state{text-align:center;padding:48px 20px;color:#d1d5db}.empty-state svg{margin-bottom:12px;opacity:.4}.empty-state p{margin:0 0 16px;font-size:14px;color:#9ca3af}.treatments-section{background:#fff;border-radius:16px;padding:24px 32px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid #f0f0f0}.treatments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.treatment-card{background:#fafafa;border:1px solid #f0f0f0;border-radius:12px;padding:16px;transition:all .15s ease}.treatment-card:hover{border-color:#e5e7eb;box-shadow:0 2px 8px #0000000a}.treatment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.treatment-header h3{margin:0;font-size:15px;font-weight:600;color:#111827;flex:1}.treatment-card-fixed{height:200px;display:flex;flex-direction:column;overflow:hidden}.treatment-card-fixed .treatment-header,.treatment-card-fixed .treatment-status,.treatment-card-fixed .treatment-meta{flex-shrink:0}.treatment-description{font-size:13px;color:#9ca3af;margin-bottom:12px;line-height:1.4}.treatment-description-truncated{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-height:0}.treatment-notes-truncated{font-size:12px;color:#6b7280;line-height:1.4;margin:0 0 8px;padding:6px 10px;background:#f3f4f6;border-radius:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-height:0}.treatment-status{display:flex;align-items:center;gap:8px;margin-bottom:8px}.treatment-status label{font-size:13px;font-weight:500;color:#6b7280}.status-select{flex:1;padding:6px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;background:#fff;cursor:pointer;transition:border-color .2s}.status-select:hover{border-color:#d1d5db}.status-select:focus{outline:none;border-color:#109eee;box-shadow:0 0 0 2px #109eee1a}.treatment-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:#9ca3af}.treatment-source{font-size:12px;color:#9ca3af}.treatments-list-modal{max-height:500px;overflow-y:auto;padding:8px 0}.treatment-option{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid #f0f0f0;border-radius:10px;margin-bottom:8px;background:#fafafa;transition:all .15s}.treatment-option:hover{background:#f5f5f5;border-color:#e5e7eb}.treatment-info{flex:1;margin-right:16px}.treatment-info h4{margin:0 0 2px;font-size:14px;font-weight:600;color:#111827}.treatment-info p{margin:0;font-size:13px;color:#9ca3af;line-height:1.4}.btn-sm{padding:6px 14px;font-size:13px;white-space:nowrap}.appointments-section{background:#fff;border-radius:16px;padding:24px 32px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid #f0f0f0}.appointments-list{display:flex;flex-direction:column;gap:16px}.appointment-day-group{display:flex;flex-direction:column;gap:0}.appointment-day-past{opacity:.55}.appointment-day-header{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#f9fafb;border-radius:10px 10px 0 0;border-left:3px solid #109EEE}.appointment-date-block{display:flex;flex-direction:column;align-items:center;min-width:40px}.appointment-day{font-size:22px;font-weight:700;color:#111827;line-height:1}.appointment-month{font-size:10px;font-weight:700;color:#109eee;text-transform:uppercase;letter-spacing:.5px}.appointment-day-label{display:flex;flex-direction:column}.appointment-day-name{font-size:14px;font-weight:600;color:#111827}.appointment-day-full{font-size:11px;color:#9ca3af}.appointment-day-slots{display:flex;flex-direction:column;gap:0}.appointment-card{display:flex;align-items:center;gap:16px;padding:10px 16px 10px 20px;border:1px solid #f0f0f0;border-top:none;border-left:3px solid #109EEE;transition:all .15s}.appointment-card:last-child{border-radius:0 0 10px 10px}.appointment-card:hover{background:#fafafa}.appointment-past{opacity:.7}.appointment-details{flex:1}.appointment-time{font-weight:600;color:#111827;font-size:14px}.appointment-duration{font-weight:400;color:#d1d5db;font-size:12px;margin-left:4px}.appointment-treatment{color:#6b7280;font-size:13px;margin-top:2px}.appointment-practitioner{display:flex;align-items:center;gap:4px;color:#9ca3af;font-size:12px;margin-top:2px}.appointment-notes{color:#d1d5db;font-size:12px;font-style:italic;margin-top:2px}.appointment-status{padding:4px 10px;border-radius:16px;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap}.appointment-status-confirmed{background:#ecfdf5;color:#065f46}.appointment-status-completed{background:#eff6ff;color:#1d4ed8}.appointment-status-cancelled{background:#fef2f2;color:#991b1b}.email-history-section{background:#fff;border-radius:16px;padding:24px 32px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid #f0f0f0}.email-history-list{display:flex;flex-direction:column;gap:8px}.email-card{padding:14px 16px;border:1px solid #f0f0f0;border-radius:10px;border-left:3px solid #109EEE;transition:all .15s}.email-card:hover{background:#fafafa;border-color:#e5e7eb}.email-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.email-subject{font-weight:600;color:#111827;font-size:14px}.email-status-badge{padding:2px 10px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.email-status-sent{background:#ecfdf5;color:#065f46}.email-status-failed{background:#fef2f2;color:#991b1b}.email-card-meta{display:flex;gap:16px;font-size:12px;color:#9ca3af}.attribution-section{background:#fff;border-radius:16px;padding:24px 32px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid #f0f0f0}.attribution-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.attribution-badge{background:linear-gradient(135deg,#109eee,#0d7fbf);color:#fff;padding:4px 12px;border-radius:16px;font-size:11px;font-weight:600;letter-spacing:.3px}.attribution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:20px}.attribution-card{background:#fafafa;border:1px solid #f0f0f0;border-radius:12px;padding:16px;transition:all .2s ease}.attribution-card:hover{border-color:#e5e7eb;box-shadow:0 2px 8px #0000000a}.attribution-card.primary{background:linear-gradient(135deg,#109eee0f,#0d7fbf0f);border:1.5px solid #109EEE}.attribution-card .card-header{display:flex;align-items:center;gap:6px;margin-bottom:10px}.attribution-card .card-header svg{color:#109eee}.attribution-card .card-header h3{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af}.attribution-value{font-size:16px;font-weight:700;color:#111827;margin-bottom:6px;word-break:break-word}.attribution-value.source-badge{display:inline-block;background:linear-gradient(135deg,#109eee,#0d7fbf);color:#fff;padding:6px 14px;border-radius:8px;font-size:14px;text-transform:capitalize}.attribution-value.keyword{font-style:italic;color:#109eee;font-size:15px}.attribution-value.landing-page{font-family:Courier New,monospace;font-size:13px;color:#059669;background:#ecfdf5;padding:4px 8px;border-radius:6px;display:inline-block}.attribution-meta{font-size:12px;color:#9ca3af;line-height:1.5}.attribution-meta strong{color:#374151;font-weight:600}.attribution-meta span{margin-right:8px}.click-ids-section{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:16px 20px;margin-bottom:20px}.click-ids-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#92400e;display:flex;align-items:center;gap:8px}.click-ids-grid{display:grid;gap:8px;margin-bottom:8px}.click-id-item{display:flex;align-items:center;gap:10px;background:#fff;padding:10px 12px;border-radius:8px}.platform-badge{padding:3px 10px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.platform-badge.google{background:#4285f4;color:#fff}.platform-badge.facebook{background:#1877f2;color:#fff}.platform-badge.bing{background:#008373;color:#fff}.platform-badge.tiktok{background:#000;color:#fff}.click-id-item code{font-family:Courier New,monospace;font-size:12px;color:#6b7280;background:#f9fafb;padding:2px 6px;border-radius:4px;word-break:break-all;flex:1}.click-ids-note{font-size:11px;color:#b45309;margin:8px 0 0;font-style:italic}.touchpoints-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:16px 20px}.touchpoints-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#075985}.journey-timeline{position:relative;padding-left:40px}.journey-timeline:before{content:"";position:absolute;left:15px;top:20px;bottom:20px;width:2px;background:linear-gradient(180deg,#0ea5e9,#06b6d4)}.journey-item{position:relative;margin-bottom:20px;display:flex;align-items:flex-start;gap:14px}.journey-item:last-child{margin-bottom:0}.journey-marker{position:absolute;left:-33px;width:28px;height:28px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;border:3px solid #f0f9ff;box-shadow:0 2px 6px #0ea5e940;z-index:2}.journey-content{flex:1;background:#fff;padding:12px 14px;border-radius:10px;border:1px solid #bae6fd}.journey-source{font-size:14px;color:#111827;margin-bottom:4px}.journey-source strong{font-weight:700;text-transform:capitalize}.journey-medium{color:#9ca3af;font-size:12px;margin-left:4px}.journey-campaign{font-size:12px;color:#0ea5e9;font-weight:600;margin-bottom:2px}.journey-page{font-size:11px;color:#9ca3af;font-family:Courier New,monospace;margin-bottom:4px}.journey-time{font-size:11px;color:#d1d5db;font-style:italic}.document-form{display:flex;flex-direction:column;gap:16px}.document-form small{display:block;margin-top:4px;color:#9ca3af;font-size:12px}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:95%;max-width:600px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.modal-large{max-width:1000px;max-height:95vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f3f4f6}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.close-modal{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-modal:hover{color:#374151}.modal-body{padding:24px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:#374151;font-weight:500;font-size:13px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .2s}.form-group input[type=file]{padding:8px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#109eee;box-shadow:0 0 0 2px #109eee1a}.form-group textarea{resize:vertical;min-height:80px}.form-group .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;margin-bottom:4px}.form-group .checkbox-label input[type=checkbox]{width:auto;cursor:pointer;margin:0}.form-group .checkbox-label span{font-weight:500;color:#374151}.form-group small{display:block;color:#9ca3af;font-size:12px;margin-top:4px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6}.btn-primary,.btn-secondary{padding:9px 18px;border-radius:10px;border:none;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:#109eee;color:#fff}.btn-primary:hover{background:#0d7fbf}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.image-menu-button{background:#fffffff2;border:1px solid #e5e7eb;border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.image-menu-button:hover{background:#fff;box-shadow:0 2px 8px #0000001f}.image-dropdown-menu{position:absolute;top:44px;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001f;min-width:150px;z-index:100;overflow:hidden;border:1px solid #f0f0f0}.image-dropdown-menu .menu-item{display:flex;align-items:center;gap:10px;padding:10px 14px;width:100%;background:#fff;border:none;cursor:pointer;font-size:13px;color:#374151;transition:background .15s;text-align:left}.image-dropdown-menu .menu-item:hover{background:#f9fafb}.image-dropdown-menu .menu-item svg{flex-shrink:0;color:#9ca3af}.dentally-financials-section{background:#fff;border-radius:16px;padding:24px 32px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid #f0f0f0}.email-attachment-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.email-attachment-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f9fafb;border:1px solid #f0f0f0;border-radius:8px;font-size:13px}.email-attachment-name{flex:1;color:#374151;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-attachment-size{color:#d1d5db;font-size:12px;white-space:nowrap}.email-attachment-remove{background:none;border:none;color:#dc2626;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;transition:background .2s}.email-attachment-remove:hover{background:#fef2f2}.email-attachment-total{font-size:11px;color:#9ca3af;padding-top:4px}.email-attachment-error{color:#dc2626;font-weight:600}.email-attachment-info{display:inline-flex;align-items:center;gap:4px;color:#9ca3af;font-size:12px}.email-attachment-info svg{color:#d1d5db}.email-viewer{padding:24px;max-height:70vh;overflow-y:auto}.email-viewer-meta{padding:14px 16px;background:#fafafa;border-radius:10px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.email-viewer-row{display:flex;align-items:flex-start;gap:8px;font-size:13px}.email-viewer-label{font-weight:600;color:#9ca3af;min-width:80px;flex-shrink:0}.email-viewer-value{color:#111827}.email-viewer-attachments{display:flex;flex-wrap:wrap;gap:4px}.email-viewer-att-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;background:#f3f4f6;border-radius:12px;font-size:11px;color:#6b7280}.email-viewer-body{padding:20px;background:#fff;border:1px solid #f0f0f0;border-radius:12px;line-height:1.7;font-size:14px;color:#374151;white-space:pre-wrap;word-wrap:break-word}.email-viewer-body p{margin:0 0 12px}.email-viewer-empty{color:#d1d5db;font-style:italic}.email-viewer-error{margin-top:12px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:13px}@media(max-width:768px){.patient-detail-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.patient-info-card,.documents-section,.treatments-section,.appointments-section,.email-history-section,.attribution-section,.dentally-financials-section{padding:20px;border-radius:12px}.patient-header-info{flex-direction:column;align-items:flex-start}.patient-contact-row{flex-direction:column;gap:10px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.section-actions{width:100%}.section-actions button{flex:1}.document-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.document-tabs button{white-space:nowrap}.treatments-grid,.attribution-grid{grid-template-columns:1fr}.email-card-header{flex-direction:column;align-items:flex-start;gap:6px}.email-card-meta{flex-direction:column;gap:2px}.document-actions{opacity:1}.modal-content{width:100%;max-height:95vh;border-radius:12px}}.treatments-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.page-header h1{margin:0 0 4px;font-size:28px;color:#111827}.page-subtitle{margin:0;color:#6b7280;font-size:14px}.page-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:18px;color:#666}.empty-state-large{text-align:center;padding:80px 20px;color:#9ca3af}.empty-state-large svg{margin-bottom:20px;opacity:.5}.empty-state-large h3{margin:16px 0 8px;color:#374151;font-size:20px}.empty-state-large p{margin:0 0 24px;font-size:16px}.treatments-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.treatment-card{background:#fff;border-radius:14px;border:1px solid #e5e7eb;overflow:hidden;transition:box-shadow .2s,border-color .2s;display:flex;flex-direction:column}.treatment-card:hover{border-color:#d1d5db;box-shadow:0 4px 16px #0000000f}.treatment-card.expanded{border-color:#109eee;box-shadow:0 4px 20px #109eee1a}.card-top-bar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.card-top-left{display:flex;align-items:center;gap:10px;min-width:0}.card-top-left h3{margin:0;font-size:17px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.default-badge{flex-shrink:0;padding:2px 8px;background:#e0f0fc;color:#109eee;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.card-top-actions{display:flex;gap:4px;flex-shrink:0}.card-action-btn{background:none;border:none;padding:6px;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s;display:flex;align-items:center;justify-content:center}.card-action-btn:hover{background:#f3f4f6;color:#374151}.card-action-danger:hover{background:#fef2f2;color:#dc2626}.card-body{padding:10px 20px 16px}.card-description{margin:0 0 12px;font-size:13px;color:#6b7280;line-height:1.5}.card-details{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}.card-detail{display:flex;align-items:center;gap:5px;font-size:13px;color:#6b7280}.card-detail svg{color:#9ca3af;flex-shrink:0}.card-detail-deposit{color:#059669}.card-detail-deposit .pound-icon{font-weight:700;font-size:14px;color:#059669}.card-practitioners{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.practitioner-chip{padding:3px 10px;background:#f0fdf4;color:#166534;border-radius:10px;font-size:11px;font-weight:500}.card-stats-row{display:flex;gap:0;padding:0 20px;margin-bottom:4px}.card-stat{flex:1;text-align:center;padding:12px 4px;border-top:1px solid #f3f4f6}.card-stat-value{display:block;font-size:18px;font-weight:700;color:#111827;line-height:1}.card-stat-label{display:block;font-size:10px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.card-stat-leads .card-stat-value{color:#f59e0b}.card-stat-booked .card-stat-value{color:#0d7fbf}.card-stat-attended .card-stat-value{color:#0d9488}.card-stat-converted .card-stat-value{color:#10b981}.card-stat-lost .card-stat-value{color:#ef4444}.card-stat-rate .card-stat-value{color:#109eee}.card-expand-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:#f9fafb;border:none;border-top:1px solid #f3f4f6;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.card-expand-btn:hover{background:#f3f4f6;color:#109eee}.card-patients{padding:16px 20px 20px;background:#fafbfc;border-top:1px solid #f3f4f6}.no-patients{text-align:center;padding:24px;color:#9ca3af;font-size:13px}.patients-list{display:flex;flex-direction:column;gap:6px}.patient-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;transition:border-color .15s}.patient-row:hover{border-color:#109eee}.patient-row .patient-info{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1;min-width:0}.patient-row .patient-name{font-weight:600;font-size:13px;color:#111827;white-space:nowrap}.patient-meta-inline{display:flex;gap:8px;font-size:12px;color:#9ca3af;overflow:hidden}.patient-meta-inline .patient-source{color:#109eee;font-weight:500}.patient-status-container{flex-shrink:0}.status-pill{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize;cursor:pointer;transition:transform .15s}.status-pill:hover{transform:scale(1.05)}.status-lead{background:#fef3c7;color:#92400e}.status-booked{background:#e0f0fc;color:#0d7fbf}.status-completed{background:#ccfbf1;color:#115e59}.status-converted{background:#d1fae5;color:#065f46}.status-lost{background:#fee2e2;color:#991b1b}.practitioner-checkboxes{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid #e5e7eb;border-radius:8px}.practitioner-checkbox{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:14px;color:#374151;transition:background .15s}.practitioner-checkbox:hover{background:#f3f4f6}.practitioner-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#109EEE}.treatment-form{padding:20px;max-height:calc(90vh - 120px);overflow-y:auto}.treatment-form .form-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f3f4f6}.treatment-form .form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.treatment-form .form-section-title{margin:0 0 14px;font-size:13px;font-weight:600;color:#109eee;text-transform:uppercase;letter-spacing:.5px}.treatment-form .form-group{margin-bottom:14px}.treatment-form .form-group:last-child{margin-bottom:0}.treatment-form label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:4px}.treatment-form input,.treatment-form textarea,.treatment-form select{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;box-sizing:border-box;background:#fff;transition:border-color .15s,box-shadow .15s}.treatment-form input:focus,.treatment-form textarea:focus,.treatment-form select:focus{outline:none;border-color:#109eee;box-shadow:0 0 0 3px #109eee1a}.treatment-form input::-moz-placeholder,.treatment-form textarea::-moz-placeholder{color:#c0c5cc}.treatment-form input::placeholder,.treatment-form textarea::placeholder{color:#c0c5cc}.treatment-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;margin-bottom:14px}.treatment-form .form-row:last-child{margin-bottom:0}.treatment-form .form-row .form-group{margin-bottom:0}.treatment-form .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9em;color:#374151;padding:8px 0}.treatment-form .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.treatment-form .form-hint{display:block;font-size:11px;color:#9ca3af;margin-top:3px}.treatment-form .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}@media(max-width:1024px){.treatments-grid{grid-template-columns:1fr}}@media(max-width:768px){.treatments-page{padding:16px}.page-header{flex-direction:column;gap:16px}.card-stats-row{flex-wrap:wrap}.card-stat{min-width:60px}.patient-row{flex-direction:column;align-items:flex-start;gap:8px}.patient-row .patient-info{flex-direction:column;align-items:flex-start;gap:2px}}.bots-page{max-width:1400px}.bots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.bot-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000001a;transition:all .3s}.bot-card:hover{transform:translateY(-3px);box-shadow:0 5px 20px #00000026}.bot-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.bot-header h3{margin:0;font-size:1.2em;color:#333}.bot-badge{background:#d4edda;color:#155724;padding:5px 12px;border-radius:20px;font-size:.8em;font-weight:600;text-transform:uppercase}.bot-details{margin-bottom:15px}.bot-agents{padding-top:15px;border-top:1px solid #e1e8ed}.agents-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.agent-tag{background:#e3f2fd;color:#0e9eee;padding:6px 12px;border-radius:15px;font-size:.85em;font-weight:500}.bot-form .checkbox-group{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95em;color:#555;text-transform:capitalize;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:24px}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;padding:0;cursor:pointer;flex-shrink:0;accent-color:#0E9EEE}.bot-form{padding:30px}.bot-form .form-group{margin-bottom:20px}.bot-form .form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:.95em}.bot-form .form-group input,.bot-form .form-group select{width:100%;padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:.95em;font-family:Lato,sans-serif;box-sizing:border-box}.bot-form .form-group select{padding-right:40px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.bot-form .form-group input:focus,.bot-form .form-group select:focus{outline:none;border-color:#0e9eee}.bot-form .form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e1e8ed}.public-access-section{padding-top:20px;margin-top:20px;border-top:1px solid #e1e8ed}.public-checkbox{font-weight:500;color:#333;text-transform:none}.field-hint{display:block;font-size:.85em;color:#777;font-weight:400;margin-top:4px}.access-badge{padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600;text-transform:uppercase}.access-badge.public{background:#e3f2fd;color:#0e9eee}.access-badge.private{background:#f5f5f5;color:#666}.bot-actions{margin-top:20px;padding-top:15px;border-top:1px solid #e1e8ed;display:flex;gap:10px;justify-content:flex-end}.btn-edit{background:#0e9eee;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.9em;font-weight:600;cursor:pointer;transition:background .2s;font-family:Lato,sans-serif}.btn-edit:hover{background:#0c8ad1}.btn-embed{background:#fff;color:#0e9eee;border:2px solid #0E9EEE;padding:10px 20px;border-radius:6px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .2s;font-family:Lato,sans-serif}.btn-embed:hover{background:#f0f8ff}.branding-section{padding-top:20px;margin-top:20px;border-top:1px solid #e1e8ed}.section-title{font-size:1.1em;color:#333;margin-bottom:15px;font-weight:600}.color-picker-group{margin-bottom:0}.color-input-wrapper{display:flex;gap:12px;align-items:center;margin-top:8px}.color-picker{width:60px;height:45px;border:2px solid #e1e8ed;border-radius:8px;cursor:pointer;padding:3px;background:#fff;flex-shrink:0}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:5px}.color-picker::-moz-color-swatch{border:none;border-radius:5px}.color-text-input{flex:1;padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:.95em;font-family:Monaco,Courier New,monospace;text-transform:uppercase}.color-text-input:focus{outline:none;border-color:#0e9eee}.color-preview{width:45px;height:45px;border:2px solid #e1e8ed;border-radius:8px;flex-shrink:0;box-shadow:inset 0 2px 4px #0000001a}.cta-section{padding-top:20px;margin-top:20px;border-top:1px solid #e1e8ed}.cta-messages-list{margin-top:12px;display:flex;flex-direction:column;gap:10px}.cta-message-item{display:flex;gap:8px;align-items:center}.cta-message-input{flex:1;padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:.95em;font-family:Lato,sans-serif;transition:border-color .2s}.cta-message-input:focus{outline:none;border-color:#0e9eee}.btn-remove-cta{width:36px;height:36px;border:2px solid #e1e8ed;background:#fff;color:#999;border-radius:6px;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;font-family:Arial,sans-serif;line-height:1;padding:0}.btn-remove-cta:hover{border-color:#f44;color:#f44;background:#fff5f5}.btn-add-cta{margin-top:10px;padding:10px 20px;background:#f0f8ff;border:2px dashed #0E9EEE;color:#0e9eee;border-radius:8px;cursor:pointer;font-size:.9em;font-weight:600;font-family:Lato,sans-serif;transition:all .2s;width:100%}.btn-add-cta:hover{background:#e3f2fd;border-color:#0c8ad1;color:#0c8ad1}.embed-modal{max-width:700px}.embed-content{padding:30px}.embed-info{margin-bottom:25px}.embed-info h3{font-size:1.2em;color:#333;margin-bottom:10px}.embed-info p{color:#666;line-height:1.6;margin-bottom:15px}.embed-info code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Monaco,Courier New,monospace;font-size:.9em;color:#d63384}.embed-warning{background:#fff3cd;border-left:4px solid #ffc107;padding:15px 20px;border-radius:6px;color:#856404;margin-top:15px}.embed-warning strong{display:block;margin-bottom:10px}.embed-warning ol{margin:10px 0 0 20px;padding:0}.embed-warning li{margin:5px 0}.embed-note{background:#e3f2fd;border-left:4px solid #0E9EEE;padding:15px 20px;border-radius:6px;color:#0c5460;margin-top:15px}.embed-note ul{margin:10px 0 0 20px;padding:0;list-style:none}.embed-note li{margin:5px 0}.embed-code-section{margin-bottom:25px}.embed-code-section label{display:block;font-weight:600;color:#333;margin-bottom:10px;font-size:.95em}.code-box{background:#2d2d2d;color:#f8f8f2;padding:20px;border-radius:8px;margin-bottom:15px;overflow-x:auto;font-family:Monaco,Courier New,monospace;font-size:.9em;line-height:1.5}.code-box code{color:#f8f8f2;word-break:break-all;white-space:pre-wrap}.btn-copy{width:100%;padding:12px 20px;background:#0e9eee;color:#fff;border:none;border-radius:6px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s;font-family:Lato,sans-serif}.btn-copy:hover{background:#0c8ad1}.btn-copy.copied{background:#28a745}.embed-preview-info{margin-bottom:25px}.embed-preview-info h3{font-size:1.1em;color:#333;margin-bottom:12px}.embed-preview-info ul{list-style:none;padding:0;margin:0}.embed-preview-info li{padding:8px 0;color:#555;display:flex;align-items:center;gap:10px}.embed-preview-info li:before{content:"✓";color:#28a745;font-weight:700;font-size:1.1em}.color-sample{display:inline-block;padding:4px 12px;border-radius:4px;color:#fff;font-family:Monaco,Courier New,monospace;font-size:.85em;margin-left:5px}.embed-test-link{background:#f8f9fa;padding:15px 20px;border-radius:8px;text-align:center}.embed-test-link p{margin:0;color:#666}.embed-test-link strong{display:block;margin-bottom:10px;color:#333}.embed-test-link a{display:inline-block;padding:10px 20px;background:#0e9eee;color:#fff;text-decoration:none;border-radius:6px;font-weight:600;transition:background .2s}.embed-test-link a:hover{background:#0c8ad1}.modal-footer{padding:20px 30px;border-top:1px solid #e1e8ed;display:flex;justify-content:flex-end}.sc-page{height:calc(100vh - 80px);display:flex;flex-direction:column}.sc-layout{display:flex;flex:1;min-height:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 6px #00000014}.sc-sidebar{width:340px;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;background:#fafbfc;flex-shrink:0}.sc-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.sc-sidebar-header h2{margin:0;font-size:18px;font-weight:700;color:#111827}.sc-search{position:relative;padding:12px 16px}.sc-search input{width:100%;padding:8px 12px 8px 34px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff;box-sizing:border-box}.sc-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:#9ca3af}.sc-chat-list{flex:1;overflow-y:auto}.sc-chat-item{display:flex;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .15s;align-items:center}.sc-chat-item:hover{background:#f0f4f8}.sc-chat-item.active{background:#e8f4f8;border-left:3px solid #297b8a}.sc-avatar{width:42px;height:42px;border-radius:50%;background:#297b8a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.sc-avatar.sm{width:34px;height:34px;font-size:12px}.sc-chat-info{flex:1;min-width:0}.sc-chat-name-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.sc-chat-name{font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-chat-time{font-size:11px;color:#9ca3af;flex-shrink:0;margin-left:8px}.sc-chat-preview-row{display:flex;justify-content:space-between;align-items:center}.sc-chat-preview{font-size:13px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sc-unread-badge{background:#297b8a;color:#fff;font-size:11px;font-weight:600;border-radius:10px;padding:1px 7px;min-width:18px;text-align:center;flex-shrink:0;margin-left:8px}.sc-empty{padding:40px 20px;text-align:center;color:#9ca3af}.sc-start-btn{margin-top:12px;padding:8px 16px;background:#297b8a;color:#fff;border:none;border-radius:8px;font-size:13px;cursor:pointer}.sc-start-btn:hover{background:#1f6470}.sc-main{flex:1;display:flex;flex-direction:column;min-width:0}.sc-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af}.sc-welcome-icon{margin-bottom:16px;opacity:.3}.sc-welcome h3{margin:0 0 6px;color:#374151;font-size:20px}.sc-welcome p{margin:0;font-size:14px}.sc-chat-header{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #e5e7eb;background:#fff}.sc-header-info{display:flex;flex-direction:column}.sc-header-name{font-size:15px;font-weight:600;color:#111827}.sc-header-meta{font-size:12px;color:#9ca3af}.sc-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:4px;background:#f9fafb}.sc-load-more{align-self:center;padding:6px 14px;background:#fff;border:1px solid #d1d5db;border-radius:16px;font-size:12px;color:#6b7280;cursor:pointer;margin-bottom:12px}.sc-load-more:hover{background:#f3f4f6}.sc-msg{display:flex;flex-direction:column;max-width:70%}.sc-msg-me{align-self:flex-end;align-items:flex-end}.sc-msg-them{align-self:flex-start;align-items:flex-start}.sc-msg-sender{font-size:11px;font-weight:600;color:#6b7280;margin-bottom:2px;padding-left:12px}.sc-msg-bubble{padding:8px 14px;border-radius:16px;max-width:100%;word-wrap:break-word}.sc-msg-me .sc-msg-bubble{background:#297b8a;color:#fff;border-bottom-right-radius:4px}.sc-msg-them .sc-msg-bubble{background:#fff;color:#111827;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.sc-msg-media{margin-bottom:6px}.sc-msg-media img{max-width:280px;max-height:200px;border-radius:8px;display:block;cursor:pointer}.sc-msg-text{font-size:14px;line-height:1.45;white-space:pre-wrap}.sc-msg-meta{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:11px;opacity:.7;justify-content:flex-end}.sc-msg-me .sc-msg-meta{color:#ffffffb3}.sc-msg-them .sc-msg-meta{color:#9ca3af}.sc-read{color:#34d399}.sc-msg-me .sc-read{color:#a7f3d0}.sc-file-preview{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#f3f4f6;border-top:1px solid #e5e7eb;font-size:13px;color:#374151}.sc-file-preview button{background:none;border:none;font-size:18px;cursor:pointer;color:#6b7280}.sc-input-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid #e5e7eb;background:#fff}.sc-text-input{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:20px;font-size:14px;font-family:inherit;outline:none}.sc-text-input:focus{border-color:#297b8a}.sc-send-btn{width:40px;height:40px;border-radius:50%;background:#297b8a;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.sc-send-btn:hover:not(:disabled){background:#1f6470}.sc-send-btn:disabled{opacity:.4;cursor:not-allowed}.sc-icon-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:background .15s}.sc-icon-btn:hover{background:#f3f4f6}.sc-new-chat{display:flex;flex-direction:column;flex:1}.sc-new-chat-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e7eb}.sc-new-chat-header h3{margin:0;font-size:16px;font-weight:600}.sc-contacts-list{flex:1;overflow-y:auto}.sc-contact-item{display:flex;gap:12px;padding:12px 20px;cursor:pointer;align-items:center;border-bottom:1px solid #f3f4f6;transition:background .15s}.sc-contact-item:hover{background:#f0f4f8}.sc-contact-info{flex:1;display:flex;align-items:center;gap:8px}.sc-contact-name{font-size:14px;font-weight:500;color:#111827}.sc-role-badge{font-size:10px;font-weight:600;color:#fff;padding:2px 8px;border-radius:10px;text-transform:capitalize}.sc-existing-badge{font-size:11px;color:#9ca3af;font-style:italic}.sc-back-btn{display:none}@media(max-width:768px){.sc-sidebar{width:100%}.sc-sidebar-hidden-mobile,.sc-main-hidden-mobile{display:none}.sc-back-btn.sc-mobile-only{display:flex}.sc-msg{max-width:85%}}.sc-ws-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.sc-ws-online{background:#22c55e;box-shadow:0 0 4px #22c55e}.sc-ws-offline{background:#ef4444;animation:sc-blink 1.5s infinite}@keyframes sc-blink{0%,to{opacity:1}50%{opacity:.3}}.integrations-settings{margin-top:2rem}.integrations-header{margin-bottom:1.5rem}.integrations-header h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#1a1a1a}.integrations-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#666}.integrations-loading .spinning{animation:spin 1s linear infinite;margin-bottom:1rem}.integrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1.5rem}.integration-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s ease}.integration-card:hover{box-shadow:0 4px 12px #0000001a}.integration-card.connected{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.integration-icon{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.integration-icon.dentally{background:linear-gradient(135deg,#109eee,#0d7fbf);color:#fff}.integration-icon.google{background:linear-gradient(135deg,#4285f4,#34a853);color:#fff}.integration-icon.stripe{background:linear-gradient(135deg,#635bff,#a259ff);color:#fff}.integration-content h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#1a1a1a}.integration-description{color:#666;font-size:.875rem;line-height:1.4;margin:0 0 1rem}.integration-status{margin-top:1rem}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;margin-bottom:1rem}.status-badge.connected{background:#d1fae5;color:#065f46}.status-badge.disconnected{background:#fee2e2;color:#991b1b}.integration-details{background:#ffffff80;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin:1rem 0}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.detail-row:last-child{border-bottom:none}.detail-label{font-size:.875rem;color:#6b7280;font-weight:500}.detail-value{font-size:.875rem;color:#1f2937;font-weight:500}.integration-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#0e9eee;color:#fff}.btn-primary:hover:not(:disabled){background:#0c8cd6;transform:translateY(-1px);box-shadow:0 4px 8px #0e9eee4d}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-danger{background:#fee2e2;color:#991b1b}.btn-danger:hover:not(:disabled){background:#fecaca}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.stripe-connect-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.stripe-connect-form .form-group{display:flex;flex-direction:column;gap:.25rem}.stripe-connect-form label{font-size:.8125rem;font-weight:500;color:#374151}.stripe-connect-form input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;transition:border-color .2s}.stripe-connect-form input:focus{outline:none;border-color:#635bff;box-shadow:0 0 0 2px #635bff26}.stripe-connect-form .btn{margin-top:.25rem}@media(max-width:768px){.integrations-grid{grid-template-columns:1fr}.integration-actions{flex-direction:column}.integration-actions .btn{width:100%;justify-content:center}}.settings-page{max-width:900px}.settings-page h1{margin:0 0 30px;font-size:2em;color:#333}.settings-section{margin-bottom:40px}.settings-section h2{margin:0 0 15px;font-size:1.3em;color:#333}.settings-card{background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 8px #0000001a}.setting-row{display:flex;justify-content:space-between;align-items:start;padding:15px 0;border-bottom:1px solid #e1e8ed}.setting-row:last-child{border-bottom:none;padding-bottom:0}.setting-row:first-child{padding-top:0}.setting-label{font-weight:600;color:#555;min-width:150px}.setting-value{flex:1;color:#333;text-align:right}.setting-value code{background:#f8f9fa;padding:4px 8px;border-radius:4px;font-size:.9em;letter-spacing:2px}.setting-help{display:block;margin-top:5px;color:#888;font-size:.85em}.settings-card p{margin:0 0 10px;color:#666}.settings-card p:last-child{margin-bottom:0}.version{font-size:.9em;color:#888}@media(max-width:768px){.setting-row{flex-direction:column;align-items:flex-start;gap:8px}.setting-value{text-align:left}}.section-description{color:#666;margin:-5px 0 20px;font-size:.95em}.api-key-card{margin-bottom:20px;border:2px solid #e1e8ed}.api-key-header{border-bottom:1px solid #e1e8ed;padding-bottom:15px;margin-bottom:20px}.api-key-title{display:flex;align-items:center;gap:10px}.api-key-title svg{color:#109eee}.api-key-title h3{margin:0;font-size:1.1em;color:#333}.key-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.key-badge.secret{background:#fee2e2;color:#991b1b}.key-badge.public{background:#dcfce7;color:#166534}.api-key-content{display:flex;flex-direction:column;gap:16px}.key-display{display:flex;align-items:center;gap:12px;background:#f8f9fa;padding:12px;border-radius:8px;border:1px solid #e1e8ed}.key-value{flex:1;font-family:Courier New,monospace;font-size:13px;color:#333;word-break:break-all;background:#fff;padding:8px 12px;border-radius:6px;border:1px solid #d1d5db}.key-value.public{color:#059669}.key-actions{display:flex;gap:8px}.btn-icon{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:#f3f4f6;border-color:#9ca3af}.btn-icon:active{transform:scale(.95)}.key-info{display:flex;gap:12px;padding:12px;border-radius:8px;font-size:.9em;line-height:1.5}.key-info.warning{background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.key-info.warning svg{flex-shrink:0;margin-top:2px}.key-info.safe{background:#ecfdf5;border:1px solid #10b981;color:#065f46}.key-info strong{display:block;margin-bottom:4px}.key-usage{padding:12px;background:#f9fafb;border-radius:8px;font-size:.9em}.key-usage strong{color:#374151;display:block;margin-bottom:8px}.code-example{background:#1f2937;color:#f3f4f6;padding:12px;border-radius:6px;font-size:12px;overflow-x:auto;margin:8px 0 0;line-height:1.5}@media(max-width:768px){.key-display{flex-direction:column;align-items:stretch}.key-actions{justify-content:flex-end}.code-example{font-size:11px}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-header h2{margin:0;display:flex;align-items:center}.btn-primary{background:#109eee;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-primary:hover{background:#5568d3;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e5e7eb}.role-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.role-badge.admin{background:#fef3c7;color:#92400e}.role-badge.dentist{background:#dbeafe;color:#1e40af}.role-badge.staff{background:#f3e8ff;color:#6b21a8}.staff-users-list{overflow-x:auto}.staff-table{width:100%;border-collapse:collapse}.staff-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.staff-table th{text-align:left;padding:12px 16px;font-weight:600;font-size:13px;color:#374151;text-transform:uppercase;letter-spacing:.5px}.staff-table td{padding:16px;border-bottom:1px solid #f3f4f6;color:#1f2937}.staff-table tbody tr:hover{background:#f9fafb}.staff-table tbody tr:last-child td{border-bottom:none}.btn-danger{color:#dc2626;background:#fff;border:1px solid #fecaca}.btn-danger:hover{background:#fef2f2;border-color:#f87171}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:1600px;width:95%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:14px}.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#109eee;box-shadow:0 0 0 3px #109eee1a}.form-group small{display:block;margin-top:6px;color:#6b7280;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #f3f4f6}.modal-actions button{padding:10px 20px}.button-group{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #f3f4f6}.button-group button{display:flex;align-items:center;gap:6px}.setting-value a{color:#109eee;text-decoration:none}.setting-value a:hover{text-decoration:underline}@media(max-width:768px){.section-header{flex-direction:column;align-items:flex-start;gap:12px}.section-header .btn-primary,.section-header .btn-secondary{width:100%;justify-content:center}.staff-table{font-size:14px}.staff-table th,.staff-table td{padding:12px 8px}.form-row{grid-template-columns:1fr}.modal-content{padding:20px}.button-group{flex-direction:column-reverse}.button-group button{width:100%;justify-content:center}}.todos-page{max-width:1200px;margin:0 auto}.todos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.todos-header h1{margin:0;font-size:2em;color:#333}.todos-header-left{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.stats-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stat-inline{font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:12px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.stat-inline.pending{background:#fef3c7;color:#92400e}.stat-inline.in-progress{background:#dbeafe;color:#1e40af}.stat-inline.completed{background:#d1fae5;color:#065f46}.stat-inline.overdue{background:#fee2e2;color:#991b1b}.todos-filters{display:flex;gap:16px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 12px;border-radius:8px;border:1px solid #d1d5db}.filter-group svg{color:#6b7280}.filter-group select{border:none;outline:none;font-size:14px;cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer}.search-box{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 12px;border-radius:8px;border:1px solid #d1d5db;flex:1;max-width:400px}.search-box svg{color:#6b7280}.search-box input{border:none;outline:none;flex:1;font-size:14px}.search-box button{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;line-height:1}.todos-list{display:flex;flex-direction:column;gap:12px}.todo-card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 8px #0000001a;display:flex;gap:16px;align-items:flex-start;transition:all .2s;border-left:4px solid transparent}.todo-card:hover{box-shadow:0 4px 12px #00000026}.todo-card.pending{border-left-color:#f59e0b}.todo-card.in_progress{border-left-color:#677b8a}.todo-card.completed{border-left-color:#10b981;opacity:.7}.todo-card.completed .todo-title{text-decoration:line-through;color:#9ca3af}.todo-checkbox{padding-top:2px}.todo-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.todo-title{font-size:16px;font-weight:500;color:#1f2937}.todo-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.priority-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.created-by-badge{padding:4px 10px;border-radius:12px;font-size:12px;background:#ede9fe;color:#5b21b6;font-weight:500}.assigned-badge{padding:4px 10px;border-radius:12px;font-size:12px;background:#f3f4f6;color:#374151;font-weight:500}.patient-badge{padding:4px 10px;border-radius:12px;font-size:12px;background:#e0f2fe;color:#075985;font-weight:500;display:flex;align-items:center;gap:4px}.due-badge{padding:4px 10px;border-radius:12px;font-size:12px;background:#f3f4f6;color:#374151;font-weight:500;display:flex;align-items:center;gap:4px}.due-badge.overdue{background:#fee2e2;color:#991b1b}.status-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.in-progress{background:#dbeafe;color:#1e40af}.hide-badge{padding:4px 10px;border-radius:12px;font-size:11px;background:#f3f4f6;color:#6b7280;font-weight:500;display:flex;align-items:center;gap:4px;font-style:italic}.todo-notes{font-size:13px;color:#6b7280;padding:4px 10px;background:#f9fafb;border-radius:6px;margin-top:4px;display:flex;align-items:center;gap:6px}.todo-notes-truncated{cursor:pointer;transition:background .15s}.todo-notes-truncated span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.todo-notes-truncated:hover{background:#f0f1f3;color:#374151}.notes-overlay{position:fixed;inset:0;background:#0000004d;z-index:999}.notes-slideout{position:fixed;top:0;right:0;width:400px;max-width:90vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.notes-slideout-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.notes-slideout-header h3{margin:0;font-size:16px;color:#1f2937}.notes-slideout-task{padding:12px 20px;font-size:14px;font-weight:600;color:#1f2937;background:#f9fafb;border-bottom:1px solid #e5e7eb}.notes-slideout-body{padding:20px;font-size:14px;color:#374151;line-height:1.7;white-space:pre-wrap;overflow-y:auto;flex:1}.todo-actions{display:flex;gap:8px}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state p{margin:8px 0;font-size:16px}.empty-state .text-muted{color:#9ca3af;font-size:14px}.loading{text-align:center;padding:40px;color:#6b7280;font-size:16px}.patient-search-container{position:relative;width:100%}.patient-search-input{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;box-sizing:border-box;width:100%}.patient-search-input svg{color:#6b7280;flex-shrink:0}.patient-search-input input{border:none;outline:none;flex:1;font-size:14px;background:transparent}.patient-search-input:focus-within{border-color:#109eee;box-shadow:0 0 0 3px #109eee1a}.patient-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:240px;overflow-y:auto;z-index:100}.patient-dropdown-item{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f3f4f6}.patient-dropdown-item:last-child{border-bottom:none}.patient-dropdown-item:hover{background:#f9fafb}.patient-dropdown-item svg{color:#6b7280;flex-shrink:0}.patient-dropdown-item span{flex:1;font-size:14px;color:#1f2937;font-weight:500}.patient-dropdown-item .patient-id{font-size:12px;color:#9ca3af;font-weight:400}.patient-dropdown-item.no-results{cursor:default;color:#9ca3af;justify-content:center}.patient-dropdown-item.no-results:hover{background:#fff}.selected-patients{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.patient-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#e0f2fe;color:#075985;border-radius:16px;font-size:13px;font-weight:500;border:1px solid #bae6fd}.patient-chip svg{flex-shrink:0}.patient-chip .remove-chip{background:none;border:none;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#075985;transition:color .15s;line-height:1}.patient-chip .remove-chip:hover{color:#0c4a6e}.todos-page .modal-content{max-width:600px;width:95%}.todos-page .modal-content form{padding:24px;flex:1}.todos-page .modal-content .form-group textarea,.todos-page .modal-content .form-group input[type=text]{width:100%}@media(max-width:768px){.todos-header{flex-direction:column;align-items:flex-start;gap:16px}.todos-header .btn-primary{width:100%;justify-content:center}.todos-header-left{flex-direction:column;gap:8px}.stats-inline{gap:8px}.todos-filters{flex-direction:column;align-items:stretch}.search-box{max-width:none}.todo-card{flex-direction:column;gap:12px}.todo-actions{align-self:flex-end}.form-row{grid-template-columns:1fr}}.category-grid>div{display:flex;flex-direction:column}@media(max-width:768px){.stock-header-actions{flex-wrap:wrap;gap:8px;width:100%}.stock-header-actions button{padding:10px 12px!important;font-size:13px!important;min-height:44px}.stock-header-actions button span:not(.cart-badge){display:none}.stock-add-product-btn span{display:inline!important}}@media(max-width:768px){.floating-cart-btn{position:fixed;bottom:20px;right:20px;z-index:999;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;background:linear-gradient(135deg,#109eee,#0d7fbf);border:none;cursor:pointer;transition:transform .2s}.floating-cart-btn:active{transform:scale(.95)}.floating-cart-badge{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;font-size:12px;font-weight:700;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:2px solid white}.desktop-cart-btn{display:none!important}}@media(min-width:769px){.floating-cart-btn{display:none!important}}@media(max-width:768px){.modal-overlay{padding:0!important;align-items:stretch!important}.modal-content{width:100%!important;max-width:100%!important;max-height:100vh!important;height:100vh!important;border-radius:0!important;margin:0!important}.modal-content form{padding:16px!important}.modal-header{padding:16px!important;border-radius:0!important}.modal-actions{padding:12px 16px!important;position:sticky;bottom:0;background:#fff;border-top:2px solid #e5e7eb}}@media(max-width:768px){.product-card{padding:12px!important}.product-card button{padding:10px!important;font-size:13px!important;min-height:44px}}@media(max-width:640px){.category-grid{grid-template-columns:1fr!important;gap:12px!important}.category-card{padding:16px!important}}@media(max-width:768px){.form-group input,.form-group select,.form-group textarea{font-size:16px!important;min-height:44px}.form-row{grid-template-columns:1fr!important}}@media(max-width:768px){.back-button{padding:10px 16px!important;min-height:44px}}@media(max-width:768px){.search-bar{font-size:16px!important;padding:12px 12px 12px 40px!important}}@media(max-width:768px){.cart-item{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.cart-item-actions{width:100%;justify-content:space-between!important}}@media(max-width:768px){.custom-item-modal .form-row{grid-template-columns:1fr!important}}@media(max-width:768px){.touch-target{min-height:44px;min-width:44px}}@media(max-width:768px){.stock-page-header{position:sticky;top:0;z-index:100;background:#fff;padding:12px;border-bottom:1px solid #e5e7eb}}@media(max-width:768px){.stock-room-container{padding:12px!important}}@media(max-width:768px){.modal-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}.floating-cart-btn{bottom:calc(20px + env(safe-area-inset-bottom))}}@media(max-width:768px){button,a{-webkit-tap-highlight-color:rgba(16,158,238,.3)}}@media(max-width:768px){.subcategory-card{padding:12px!important}.subcategory-card ul{font-size:13px!important}}@media(max-width:768px){.stats-grid{grid-template-columns:1fr!important;gap:8px!important}}.compliance-container{padding:2rem;max-width:1400px;margin:0 auto}.compliance-header{margin-bottom:2rem}.compliance-header h1{font-size:2rem;font-weight:700;color:#1a202c;margin-bottom:.5rem}.compliance-subtitle{color:#718096;font-size:1rem;margin:0}.compliance-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e2e8f0;padding-bottom:0}.compliance-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:#718096;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;bottom:-2px}.compliance-tab:hover{color:#4a5568;background-color:#f7fafc}.compliance-tab.active{color:#677b8a;border-bottom-color:#677b8a}.compliance-content{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000001a}.compliance-section{min-height:400px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.section-header h2{font-size:1.5rem;font-weight:600;color:#1a202c;margin:0}.section-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.view-toggle{display:flex;background:#e2e8f0;border-radius:6px;padding:.25rem;gap:.25rem}.toggle-btn{padding:.5rem 1.25rem;background:transparent;border:none;border-radius:4px;font-size:.9rem;font-weight:600;color:#4a5568;cursor:pointer;transition:all .2s}.toggle-btn:hover{color:#1a202c}.toggle-btn.active{background:#fff;color:#677b8a;box-shadow:0 1px 3px #0000001a}.log-type-select{padding:.625rem 1rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.95rem;font-weight:500;color:#2d3748;background:#fff;cursor:pointer;transition:border-color .2s;min-width:180px}.log-type-select:focus{outline:none;border-color:#677b8a}.search-input{padding:.5rem 1rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.95rem;min-width:250px;transition:border-color .2s}.search-input:focus{outline:none;border-color:#677b8a}.btn-primary{background-color:#677b8a;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary:hover{background-color:#677b8a}.btn-primary-small,.btn-secondary-small{padding:.4rem .75rem;font-size:.85rem;border-radius:4px;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:all .2s;border:none;font-weight:500}.btn-primary-small{background-color:#677b8a;color:#fff}.btn-primary-small:hover{background-color:#677b8a}.btn-secondary-small{background-color:#fff;color:#4a5568;border:1px solid #cbd5e0}.btn-secondary-small:hover{background-color:#f7fafc;border-color:#a0aec0}.btn-link{background:none;border:none;color:#677b8a;font-size:.9rem;cursor:pointer;padding:.25rem 0;font-weight:500}.btn-link:hover{text-decoration:underline}.btn-secondary{background-color:#fff;color:#4a5568;border:1px solid #cbd5e0;padding:.625rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#f7fafc;border-color:#a0aec0}.empty-state svg{color:#cbd5e0;margin-bottom:1rem}.checklists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1rem}.checklist-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .2s}.checklist-card:hover{box-shadow:0 4px 12px #00000014;border-color:#cbd5e0}.checklist-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.checklist-card-header h3{font-size:1.1rem;font-weight:600;color:#1a202c;margin:0;flex:1}.frequency-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.frequency-daily{background-color:#fef3c7;color:#92400e}.frequency-weekly{background-color:#dbeafe;color:#1e40af}.frequency-monthly{background-color:#e0e7ff;color:#4338ca}.frequency-quarterly{background-color:#ddd6fe;color:#5b21b6}.frequency-annually{background-color:#fce7f3;color:#9f1239}.frequency-as-needed{background-color:#e5e7eb;color:#374151}.checklist-description{color:#4a5568;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.checklist-meta{display:flex;gap:1.5rem;margin-bottom:1rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.meta-item{display:flex;align-items:center;gap:.4rem;color:#718096;font-size:.85rem}.meta-item svg{color:#a0aec0}.checklist-actions{display:flex;gap:.75rem;justify-content:flex-end}.completions-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.completion-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem;transition:all .2s}.completion-item:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000000d}.completion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.completion-header h4{font-size:1rem;font-weight:600;color:#1a202c;margin:0}.completion-date{color:#718096;font-size:.85rem;white-space:nowrap}.completion-description{color:#4a5568;font-size:.9rem;margin-bottom:.75rem}.alerts-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;background-color:#fef3c7;color:#92400e;border-radius:6px;font-size:.85rem;font-weight:600;margin-bottom:.75rem}@media(max-width:768px){.compliance-container{padding:1rem}.compliance-header h1{font-size:1.5rem}.compliance-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.compliance-tab{white-space:nowrap;padding:.75rem 1rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-actions{width:100%;flex-direction:column}.search-input{width:100%}.compliance-content{padding:1.5rem}.checklists-grid{grid-template-columns:1fr}.checklist-actions{flex-direction:column}.checklist-actions button{width:100%;justify-content:center}}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-close{background:none;border:none;color:#718096;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s}.checklist-form{padding:2rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#677b8a;box-shadow:0 0 0 3px #3b82f61a}.form-group-checkbox{margin-bottom:1rem}.form-group-checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:#4a5568}.form-group-checkbox input[type=checkbox]{width:auto;cursor:pointer}.steps-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.steps-list{display:flex;flex-direction:column;gap:1.5rem}.step-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.step-number{font-weight:700;color:#677b8a;font-size:.95rem}.btn-icon-danger{background:none;border:none;color:#e53e3e;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s;display:flex;align-items:center}.btn-icon-danger:hover{background-color:#fff5f5}.completion-steps{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.completion-step{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem}.completion-step .step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.required-badge{background-color:#fed7d7;color:#c53030;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.step-prompt{display:block;font-weight:600;color:#2d3748;margin-bottom:.75rem;font-size:.95rem;line-height:1.5}.step-input{margin-top:.5rem}.step-input input,.step-input textarea{width:100%;padding:.75rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.95rem;transition:border-color .2s;font-family:inherit}.step-input input:focus,.step-input textarea:focus{outline:none;border-color:#677b8a;box-shadow:0 0 0 3px #677b8a1a}.boolean-buttons{display:flex;gap:.75rem}.btn-boolean{flex:1;padding:.875rem 1.25rem;border:2px solid #cbd5e0;background:#fff;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-boolean:hover{border-color:#a0aec0;background:#f7fafc}.btn-boolean.active.yes{background-color:#c6f6d5;border-color:#38a169;color:#22543d}.btn-boolean.active.no{background-color:#fed7d7;border-color:#e53e3e;color:#742a2a}.btn-boolean.active.yes:hover{background-color:#9ae6b4}.btn-boolean.active.no:hover{background-color:#feb2b2}.date-filter-container{display:flex;align-items:flex-end;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0;flex-wrap:wrap}.date-filter{display:flex;flex-direction:column;gap:.5rem}.date-filter label{font-weight:600;color:#4a5568;font-size:.85rem}.date-input{padding:.5rem .75rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.9rem;min-width:150px;transition:border-color .2s}.date-input:focus{outline:none;border-color:#677b8a}.filter-results{margin-left:auto;color:#718096;font-size:.9rem;font-weight:500;align-self:center}.completion-meta{display:flex;gap:1.5rem;margin-bottom:.75rem;padding-top:.5rem}.meta-label{color:#718096;font-size:.85rem}.completion-actions{display:flex;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.modal-large{max-width:900px}.completion-details{padding:2rem;max-height:70vh;overflow-y:auto}.detail-section{margin-bottom:2rem}.detail-section h3{font-size:1.25rem;font-weight:700;color:#1a202c;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-weight:600;color:#718096;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.detail-item span{color:#1a202c;font-size:1rem}.detail-item p{color:#4a5568;line-height:1.6;margin:0}.alert-section{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:1rem;margin-top:1rem}.alert-section h4{color:#c53030;font-size:1rem;font-weight:700;margin:0 0 .75rem}.alert-list{list-style:none;padding:0;margin:0}.alert-list li{color:#742a2a;padding:.5rem 0;border-bottom:1px solid #fed7d7}.alert-list li:last-child{border-bottom:none}.response-list{display:flex;flex-direction:column;gap:1rem}.response-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem;transition:all .2s}.response-item.has-alert{background:#fff5f5;border-color:#feb2b2}.response-item:hover{box-shadow:0 2px 8px #0000000d}.response-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.alert-indicator{background-color:#fed7d7;color:#c53030;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700}.response-question{font-weight:600;color:#2d3748;margin-bottom:.75rem;font-size:.95rem;line-height:1.5}.response-answer{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.5rem}.response-answer label{font-weight:600;color:#718096;font-size:.85rem}.response-value{color:#1a202c;font-size:1rem;font-weight:600}.response-value.response-yes{color:#22543d;background-color:#c6f6d5;padding:.25rem .75rem;border-radius:4px}.response-value.response-no{color:#742a2a;background-color:#fed7d7;padding:.25rem .75rem;border-radius:4px}.response-notes{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.response-notes label{display:block;font-weight:600;color:#718096;font-size:.85rem;margin-bottom:.25rem}.response-notes p{color:#4a5568;font-size:.9rem;line-height:1.5;margin:0}@media(max-width:768px){.modal-content{max-height:95vh}.modal-header,.modal-footer,.checklist-form{padding:1rem}.form-row{grid-template-columns:1fr}.date-filter-container{flex-direction:column;align-items:stretch}.filter-results{margin-left:0;text-align:center}.detail-grid{grid-template-columns:1fr}.completion-actions{flex-direction:column}.completion-meta{flex-direction:column;gap:.5rem}.view-toggle{width:100%}.toggle-btn{flex:1}.log-type-select{width:100%}}.folder-breadcrumb{display:flex;align-items:center;gap:.25rem;padding:1rem;background:#f7fafc;border-radius:8px;margin-bottom:1.5rem;flex-wrap:wrap}.breadcrumb-link{background:none;border:none;color:#0e9eee;font-size:.95rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.breadcrumb-link:hover:not(:disabled){background:#e6f7ff}.breadcrumb-link:disabled{color:#2d3748;cursor:default;font-weight:600}.drive-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.drive-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s;position:relative}.drive-item:hover{border-color:#0e9eee;box-shadow:0 2px 8px #0e9eee1a;transform:translateY(-1px)}.drive-folder{background:linear-gradient(to bottom,#fff,#f7fafc)}.drive-folder:hover{background:linear-gradient(to bottom,#e6f7ff,#f0f9ff)}.drive-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.drive-item-info{flex:1;min-width:0}.drive-item-name{font-size:.95rem;font-weight:600;color:#2d3748;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-item-date{font-size:.85rem;color:#718096;margin:0}.drive-item-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s}.drive-item:hover .drive-item-actions{opacity:1}.btn-icon{padding:.5rem;background:none;border:1px solid #cbd5e0;border-radius:4px;cursor:pointer;color:#4a5568;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:#edf2f7;border-color:#0e9eee;color:#0e9eee}.file-viewer-modal{max-width:900px;max-height:90vh;display:flex;flex-direction:column}.file-viewer-content{flex:1;overflow-y:auto;padding:0;background:#fff;margin:0 -2rem}.document-viewer{max-width:800px;margin:0 auto;padding:3rem 4rem;background:#fff}.document-content{font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2d3748;line-height:1.8}.doc-heading{font-size:1.5rem;font-weight:700;color:#1a202c;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #0E9EEE;line-height:1.3}.doc-heading:first-child{margin-top:0}.doc-paragraph{font-size:1rem;line-height:1.8;color:#4a5568;margin:1rem 0;text-align:justify}.doc-list-item{font-size:1rem;line-height:1.8;color:#4a5568;margin:.75rem 0 .75rem 2rem;list-style-type:disc}.doc-list-item::marker{color:#0e9eee}.file-binary-content{text-align:center;padding:4rem 2rem;background:#f7fafc}.file-binary-content h3{font-size:1.5rem;color:#2d3748;margin:1.5rem 0 1rem}.file-binary-content p{color:#718096;margin:.5rem 0;font-size:1rem}.file-type-info{font-family:Monaco,Courier New,monospace;font-size:.85rem;color:#a0aec0;margin-top:1.5rem!important}.file-binary-content .btn-primary,.file-binary-content a.btn-primary{margin-top:2rem;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.modal-footer a.btn-secondary{text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-link{background:none;border:none;color:#0e9eee;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:underline;padding:.5rem 0;margin-top:1rem;display:inline-block}.btn-link:hover{color:#0c8ad1}.compliance-section .loading-state,.compliance-section .empty-state{text-align:center;padding:4rem 2rem}.section-description{color:#718096;font-size:.9rem;margin-top:.5rem}.knowledge-status-card{background:linear-gradient(135deg,#109eee,#0d7fbf);border-radius:12px;padding:2rem;margin-bottom:1.5rem;color:#fff;box-shadow:0 4px 12px #109eee4d}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.status-item{display:flex;flex-direction:column;gap:.5rem}.status-item label{font-size:.85rem;opacity:.9;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-value{font-size:1.75rem;font-weight:700;line-height:1}.status-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.ready{background:#48bb784d;border:2px solid #48bb78}.status-badge.syncing{background:#ed89364d;border:2px solid #ed8936;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.knowledge-info{margin:0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);font-size:.95rem;line-height:1.6;opacity:.95}.spinning{animation:spin 1s linear infinite}.log-entries-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.log-entries-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;max-width:100%;-webkit-overflow-scrolling:touch}.log-entries-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:600px}.log-entries-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.log-entries-table th{text-align:left;padding:10px 14px;font-weight:600;color:#4b5563;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.log-entries-table td{padding:12px 14px;border-bottom:1px solid #f3f4f6;color:#1f2937;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-entries-table tbody tr:hover{background:#f0f9fa}.log-entries-table tbody tr:last-child td{border-bottom:none}.log-entries-table .log-cell-date{white-space:nowrap;color:#6b7280;font-size:.8rem}.log-entries-table .log-cell-notes{max-width:180px;color:#6b7280;font-style:italic}.log-entries-table .log-cell-actions{white-space:nowrap;text-align:right}.log-entries-table .log-cell-actions-head{text-align:right}.log-entries-table .log-cell-sticky{position:sticky;left:0;background:inherit;z-index:1}.log-entries-table thead .log-cell-sticky{background:#f9fafb;z-index:2}.log-entries-table tbody tr:hover .log-cell-sticky{background:#f0f9fa}@media(max-width:768px){.log-entries-table{font-size:.8rem}.log-entries-table th,.log-entries-table td{padding:8px 10px}.log-entries-header{flex-wrap:wrap}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.campaigns-container{padding:2rem;max-width:1400px;margin:0 auto}.campaigns-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.campaigns-header h1{font-size:2rem;font-weight:700;color:#1a202c;margin:0}.campaigns-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;text-align:center}.stat-card .stat-value{font-size:2rem;font-weight:700;color:#1a202c;line-height:1;margin-bottom:.5rem}.stat-card .stat-label{font-size:.85rem;color:#718096;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.campaigns-filters{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0;flex-wrap:wrap}.campaigns-filters select,.campaigns-filters input[type=date]{padding:.5rem .75rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.9rem;background:#fff;color:#2d3748;min-width:140px}.campaigns-filters select:focus,.campaigns-filters input[type=date]:focus{outline:none;border-color:#677b8a}.filter-label{font-size:.85rem;font-weight:600;color:#4a5568}.campaigns-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff;-webkit-overflow-scrolling:touch}.campaigns-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:800px}.campaigns-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.campaigns-table th{text-align:left;padding:10px 14px;font-weight:600;color:#4b5563;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.campaigns-table td{padding:12px 14px;border-bottom:1px solid #f3f4f6;color:#1f2937}.campaigns-table tbody tr:hover{background:#f0f9fa}.campaigns-table tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-active{background-color:#c6f6d5;color:#22543d}.status-paused{background-color:#fef3c7;color:#92400e}.status-completed{background-color:#e2e8f0;color:#4a5568}.source-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:500;background-color:#edf2f7;color:#4a5568}.leads-link{background:none;border:none;color:#677b8a;font-weight:600;cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.leads-link:hover{color:#4a5568}.table-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete{padding:.35rem .65rem;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-edit{background-color:#edf2f7;color:#4a5568}.btn-edit:hover{background-color:#e2e8f0}.btn-delete{background-color:#fff5f5;color:#e53e3e}.btn-delete:hover{background-color:#fed7d7}.campaigns-container .btn-primary{background-color:#677b8a;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:.5rem}.campaigns-container .btn-primary:hover{background-color:#566a78}.campaigns-container .btn-secondary{background-color:#fff;color:#4a5568;border:1px solid #cbd5e0;padding:.625rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.campaigns-container .btn-secondary:hover{background-color:#f7fafc;border-color:#a0aec0}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0}.modal-header h2{font-size:1.5rem;font-weight:700;color:#1a202c;margin:0}.modal-close{background:none;border:none;color:#718096;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s;font-size:1.5rem;line-height:1}.modal-close:hover{background-color:#f7fafc;color:#1a202c}.modal-body{padding:2rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid #e2e8f0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#2d3748;margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.95rem;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#677b8a;box-shadow:0 0 0 3px #677b8a1a}.form-group small{display:block;color:#718096;font-size:.85rem;margin-top:.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.leads-table{width:100%;border-collapse:collapse;font-size:.875rem}.leads-table th{text-align:left;padding:10px 14px;font-weight:600;color:#4b5563;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:2px solid #e5e7eb}.leads-table td{padding:10px 14px;border-bottom:1px solid #f3f4f6;color:#1f2937}.leads-table tbody tr:hover{background:#f0f9fa}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#718096}.empty-state h3{font-size:1.25rem;font-weight:600;color:#4a5568;margin:.5rem 0}.empty-state p{font-size:.95rem;color:#718096;max-width:400px;margin:0}.loading-state{text-align:center;padding:3rem;color:#718096;font-size:1rem}.error-message{background-color:#fff5f5;color:#c53030;padding:.75rem 1rem;border-radius:6px;border:1px solid #feb2b2;margin-bottom:1rem;font-size:.9rem}.conversion-rate{font-weight:600}.conversion-good{color:#22543d}.conversion-medium{color:#92400e}.conversion-low{color:#718096}.btn-utm{padding:.35rem .65rem;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;border:1px solid #677b8a;background-color:#fff;color:#677b8a;transition:all .2s;display:inline-flex;align-items:center;gap:.3rem}.btn-utm:hover{background-color:#677b8a;color:#fff}.utm-preview-inline{background:#f0f4f8;border:1px solid #cbd5e0;border-radius:6px;padding:.75rem 1rem;margin-bottom:1.5rem}.utm-preview-inline label{display:block;font-weight:600;color:#4a5568;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem}.utm-preview-inline code{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:.85rem;color:#2d3748;word-break:break-all}.utm-intro{color:#4a5568;font-size:.95rem;line-height:1.6;margin:0 0 1.5rem}.utm-section{margin-bottom:1.75rem}.utm-section>label{display:block;font-weight:700;color:#2d3748;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.utm-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.utm-section-header label{font-weight:700;color:#2d3748;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.utm-code-block{display:block;background:#1a202c;color:#68d391;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:.85rem;padding:.875rem 1rem;border-radius:6px;word-break:break-all;line-height:1.5;margin-bottom:.25rem}.btn-copy{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border:1px solid #cbd5e0;border-radius:4px;background:#fff;color:#4a5568;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-copy:hover{background:#edf2f7;border-color:#a0aec0}.btn-copy-sm{display:inline-flex;align-items:center;padding:.25rem;border:none;border-radius:3px;background:transparent;color:#a0aec0;cursor:pointer;transition:all .2s}.btn-copy-sm:hover{color:#4a5568;background:#edf2f7}.utm-params-grid{display:flex;flex-direction:column;gap:.5rem}.utm-param-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px}.utm-param-key{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:.8rem;font-weight:600;color:#677b8a;min-width:120px}.utm-param-value{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:.85rem;color:#1a202c;flex:1}.utm-platform{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-bottom:.75rem}.utm-platform-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.utm-platform-name{font-weight:600;color:#2d3748;font-size:.9rem}.utm-platform small{display:block;color:#718096;font-size:.8rem;margin-top:.4rem;line-height:1.4}@media(max-width:768px){.campaigns-container{padding:1rem}.campaigns-header{flex-direction:column;align-items:flex-start;gap:1rem}.campaigns-header h1{font-size:1.5rem}.campaigns-stats{grid-template-columns:repeat(2,1fr)}.campaigns-filters{flex-direction:column;align-items:stretch}.campaigns-filters select,.campaigns-filters input[type=date]{width:100%}.form-row{grid-template-columns:1fr}.modal-body{padding:1.5rem}}@media(max-width:480px){.campaigns-stats{grid-template-columns:1fr}}[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:-moz-max-content;width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width:600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:-moz-fit-content;width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width:600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{-o-object-fit:cover;object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{-o-object-fit:contain;object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;inset:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width:600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width:400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}.note-editor{display:flex;flex-direction:column;height:calc(100vh - 80px)}.note-editor-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 16px;border-bottom:1px solid #e5e7eb;margin-bottom:16px}.note-editor-header h2{font-size:18px;font-weight:700;margin:0;display:flex;align-items:center;gap:8px}.note-editor-header-actions{display:flex;gap:8px;align-items:center}.note-editor-meta{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.note-editor-meta select,.note-editor-meta input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}.note-editor-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;overflow:hidden}.note-editor-panels.single-panel{grid-template-columns:1fr}.note-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.note-panel-header{padding:12px 16px;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600;color:#374151;display:flex;justify-content:space-between;align-items:center}.note-panel-body{padding:16px;overflow-y:auto;flex:1}.template-block{margin-bottom:14px;padding:12px;border:1px solid #f3f4f6;border-radius:10px;background:#fafafa}.template-block.missing-required{border-color:#fca5a5;background:#fef2f2}.template-block-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#6b7280;margin-bottom:6px;display:flex;align-items:center;gap:6px}.template-block-label .required-dot{width:6px;height:6px;border-radius:50%;background:#dc2626}.static-block{font-size:13px;color:#374151;line-height:1.5;white-space:pre-wrap}.variable-chip{display:flex;align-items:center;gap:8px}.variable-chip input,.variable-chip select{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}.variable-chip .confidence-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.confidence-dot.high{background:#10b981}.confidence-dot.medium{background:#f59e0b}.confidence-dot.low{background:#ef4444}.conditional-toggle{display:flex;align-items:center;gap:10px;margin-bottom:8px}.conditional-toggle label{font-size:13px;color:#374151;font-weight:500}.toggle-switch{position:relative;width:40px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#d1d5db;border-radius:11px;cursor:pointer;transition:.2s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:#297b8a}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.conditional-children{margin-left:16px;border-left:2px solid #297b8a;padding-left:12px}.freeform-block textarea{width:100%;min-height:80px;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;resize:vertical;box-sizing:border-box;font-family:inherit}.summary-block{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px;font-size:13px;color:#374151;line-height:1.5;white-space:pre-wrap;position:relative}.summary-block .regenerate-btn{position:absolute;top:8px;right:8px;padding:4px 8px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:11px;cursor:pointer;color:#374151}.summary-block .regenerate-btn:hover{background:#f3f4f6}.transcript-area{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px;min-height:120px;max-height:200px;overflow-y:auto;font-size:13px;color:#374151;line-height:1.5;margin-bottom:12px;white-space:pre-wrap}.transcript-area .interim{color:#9ca3af;font-style:italic}.transcript-area.empty{color:#9ca3af;display:flex;align-items:center;justify-content:center}.mic-controls{display:flex;gap:8px;align-items:center;margin-bottom:12px}.mic-btn{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.mic-btn.idle{background:#297b8a;color:#fff}.mic-btn.recording{background:#dc2626;color:#fff;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 10px #dc262600}}.process-btn{padding:8px 16px;background:#297b8a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px}.process-btn:hover{background:#1f6470}.process-btn:disabled{opacity:.5;cursor:not-allowed}.extraction-results{margin-top:12px}.extraction-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#f9fafb;border-radius:6px;margin-bottom:4px;font-size:12px}.extraction-item .key{color:#6b7280;font-weight:500}.extraction-item .value{color:#111827;font-weight:600}.apply-btn{margin-top:10px;padding:8px 16px;background:#059669;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;width:100%}.apply-btn:hover{background:#047857}.note-section{margin-bottom:16px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.note-section.inactive{opacity:.7}.note-section-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.note-section-title{font-size:14px;font-weight:600;color:#111827;margin:0}.note-section-body{padding:14px}.section-default{padding:8px 14px;font-size:12px;color:#9ca3af;font-style:italic}.default-hint{font-size:11px;color:#9ca3af;font-style:italic;margin-bottom:4px;padding:2px 0}.block-prefix,.block-suffix{font-weight:400;font-size:11px;color:#9ca3af;text-transform:none}.patient-search-container{position:relative}.patient-search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:10;max-height:180px;overflow-y:auto}.patient-search-dropdown div{padding:8px 12px;cursor:pointer;font-size:13px}.patient-search-dropdown div:hover{background:#f3f4f6}.notes-page{padding:0}.notes-page h1{font-size:22px;font-weight:700;margin:0;display:flex;align-items:center;gap:10px}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.notes-header-actions{display:flex;gap:10px;align-items:center}.notes-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.notes-tab{padding:10px 20px;font-size:14px;font-weight:500;color:#6b7280;background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.notes-tab.active{color:#297b8a;border-bottom-color:#297b8a;font-weight:600}.notes-tab:hover:not(.active){color:#374151}.notes-filter-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.notes-filter-bar input,.notes-filter-bar select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff}.notes-filter-bar input{min-width:200px}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.note-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .15s}.note-card:hover{border-color:#297b8a;box-shadow:0 2px 8px #297b8a14}.note-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.note-card-title{font-size:14px;font-weight:600;color:#111827}.note-card-patient{font-size:13px;color:#6b7280;margin-bottom:6px}.note-card-excerpt{font-size:12px;color:#9ca3af;line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#9ca3af}.status-badge{display:inline-flex;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.draft{background:#fef3c7;color:#92400e}.status-badge.final{background:#d1fae5;color:#065f46}.template-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;transition:all .15s}.template-card:hover{border-color:#297b8a}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.template-card-title{font-size:14px;font-weight:600;color:#111827}.template-card-desc{font-size:12px;color:#9ca3af;margin-bottom:8px}.template-card-meta{display:flex;gap:12px;font-size:11px;color:#9ca3af}.template-card-actions{display:flex;gap:6px}.template-card-actions button{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;color:#374151;display:flex;align-items:center;gap:4px}.template-card-actions button:hover{background:#f3f4f6}.template-card-actions button.delete:hover{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.btn-primary{padding:8px 16px;background:#297b8a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px}.btn-primary:hover{background:#1f6470}.btn-secondary{padding:8px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px}.btn-secondary:hover{background:#f3f4f6}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:700px;max-height:85vh;overflow-y:auto;padding:24px}.modal-content h2{font-size:18px;font-weight:700;margin:0 0 16px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:4px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;box-sizing:border-box}.form-group textarea{min-height:60px;resize:vertical}.block-list{border:1px solid #e5e7eb;border-radius:10px;padding:10px;margin-bottom:14px}.block-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #f3f4f6;border-radius:8px;margin-bottom:8px;background:#fafafa}.block-item:last-child{margin-bottom:0}.block-item-content{flex:1}.block-item-type{font-size:10px;font-weight:600;text-transform:uppercase;color:#6b7280;margin-bottom:4px}.block-item-label{font-size:13px;font-weight:500;color:#111827}.block-item-actions{display:flex;gap:4px}.block-item-actions button{padding:4px;border:none;background:none;cursor:pointer;color:#9ca3af}.block-item-actions button:hover{color:#dc2626}.add-block-row{display:flex;gap:8px;align-items:center}.add-block-row select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:12px}.empty-state{text-align:center;padding:40px;color:#9ca3af}.empty-state p{font-size:14px;margin:8px 0}.block-config{padding:8px 0}.block-config .form-row{display:flex;gap:8px;margin-bottom:6px}.block-config .form-row input,.block-config .form-row select{flex:1;padding:6px 8px;font-size:12px}.block-config .form-row label{font-size:11px;color:#6b7280;min-width:60px;display:flex;align-items:center}.children-blocks{margin-left:20px;border-left:2px solid #297b8a;padding-left:12px;margin-top:8px}.sh-page{padding:24px;max-width:1200px}.sh-header{margin-bottom:20px}.sh-header h1{font-size:22px;font-weight:700;color:#111827;margin:0}.sh-cutoff-banner{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:14px 20px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.sh-cutoff-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151}.sh-cutoff-label{font-weight:500;color:#6b7280}.sh-cutoff-edit{display:flex;align-items:center;gap:8px}.sh-cutoff-select{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.sh-cutoff-edit-btn{padding:2px 10px;background:none;border:1px solid #93c5fd;border-radius:6px;font-size:12px;color:#2563eb;cursor:pointer;margin-left:8px}.sh-cutoff-edit-btn:hover{background:#dbeafe}.sh-cutoff-period{font-size:13px;color:#6b7280}.sh-period-range{margin-left:6px;font-size:12px;color:#9ca3af}.sh-ent-label{font-size:12px;color:#6b7280;margin-left:4px}.sh-tabs{display:flex;gap:4px;border-bottom:2px solid #e5e7eb;margin-bottom:20px}.sh-tab{padding:10px 20px;background:none;border:none;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;position:relative}.sh-tab.active{color:#297b8a;border-bottom-color:#297b8a;font-weight:600}.sh-tab:hover{color:#297b8a}.sh-tab-badge{display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 5px;margin-left:6px}.sh-toolbar{display:flex;gap:12px;margin-bottom:16px;align-items:center}.sh-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff;min-width:180px}.sh-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.sh-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.sh-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.sh-table tbody tr:hover{background:#f9fafb}.sh-table tfoot td{background:#f9fafb;border-top:2px solid #e5e7eb}.sh-role-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:#fff;text-transform:capitalize}.sh-role-badge[data-role=admin]{background:#7c3aed}.sh-role-badge[data-role=dentist]{background:#0891b2}.sh-role-badge[data-role=staff]{background:#6b7280}.sh-view-btn{padding:5px 14px;background:#297b8a;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.sh-view-btn:hover{background:#1e5f6c}.sh-back-btn{padding:6px 14px;background:none;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#374151;cursor:pointer;margin-bottom:16px}.sh-back-btn:hover{background:#f3f4f6}.sh-edit-btn{padding:4px 12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:12px;cursor:pointer}.sh-edit-btn:hover{background:#e5e7eb}.sh-save-btn{padding:4px 12px;background:#22c55e;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;margin-right:6px}.sh-cancel-btn{padding:4px 12px;background:none;border:1px solid #d1d5db;border-radius:6px;font-size:12px;cursor:pointer}.sh-leave-list{display:flex;flex-direction:column;gap:12px}.sh-leave-card{background:#fff;border-radius:10px;padding:16px 20px;box-shadow:0 1px 4px #0000000f;border:1px solid #e5e7eb}.sh-leave-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sh-leave-name{font-size:15px;margin-right:8px}.sh-status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:700;color:#fff;text-transform:capitalize}.sh-leave-detail{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.sh-leave-type{font-weight:600;color:#297b8a;font-size:13px}.sh-leave-dates{font-size:13px;color:#374151}.sh-leave-days{font-size:13px;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:8px}.sh-leave-reason{font-size:13px;color:#6b7280;margin:4px 0 0;font-style:italic}.sh-leave-reviewer{font-size:12px;color:#9ca3af;margin:4px 0 0}.sh-leave-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.sh-approve-btn{padding:7px 20px;background:#22c55e;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.sh-approve-btn:hover{background:#16a34a}.sh-reject-btn{padding:7px 20px;background:#fff;color:#ef4444;border:1px solid #ef4444;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.sh-reject-btn:hover{background:#fef2f2}.sh-ent-input{width:60px;padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;text-align:center}.sh-low{color:#ef4444;font-weight:700}.sh-info{font-size:13px;color:#6b7280;margin-bottom:16px}.sh-empty{text-align:center;color:#9ca3af;padding:40px 0;font-size:14px}.sh-subtitle{font-size:16px;font-weight:600;color:#374151;margin-bottom:16px}@media(max-width:768px){.sh-page{padding:16px}.sh-table{font-size:12px}.sh-table th,.sh-table td{padding:8px 10px}.sh-leave-detail{flex-direction:column;gap:4px}}.perf-page{padding:24px;max-width:1200px}.perf-header{margin-bottom:8px}.perf-header h1{font-size:22px;font-weight:700;color:#111827;margin:0}.perf-subtitle{font-size:14px;color:#6b7280;margin:4px 0 0}.perf-presets{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.perf-preset-btn{padding:6px 14px;border:1px solid #d1d5db;border-radius:20px;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s}.perf-preset-btn:hover{background:#f3f4f6;border-color:#9ca3af}.perf-preset-btn.active{background:#109eee;color:#fff;border-color:#109eee}.perf-filters{display:flex;gap:16px;margin-bottom:20px;align-items:flex-end;flex-wrap:wrap}.perf-filter-group{display:flex;flex-direction:column;gap:4px}.perf-filter-group label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.perf-input,.perf-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;min-width:160px}.perf-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}.perf-kpi{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000f;border:1px solid #e5e7eb;text-align:center}.perf-kpi-value{font-size:28px;font-weight:700;color:#111827}.perf-kpi-label{font-size:13px;color:#6b7280;margin-top:4px}.perf-kpi-detail{font-size:12px;color:#9ca3af;margin-top:4px}.perf-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000f;border:1px solid #e5e7eb;margin-bottom:20px}.perf-section-title{font-size:16px;font-weight:600;color:#374151;margin:0 0 16px;display:flex;align-items:center;justify-content:space-between}.perf-section-total{font-size:14px;font-weight:700;color:#059669;background:#ecfdf5;padding:4px 12px;border-radius:8px}.perf-bars{display:flex;flex-direction:column;gap:10px}.perf-bar-row{display:flex;align-items:center;gap:12px}.perf-bar-name{width:140px;font-size:13px;font-weight:500;color:#374151;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perf-bar-track{flex:1;height:24px;background:#f3f4f6;border-radius:6px;overflow:hidden}.perf-bar-fill{height:100%;border-radius:6px;transition:width .4s ease}.perf-bar-fill.high{background:#22c55e}.perf-bar-fill.mid{background:#f59e0b}.perf-bar-fill.low{background:#ef4444}.perf-bar-pct{width:45px;font-size:13px;font-weight:700;color:#374151;text-align:right}.perf-bar-time{width:40px;font-size:12px;color:#9ca3af;text-align:right}.perf-table{width:100%;border-collapse:collapse}.perf-table th{background:#f9fafb;padding:10px 14px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.perf-table td{padding:10px 14px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.perf-table tbody tr:hover{background:#f9fafb}.perf-table tfoot td{background:#f9fafb;border-top:2px solid #e5e7eb}.perf-time-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.perf-fee{font-weight:600;font-variant-numeric:tabular-nums}.perf-code{font-size:12px;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#6b7280}.perf-paid-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600}.perf-paid-badge.paid{background:#ecfdf5;color:#059669}.perf-paid-badge.unpaid{background:#fef2f2;color:#dc2626}.perf-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize;background:#f3f4f6;color:#6b7280}.perf-status.attended,.perf-status.completed,.perf-status.invoiced{background:#ecfdf5;color:#059669}.perf-status.booked,.perf-status.confirmed,.perf-status.active{background:#eff6ff;color:#2563eb}.perf-status.cancelled,.perf-status.failed{background:#fef2f2;color:#dc2626}.perf-status.arrived,.perf-status.in_surgery{background:#fefce8;color:#ca8a04}.perf-expandable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:8px}.perf-expandable:hover{color:#111827}.perf-expandable svg{flex-shrink:0}.perf-loading-inline{font-size:12px;color:#9ca3af;font-weight:400;margin-left:8px}.perf-empty{text-align:center;color:#9ca3af;padding:24px 0;font-size:14px}.perf-loading{text-align:center;color:#6b7280;padding:60px 0;font-size:14px}.perf-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#dc2626;font-size:14px;margin-bottom:16px}@media(max-width:768px){.perf-page{padding:16px}.perf-kpi-row{grid-template-columns:repeat(2,1fr)}.perf-bar-name{width:80px;font-size:12px}.perf-table{font-size:12px}.perf-table th,.perf-table td{padding:8px}.perf-presets{gap:6px}.perf-preset-btn{padding:5px 10px;font-size:12px}}.sv-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;animation:sv-fade-in .15s ease-out}@keyframes sv-fade-in{0%{opacity:0}to{opacity:1}}.sv-modal{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #0003;animation:sv-slide-in .2s ease-out}.sv-modal-wide{max-width:1000px;max-height:90vh}@keyframes sv-slide-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sv-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e5e7eb;gap:12px;flex-shrink:0}.sv-header-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.sv-doc-icon{width:40px;height:40px;border-radius:10px;background:#f0f9ff;color:#109eee;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sv-header-info{min-width:0}.sv-title{font-size:16px;font-weight:700;color:#111827;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-meta{font-size:12px;color:#6b7280;margin-top:2px}.sv-view-toggle{display:flex;background:#f3f4f6;border-radius:8px;padding:2px;gap:2px}.sv-toggle-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:none;border-radius:6px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s;white-space:nowrap}.sv-toggle-btn:hover{color:#374151}.sv-toggle-btn.active{background:#fff;color:#109eee;box-shadow:0 1px 3px #00000014}.sv-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.sv-action-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;white-space:nowrap}.sv-action-btn:hover{background:#f0f9ff;border-color:#109eee;color:#109eee}.sv-action-btn-primary{background:#109eee;color:#fff;border-color:#109eee}.sv-action-btn-primary:hover{background:#0d8bd4;color:#fff}.sv-share-wrapper{position:relative}.sv-share-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:10;min-width:180px;overflow:hidden}.sv-share-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;font-size:13px;color:#374151;cursor:pointer;text-align:left;transition:background .1s}.sv-share-menu button:hover{background:#f0f9ff;color:#109eee}.sv-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:#6b7280;cursor:pointer;transition:all .15s;flex-shrink:0}.sv-close-btn:hover{background:#f3f4f6;color:#111827}.sv-body{flex:1;overflow-y:auto;min-height:0}.sv-body::-webkit-scrollbar{width:6px}.sv-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sv-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.sv-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:#6b7280;font-size:14px}.sv-spinner{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:#109eee;border-radius:50%;animation:sv-spin .7s linear infinite}@keyframes sv-spin{to{transform:rotate(360deg)}}.sv-error{text-align:center;padding:40px 20px;color:#dc2626;font-size:14px}.sv-empty{text-align:center;padding:60px 20px;color:#9ca3af;font-size:14px}.sv-file-viewer{height:100%;display:flex;flex-direction:column}.sv-pdf-frame{width:100%;flex:1;min-height:600px;border:none;border-radius:0 0 16px 16px}.sv-image-container{display:flex;align-items:center;justify-content:center;padding:24px;min-height:300px}.sv-image{max-width:100%;max-height:70vh;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 4px 16px #0000001a}.sv-unsupported-preview{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 24px;text-align:center;color:#6b7280}.sv-unsupported-preview svg{color:#d1d5db}.sv-unsupported-preview p{font-size:15px;margin:0}.sv-unsupported-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}.sv-content{display:flex;flex-direction:column;gap:16px;padding:24px}.sv-chunk{border:1px solid #f3f4f6;border-radius:10px;overflow:hidden;transition:border-color .15s}.sv-chunk:hover{border-color:#e5e7eb}.sv-chunk-label{padding:6px 14px;background:#f9fafb;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #f3f4f6}.sv-chunk-text{padding:14px;font-size:14px;line-height:1.65;color:#1f2937;white-space:pre-wrap;word-break:break-word}.sv-chunk-image{border-color:#e0f0fc}.sv-chunk-image .sv-chunk-label{background:#f0f9ff;color:#109eee;display:flex;align-items:center;gap:6px}.sv-chunk-img-wrapper{padding:14px;display:flex;justify-content:center;background:#fafbfc;border-bottom:1px solid #f3f4f6}.sv-chunk-img{max-width:100%;max-height:400px;-o-object-fit:contain;object-fit:contain;border-radius:6px;box-shadow:0 2px 8px #00000014}@media(max-width:768px){.sv-overlay{padding:10px}.sv-modal,.sv-modal-wide{max-height:92vh;max-width:100%}.sv-header{padding:12px 16px;flex-wrap:wrap}.sv-header-actions{width:100%;justify-content:flex-end}.sv-action-btn span,.sv-toggle-btn span{display:none}.sv-action-btn{padding:8px}.sv-pdf-frame{min-height:400px}.sv-content{padding:16px}}.ha-page{display:flex;flex-direction:column;height:calc(100vh - 120px);max-width:860px;margin:0 auto;position:relative}.ha-topbar{display:flex;align-items:center;gap:8px;padding:8px 16px 0;flex-shrink:0}.ha-topbar-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s}.ha-topbar-btn:hover{background:#f0f9ff;border-color:#109eee;color:#109eee}.ha-new-chat-btn{margin-left:auto}.ha-history-backdrop{position:fixed;inset:0;background:#0000004d;z-index:300;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ha-history-drawer{position:fixed;top:0;left:0;bottom:0;width:320px;background:#fff;z-index:301;box-shadow:4px 0 24px #0000001f;display:flex;flex-direction:column;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.ha-history-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e5e7eb}.ha-history-header h3{font-size:16px;font-weight:600;color:#111827;margin:0}.ha-history-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#6b7280;cursor:pointer;transition:all .15s}.ha-history-close:hover{background:#f3f4f6;color:#111827}.ha-history-list{flex:1;overflow-y:auto;padding:8px}.ha-history-list::-webkit-scrollbar{width:4px}.ha-history-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.ha-history-empty{text-align:center;color:#9ca3af;font-size:14px;padding:40px 16px}.ha-history-item{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px 14px;background:transparent;border:none;border-radius:10px;cursor:pointer;text-align:left;transition:all .15s}.ha-history-item:hover{background:#f0f9ff}.ha-history-item.active{background:#e0f0fc}.ha-history-item-preview{font-size:13px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ha-history-item-time{font-size:11px;color:#9ca3af}.ha-messages-area{flex:1;overflow-y:auto;padding:24px 16px 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.ha-messages-area::-webkit-scrollbar{display:none}.ha-messages{display:flex;flex-direction:column;gap:4px;padding-bottom:24px}.ha-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px 40px;min-height:50vh;position:relative}.ha-welcome-glow{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;background:radial-gradient(circle,rgba(16,158,238,.08) 0%,transparent 70%);pointer-events:none}.ha-welcome-icon{display:flex;gap:4px;color:#109eee;margin-bottom:20px;animation:welcomePulse 2s ease-in-out infinite}@keyframes welcomePulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.ha-welcome-title{font-size:28px;font-weight:700;color:#111827;margin:0 0 8px;letter-spacing:-.5px}.ha-welcome-sub{font-size:15px;color:#6b7280;margin:0 0 40px;max-width:400px;line-height:1.5}.ha-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:480px}.ha-suggestion{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s;text-align:left}.ha-suggestion:hover{border-color:#109eee;background:#f0f9ff;transform:translateY(-1px);box-shadow:0 4px 12px #109eee1a}.ha-suggestion-icon{font-size:18px;flex-shrink:0}.ha-msg{display:flex;gap:10px;max-width:80%;animation:msgFadeIn .25s ease-out}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ha-msg-user{align-self:flex-end;flex-direction:row-reverse}.ha-msg-ai{align-self:flex-start}.ha-msg-avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:4px;background:#fff;border-radius:50%;border:1.5px solid #e5e7eb;box-shadow:0 1px 3px #0000000f;padding:5px}.ha-msg-avatar-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ha-msg-bubble{padding:12px 16px;border-radius:18px;line-height:1.5;position:relative;min-width:0;overflow:hidden}.ha-bubble-user{background:#109eee;color:#fff;border-bottom-right-radius:6px}.ha-bubble-ai{background:#f3f4f6;color:#1f2937;border-bottom-left-radius:6px}.ha-msg-text{font-size:14px;word-break:break-word;overflow-x:auto;max-width:100%}.ha-msg-user .ha-msg-text{white-space:pre-wrap}.ha-bubble-ai .ha-msg-text p{margin:0 0 8px}.ha-bubble-ai .ha-msg-text p:last-child{margin:0}.ha-bubble-ai .ha-msg-text h1,.ha-bubble-ai .ha-msg-text h2,.ha-bubble-ai .ha-msg-text h3{margin:12px 0 6px;font-weight:600;line-height:1.3}.ha-bubble-ai .ha-msg-text h1{font-size:16px}.ha-bubble-ai .ha-msg-text h2{font-size:15px}.ha-bubble-ai .ha-msg-text h3{font-size:14px}.ha-bubble-ai .ha-msg-text ul,.ha-bubble-ai .ha-msg-text ol{margin:4px 0 8px;padding-left:20px}.ha-bubble-ai .ha-msg-text li{margin:2px 0}.ha-bubble-ai .ha-msg-text strong{font-weight:600}.ha-bubble-ai .ha-msg-text code{background:#0000000f;padding:1px 5px;border-radius:4px;font-size:13px;font-family:SFMono-Regular,Menlo,monospace}.ha-bubble-ai .ha-msg-text pre{background:#1f2937;color:#e5e7eb;padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0;font-size:13px}.ha-bubble-ai .ha-msg-text pre code{background:none;padding:0;color:inherit}.ha-bubble-ai .ha-msg-text table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}.ha-bubble-ai .ha-msg-text th,.ha-bubble-ai .ha-msg-text td{border:1px solid #d1d5db;padding:6px 10px;text-align:left}.ha-bubble-ai .ha-msg-text th{background:#0000000a;font-weight:600}.ha-bubble-ai .ha-msg-text a{color:#109eee;text-decoration:underline}.ha-bubble-ai .ha-msg-text hr{border:none;border-top:1px solid #d1d5db;margin:10px 0}.ha-bubble-ai .ha-msg-text blockquote{border-left:3px solid #109EEE;margin:8px 0;padding:4px 12px;color:#4b5563}.ha-msg-actions{margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;gap:8px}.ha-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;color:#fff;background:#109eee;border:none;border-radius:8px;cursor:pointer;transition:background .15s;text-decoration:none}.ha-action-btn:hover{background:#0d8ad8}.ha-sources{margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.ha-sources-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:6px}.ha-sources-list{display:flex;flex-wrap:wrap;gap:6px}.ha-source-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;text-decoration:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;max-width:200px}.ha-source-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ha-source-chip:hover{background:#f0f9ff;border-color:#109eee;color:#109eee}.ha-source-chip svg{flex-shrink:0;color:#9ca3af}.ha-source-chip:hover svg{color:#109eee}.ha-msg-time{font-size:10px;margin-top:4px;opacity:.6}.ha-bubble-user .ha-msg-time{text-align:right}.ha-typing{display:flex;gap:10px;align-self:flex-start;padding:4px 0}.ha-typing-dots{display:flex;gap:4px;padding:14px 18px;background:#f3f4f6;border-radius:18px 18px 18px 6px}.ha-typing-dots span{width:8px;height:8px;border-radius:50%;background:#9ca3af;animation:typingBounce 1.2s ease-in-out infinite}.ha-typing-dots span:nth-child(2){animation-delay:.15s}.ha-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.ha-input-area{padding:0 16px 32px;flex-shrink:0}.ha-input-form{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:6px 6px 6px 8px;box-shadow:0 2px 12px #0000000f;transition:border-color .2s,box-shadow .2s}.ha-input-form:focus-within{border-color:#109eee;box-shadow:0 2px 16px #109eee1f}.ha-input{flex:1;border:none;outline:none;font-size:14px;padding:10px 8px;background:transparent;color:#1f2937;min-width:0}.ha-input::-moz-placeholder{color:#9ca3af}.ha-input::placeholder{color:#9ca3af}.ha-voice-btn,.ha-send-btn{width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.ha-voice-btn{background:transparent;color:#6b7280}.ha-voice-btn:hover{background:#f3f4f6;color:#374151}.ha-voice-btn.recording{background:#fee2e2;color:#dc2626;animation:voicePulseBtn 1.5s ease-in-out infinite}@keyframes voicePulseBtn{0%,to{box-shadow:0 0 #dc26264d}50%{box-shadow:0 0 0 8px #dc262600}}.ha-send-btn{background:#109eee;color:#fff}.ha-send-btn:hover:not(:disabled){background:#0d7fcc;transform:scale(1.05)}.ha-send-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:default}.ha-recording-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;margin-bottom:8px;background:linear-gradient(135deg,#fef2f2,#fff1f2);border:1px solid #fecaca;border-radius:16px;animation:recordBarIn .2s ease-out}@keyframes recordBarIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ha-recording-label{font-size:13px;font-weight:600;color:#dc2626}.ha-interim{flex:1;font-size:13px;color:#6b7280;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ha-stop-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#dc2626;color:#fff;border:none;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;flex-shrink:0}.ha-stop-btn:hover{background:#b91c1c}.ha-voice-pulse{display:flex;align-items:center;gap:3px;height:20px}.ha-voice-pulse span{width:3px;background:#dc2626;border-radius:2px;animation:voiceBar .8s ease-in-out infinite}.ha-voice-pulse span:nth-child(1){height:8px;animation-delay:0s}.ha-voice-pulse span:nth-child(2){height:14px;animation-delay:.1s}.ha-voice-pulse span:nth-child(3){height:20px;animation-delay:.2s}.ha-voice-pulse span:nth-child(4){height:14px;animation-delay:.3s}.ha-voice-pulse span:nth-child(5){height:8px;animation-delay:.4s}@keyframes voiceBar{0%,to{transform:scaleY(.5);opacity:.5}50%{transform:scaleY(1);opacity:1}}@media(max-width:768px){.ha-page{height:calc(100vh - 100px)}.ha-welcome{padding:40px 16px 24px;min-height:50vh}.ha-welcome-title{font-size:22px}.ha-welcome-sub{font-size:14px}.ha-suggestions{grid-template-columns:1fr;max-width:100%}.ha-msg{max-width:90%}.ha-input-area{padding:0 8px 24px}.ha-history-drawer{width:280px}.ha-topbar-btn span{display:none}.ha-topbar-btn{padding:8px}}.knowledge-page{padding:24px;max-width:1200px}.knowledge-header{margin-bottom:20px}.knowledge-header h1{font-size:22px;font-weight:700;color:#111827;margin:0}.knowledge-subtitle{font-size:14px;color:#6b7280;margin:4px 0 0}.knowledge-stats{display:flex;gap:16px;margin:16px 0 20px;flex-wrap:wrap}.knowledge-stat{background:#fff;border-radius:12px;padding:16px 24px;box-shadow:0 1px 4px #0000000f;border:1px solid #e5e7eb;text-align:center;min-width:140px;flex:1}.knowledge-stat-value{font-size:24px;font-weight:700;color:#111827}.knowledge-stat-label{font-size:12px;color:#6b7280;margin-top:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.knowledge-actions{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.knowledge-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.knowledge-btn-primary{background:#109eee;color:#fff}.knowledge-btn-primary:hover{background:#0d8bd4}.knowledge-btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.knowledge-btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.knowledge-search-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.knowledge-search-input{flex:1;padding:10px 14px 10px 38px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;outline:none;transition:border-color .15s}.knowledge-search-input:focus{border-color:#109eee}.knowledge-search-wrapper{position:relative;flex:1}.knowledge-search-wrapper svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.knowledge-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000f;border:1px solid #e5e7eb}.knowledge-section-title{font-size:16px;font-weight:600;color:#374151;margin:0 0 16px}.knowledge-table{width:100%;border-collapse:collapse}.knowledge-table th{background:#f9fafb;padding:10px 14px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.knowledge-table td{padding:12px 14px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151;vertical-align:middle}.knowledge-table tbody tr:hover{background:#f9fafb}.knowledge-doc-name{display:flex;align-items:center;gap:10px;font-weight:500}.knowledge-doc-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.knowledge-doc-icon.pdf{background:#fef2f2;color:#dc2626}.knowledge-doc-icon.doc{background:#eff6ff;color:#2563eb}.knowledge-doc-icon.sheet{background:#ecfdf5;color:#059669}.knowledge-doc-icon.image{background:#fefce8;color:#ca8a04}.knowledge-doc-icon.text{background:#f3f4f6;color:#6b7280}.knowledge-doc-icon.other{background:#f5f3ff;color:#7c3aed}.knowledge-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600}.knowledge-badge.upload{background:#eff6ff;color:#2563eb}.knowledge-badge.gdrive{background:#ecfdf5;color:#059669}.knowledge-chunk-count{font-variant-numeric:tabular-nums;font-weight:600;color:#6b7280}.knowledge-doc-name-btn{background:none;border:none;font-size:14px;font-weight:500;color:#374151;cursor:pointer;padding:0;text-align:left;transition:color .15s}.knowledge-doc-name-btn:hover{color:#109eee;text-decoration:underline}.knowledge-row-actions{display:flex;align-items:center;gap:4px}.knowledge-view-btn,.knowledge-delete-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:6px;border-radius:6px;transition:all .15s;display:flex;align-items:center}.knowledge-view-btn:hover{color:#109eee;background:#f0f9ff}.knowledge-delete-btn:hover{color:#dc2626;background:#fef2f2}.knowledge-empty{text-align:center;padding:60px 20px;color:#9ca3af}.knowledge-empty svg{margin-bottom:12px;color:#d1d5db}.knowledge-empty p{font-size:14px;margin:4px 0}.knowledge-empty p:first-of-type{font-size:16px;font-weight:600;color:#6b7280}.knowledge-loading{text-align:center;color:#6b7280;padding:60px 0;font-size:14px}.knowledge-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#dc2626;font-size:14px;margin-bottom:16px}.knowledge-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.knowledge-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;box-shadow:0 20px 60px #00000026;animation:knowledge-modal-in .2s ease}@keyframes knowledge-modal-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.knowledge-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.knowledge-modal-header h2{font-size:18px;font-weight:700;color:#111827;margin:0}.knowledge-modal-close{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:6px;display:flex}.knowledge-modal-close:hover{color:#374151;background:#f3f4f6}.knowledge-modal-body{padding:20px 24px 24px}.knowledge-dropzone{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s;background:#fafbfc}.knowledge-dropzone:hover,.knowledge-dropzone.drag-over{border-color:#109eee;background:#f0f9ff}.knowledge-dropzone svg{color:#9ca3af;margin-bottom:8px}.knowledge-dropzone.drag-over svg{color:#109eee}.knowledge-dropzone p{margin:4px 0;font-size:14px;color:#6b7280}.knowledge-dropzone p:first-of-type{font-weight:600;color:#374151}.knowledge-dropzone-hint{font-size:12px!important;color:#9ca3af!important}.knowledge-dropzone-btn{display:inline-block;margin-top:12px;padding:8px 20px;border-radius:8px;background:#109eee;color:#fff;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background .15s}.knowledge-dropzone-btn:hover{background:#0d8bd4}.knowledge-upload-progress{margin-top:16px}.knowledge-upload-file{display:flex;align-items:center;gap:10px;padding:12px;background:#f9fafb;border-radius:8px;margin-bottom:8px}.knowledge-upload-file-name{flex:1;font-size:13px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-upload-file-size{font-size:12px;color:#9ca3af}.knowledge-progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.knowledge-progress-fill{height:100%;background:#109eee;border-radius:3px;transition:width .3s ease}.knowledge-upload-success{margin-top:16px;padding:14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;display:flex;align-items:center;gap:10px;color:#059669;font-size:14px;font-weight:500}.knowledge-upload-error{margin-top:16px;padding:14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.knowledge-form-group{margin-bottom:16px}.knowledge-form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.knowledge-form-group input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}.knowledge-form-group input:focus{border-color:#109eee}.knowledge-form-hint{font-size:12px;color:#9ca3af;margin-top:4px}.knowledge-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.knowledge-sync-status{margin-top:16px;display:flex;align-items:center;gap:10px;font-size:14px;color:#6b7280}.knowledge-sync-status.success{color:#059669}.knowledge-spinner{width:18px;height:18px;border:2px solid #d1d5db;border-top-color:#109eee;border-radius:50%;animation:knowledge-spin .7s linear infinite}@keyframes knowledge-spin{to{transform:rotate(360deg)}}.knowledge-confirm{text-align:center;padding:8px 0}.knowledge-confirm p{font-size:14px;color:#374151;margin:0 0 8px}.knowledge-confirm-name{font-weight:600}.knowledge-confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.knowledge-btn-danger{background:#dc2626;color:#fff}.knowledge-btn-danger:hover{background:#b91c1c}@media(max-width:768px){.knowledge-page{padding:16px}.knowledge-stats{flex-direction:column}.knowledge-stat{min-width:auto}.knowledge-table-wrapper{overflow-x:auto}.knowledge-table{min-width:600px}.knowledge-modal{max-width:100%;margin:0 10px}}
