.ls-scene{width:100%;height:100vh;height:100dvh;min-height:600px;position:relative;overflow:hidden}.ls-sky{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.ls-sky-night{background:linear-gradient(#0b1530,#1e2a4f 55%,#2c3a63)}.ls-sky-dawn{background:linear-gradient(#3b2a5a,#c2577a 38%,#f08a5d 62%,#fbd38d)}.ls-sky-day{background:linear-gradient(#a7dccf,#d7efe8 50%,#f3faf7)}.ls-sky-gray{background:linear-gradient(#64748b,#94a3b8 60%,#cbd5e1)}.is-night .ls-sky-night,.is-crow .ls-sky-night,.is-evening .ls-sky-night{opacity:1}.is-crow .ls-sky-dawn{opacity:.45}.is-dawn .ls-sky-dawn,.is-dusk .ls-sky-dawn,.is-day .ls-sky-day,.is-sunset .ls-sky-day{opacity:1}.w-cloud.is-day .ls-sky-gray,.w-cloud.is-sunset .ls-sky-gray{opacity:.4}.w-rain.is-day .ls-sky-gray,.w-rain.is-sunset .ls-sky-gray{opacity:.75}.w-rain.is-dawn .ls-sky-gray,.w-rain.is-dusk .ls-sky-gray{opacity:.45}.ls-stars{opacity:0;background-image:radial-gradient(1.4px 1.4px at 20px 30px,#fff 99%,#0000),radial-gradient(1px 1px at 120px 80px,#e2e8f0 99%,#0000),radial-gradient(1.6px 1.6px at 70px 150px,#fff 99%,#0000),radial-gradient(1px 1px at 180px 20px,#cbd5e1 99%,#0000),radial-gradient(1.2px 1.2px at 160px 125px,#fff 99%,#0000);background-size:220px 180px;transition:opacity 1s;animation:2.6s ease-in-out infinite alternate ls-twinkle;position:absolute;inset:0 0 35%}.is-night .ls-stars{opacity:1}.is-crow .ls-stars{opacity:.5}.is-evening .ls-stars{opacity:.85}.w-rain .ls-stars{opacity:0!important}@keyframes ls-twinkle{0%{filter:brightness(.55)}to{filter:brightness(1.25)}}.ls-clouds{pointer-events:none;opacity:.15;transition:opacity 1.2s;position:absolute;inset:0}.is-dawn .ls-clouds,.is-dusk .ls-clouds,.is-crow .ls-clouds{opacity:.55}.is-day .ls-clouds,.is-sunset .ls-clouds{opacity:.95}.ls-cloud{background:#fff;border-radius:40px;width:120px;height:36px;transition:background 1s;animation:80s linear infinite ls-drift;position:absolute;left:0}.ls-cloud:before,.ls-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.ls-cloud:before{width:50px;height:50px;top:-24px;left:16px}.ls-cloud:after{width:64px;height:64px;top:-34px;left:46px}.ls-c1{animation-duration:90s;animation-delay:-20s;top:14%}.ls-c2{animation-duration:70s;animation-delay:-55s;top:24%;scale:.7}.ls-c3{animation-duration:110s;animation-delay:-80s;top:7%;scale:.85}.ls-c4,.ls-c5,.ls-c6{display:none}.ls-c4{animation-duration:75s;animation-delay:-5s;top:18%;scale:1.2}.ls-c5{animation-duration:95s;animation-delay:-40s;top:29%}.ls-c6{animation-duration:120s;animation-delay:-60s;top:4%;scale:1.4}.w-cloud .ls-c4,.w-cloud .ls-c5,.w-cloud .ls-c6,.w-rain .ls-c4,.w-rain .ls-c5,.w-rain .ls-c6{display:block}.w-cloud .ls-cloud{background:#e2e8f0}.w-rain .ls-cloud{background:#94a3b8}@keyframes ls-drift{0%{transform:translate(-220px)}to{transform:translate(calc(100vw + 220px))}}.ls-storm{opacity:0;pointer-events:none;background:radial-gradient(closest-side,#475569,#0000) 0 40px/320px 170px repeat-x,radial-gradient(closest-side,#334155,#0000) 150px 0/380px 200px repeat-x,radial-gradient(closest-side,#64748b,#0000) 60px 90px/300px 150px repeat-x;height:260px;transition:opacity 1s;animation:40s linear infinite ls-storm;position:absolute;top:-60px;left:-10%;right:-10%}@keyframes ls-storm{to{background-position:320px 40px,530px 0,360px 90px}}.w-rain .ls-storm{opacity:.95}.is-night.w-rain .ls-storm,.is-evening.w-rain .ls-storm{opacity:.7}.ls-rain{opacity:0;pointer-events:none;transition:opacity .8s;position:absolute;inset:0;overflow:hidden}.w-rain .ls-rain{opacity:1}.ls-drop{width:1.5px;height:var(--len);background:linear-gradient(transparent,rgba(226,236,255,var(--a)));animation:ls-fall var(--d) linear infinite;animation-delay:var(--delay);border-radius:1px;position:absolute;top:-30px;transform:rotate(10deg)}@keyframes ls-fall{to{translate:calc(var(--fall) * -.18) var(--fall)}}.ls-ripple{opacity:0;width:18px;height:5px;animation:ls-ripple var(--d) ease-out infinite;animation-delay:var(--delay);border:1.5px solid #e2ecffb3;border-radius:50%;margin-left:-9px;position:absolute}@keyframes ls-ripple{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1.8)}}.w-rain .ls-glow{opacity:.55}.w-rain.is-evening .ls-glow{opacity:1}.ls-world{width:390px;height:844px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.ls-moon{border-radius:50%;width:40px;height:40px;transition:opacity 1s,transform 1.4s;position:absolute;top:150px;left:36px;box-shadow:11px 4px #fde68a}.is-dawn .ls-moon,.is-day .ls-moon,.is-pre .ls-moon,.is-sunset .ls-moon,.is-dusk .ls-moon{opacity:0;transform:translateY(40px)}.f-trungthu .ls-moon{background:#fde68a;width:60px;height:60px;top:130px;left:30px;box-shadow:0 0 40px 10px #fde68a73}.is-evening .ls-moon{top:96px;left:296px}.is-evening.f-trungthu .ls-moon{top:80px;left:286px}.ls-sun{background:radial-gradient(#fde68a,#fbbf24 60%,#f59e0b);border-radius:50%;width:80px;height:80px;transition:top 1.4s cubic-bezier(.2,.7,.2,1),left 1.4s cubic-bezier(.2,.7,.2,1),opacity 1s;position:absolute;top:560px;left:262px;box-shadow:0 0 60px 22px #fbbf2473}.is-crow .ls-sun{top:470px}.is-dawn .ls-sun{top:300px}.is-day .ls-sun,.is-pre .ls-sun{box-shadow:0 0 50px 16px #fbbf2459}.t-morning.is-day .ls-sun,.t-morning.is-pre .ls-sun{top:96px;left:268px}.t-noon.is-day .ls-sun,.t-noon.is-pre .ls-sun{top:40px;left:155px}.t-afternoon.is-day .ls-sun,.t-afternoon.is-pre .ls-sun{top:96px;left:40px}.is-sunset .ls-sun{top:190px;left:34px}.is-dusk .ls-sun{top:330px;left:24px}.is-evening .ls-sun{top:560px;left:24px}.is-pre .ls-sky-day{opacity:1}.is-pre .ls-clouds{opacity:.95}.is-pre .ls-lit{filter:none}.w-cloud .ls-sun{opacity:.65}.w-rain .ls-sun{opacity:.2}.ls-lit{filter:brightness(.35)saturate(.6);transition:filter 1.2s}.is-crow .ls-lit{filter:brightness(.5)saturate(.7)}.is-dawn .ls-lit,.is-dusk .ls-lit{filter:brightness(.82)saturate(.9)}.is-day .ls-lit,.is-sunset .ls-lit{filter:none}.is-evening .ls-lit{filter:brightness(.5)saturate(.7)}.w-rain.is-day .ls-lit,.w-rain.is-sunset .ls-lit{filter:brightness(.8)saturate(.8)}.ls-land{position:absolute;top:200px;left:-1005px}.ls-bd{fill:var(--brand);transition:fill .4s}.ls-wall{fill:color-mix(in srgb,var(--brand) 18%,#fff);transition:fill .4s}.ls-signboard{box-sizing:border-box;background:radial-gradient(circle at 5px 50%,#fde68a 1.4px,transparent 1.9px),radial-gradient(circle at calc(100% - 5px) 50%,#fde68a 1.4px,transparent 1.9px),linear-gradient(var(--brand),var(--brand));color:#fff;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border:2px solid #5b3a1a;border-radius:2px;justify-content:center;align-items:center;width:142px;height:22px;padding:0 12px;font:800 13px/1 Be Vietnam Pro,system-ui,sans-serif;transition:filter 1.2s,text-shadow .8s;display:flex;position:absolute;top:331px;left:205px;overflow:hidden;transform:translate(-50%);box-shadow:0 3px #0003,inset 0 1px #ffffff4d}.is-evening .ls-signboard{filter:none;color:#fffbeb;text-shadow:0 0 6px #fde68ae6}.ls-lamp{z-index:1;background:#334155;border-radius:2px 2px 5px 5px;width:10px;height:5px;transition:box-shadow .8s;position:absolute;top:326px}.ls-lamp:before{content:"";background:#334155;width:2px;height:4px;position:absolute;top:-4px;left:4px}.ls-lamp{opacity:0;transition:opacity .6s,box-shadow .8s}.is-evening .ls-lamp{opacity:1;background:#fde68a;box-shadow:0 5px 14px 5px #fde68a8c}.ls-smoke{opacity:0;background:#f1f5f9bf;border-radius:50%;width:12px;height:12px;animation:4.2s ease-out infinite ls-rise;position:absolute;top:298px;left:250px}.ls-s2{animation-delay:-1.4s}.ls-s3{animation-delay:-2.8s}@keyframes ls-rise{0%{opacity:.75;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(-22px,-80px)scale(2.4)}}.ls-glow{opacity:0;background:#fde68a;border-radius:2px;width:26px;height:16px;transition:opacity .8s .5s;position:absolute;top:380px;box-shadow:0 0 18px 6px #fde68a99}.is-evening .ls-glow{opacity:1}.ls-glow-shop{mix-blend-mode:screen;background:#fbbf24}.ls-scene .ls-glow-shop{opacity:0}.is-evening .ls-glow-shop,.w-rain.is-evening .ls-glow-shop{opacity:.45}.ls-shutter{transform-box:fill-box;transform-origin:50% 0;transition:transform 1s .3s;transform:scaleY(0)}.t-late .ls-shutter{transform:scaleY(1)}.t-late.is-evening .ls-glow-shop{opacity:.18}.t-late .ls-lamp{opacity:0}.t-late.is-evening .ls-signboard{text-shadow:none;color:#e2e8f0}.ls-rooster{position:absolute;top:321px;left:44px}.ls-head{transform-origin:74px 64px}.ls-beak-low{transform-origin:94px 40px}.ls-eye{transform-origin:89px 36px;animation:4.5s infinite ls-blink}.is-day .ls-head{animation:9s ease-in-out infinite ls-peck}.is-crow .ls-head{animation:1.3s ease-in-out ls-crow}.is-crow .ls-beak-low{animation:1.3s ease-in-out ls-beak}.ls-chick{transform-box:fill-box;transform-origin:50% 100%;animation:1.6s ease-in-out infinite ls-pick}@keyframes ls-pick{0%,60%,to{transform:none}75%{transform:rotate(14deg)translateY(.6px)}}.no .ls-head{animation:.45s ease-in-out 3 ls-no}@keyframes ls-crow{0%{transform:rotate(0)}20%,75%{transform:rotate(-24deg)}to{transform:rotate(0)}}@keyframes ls-beak{0%,15%{transform:rotate(0)}25%,70%{transform:rotate(28deg)}to{transform:rotate(0)}}@keyframes ls-peck{0%,78%,to{transform:rotate(0)}83%,93%{transform:rotate(40deg)}88%{transform:rotate(30deg)}}@keyframes ls-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes ls-no{25%{transform:rotate(9deg)}75%{transform:rotate(-9deg)}}.ls-bubble{color:#7c2d12;letter-spacing:.5px;opacity:0;transform-origin:0 100%;background:#fff;border-radius:18px;padding:10px 16px;font-size:22px;font-weight:800;transition:opacity .25s,transform .25s;position:absolute;top:262px;left:16px;transform:scale(.6);box-shadow:0 6px 20px #0000002e}.ls-bubble:after{content:"";border:10px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-9px;left:64px}.is-crow .ls-bubble{opacity:1;transform:scale(1)}.ls-ind{display:none}.i-tap_hoa .ls-ind-tap_hoa,.i-vlxd .ls-ind-vlxd,.i-dien_thoai .ls-ind-dien_thoai,.i-chung .ls-ind-chung{display:inline}.ls-deco{display:none}.f-tet .ls-deco-tet,.f-trungthu .ls-deco-tt,.f-noel .ls-deco-noel{display:inline}.ls-deco-tt .ls-star{filter:drop-shadow(0 0 6px #f87171e6)}.ls-deco-noel circle{animation:1.2s steps(2,end) infinite ls-bulb}.ls-deco-noel circle:nth-child(2n){animation-delay:-.6s}@keyframes ls-bulb{50%{opacity:.25}}.ls-topbtn{z-index:3;color:#fff;cursor:pointer;background:#0f172a66;border:1px solid #ffffff59;border-radius:22px;min-height:44px;padding:0 16px;font:600 15px Be Vietnam Pro,system-ui,sans-serif;position:absolute;top:16px;right:16px}.is-day .ls-topbtn,.is-sunset .ls-topbtn{color:#134e4a;background:#ffffffbf;border-color:#134e4a40}.ls-sound,.ls-iconbtn{justify-content:center;align-items:center;width:44px;padding:0;display:flex}.ls-sound{left:16px;right:auto}.ls-replay,.is-day .ls-skip,.is-evening .ls-skip{display:none}.is-day .ls-replay,.is-evening .ls-replay{display:flex}.ls-card{z-index:2;box-sizing:border-box;background:var(--surface);max-width:480px;color:var(--ink);opacity:0;border-radius:28px 28px 0 0;flex-direction:column;gap:14px;margin:0 auto;padding:24px 24px 28px;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .4s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -10px 40px #0f172a2e}.is-day .ls-card,.is-evening .ls-card{opacity:1;transform:none}.ls-shake{animation:.4s ls-shake}@keyframes ls-shake{20%{translate:-8px}40%{translate:8px}60%{translate:-5px}80%{translate:5px}}.ls-logo{background:var(--brand);color:#fff;border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:800;transition:background .4s;display:flex}.ls-fest{color:#991b1b;background:#fef2f2;border-radius:999px;align-self:flex-start;margin:0;padding:4px 12px;font-size:13px;font-weight:700}.ls-fest:empty{display:none}.ls-field{color:var(--label);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.ls-inwrap{display:flex;position:relative}.ls-inwrap input{flex:1}.ls-field input{box-sizing:border-box;border:1px solid var(--field);min-width:0;height:48px;color:var(--ink);background:var(--surface);border-radius:12px;outline:none;padding:0 14px;font:500 16px Be Vietnam Pro,system-ui,sans-serif}.ls-field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.ls-field input[aria-invalid=true]{border-color:#dc2626;box-shadow:0 0 0 3px #dc262626}.ls-pw{padding-right:52px}.ls-eye-btn{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;right:2px}.ls-eye-btn:hover{color:var(--ink);background:var(--soft)}.ls-ferr{color:#b91c1c;margin:0;font-size:13px;font-weight:500}.ls-ferr:empty{display:none}.ls-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;font-size:14px;font-weight:500;line-height:1.45;display:flex}.ls-banner[hidden]{display:none}.ls-primary{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;height:52px;font:700 17px Be Vietnam Pro,system-ui,sans-serif;transition:background .4s;display:flex}.ls-primary:hover{filter:brightness(.92)}.ls-primary:disabled{cursor:progress;opacity:.85}.ls-spin{border:2.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite ls-spin}@keyframes ls-spin{to{transform:rotate(360deg)}}@media (min-width:900px){.ls-world{transform:translateX(-50%) scale(var(--s,1));transform-origin:50% 100%;left:34%}.ls-card{border-radius:28px;width:400px;max-width:none;margin:0;inset:50% max(40px,7vw) auto auto;transform:translateY(calc(40px - 50%));box-shadow:0 20px 60px #0f172a47}.is-day .ls-card,.is-evening .ls-card{transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.ls-stars,.ls-cloud,.ls-storm,.ls-smoke,.ls-eye,.ls-head,.ls-chick,.ls-deco-noel circle{animation:none!important}.ls-smoke,.ls-drop,.ls-ripple{display:none}}.paused *,.paused :before,.paused :after{animation-play-state:paused!important}.ls-head-row{align-items:center;gap:12px;display:flex}.ls-title{color:var(--ink);margin:0;font-size:22px;font-weight:800}.ls-sub{color:var(--muted);margin:0;font-size:14px}.ls-greet{color:#9a3412;text-wrap:balance;margin:0;font-size:16px;font-weight:600}.ls-hint{color:var(--muted);text-align:center;margin:0;font-size:14px}.ls-eye-btn svg,.ls-topbtn svg{flex:none;width:22px;height:22px}.ls-logo-img{object-fit:cover;border-radius:14px;width:48px;height:48px}.ls-field label{color:inherit}:root[data-theme=dark] .ls-greet{color:#fdba74}:root[data-theme=dark] .ls-banner{color:#fecaca;background:#3b1418;border-color:#7f1d1d}:root[data-theme=dark] .ls-ferr{color:#fca5a5}:root[data-theme=dark] .ls-fest{color:#fecaca;background:#3b1418}.ls-scene{line-height:normal}.ls-scene label{font:inherit;color:inherit;margin:0;display:block}.ls-scene input,.ls-scene button{margin:0}.ls-scene{font-size:16px}:root:not([data-theme=dark]) .ls-scene{--muted:#475569;--field:#cbd5e1}.ls-field input.ls-pw{padding-right:52px}.ls-scene .ls-eye-btn,.ls-scene .ls-primary{padding:0}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand:#0f766e;--brand-soft:#e6f4f1;--accent:#c2410c;--ok:#15803d;--danger:#b91c1c;--bg:#f4f6f8;--ink:#0f172a;--muted:#64748b;--line:#e5e9ee;--field:#d4dbe3;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius:var(--radius-md);--shadow-sm:0 1px 2px #0f172a14;--shadow-md:0 1px 2px #0f172a0d, 0 4px 12px #0f172a0a;--shadow-lg:0 12px 32px #0f172a2e;--shadow:var(--shadow-md);--nav-h:52px;--app-w:480px;--fs-title:1.25rem;--fs-subtitle:1.05rem;--fs-body:1rem;--fs-small:.85rem;--fs-tiny:.75rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--surface:#fff;--surface-2:#fafcfb;--label:#334155;--soft:#e9eef1;--soft-2:#eef1f4;--soft-brand:#e4ebe9;--shimmer:#f6f8fa;--warn-soft:#fef3c7;--warn-ink:#b45309;--danger-soft:#fdecec;--danger-line:#f3c7c7;--ok-soft:#e7f6ec;--accent-soft:#fff7ed;--auth-top:#c9e9e1;--brand-faint:#9ccfc5;--icon-muted:#94a3b8;--chart-prev:#cbd5e1;--toast:#0f172a;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#0d9488;--brand-soft:#10302d;--accent:#fb923c;--ok:#4ade80;--danger:#f87171;--bg:#0b1120;--ink:#e5e7eb;--muted:#94a3b8;--line:#1f2937;--field:#334155;--surface:#111827;--surface-2:#0f172a;--label:#cbd5e1;--soft:#1e293b;--soft-2:#1e293b;--soft-brand:#1a2e2c;--shimmer:#273449;--warn-soft:#3a2d0c;--warn-ink:#fbbf24;--danger-soft:#3b1518;--danger-line:#7f1d1d;--ok-soft:#10301c;--accent-soft:#3a210c;--auth-top:#10302d;--brand-faint:#2f6f66;--icon-muted:#64748b;--chart-prev:#475569;--toast:#334155;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 1px 2px #0006, 0 4px 12px #00000040;--shadow-lg:0 12px 32px #0000008c}:root{--swatch-teal:#0f766e;--swatch-blue:#1d4ed8;--swatch-indigo:#4338ca;--swatch-violet:#6d28d9;--swatch-rose:#be123c;--swatch-orange:#c2410c;--swatch-amber:#b45309;--swatch-green:#15803d}:root[data-brand=blue]{--brand:#1d4ed8;--brand-soft:#e8effd;--brand-faint:#93c5fd;--soft-brand:#e3e9f3;--auth-top:#cddcf7}:root[data-brand=indigo]{--brand:#4338ca;--brand-soft:#eef0fd;--brand-faint:#a5b4fc;--soft-brand:#e6e8f3;--auth-top:#d6daf7}:root[data-brand=violet]{--brand:#6d28d9;--brand-soft:#f3edfd;--brand-faint:#c4b5fd;--soft-brand:#ebe6f3;--auth-top:#e0d4f7}:root[data-brand=rose]{--brand:#be123c;--brand-soft:#fdecef;--brand-faint:#fda4af;--soft-brand:#f1e4e7;--auth-top:#f7d0d8}:root[data-brand=orange]{--brand:#c2410c;--brand-soft:#fdf0e7;--brand-faint:#fdba74;--soft-brand:#f2e8e1;--auth-top:#f9dcc7}:root[data-brand=amber]{--brand:#b45309;--brand-soft:#fdf4e3;--brand-faint:#fcd34d;--soft-brand:#f1ebdf;--auth-top:#f8e3bd}:root[data-brand=green]{--brand:#15803d;--brand-soft:#e8f5ec;--brand-faint:#86efac;--soft-brand:#e3ece6;--auth-top:#c9ead3}:root[data-theme=dark][data-brand=blue]{--brand:#2563eb;--brand-soft:#13213f;--brand-faint:#2f4f8f;--soft-brand:#1a2333;--auth-top:#13213f}:root[data-theme=dark][data-brand=indigo]{--brand:#4f46e5;--brand-soft:#1c1b45;--brand-faint:#3f3f8f;--soft-brand:#1f2136;--auth-top:#1c1b45}:root[data-theme=dark][data-brand=violet]{--brand:#7c3aed;--brand-soft:#25163f;--brand-faint:#5b3a99;--soft-brand:#241e33;--auth-top:#25163f}:root[data-theme=dark][data-brand=rose]{--brand:#e11d48;--brand-soft:#3a1220;--brand-faint:#8f2f45;--soft-brand:#2e1d23;--auth-top:#3a1220}:root[data-theme=dark][data-brand=orange]{--brand:#c2410c;--brand-soft:#3a1d0c;--brand-faint:#8f4a22;--soft-brand:#2e231c;--auth-top:#3a1d0c}:root[data-theme=dark][data-brand=amber]{--brand:#b45309;--brand-soft:#3a2a0c;--brand-faint:#8f6a22;--soft-brand:#2e281c;--auth-top:#3a2a0c}:root[data-theme=dark][data-brand=green]{--brand:#15803d;--brand-soft:#10301c;--brand-faint:#2f7a4a;--soft-brand:#1c2e22;--auth-top:#10301c}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:15px/1.5 Be Vietnam Pro,system-ui,sans-serif}#root{max-width:var(--app-w);min-height:100dvh;box-shadow:0 0 0 1px var(--line);margin:0 auto}h1{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:-.01em;margin:0 0 12px}button,input{font:inherit;border-radius:var(--radius);min-height:48px}button{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:var(--fw-semibold);box-shadow:none;cursor:pointer;padding:0 16px}button.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:var(--fw-semibold)}button:disabled{opacity:.6}input{border:1px solid var(--field);width:100%;font-size:var(--fs-body);color:var(--ink);background:var(--surface);padding:0 12px;font-weight:400}:focus-visible{outline:2px solid var(--brand);outline-offset:1px}label{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--label);gap:4px;margin-bottom:12px;display:grid}.auth{background:linear-gradient(var(--auth-top), var(--bg) 320px);min-height:100dvh;padding:24px 16px}.auth form{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:16px;display:grid}.brand{justify-items:center;gap:12px;margin:24px 0;display:grid}.brand h1,.brand h2{color:var(--brand);margin:0;font-size:1.5rem}.brand .tagline{color:var(--muted);margin:-8px 0 0}.error{color:var(--danger);margin:0 0 12px}.center{text-align:center;padding:48px 16px}.screen{padding:16px 16px calc(var(--nav-h) + 16px + env(safe-area-inset-bottom))}.scan{width:100%}.bottom-nav{width:min(100%, var(--app-w));background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{min-height:var(--nav-h);font-size:var(--fs-tiny);text-align:center;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.nav-icon{border-radius:14px;justify-content:center;align-items:center;width:52px;height:28px;display:inline-flex}.banner{padding:10px 16px;font-size:.9rem}.banner.warn{background:var(--warn-soft)}.banner.info{background:var(--brand-soft)}.banner.announcement{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.banner.announcement p{white-space:pre-line;margin:2px 0 0}.banner.announcement button{width:32px;min-height:32px;box-shadow:none;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.banner.danger{background:var(--danger-soft)}section>.banner{border-radius:var(--radius);margin-bottom:12px}select{font:inherit;font-size:var(--fs-body);color:var(--ink);border:1px solid var(--field);border-radius:var(--radius);background:var(--surface);width:100%;min-height:48px;padding:0 12px;font-weight:400}h2{font-size:var(--fs-subtitle);margin:16px 0 8px}fieldset{border:0;min-width:0;margin:0;padding:0}button.wide{width:100%;margin-bottom:12px}button.danger{color:var(--danger);border-color:var(--danger-line);margin-top:12px}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin-top:16px;padding:14px}.list{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin:0;padding:0 12px;list-style:none}.list:empty{display:none}.list.picks{margin-bottom:12px;padding:0}.panel .list{box-shadow:none;background:0 0;padding:0}.list li+li{border-top:1px solid var(--line)}.list .row-end{flex:none;align-items:center;gap:12px;margin-left:auto;display:flex}.list .row-end button{margin:0}.list a,.list .row{min-height:56px;color:var(--ink);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 0;text-decoration:none;display:flex}.list .grow,.grow{font-weight:var(--fw-semibold);flex:auto}.list small{color:var(--muted);flex-basis:100%}.list .grow small{font-weight:400;display:block}.amount{font-weight:var(--fw-bold)}.cart-empty{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:var(--muted);margin:0;padding:16px 12px}.owed{color:var(--danger);font-weight:var(--fw-bold)}.big{margin:8px 0 16px;font-size:1.4rem}.seg{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.seg button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:var(--fw-semibold)}.sell-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.sell-top a{min-height:48px;color:var(--brand);font-weight:var(--fw-semibold);align-items:center;gap:6px;display:inline-flex}.scan{min-height:64px;margin:4px 0 12px;font-size:1.2rem}.code-row{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.code-row label,.code-row button{margin-bottom:12px}.picks .pick{text-align:left;width:100%;min-height:56px;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;display:flex}.row .line-actions{flex-basis:100%;gap:8px;display:flex}.row .line-actions button{min-width:56px}.row .line-actions button.danger{margin-top:0}.panel .line-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.panel .line-actions .danger{margin:0 0 0 auto}.picker-row{align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.picker-row>label{flex:auto;min-width:0;margin-bottom:0}.icon-btn{width:48px;box-shadow:none;color:var(--muted);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn.soft{background:var(--brand-soft);color:var(--brand);border-color:#0000}.quick-add{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);margin:0 0 12px;padding:12px}.picker-row+.quick-add{margin-top:-4px}.quick-add>label+.quick-add-actions,.quick-add>.grid2+.quick-add-actions,.quick-add>label+.error{margin-top:0}.quick-add>strong{margin-bottom:8px;display:block}.quick-add>small{color:var(--muted);margin-top:8px;display:block}.quick-add .error{margin:8px 0 0}.quick-add-fields{gap:8px;display:grid}@media (min-width:420px){.quick-add-fields{grid-template-columns:3fr 2fr}}.quick-add-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;margin-top:12px;display:flex}.quick-add-actions button{min-height:44px;margin:0}.quick-add-actions button.plain{padding:0 8px}.quick-add-actions>:first-child:not(.plain):not(.primary){margin-right:auto}button.plain.muted{color:var(--muted);font-weight:var(--fw-medium)}button.plain{box-shadow:none;text-align:left;font-weight:var(--fw-semibold);background:0 0;border:0;padding:0}.chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.seg-2{grid-template-columns:1fr 1fr}.checkout-bar{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));width:min(100%, var(--app-w));background:var(--surface);border-top:1px solid var(--line);padding:10px 16px;position:fixed;left:50%;transform:translate(-50%)}.checkout-bar .wide{min-height:52px;font-size:var(--fs-body);justify-content:space-between;margin:0}.pay{align-items:center;gap:8px;display:inline-flex}.pay-count{font-weight:400}.sell{padding-bottom:80px}.sheet{z-index:10;background:#0f172a8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-body{width:100%;max-width:var(--app-w);background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;padding:16px;overflow:auto}.viewfinder{aspect-ratio:4/3;border-radius:var(--radius-sm);object-fit:cover;background:#000;width:100%;margin-bottom:12px}.seg-3 button{padding:0 8px}.ic{justify-content:center;align-items:center;gap:8px;display:flex}h2.ic{justify-content:flex-start}.back{min-height:48px;color:var(--brand);font-weight:var(--fw-semibold);align-items:center;gap:6px;display:inline-flex}.tabs{scrollbar-width:thin;gap:8px;margin-bottom:8px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs button{background:var(--soft-brand);min-height:44px;box-shadow:none;white-space:nowrap;border:0;border-radius:22px;flex:none;align-items:center;gap:4px;margin:0;padding:0 16px;display:inline-flex}.tabs button[aria-pressed=true]{background:var(--brand);color:#fff;font-weight:var(--fw-semibold)}.tabs .tab-link{background:var(--brand-soft);min-height:44px;color:var(--brand);font-weight:var(--fw-semibold);white-space:nowrap;border-radius:22px;flex:none;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.quick{grid-template-columns:repeat(3,1fr);grid-auto-rows:72px;gap:8px;max-height:280px;margin-bottom:12px;padding:2px;display:grid;overflow-y:auto}.quick button{align-content:center;justify-items:center;gap:2px;min-width:0;min-height:0;margin:0;padding:6px;transition:transform 80ms;display:grid;position:relative}.quick button:active{transform:scale(.95)}.quick-count{background:var(--accent);color:#fff;min-width:20px;font-size:var(--fs-tiny);font-weight:var(--fw-bold);border-radius:999px;padding:0 4px;line-height:20px;animation:.2s pop;position:absolute;top:2px;right:2px}@keyframes pop{50%{transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.quick-count{animation:none}.quick button{transition:none}}.quick-name{-webkit-line-clamp:2;font-size:var(--fs-small);line-height:1.2;font-weight:var(--fw-semibold);overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.quick small{color:var(--brand);font-size:var(--fs-small);font-weight:var(--fw-bold)}.toggle{min-height:48px;font-size:var(--fs-body);color:var(--ink);align-items:center;gap:12px;margin-bottom:0;display:flex}.toggle input{width:24px;height:24px;min-height:0;accent-color:var(--brand);flex:none}.stats{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.stat{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);flex:96px;padding:10px 12px}.stat dt{font-size:.8rem;font-weight:var(--fw-semibold);color:var(--muted)}.stat dd{font-weight:var(--fw-bold);margin:0}.stat.lead{flex-basis:100%}.stat.lead dd{font-size:1.6rem}.stat.profit{background:var(--brand-soft)}.stat.profit dd{color:var(--brand)}.stat.loss{background:var(--danger-soft)}.stat.loss dd{color:var(--danger)}.note{color:var(--muted);font-size:var(--fs-small)}.logout{margin-top:16px}.template{padding:8px 0;font-weight:400}.template-group{justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;display:flex}.template-group h2{margin:0 0 8px}.template-group button.plain{min-height:40px;color:var(--brand)}.badge{background:var(--brand-soft);color:var(--brand);font-size:.8rem;font-weight:var(--fw-semibold);white-space:nowrap;border-radius:999px;flex:none;padding:2px 10px;display:inline-block}.detail-list{grid-template-columns:max-content 1fr;gap:6px 12px;margin:8px 0 0;display:grid}.detail-list dt{color:var(--muted)}.detail-list dd{overflow-wrap:anywhere;margin:0}.warranty-fields h2{margin-top:0}.claim.done{opacity:.75}.status-list .row{padding:10px 0}.status-list .row input:not([type]){flex:100%}.status-list .row .toggle{flex:auto;min-height:44px}.status-list .line-actions{flex-basis:auto}.terms{line-height:1.55}.terms h2{font-size:var(--fs-body);margin:18px 0 6px}.terms p,.terms ul{margin:0 0 8px}.terms ul{padding-left:20px}.terms li{margin-bottom:4px}.cart-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.cart-head button.plain{min-height:40px;color:var(--muted)}textarea{border:1px solid var(--field);border-radius:var(--radius);width:100%;font:inherit;font-size:var(--fs-body);color:var(--ink);background:var(--surface);resize:vertical;padding:8px 12px;font-weight:400}.empty{color:var(--muted);text-align:center;justify-items:center;gap:4px;padding:32px 16px;display:grid}.empty svg{color:var(--brand);opacity:.6}.empty p{font-weight:var(--fw-bold);color:var(--ink);margin:0}.profile{border-radius:var(--radius);background:var(--brand-soft);gap:2px;margin:0 0 12px;padding:12px;display:grid}.profile small{color:var(--muted)}.plan-line{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--brand);justify-self:start;margin-top:4px;text-decoration:none}.plan-line.grace{color:var(--warn-ink)}.plan-line.read_only{color:var(--danger)}.list .chevron{color:var(--muted);margin-left:auto}.warn{background:var(--warn-soft);border-radius:var(--radius-sm);padding:8px 12px}.purchase-line{gap:4px;padding:8px 0;display:grid}.purchase-line p{margin:0}.purchase-head strong{flex:1;min-width:0}.purchase-sum{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.save-actions{gap:8px;margin-left:auto;display:flex}.save-bar{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));background:var(--bg);font-size:var(--fs-subtitle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:8px 0;display:flex;position:sticky}.purchase-line small{color:var(--muted)}.purchase-line .pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.purchase-line .pair label:nth-child(4){grid-column:1/-1}.purchase-line .pair label{margin-bottom:0}.picks .pick.ic{justify-content:flex-start}.chips button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:var(--fw-semibold)}.icon-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.icon-actions button{width:40px;min-width:40px;height:40px;min-height:40px;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.icon-actions button.danger{margin-top:0}.stepper{background:var(--brand-soft);border-radius:20px;align-items:center;display:inline-flex}.stepper span{min-width:24px;font-weight:var(--fw-bold);text-align:center}.line-meta{flex-basis:100%;align-items:center;gap:8px;min-width:0;display:flex}.list .line-meta small{flex:1 1 0;min-width:0}@media (min-width:768px) and (min-height:500px){:root{--nav-w:96px}#root{max-width:none;box-shadow:none}.banner{padding-left:calc(var(--nav-w) + 16px)}.screen{max-width:calc(1200px + var(--nav-w));padding:24px 24px 24px calc(var(--nav-w) + 24px);margin:0 auto}.screen>*{max-width:720px;margin-inline:auto}.screen>.sell{max-width:none}.bottom-nav{width:var(--nav-w);border-top:0;border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:16px 0;display:flex;top:0;left:0;transform:none}.bottom-nav a{flex:none;min-height:72px}.auth>*{width:100%;max-width:420px;margin-inline:auto}.sheet{align-items:center}.sheet-body{border-radius:var(--radius-lg)}.stat.lead{flex:2 200px}.save-bar{bottom:0}.sell{grid-template-columns:minmax(0,1fr) clamp(300px,34%,380px);align-items:start;gap:24px;padding-bottom:0;display:grid}.sell-main .quick{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));max-height:max(280px,100dvh - 240px)}.sell-cart{flex-direction:column;max-height:calc(100dvh - 48px);display:flex;position:sticky;top:24px}.sell-cart h2{margin-top:0}.sell-cart .list{min-height:0;overflow-y:auto}.sell-cart .checkout-bar{width:auto;box-shadow:none;background:0 0;padding:12px 0 0;position:static;transform:none}.sell-cart .checkout-bar .wide{padding:0 12px;font-size:.95rem}.sell-cart .pay svg{display:none}.pay,.pay-count{white-space:nowrap}}@media (hover:hover){.quick button:hover{border-color:var(--brand)}}.seg button[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:var(--fw-semibold)}.seg button{padding:0 6px;font-size:.9rem}a.button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:48px;color:var(--ink);box-shadow:var(--shadow);box-sizing:border-box;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;display:inline-flex}a.button.wide{width:100%;margin-bottom:12px}.row.wrap{flex-wrap:wrap}.row.wrap>input,.row.wrap>select{flex:120px;min-width:0}.checkout-bar>button{margin-bottom:0}.checkout-bar>button:first-child:not(.primary){flex:none;width:auto}.vietqr{text-align:center}.vietqr .qr{justify-content:center;display:flex}.vietqr .qr svg{background:var(--surface);width:220px;height:220px}.stat small{font-size:.8rem;display:block}.stat small.loss{color:var(--danger)}.stat small.profit{color:var(--brand)}fieldset[hidden],form[hidden]{display:none}.print-page{color:#000;background:#fff;max-width:190mm;margin:0 auto;padding:16px;font-size:13px}.print-A5{max-width:130mm}.print-page header{text-align:center}.print-page h1{margin:0;font-size:1.3rem}.print-page h2{text-align:center;margin:12px 0 8px;font-size:1.1rem}.print-page p{margin:4px 0}.print-page table{border-collapse:collapse;width:100%;margin:8px 0}.print-page th,.print-page td{text-align:left;vertical-align:top;border:1px solid #999;padding:4px 6px}.print-page td:nth-child(n+3),.print-page th:nth-child(n+3){text-align:right;white-space:nowrap}.print-page .muted{color:#555;font-size:.85em}.print-page .totals{text-align:right}.print-page .print-foot{text-align:center;margin-top:12px}.print-page .print-foot p{margin:2px 0}.print-page .vietqr{text-align:center;break-inside:avoid;max-width:280px;margin:12px auto 0}.print-page .signs{text-align:center;justify-content:space-around;min-height:80px;margin-top:24px;display:flex}.print-tools{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}@media print{.no-print{display:none!important}body,#root{background:var(--surface);box-shadow:none;max-width:none}.print-page{max-width:none;padding:0}}.subnav{scrollbar-width:none;gap:6px;margin:0 -4px 12px;padding:2px 4px 6px;display:flex;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.subnav a{border:1px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap;box-shadow:var(--shadow);border-radius:999px;flex:none;padding:8px 14px;font-size:.92rem;text-decoration:none}.subnav a[aria-current=page]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:var(--fw-semibold)}.settings-group{font-size:.8rem;font-weight:var(--fw-bold);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:16px 0 4px}.cart-line .line-extras{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.cart-line .field-label{font-size:.8rem;font-weight:var(--fw-semibold);color:var(--muted)}.cart-line .line-discount{flex:180px;align-items:center;gap:6px;display:flex}.cart-line .line-discount input{flex:80px;min-width:0;min-height:40px}.cart-line .unit-toggle{border:1px solid var(--line);border-radius:var(--radius);display:inline-flex;overflow:hidden}.cart-line .unit-toggle button{min-width:40px;min-height:40px;box-shadow:none;border:0;border-radius:0;padding:0 10px}.cart-line .unit-toggle button[aria-pressed=true]{background:var(--brand);color:#fff;font-weight:var(--fw-semibold)}.cart-line .line-vat{flex:0 150px;align-items:center;gap:6px;margin:0;display:flex}.cart-line .line-vat select{flex:auto;min-height:40px}.cart-line .line-note{box-sizing:border-box;width:100%;min-height:40px;margin-top:6px;font-size:.9rem}.cart-line .line-error{font-size:var(--fs-small);margin:4px 0 0}.cart-line s.muted{color:var(--muted)}.cart-totals{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin:8px 0;padding:10px 12px}.cart-totals div{justify-content:space-between;padding:2px 0;display:flex}.cart-totals dt,.cart-totals dd{margin:0}.cart-totals .total{font-weight:var(--fw-bold);font-size:var(--fs-subtitle);border-top:1px solid var(--line);margin-top:4px;padding-top:6px}.cart-line{padding-bottom:10px}.list .cart-line+.cart-line{padding-top:10px}.dialog-backdrop{z-index:70;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);padding:20px}.dialog p{margin:0 0 16px;line-height:1.5}.dialog-actions{flex-direction:column;gap:8px;display:flex}.dialog-actions button{width:100%;margin:0}.topbar{z-index:6;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:6px;margin:-16px -16px 14px;padding:6px 12px 6px 6px;display:flex;position:sticky;top:0}.topbar h1{min-width:0;font-size:var(--fs-subtitle);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;overflow:hidden}.back-arrow{border-radius:var(--radius-md);width:44px;min-height:44px;color:var(--ink);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.back-arrow:hover{background:var(--bg)}.action-bar{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:5;background:var(--surface);border-top:1px solid var(--line);gap:8px;margin:16px -16px -16px;padding:12px 16px;display:grid;position:sticky}.action-bar>button,.action-bar>a.button{width:100%;margin:0}.action-bar .error{margin:0}.action-bar .pay-line{justify-content:space-between;align-items:baseline;display:flex}.action-bar .pay-line small{color:var(--muted)}.action-bar .pay-line strong{font-size:var(--fs-title)}.action-split{grid-template-columns:1fr 1.6fr;gap:8px;display:grid}.action-split>*{width:100%;margin:0}button.lg{min-height:52px;font-size:var(--fs-body)}.badge{height:22px;font-size:var(--fs-tiny);font-weight:var(--fw-semibold);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;padding:0 9px;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.wait{background:var(--accent-soft);color:var(--accent)}.badge.off{background:var(--soft-2);color:var(--muted)}.badge.bad{background:var(--danger-soft);color:var(--danger)}label.toggle{min-height:44px;font-weight:var(--fw-medium);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:.95rem;display:flex}label.toggle input[type=checkbox]{appearance:none;background:var(--field);cursor:pointer;border:0;border-radius:999px;flex:none;order:2;width:42px;height:24px;min-height:0;margin:0;padding:0;transition:background .15s;position:relative}label.toggle input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0f172a40}label.toggle input[type=checkbox]:checked{background:var(--brand)}label.toggle input[type=checkbox]:checked:after{left:21px}label.toggle input[type=checkbox]:disabled{opacity:.5}.empty{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:40px 16px;display:grid}.empty .empty-icon{background:var(--brand-soft);width:56px;height:56px;color:var(--brand);border-radius:18px;place-items:center;display:grid}.empty strong{color:var(--ink);font-size:var(--fs-body)}.empty p{max-width:280px;margin:0;font-size:.9rem}.empty .button,.empty button{margin-top:6px}.kv{gap:6px;display:grid}.kv>div{justify-content:space-between;gap:12px;font-size:.92rem;display:flex}.kv>div>span:first-child{color:var(--muted)}.kv>div>span:last-child{text-align:right;font-weight:var(--fw-medium)}.sum{gap:6px;margin:12px 0;font-size:.92rem;display:grid}.sum>div{color:var(--muted);justify-content:space-between;display:flex}.sum>div>b{color:var(--ink);font-weight:var(--fw-semibold)}.sum>.total{border-top:1px dashed var(--line);color:var(--ink);font-size:1.15rem;font-weight:var(--fw-bold);padding-top:8px}.sum>.total>b{font-weight:var(--fw-bold)}.group-title{font-size:var(--fs-tiny);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.done-mark{text-align:center;justify-items:center;gap:6px;margin:8px 0 12px;display:grid}.done-mark span{background:var(--ok-soft);width:56px;height:56px;color:var(--ok);border-radius:50%;place-items:center;display:grid}.done-mark h1{margin:0}.done-mark small{color:var(--muted)}label.check{min-height:44px;font-size:.95rem;font-weight:var(--fw-medium);color:var(--ink);align-items:center;gap:10px;margin-bottom:4px;display:flex}label.check input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--brand);flex:none;margin:0}button.soft,a.button.soft{background:var(--brand-soft);color:var(--brand);border-color:#0000}button.plain.danger-text{min-height:40px;color:var(--danger);font-weight:var(--fw-semibold);text-align:center;justify-self:center}.panel .list{margin:0}.panel>.group-title+.list .row:first-child,.panel>.group-title+.list li:first-child .row{padding-top:0}.list small .badge{height:20px;padding:0 8px;font-size:.7rem}fieldset.panel{margin:0 0 12px}fieldset.panel>label:last-child,fieldset.panel>.picker-row:last-child{margin-bottom:0}button,input,select,a.button{min-height:44px}a.button{box-shadow:none;font-weight:var(--fw-semibold)}.list{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none;padding:0 14px}.list a,.list .row{min-height:52px;padding:10px 0}.list .grow{font-size:.95rem}.list small{font-size:.8rem}.cart-empty{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none}.seg{border-radius:var(--radius);background:var(--soft);gap:3px;padding:3px}.seg button{border-radius:var(--radius-sm);min-height:38px;color:var(--label);font-weight:var(--fw-medium);box-shadow:none;background:0 0;border:0;margin:0}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:var(--fw-semibold);box-shadow:var(--shadow-sm);border-color:#0000}.seg.seg-pay{grid-template-columns:repeat(4,auto)}@media (max-width:400px){.seg.seg-pay{grid-template-columns:1fr 1fr}}.chips{gap:6px}.chips button{background:var(--soft);min-height:36px;color:var(--label);font-weight:var(--fw-medium);box-shadow:none;border:0;border-radius:999px;padding:0 14px}.chips button[aria-pressed=true]{background:var(--brand);color:#fff}.subnav{gap:6px}.subnav a{background:var(--soft);color:var(--label);font-weight:var(--fw-medium);box-shadow:none;border:0;padding:7px 14px}.subnav a[aria-current=page]{background:var(--brand);color:#fff}.tabs button,.tabs .tab-link{min-height:36px;padding:0 14px;font-size:.9rem}.tabs button{background:var(--soft);color:var(--label);font-weight:var(--fw-medium)}.tabs button[aria-label=Thêm\ giỏ]{justify-content:center;width:36px;padding:0}.quick{grid-template-columns:repeat(2,1fr);grid-auto-rows:64px}.quick button{border:1px solid var(--line);background:var(--surface);text-align:left;box-shadow:none;border-radius:14px;align-content:center;justify-items:start;padding:8px 12px}.quick button.in-cart{border-color:var(--brand);background:var(--surface)}.quick small{color:var(--muted);font-weight:var(--fw-medium)}.stepper{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.stepper button{width:32px;min-width:32px;height:34px;min-height:34px;color:var(--muted)}.stat{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none;padding:12px 14px}.stat dt{font-weight:var(--fw-medium)}.stat dd{letter-spacing:-.01em;font-size:1.15rem}.sell-top{background:var(--surface);border-bottom:1px solid var(--line);margin:-16px -16px 12px;padding:6px 16px}.sell-top h1{font-size:var(--fs-subtitle);font-weight:var(--fw-semibold);margin:0}.sell-top a{min-height:40px;font-size:.9rem}.scan{box-shadow:none}.bottom-nav a{color:var(--muted);font-size:var(--fs-tiny)}.bottom-nav a[aria-current=page]{color:var(--brand);font-weight:var(--fw-semibold)}.bottom-nav a[aria-current=page] .nav-icon{background:0 0}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid2>label{min-width:0;margin-bottom:12px}.grid2:empty{display:none}.sum>div>span{color:var(--muted)}.sum>.total>span{color:var(--ink)}h2{font-size:var(--fs-tiny);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search-field{margin-bottom:12px;display:block;position:relative}.search-field svg{color:var(--icon-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-field input{padding-left:38px}.checkout-bar{gap:8px;display:grid}.checkout-bar .pay-line{justify-content:space-between;align-items:baseline;display:flex}.checkout-bar .pay-line small{color:var(--muted)}.checkout-bar .pay-line strong{font-size:var(--fs-title)}.checkout-bar .action-split>button,.checkout-bar .action-one>button{justify-content:center;width:100%;min-height:48px;margin:0}.action-one{display:grid}button.plain.add-note{min-height:32px;color:var(--brand);font-size:var(--fs-small);font-weight:var(--fw-medium);margin-top:2px}.quick{grid-auto-rows:minmax(64px,auto);max-height:340px}.quick-name{-webkit-line-clamp:unset;overflow-wrap:anywhere;line-height:1.25;display:block;overflow:visible}.cart-line .grow,.list .grow{overflow-wrap:anywhere}.panel .list{background:0 0;border:0;border-radius:0;padding:0}.toast{border-radius:var(--radius);background:var(--toast);color:#fff;width:100%;min-height:44px;font-size:var(--fs-small);font-weight:var(--fw-medium);text-align:left;border:0;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;animation:.18s ease-out toast-in;display:flex}.toast-ok{color:#86efac;flex:none}.toast-text{flex:1;min-width:0}.toast-count{width:24px;height:24px;font-size:var(--fs-tiny);font-weight:var(--fw-semibold);border:1.5px solid #ffffff80;border-radius:50%;flex:none;place-items:center;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.attachments .group-title{align-items:center;gap:6px;display:flex}.att-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.att-item,.att-add{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);place-items:center;min-height:0;margin:0;padding:0;display:grid;position:relative;overflow:hidden}.att-img{object-fit:cover;width:100%;height:100%}.thumb-empty{background:var(--soft);width:100%;height:100%;display:block}.att-doc{color:var(--danger);justify-items:center;gap:4px;padding:6px;display:grid}.att-doc small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.att-add{border:1.5px dashed var(--field);background:var(--surface);color:var(--brand);cursor:pointer;font-weight:var(--fw-medium);align-content:center;gap:2px}.att-add small{font-size:var(--fs-tiny)}.att-add.busy{opacity:.6;cursor:progress}.viewer{z-index:60;background:#0f172ad9;padding:12px}.viewer-body{gap:8px;width:100%;max-width:720px;max-height:100%;display:grid}.viewer-bar{color:#fff;align-items:center;gap:4px;display:flex}.viewer-bar .back-arrow{color:#fff}.viewer-bar .back-arrow:hover{background:#ffffff1f}.viewer-img{object-fit:contain;border-radius:var(--radius-md);background:#000;width:100%;max-height:80vh}.prod-thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--soft);flex:none;width:44px;height:44px}.quick .prod-thumb{border-radius:var(--radius-sm);width:100%;height:56px;margin-bottom:4px}.att-cover{z-index:1;color:#fff;font-size:.62rem;font-weight:var(--fw-semibold);background:#0f172abf;border-radius:999px;padding:1px 6px;position:absolute;bottom:4px;left:4px}.viewer-note{color:#cbd5e1;font-size:var(--fs-small);margin:0}.att-cell{position:relative}.att-cell .att-item{width:100%}.att-del{z-index:2;color:#fff;background:#0f172ab3;border:0;border-radius:50%;place-items:center;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;display:grid;position:absolute;top:4px;right:4px}.att-del:hover{background:var(--danger)}.row>.prod-thumb,.purchase-head>.prod-thumb{border-radius:var(--radius-sm);width:40px;height:40px}.cart-line .row>.prod-thumb{align-self:flex-start}.pick-line{text-align:left;align-items:center;gap:10px;display:flex}.pick-line small{color:var(--muted);font-weight:400;display:block}.purchase-head{align-items:center;gap:10px;display:flex}.purchase-head>strong{flex:1;min-width:0}.prod-noimg{background:var(--brand-soft);color:var(--brand-faint);place-items:center;display:grid}.prod-noimg svg{stroke-width:1.6px;width:52%;height:52%}.quick .prod-noimg svg{width:30px;height:30px}.tab-count{min-width:22px;font-size:var(--fs-tiny);font-weight:var(--fw-semibold);text-align:center;background:#0f172a14;border-radius:11px;padding:0 6px;line-height:20px}.tabs button[aria-pressed=true] .tab-count{background:#ffffff40}.quick-out{z-index:1;color:#fff;font-size:.65rem;font-weight:var(--fw-semibold);background:#0f172abf;border-radius:999px;padding:1px 6px;position:absolute;top:4px;left:4px}.pay-label{text-align:left;justify-items:start;line-height:1.15;display:grid}.pay-label small{font-size:.78rem;font-weight:var(--fw-medium);opacity:.9}.sell-groups{scrollbar-width:none;overscroll-behavior-x:contain;gap:6px;margin:0 0 6px;padding:0 0 2px;display:flex;overflow-x:auto}.sell-groups::-webkit-scrollbar{display:none}.sell-groups button{border:1px solid var(--line);background:var(--surface);min-height:44px;box-shadow:none;color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-medium);white-space:nowrap;border-radius:22px;flex:none;align-items:center;gap:6px;margin:0;padding:0 14px;display:inline-flex}.sell-groups button[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:var(--fw-semibold)}.sell-groups .tab-count{color:var(--muted);background:var(--soft)}.sell-groups button[aria-pressed=true] .tab-count{color:inherit;background:#ffffff38}.sell-list-head{flex-wrap:wrap;justify-content:flex-start;row-gap:6px;margin:0 0 6px}.sell-list-count{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:var(--fs-small);font-weight:var(--fw-semibold);flex:auto;overflow:hidden}.sell-list-head .chip-toggle{min-height:44px;font-size:var(--fs-small);box-shadow:none;border-radius:22px;flex:none;margin:0;padding:0 12px}.sell-list-head .view-toggle{margin-left:0}.sell-list-head .sort-chip{color:var(--ink);flex:none;align-items:center;margin:0;display:inline-flex;position:relative}.sort-chip svg{color:var(--muted);pointer-events:none;position:absolute;left:10px}.sort-chip select{border:1px solid var(--field);background:var(--surface);width:auto;max-width:140px;min-height:44px;color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-medium);text-overflow:ellipsis;border-radius:22px;padding:0 10px 0 30px}.search-clear{z-index:1;width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;color:var(--icon-muted);background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid;position:absolute;top:2px;right:2px}.search-wrap:has(.search-clear) input{padding-right:44px}.search-wrap:has(.search-clear) input::-webkit-search-cancel-button{display:none}.filter-chips{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;display:flex}.filter-chips button{border-radius:var(--radius-lg);min-height:32px;font-size:var(--fs-small);box-shadow:none;margin:0;padding:0 12px}.chip-toggle{border:1px solid var(--field);background:var(--surface)}.chip-toggle[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:var(--fw-semibold)}.chip-on{background:var(--soft-brand);border:0;align-items:center;gap:4px;display:inline-flex}.chip-clear{color:var(--brand);font-weight:var(--fw-semibold)}.badge.muted{background:var(--soft-2);color:var(--muted)}.stock-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stock-line .badge{font-size:var(--fs-tiny);padding:1px 8px}.prod-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.prod-head h1{margin:0}.price-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:12px 0;display:grid}.price-card{border-radius:var(--radius);background:var(--brand-soft);gap:2px;padding:12px 14px;display:grid}.price-card strong{font-size:var(--fs-title);color:var(--brand)}.price-card small{color:var(--muted)}.form-block{border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 6px;padding-top:12px}.form-block:first-child{border-top:0;margin-top:0;padding-top:0}.prod-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.prod-card{border-radius:var(--radius);background:var(--surface);height:100%;box-shadow:var(--shadow);color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.prod-card-img{object-fit:cover;border-radius:0;width:100%;height:120px;display:grid}.prod-card-img.prod-noimg svg{width:44px;height:44px}.prod-card-body{flex-direction:column;flex:1;gap:2px;padding:8px 10px 10px;display:flex}.prod-card-name{-webkit-line-clamp:2;font-weight:var(--fw-semibold);overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.prod-card-code{color:var(--muted);font-size:var(--fs-tiny)}.prod-card-foot{justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding-top:6px;display:flex}.prod-card-foot .badge{padding:1px 8px;font-size:.68rem}.prod-card-foot strong{white-space:nowrap;font-size:.9rem}.prod-hero{border-radius:var(--radius-lg);object-fit:cover;width:100%;height:220px;margin:0 0 12px;display:grid}.prod-hero.prod-noimg svg{width:72px;height:72px}.price-card{align-items:center;gap:10px;display:flex}.price-card>svg{color:var(--brand);flex:none}.price-card>span{gap:2px;display:grid}.price-card.cost{background:var(--soft-2)}.price-card.cost strong,.price-card.cost>svg{color:var(--ink)}.kind-tiles{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.kind-tiles button{border:1px solid var(--field);border-radius:var(--radius);background:var(--surface);min-height:76px;box-shadow:none;font-weight:var(--fw-semibold);flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:0;padding:10px 8px;line-height:1.2;display:flex}.kind-tiles button svg{flex:none}.kind-tiles button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.list-tools{align-items:center;gap:8px;margin-bottom:10px;display:flex}.list-tools>.search-field{flex:1;min-width:0;margin:0}.filter-btn{border:1px solid var(--field);border-radius:var(--radius-md);background:var(--surface);min-height:44px;box-shadow:none;flex:none;align-items:center;gap:4px;margin:0;padding:0 12px;display:inline-flex}.filter-btn.on,.filter-btn[aria-expanded=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:var(--fw-semibold)}.filter-panel{margin-bottom:10px}.prod-grid[hidden]{display:none}.view-toggle{border-radius:var(--radius-sm);background:var(--soft-brand);flex:none;margin-left:auto;padding:2px;display:inline-flex}.view-toggle button{border-radius:var(--radius-sm);width:38px;min-width:38px;min-height:40px;box-shadow:none;color:var(--muted);background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid}.view-toggle button[aria-pressed=true]{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.seg-3 button{white-space:nowrap;font-size:.9rem}.date-step{border:1px solid var(--field);border-radius:var(--radius-md);background:var(--surface);flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.date-step button{width:34px;min-width:34px;min-height:40px;box-shadow:none;background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid}.date-step button:disabled{opacity:.35}.date-step input{text-align:center;background:0 0;border:0;width:118px;min-height:40px;margin:0;padding:0 4px;font-size:.9rem}.date-step input:focus{outline:none}.date-step:focus-within{border-color:var(--brand)}.day-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px;display:grid}.day-summary>div{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:2px;padding:10px 12px;display:grid}.day-summary small{color:var(--muted);font-size:var(--fs-tiny)}.day-summary strong{font-size:var(--fs-subtitle)}.order-list li{gap:8px;display:grid}.order-list li>a{color:inherit;justify-content:space-between;align-items:flex-start;gap:10px;text-decoration:none;display:flex}.oc-main{gap:2px;min-width:0;display:grid}.oc-main>span:not(.oc-tags){color:var(--ink)}.oc-main small{color:var(--muted)}.oc-side{flex:none;justify-items:end;gap:4px;display:grid}.oc-side .amount{font-size:var(--fs-subtitle)}.oc-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.tag{background:var(--soft-2);color:var(--muted);font-size:var(--fs-tiny);border-radius:6px;padding:0 8px;line-height:20px}.tag.owe{background:var(--danger-soft);color:var(--danger)}.oc-pay{justify-self:end;min-height:40px;margin:0}.sum-card{gap:6px;display:grid}.sum-card .paid-line{border-top:1px dashed var(--line);font-weight:var(--fw-semibold);padding-top:6px}.sum-card .owe-line,.sum-card .owe-line b{color:var(--danger);font-weight:var(--fw-semibold)}.order-filters{flex-wrap:nowrap;gap:3px;padding-bottom:0}.order-filters button{flex:auto;justify-content:center;min-height:38px;padding:0 4px;font-size:.8rem}.cart-line.compact{padding:0;position:relative;overflow:hidden}.list .cart-line.compact+.cart-line.compact{border-top:1px solid var(--line);padding-top:0}.cart-line.compact .cl-body{z-index:1;background:var(--surface);touch-action:pan-y;gap:10px;padding:10px 0;transition:transform .15s;display:flex;position:relative}.cart-line.compact.swiping .cl-body{transition:none}.cart-line.compact .cl-body>.prod-thumb{align-self:flex-start;width:44px;height:44px}.cl-main{flex:1;gap:4px;min-width:0;display:grid}.cl-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.cl-name{-webkit-line-clamp:2;font-weight:var(--fw-semibold);overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.cl-top .amount{white-space:nowrap;flex:none}.cl-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.cl-bottom small{color:var(--muted)}.cl-bottom .stepper .qty{width:36px;min-width:36px;height:34px;min-height:34px;box-shadow:none;color:var(--ink);font-weight:var(--fw-bold);text-align:center;background:0 0;border:0;margin:0;padding:0}.cl-bottom .stepper input.qty{background:var(--brand-soft);border-radius:6px;font-size:.95rem}.cl-weigh{min-height:34px;color:var(--brand);font-size:var(--fs-small)}.swipe-del{z-index:0;background:var(--danger);color:#fff;width:80px;font-weight:var(--fw-semibold);border:0;border-radius:0;justify-content:center;align-items:center;gap:4px;margin:0;padding:0;display:flex;position:absolute;inset:0 0 0 auto}@media (hover:hover){.cart-line.compact .swipe-del{border-radius:var(--radius-sm);width:32px;height:32px;min-height:32px;color:var(--muted);opacity:0;background:0 0;font-size:0;inset:10px 0 auto auto}.cart-line.compact .swipe-del svg{font-size:var(--fs-body)}.cart-line.compact:hover .swipe-del{z-index:2;opacity:1}.cart-line.compact:hover .cl-top .amount{margin-right:34px}.cart-line.compact .swipe-del:hover{color:var(--danger);background:var(--danger-soft)}}.cart-line.flash .cl-body{animation:.7s ease-out line-flash}@keyframes line-flash{0%{background:var(--brand-soft)}to{background:var(--surface)}}@media (prefers-reduced-motion:reduce){.cart-line.flash .cl-body{animation:none}}.cart-subtotal{border-top:1px dashed var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;padding:10px 0 2px;display:flex}.cart-subtotal strong{color:var(--ink);font-size:var(--fs-subtitle)}div.cart-empty{text-align:center;color:var(--muted);justify-items:center;gap:4px;padding:24px 12px;display:grid}div.cart-empty svg{color:var(--brand-faint)}div.cart-empty strong{color:var(--ink)}.cart-peek{min-height:52px;box-shadow:none;text-align:left;background:0 0;border:0;align-items:center;gap:10px;margin:0;padding:0 4px;display:inline-flex}.cart-peek-icon{border-radius:var(--radius-md);background:var(--brand-soft);width:40px;height:40px;color:var(--brand);place-items:center;display:grid;position:relative}.cart-peek-count{background:var(--accent);color:#fff;min-width:20px;font-size:var(--fs-tiny);font-weight:var(--fw-bold);text-align:center;border-radius:999px;padding:0 5px;line-height:20px;animation:.2s pop;position:absolute;top:-6px;right:-8px}.cart-peek-text{line-height:1.15;display:grid}.cart-peek-text small{color:var(--muted);font-size:var(--fs-tiny)}.cart-peek-text strong{font-size:var(--fs-body)}.checkout-bar:has(.cart-peek){align-items:center;gap:8px;display:flex}.checkout-bar:has(.cart-peek)>div{flex:1;min-width:0}.cart-backdrop{z-index:8;background:#0f172a73;position:fixed;inset:0}.sell-cart.open{left:0;right:0;bottom:calc(var(--nav-h) + 72px + env(safe-area-inset-bottom));z-index:9;width:min(100%, var(--app-w));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);max-height:70dvh;margin-inline:auto;padding:12px 16px;animation:.2s ease-out sheet-up;position:fixed;overflow-y:auto;box-shadow:0 -8px 24px #0f172a2e}.sell-cart.open .checkout-bar{z-index:10}@keyframes sheet-up{0%{opacity:0}to{opacity:1}}@media (min-width:768px) and (min-height:500px){.cart-peek,.cart-backdrop{display:none}.sell-cart.open{width:auto;max-height:calc(100dvh - 48px);box-shadow:none;background:0 0;border-radius:0;margin-inline:0;padding:0;animation:none;position:sticky;bottom:auto;left:auto;right:auto}}.quick-qty{grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 12px;display:grid}.quick-qty button{min-height:40px;font-size:var(--fs-small);margin:0;padding:0 4px}.checkout-bar{z-index:6}.cl-weigh{white-space:nowrap}@media not all and (min-width:768px) and (min-height:500px){.sell-cart:not(.open)>:not(.checkout-bar):not(.toast):not(.banner):not(.error){display:none}.sell-cart:not(.open)>.toast,.sell-cart:not(.open)>.banner{left:0;right:0;bottom:calc(var(--nav-h) + 80px + env(safe-area-inset-bottom));z-index:7;width:min(calc(100% - 32px), calc(var(--app-w) - 32px));border-radius:var(--radius);box-shadow:var(--shadow);margin-inline:auto;position:fixed}.checkout-bar.peek-only .cart-peek{flex:1}}@media (min-width:768px) and (min-height:500px){.checkout-bar.peek-only{display:none}}@media not all and (min-width:768px) and (min-height:500px){.sell-main .quick{max-height:none;overflow:visible}.sell{padding-bottom:88px}.checkout-bar:not(.peek-only) .cart-peek-text{display:none}.checkout-bar .action-split{grid-template-columns:auto 1fr}.checkout-bar .action-split>button:not(.primary){white-space:nowrap;gap:4px;padding:0 10px}.checkout-bar .action-split>button:not(.primary) svg{flex:none}}.bottom-nav{z-index:20}@media not all and (min-width:768px) and (min-height:500px){.sell{padding-bottom:0}.sell-main{flex-direction:column;display:flex}.sell-main>*{flex:none}.sell-main>.quick{overscroll-behavior:contain;flex:auto;grid-auto-rows:max-content;align-content:start;min-height:140px;max-height:none;overflow-y:auto}}.quick-foot{grid-column:1/-1;padding:4px 2px 8px}.quick-foot p{margin:0 0 4px}.scroll-page{height:calc(100dvh - var(--nav-h) - 32px - env(safe-area-inset-bottom));flex-direction:column;display:flex}.scroll-page>*{flex:none}.scroll-page>.scroll-list{overscroll-behavior:contain;flex:auto;min-height:120px;margin-bottom:0;overflow-y:auto}.scroll-page>.prod-grid.scroll-list{align-content:start;padding:2px 2px 8px}@media (min-width:768px) and (min-height:500px){.scroll-page{height:calc(100dvh - 48px)}}.period-seg{margin-bottom:12px}.kpis{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;transition:opacity .15s;display:grid}.kpi{border-radius:var(--radius);background:var(--surface);min-height:84px;box-shadow:var(--shadow);gap:2px;padding:12px;display:grid}.kpi small{color:var(--muted);font-size:.8rem}.kpi strong{overflow-wrap:anywhere;font-size:1.15rem}.kpi-delta{font-size:.78rem;font-weight:var(--fw-bold)}.kpi-delta em{color:var(--muted);font-style:normal;font-weight:400}.kpi-delta.up{color:var(--ok)}.kpi-delta.down{color:var(--danger)}.kpi-delta.flat{color:var(--muted)}.stale{opacity:.55}.chart-card{transition:opacity .15s}.rev-chart{width:100%;height:auto;display:block}.rev-chart .axis{stroke:var(--line)}.rev-chart rect.prev{fill:var(--chart-prev)}.rev-chart text{fill:var(--muted);font-size:9px}.chart-legend{color:var(--muted);align-items:center;gap:6px;margin:6px 0 0;font-size:.78rem;display:flex}.chart-legend .dot{border-radius:3px;width:10px;height:10px;display:inline-block}.chart-legend .dot.cur{background:var(--brand)}.chart-legend .dot.prev{background:var(--chart-prev);margin-left:8px}.todo-list a.todo{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.todo-icon{border-radius:var(--radius-sm);background:var(--warn-soft);width:34px;height:34px;color:var(--warn-ink);flex:none;place-items:center;display:grid}.todo small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.todo .grow{min-width:0}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--soft-2) 0%, var(--shimmer) 50%, var(--soft-2) 100%);box-shadow:none;background-size:200% 100%;animation:1.2s linear infinite shimmer}.chart-skeleton{height:140px}.todo-skeleton{height:96px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media (min-width:768px) and (min-height:500px){.kpis{grid-template-columns:repeat(4,1fr)}}.undo-snack{left:0;right:0;bottom:calc(var(--nav-h) + 84px + env(safe-area-inset-bottom));z-index:30;width:min(calc(100% - 32px), calc(var(--app-w) - 32px));border-radius:var(--radius-md);background:var(--toast);color:#fff;box-shadow:var(--shadow-lg);justify-content:space-between;align-items:center;gap:12px;margin-inline:auto;padding:10px 12px 10px 16px;animation:.18s ease-out snack-in;display:flex;position:fixed}.undo-snack button{border-radius:var(--radius-sm);min-height:36px;box-shadow:none;color:#6ee7b7;font-weight:var(--fw-bold);background:0 0;border:0;margin:0;padding:0 12px}@keyframes snack-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (min-width:768px) and (min-height:500px){.undo-snack{bottom:24px}}.pay-done{width:64px;height:64px}.pay-ring{fill:var(--ok-soft);stroke:var(--ok);stroke-width:3px;stroke-dasharray:145;stroke-dashoffset:145px;transform-origin:50%;animation:.55s ease-out forwards ring-draw;transform:rotate(-90deg)}.pay-check{fill:none;stroke:var(--ok);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34;stroke-dashoffset:34px;animation:.3s ease-out .5s forwards check-draw}@keyframes ring-draw{to{stroke-dashoffset:0}}@keyframes check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.pay-ring,.pay-check{stroke-dashoffset:0;animation:none}}.ptr{color:var(--muted);font-size:var(--fs-small);flex:none;justify-content:center;align-items:center;gap:8px;transition:height .15s;display:flex;overflow:hidden}.ptr .spin{animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}.banner.offline{background:var(--toast);color:#fff;align-items:center;gap:8px;display:flex}.search-empty{border:1px dashed var(--field);border-radius:var(--radius);text-align:center;color:var(--muted);justify-items:center;gap:4px;padding:20px 12px;display:grid}.search-empty svg{color:var(--brand-faint)}.search-empty strong{color:var(--ink);overflow-wrap:anywhere}.search-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.search-empty-actions button{min-height:44px;margin:0}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #b91c1c26}.page-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-head h1{flex:1;margin:0}.round-btn{background:var(--surface);width:44px;min-width:44px;min-height:44px;color:var(--ink);box-shadow:var(--shadow);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.avatar-btn{border:2px solid var(--surface);background:var(--brand);color:#fff;width:44px;min-width:44px;height:44px;min-height:44px;font-size:.9rem;font-weight:var(--fw-bold);box-shadow:var(--shadow);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.avatar-btn.sm{background:var(--brand-soft);width:38px;min-width:38px;height:38px;min-height:38px;color:var(--brand);box-shadow:none;border:0;font-size:.8rem}.account{position:relative}.account-menu{z-index:40;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:240px;box-shadow:var(--shadow-lg);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.account-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:4px;padding:8px 8px 12px;display:flex}.account-head>span:last-child{min-width:0;display:grid}.account-head small{color:var(--muted)}.account-menu a,.account-menu button{border-radius:var(--radius-sm);min-height:44px;box-shadow:none;color:var(--ink);font-weight:var(--fw-medium);text-align:left;background:0 0;border:0;align-items:center;gap:10px;margin:0;padding:0 10px;text-decoration:none;display:flex}.account-menu a:hover,.account-menu button:hover{background:var(--soft-2)}.account-menu .danger-text{color:var(--danger)}.kpi-label{align-items:center;gap:8px;margin-bottom:4px;display:flex}.kpi-icon{border-radius:var(--radius-sm);background:var(--brand-soft);width:30px;height:30px;color:var(--brand);place-items:center;display:grid}h2.card-title{font-size:var(--fs-subtitle);font-weight:var(--fw-bold);letter-spacing:normal;text-transform:none;color:var(--ink);margin:0 0 10px}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card-head a{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--brand);text-decoration:none}.chart-sum{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr 1fr;margin-bottom:10px;padding:10px 12px;display:grid}.chart-sum>div{min-width:0;display:grid}.chart-sum>div+div{border-left:1px solid var(--line);padding-left:12px}.chart-sum strong{font-size:var(--fs-subtitle);overflow-wrap:anywhere}.chart-sum small{color:var(--muted);font-size:.78rem}.rev-chart rect.cur{fill:var(--brand-faint)}.rev-chart rect.cur.hi{fill:var(--brand)}.todo-list a.todo,.recent-list a{flex-wrap:nowrap}.recent-list a{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.recent-list .grow{min-width:0}.recent-list small{color:var(--muted);display:block}.recent-right{justify-items:end;gap:2px;display:grid}.tag.paid{background:var(--ok-soft);color:var(--ok)}:where(a:not([class])){color:var(--brand)}.head-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.head-actions.compact .round-btn,.head-actions.compact .avatar-btn{width:36px;min-width:36px;height:36px;min-height:36px;box-shadow:none;font-size:.78rem}.head-actions.compact .round-btn{background:var(--soft-2)}.sell-links{align-items:center;gap:10px;display:inline-flex}.avatar-btn{overflow:hidden}.avatar-btn .avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-btn .avatar-img.thumb-empty{background:0 0}.account-error{font-size:var(--fs-small);margin:4px 10px 8px}.bell-btn{position:relative}.bell-dot{background:var(--danger);color:#fff;min-width:18px;height:18px;font-size:.7rem;font-weight:var(--fw-bold);border-radius:999px;place-items:center;padding:0 4px;line-height:1;display:grid;position:absolute;top:-2px;right:-2px}.bell-menu{align-content:start;width:min(340px,100vw - 32px);max-height:min(70vh,480px);overflow-y:auto}.bell-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:4px 4px 8px 10px;display:flex}.account-menu .bell-all{min-height:44px;color:var(--brand);font-size:var(--fs-small);font-weight:var(--fw-semibold);padding:0 8px}.bell-empty{color:var(--muted);margin:12px 10px}.bell-list{margin:0;padding:0;list-style:none}.account-menu .bell-item{gap:2px;width:100%;min-height:56px;padding:8px 10px;font-weight:400;display:grid}.bell-item small{color:var(--muted);white-space:pre-line}.bell-item.unread .bell-title{font-weight:var(--fw-bold)}.bell-item.unread{background:var(--brand-soft)}.bell-list li+li{margin-top:2px}.brand-swatches{flex-wrap:wrap;gap:10px;display:flex}.brand-swatch{border:2px solid var(--surface);color:#fff;width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:0 0 0 1px var(--line);border-radius:50%;place-items:center;padding:0;display:grid}.brand-swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--ink)}.swatch-teal{background:var(--swatch-teal)}.swatch-blue{background:var(--swatch-blue)}.swatch-indigo{background:var(--swatch-indigo)}.swatch-violet{background:var(--swatch-violet)}.swatch-rose{background:var(--swatch-rose)}.swatch-orange{background:var(--swatch-orange)}.swatch-amber{background:var(--swatch-amber)}.swatch-green{background:var(--swatch-green)}.logo-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.logo-preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);object-fit:contain;place-items:center;width:96px;height:96px;display:grid}.logo-none{color:var(--muted);text-align:center;font-size:.8rem}.logo-actions{flex-wrap:wrap;gap:8px;display:flex}.logo-actions button{margin:0}.store-logo{border-radius:var(--radius-sm);object-fit:contain;background:var(--surface);flex:none;width:32px;height:32px}.sell-store{align-items:center;gap:8px;min-width:0;display:flex}.receipt-logo{object-fit:contain;max-width:160px;max-height:80px;margin:0 auto 8px;display:block}.print-logo{object-fit:contain;max-width:180px;max-height:72px;margin:0 auto 6px;display:block}.receipt-logo.thumb-empty,.print-logo.thumb-empty,.store-logo.thumb-empty{display:none}.unit-pick{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex;position:relative}button.plain.unit-label{min-height:44px;color:var(--brand);padding:0 4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.unit-menu{flex-wrap:wrap;flex-basis:100%;gap:6px;display:flex}.unit-menu button{flex-direction:column;justify-content:center;min-height:44px;padding:0 12px;line-height:1.2;display:inline-flex}.unit-menu button small{color:var(--muted);font-weight:400}.unit-menu button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft)}.unit-rows{gap:10px;display:grid}.unit-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.unit-row .wide{grid-column:1/-1}.purchase-pay{margin-top:12px}.payable{color:var(--danger);font-weight:var(--fw-semibold)}.payable.credit{color:var(--ok)}.diff-more{color:var(--ok);font-weight:var(--fw-semibold)}.diff-less{color:var(--danger);font-weight:var(--fw-semibold)}.grow>.badge,.kv span>.badge,.claim p>.badge{margin-left:6px}.list button.row{width:100%;box-shadow:none;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;margin:0;font-weight:400}.list button.row:disabled{opacity:1;cursor:default}.list li>.quick-add{margin:8px 0}.save-actions button{margin:0}.action-split.even{grid-template-columns:1fr 1fr}.panel>h2:first-child,.panel>.group-title:first-child,.panel>fieldset:first-child>h2:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.promo-box .promo-chips button{text-align:left;min-height:44px}.promo-box .promo-chips button small{color:var(--muted);font-weight:var(--fw-medium);margin-left:4px}.promo-box .promo-chips button[aria-pressed=true] small{color:inherit}.promo-box .row{align-items:center;gap:8px;display:flex}.promo-box .coupon-row input{min-height:44px}.sell-top .sell-store{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sell-top .sell-links{flex:none}.shift-chip{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-semibold);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin:0;padding:0 10px;text-decoration:none;display:inline-flex}.sell-top a.shift-chip{min-height:44px;font-size:var(--fs-small)}.shift-chip.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.shift-chip.need{border-color:var(--warn-ink);background:var(--warn-soft);color:var(--warn-ink)}.dialog h2{margin:0 0 12px;font-size:1.1rem}.dialog label{margin-bottom:8px;display:block}.money-table{border-collapse:collapse;width:100%;margin-bottom:12px}.money-table th,.money-table td{border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums;padding:8px 4px}.money-table th:first-child,.money-table td:first-child{text-align:left}.money-table tr.total td{font-weight:var(--fw-bold)}.cash-in{color:var(--ok);font-weight:var(--fw-semibold)}.cash-out{color:var(--danger);font-weight:var(--fw-semibold)}.cash-row.voided .grow{color:var(--muted);text-decoration:line-through}.account-clock small{color:var(--muted);font-weight:var(--fw-medium);display:block}.sheet-scroll{overflow-x:auto}a.button.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:var(--fw-semibold)}:root{--pad:16px;--gap:12px;--row-h:52px;--title-size:1.25rem}.bottom-nav a{gap:0;min-width:0;padding:0 2px;line-height:1.15}.nav-icon{border-radius:13px;flex:none;width:48px;height:26px}.nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.68rem;display:block;overflow:hidden}.page-head h1,.section-head{flex:1;min-width:0}.page-head h1{font-size:var(--title-size);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.section-head{position:relative}.section-head h1{margin:0}.section-btn{border-radius:var(--radius-sm);max-width:100%;min-height:44px;box-shadow:none;color:var(--ink);font:inherit;font-weight:var(--fw-bold);background:0 0;border:0;align-items:center;gap:4px;margin:0 0 0 -6px;padding:0 6px;display:inline-flex}.section-btn-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.section-btn svg{color:var(--muted);flex:none;transition:transform .15s}.section-btn[aria-expanded=true] svg{transform:rotate(180deg)}.section-btn:hover{background:var(--soft-2)}.account-menu.section-menu{width:max-content;min-width:200px;max-width:min(320px,100vw - 24px);left:0;right:auto}.section-menu a{font-size:.95rem}.section-menu a[aria-current=page]{background:var(--brand-soft);color:var(--brand);font-weight:var(--fw-semibold)}.account-menu{overscroll-behavior:contain;width:min(320px,100vw - 24px);min-width:0;max-width:calc(100vw - 24px);max-height:min(78dvh,560px);overflow-y:auto}.account-menu a,.account-menu button{overflow-wrap:anywhere;min-width:0}.bell-menu{width:min(320px,100vw - 24px)}.bell-head{padding-left:2px}.bell-head strong{flex:1;min-width:0}.account-menu .bell-back{flex:none;justify-content:center;width:44px;padding:0}.account-menu .bell-all{flex:none}.account-btn{width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;position:relative}.account-btn .avatar-btn{width:36px;min-width:36px;height:36px;min-height:36px;font-size:.8rem}.account-btn .bell-dot{box-shadow:0 0 0 2px var(--bg);top:0;right:0}.head-actions.compact .account-btn .avatar-btn{width:34px;min-width:34px;height:34px;min-height:34px}.account-menu .grow{min-width:0;font-weight:var(--fw-medium);flex:auto}.menu-dot{background:var(--danger);border-radius:50%;flex:none;width:8px;height:8px}.switch{background:var(--field);border-radius:999px;flex:none;width:42px;height:24px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0f172a40}.menu-switch[aria-checked=true] .switch{background:var(--brand)}.menu-switch[aria-checked=true] .switch:after{left:21px}.menu-density{border-bottom:1px solid var(--line);min-height:44px;color:var(--ink);align-items:center;gap:10px;margin-bottom:4px;padding:0 4px 4px 10px;display:flex}.menu-density .seg{flex:none;width:128px;margin:0;display:inline-grid}.account-menu .menu-density .seg button{justify-content:center;min-height:34px;padding:0 6px}.account-menu .menu-density .seg button[aria-pressed=true]{background:var(--surface)}.account-menu .menu-density .seg button:hover{background:0 0}.bsheet-backdrop{z-index:50;background:#0f172a80;justify-content:center;align-items:flex-end;animation:.15s ease-out bsheet-fade;display:flex;position:fixed;inset:0}.bsheet{width:100%;max-width:var(--app-w);overscroll-behavior:contain;max-height:85dvh;padding:4px 16px calc(16px + env(safe-area-inset-bottom));background:var(--surface);overflow-wrap:anywhere;border-radius:18px 18px 0 0;animation:.2s ease-out bsheet-up;overflow-y:auto;box-shadow:0 -8px 24px #0f172a2e}.bsheet:focus{outline:none}.bsheet-grip{background:var(--field);border-radius:2px;width:40px;height:4px;margin:4px auto 2px;display:block}.bsheet-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.bsheet-head strong{font-size:var(--fs-subtitle)}.bsheet-head .icon-btn{background:0 0;border:0;width:44px}.bsheet .group-title{margin-top:8px}.bsheet .chips{margin-bottom:8px}.bsheet .chips button{min-height:44px}.bsheet .wide{margin:12px 0 0}@keyframes bsheet-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes bsheet-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.bsheet,.bsheet-backdrop{animation:none}}@media (min-width:768px) and (min-height:500px){.bsheet-backdrop{align-items:center;padding:16px}.bsheet{border-radius:18px;max-width:480px}.bsheet-grip{display:none}}.fab{justify-content:center;align-items:center;gap:8px;width:100%;margin:0 0 12px;display:flex}.section-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.small-toggle{min-height:36px;font-size:var(--fs-small);box-shadow:none;border-radius:18px;flex:none;margin:0;padding:0 12px;position:relative}.small-toggle:after{content:"";position:absolute;inset:-4px 0}.sell-full-btn{background:var(--soft-2);box-shadow:none}@media (min-width:768px) and (min-height:500px){.sell-full-btn{display:none}}.chip-on{overflow-wrap:anywhere;text-align:left;max-width:100%}.grow,.oc-main,.cl-main,.account-head>span:last-child,.kv>div>span,.recent-list .grow,.purchase-head>strong{overflow-wrap:anywhere;min-width:0}.pair>*,.grid2>*,.code-row>label,.picker-row>label{min-width:0}select,input,textarea{max-width:100%}.seg-3{grid-template-columns:repeat(3,minmax(0,1fr))}.seg-4{grid-template-columns:repeat(4,minmax(0,1fr))}.seg button{text-overflow:ellipsis;min-width:0;overflow:hidden}.money-table td,.money-table th{overflow-wrap:anywhere}.dialog{overflow-wrap:anywhere;max-width:min(400px,100%)}.toast-text,.undo-snack>span{overflow-wrap:anywhere;min-width:0}.oc-side{max-width:45%}.oc-side .amount{white-space:nowrap}.empty p,.search-empty strong,.banner{overflow-wrap:anywhere}@media not all and (min-width:768px) and (min-height:500px){:root{--pad:12px;--gap:8px;--row-h:48px;--title-size:17px}.screen{padding:var(--pad) var(--pad) calc(var(--nav-h) + var(--pad) + env(safe-area-inset-bottom))}.topbar{margin:calc(-1 * var(--pad)) calc(-1 * var(--pad)) 10px}.sell-top{margin:calc(-1 * var(--pad)) calc(-1 * var(--pad)) var(--gap);padding:2px 6px 2px var(--pad)}.action-bar{margin:var(--pad) calc(-1 * var(--pad)) calc(-1 * var(--pad));padding:10px var(--pad)}.checkout-bar{padding:8px var(--pad)}.sell-cart.open{padding:10px var(--pad)}h1,label,.search-field,.list-tools,.filter-chips,.chips,.seg,.period-seg,.kpis,.day-summary,button.wide,a.button.wide,.list.picks,.toast,section>.banner,.code-row label,.code-row button{margin-bottom:var(--gap)}.panel{margin-top:var(--gap);padding:12px}.stats{margin:var(--gap) 0}h2{margin:14px 0 6px}.scan{margin:2px 0 var(--gap)}.list{padding:0 12px}.page-head{margin:-4px 0 var(--gap);gap:6px}.page-head .head-actions{margin-right:-4px}.list a,.list .row{min-height:var(--row-h);gap:2px 10px;padding:6px 0}.order-list li>a{padding:8px 0}.oc-main{gap:1px}.oc-side{gap:2px}.oc-tags{margin-top:1px}.day-summary{gap:6px}.day-summary>div{gap:0;min-width:0;padding:6px 8px}.day-summary small{font-size:.7rem}.day-summary strong{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.kpis{gap:6px}.kpi{gap:0;min-height:0;padding:8px 10px}.kpi-label{gap:6px;margin-bottom:2px}.kpi-icon{border-radius:7px;width:24px;height:24px}.kpi-icon svg{width:14px;height:14px}.kpi strong{font-size:var(--fs-body)}.kpi-delta{font-size:var(--fs-tiny)}.stat{padding:8px 10px}.stat dd{font-size:var(--fs-body)}.round-btn,.icon-actions button{width:36px;min-width:36px;height:36px;min-height:36px;position:relative}.round-btn:after,.icon-actions button:after{content:"";position:absolute;inset:-4px}.icon-actions{gap:8px}.scroll-page{height:calc(100dvh - var(--nav-h) - 2 * var(--pad) - env(safe-area-inset-bottom))}.sell-main{height:calc(100dvh - var(--nav-h) - 2 * var(--pad) - 72px - env(safe-area-inset-bottom))}.page-head,.sell-top{max-height:64px;transition:max-height .2s,opacity .2s,margin .2s,padding .2s}.head-collapsed>.page-head,.head-collapsed .sell-top{opacity:0;pointer-events:none;border-bottom-width:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden}.head-collapsed .sell-top{margin-top:calc(-1 * var(--pad))}.head-collapsed>.back{display:none}.fab{right:max(16px, calc((100vw - var(--app-w)) / 2 + 16px));bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));z-index:15;width:56px;height:56px;min-height:56px;box-shadow:var(--shadow-lg);border-radius:50%;margin:0;padding:0;position:fixed}.fab-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}section:has(>.fab){padding-bottom:72px}.scroll-page:has(>.fab){padding-bottom:0}.scroll-page:has(>.fab)>.scroll-list{padding-bottom:76px}.list-tools{gap:6px}.list-tools.has-date .filter-btn{justify-content:center;width:44px;padding:0}.list-tools.has-date .filter-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.date-step input{width:104px}:root[data-nav=hidden]{--nav-h:0px}:root[data-nav=hidden] .bottom-nav{display:none}.quick,.sell-main .quick{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}.quick.small,.sell-main .quick.small{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.quick .prod-thumb{height:48px}.prod-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.prod-card-img{height:96px}.prod-card-body{padding:6px 8px 8px}.prod-card-name{font-size:var(--fs-small)}.page-head .account-menu{right:4px}.head-actions.compact .account-menu{right:6px}@media (orientation:landscape){.quick,.sell-main .quick,.prod-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root[data-density=compact] body{font-size:14px}:root[data-density=compact]{--gap:8px;--row-h:48px}@media not all and (min-width:768px) and (min-height:500px){:root[data-density=compact]{--pad:10px;--gap:6px;--row-h:44px;--title-size:16px}:root[data-density=compact] .list a,:root[data-density=compact] .list .row{padding:4px 0}:root[data-density=compact] .list .grow{font-size:.9rem}:root[data-density=compact] .list small{font-size:var(--fs-tiny)}:root[data-density=compact] .panel{padding:10px}:root[data-density=compact] .quick button{padding:6px 8px}:root[data-density=compact] .quick-name{font-size:.8rem}:root[data-density=compact] .day-summary>div,:root[data-density=compact] .kpi,:root[data-density=compact] .stat{padding:6px 8px}:root[data-density=compact] .checkout-bar{padding:6px var(--pad)}}.menu-density .seg{width:140px}.account-menu .menu-density .seg button{white-space:nowrap}.order-list a{flex-wrap:nowrap;align-items:flex-start}.order-list .oc-main{flex:1}@media not all and (min-width:768px) and (min-height:500px){.date-step button{width:28px;min-width:28px}.date-step input{width:92px;font-size:var(--fs-small);padding:0 2px}.date-step input::-webkit-calendar-picker-indicator{display:none}.list-tools>.search-field,.list-tools>.search-wrap{min-width:96px}.day-summary strong{white-space:nowrap;text-overflow:clip;font-size:clamp(.78rem,3.4vw,.95rem);overflow:visible}}.order-list .oc-main small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.prod-card-foot{flex-wrap:wrap;row-gap:2px}.prod-card-foot strong{white-space:nowrap;margin-left:auto}:root[data-standalone="1"],:root[data-standalone="1"] body{overscroll-behavior-y:none}@media (display-mode:standalone){html,body{overscroll-behavior-y:none}}.install-guide{gap:12px;padding-top:4px;display:grid}.install-guide p{margin:0}.install-cta{min-height:52px;font-size:var(--fs-subtitle)}.install-guide .wide{margin:0}.install-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.install-steps li{border-radius:var(--radius-md);background:var(--surface-2);min-height:48px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);align-items:center;gap:10px;padding:8px 12px;display:flex}.install-num{background:var(--brand);color:#fff;width:26px;height:26px;font-size:var(--fs-small);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.install-icon{border-radius:var(--radius-sm);background:var(--brand-soft);width:36px;height:36px;color:var(--brand);flex:none;place-items:center;display:grid}.install-text{min-width:0;line-height:1.35}.install-warn{border-radius:var(--radius-md);background:var(--warn-soft);color:var(--warn-ink);font-weight:var(--fw-medium);padding:10px 12px}.install-done{border-radius:var(--radius-md);background:var(--ok-soft);color:var(--ink);align-items:flex-start;gap:12px;padding:12px;display:flex}.install-done svg{color:var(--brand);flex:none}.install-qr{justify-content:center;display:flex}.install-qr svg{border-radius:var(--radius-md);background:#fff;width:200px;height:200px;padding:8px}.install-url{color:var(--muted);font-size:var(--fs-small);align-items:center;gap:8px;display:flex}.install-url span{overflow-wrap:anywhere;flex:1;min-width:0}.install-url button{flex:none;min-height:44px;margin:0}.install-why{border-top:1px solid var(--line);padding-top:10px}.install-why ul{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.install-why li{color:var(--label);font-size:var(--fs-small);align-items:center;gap:8px;display:flex}.install-why svg{color:var(--brand);flex:none}.date-input{min-width:0;display:block;position:relative}.date-input .date-text{border:1px solid var(--field);border-radius:var(--radius);background:var(--surface);min-height:48px;color:var(--ink);font-size:var(--fs-body);white-space:nowrap;align-items:center;gap:8px;padding:0 12px;font-weight:400;display:flex}.date-input .date-text svg{color:var(--icon-muted);flex:none}.date-input .date-text.empty{color:var(--muted)}.date-input>input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.date-input:focus-within .date-text{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:1px}.date-input.off .date-text{background:var(--soft-2);color:var(--muted)}.date-input.off>input{cursor:default}.date-input:has(input[aria-invalid=true]) .date-text{border-color:var(--danger)}.date-step .date-input{width:86px}.date-step .date-input .date-text{min-height:40px;font-size:.9rem;font-weight:var(--fw-semibold);background:0 0;border:0;justify-content:center;padding:0 2px}.date-step .date-input:focus-within .date-text{outline:none}.announce-backdrop{z-index:80}.dialog.announce{border-radius:var(--radius-lg);text-align:center;justify-items:center;gap:6px;max-width:360px;padding:24px 20px 20px;animation:.18s ease-out announce-in;display:grid}.announce-icon{background:var(--brand-soft);width:56px;height:56px;color:var(--brand);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.announce-count{color:var(--muted);font-size:.78rem;font-weight:var(--fw-semibold)}.dialog.announce h2{color:var(--ink);font-size:1.1rem;font-weight:var(--fw-bold);letter-spacing:normal;text-transform:none;overflow-wrap:anywhere;margin:0}.dialog.announce p{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;margin:0 0 12px}.dialog.announce .dialog-actions{width:100%}@keyframes announce-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.onboarding{background:linear-gradient(135deg, var(--brand-soft), var(--surface) 70%);margin:0 0 12px;position:relative;overflow:hidden}.onboarding .icon-btn{background:0 0;border:0;flex:none}.onb-head{align-items:center;gap:12px;display:flex}.onb-head .card-title{margin:0}.onb-head small{color:var(--muted)}.onb-ring{flex:none;width:52px;height:52px}.onb-ring circle{fill:none;stroke-width:5px}.onb-ring .track{stroke:var(--soft)}.onb-ring .fill{stroke:var(--brand);stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .5s;transform:rotate(-90deg)}.onb-ring text{fill:var(--ink);font-size:13px;font-weight:var(--fw-bold)}.onb-step{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:12px;margin:14px 0 10px;padding:12px;display:flex}.onb-step-icon{border-radius:var(--radius-md);background:var(--brand-soft);width:44px;height:44px;color:var(--brand);flex:none;place-items:center;display:grid}.onb-step.is-done .onb-step-icon{background:var(--ok-soft);color:var(--ok)}.onb-step strong{color:var(--ink);display:block}.onb-step p{color:var(--muted);margin:2px 0 0;font-size:.9rem;line-height:1.45}.onb-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.onb-actions a.button,.onb-actions button{min-height:44px;margin:0}.onb-actions a.button.primary{flex:auto;justify-content:center}.onb-actions button.plain{padding:0 10px}.onb-dots{justify-content:center;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.onb-dots button{border:1.5px solid var(--field);background:var(--surface);width:34px;min-width:34px;height:34px;min-height:34px;color:var(--icon-muted);box-shadow:none;border-radius:50%;place-items:center;margin:0;padding:0;transition:background .2s,color .2s,border-color .2s;display:grid;position:relative}.onb-dots button:after{content:"";position:absolute;inset:-5px}.onb-dots button.done{border-color:var(--brand);background:var(--brand);color:#fff;animation:.3s ease-out onb-pop}.onb-dots button.current{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.onb-dots button.done.current{color:#fff}@keyframes onb-pop{0%{transform:scale(.7)}to{transform:scale(1)}}.onboarding.onb-done{align-items:flex-start;gap:12px;display:flex}.onb-party{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.onboarding.onb-done .card-title{margin:0 0 4px}.onboarding.onb-done p{color:var(--muted);margin:0}.pay-sum{gap:0;margin:12px 0;font-size:.95rem}.pay-sum .sum-group{border-bottom:1px solid var(--line);gap:8px;padding:10px 0;display:grid}.pay-sum .sum-group:first-child{padding-top:0}.pay-sum>div>div,.pay-sum .sum-group>div,.pay-sum .sum-input{color:var(--label);justify-content:space-between;align-items:center;gap:12px;display:flex}.pay-sum .sum-group>div>span,.pay-sum .sum-input>span{color:var(--label);font-weight:var(--fw-medium);font-size:.95rem}.pay-sum b{color:var(--ink);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;white-space:nowrap}.pay-sum .minus b{color:var(--ok)}.pay-sum .sum-input{margin:0}.pay-sum .sum-input .money-input,.pay-sum .sum-input input{text-align:right;width:140px;min-height:40px;color:var(--ok);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.pay-sum>.total{border-top:0;justify-content:space-between;align-items:center;padding:12px 0 4px;display:flex}.pay-sum>.total>span{color:var(--ink);letter-spacing:.02em;text-transform:uppercase;font-size:.95rem;font-weight:800}.pay-sum>.total>b{color:var(--danger);font-size:1.35rem;font-weight:800}.pay-sum>.total.due{border-top:1px solid var(--line);padding-top:8px}.pay-sum>div:not(.sum-group):not(.total){color:var(--label);justify-content:space-between;padding:4px 0;display:flex}.pay-sum .sum-group{grid-template-columns:minmax(0,1fr);justify-content:stretch}.amount,.owed,.big,.stat dd,.kpi,.chart-sum,.day-summary,.price-card,.sum-card,.cart-totals,.cart-subtotal,.pay-line,.pay-sum,.purchase-sum,.money-table,.kv,.quick small,.quick-qty,.quick-count,.cart-peek-count,.tab-count,.badge,.stepper,.row-end,.list small,input[inputmode=numeric],input[inputmode=decimal],input[type=number]{font-variant-numeric:tabular-nums}h2.card-title{font-size:var(--fs-subtitle);font-weight:var(--fw-bold)}.group-title{font-size:var(--fs-tiny);font-weight:var(--fw-semibold)}.note,.empty-hint,.empty>p:not(.empty-title){font-size:var(--fs-small)}svg.lucide{stroke-width:var(--icon-stroke,2);flex:none}.empty-icon svg.lucide,.dialog.announce svg.lucide{--icon-stroke:1.75}button,a.button,.bottom-nav a{transition:scale 80ms ease-out,filter 80ms ease-out,background-color .15s}button:active:not(:disabled),a.button:active{filter:brightness(.94);scale:.98}.bottom-nav a:active .nav-icon{scale:.94}.quick button:active{scale:1}@media (prefers-reduced-motion:reduce){button,a.button,.bottom-nav a{transition:none}button:active:not(:disabled),a.button:active{scale:1}}.toaster{left:0;right:0;bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));z-index:65;width:min(calc(100% - 32px), calc(var(--app-w) - 32px));pointer-events:none;flex-direction:column;align-items:stretch;gap:8px;margin-inline:auto;display:flex;position:fixed}.toaster:empty{display:none}.toast-item{border-radius:var(--radius-md);background:var(--toast);color:#fff;min-height:48px;font-size:var(--fs-small);font-weight:var(--fw-medium);box-shadow:var(--shadow-lg);pointer-events:auto;align-items:center;gap:10px;padding:6px 6px 6px 14px;animation:.2s ease-out toast-up;display:flex}.toast-item .toast-icon{color:#86efac}.toast-item.error .toast-icon{color:#fca5a5}.toast-item.info .toast-icon{color:#93c5fd}.toast-msg{overflow-wrap:anywhere;flex:1;min-width:0}.toast-action{border-radius:var(--radius-sm);color:#93c5fd;min-height:44px;font-weight:var(--fw-bold);box-shadow:none;text-transform:none;background:0 0;border:0;flex:none;padding:0 12px}.toast-action:hover{background:#ffffff14}.toast-close{color:#ffffffbf;width:44px;min-height:44px;box-shadow:none;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}@keyframes toast-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media not all and (min-width:768px) and (min-height:500px){body:has(.fab,.checkout-bar,.action-bar,.save-bar) .toaster{bottom:calc(var(--nav-h) + 84px + env(safe-area-inset-bottom))}}@media (min-width:768px) and (min-height:500px){.toaster{bottom:24px;left:var(--nav-w);width:min(420px, calc(100% - var(--nav-w) - 48px))}}@media (prefers-reduced-motion:reduce){.toast-item{animation:none}}.sk-list{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:0 14px;display:grid}.sk-row{min-height:var(--row-h,56px);align-items:center;gap:12px;padding:10px 0;display:flex}.sk-row+.sk-row{border-top:1px solid var(--line)}.sk-avatar{border-radius:var(--radius-sm);flex:none;width:36px;height:36px}.sk-lines{flex:1;gap:6px;min-width:0;display:grid}.sk-line{border-radius:6px;height:12px;display:block}.sk-line.short{width:40%;height:10px}.sk-amount{border-radius:6px;flex:none;width:64px;height:14px}.sk-detail{gap:12px;padding:4px 0;display:grid}.sk-title{border-radius:var(--radius-sm);width:55%;height:22px;display:block}.sk-block{border-radius:var(--radius-lg);height:96px;display:block}.sk-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.sk-tile{border-radius:var(--radius-lg);height:76px;display:block}@media (min-width:768px) and (min-height:500px){.sk-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.empty{gap:6px;padding:40px 16px}.empty .empty-icon{background:var(--brand-soft);width:72px;height:72px;color:var(--brand);box-shadow:0 0 0 8px color-mix(in srgb, var(--brand-soft) 45%, transparent);border-radius:50%;margin-bottom:6px;position:relative}.empty svg{opacity:1}.empty .empty-title,.empty strong{color:var(--ink);font-size:var(--fs-body);font-weight:var(--fw-bold);margin:0}.empty .empty-hint,.empty>p:not(.empty-title){max-width:300px;color:var(--muted);margin:0;display:block}.empty .empty-action{justify-content:center;align-items:center;gap:8px;min-width:200px;margin-top:10px;display:inline-flex}.ent-field{gap:4px;min-width:0;margin-bottom:12px;display:grid}.ent-label{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--label);cursor:default}.picker-row>.ent-field{flex:auto;margin-bottom:0}fieldset.panel>.ent-field:last-child{margin-bottom:0}.ent-btn{border:1px solid var(--field);border-radius:var(--radius);background:var(--surface);width:100%;min-height:48px;color:var(--ink);font-size:var(--fs-body);font-weight:var(--fw-regular);text-align:left;box-shadow:none;cursor:pointer;align-items:center;gap:10px;margin:0;padding:0 10px 0 12px;display:flex}.ent-btn:disabled{background:var(--soft-2);cursor:default}.ent-value{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.ent-value.muted{color:var(--muted)}.ent-caret{color:var(--icon-muted);flex:none}.ent-avatar{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);font-size:var(--fs-tiny);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.ent-avatar.sm{width:28px;height:28px;font-size:.7rem}.ent-avatar.none{background:var(--soft);color:var(--muted)}.ent-avatar.add{background:var(--brand);color:#fff}.entity-sheet{gap:4px;display:grid}.ent-search{z-index:1;margin:4px 0;position:sticky;top:0}.ent-add{border-radius:var(--radius-sm);width:100%;min-height:52px;color:var(--brand);font-weight:var(--fw-semibold);text-align:left;box-shadow:none;background:0 0;border:0;align-items:center;gap:12px;margin:0;padding:4px 8px;display:flex}.ent-add:hover{background:var(--brand-soft)}.ent-list{margin:0;padding:0;list-style:none}.ent-group{font-size:var(--fs-tiny);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 8px 4px}.ent-opt{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;min-height:52px;padding:6px 8px;display:flex}.ent-opt.active{background:var(--soft-2)}.ent-opt[aria-selected=true] .ent-name{color:var(--brand);font-weight:var(--fw-semibold)}.ent-text{flex:auto;min-width:0;display:grid}.ent-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ent-sub{color:var(--muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.ent-check{color:var(--brand);flex:none}.ent-none{margin:0;padding:12px 8px}.topbar-edit{border-radius:var(--radius-md);background:var(--brand-soft);min-height:44px;color:var(--brand);font-weight:var(--fw-semibold);box-shadow:none;border:0;flex:none;align-items:center;gap:6px;margin:0;padding:0 12px;display:inline-flex}.list .day-head{z-index:3;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--fs-tiny);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 -14px;padding:8px 14px 6px;position:sticky;top:0}.list .day-head+li{border-top:0}.list>.day-head:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}section:has(>.topbar) .list .day-head{top:57px}.hero{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);gap:14px;margin:0 0 12px;padding:16px;display:grid}.hero-id{align-items:center;gap:14px;min-width:0;display:flex}.hero-avatar{background:var(--brand-soft);width:56px;height:56px;color:var(--brand);font-size:var(--fs-subtitle);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.hero-text{min-width:0}.hero-name{font-size:var(--fs-title);font-weight:var(--fw-bold);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;margin:0;line-height:1.25;display:flex}.hero-sub{color:var(--muted);font-size:var(--fs-small);margin:2px 0 0}.hero-stats{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;margin:0;display:grid}.hero-stats>div{border-radius:var(--radius-md);background:var(--soft-2);min-width:0;padding:8px 10px}.hero-stats dt{color:var(--muted);font-size:var(--fs-tiny);font-weight:var(--fw-semibold)}.hero-stats dd{font-size:var(--fs-body);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:2px 0 0}.hero-stats dd.tone-danger{color:var(--danger)}.hero-stats dd.tone-ok{color:var(--ok)}.hero-stats dd.tone-brand{color:var(--brand)}.hero-actions{flex-wrap:wrap;justify-content:space-around;gap:4px;display:flex}.hero-act{min-width:64px;min-height:44px;box-shadow:none;color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-medium);background:0 0;border:0;justify-items:center;gap:4px;margin:0;padding:2px 4px;text-decoration:none;display:grid}.hero-act-icon{background:var(--brand-soft);width:44px;height:44px;color:var(--brand);border-radius:50%;place-items:center;display:grid}.hero-act:hover .hero-act-icon{background:var(--brand);color:#fff}.hero-act:disabled{opacity:.5}.hero .prod-hero{border-radius:var(--radius-md);flex:none;width:72px;height:72px;margin:0}.hero .prod-hero.prod-noimg svg{width:32px;height:32px}.stock-card{border-radius:var(--radius);background:var(--soft-2);font-variant-numeric:tabular-nums;align-items:center;gap:10px;padding:12px 14px;display:flex}.stock-card>svg{color:var(--ink);flex:none}.stock-card>span{gap:2px;display:grid}.stock-card strong{font-size:var(--fs-title)}.stock-card small{color:var(--muted)}.hero .price-cards{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:0}.hero .price-card strong,.hero .stock-card strong{font-size:var(--fs-subtitle)}.list.scroll-list>.day-head{top:0}section:has(>.topbar) .list.scroll-list>.day-head{top:0}.sell-top .sell-full-btn{width:44px;min-width:44px;min-height:44px;box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:50%}.search-wrap{position:relative}.list-tools>.search-wrap{flex:1;min-width:0}.list-tools>.search-wrap>.search-field{margin:0}.search-suggest{z-index:20;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);max-height:min(60dvh,420px);box-shadow:var(--shadow-lg);padding:8px 12px 10px;position:absolute;top:calc(100% - 8px);left:0;right:0;overflow-y:auto}.list-tools .search-suggest{top:calc(100% + 4px)}.suggest-head{min-height:32px;color:var(--muted);font-size:var(--fs-tiny);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.02em;justify-content:space-between;align-items:center;display:flex}.suggest-head button{min-height:32px;font-size:var(--fs-small);text-transform:none;padding:0 4px}.suggest-recent{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.suggest-recent button{background:var(--soft-2);max-width:100%;min-height:36px;box-shadow:none;color:var(--ink);font-size:var(--fs-small);overflow-wrap:anywhere;text-align:left;border:0;border-radius:999px;align-items:center;gap:6px;margin:0;padding:0 12px;display:inline-flex}.suggest-recent svg{color:var(--muted);flex:none}.suggest-list{margin:0;padding:0;list-style:none}.suggest-list button{border-radius:var(--radius-sm);width:100%;min-height:44px;box-shadow:none;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;margin:0;padding:0 4px;display:flex}.suggest-list button svg{color:var(--brand);flex:none}.suggest-list small{color:var(--muted);font-variant-numeric:tabular-nums}@media (hover:hover){.suggest-list button:hover,.suggest-recent button:hover{background:var(--brand-soft)}}.quick button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.quick.quick-list,.sell-main .quick.quick-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:1fr;grid-auto-rows:auto;gap:0;padding:0}.quick.quick-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;border-radius:0;align-items:center;gap:10px;min-height:56px;padding:6px 8px 6px 12px;display:flex}.quick.quick-list button:last-of-type{border-bottom:0}.quick.quick-list button.in-cart{border-color:var(--line);background:var(--surface)}.quick.quick-list button:active{background:var(--soft-2);transform:none}.qr-main{flex:1;gap:2px;min-width:0;display:grid}.sell-main .quick:not(.quick-list){grid-auto-rows:max-content}.sell-main .quick:not(.quick-list) button{align-content:start;padding:4px 4px 6px}.sell-main .quick:not(.quick-list) .prod-thumb{aspect-ratio:1;width:100%;height:auto;margin-bottom:4px}.sell-main .quick:not(.quick-list) .quick-name{min-height:2.4em}.quick-out.low{background:var(--warn-soft);color:var(--warn-ink)}.quick.quick-list .prod-thumb{border-radius:var(--radius-sm);width:40px;height:40px;margin:0}.quick.quick-list .prod-noimg svg{width:20px;height:20px}.quick.quick-list .quick-name{-webkit-line-clamp:2;font-size:var(--fs-body);display:-webkit-box;overflow:hidden}.qr-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quick.quick-list .qr-unit{color:var(--muted);font-size:var(--fs-tiny);font-weight:var(--fw-medium)}.qr-meta .badge{height:18px;padding:0 7px;font-size:.68rem}.quick.quick-list .qr-price{color:var(--ink);font-variant-numeric:tabular-nums;flex:none}.qr-add{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.qr-add .quick-count{top:-4px;right:-4px}.qty-sheet{gap:12px;padding-top:4px;display:grid}.qty-sheet .chips{margin:0}.qty-field{color:var(--label);font-size:var(--fs-small);font-weight:var(--fw-semibold);gap:6px;display:grid}.qty-step{grid-template-columns:56px 1fr 56px;gap:8px;display:grid}.qty-step button{min-height:56px;font-size:1.5rem;font-weight:var(--fw-bold);margin:0;padding:0}.qty-step input{text-align:center;min-height:56px;font-size:1.4rem;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.qty-sheet .wide{margin:0}.scan-frame{position:relative}.viewfinder.flash{outline:4px solid var(--ok);outline-offset:-4px}.viewfinder.flash.bad{outline-color:var(--danger)}.scan-toast{border-radius:var(--radius-md);color:#fff;background:#0f172ad9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;padding:10px 12px;animation:.2s pop;display:flex;position:absolute;bottom:22px;left:10px;right:10px}.scan-toast strong{overflow-wrap:anywhere;min-width:0}.scan-toast small{color:#cbd5e1;font-variant-numeric:tabular-nums}.scan-toast.bad{background:var(--danger)}.scan-toast button{min-height:44px;margin:0;padding:0 12px}.scan-hint{color:var(--muted);font-size:var(--fs-small);margin:0 0 12px}@media (prefers-reduced-motion:reduce){.scan-toast{animation:none}}.cash-pad{gap:10px;padding-top:4px;display:grid}.cash-pad-due{color:var(--muted);font-size:var(--fs-small);justify-content:space-between;display:flex}.cash-pad-due b{color:var(--ink);font-variant-numeric:tabular-nums}.cash-pad-amount{border-bottom:2px solid var(--brand);font-size:2rem;font-weight:var(--fw-bold);text-align:right;font-variant-numeric:tabular-nums;padding:6px 4px;display:block}.cash-pad-amount .muted{color:var(--muted)}.cash-pad-change{min-height:28px;color:var(--muted);justify-content:space-between;align-items:baseline;display:flex}.cash-pad-change b{color:var(--ok);font-size:var(--fs-title);font-variant-numeric:tabular-nums}.cash-pad-change.short{color:var(--danger);font-weight:var(--fw-semibold)}.cash-pad-bills{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.cash-pad-bills button{background:var(--soft-2);min-height:44px;box-shadow:none;color:var(--ink);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;border:0;border-radius:999px;flex:none;margin:0;padding:0 14px}.cash-pad-bills button[aria-pressed=true]{background:var(--brand);color:#fff}.cash-pad-keys{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cash-pad-keys button{min-height:58px;font-size:1.5rem;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;place-items:center;margin:0;padding:0;display:grid}.cash-pad .wide{margin:0}.action-bar.pay-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}.action-bar.pay-bar>.error{grid-column:1/-1}.action-bar.pay-bar .pay-line{justify-content:start;gap:0;line-height:1.2;display:grid}.action-bar.pay-bar .pay-line small:first-child{font-size:var(--fs-tiny);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.03em}.action-bar.pay-bar .pay-line strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.action-bar.pay-bar .pay-change{color:var(--ok);font-weight:var(--fw-semibold)}.action-bar.pay-bar>button{width:auto;min-width:150px;max-width:60vw;min-height:56px;font-size:var(--fs-subtitle);padding:0 20px}.receipt-change{border-radius:var(--radius-lg);background:var(--ok-soft);color:var(--ok);font-weight:var(--fw-semibold);justify-content:center;align-items:baseline;gap:8px;margin:0 0 4px;padding:12px;display:flex}.receipt-change b{font-variant-numeric:tabular-nums;font-size:1.75rem}.receipt-card{margin-top:12px}.receipt-head{border-bottom:1px dashed var(--line);text-align:center;justify-items:center;gap:2px;padding-bottom:10px;display:grid}.receipt-head strong{font-size:var(--fs-subtitle)}.receipt-head small{color:var(--muted)}.receipt-foot{border-top:1px dashed var(--line);text-align:center;gap:2px;margin-top:10px;padding-top:10px;display:grid}.receipt-foot p{overflow-wrap:anywhere;margin:0}.receipt-thanks{font-weight:var(--fw-semibold)}.receipt-card .vietqr{box-shadow:none;text-align:center;margin:12px 0 0}.receipt-items{border-bottom:1px dashed var(--line);margin:0;padding:6px 0;list-style:none}.receipt-items li{align-items:baseline;gap:10px;padding:6px 0;display:flex}.receipt-items .grow small{color:var(--muted);font-size:var(--fs-small);display:block}.receipt-items b{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex:none}.receipt-sum{margin-bottom:0}.receipt-sum b{font-variant-numeric:tabular-nums}.receipt-actions{gap:10px}.receipt-tools{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.receipt-tools>button,.receipt-tools>a.button{min-height:64px;font-size:var(--fs-small);font-weight:var(--fw-semibold);box-shadow:none;align-content:center;justify-items:center;gap:4px;margin:0;padding:6px 4px;display:grid}.account-menu button.menu-need{color:var(--accent);font-weight:var(--fw-bold,700)}@media not all and (min-width:768px) and (min-height:500px){.sell-main{height:calc(100dvh - var(--nav-h) - var(--pad) - 68px - env(safe-area-inset-bottom))}.sell-main>.quick{margin-bottom:0}}:root{--pay:#c2410c;--pay-strong:#9a3412}:root[data-brand=orange],:root[data-brand=amber],:root[data-brand=rose]{--pay:#1d4ed8;--pay-strong:#1e40af}:root[data-theme=dark]{--pay:#ea580c;--pay-strong:#c2410c}:root[data-theme=dark][data-brand=orange],:root[data-theme=dark][data-brand=amber],:root[data-theme=dark][data-brand=rose]{--pay:#2563eb;--pay-strong:#1d4ed8}button.primary.pay{background:var(--pay);border-color:var(--pay);color:#fff}button.primary.pay:hover:not(:disabled){background:var(--pay-strong);border-color:var(--pay-strong)}.side-brand,.side-account{display:none}@media (min-width:900px) and (min-height:500px){:root{--nav-w:224px}.screen{max-width:calc(1440px + var(--nav-w))}.bottom-nav.side-nav{background:var(--surface);gap:2px;padding:12px 12px 16px}.side-nav .side-brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:56px;margin:0 4px 12px;padding-bottom:12px;display:flex}.side-nav .side-brand .logo,.side-nav .side-logo{object-fit:cover;border-radius:10px;flex:none;width:36px;height:36px}.side-nav .side-brand strong{min-width:0;color:var(--ink);font-size:var(--fs-body);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-nav a{border-radius:var(--radius-md);min-height:48px;font-size:var(--fs-body);text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;padding:0 12px}.side-nav a .nav-icon{place-items:center;width:24px;height:24px;display:grid}.side-nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand)}.side-nav a:hover:not([aria-current=page]){background:var(--soft-2);color:var(--ink)}.side-nav .side-account{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:12px 4px 0;display:flex}.side-account-text{min-width:0;line-height:1.25;display:grid}.side-account-text strong{font-size:var(--fs-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-account-text small{color:var(--muted);font-size:var(--fs-tiny)}.side-account .account-menu{inset:auto auto calc(100% + 8px) 0}.screen>.split{max-width:none}.split{grid-template-columns:minmax(320px,2fr) minmax(0,3fr);align-items:start;gap:20px;display:grid}.split-list{min-width:0}.split-list a{border-radius:var(--radius-sm)}.split-detail{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);min-width:0;height:calc(100dvh - 48px);padding:0 16px;position:sticky;top:24px;overflow-y:auto}.split-detail>section{padding-bottom:16px}.split-detail .topbar{border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin-top:0;top:0}.split-detail .action-bar,.split-detail .save-bar{margin-bottom:0;bottom:0}.split-detail>.empty{align-content:center;height:100%}}.dialog.whats-new{max-width:400px}.whats-new-list{text-align:left;gap:8px;width:100%;margin:4px 0 12px;padding:0;list-style:none;display:grid}.whats-new-list li{color:var(--ink);font-size:var(--fs-small);align-items:flex-start;gap:8px;display:flex}.whats-new-list svg{color:var(--ok);flex:none;margin-top:3px}.toast-check{flex:none}.toast-check .tc-ring{fill:none;stroke:#86efac;stroke-width:2px;stroke-dasharray:63;stroke-dashoffset:63px;transform-origin:50%;animation:.4s ease-out forwards ring-draw;transform:rotate(-90deg)}.toast-check .tc-tick{fill:none;stroke:#86efac;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16px;animation:.25s ease-out .35s forwards check-draw}@media (prefers-reduced-motion:reduce){.toast-check .tc-ring,.toast-check .tc-tick{stroke-dashoffset:0;animation:none}}.dash-band{margin:calc(-1 * var(--pad,16px)) calc(-1 * var(--pad,16px)) 12px;padding:var(--pad,16px) var(--pad,16px) 14px;background:linear-gradient(180deg, var(--brand-soft) 0%, var(--brand-soft) 45%, var(--bg) 100%)}.dash-band .page-head{margin-bottom:4px}.dash-greet{color:var(--ink);font-size:var(--fs-subtitle);margin:0}.dash-greet strong{color:var(--brand)}.dash-date{color:var(--muted);font-size:var(--fs-small)}.dash-body{flex-direction:column;gap:12px;display:flex}.dash-col{display:contents}.dashboard .dash-body .panel,.dashboard .dash-body .kpis,.dashboard .dash-shortcuts,.dashboard .dash-sc-wrap{margin:0}.dash-main>.dash-hero{order:1}.dash-main>.dash-shortcuts,.dash-main>.dash-sc-wrap{order:2}.dash-main>.kpis{order:3}.dash-side>.todo-panel{order:4}.dash-main>.chart-card{order:5}.dash-main>:last-child:not(.chart-card){order:6}.dash-side>:nth-child(2){order:7}.dash-side>:nth-child(3){order:8}.dash-hero{border-radius:var(--radius-lg);background:var(--brand);background:linear-gradient(135deg, var(--brand) 0%, color-mix(in srgb, var(--brand) 72%, #000) 100%);color:#fff;box-shadow:var(--shadow-md);gap:4px;padding:16px;transition:opacity .15s;display:grid;position:relative;overflow:hidden}.hero-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.hero-label{font-size:var(--fs-small);font-weight:var(--fw-semibold);opacity:.9;align-items:center;gap:6px;display:inline-flex}.hero-link{color:#fff;min-height:44px;font-size:var(--fs-small);font-weight:var(--fw-semibold);opacity:.9;align-items:center;margin:-10px -6px -10px 0;padding:0 6px;text-decoration:none;display:inline-flex}.hero-value{font-size:2rem;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere;line-height:1.15}.hero-delta{font-size:var(--fs-small);font-weight:var(--fw-bold);background:#ffffff2e;border-radius:999px;justify-self:start;padding:2px 10px}.hero-delta em{font-style:normal;font-weight:var(--fw-regular);opacity:.85}.hero-spark{width:100%;height:48px;margin:4px 0 2px;display:block}.hero-spark .spark-line{stroke:#fff;stroke-width:2px}.hero-spark .spark-area{fill:#ffffff29}.hero-skeleton{gap:8px;padding:4px 0 8px;display:grid}.hero-skeleton span{border-radius:var(--radius-sm);background:#fff3;width:60%;height:34px}.hero-skeleton span+span{width:100%;height:48px}.hero-periods{border-radius:var(--radius-md);background:#00000029;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.hero-periods button{border-radius:var(--radius-sm);min-height:44px;box-shadow:none;color:#fff;font-size:var(--fs-small);font-weight:var(--fw-medium);white-space:nowrap;background:0 0;border:0;margin:0;padding:0 4px}.hero-periods button[aria-pressed=true]{color:var(--brand);font-weight:var(--fw-bold);background:#fff}:root[data-theme=dark] .hero-periods button[aria-pressed=true]{background:var(--surface);color:var(--ink)}.spark{display:block;overflow:visible}.spark-line{fill:none;stroke:var(--brand);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.spark-area{fill:var(--brand-soft)}.dash-shortcuts{grid-template-columns:repeat(var(--sc-n,4), minmax(0, 1fr));gap:8px;display:grid}.dash-sc-wrap{gap:2px;display:grid}.dash-sc-wrap button.sc-edit{min-height:44px;color:var(--muted);font-size:var(--fs-small);font-weight:var(--fw-medium);justify-self:end;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.sc-pick{gap:4px;margin:8px 0 12px;padding:0;list-style:none;display:grid}.sc-pick li{align-items:center;gap:4px;min-height:48px;display:flex}.sc-pick .grow{flex:1}.sheet-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.dash-shortcuts a{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-height:72px;color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-medium);text-align:center;align-content:center;justify-items:center;gap:4px;padding:8px 4px;text-decoration:none;display:grid}.dash-shortcuts .sc-icon{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:50%;place-items:center;display:grid}.kpi-tile{color:inherit;text-decoration:none;position:relative;overflow:hidden}.kpi-tile>:not(.kpi-spark){z-index:1;position:relative}.kpi-spark{opacity:.8;width:55%;height:30px;position:absolute;bottom:0;right:0}.kpi-spark .spark-area{opacity:.6}.chart-total{color:var(--muted);font-size:var(--fs-small);white-space:nowrap}.chart-total strong{color:var(--ink)}.rev-wrap{border-radius:var(--radius-sm);touch-action:pan-y;cursor:crosshair;position:relative}.rev-wrap:focus-visible{outline-offset:4px}.rev-chart rect.cur{opacity:.55;transition:opacity .15s}.rev-chart rect.cur.hi{opacity:1}.rev-tip{z-index:2;border-radius:var(--radius-sm);background:var(--toast);color:#fff;min-width:120px;max-width:70%;font-size:var(--fs-tiny);text-align:center;pointer-events:none;box-shadow:var(--shadow-lg);padding:6px 10px;line-height:1.35;display:grid;position:absolute;top:0;transform:translate(-50%)}.rev-tip strong{font-size:var(--fs-small)}.rev-tip small{opacity:.8}.todo-panel .card-title{margin-bottom:8px}.todo-list{gap:8px;display:grid}.todo-list>li{border:0;padding:0}.todo-list a.todo-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);min-height:56px;padding:10px 12px}.todo-card .todo-icon{position:relative}.todo-card.danger .todo-icon{background:var(--danger-soft);color:var(--danger)}.todo-dot{border:2px solid var(--surface);background:var(--warn-ink);border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px}.todo-card.danger .todo-dot{background:var(--danger)}.todo-action{color:var(--brand);font-size:var(--fs-small);font-weight:var(--fw-semibold);white-space:nowrap;flex:none;align-items:center;gap:2px;display:inline-flex}.top-list>li,.staff-list>li{align-items:center;gap:10px;min-height:52px;padding:6px 0;display:flex}.top-rank{width:18px;color:var(--muted);font-size:var(--fs-small);font-weight:var(--fw-bold);text-align:center;flex:none}.top-list .top-thumb{width:40px;height:40px}.top-list .grow{gap:4px;min-width:0;display:grid}.top-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-bar{background:var(--soft-2);border-radius:999px;height:6px;display:block;overflow:hidden}.top-bar>span{border-radius:inherit;background:var(--brand);height:100%;display:block}.top-right{flex:none;justify-items:end;line-height:1.25;display:grid}.top-right small,.staff-list small{color:var(--muted);font-size:var(--fs-tiny)}.staff-list .grow{min-width:0;display:grid}.panel-skeleton{border-radius:var(--radius-lg);height:160px}@media (min-width:768px) and (min-height:500px){.screen>.dashboard{max-width:1120px}.dash-band{border-radius:0 0 var(--radius-lg) var(--radius-lg);margin:-24px -24px 16px;padding:24px 24px 18px}.dash-hero{padding:20px}.hero-value{font-size:2.4rem}}@media (min-width:900px) and (min-height:500px){.dash-body{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:16px;display:grid}.dash-col{flex-direction:column;gap:16px;min-width:0;display:flex}.dashboard .kpis{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px) and (min-height:500px){.dashboard .kpis{grid-template-columns:repeat(4,1fr)}}@media (hover:hover){.dash-shortcuts a:hover,.kpi-tile:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}.todo-list a.todo-card:hover{border-color:var(--brand-faint)}}.qr-count{flex:none;place-items:center;min-width:26px;display:grid}.qr-count .quick-count{position:static}.receipt-commission{border-radius:var(--radius-md,12px);background:var(--brand-soft);color:var(--brand);justify-content:space-between;gap:8px;margin:0 0 10px;padding:10px 12px;font-weight:600;display:flex}.receipt-commission b{font-variant-numeric:tabular-nums}.commission-amount{color:var(--brand);font-variant-numeric:tabular-nums;font-weight:700}.selecting{padding-bottom:96px}.selecting .list>li,.selecting .prod-grid>li{position:relative}.selecting .list>li>a{padding-left:48px}.sel-check{z-index:2;cursor:pointer;place-items:center;width:44px;height:44px;margin:0;display:grid;position:absolute;top:50%;left:2px;translate:0 -50%}.sel-check input{width:22px;height:22px;accent-color:var(--brand);margin:0}.selecting .prod-grid .sel-check{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 85%, transparent);top:4px;left:4px;translate:none}.sel-on>a{background:var(--brand-soft);outline:2px solid var(--brand);outline-offset:-2px}.sel-head{border-radius:var(--radius-md);background:var(--brand-soft);min-height:48px;color:var(--brand);align-items:center;gap:8px;margin-bottom:8px;padding:0 4px;display:flex}.sel-head .grow{flex:1}.sel-head button.plain{min-height:44px;color:var(--brand);padding:0 12px}.action-bar.sel-bar{left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:30;width:min(100%, var(--app-w));box-shadow:var(--shadow-lg);margin:0 auto;position:fixed}.sel-actions{flex-wrap:wrap;gap:8px;display:flex}.sel-actions button{flex:1 1 0;min-width:72px;min-height:44px;padding:0 8px}.sel-actions button.danger-text{color:var(--danger);border-color:var(--danger-line)}.sel-progress{font-size:var(--fs-small);gap:6px;display:grid}.sel-progress progress{width:100%;height:6px;accent-color:var(--brand)}@media (min-width:768px) and (min-height:500px){.action-bar.sel-bar{bottom:0;left:var(--nav-w);width:auto}}.sheet-list{gap:8px;display:grid}.sheet-list button{text-align:left;min-height:48px}.price-preview{margin:12px 0}.form-save-bar{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:6;border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:12px;margin:16px -16px 0;padding:10px 16px;display:flex;position:sticky}.form-save-bar .form-save-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.form-save-bar button.primary{min-width:120px;min-height:48px;margin:0}.form-save-bar button.form-save-cancel{min-height:44px;margin:0;padding:0 12px}.form-save-aside{min-width:0;font-size:var(--fs-subtitle)}@media (min-width:768px) and (min-height:500px){.form-save-bar{border-radius:var(--radius-md) var(--radius-md) 0 0;margin-inline:0;bottom:0}}.danger-zone{border-top:1px solid var(--line);gap:8px;margin-top:32px;padding-top:16px;display:grid}.danger-zone button{border-color:var(--danger-line);min-height:48px;color:var(--danger);box-shadow:none;background:0 0;justify-self:stretch;margin:0}.danger-zone small{color:var(--muted)}.receipt-preview{margin-top:16px}.receipt-preview>h2{font-size:var(--fs-subtitle);margin:0 0 4px}.top-progress{z-index:100;pointer-events:none;opacity:0;height:3px;transition:opacity .2s;position:fixed;top:0;left:0;right:0;overflow:hidden}.top-progress.on{opacity:1}.top-progress:before{content:"";background:var(--brand);width:40%;box-shadow:0 0 6px var(--brand);border-radius:0 2px 2px 0;animation:1.1s ease-in-out infinite top-progress;position:absolute;inset:0 auto 0 0}.top-progress:not(.on):before{animation:none}@keyframes top-progress{0%{transform:translate(-100%)}to{transform:translate(260%)}}@media (prefers-reduced-motion:reduce){.top-progress:before{opacity:.7;width:100%;animation:none}}.crash{text-align:center;justify-items:center;gap:8px;max-width:420px;margin:48px auto;padding:24px 16px;display:grid}.crash-art{background:var(--brand-soft);width:72px;height:72px;color:var(--brand);font-size:28px;font-weight:var(--fw-bold);border-radius:50%;place-items:center;display:grid}.crash h1{font-size:var(--fs-title);margin:8px 0 0}.crash p{color:var(--muted);margin:0}.crash-actions{gap:8px;width:100%;margin-top:12px;display:grid}.crash-actions button{justify-content:center;min-height:48px}.dev-gallery{padding:16px}.dev-gallery>h2{font-size:var(--fs-subtitle);margin:20px 0 8px}.dev-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dev-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.dev-grid button{margin:0}.dev-fab{height:72px;position:relative}.dev-fab .fab{position:absolute;bottom:0;right:0}.coach{z-index:90;border-radius:var(--radius-md);background:var(--brand);color:#fff;width:min(260px,100vw - 24px);font-size:var(--fs-small);font-weight:var(--fw-medium);box-shadow:var(--shadow-lg);padding:10px 12px;animation:.2s ease-out hint-in;position:fixed}.coach.above{transform:translateY(-100%)}.coach small{opacity:.8;font-weight:var(--fw-regular,400);margin-top:2px;display:block}.coach:before{content:"";top:-6px;left:calc(var(--arrow) - 6px);background:inherit;border-radius:2px;width:12px;height:12px;position:absolute;transform:rotate(45deg)}.coach.above:before{top:auto;bottom:-6px}@keyframes hint-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.coach{animation:none}}.field-count{color:var(--muted);font-size:var(--fs-tiny);display:block}.account.bell .bell-btn{background:var(--soft-2);width:44px;height:44px;box-shadow:none;color:var(--ink);position:relative}.account.bell .bell-dot{box-shadow:0 0 0 2px var(--bg);top:2px;right:2px}.head-actions.compact .account.bell .bell-btn{width:40px;min-width:40px;height:40px;min-height:40px}.head-actions{gap:4px}.side-account .account.bell{order:3;margin-left:auto}.account-menu .menu-group{color:var(--muted);font-size:var(--fs-tiny);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;margin:8px 10px 2px}.account-menu .menu-group:first-of-type{margin-top:4px}.account-menu .menu-empty{color:var(--muted);font-size:var(--fs-small);margin:4px 10px}.account-menu .menu-logout{border-top:1px solid var(--line);border-radius:0;margin-top:6px}.section-btn{border:1px solid var(--line);background:var(--surface);border-radius:999px;margin:0 0 0 -4px;padding:0 10px 0 12px}.section-btn svg{background:var(--brand-soft);width:20px;height:20px;color:var(--brand);border-radius:50%;padding:2px}.section-btn:hover,.section-btn[aria-expanded=true]{border-color:var(--brand);background:var(--surface)}.section-caption{color:var(--muted);font-size:var(--fs-tiny);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0 8px;overflow:hidden}.section-caption b{color:var(--ink);font-weight:var(--fw-semibold)}.dialog-actions button.danger{border-color:var(--danger);background:var(--danger);color:#fff}@media (min-width:560px){.dialog-actions{flex-flow:wrap;justify-content:flex-end}.dialog-actions button{width:auto;min-width:112px}}.account-menu button.menu-group-toggle{width:100%;min-height:40px;box-shadow:none;background:0 0;border:0;justify-content:space-between;align-items:center;margin:0;padding:0 10px;display:flex}.account-menu button.menu-group-toggle .menu-chevron{transition:transform .15s}.account-menu button.menu-group-toggle[aria-expanded=true] .menu-chevron{transform:rotate(180deg)}.att-add{position:relative;overflow:hidden}.att-progress{background:var(--brand);border-radius:0 2px 2px 0;height:4px;transition:width .2s ease-out;position:absolute;bottom:0;left:0}.dash-body,.dash-body>*,.dash-col,.todo-list,.todo-list>li{min-width:0}.todo-list{grid-template-columns:minmax(0,1fr)}.todo-card{min-width:0;max-width:100%}.todo-card .grow{min-width:0;overflow:hidden}.page-head .section-head,.section-head{flex:auto;min-width:0}.section-caption{max-width:100%}.list.doc-list{min-width:0;box-shadow:none;background:0 0;flex-direction:column;gap:8px;padding:0;display:flex}.list.doc-list>li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);flex:none;padding:10px 12px 10px 15px;position:relative}.list.doc-list>li+li{border-top:1px solid var(--line)}.list.doc-list>li:before{content:"";border-radius:var(--radius) 0 0 var(--radius);background:var(--line);width:4px;position:absolute;inset:-1px auto -1px -1px}.list.doc-list>li.st-wait:before{background:var(--accent)}.list.doc-list>li.st-ok:before{background:var(--ok)}.list.doc-list>li.st-bad:before{background:var(--danger)}.list.doc-list>li.st-info:before{background:var(--brand)}.list.doc-list>li.st-off{opacity:.75}.list.doc-list>li>a{min-height:0;padding:0}.list.doc-list>li>a>.grow,.list.doc-list>li.row>.grow{flex:1 1 0;min-width:0}.list.doc-list>li.row{min-height:0}.list.doc-list>.day-head{background:var(--bg);box-shadow:none;opacity:1;border:0;border-radius:0;flex:none;margin:4px 0 -2px;padding:6px 2px 2px;position:sticky}.list.doc-list>.day-head:before{content:none}.list.doc-list>.day-head:first-child{margin-top:0}.oc-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.oc-foot small{color:var(--muted)}.oc-foot .oc-pay{white-space:nowrap;flex:none;min-height:34px;padding:0 14px;font-size:.9rem}.page-head:has(.section-caption){align-items:flex-start}.page-head:has(.section-caption) .head-actions{min-height:44px}@media not all and (min-width:768px) and (min-height:500px){.page-head:has(.section-caption){max-height:76px}}@media (max-width:359px){.list-tools>.search-field,.list-tools>.search-wrap{min-width:56px}.list-tools .date-step button{width:26px;min-width:26px}.list-tools .date-step input{width:84px;font-size:.85rem}}
