*,:before,:after,::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:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:root{--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-blue-900:#1e3a8a;--color-navy-700:#1e293b;--color-navy-800:#0f172a;--color-navy-900:#020617;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-900:#0f172a;--color-foot-left:#3b82f6;--color-foot-right:#22c55e;--color-success:#16a34a;--color-warning:#d97706;--color-error:#dc2626;--background:210 40% 98%;--foreground:221 39% 11%;--card:0 0% 100%;--card-foreground:221 39% 11%;--popover:0 0% 100%;--popover-foreground:221 39% 11%;--primary:221 83% 53%;--primary-foreground:0 0% 100%;--secondary:210 40% 96%;--secondary-foreground:221 39% 11%;--muted:210 40% 96%;--muted-foreground:215 16% 47%;--accent:210 40% 96%;--accent-foreground:221 39% 11%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:214 32% 91%;--input:214 32% 91%;--ring:221 83% 53%;--radius:.5rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-lg:0 4px 16px #0000001a, 0 2px 4px #0000000d;--shadow-xl:0 8px 40px #00000029, 0 2px 8px #0000000f;--nav-bg:var(--color-navy-800);--nav-text:var(--color-gray-400);--nav-text-hover:#cbd5e1;--nav-active-text:#fff;--nav-active-bg:#3b82f61f;--nav-active-border:var(--color-blue-500);--nav-border:#ffffff12;--nav-width:220px;--btn-primary-bg:var(--color-blue-600);--btn-primary-hover:var(--color-blue-700);--app-bg:var(--color-gray-100);--page-header-bg:#fff;--surface:#fff;--surface-2:var(--color-gray-50);--border-color:var(--color-gray-200);--card-radius:10px;--card-shadow:var(--shadow-md);--card-hover-shadow:var(--shadow-lg);--card-border:var(--color-gray-200)}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-right-1\.5{right:-.375rem}.-top-1\.5{top:-.375rem}.bottom-2{bottom:.5rem}.bottom-3{bottom:.75rem}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\.5{left:.375rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-5{right:1.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[200\]{z-index:200}.z-\[300\]{z-index:300}.z-\[400\]{z-index:400}.z-\[9999\]{z-index:9999}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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}.aspect-square{aspect-ratio:1}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-full{height:100%}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-72{max-height:18rem}.min-h-0{min-height:0}.min-h-\[52px\]{min-height:52px}.min-h-\[60px\]{min-height:60px}.min-h-\[64px\]{min-height:64px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-\[380px\]{width:380px}.w-\[420px\]{width:420px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-4{min-width:1rem}.min-w-\[130px\]{min-width:130px}.max-w-3xl{max-width:48rem}.max-w-\[100px\]{max-width:100px}.max-w-\[160px\]{max-width:160px}.max-w-\[220px\]{max-width:220px}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.list-disc{list-style-type:disc}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-blue-600{--tw-border-opacity:1;border-top-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/15{background-color:#00000026}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.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-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/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-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/25{background-color:#ffffff40}.bg-white\/90{background-color:#ffffffe6}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.from-blue-100{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:#dbeafe00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-200{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/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-current{color:currentColor}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/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-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/25{color:#ffffff40}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/65{color:#ffffffa6}.text-white\/75{color:#ffffffbf}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.accent-blue-600{accent-color:#2563eb}.opacity-0{opacity:0}.opacity-\[0\.04\]{opacity:.04}.opacity-\[0\.06\]{opacity:.06}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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-2xl{--tw-shadow:0 25px 50px -12px #00000040;--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)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 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-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--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(0px + 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)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);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)}.invert{--tw-invert:invert(100%);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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[appearance\:textfield\]{appearance:textfield}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-white\/40::placeholder{color:#fff6}.last\:border-0:last-child{border-width:0}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-black\/50:hover{background-color:#00000080}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-orange-500:hover{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.hover\:bg-primary\/5:hover{background-color:hsl(var(--primary) / .05)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-white\/90:hover{color:#ffffffe6}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.group\/node:hover .group-hover\/node\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:hsl(var(--primary))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=active\]\:bg-blue-50[data-state=active]{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[state\=active\]\:text-blue-600[data-state=active]{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[state\=active\]\:shadow-none[data-state=active]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}*{box-sizing:border-box;outline:none;margin:0;padding:0}:focus-visible{outline-offset:2px;outline:2px solid #2563eb}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;background:0 0;border:0 solid;padding:0}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:0 solid}body{color:#0f172a;-webkit-font-smoothing:antialiased;background:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif}.app{flex-direction:row;height:100vh;display:flex;overflow:hidden}.app-content{flex:1;min-width:0;display:flex;overflow:hidden}.left-nav{background:#0f172a;flex-direction:column;flex-shrink:0;width:220px;min-width:220px;display:flex}.left-nav-logo{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex}.app-title{color:#fff;letter-spacing:-.3px;font-size:16px;font-weight:700}.left-nav-menu{flex-direction:column;flex:1;padding:6px 0;display:flex}.nav-item{text-align:left;color:#94a3b8;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}.nav-item:hover{color:#cbd5e1;background:#ffffff0a}.nav-item.active{color:#fff;background:#3b82f61f;border-left-color:#3b82f6;font-weight:600}.left-nav-footer{border-top:1px solid #ffffff12;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.nav-username{color:#ffffff73;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.scanner-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.scanner-dot.connected{background:#4ade80}.scanner-dot.disconnected{background:#f87171}.scanner-dot.connecting{background:#fbbf24;animation:1.2s infinite pulse}.scanner-layout{background:#f1f5f9;flex:1;min-width:0;display:flex;overflow:hidden}.scanner-center{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.scanner-topbar{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;min-height:50px;padding:8px 16px;display:flex}.scan-main-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:8px 28px;font-size:14px;font-weight:700;transition:all .15s}.scan-main-btn:hover:not(:disabled){background:#1d4ed8}.scan-main-btn:disabled{opacity:.5;cursor:not-allowed}.scan-main-btn.scanning{background:#ea580c;animation:1s infinite pulse}.scan-params-panel{background:#f8fafc;border-left:1px solid #e2e8f0;flex-direction:column;width:420px;min-width:380px;display:flex;overflow-y:auto}.params-section{border-bottom:1px solid #e2e8f0;padding:12px 14px}.params-section:last-child{border-bottom:none}.params-section-title{text-transform:uppercase;color:#94a3b8;letter-spacing:.7px;margin-bottom:8px;font-size:10px;font-weight:700}.foot-side-row{gap:6px;display:flex}.foot-side-btn{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #e2e8f0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:7px 4px;font-size:13px;transition:all .15s;display:flex}.foot-side-btn input{display:none}.foot-side-btn.active{color:#2563eb;background:#dbeafe;border-color:#2563eb;font-weight:600}.foot-side-btn:hover:not(.active){background:#f1f5f9}.foot-size-row{align-items:center;gap:6px;display:flex}.foot-size-mm{color:#94a3b8;font-size:12px}.foot-size-ru{color:#2563eb;font-size:13px;font-weight:700}.diseases-list{flex-direction:column;gap:5px;display:flex}.disease-item{cursor:pointer;align-items:flex-start;gap:6px;font-size:12px;line-height:1.35;display:flex}.foot-column .disease-item{font-size:11.5px}.disease-item input{cursor:pointer;accent-color:#2563eb;flex-shrink:0;margin-top:2px}.new-patient-row{margin-top:6px}.field-input{background:#fafafa;border:1px solid #e2e8f0;border-radius:6px;padding:5px 8px;font-size:13px}.field-input:focus{border-color:#2563eb;outline:none}.patients-page{flex-direction:column;flex:1;display:flex;overflow:hidden}.patients-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px 12px;display:flex}.patients-title{color:#0f172a;font-size:20px;font-weight:700}.new-patient-form{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:8px;padding:10px 24px;display:flex}.patients-list{flex-direction:column;flex:1;gap:8px;padding:16px 24px;display:flex;overflow-y:auto}.patient-row{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;transition:box-shadow .15s,border-color .15s,transform .1s;display:flex;position:relative}.patient-row:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 16px #00000017}.patient-avatar{color:#2563eb;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;font-weight:700;display:flex}.patient-info{flex:1;min-width:0}.patient-name{color:#0f172a;font-size:14px;font-weight:600}.patient-meta{color:#94a3b8;margin-top:2px;font-size:12px}.patient-card-page{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.patient-card-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:14px;padding:14px 24px;display:flex}.patient-card-name{color:#0f172a;font-size:20px;font-weight:700}.patient-card-body{flex-direction:column;flex:1;display:flex;overflow-y:auto}.patient-card-top{flex-shrink:0;align-items:flex-start;gap:20px;padding:20px 24px 0;display:flex}.patient-scans-section{flex-shrink:0;padding:20px 24px}.patient-scans-title{color:#0f172a;margin-bottom:16px;font-size:16px;font-weight:600}.patient-scans-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.patient-info-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;flex:1;gap:12px;min-width:0;padding:16px 18px;display:flex;box-shadow:0 1px 3px #0000000d}.patient-info-card-header{justify-content:space-between;align-items:center;display:flex}.patient-info-card-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:700}.patient-info-list{flex-direction:column;gap:10px;display:flex}.patient-field-display{align-items:baseline;gap:8px;display:flex}.patient-field-label{color:#94a3b8;flex-shrink:0;width:110px;font-size:12px}.patient-field-value{color:#0f172a;word-break:break-word;font-size:13px}.patient-field-link{color:#2563eb;word-break:break-all;text-decoration:none}.patient-field-link:hover{text-decoration:underline}.patient-field-empty{color:#d1d5db;font-size:13px}.patient-info-form{flex-direction:column;gap:8px;display:flex}.patient-field-row{align-items:center;gap:8px;display:flex}.patient-field-row .admin-input{flex:1}.patient-field-row-actions{gap:6px;margin-top:4px;display:flex}.purchase-add-form{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:10px;display:flex}.purchases-empty{color:#d1d5db;padding:4px 0;font-size:13px}.purchases-list{flex-direction:column;gap:0;max-height:280px;display:flex;overflow-y:auto}.purchase-item{border-bottom:1px solid #f8fafc;align-items:center;gap:8px;padding:9px 0;display:flex}.purchase-item:last-child{border-bottom:none}.purchase-info{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.purchase-name{color:#0f172a;font-size:13px;font-weight:500}.purchase-price{color:#16a34a;font-size:13px;font-weight:600}.purchase-date{color:#94a3b8;font-size:12px}.foot-badge{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.foot-badge-left{background:#3b82f6}.foot-badge-right{background:#22c55e}.scan-diseases{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.disease-tag{color:#991b1b;background:#fee2e2;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-block}.settings-page{flex-direction:column;flex:1;display:flex;overflow:hidden}.settings-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:18px 24px 14px}.settings-title{color:#0f172a;font-size:20px;font-weight:700}.settings-body{flex-direction:column;flex:1;gap:20px;max-width:560px;padding:20px 24px;display:flex;overflow-y:auto}.settings-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d}.settings-card-title{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;font-size:12px;font-weight:700}.save-error{color:#ef4444;font-size:13px}.mock-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;margin-left:4px;display:flex}.mock-toggle input{display:none}.mock-toggle-track{background:#e2e8f0;border-radius:9px;flex-shrink:0;width:34px;height:18px;transition:all .2s;position:relative}.mock-toggle-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.mock-toggle-track.on{background:#f59e0b}.mock-toggle-track.on:after{left:18px}.mock-toggle-label{color:#94a3b8;font-size:12px;font-weight:500}.view-switcher{background:#1e293b;border-radius:8px;flex-shrink:0;gap:2px;padding:2px;display:flex}.view-btn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.view-btn.active{color:#fff;background:#2563eb}.view-btn:hover:not(.active):not(:disabled){color:#e2e8f0;background:#334155}.view-btn:disabled{opacity:.5;cursor:not-allowed}.view-loading-bar{background:linear-gradient(90deg,#2563eb 0%,#7c3aed 50%,#2563eb 100%) 0 0/200% 100%;flex-shrink:0;height:2px;animation:1s linear infinite view-load-anim}@keyframes view-load-anim{0%{background-position:200% 0}to{background-position:0 0}}.app-loading{color:#94a3b8;justify-content:center;align-items:center;height:100vh;font-size:16px;display:flex}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden auto}.sidebar-divider{background:#e2e8f0;height:1px}.main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.btn{cursor:pointer;border:none;border-radius:7px;align-items:center;gap:5px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-success{color:#fff;background:#16a34a}.btn-success:hover:not(:disabled){background:#15803d}.btn-outline{color:#fff;background:0 0;border:1px solid #ffffff59}.btn-outline:hover{background:#ffffff1a}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{color:#475569;background:0 0;border:1px solid #e2e8f0}.btn-ghost:hover{background:#f1f5f9}.btn-sm{border-radius:6px;padding:4px 10px;font-size:12px}.save-inline{align-items:center;gap:6px;display:flex}.save-input{color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;width:200px;padding:5px 10px;font-size:13px}.save-input::placeholder{color:#ffffff80}.save-input:focus{border-color:#fff9;outline:none}.scan-panel{padding:12px}.scan-panel h3{text-transform:uppercase;color:#94a3b8;letter-spacing:.6px;margin-bottom:10px;font-size:11px;font-weight:700}.connection-row{gap:6px;margin-bottom:8px;display:flex}.ip-input,.port-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:5px 8px;font-size:13px}.ip-input{flex:1}.port-input{width:70px}.ip-input:focus,.port-input:focus{border-color:#2563eb;outline:none}.status-badge{border-radius:10px;margin-bottom:8px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.status-badge.connected{color:#166534;background:#dcfce7}.status-badge.disconnected{color:#991b1b;background:#fee2e2}.status-badge.connecting{color:#92400e;background:#fef3c7}.field-row{align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.field-label{color:#64748b;flex-shrink:0;width:80px;font-size:12px}.field-select{text-overflow:ellipsis;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex:1;min-width:0;padding:5px 4px;font-size:12px;overflow:hidden}.field-select:focus{border-color:#2563eb;outline:none}.advanced-toggle{cursor:pointer;color:#2563eb;-webkit-user-select:none;user-select:none;border-top:1px solid #f1f5f9;align-items:center;gap:6px;margin-top:12px;padding:8px 0 4px;font-size:12px;font-weight:600;display:flex}.advanced-toggle:hover{color:#1d4ed8}.advanced-settings{flex-direction:column;gap:0;margin-top:8px;display:flex}.advanced-section-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px;font-size:11px;font-weight:700}.advanced-settings .field-label{width:200px}.toggle-switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:#cbd5e1;border-radius:20px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle-switch input:checked+.toggle-slider{background:#2563eb}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.scan-btn{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:8px;width:100%;margin-top:4px;padding:9px;font-size:14px;font-weight:700;transition:all .15s}.scan-btn:hover:not(:disabled){background:#1d4ed8}.scan-btn:disabled{opacity:.5;cursor:not-allowed}.scan-btn.scanning{background:#ea580c;animation:1s infinite pulse}.scan-progress{color:#64748b;text-align:center;margin-top:6px;font-size:12px}.scan-error{color:#dc2626;margin-top:6px;font-size:12px}.image-viewer{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.viewer-toolbar{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.toolbar-sep{background:#e2e8f0;width:1px;height:20px}.tool-btn{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:5px 10px;font-size:13px;transition:all .15s}.tool-btn:hover{background:#eff6ff;border-color:#2563eb}.tool-btn.active{color:#2563eb;background:#dbeafe;border-color:#2563eb;font-weight:600}.page-nav{color:#64748b;align-items:center;gap:6px;margin-left:auto;font-size:13px;display:flex}.page-btn{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:3px 8px;font-size:13px}.page-btn:disabled{opacity:.4;cursor:not-allowed}.viewer-canvas-area{background:#64748b;flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex;position:relative;overflow:hidden}.viewer-canvas-wrap{line-height:0;display:inline-block;position:relative;box-shadow:0 8px 32px #00000073}.viewer-img{width:auto;height:auto;display:block}.viewer-canvas{width:100%;height:100%;position:absolute;top:0;left:0}.viewer-canvas.measuring{cursor:crosshair}.viewer-canvas.select{cursor:default}.viewer-empty{color:#cbd5e1;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.viewer-empty-icon{font-size:56px}.viewer-empty-text{font-size:14px}.doc-list{padding:12px}.doc-list h3{text-transform:uppercase;color:#94a3b8;letter-spacing:.6px;margin-bottom:8px;font-size:11px;font-weight:700}.doc-list-empty{color:#cbd5e1;font-size:12px}.doc-item{border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:flex-start;margin-bottom:6px;padding:8px 10px;transition:box-shadow .15s;display:flex}.doc-item:hover{box-shadow:0 2px 8px #0000000f}.doc-item-info{cursor:pointer;flex:1;min-width:0}.doc-item-info:hover .doc-item-name{color:#2563eb}.doc-item-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.doc-item-meta{color:#94a3b8;margin-top:2px;font-size:11px}.doc-item-del{cursor:pointer;color:#cbd5e1;background:0 0;border:none;padding:0 0 0 6px;font-size:16px}.doc-item-del:hover{color:#dc2626}.doc-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.doc-overlay-window{background:#fff;border-radius:14px;min-width:420px;max-width:90vw;max-height:90vh;padding:20px;overflow:auto;box-shadow:0 8px 40px #0000002e}.doc-overlay-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.doc-overlay-title{color:#0f172a;font-size:16px;font-weight:600}.annotation-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}.annotation-table th,.annotation-table td{text-align:left;border:1px solid #e2e8f0;padding:6px 10px}.annotation-table th{color:#64748b;background:#f8fafc;font-weight:600}.doc-search{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;width:100%;margin-bottom:8px;padding:5px 8px;font-size:13px}.doc-search:focus{border-color:#2563eb;outline:none}.slider-wrap{flex:1;align-items:center;gap:6px;display:flex}.field-range{accent-color:#2563eb;cursor:pointer;flex:1;height:4px}.slider-val{color:#64748b;text-align:right;flex-shrink:0;width:30px;font-size:12px}.doc-preview-img{-o-object-fit:contain;object-fit:contain;border:1px solid #e2e8f0;border-radius:8px;max-width:100%;max-height:65vh;margin-bottom:12px;display:block}.app-nav{gap:4px;display:flex}.nav-btn{color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.nav-btn:hover{color:#fff;background:#ffffff1a}.nav-btn.active{color:#fff;background:#ffffff2e}.app-header-sub{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:8px;min-height:44px;padding:6px 14px;display:flex}.save-input-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;width:220px;padding:5px 10px;font-size:13px}.save-input-bar:focus{border-color:#2563eb;outline:none}.login-page{background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 50%,#0f172a 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:16px;width:380px;padding:40px 36px;box-shadow:0 24px 64px #00000059}.login-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:32px;display:flex}.login-logo-icon{background:#2563eb;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.login-logo-text{color:#0f172a;letter-spacing:-.5px;font-size:24px;font-weight:800}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:#475569;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.login-input{color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9px;padding:10px 14px;font-size:14px;transition:border-color .15s,background .15s,box-shadow .15s}.login-input:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.login-error{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;padding:9px 12px;font-size:13px}.login-btn{border-radius:9px;width:100%;margin-top:4px;padding:12px;font-size:15px;font-weight:700}.admin-page{flex:1;max-width:800px;padding:24px 28px;overflow-y:auto}.admin-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-title{color:#0f172a;font-size:20px;font-weight:700}.admin-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:20px;padding:14px;display:flex}.admin-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;min-width:140px;padding:7px 10px;font-size:13px;transition:border-color .15s}.admin-input:focus{border-color:#2563eb;outline:none}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;text-transform:uppercase;color:#94a3b8;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:9px 12px;font-size:11px;font-weight:700}.admin-table td{border-bottom:1px solid #f1f5f9;padding:10px 12px}.admin-table tr:hover td{background:#fafbfd}.admin-table tr:last-child td{border-bottom:none}.role-badge{border-radius:10px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.role-admin{color:#1d4ed8;background:#dbeafe}.role-employee{color:#166534;background:#dcfce7}.docs-page{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.docs-page-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px 14px;display:flex}.docs-page-title{color:#0f172a;font-size:20px;font-weight:700}.docs-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-content:start;gap:16px;padding:20px 24px;display:grid;overflow-y:auto}.docs-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:box-shadow .15s,border-color .15s,transform .1s;position:relative;overflow:hidden}.docs-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.docs-card-preview{background:#f1f5f9;justify-content:center;align-items:center;height:160px;display:flex;overflow:hidden}.docs-card-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.docs-card-info{padding:10px 12px}.docs-card-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.docs-card-meta{color:#94a3b8;margin-top:3px;font-size:11px}.docs-card-patient{color:#2563eb;margin-top:2px;font-size:11px;font-weight:500}.docs-empty{text-align:center;color:#cbd5e1;padding:40px;font-size:15px}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:56px 24px;display:flex}.empty-state-icon{background:#f1f5f9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:30px;display:flex}.empty-state-title{color:#334155;margin-bottom:2px;font-size:15px;font-weight:700}.empty-state-desc{color:#94a3b8;max-width:280px;font-size:13px;line-height:1.5}.empty-state-loading{color:#94a3b8;flex-direction:column;align-items:center;gap:10px;padding:40px;font-size:14px;display:flex}.empty-state-loading-spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.doc-modal-meta{color:#64748b;flex-wrap:wrap;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.doc-modal-patient{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.doc-modal-patient-label{color:#94a3b8;font-size:12px}.doc-modal-patient-name{color:#0f172a;flex:1;font-size:13px;font-weight:600}.sync-control{align-items:center;gap:8px;display:flex}.sync-badge{color:#2563eb;background:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:18px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-flex}.sync-result{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:12px}.sync-result-ok{color:#166534;background:#dcfce7}.sync-result-err{color:#991b1b;background:#fee2e2}.sync-dot{background:#22c55e;border:1px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;bottom:6px;right:6px}.foot-tabs{background:#f8fafc;border-bottom:2px solid #e2e8f0;display:flex}.foot-tab{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:8px 6px;font-size:12px;font-weight:600;transition:all .15s}.foot-tab:hover{color:#475569;background:#f1f5f9}.foot-tab.left.active{color:#2563eb;background:#fff;border-bottom-color:#2563eb}.foot-tab.right.active{color:#16a34a;background:#fff;border-bottom-color:#22c55e}.active-foot-indicator{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:700}.active-foot-indicator.foot-left{color:#2563eb;background:#dbeafe}.active-foot-indicator.foot-right{color:#16a34a;background:#dcfce7}.report-dot{cursor:pointer;opacity:.85;font-size:14px;line-height:1;position:absolute;top:6px;left:6px}.report-dot:hover{opacity:1;transform:scale(1.15)}.tool-btn-length.active{color:#1d4ed8;background:#eff6ff;border-color:#1d4ed8}.tool-btn-width.active{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.measured-row{justify-content:space-between;align-items:center;padding:3px 0;display:flex}.measured-label{color:#64748b;font-size:11px}.measured-value{font-size:13px;font-weight:700}.measured-length{color:#1d4ed8}.measured-width{color:#16a34a}.patient-search-wrap{position:relative}.patient-selected-chip{background:#dbeafe;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:flex}.patient-chip-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.patient-chip-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.patient-chip-link{cursor:pointer;color:#2563eb;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600;transition:all .15s}.patient-chip-link:hover{background:#2563eb14}.patient-chip-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1;transition:all .15s}.patient-chip-clear:hover{color:#dc2626}.patient-dropdown{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:10px;max-height:220px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 20px #0000001f}.patient-dropdown-item{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;transition:background .1s;display:flex}.patient-dropdown-item:hover{background:#eff6ff}.patient-dropdown-name{color:#0f172a;font-size:13px}.patient-dropdown-meta{color:#94a3b8;flex-shrink:0;font-size:11px}.patient-dropdown-empty{color:#cbd5e1;text-align:center;padding:12px;font-size:13px}.patient-dropdown-add{color:#2563eb;cursor:pointer;border-top:1px solid #e2e8f0;padding:8px 12px;font-size:13px;font-weight:500}.patient-dropdown-add:hover{background:#eff6ff}.insole-clear-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1;transition:all .15s;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.insole-clear-btn:hover{color:#dc2626}.field-textarea{resize:vertical;color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;width:100%;padding:7px 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.field-textarea:focus{border-color:#2563eb;outline:none}.scan-notes-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.scan-note-row{flex-direction:column;gap:2px;display:flex}.scan-note-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.scan-note-text{color:#334155;white-space:pre-wrap;font-size:13px}.admin-tabs{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:2px;margin-bottom:24px;padding-bottom:0;display:flex}.admin-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .15s}.admin-tab:hover{color:#2563eb}.admin-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:700}.catalog-add-row{align-items:center;gap:8px;margin-bottom:16px;display:flex}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-window{background:#fff;border-radius:16px;flex-direction:column;width:440px;max-width:95vw;display:flex;overflow:hidden;box-shadow:0 16px 48px #0003}.modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 22px 16px;display:flex}.modal-title{color:#0f172a;font-size:16px;font-weight:700}.modal-body{flex-direction:column;gap:14px;padding:18px 22px;display:flex}.modal-field{flex-direction:column;gap:5px;display:flex}.modal-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.modal-field .admin-input{width:100%}.modal-error{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2;border-radius:7px;padding:8px 12px;font-size:13px}.modal-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.topbar-patient-search{border-left:1px solid #e2e8f0;flex:1;align-items:center;gap:6px;min-width:0;max-width:380px;margin-left:4px;padding-left:14px;display:flex;position:relative}.topbar-patient-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;font-size:11px;font-weight:700}.topbar-patient-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex:1;min-width:0;padding:5px 10px;font-size:12.5px}.topbar-patient-input:focus{background:#fff;border-color:#2563eb;outline:none}.topbar-patient-chip{color:#0f172a;background:#dbeafe;border:1px solid #bfdbfe;border-radius:6px;flex:1;align-items:center;gap:6px;min-width:0;padding:4px 10px;font-size:12.5px;font-weight:600;display:flex}.topbar-patient-chip>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.topbar-patient-chip>button{cursor:pointer;color:#94a3b8;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.topbar-patient-chip>button:hover{color:#dc2626}.topbar-patient-drop{min-width:300px}.params-tabs{background:#f8fafc;border-bottom:2px solid #e2e8f0;flex-shrink:0;display:flex;overflow-x:auto}.params-tab{cursor:pointer;color:#94a3b8;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:9px 6px;font-size:11.5px;font-weight:600;transition:all .15s}.params-tab:hover{color:#475569;background:#f1f5f9}.params-tab.active{color:#2563eb;background:#fff;border-bottom-color:#2563eb}.params-tab-content{flex:1;min-height:0;overflow-y:auto}.params-patient-chip{background:#eff6ff;border-bottom:1px solid #bfdbfe;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:7px 14px;display:flex}.params-patient-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.feet-columns{gap:0;display:flex}.feet-columns-divider{background:#e2e8f0;flex-shrink:0;width:1px}.foot-column{flex-direction:column;flex:1;gap:8px;min-width:0;padding:10px 10px 14px;display:flex}.foot-column-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding-bottom:4px;display:flex}.foot-column-title{color:#0f172a;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.foot-column-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.foot-col-section{flex-direction:column;gap:4px;display:flex}.foot-col-section-diseases{flex:1}.foot-col-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.foot-size-input{width:68px!important}.foot-other-row{margin-top:3px}.foot-other-input{min-height:44px;margin-top:4px;font-size:12px!important}.checklist-wrap{flex-direction:column;gap:4px;display:flex}.checklist-search{background:#fff;border:1px solid #e2e8f0;border-radius:5px;width:100%;padding:4px 8px;font-size:12px}.checklist-search:focus{border-color:#2563eb;outline:none}.checklist-items{flex-direction:column;gap:2px;display:flex}.measured-mini{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.measured-chip{border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.measured-chip.measured-length{color:#1d4ed8;background:#dbeafe}.measured-chip.measured-width{color:#16a34a;background:#dcfce7}.products-section{background:#f8fafc;border-top:2px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:8px;padding:8px 12px 10px;display:flex}.products-group{flex-direction:column;gap:5px;display:flex}.products-group-header{align-items:center;gap:6px;display:flex}.products-group-title{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.products-group-count{color:#94a3b8;font-size:10px}.products-search{background:#fff;border:1px solid #e2e8f0;border-radius:5px;width:100px;margin-left:auto;padding:3px 8px;font-size:11px}.products-search:focus{border-color:#2563eb;outline:none}.products-scroll{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.products-scroll::-webkit-scrollbar{height:3px}.products-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.product-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;gap:3px;width:96px;padding:7px 6px;transition:all .15s;display:flex}.product-card:hover{border-color:#2563eb;box-shadow:0 2px 10px #2563eb1a}.product-card-img{background:#eff6ff;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.product-card-icon{font-size:20px}.product-card-name{color:#0f172a;text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.product-card-price{color:#16a34a;font-size:10.5px;font-weight:700}.foot-selector-overlay{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;border-radius:9px;gap:4px;padding:4px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.foot-sel-btn{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:2px solid #ffffff40;border-radius:6px;padding:5px 18px;font-size:12px;font-weight:600;transition:all .15s}.foot-sel-btn:hover{color:#fff;background:#fff3}.foot-sel-btn.active.left{color:#fff;background:#3b82f6;border-color:#3b82f6}.foot-sel-btn.active.right{color:#fff;background:#22c55e;border-color:#22c55e}.toolbar-group-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:10px;font-weight:700}.view-switcher-inline{background:#1e293b;border-radius:7px;gap:2px;padding:2px;display:flex}.viewer-canvas.crosshair{cursor:crosshair}.params-section{flex-direction:column;gap:6px;padding:10px 14px 14px;display:flex}.lab-page{background:#f1f5f9;flex-direction:column;flex:1;display:flex;overflow:hidden}.lab-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.lab-title{color:#0f172a;font-size:18px;font-weight:700}.lab-subtitle{color:#94a3b8;margin-top:2px;font-size:12px}.lab-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lab-status{white-space:nowrap;border-radius:12px;padding:3px 9px;font-size:11px;font-weight:600}.lab-status-connected{color:#166534;background:#dcfce7}.lab-status-disconnected{color:#991b1b;background:#fee2e2}.lab-status-connecting{color:#92400e;background:#fef3c7}.lab-presets{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:6px;padding:10px 20px;display:flex;overflow-x:auto}.lab-preset-card{cursor:pointer;text-align:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:90px;padding:8px 12px;transition:all .15s;display:flex}.lab-preset-card:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.lab-preset-card.active{background:#eff6ff;border-color:#2563eb}.lab-preset-card:disabled{opacity:.5;cursor:not-allowed}.lab-preset-icon{font-size:20px;line-height:1.2}.lab-preset-name{color:#0f172a;font-size:11px;font-weight:700}.lab-preset-desc{color:#94a3b8;margin-top:1px;font-size:9px;line-height:1.3}.lab-body{flex:1;display:flex;overflow:hidden}.lab-grid-area{flex:1;padding:16px;overflow-y:auto}.lab-grid-empty{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.lab-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.lab-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:all .15s;overflow:hidden}.lab-card:hover{border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 18px #2563eb1f}.lab-card-header{background:#f8fafc;border-bottom:1px solid #f1f5f9;align-items:center;gap:6px;padding:8px 10px;display:flex}.lab-card-icon{flex-shrink:0;font-size:16px;line-height:1}.lab-card-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.lab-card-ts{color:#94a3b8;flex-shrink:0;font-size:10px}.lab-card-del{cursor:pointer;color:#94a3b8;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1;transition:color .15s}.lab-card-del:hover{color:#dc2626}.lab-card-img-wrap{background:repeating-conic-gradient(#e2e8f0 0% 25%,#f8fafc 0% 50%) 0 0/12px 12px;justify-content:center;align-items:center;min-height:180px;max-height:260px;display:flex;overflow:hidden}.lab-card-desc{color:#64748b;padding:5px 8px 7px;font-size:10px;line-height:1.4}.lab-card-img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;max-height:260px;display:block}.lab-controls{background:#fff;border-left:1px solid #e2e8f0;flex-direction:column;gap:8px;width:240px;min-width:240px;padding:12px;display:flex;overflow-y:auto}.lab-ctrl-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.lab-ctrl-title{text-transform:uppercase;letter-spacing:.5px;color:#64748b;align-items:center;gap:6px;margin-bottom:6px;font-size:10px;font-weight:700;display:flex}.lab-ctrl-hint{color:#94a3b8;margin-bottom:10px;font-size:10px}.lab-wb-apply{justify-content:center;width:100%;margin-top:8px}.lab-ctrl-select{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:5px;flex:1;padding:2px 4px;font-size:11px}.lab-wb-saved-row{color:#475569;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:3px 0;font-size:11px;display:flex}.lab-wb-saved-row strong{color:#2563eb;font-weight:700}.lab-ctrl-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.lab-ctrl-row:last-child{margin-bottom:0}.lab-ctrl-label{color:#475569;min-width:70px;font-size:11px}.lab-ctrl-val{color:#2563eb;text-align:right;min-width:30px;font-size:11px;font-weight:700}.lab-slider{-webkit-appearance:none;cursor:pointer;background:#e2e8f0;border-radius:2px;outline:none;flex:1;height:4px}.lab-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#2563eb;border-radius:50%;width:14px;height:14px}.lab-toggle{cursor:pointer;flex-shrink:0;width:34px;height:18px;display:inline-block;position:relative}.lab-toggle input{opacity:0;width:0;height:0}.lab-toggle-track{background:#cbd5e1;border-radius:9px;transition:all .2s;position:absolute;inset:0}.lab-toggle-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:2px;left:2px}.lab-toggle input:checked+.lab-toggle-track{background:#2563eb}.lab-toggle input:checked+.lab-toggle-track:after{transform:translate(16px)}.lab-heatmap-legend{flex-wrap:wrap;gap:6px;margin-top:6px;font-size:10px;font-weight:600;display:flex}.lab-log{flex-direction:column;gap:2px;max-height:200px;font-family:monospace;font-size:10px;display:flex;overflow-y:auto}.lab-log-row{color:#475569;border-bottom:1px solid #f1f5f9;padding:2px 0}.lab-log-empty{color:#cbd5e1;font-size:11px}.lab-lightbox{z-index:300;background:#000000e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lab-lightbox-window{background:#1e293b;border-radius:12px;flex-direction:column;max-width:90vw;max-height:90vh;display:flex;overflow:hidden}.lab-lightbox-img-wrap{background:repeating-conic-gradient(#2d3748 0% 25%,#1e293b 0% 50%) 0 0/16px 16px;flex:1;justify-content:center;align-items:center;display:flex;overflow:auto}.lab-lightbox-header{color:#fff;background:#1e293b;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;font-weight:700;display:flex}.lab-lightbox-img{-o-object-fit:contain;object-fit:contain;max-width:90vw;max-height:calc(90vh - 48px);display:block}
