*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(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:rgba(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: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{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,pre,samp{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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:#fffaf5;--foreground:#1a1a1a;--card:#fff;--card-foreground:#2d2d2d;--primary:#b68d40;--primary-foreground:#fffaf0;--secondary:#f5e6d3;--secondary-foreground:#1a1a1a;--accent:#d4af37;--muted:#cbbda3;--border:#e5d7c3}@media (prefers-color-scheme:dark){:root{--background:#1a1a1a;--foreground:#f5e6d3;--card:#2b2b2b;--card-foreground:#f5e6d3;--primary:#d4af37;--primary-foreground:#1a1a1a;--secondary:#3a3a3a;--secondary-foreground:#f5e6d3;--accent:#f0c75e;--muted:#8c7a55;--border:#3d3d3d}}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-1{right:-.25rem}.left-1\/2{left:50%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-3{top:.75rem}.top-4{top:1rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.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-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[calc\(100\%-theme\(spacing\.32\)\)\]{height:calc(100% - 8rem)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-1\/3{width:33.333333%}.w-12{width:3rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[40px\]{width:40px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[200px\]{min-width:200px}.min-w-\[400px\]{min-width:400px}.max-w-2xl{max-width:42rem}.max-w-\[500px\]{max-width:500px}.max-w-\[750px\]{max-width:750px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.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{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.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*(1 - var(--tw-space-x-reverse)))}.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*(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*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.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-4{border-width:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/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-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-t-blue-600{--tw-border-opacity:1;border-top-color:rgb(37 99 235/var(--tw-border-opacity,1))}.bg-background{background-color:var(--background)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/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-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-opacity-35{--tw-bg-opacity:0.35}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/70{--tw-gradient-from:rgba(0,0,0,.7) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-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-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-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem}.pb-6,.py-6{padding-bottom:1.5rem}.pr-2{padding-right:.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.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-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.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-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/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-800{--tw-text-opacity:1;color:rgb(31 41 55/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-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/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-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-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[0_35px_35px_rgba\(0\2c 0\2c 0\2c 0\.25\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_35px_35px_rgba\(0\2c 0\2c 0\2c 0\.25\)\]{--tw-shadow:0 35px 35px rgba(0,0,0,.25);--tw-shadow-colored:0 35px 35px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{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 rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-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-opacity{transition-property:opacity;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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}body,input,select,textarea{background-color:var(--background);color:var(--foreground)}input,select,textarea{border-radius:.375rem;border-width:1px;border-color:var(--border)}input:focus,select:focus,textarea: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);--tw-ring-color:var(--primary)}#loading-spinner.htmx-request{display:block!important}.empty\:hidden:empty{display:none}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;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\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/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\:underline:hover{text-decoration-line:underline}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{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 rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-blue-800:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-400:disabled,.disabled\:hover\:bg-gray-400:hover:disabled{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.disabled\:hover\:shadow-md:hover:disabled{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(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)}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:shadow-\[0_0_25px_rgba\(0\2c 255\2c 0\2c 0\.5\)\]{--tw-shadow:0 0 25px rgba(0,255,0,.5);--tw-shadow-colored:0 0 25px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.sm\:w-1\/2{width:50%}}@media (min-width:768px){.md\:w-1\/2{width:50%}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-8{padding:2rem}.md\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:flex-row{flex-direction:row}.lg\:gap-12{gap:3rem}}@media (min-width:1536px){.\32xl\:w-1\/4{width:25%}}@media (prefers-color-scheme:dark){.dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.dark\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.dark\:hover\:shadow-lg:hover,.dark\:shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}}
/* --- kavore: власні класи поверх tailwind (адмінка, таблиці, кошик) --- */
/* Palette: cup sleeve — white paper, black type, gold script. */
:root{
  --background:#ffffff;
  --foreground:#1a1a1a;
  --card:#ffffff;
  --card-foreground:#1a1a1a;
  --brand:#1a1a1a;
  --primary:#1a1a1a;
  --primary-hover:#333333;
  --primary-foreground:#ffffff;
  --btn:#1a1a1a;
  --btn-hover:#333333;
  --btn-text:#ffffff;
  --btn-soft:#f6f5f2;
  --btn-soft-hover:#eceae4;
  --accent:#8a6a2f;
  --secondary:#f6f5f2;
  --secondary-foreground:#1a1a1a;
  --muted:#6b6560;
  --border:#eceae4;
}
@media (prefers-color-scheme:dark){
  :root{
    --background:#ffffff;
    --foreground:#1a1a1a;
    --card:#ffffff;
    --card-foreground:#1a1a1a;
    --brand:#1a1a1a;
    --primary:#1a1a1a;
    --primary-hover:#333333;
    --primary-foreground:#ffffff;
    --btn:#1a1a1a;
    --btn-hover:#333333;
    --btn-text:#ffffff;
    --btn-soft:#f6f5f2;
    --btn-soft-hover:#eceae4;
    --accent:#8a6a2f;
    --secondary:#f6f5f2;
    --secondary-foreground:#1a1a1a;
    --muted:#6b6560;
    --border:#eceae4;
  }
}
/* Фон сторінки магазину (components/base.html): фото bg.jpeg фіксоване за контентом,
   напівпрозоре — щоб контент залишався читабельним; в темній темі просто темніше. */
.bg-page{isolation:isolate;background:var(--background);min-height:100dvh;display:flex;flex-direction:column;overflow-x:clip}
.page-shell{width:100%;max-width:1280px;margin-inline:auto;flex:1 1 auto;display:flex;flex-direction:column;padding-inline:.5rem;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}
#main-container{flex:1 1 auto;width:100%}
.help-fab{
  position:fixed;
  z-index:25;
  right:max(1rem,env(safe-area-inset-right));
  bottom:max(1rem,env(safe-area-inset-bottom));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3.25rem;
  height:3.25rem;
  border-radius:999px;
  background:var(--btn);
  color:var(--btn-text);
  text-decoration:none;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.help-fab:hover{background:var(--btn-hover);color:var(--btn-text)}
.help-fab:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.help-fab svg{width:1.55rem;height:1.55rem;display:block}
.bg-page::before{content:none}
button{cursor:pointer;border:1px solid color-mix(in srgb,var(--btn) 55%,var(--border));border-radius:.625rem;padding:.5rem .875rem;background:var(--btn);color:var(--btn-text);font-size:.875rem;font-weight:600;box-shadow:none;transition:background .15s ease,border-color .15s ease}
button:hover:not(:disabled):not(.link):not(.header-action){background:var(--btn-hover);border-color:color-mix(in srgb,var(--btn-hover) 60%,var(--border))}
button:active:not(:disabled):not(.link):not(.header-action){transform:translateY(1px)}
button.link{background:none;color:inherit;padding:0;text-decoration:underline;border:0}
button.danger{background:#e8a0a0;border-color:#d08080;color:#4a1515}
button.danger:hover{background:#de8e8e}
/* Header: icon/text actions — no solid CTA fill, no bar background */
.site-header{
  margin-inline:-.5rem;
  padding:.35rem .5rem .65rem;
  transition:background .2s ease,box-shadow .2s ease;
}
.site-header.is-scrolled{
  background:color-mix(in srgb,var(--background) 62%,transparent);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
  backdrop-filter:blur(18px) saturate(1.25);
  box-shadow:0 1px 0 color-mix(in srgb,var(--border) 65%,transparent);
}
.site-header .header-action,
.site-header .search-clear,
.site-header .search-pill input{
  box-shadow:none;
}
button.header-action{background:transparent;border-color:transparent;color:var(--brand);box-shadow:none}
.site-header .header-action,
.site-header #cart-button{
  display:inline-flex;
  align-items:center;
  background:transparent;
  border:1px solid transparent;
  color:var(--brand);
  padding:.45rem .55rem;
  border-radius:.625rem;
  font-weight:600;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.site-header .header-action:hover,
.site-header #cart-button:hover,
.site-header button.header-action:hover{
  background:var(--btn-soft);
  border-color:var(--border);
  color:var(--brand);
}
.site-header .search-clear{
  background:transparent;
  border:0;
  border-left:1px solid var(--border);
  border-radius:0;
  color:var(--muted);
  box-shadow:none;
}
.site-header .search-clear:hover:not(:disabled){
  background:var(--btn-soft);
  color:var(--brand);
}
.header-lang{display:inline-flex;flex-shrink:0;margin:0;min-width:0}
.header-lang-select{
  width:auto;min-width:0;max-width:3.4rem;margin:0;padding:.42rem 1.2rem .42rem .5rem;
  font-size:.82rem;font-weight:600;line-height:1;color:var(--brand);
  border:1px solid transparent;border-radius:.5rem;background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%235c4033' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .35rem center;background-size:.55rem .35rem;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease;
}
.header-lang-select:hover{background-color:var(--btn-soft);border-color:color-mix(in srgb,var(--btn-hover) 60%,var(--border))}
.header-lang-select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
input,textarea,select{font:inherit;padding:.5rem;width:100%}
label{display:block;margin:.625rem 0 .25rem;font-weight:600}
form.inline{display:inline}
table{width:100%;border-collapse:collapse;background:var(--card);border-radius:.75rem;overflow:hidden;margin-top:1rem}
table.order-list{border-radius:0;overflow:visible;background:transparent;margin-top:0}
th,td{padding:.5rem .625rem;text-align:left;border-bottom:1px solid var(--border)}
.muted{color:var(--muted)}
.error{background:#ffe3e3;border:1px solid #c23636;color:#7c1d1d;padding:1rem;border-radius:.75rem}
ul.lines{list-style:none;padding:0}
ul.lines li{padding:.375rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:.5rem;align-items:center}
/* Список замовлень: рамка й скруглення на оболонці, прокрутка всередині */
.order-table-shell{border:1px solid var(--border);border-radius:.75rem;background:var(--card);overflow:hidden;max-width:100%}
.order-table-shell--lg{border-radius:1rem}
.order-list-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
table.order-list{min-width:36rem}
table.order-list tbody.order-group tr.order-detail-row td{background:var(--secondary);border-bottom:1px solid var(--border)}
table.order-list tbody.order-group:last-child tr:last-child td{border-bottom:0}
.order-expand-slot{padding:.75rem 1rem;background:var(--secondary)}
.order-expand-panel{min-width:min(100%,20rem);max-width:none}
.order-expand-meta{margin:0 0 .5rem;font-size:.875rem}
.order-expand-more{margin:.75rem 0 0}
.order-items-box{border:1px solid var(--border);border-radius:.75rem;background:var(--card);padding:1rem 1.25rem;overflow:hidden;max-width:100%}
.order-items-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
ul.order-items-lines{min-width:18rem;margin:0;padding:0}
ul.order-items-lines li{min-width:max(100%,16rem);gap:1rem}
ul.order-items-lines li:last-child{border-bottom:0}
.order-item-name{flex:1 1 auto;min-width:0;white-space:nowrap}
.order-item-sum{flex:0 0 auto;white-space:nowrap;font-weight:600}
button.order-toggle{background:var(--secondary);color:var(--foreground);padding:.25rem .5rem;font-size:.75rem;line-height:1;min-width:1.75rem;border-radius:.375rem}
button.order-toggle:hover{opacity:.85}
/* Хронологія замовлення: статус — дата/час — автор кожної дії */
ul.timeline{list-style:none;margin:1rem 0;padding:0 0 0 1rem;border-left:2px solid var(--border)}
ul.timeline li{position:relative;padding:.5rem 0;display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;flex-wrap:wrap}
ul.timeline li::before{content:"";position:absolute;left:calc(-1rem - 5px);top:1.05rem;width:8px;height:8px;border-radius:50%;background:var(--primary)}
.badge{display:inline-block;font-size:.75rem;padding:.125rem .5rem;border-radius:9999px;background:var(--secondary);color:var(--secondary-foreground);font-weight:600}
.badge.out{background:#e6e6ee;color:#666}
.chip{display:inline-block;background:var(--card);border:1px solid var(--border);border-radius:9999px;padding:.375rem .875rem;margin:0 .375rem .5rem 0;text-decoration:none;color:var(--foreground)}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;margin-top:1rem}
@media(max-width:700px){.detail{grid-template-columns:1fr}}
.detail img{width:100%;border-radius:1rem}
/* Сторінка товару */
.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start;margin-top:1.5rem}
/* @media(min-width:1100px){.product-detail{grid-template-columns:minmax(0,28rem) minmax(0,1fr)}} */
@media(max-width:768px){.product-detail{grid-template-columns:1fr;gap:1.5rem}}
.product-media{width:100%;min-width:0;max-width:100%}
@media(min-width:1100px){.product-media{max-width:32rem}}
.product-media img{display:block;width:100%;max-width:100%;height:auto;border-radius:1.25rem;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.product-placeholder{width:100%;aspect-ratio:1/1;border-radius:1.25rem;background-size:cover;background-position:center}
.product-info{display:flex;flex-direction:column;gap:1.1rem}
.product-name{margin:0;font-size:2.25rem;line-height:1.15;font-weight:800;letter-spacing:-.01em;color:var(--foreground)}
@media(max-width:700px){.product-name{font-size:1.75rem}}
.product-panel{display:flex;flex-direction:column;gap:1.15rem}
.product-prices{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin:0}
.product-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .75rem}
.product-price-hero{font-size:2.65rem;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--accent)}
.product-price-hero.is-sale{color:#4ade80}
@media(max-width:700px){.product-price-hero{font-size:2.25rem}}
.product-price-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .5rem;margin:0}
.product-price-net{font-size:.95rem;font-weight:600;color:var(--muted)}
.product-price-vat-label{font-size:.88rem;font-weight:600;color:var(--muted);white-space:nowrap}
.product-old{font-size:1.15rem;font-weight:600;color:var(--muted);text-decoration:line-through}
.product-old--sub{font-size:.88rem;font-weight:600}
.product-stock{margin:0;font-size:1.1rem;color:var(--foreground)}
.product-description{font-size:1.125rem;line-height:1.7;color:var(--foreground);white-space:pre-wrap}
.product-buy{display:flex;flex-direction:column;gap:1rem;margin:0}
.product-buy-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.product-qty{display:flex;flex-direction:column;gap:.4rem}
.product-qty label{margin:0;font-size:1rem;font-weight:700;color:var(--foreground)}
.product-qty input{width:8rem;font-size:1.1rem;padding:.6rem .75rem}
.product-add-btn{width:100%;font-size:1.15rem;font-weight:600;padding:.9rem 2rem;border-radius:.75rem;background:var(--btn);color:var(--btn-text);border:1px solid color-mix(in srgb,var(--btn) 55%,var(--border));transition:background .15s ease,border-color .15s ease}
.product-add-btn:hover{background:var(--btn-hover);opacity:1}
.mt-4{margin-top:1rem}
/* Адмінський сайдбар: на всю висоту екрана (зверху до низу), унизу — вихід;
   на мобільному — шторка, що висувається ліворуч. */
.admin-overlay{position:fixed;inset:0;z-index:30;display:none;background:rgba(0,0,0,.5)}
.admin-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:40;width:14rem;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--card);transform:translateX(0);transition:transform .2s ease}
.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--border);background:var(--card)}
.admin-topbar-spacer{flex:1;min-width:0}
.admin-auth-screen{position:relative}
.admin-auth-lang{position:absolute;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:2}
.admin-sidebar .header-lang-select{max-width:3.2rem}
.admin-topbar-button{padding:0 .5rem;font-size:1.5rem;line-height:1.4}
.admin-main{padding:1.5rem;min-width:0;overflow-x:clip}
.admin-logout{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border)}
.admin-sidebar-close{display:none;padding:0 .5rem;font-size:1.5rem;line-height:1}
.admin-page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.admin-head-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.admin-head-action--secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}
.admin-head-action--secondary:hover{background:var(--card);opacity:.85}
.admin-page-head h1{font-size:1.5rem;font-weight:700;margin:0}
.settings-countries{margin:0 0 1rem}
.settings-countries th,.settings-countries td{padding:.4rem .5rem;text-align:left;vertical-align:middle}
.settings-countries .fee-input{max-width:6rem}
.settings-add-country{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.5rem}
.settings-add-country select{min-width:12rem}
.admin-head-action{flex-shrink:0;padding:.5rem 1rem;border-radius:.75rem;font-weight:600;font-size:.875rem;background:var(--btn);color:var(--btn-text);border:1px solid color-mix(in srgb,var(--btn) 55%,var(--border));cursor:pointer}
.admin-head-action:hover{background:var(--btn-hover);opacity:1}
.admin-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.5rem}
@media (min-width:768px){.admin-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}
.admin-stat-card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1rem 1.1rem}
.admin-stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .35rem}
.admin-stat-value{font-size:1.35rem;font-weight:800;line-height:1.2;margin:0;color:var(--foreground)}
.admin-stat-hint{font-size:.75rem;color:var(--muted);margin:.35rem 0 0;line-height:1.35}
.admin-stat-slot{min-height:4.25rem}
@media (min-width:768px){.admin-topbar{display:none}.admin-main{margin-left:14rem;padding:1.5rem}}
@media (max-width:767.98px){
  .admin-sidebar{width:min(85vw,20rem);transform:translateX(-100%)}
  .admin-sidebar.open{transform:translateX(0)}
  .admin-sidebar-close{display:block}
  .admin-overlay.open{display:block}
  .admin-main{padding:.75rem .75rem 1.5rem;min-height:calc(100vh - 3rem)}
  .admin-topbar{padding:.625rem .75rem;padding-top:max(.625rem,env(safe-area-inset-top));padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}
  .admin-page-head{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}
  .admin-page-head h1{font-size:1.25rem;line-height:1.3;margin:0}
  .admin-page-head .admin-head-action{align-self:stretch;text-align:center;padding:.65rem 1rem;font-size:.9375rem}
  .admin-main>.text-2xl{font-size:1.25rem;margin-bottom:.75rem}
  .admin-order-meta{display:flex;flex-direction:column;gap:.35rem;line-height:1.45}
  .admin-order-id{word-break:break-all}
  .admin-main .timeline li{flex-direction:column;align-items:flex-start;gap:.2rem}
  .admin-main .ui-btn-row.admin-actions{gap:.5rem}
  .admin-auth-screen{min-height:100dvh;padding:1rem;padding-top:max(2rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));align-items:flex-start}
  .admin-auth-screen>.bg-card{padding:1.5rem 1.25rem;margin-top:auto;margin-bottom:auto;width:100%}
  .admin-main .p-10{padding:1.75rem 1rem}
  .popup-panel{max-height:90dvh;overflow:hidden;display:flex;flex-direction:column;width:min(94vw,460px)}
  .popup-body{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}
}
/* Утиліти теми, яких не було в зібраному CSS */
.bg-card{background-color:var(--card)}
.bg-secondary{background-color:var(--secondary)}
.hover\:bg-secondary:hover{background-color:var(--secondary)}
/* Права панель (додати/редагувати): на всю висоту, ширша за ліву, висувається праворуч */
.admin-panel-overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.5)}
.admin-panel{position:fixed;top:0;right:0;bottom:0;z-index:41;width:28rem;max-width:100%;display:flex;flex-direction:column;background:var(--card);border-left:1px solid var(--border);animation:admin-panel-in .15s ease}
@keyframes admin-panel-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
.admin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}
button.admin-panel-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.75rem;height:2.75rem;margin:-.35rem -.4rem -.35rem 0;padding:0;background:transparent;color:var(--muted);border:none;border-radius:999px;box-shadow:none}
button.admin-panel-close svg{width:1.35rem;height:1.35rem}
button.admin-panel-close:hover:not(:disabled):not(.link){background:var(--secondary);color:var(--foreground);border:none}
.admin-panel-body{padding:1.25rem;overflow-y:auto;flex:1}
@media (max-width:767.98px){.admin-panel{width:100%}}
.pay-choice{border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;margin:1rem 0}
.pay-choice legend{font-weight:600;padding:0 .25rem}
.pay-option{display:flex;align-items:center;gap:.5rem;font-weight:500;margin:.4rem 0}
.pay-option input{width:auto}
.panel-submit{position:relative}
.company-add-form .panel-submit,.popup-form.company-add-form .panel-submit{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;max-width:100%}
.company-add-form .panel-submit>button{width:100%}
.company-add-form .panel-error,.inline-form .panel-error{position:relative;left:auto;right:auto;bottom:auto;margin-bottom:.7rem}
.inline-form .panel-submit{display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%}
.panel-error{
  position:absolute;
  left:0;
  right:0;
  bottom:calc(100% + .6rem);
  z-index:5;
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  padding:.65rem .5rem .65rem .75rem;
  border-radius:.625rem;
  background:#dc2626;
  color:#fff;
  font-size:.875rem;
  line-height:1.35;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  animation:panel-error-in .16s ease;
}
.panel-error::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%);
  border:7px solid transparent;
  border-top-color:#dc2626;
}
.panel-error svg{width:1.1rem;height:1.1rem;flex:0 0 auto;margin-top:.05rem}
.panel-error-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.panel-error-close{flex:0 0 auto;background:transparent;color:#fff;padding:0 .3rem;font-size:1.15rem;line-height:1;border-radius:.375rem;opacity:.85}
.panel-error-close:hover{opacity:1;background:rgba(255,255,255,.15)}
@keyframes panel-error-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.h-28{height:7rem}
/* Автодоповнення товару (рядки накладної) */
.admin-form-hint{margin:0 0 .75rem;font-size:.875rem;line-height:1.45;color:var(--muted)}
.admin-form-hint-muted{font-weight:400;opacity:.92}
.receipt-section{margin:0;padding:0;border:0}
.receipt-section+.receipt-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.receipt-section-title{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:var(--foreground)}
#modals-container:has(.receipt-form) .admin-panel{width:min(100%,44rem)}
#modals-container:has(.receipt-detail-table) .admin-panel{width:min(100%,36rem)}
.admin-img-thumb{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;padding:0;border:1px solid var(--border);border-radius:.65rem;background:var(--secondary);cursor:pointer;overflow:hidden;box-shadow:none}
.admin-img-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.admin-img-thumb:hover{border-color:var(--primary)}
.admin-img-placeholder{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;color:var(--muted);font-size:.95rem}
.image-lightbox-root{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));pointer-events:none}
.image-lightbox-root:empty{display:none}
.image-lightbox-root:not(:empty){pointer-events:auto}
.image-lightbox-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);animation:popup-fade .15s ease}
.image-lightbox-panel{position:relative;z-index:1;margin:0;max-width:min(92vw,560px);max-height:min(88vh,720px);display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1.35rem 1.1rem;background:var(--card);border:1px solid var(--border);border-radius:1rem;box-shadow:0 24px 70px rgba(0,0,0,.45);animation:popup-fade .18s ease}
.image-lightbox-panel .image-lightbox-img{max-width:100%;max-height:min(72vh,640px);width:auto;height:auto;object-fit:contain;border-radius:.65rem}
.image-lightbox-caption{margin:0;font-size:.95rem;font-weight:600;text-align:center;color:var(--foreground)}
button.image-lightbox-close{position:absolute;top:.65rem;right:.65rem;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:var(--card);color:var(--muted);font-size:1.5rem;line-height:1;border:1px solid var(--border);border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.12);cursor:pointer}
button.image-lightbox-close:hover{background:var(--secondary);color:var(--foreground)}
.receipt-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem;margin:0 0 1.25rem;font-size:.95rem}
.receipt-meta-grid dt{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.receipt-meta-grid dd{margin:.15rem 0 0}
.receipt-meta-wide{grid-column:1/-1}
.receipt-lines-cell{max-width:18rem;line-height:1.35}
/* Списки адмінки: таблиця на ширину картки, зайві колонки скроляться всередині,
   на вузькому екрані рядок стає карткою. Заголовки з data-sort клікабельні. */
.admin-data{max-width:100%;min-width:0}
.admin-data-scroll{
  overflow:auto;
  max-height:calc(100dvh - 11rem);
  border:1px solid var(--border);
  border-radius:1rem;
  background:var(--card);
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.admin-data--embed .admin-data-scroll{max-height:none}
.admin-data table{
  width:max-content;
  min-width:100%;
  margin:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  border-collapse:separate;
  border-spacing:0;
}
.admin-data thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:.7rem 1rem;
  background:color-mix(in srgb, var(--secondary) 78%, var(--card));
  color:var(--muted);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
  text-align:left;
  border-bottom:1px solid var(--border);
  box-shadow:0 1px 0 var(--border);
}
.admin-data tbody td{
  padding:.75rem 1rem;
  vertical-align:middle;
  text-align:left;
  border-bottom:1px solid color-mix(in srgb, var(--border) 85%, transparent);
  background:var(--card);
}
.admin-data tbody tr:last-child > td{border-bottom:0}
.admin-data tbody tr:hover > td{background:color-mix(in srgb, var(--secondary) 42%, var(--card))}
.admin-data table.order-list tbody.order-group tr.order-detail-row > td,
.admin-data table.order-list tbody.order-group tr.order-detail-row:hover > td{
  background:var(--secondary);
  border-bottom:1px solid var(--border);
}
.admin-data td.cell-clip{white-space:normal;min-width:9rem;max-width:18rem;line-height:1.35}
.admin-data td.cell-num,
.admin-data th.cell-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.admin-data td.cell-nowrap{white-space:nowrap}
.admin-data th.col-end,
.admin-data td.col-end{width:1%;text-align:right;white-space:nowrap}
.admin-data thead button.col-sort{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin:0;
  padding:0;
  border:0;
  border-radius:.35rem;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  line-height:inherit;
  box-shadow:none;
  cursor:pointer;
}
.admin-data thead button.col-sort:hover:not(:disabled):not(.link),
.admin-data thead button.col-sort:focus-visible{
  background:transparent;
  border:0;
  color:var(--foreground);
  opacity:1;
}
.admin-data thead button.col-sort:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.col-sort-mark{display:inline-flex;flex-direction:column;gap:1px;flex:0 0 auto}
.col-sort-mark::before,
.col-sort-mark::after{
  content:"";
  display:block;
  width:0;
  height:0;
  border-left:3.5px solid transparent;
  border-right:3.5px solid transparent;
  opacity:.35;
}
.col-sort-mark::before{border-bottom:4px solid currentColor}
.col-sort-mark::after{border-top:4px solid currentColor}
.admin-data th[aria-sort="ascending"] .col-sort-mark::before,
.admin-data th[aria-sort="descending"] .col-sort-mark::after{opacity:1}
.admin-data th[aria-sort] button.col-sort{color:var(--foreground)}
.status-pill{
  display:inline-flex;
  align-items:center;
  padding:.15rem .55rem;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  line-height:1.3;
  white-space:nowrap;
  background:var(--secondary);
  color:var(--foreground);
}
.status-new{background:color-mix(in srgb, #d4af37 32%, var(--card))}
.status-send{background:color-mix(in srgb, #6ea8fe 28%, var(--card))}
.status-taken{background:color-mix(in srgb, #3ddc97 26%, var(--card))}
.status-cancelled,.status-rejected{background:color-mix(in srgb, #f0a0a0 32%, var(--card))}
.settings-countries thead th{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
  background:color-mix(in srgb, var(--secondary) 70%, var(--card));
}
@media (max-width:767.98px){
  .admin-data-scroll{max-height:none;overflow:visible;border:0;border-radius:0;background:transparent}
  .admin-data:not([data-sortable]) thead{display:none}
  .admin-data table,
  .admin-data table.order-list,
  .admin-data thead,
  .admin-data tbody,
  .admin-data tr{display:block;width:auto;min-width:0}
  .admin-data thead{
    position:sticky;
    top:calc(env(safe-area-inset-top) + 2.85rem);
    z-index:5;
    margin:0 0 .65rem;
    padding:.35rem 0;
    background:var(--background);
  }
  .admin-data thead tr{display:flex;flex-wrap:wrap;gap:.35rem}
  .admin-data thead th{
    position:static;
    padding:0;
    border:0;
    box-shadow:none;
    background:transparent;
  }
  .admin-data thead th.col-end,
  .admin-data thead th.cell-toggle{display:none}
  .admin-data thead button.col-sort,
  .admin-data thead button.col-sort:hover:not(:disabled):not(.link){
    padding:.4rem .7rem;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--card);
    color:var(--muted);
  }
  .admin-data thead th[aria-sort] button.col-sort,
  .admin-data thead th[aria-sort] button.col-sort:hover:not(:disabled):not(.link){
    color:var(--foreground);
    border-color:var(--primary);
    background:var(--btn-soft);
  }
  .admin-data tbody tr{
    display:block;
    margin:0 0 .65rem;
    padding:.2rem 0 .35rem;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:.9rem;
    overflow:hidden;
  }
  .admin-data tbody.order-group{
    display:block;
    margin:0 0 .65rem;
    padding:0 0 .15rem;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:.9rem;
    overflow:hidden;
  }
  .admin-data tbody.order-group > tr{
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
  }
  .admin-data tbody tr:hover > td{background:transparent}
  .admin-data tbody td{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:flex-end;
    gap:.35rem .6rem;
    padding:.4rem .9rem;
    border:0;
    background:transparent;
    text-align:end;
  }
  .admin-data tbody td::before{
    content:attr(data-label);
    margin-right:auto;
    flex:1 0 38%;
    text-align:start;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .admin-data tbody td:not([data-label])::before,
  .admin-data tbody td.cell-lead::before,
  .admin-data tbody td.cell-media::before,
  .admin-data tbody td.cell-toggle::before,
  .admin-data tbody td.col-end::before,
  .admin-data tbody td[colspan]::before{content:none}
  .admin-data tbody td.cell-lead{
    display:block;
    padding:.75rem .9rem .2rem;
    text-align:start;
    font-size:1rem;
    font-weight:700;
  }
  .admin-data tbody td.cell-media,
  .admin-data tbody td.cell-toggle{justify-content:flex-start;padding-bottom:0}
  .admin-data th.col-end,
  .admin-data td.col-end{width:auto;white-space:normal}
  .admin-data tbody td.col-end{
    width:100%;
    justify-content:flex-end;
    margin-top:.25rem;
    padding-top:.55rem;
    border-top:1px solid var(--border);
    border-radius:0;
  }
  .admin-data tbody td.col-end:not(:has(*)){display:none}
  .admin-data tbody td.cell-clip{max-width:none;min-width:0}
  .admin-data tr.order-summary{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    padding-top:.35rem;
  }
  .admin-data tr.order-summary > td{grid-column:1 / -1}
  .admin-data tr.order-summary > td.cell-toggle{grid-column:1;grid-row:1;align-self:center;padding:.55rem .35rem .2rem .75rem}
  .admin-data tr.order-summary > td.cell-lead{grid-column:2;grid-row:1;align-self:center;padding:.55rem .9rem .2rem .25rem}
  .admin-data tr.order-detail-row:not([hidden]){display:block;border-top:1px solid var(--border)}
  .admin-data tr.order-detail-row > td{display:block;padding:0;text-align:start}
  .admin-data tr[hidden]{display:none !important}
}
.receipt-detail-table td,.receipt-detail-table th{vertical-align:middle}
.receipt-purchase-total-value{font-size:1.35rem;font-weight:800;margin-top:.15rem;color:var(--foreground)}
.receipt-lines-card{overflow-x:auto;margin-top:.35rem}
@media (max-width:640px){.receipt-meta-grid{grid-template-columns:1fr}}
.pa-lines{display:flex;flex-direction:column;gap:.85rem}
.pa-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(7.5rem,9.5rem) auto;gap:.65rem;align-items:end}
.pa-row--priced{grid-template-columns:minmax(0,1fr) minmax(7rem,8.75rem) minmax(8rem,10.5rem) auto}
.pa-field,.pa-qty-field,.pa-price-field{min-width:0}
.pa-field{position:relative}
.pa-cell-label{display:block;margin:0 0 .35rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pa-row .pa-search,.pa-row .pa-count,.pa-row .pa-price,.receipt-form textarea{width:100%;min-width:0;min-height:2.85rem;padding:.7rem .85rem;font-size:1rem;line-height:1.35;border-radius:.75rem;border:1px solid color-mix(in srgb,var(--foreground) 16%,transparent);background-color:color-mix(in srgb,var(--card) 55%,transparent)}
.receipt-form textarea{display:block;margin-top:.15rem}
button.pa-remove{display:inline-flex;align-items:center;justify-content:center;justify-self:end;width:2.85rem;height:2.85rem;min-width:2.85rem;padding:0;margin:0;background:var(--btn-soft);color:var(--foreground);border:1px solid var(--border);border-radius:.75rem;box-shadow:none}
button.pa-remove svg{width:1.35rem;height:1.35rem}
button.pa-remove:hover:not(:disabled):not(.link){background:#fdeaea;color:#c23636;border-color:#f3c6c6;opacity:1}
@media (prefers-color-scheme:dark){button.pa-remove:hover:not(:disabled):not(.link){background:#3a2424;color:#f0b4b4;border-color:#6a3535}}
.pa-list{position:absolute;z-index:30;top:100%;left:0;right:0;margin-top:.25rem;max-height:14rem;overflow:auto;list-style:none;padding:.25rem 0;background:var(--card);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.pa-list.hidden{display:none}
.pa-option{padding:.5rem .75rem;cursor:pointer;font-size:.9rem;color:var(--foreground)}
.pa-option:hover{background:var(--secondary)}
.pa-empty{padding:.5rem .75rem;color:var(--muted);font-size:.85rem}
.pa-add{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.75rem;width:100%;padding:.7rem 1rem;font:inherit;font-size:.875rem;font-weight:600;line-height:1.25;color:var(--foreground);background:var(--btn-soft);border:1px dashed color-mix(in srgb,var(--primary) 50%,var(--border));border-radius:.75rem;cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease}
.pa-add:hover:not(:disabled){background:var(--secondary);border-color:var(--primary);color:var(--foreground);opacity:1}
.pa-add-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:.4rem;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-size:1rem;font-weight:700;line-height:1}
@media (max-width:520px){.pa-row,.pa-row--priced{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"product product product" "qty price remove"}.pa-row:not(.pa-row--priced){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"product product" "qty remove"}.pa-field{grid-area:product}.pa-qty-field{grid-area:qty}.pa-price-field{grid-area:price}.pa-remove{grid-area:remove}}
/* Глобальний пошук у хедері — одна лінія */
.search{
  position:relative;
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:0;
  border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);
  border-radius:.625rem;
  background:color-mix(in srgb, var(--card) 42%, transparent);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:inset 0 1px 0 color-mix(in srgb, #fff 10%, transparent);
  overflow:hidden;
}
.search-input{
  flex:1 1 auto;
  min-width:0;
  width:auto;
  margin:0;
  padding:.45rem .65rem;
  border:none;
  background:transparent;
  opacity:1;
}
.search-input:focus{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--btn) 50%,transparent)}
.search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.search-clear{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0 .6rem;
  border:none;
  border-left:1px solid var(--border);
  border-radius:0;
  background:color-mix(in srgb,var(--secondary) 55%,var(--card));
  color:var(--muted);
  font-size:1.15rem;
  line-height:1;
  cursor:pointer;
}
.search-clear:not(:disabled):hover{color:var(--foreground)}
.search-clear:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.search-clear:disabled{opacity:.4;cursor:default}
.search-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:.2rem;
  padding:0 .35rem;
  border-left:1px solid var(--border);
}
.search-pill{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  user-select:none;
  margin:0;
}
.search-pill input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  margin:0;
  padding:0;
}
.search-pill-text{
  display:inline-block;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1;
  padding:.35rem .45rem;
  border-radius:9999px;
  border:1px solid transparent;
  color:var(--muted);
  white-space:nowrap;
  transition:background .12s ease,color .12s ease,border-color .12s ease;
}
.search-pill:hover .search-pill-text{
  color:var(--foreground);
  background:color-mix(in srgb,var(--secondary) 80%,var(--card));
}
.search-pill input:focus-visible + .search-pill-text{
  outline:2px solid var(--primary);
  outline-offset:1px;
}
.search-pill input:checked + .search-pill-text{
  color:var(--brand);
  background:var(--btn-soft);
  border-color:color-mix(in srgb,var(--btn) 45%,var(--border));
}
/* Мобільний пошук: іконка в рядку хедера; відкритий стан лишає лише лого і поле. */
.site-header .search-toggle{display:none}
.search-toggle-icon{line-height:0}
.search-toggle-icon--close{display:none}
.search-toggle.is-filtering{position:relative}
.search-toggle.is-filtering::after{
  content:"";
  position:absolute;
  top:.28rem;
  right:.28rem;
  width:.42rem;
  height:.42rem;
  border-radius:999px;
  background:var(--primary);
  box-shadow:0 0 0 2px var(--background);
}
@media (max-width:767px){
  .site-header{flex-wrap:nowrap;align-items:center}
  .site-header .header-lang{margin-left:0}
  .site-header .search{display:none}
  .site-header .search-toggle{display:inline-flex;margin-left:auto}
  .site-header.is-search-open .search-toggle{margin-left:0}
  .site-header.is-search-open .search-toggle-icon--find{display:none}
  .site-header.is-search-open .search-toggle-icon--close{display:inline-flex}
  .site-header.is-search-open .search-toggle.is-filtering::after{display:none}
  .site-header.is-search-open > .header-lang,
  .site-header.is-search-open > #cart-button,
  .site-header.is-search-open > #account-button,
  .site-header.is-search-open > .header-action:not(.search-toggle){display:none}
  .site-header.is-search-open .search{
    display:flex;
    flex:1 1 auto;
    min-width:0;
  }
}
/* Головна: секція «Каталог» */
.home-catalog{margin-bottom:1.5rem}
.home-section-title{font-size:1.25rem;font-weight:700;margin:0 0 .75rem;padding:0 .25rem}
/* Категорії: не більше 3 у ряд. Товари мають власні --cols нижче. */
/* Flex замість grid: неповний ряд центрується. Ширина картки — з `--cols`. */
.card-grid{
  --cols:2;
  --gap:.75rem;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:var(--gap);
  margin-bottom:1.5rem;
}
.card-grid > *{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));min-width:0}
@media (min-width:640px){.card-grid{--cols:3}}
.card-grid > .scroll-sentinel{flex-basis:100%}
.card-grid .category-card{border-radius:.875rem}
.card-grid .category-card .card-title{font-size:1.125rem;line-height:1.25;font-weight:700}
.card-grid .category-card .card-text{font-size:.875rem;line-height:1.4;opacity:.95}
/* Товари — більші картки: 1 / 2 / 3 / 4 у ряд */
.card-grid.card-grid--products{--cols:1;--gap:1rem}
@media (min-width:640px){.card-grid.card-grid--products{--cols:2}}
@media (min-width:1024px){.card-grid.card-grid--products{--cols:3}}
@media (min-width:1536px){.card-grid.card-grid--products{--cols:4}}
/* Ціна на картці: брутто з ПДВ */
.card-prices{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;margin-top:.45rem}
.card-price-net,.card-price-gross{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .5rem;margin:0;min-width:0}
.card-price{font-weight:800;color:#fff;line-height:1.1}
.card-price-gross .card-price{font-size:1.35rem;font-weight:800}
.card-price-net .card-price{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.82)}
.card-price-vat-label{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.62);white-space:nowrap}
.card-price-sale{color:#4ade80}
.card-price-old{font-size:.72rem;color:rgba(255,255,255,.5);text-decoration:line-through;white-space:nowrap}
.price-tip{position:relative;z-index:2;display:inline-flex;flex:0 0 auto}
button.price-info{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin:-.72rem -.5rem;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;box-shadow:none;line-height:0;cursor:help}
button.price-info svg{width:1rem;height:1rem;display:block}
button.price-info:hover:not(:disabled):not(.link):not(.header-action),
button.price-info:focus-visible:not(:disabled),
button.price-info:active:not(:disabled):not(.link):not(.header-action){background:transparent;border:none;color:inherit;transform:none}
.price-tip-text{position:absolute;left:0;bottom:calc(100% + .4rem);padding:.3rem .5rem;border-radius:.4rem;background:#1a120e;color:#fff;font-size:.72rem;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:4;box-shadow:0 4px 14px rgba(0,0,0,.28)}
.price-tip.is-open .price-tip-text{opacity:1;visibility:visible}
.card-prices .price-tip-text{background:#fff;color:#1a120e}
.card-prices .price-info{color:rgba(255,255,255,.8)}
.card-stock{position:absolute;top:.5rem;right:.5rem;z-index:2;pointer-events:none}
/* Хлібні крихти каталогу: «Каталог › Кава» */
.crumbs{margin:0 0 1rem}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}
.crumbs li{display:flex;align-items:center;gap:.25rem;min-width:0}
.crumb{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.3rem .7rem;
  border-radius:9999px;
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--card) 85%,transparent);
  color:var(--muted);
  font-size:.85rem;
  font-weight:500;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:16rem;
  transition:color .12s ease,border-color .12s ease,background .12s ease;
}
.crumb svg{width:.95rem;height:.95rem;flex:0 0 auto}
a.crumb:hover{color:var(--foreground);border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}
.crumb-current{color:var(--brand);background:var(--btn-soft);border-color:color-mix(in srgb,var(--btn) 40%,var(--border));font-weight:600}
.crumb-sep{width:.9rem;height:.9rem;color:var(--muted);flex:0 0 auto}
/* Знижка на картці — лівий верхній кут */
.card-discount{
  position:absolute;
  top:.5rem;
  left:.5rem;
  z-index:2;
  font-size:.75rem;
  font-weight:700;
  line-height:1;
  padding:.3rem .5rem;
  border-radius:9999px;
  background:color-mix(in srgb,var(--secondary) 92%,var(--primary));
  color:var(--primary);
  box-shadow:0 1px 2px rgba(0,0,0,.15);
  pointer-events:none;
}
/* Картка товару: вся поверхня — посилання на сторінку товару. */
.card-stretch{position:absolute;inset:0;z-index:1}
/* Нескінченна прокрутка каталогу */
.scroll-sentinel{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 0;color:var(--muted);font-size:.9rem}
.scroll-spinner{width:1rem;height:1rem;border:2px solid var(--border);border-top-color:var(--primary);border-radius:9999px;display:inline-block;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
/* Порожній стан (Поки нічого немає / Нічого не знайдено / кошик) */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:4rem 1.5rem;text-align:center}
.empty-badge{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:9999px;background:var(--secondary);color:var(--primary)}
.empty-badge svg{width:44px;height:44px}
.empty-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--foreground)}
.empty-hint{margin:0;font-size:.95rem;color:var(--muted);max-width:26rem}
/* Компактний варіант для вузьких контейнерів (панель кошика) */
#cart-panel .empty-state{padding:2.5rem 1rem;gap:.75rem}
#cart-panel .empty-badge{width:68px;height:68px}
#cart-panel .empty-badge svg{width:34px;height:34px}
#cart-panel .empty-title{font-size:1.05rem}
/* Права панель кошика (ширша за адмін-дропдаун) */
.cart-overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.5)}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:41;width:100%;max-width:560px;min-width:380px;display:flex;flex-direction:column;background:var(--card);border-left:1px solid var(--border);box-shadow:0 0 40px rgba(0,0,0,.18);animation:cart-in .18s ease}
/* Один шар затемнення: при Sign in кошик лишається під поп-апом. */
body:has(#popup-container:not(:empty)) .cart-overlay{display:none}
@keyframes cart-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media (max-width:640px){.cart-drawer{width:100%;min-width:0}}
.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}
.cart-drawer-tools{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}
.cart-info-link{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;color:var(--muted);text-decoration:none;transition:color .15s ease,background .15s ease}
.cart-info-link svg{width:1.05rem;height:1.05rem}
.cart-info-link:hover{color:var(--brand);background:var(--btn-soft)}
.cart-delivery-more{margin-left:.25rem;font-size:inherit;font-weight:600;color:var(--brand);text-decoration:underline;text-underline-offset:.12em}
.site-footer{flex-shrink:0;margin-top:2.5rem;padding:1.25rem 0 .5rem;border-top:1px solid var(--border);text-align:center}
.site-footer__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .5rem;font-size:.88rem}
.site-footer__nav a{color:var(--muted);text-decoration:none;font-weight:500}
.site-footer__nav a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:.14em}
.site-footer__sep{color:var(--border);user-select:none}

.legal-page{max-width:42rem;margin:0 auto;padding:0 0 2rem}
.legal-page h1{margin:0 0 .75rem;font-size:1.75rem;font-weight:800;line-height:1.2}
.legal-lead{margin:0 0 1.25rem;color:var(--muted);font-size:1rem;line-height:1.5}
.legal-section{margin:1.75rem 0 0}
.legal-section h2{margin:0 0 .55rem;font-size:1.2rem;font-weight:700}
.legal-subheading{margin:1.1rem 0 .5rem;font-size:1rem;font-weight:700}
.legal-section p{margin:0 0 .65rem;line-height:1.55}
.legal-muted{color:var(--muted);font-size:.95rem}
.legal-callout{margin:1rem 0;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:.85rem;background:color-mix(in srgb,var(--btn-soft) 70%,var(--card))}
.legal-callout-title{margin:0 0 .35rem;font-size:1rem;font-weight:700}
.legal-callout-amount{margin:0 0 .45rem;font-size:1.35rem;font-weight:800;line-height:1.25;color:var(--brand)}
.legal-callout-text{margin:0;font-size:.92rem;line-height:1.45;color:var(--muted)}
.legal-table-wrap{overflow:auto;margin-top:.5rem;border:1px solid var(--border);border-radius:.75rem}
.legal-table{width:100%;border-collapse:collapse;font-size:.92rem}
.legal-table th,.legal-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--border)}
.legal-table thead th{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:color-mix(in srgb,var(--secondary) 40%,transparent)}
.legal-table tbody tr:last-child td{border-bottom:0}
.cart-drawer-title{margin:0;font-size:1.4rem;font-weight:800;color:var(--foreground)}
button.cart-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;border:none;border-radius:50%;box-shadow:none}
button.cart-drawer-close:hover:not(:disabled):not(.link){background:var(--secondary);color:var(--foreground);border:none}
.cart-drawer-body{flex:1;display:flex;flex-direction:column;padding:1.25rem 1.5rem;overflow:hidden}
#cart-panel{display:flex;flex-direction:column;flex:1 1 auto}
/* Рядки кошика */
.cart-lines{flex:1 1 auto;display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}
.cart-line{display:flex;align-items:center;gap:.85rem;padding:.7rem .75rem;background:#f5e6d3;color:#1a120e;border:1px solid var(--border);border-radius:.9rem;transition:border-color .15s ease,box-shadow .15s ease}
.cart-line:hover{border-color:var(--primary);box-shadow:0 4px 14px rgba(0,0,0,.07)}
.cart-line{position:relative}
.cart-thumb{width:64px;height:64px;flex:0 0 auto;border-radius:.6rem;overflow:hidden;background:var(--card);border:1px solid var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center}
.cart-thumb img{width:100%;height:100%;object-fit:cover}
.cart-thumb svg{width:26px;height:26px}
.cart-line-main{flex:1 1 auto;min-width:0}
.cart-line-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-weight:700;color:#1a120e;line-height:1.25}
.cart-pair-legend{margin:0 0 .5rem;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.cart-line-unit-pair{margin:.25rem 0 0;font-size:.8rem;color:#5c4636}
.cart-line-unit-pair .cart-line-per-unit{color:var(--muted);font-weight:600}
.cart-line-total-pair{margin:.15rem 0 0;font-size:.95rem;font-weight:800;color:#1a120e;text-align:right}
.cart-money-pair{font-variant-numeric:tabular-nums;white-space:nowrap}
.cart-line-qty{display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;margin-top:.4rem;padding:.05rem .55rem;border-radius:9999px;background:#fffaf5;border:1px solid #dcc9b8;color:#1a120e;font-weight:700;font-size:.85rem;white-space:nowrap}
.cart-line-remove{flex:0 0 auto}
/* Прокрутка лише списку рядків усередині панелі кошика: футер (сума + кнопка) закріплений */
.cart-drawer-body #cart-panel{min-height:0}
.cart-drawer-body .cart-lines{min-height:0;overflow-y:auto;overscroll-behavior:contain}
/* Тесні екрани: картка в 2 рядки — товар зліва, сума й «кошик» справа,
   кошик-видалення — у правому верхньому куті, щоб не «з'їдав» ширину рядка. */
@media (max-width:480px){
.cart-line{flex-wrap:wrap;row-gap:.5rem;padding:.7rem 2.9rem .7rem .7rem}
.cart-line-name{-webkit-line-clamp:2}
.cart-thumb{width:52px;height:52px}
.cart-thumb svg{width:22px;height:22px}
.cart-line-main{flex:1 1 8rem}
.cart-line-total{flex:1 1 auto;align-items:flex-start}
.cart-line-total-label{font-size:.65rem}
.cart-line-remove{position:absolute;top:.5rem;right:.5rem}
.icon-danger{width:36px;height:36px}
.icon-danger svg{width:16px;height:16px}
}
/* Нижня дія: сума + кнопка, прикріплені до низу панелі */
.cart-foot{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:1rem}
.cart-price-choice{margin:0}
button.cart-summary-row{display:flex;width:100%;justify-content:space-between;align-items:baseline;margin:0;padding:.5rem .7rem;border:1px solid transparent;border-radius:.65rem;background:transparent;color:var(--muted);box-shadow:none;font-size:.95rem;font-weight:600;text-align:left}
button.cart-summary-row.is-due,button.cart-summary-row.is-due:hover:not(:disabled):not(.link){color:var(--foreground);font-weight:800;border-color:var(--primary);background:var(--btn-soft)}
button.cart-summary-row:hover:not(:disabled):not(.link){color:var(--foreground);border-color:var(--border);background:var(--btn-soft)}
.cart-summary-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;color:var(--muted);margin-bottom:.35rem}
.cart-delivery-hint{margin:0 0 .5rem;font-size:.8rem;color:var(--muted);line-height:1.35}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1.2rem;font-weight:800;color:var(--foreground)}
.cart-checkout-btn{display:block;width:100%;text-align:center;font-size:1.1rem;font-weight:600;padding:.9rem 1rem;border-radius:.75rem;background:var(--btn);color:var(--btn-text);border:1px solid color-mix(in srgb,var(--btn) 55%,var(--border));text-decoration:none;transition:background .15s ease}
.cart-checkout-btn:hover{background:var(--btn-hover);opacity:1}
/* Дії в таблицях і списках: редагувати / скасувати / видалити (іконки) */
.ui-btn-row{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.ui-btn-form{display:inline;margin:0;padding:0;border:0;background:none}
.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:.5rem;cursor:pointer;font:inherit;font-size:.875rem;font-weight:600;line-height:1;padding:0;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}
.ui-btn svg{width:1.0625rem;height:1.0625rem;flex-shrink:0;display:block}
.ui-btn[data-tooltip]{position:relative}
.ui-btn[data-tooltip]::before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + .35rem);left:50%;transform:translateX(-50%);padding:.25rem .5rem;border-radius:.375rem;background:var(--foreground);color:var(--background);font-size:.6875rem;font-weight:600;line-height:1.25;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;z-index:30;box-shadow:0 2px 8px rgba(0,0,0,.15)}
@media (hover:hover) and (pointer:fine){
  .ui-btn[data-tooltip]:hover::before,.ui-btn[data-tooltip]:focus-visible::before{opacity:1;visibility:visible}
}
.ui-btn--edit,.ui-btn--cancel,.ui-btn--danger,.ui-btn--send,.ui-btn--reject,.ui-btn--take{
  width:2.25rem;height:2.25rem;background:transparent;color:var(--muted);
  flex-shrink:0;
}
.ui-btn--edit .ui-btn__text,.ui-btn--cancel .ui-btn__text,.ui-btn--danger .ui-btn__text,
.ui-btn--send .ui-btn__text,.ui-btn--reject .ui-btn__text,.ui-btn--take .ui-btn__text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
@media (min-width:900px){
  .ui-btn--edit,.ui-btn--cancel,.ui-btn--danger,.ui-btn--send,.ui-btn--reject,.ui-btn--take{
    width:auto;min-width:2.25rem;height:auto;min-height:2.25rem;padding:.45rem .7rem;
  }
  .ui-btn--edit .ui-btn__text,.ui-btn--cancel .ui-btn__text,.ui-btn--danger .ui-btn__text,
  .ui-btn--send .ui-btn__text,.ui-btn--reject .ui-btn__text,.ui-btn--take .ui-btn__text{
    position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;
  }
}
.ui-btn--edit:hover,.ui-btn--send:hover,.ui-btn--take:hover{background:var(--secondary);color:var(--primary);border-color:var(--border)}
.ui-btn--cancel:hover,.ui-btn--danger:hover,.ui-btn--reject:hover{background:#fdeaea;color:#c23636;border-color:#f3c6c6}
.ui-btn--ghost{width:auto;height:auto;padding:.5rem .75rem;background:transparent;color:var(--muted);font-weight:600}
.ui-btn--ghost:hover{background:var(--secondary);color:var(--foreground)}
.ui-btn__text{line-height:1.2}
.account-actions{margin-top:1rem}
.popup-panel .ui-btn--ghost{display:flex;width:100%;justify-content:center;margin-top:.75rem}
/* Зворотна сумісність */
.icon-danger{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:transparent;color:var(--muted);border:1px solid transparent;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease;padding:0}
.icon-danger svg{width:1.0625rem;height:1.0625rem}
.icon-danger:hover{background:#fdeaea;color:#c23636;border-color:#f3c6c6}
/* Поп-ап процесу купівлі */
.popup-overlay{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45);animation:popup-fade .15s ease}
.popup-panel{position:fixed;z-index:70;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,460px);background:var(--card);border:1px solid var(--border);border-radius:1rem;box-shadow:0 24px 70px rgba(0,0,0,.45);animation:popup-in .18s ease}
@keyframes popup-fade{from{opacity:0}to{opacity:1}}
@keyframes popup-in{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
.popup-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border)}
.popup-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--foreground)}
button.popup-close{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;border:none;border-radius:50%;box-shadow:none}
button.popup-close:hover:not(:disabled):not(.link){background:var(--secondary);color:var(--foreground);border:none}
.popup-body{padding:1.4rem}
.popup-form{display:flex;flex-direction:column;gap:.5rem}
.popup-hint{margin:0 0 .35rem;color:var(--muted);font-size:.95rem}
.popup-form label{margin:.4rem 0 0}
.popup-form input,.popup-form select,.delivery-form input,.delivery-form select{font-size:1rem;padding:.6rem .75rem;width:100%;border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);border-radius:.75rem;background-color:color-mix(in srgb, var(--card) 42%, transparent);color:var(--foreground);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}
.popup-form select,.delivery-form select{appearance:none;padding-right:2.25rem;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.15rem) 50%,calc(100% - .8rem) 50%;background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat}
.popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
@media (max-width:520px){.popup-grid{grid-template-columns:1fr}}
.popup-delivery{margin-bottom:.5rem}
.popup-primary{margin-top:1rem;font-size:1.05rem;font-weight:600;padding:.8rem 1rem;border-radius:.7rem;background:var(--btn);color:var(--btn-text);border:1px solid color-mix(in srgb,var(--btn) 55%,var(--border));width:100%}
.popup-primary:hover{background:var(--btn-hover);opacity:1}
.popup-link{display:inline-block;text-align:center;text-decoration:none}
button.popup-text-btn{width:100%;margin:0;padding:.4rem .5rem;font-size:.95rem;font-weight:600;line-height:1.45;text-align:center;color:var(--primary);background:transparent;border:none;border-radius:.5rem;box-shadow:none;text-decoration:underline;text-underline-offset:.15em;text-decoration-color:color-mix(in srgb,var(--primary) 50%,transparent);transition:color .15s ease,background .15s ease,text-decoration-color .15s ease}
button.popup-text-btn:hover:not(:disabled):not(.link){background:var(--btn-soft);color:var(--foreground);border:none;text-decoration-color:currentColor;opacity:1}
button.popup-text-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
button.popup-secondary{width:100%;font-size:1.05rem;font-weight:600;padding:.8rem 1rem;border-radius:.7rem;background:var(--card);color:var(--foreground);border:1px solid var(--border);text-decoration:none;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease}
button.popup-secondary:hover:not(:disabled):not(.link){background:var(--secondary);border-color:color-mix(in srgb,var(--primary) 45%,var(--border));color:var(--foreground);opacity:1}
button.popup-secondary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.popup-done .popup-secondary{width:100%}
.popup-error{margin:.15rem 0 0;color:#c23636;font-size:.9rem;text-align:center}
.popup-form input[type="checkbox"]{width:auto;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}
/* Глобальний `input { width:100% }` розтягує нативне радіо в овал. */
input[type="radio"]{
  appearance:auto;
  -webkit-appearance:radio;
  box-sizing:border-box;
  width:1.125rem;
  height:1.125rem;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  accent-color:var(--primary);
  vertical-align:middle;
  flex:0 0 auto;
  cursor:pointer;
}
input[type="radio"]:disabled{cursor:not-allowed;opacity:.45}
.settings-countries td:first-child,.settings-countries th:first-child{text-align:center}
.auth-form{gap:.85rem}
.auth-form .popup-hint,.auth-form .popup-error,.auth-form .popup-text-btn,.auth-form .popup-secondary{margin:0}
.auth-form label{margin:0}
.auth-form .popup-primary{margin-top:0}
.auth-form .field{display:flex;flex-direction:column;gap:.35rem}
.auth-form .field label{font-size:.82rem;font-weight:600;line-height:1.3}
.auth-form .field .field-error{text-align:left;margin:0;font-size:.82rem;line-height:1.35}
.register-fields{display:flex;flex-direction:column;gap:.85rem}
.register-form .popup-hint{margin:0}
.field-label-req::after{content:" *";color:var(--primary);font-weight:700}
.register-form .field-hint{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4}
.register-form input[type="email"],.register-form input[type="text"],.register-form input[type="tel"]{outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.register-form input[type="email"]:focus,.register-form input[type="text"]:focus,.register-form input[type="tel"]:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 28%,transparent)}
.register-buyer{border:0;margin:0;padding:0;min-inline-size:0}
.register-buyer-switch{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.register-buyer-option{position:relative;margin:0;cursor:pointer}
.register-buyer-option input{position:absolute;width:1px;height:1px;min-width:0;max-width:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;flex:none;accent-color:transparent}
.register-buyer-card{display:flex;align-items:center;gap:.55rem;min-height:3.15rem;height:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:.75rem;background:var(--background);color:var(--foreground);font-size:.86rem;font-weight:600;line-height:1.25}
.register-buyer-mark{flex:0 0 auto;width:.95rem;height:.95rem;border-radius:999px;border:2px solid var(--border);box-sizing:border-box}
.register-buyer-option:hover .register-buyer-card{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}
.register-buyer-option:has(input:checked) .register-buyer-card{background:var(--btn-soft);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.register-buyer-option:has(input:checked) .register-buyer-mark{border-color:var(--primary);background:radial-gradient(circle,var(--primary) 0 42%,transparent 46%)}
.register-buyer-option:has(input:focus-visible) .register-buyer-card{outline:2px solid var(--primary);outline-offset:2px}
.register-company{display:flex;flex-direction:column;gap:.85rem;padding:0;border:0;border-radius:0;background:transparent}
.register-company[hidden]{display:none}
.register-intro-hint{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}
.register-actions{display:flex;flex-direction:column;gap:.85rem}
.popup-panel:has(.register-form){display:flex;flex-direction:column;max-height:min(92vh,760px)}
.popup-panel:has(.register-form) .popup-body{overflow:auto}
@media (max-width:420px){.register-buyer-switch{grid-template-columns:1fr}}
.popup-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}
.popup-done-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:9999px;background:var(--secondary);color:var(--primary)}
.popup-done-icon svg{width:36px;height:36px}
.company-address-pick{border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;margin:0 0 1rem}
.company-address-pick legend{font-weight:600;padding:0 .25rem}
.checkout-page{display:flex;flex-direction:column;gap:1.35rem;width:min(100%,32rem);margin-inline:auto}
#checkout-pay{display:flex;flex-direction:column;gap:1.35rem}
.checkout-order{display:flex;flex-direction:column;gap:1rem;padding:1.05rem 1rem 1.1rem;border-radius:1rem;background:color-mix(in srgb, var(--card) 28%, transparent);border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15)}
.checkout-pay{display:flex;flex-direction:column;gap:.75rem}
.checkout-pay > p{margin:0}
#express-checkout{display:flex;flex-direction:column;gap:.75rem}
#express-checkout:empty{display:none}
#express-checkout iframe{display:block;margin:0}
#express-checkout iframe + iframe{margin-top:.75rem}
.checkout-row,.checkout-field{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;text-align:left;background:color-mix(in srgb, var(--card) 38%, transparent);border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);border-radius:.9rem;padding:.85rem 1rem;color:inherit;font:inherit;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent)}
.checkout-row{cursor:pointer}
.checkout-row:hover,.checkout-field:focus-within{border-color:color-mix(in srgb, var(--primary) 70%, transparent)}
.checkout-row span,.checkout-field span{color:var(--muted);font-size:.8rem;font-weight:600}
/* Усі текстові поля — один вигляд. `input` без `type` — теж текстове поле (браузер так його й трактує), тому він тут явно, інакше лишається з кольором фону сторінки. */
input:not([type]),input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="url"],input[type="number"],input[type="search"],textarea,select:not(.header-lang-select){background-color:color-mix(in srgb, var(--card) 42%, transparent);border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);border-radius:.75rem;color:var(--foreground);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);box-shadow:inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent)}
input:not([type]):focus,input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,input[type="password"]:focus,input[type="url"]:focus,input[type="number"]:focus,input[type="search"]:focus,textarea:focus,select:not(.header-lang-select):focus{outline:none;background-color:color-mix(in srgb, var(--card) 62%, transparent);border-color:color-mix(in srgb, var(--primary) 72%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent)}
select:not(.header-lang-select){appearance:none;-webkit-appearance:none;padding-right:2.25rem;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.15rem) 50%,calc(100% - .8rem) 50%;background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat}
input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--foreground) 46%, transparent)}
.checkout-field input,.checkout-field input:focus{width:100%;margin:0;padding:.15rem 0 0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;outline:none}
.search .search-input,.search .search-input:focus{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.pay-methods{display:flex;flex-direction:column;gap:.75rem}
.pay-methods[hidden]{display:none}
.pay-method{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:2.85rem;margin:0;padding:.65rem 1rem;border-radius:.75rem;border:1px solid transparent;font-weight:600;font-size:1rem;letter-spacing:-.01em;cursor:pointer;line-height:1}
.pay-method svg{width:1.15rem;height:1.15rem;flex:none}
.pay-method-apple,.pay-method-google{background:#fff;color:#1a1a1a}
.pay-method-apple:hover,.pay-method-google:hover{background:#f4f1ec}
.pay-method-paypal{background:#ffc439;color:#003087}
.pay-method-paypal:hover{background:#f2b429}
.pay-method-card{background:color-mix(in srgb, var(--card) 40%, transparent);color:var(--foreground);border-color:color-mix(in srgb, var(--foreground) 18%, transparent);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}
.pay-method-card:hover{border-color:color-mix(in srgb, var(--primary) 70%, transparent)}
.pay-method:disabled{opacity:.45;cursor:default}
.checkout-company{margin:0;color:var(--muted)}
.checkout-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.checkout-line{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.checkout-line span:first-child{min-width:0}
.checkout-line span:last-child{flex:none;font-weight:600;white-space:nowrap}
.checkout-summary{display:flex;flex-direction:column;gap:.45rem;border-top:1px solid var(--border);padding-top:.75rem}
.checkout-summary div{display:flex;justify-content:space-between;gap:1rem}
.checkout-total{font-weight:700;font-size:1.15rem}
#payment-element{margin:0}
#payment-element:empty{display:none}
.pay-outcome{width:100%}
.pay-outcome-visual{display:flex;align-items:center;justify-content:center;min-height:7.5rem;margin:0}
.pay-outcome-img{width:7rem;height:7rem;object-fit:cover;border-radius:1rem;border:1px solid var(--border);box-shadow:0 10px 28px rgba(0,0,0,.14)}
.pay-outcome-img--bad{filter:grayscale(.9) brightness(.72);opacity:.9}
.pay-outcome-spinner{display:inline-block;width:3rem;height:3rem;border-radius:50%;border:3px solid color-mix(in srgb,var(--primary) 22%,transparent);border-top-color:var(--primary);animation:pay-spin .7s linear infinite}
.pay-outcome-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}
.pay-outcome-actions[hidden]{display:none}
.pay-method.is-busy{position:relative;color:transparent}
.pay-method.is-busy svg{visibility:hidden}
.pay-method.is-busy::after{content:"";position:absolute;width:1.05rem;height:1.05rem;border-radius:50%;border:2px solid color-mix(in srgb, var(--btn-text) 35%, transparent);border-top-color:var(--btn-text);animation:pay-spin .7s linear infinite}
.pay-method-apple.is-busy::after,.pay-method-google.is-busy::after{border-color:rgba(26,26,26,.28);border-top-color:#1a1a1a}
.pay-method-paypal.is-busy::after{border-color:rgba(0,48,135,.28);border-top-color:#003087}
@keyframes pay-spin{to{transform:rotate(360deg)}}
.delivery-options{display:flex;flex-direction:column;gap:.75rem}
.delivery-options form{margin:0;width:100%}
.delivery-option,.delivery-form button.delivery-option{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;text-align:left;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:.85rem;background:var(--card);color:var(--foreground);text-decoration:none;font-weight:500}
.delivery-option:hover,button.delivery-option:hover{border-color:var(--primary);background:var(--secondary)}
.delivery-option-title{font-weight:700;font-size:1.05rem}
.delivery-option-hint{color:var(--muted);font-size:.9rem;font-weight:500}
.delivery-heading{margin:1.25rem 0 .75rem;font-size:1.25rem;font-weight:700}
.delivery-form{max-width:36rem;display:flex;flex-direction:column}
a.delivery-back,button.delivery-back{display:inline-flex;align-self:center;width:auto;margin:.85rem 0 0;padding:.35rem .5rem;background:transparent;border:none;color:var(--muted);font-weight:600;text-decoration:underline;box-shadow:none}
a.delivery-back:hover,button.delivery-back:hover:not(:disabled):not(.link):not(.header-action){background:transparent;border:none;color:var(--foreground)}

/* Address suggestion dropdown (address_search.js) */
.np-combo{position:relative}
.np-combo:has(.np-list:not([hidden])){z-index:5}
.np-list[hidden]{display:none}
.np-list{position:absolute;z-index:70;top:calc(100% + 2px);left:0;right:0;margin:0;padding:.25rem 0;list-style:none;max-height:min(30rem,62vh);overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:.6rem;box-shadow:0 12px 32px rgba(0,0,0,.22)}
.np-list li{padding:.45rem .75rem;cursor:pointer;font-size:.95rem}
.np-list li:hover,.np-list li.is-active{background:var(--secondary);color:var(--foreground)}
.np-list .np-empty{color:var(--muted);cursor:default}
.np-list .np-empty:hover{background:transparent}

/* Права панель акаунта (аватар у шапці, лише залогінений глядач): корпус як у
   панелі кошика, але вбудована в сторінку — показується класом .open. */
.account-overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.5);display:none}
.account-drawer{position:fixed;top:0;right:0;bottom:0;z-index:41;width:100%;max-width:560px;min-width:380px;display:none;flex-direction:column;background:var(--card);border-left:1px solid var(--border);box-shadow:0 0 40px rgba(0,0,0,.18)}
.account-overlay.open{display:block}
.account-drawer.open{display:flex;animation:cart-in .18s ease}
@media (max-width:640px){.account-drawer{width:100%;min-width:0}}
/* Меню панелі акаунта + вихід */
.account-menu{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}
.account-menu a{display:block;padding:.7rem 1rem;border-radius:.7rem;text-decoration:none;color:var(--foreground);font-weight:600}
.account-menu a:hover{background:var(--secondary)}
.account-logout{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.account-logout button{display:block;width:100%;text-align:left;padding:.7rem 1rem;border-radius:.7rem;background:transparent;color:#c23636;font-weight:600;font-size:.875rem}
.account-logout button:hover{background:#fdeaea}
/* Розділ акаунта: вкладки профіль / замовлення, кошик у шапці */
body.account-page{background:var(--background)}
.account-shell{width:100%;max-width:64rem;margin:0 auto;flex:1 1 auto;display:flex;flex-direction:column;padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom))}
.account-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}
.site-logo__img{display:block;object-fit:cover}
.header-btn-label{display:none;font-weight:600;font-size:.875rem;line-height:1.2;white-space:nowrap}
@media (min-width:768px){
  .header-btn-label{display:inline}
  #cart-button,.account-header-btn{gap:.35rem}
}
.account-brand{font-weight:800;font-size:1.125rem;text-decoration:none;color:var(--foreground)}
.account-cart{margin-left:auto;display:flex;align-items:center}
.account-cart #cart-button{padding-top:.15rem;padding-bottom:.15rem}
.account-back{font-size:.875rem;text-decoration:underline;color:var(--muted)}
.account-signout{margin:0}
.account-signout button{background:transparent;color:var(--muted);padding:.35rem .5rem;font-size:.875rem}
.account-signout button:hover{color:#c23636;background:transparent}
.account-tabs{display:flex;gap:.35rem;padding-bottom:0}
.account-tab{display:inline-block;padding:.65rem 1rem;text-decoration:none;color:var(--muted);font-weight:600;font-size:.9375rem;border-radius:.5rem .5rem 0 0;margin-bottom:-1px;border:1px solid transparent;border-bottom-color:var(--border)}
.account-tab:hover{color:var(--foreground);background:var(--secondary)}
.account-tab.is-active{color:var(--foreground);background:var(--card);border-color:var(--border);border-bottom-color:var(--card)}
.account-main{flex:1 1 auto;background:var(--card);border:1px solid var(--border);border-radius:0 .75rem .75rem .75rem;padding:1.25rem 1.5rem}
.account-heading{margin:0 0 1rem;font-size:1.35rem}
.account-data{width:100%;margin:0}
.account-data th{width:8rem;font-weight:600;color:var(--muted)}
.account-back-link{margin-top:1.25rem}
/* Сторінка замовлення покупця: шапка з бейджем статусу, картки доставки й сум */
.order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.order-head-title{margin:0}
.order-head-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;font-weight:600;color:var(--muted);word-break:break-all}
.order-head-date{margin:.25rem 0 0;font-size:.875rem}
.order-status{display:inline-block;padding:.3rem .8rem;border-radius:9999px;font-size:.8125rem;font-weight:700;white-space:nowrap;background:var(--secondary);color:var(--foreground)}
.order-status--new{background:#e3ecff;color:#1f3f8f}
.order-status--send{background:color-mix(in srgb,var(--secondary) 70%,transparent);color:var(--primary)}
.order-status--taken{background:#dcf5e3;color:#1c6b35}
.order-status--rejected,.order-status--cancelled{background:#fde4e4;color:#8f1f1f}
.order-cards{display:grid;grid-template-columns:3fr 2fr;gap:1rem;margin-bottom:1rem}
@media(max-width:640px){.order-cards{grid-template-columns:1fr}}
.order-card{border:1px solid var(--border);border-radius:.75rem;background:var(--card);padding:1rem 1.25rem;min-width:0}
.order-card-title{margin:0 0 .6rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.order-card-carrier{margin:0 0 .5rem;font-weight:700}
.order-fields{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;font-size:.9rem}
.order-fields dt{color:var(--muted)}
.order-fields dd{margin:0;overflow-wrap:anywhere}
.order-sums dd{text-align:right;white-space:nowrap}
.order-sums .order-sums-total{padding-top:.5rem;margin-top:.15rem;border-top:1px solid var(--border);font-weight:800;font-size:1rem;color:var(--foreground)}
.order-item-unit{display:block;font-size:.8125rem;font-weight:400}
/* Кнопка відправки під час запиту */
.company-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.company-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:.85rem;background:color-mix(in srgb,var(--background) 45%,transparent)}
.company-card-body{min-width:0}
.company-card-name{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}
.company-card-vat{margin:.45rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;letter-spacing:.02em}
.company-card-vat span{display:block;margin-bottom:.15rem;font-family:inherit;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.company-card-address{margin:.55rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.45}
.company-card-remove{flex:0 0 auto;margin:0}
.company-card-remove .panel-submit{align-items:flex-end}
button.company-remove{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:600}
button.company-remove:hover:not(:disabled):not(.link){background:#fdeaea;color:#c23636;border-color:#f3c6c6}
.company-add{margin:1rem 0 0}
@media(max-width:640px){
  .company-card{flex-direction:column}
  .company-card-remove,.company-card-remove .panel-submit{align-items:flex-start}
}
button.is-loading,button.is-loading:hover{cursor:wait;opacity:.75}
button.is-loading::after{content:"";display:inline-block;width:.85em;height:.85em;margin-left:.55em;vertical-align:-.12em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}
@keyframes btn-spin{to{transform:rotate(360deg)}}
.order-section-title{margin:1.5rem 0 0;font-size:1.05rem}
/* Блокуємо скрол сторінки, поки відкритий будь-який поп-ап/drawer — скролиться лише його вміст */
html:has(#popup-container:not(:empty)),
html:has(#modals-container:not(:empty)),
html:has(#cart-drawer-container:not(:empty)),
html:has(.account-drawer.open),
html:has(.admin-overlay.open),
html:has(.image-lightbox-overlay){overflow:hidden}
.popup-body,.admin-panel-body,.account-drawer,.account-drawer *,.np-list,.pa-list{overscroll-behavior:contain}
/* VIP: ціна зі знижкою для VIP-покупця, позначки в адмінці */
.card-discount-vip,.badge-vip{background:linear-gradient(135deg,#c9a24a,#e6c877);color:#2d1f0a}
.badge-vip{vertical-align:middle;letter-spacing:.04em}
.product-price-row .badge-vip{margin-left:.5rem}
/* Адмінка → Клієнти */
.customers-toolbar{display:flex;gap:.5rem;margin:0 0 .75rem;max-width:36rem}
.customers-toolbar input[type=search]{flex:1;min-width:0}
.customers-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .9rem}
.customers-filter{padding:.3rem .8rem;border-radius:9999px;border:1px solid var(--border);font-size:.875rem;text-decoration:none;color:var(--foreground);background:var(--card)}
.customers-filter.is-active{background:var(--secondary);font-weight:600;border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}
.customers-total{margin-left:auto;font-size:.875rem;color:var(--muted)}
.customers-pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-size:.9rem}
.vip-toggle{padding:.35rem .8rem;font-size:.85rem;font-weight:600;border-radius:.6rem;border:1px solid var(--border);background:var(--card);color:var(--foreground);box-shadow:none;white-space:nowrap}
.vip-toggle--on{background:linear-gradient(135deg,#c9a24a,#e6c877);color:#2d1f0a;border-color:transparent}
@media(max-width:640px){.customers-total{margin-left:0;width:100%}}

/* Підтвердження видалення (admin/confirm_delete.html) */
.confirm-delete-subject{margin:0 0 .35rem;font-weight:600;font-size:1.05rem;overflow-wrap:anywhere}
.confirm-delete-actions{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;margin-top:1rem}
.confirm-delete-actions .popup-primary{margin-top:0;width:auto;padding:.6rem 1.1rem}
.popup-primary--danger{background:#c23636;border-color:#c23636;color:#fff}
.popup-primary--danger:hover{background:#a82c2c}
.confirm-delete-actions .ui-btn--ghost{width:auto;margin-top:0}
.default-submit{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
