@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-vietnamese-400-normal.1p7a6n-wg7475.woff2)format("woff2"),url(../media/barlow-vietnamese-400-normal.0k-idquqjs3ou.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-latin-ext-400-normal.3428h6_4no53c.woff2)format("woff2"),url(../media/barlow-latin-ext-400-normal.3-5gl67tny_vk.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-latin-400-normal.0ttnbqtks8pz8.woff2)format("woff2"),url(../media/barlow-latin-400-normal.2q232q7nmze6k.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-vietnamese-500-normal.34vh5f-6yju0-.woff2)format("woff2"),url(../media/barlow-vietnamese-500-normal.0fgg28h67ffz5.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-latin-ext-500-normal.0y48t30zsg1-x.woff2)format("woff2"),url(../media/barlow-latin-ext-500-normal.3tpb058eqjlba.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-latin-500-normal.07ksy-a4avz1m.woff2)format("woff2"),url(../media/barlow-latin-500-normal.2gp2c7bmfr47a.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-vietnamese-600-normal.1m5b9nf7zu8da.woff2)format("woff2"),url(../media/barlow-vietnamese-600-normal.2fsgphdgpmz4d.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-latin-ext-600-normal.2h29y9nb1nz0g.woff2)format("woff2"),url(../media/barlow-latin-ext-600-normal.45cip6q06fzn7.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-latin-600-normal.2ekrofpr7xv99.woff2)format("woff2"),url(../media/barlow-latin-600-normal.2r--11ob1d7-_.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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-vietnamese-700-normal.2qdjb9fx8pty2.woff2)format("woff2"),url(../media/barlow-vietnamese-700-normal.3w4w_g8ykrug3.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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-latin-ext-700-normal.0pkbndl2so67m.woff2)format("woff2"),url(../media/barlow-latin-ext-700-normal.3ppuwg38p9m1k.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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-latin-700-normal.3-aa5f3j6vyu9.woff2)format("woff2"),url(../media/barlow-latin-700-normal.28ciibjclp1g4.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-semi-condensed-vietnamese-600-normal.2gbrhuh0_8mh1.woff2)format("woff2"),url(../media/barlow-semi-condensed-vietnamese-600-normal.2apgyv3nzj6wb.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-semi-condensed-latin-ext-600-normal.38o29yiflk_v8.woff2)format("woff2"),url(../media/barlow-semi-condensed-latin-ext-600-normal.1hoxfyisf-irg.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-semi-condensed-latin-600-normal.34vyxsduuj3tr.woff2)format("woff2"),url(../media/barlow-semi-condensed-latin-600-normal.2xpt0qcirtddg.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-semi-condensed-vietnamese-700-normal.2hhgv5agkpgnj.woff2)format("woff2"),url(../media/barlow-semi-condensed-vietnamese-700-normal.3iw8exc6ocqrq.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-semi-condensed-latin-ext-700-normal.0_4d2_p__a93t.woff2)format("woff2"),url(../media/barlow-semi-condensed-latin-ext-700-normal.2c-v95e1i-uf1.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-semi-condensed-latin-700-normal.1qp1yywwtfonp.woff2)format("woff2"),url(../media/barlow-semi-condensed-latin-700-normal.2dyh4zm9csxqf.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{--floor:#e6e9e8;--card:#fff;--ink:#1f2428;--ink-soft:#565f66;--line:#c9cfd2;--line-strong:#8d979d;--hivis:#ffc400;--hivis-press:#e6ad00;--on-hivis:#1f2428;--plate:#ffd21f;--paid:#1f7346;--paid-bg:#e2f1e8;--owed:#a8411d;--owed-bg:#f8e6dd;--focus:#1d5fd1;--font-body:"Barlow", system-ui, sans-serif;--font-narrow:"Barlow Semi Condensed", "Barlow", system-ui, sans-serif;--t-sm:.875rem;--t-base:1.0625rem;--t-md:1.3125rem;--t-lg:1.625rem;--t-xl:2.0625rem;--r-sm:6px;--r-md:10px;--tap:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--floor:#171a1c;--card:#21262a;--ink:#e8ebec;--ink-soft:#a1aab0;--line:#353c41;--line-strong:#59636a;--paid:#6bcb93;--paid-bg:#1d3327;--owed:#f19b78;--owed-bg:#3a251d;--focus:#7aa7ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--floor:#171a1c;--card:#21262a;--ink:#e8ebec;--ink-soft:#a1aab0;--line:#353c41;--line-strong:#59636a;--paid:#6bcb93;--paid-bg:#1d3327;--owed:#f19b78;--owed-bg:#3a251d;--focus:#7aa7ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--floor);color:var(--ink);font:400 var(--t-base) / 1.45 var(--font-body);font-variant-numeric:tabular-nums;margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{font-family:var(--font-narrow);margin:0;font-weight:700;line-height:1.15}h1{font-size:var(--t-xl)}h2{font-size:var(--t-md)}p{margin:0}.frame{max-width:640px;margin:0 auto;padding:0 16px 120px}.topbar{justify-content:space-between;align-items:center;gap:12px;max-width:640px;margin:0 auto;padding:14px 16px;display:flex}.wordmark{align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.wordmark small{font:500 var(--t-sm) var(--font-body);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;border-left:1px solid var(--line);padding-left:12px;overflow:hidden}.logo{color:var(--ink);align-items:center;gap:11px;display:inline-flex}.logo-word{font:700 2.05rem / 1 var(--font-narrow);letter-spacing:.01em}.logo-lg{gap:14px}.logo-lg .logo-word{font-size:2.8rem}.nut-body{fill:var(--hivis);stroke:var(--hivis)}.nut-edge{stroke:var(--ink)}.nut-z{fill:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nut-edge{stroke:none}:root:not([data-theme=light]) .nut-z{fill:var(--floor)}}:root[data-theme=dark] .nut-edge{stroke:none}:root[data-theme=dark] .nut-z{fill:var(--floor)}.brand-hero{justify-items:start;gap:10px;margin:12px 0 8px;display:grid}.auth-page{place-content:center;justify-items:center;gap:22px;min-height:100vh;padding:32px 16px;display:grid}.topbar nav{font-size:var(--t-sm);align-items:center;gap:16px;display:flex}.topbar nav a{color:var(--ink-soft);padding:8px 0;text-decoration:none}.topbar nav a:hover{color:var(--ink)}.stack{gap:16px;display:grid}.section{gap:10px;margin-top:28px;display:grid}.muted{color:var(--ink-soft)}.small{font-size:var(--t-sm)}.plate{background:var(--plate);color:#111;font:700 1.125rem / 1 var(--font-narrow);letter-spacing:.06em;white-space:nowrap;border:1.5px solid #111;border-radius:4px;justify-content:center;align-items:center;min-width:6.4em;padding:7px 10px 6px;display:inline-flex}.plate-lg{border-width:2.5px;border-radius:6px;padding:12px 18px 10px;font-size:2.25rem}.plate-input{background:var(--plate);color:#111;width:100%;font:700 2rem / 1 var(--font-narrow);letter-spacing:.08em;text-transform:uppercase;text-align:center;border:2.5px solid #111;border-radius:6px;padding:14px 12px 12px}.plate-input::placeholder{color:#11111173;opacity:1;letter-spacing:.02em;text-transform:none;font-size:1.25rem}input::placeholder,textarea::placeholder{color:var(--ink-soft);opacity:.6;font-style:italic}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px}.rows{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.row{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:72px;padding:14px 16px;text-decoration:none;display:grid}.row+.row{border-top:1px solid var(--line)}a.row:hover{background:color-mix(in srgb, var(--floor) 45%, var(--card))}.row .plate{width:6.6em;min-width:0;padding:6px 4px 5px;font-size:.95rem}.row-main{min-width:0}.row-main strong{font-weight:600;display:block}.row-main span{color:var(--ink-soft);font-size:var(--t-sm);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.row-end{text-align:right;justify-items:end;gap:4px;display:grid}.amount{font:700 var(--t-md) / 1 var(--font-narrow)}.tag{font:600 var(--t-sm) / 1 var(--font-body);white-space:nowrap;border-radius:999px;padding:5px 8px}.tag-paid{color:var(--paid);background:var(--paid-bg)}.tag-owed{color:var(--owed);background:var(--owed-bg)}.tag-none{color:var(--ink-soft);background:color-mix(in srgb, var(--line) 50%, transparent)}.btn{min-height:var(--tap);font:600 var(--t-base) / 1 var(--font-body);border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn-go{background:var(--hivis);color:var(--on-hivis);border-color:var(--hivis);font-weight:700}.btn-go:hover{background:var(--hivis-press);border-color:var(--hivis-press)}.btn-block{width:100%}.btn-quiet{color:var(--ink-soft);background:0 0;border-color:#0000;padding:0 10px}.btn-quiet:hover{color:var(--ink);border-color:#0000}.btn[disabled]{opacity:.55;cursor:not-allowed}.actions{gap:10px;display:grid}@media (min-width:520px){.actions-row{grid-template-columns:1fr 1fr}}.dock{z-index:10;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--floor) 70%, transparent);position:fixed;inset:auto 0 0}.dock-inner{max-width:640px;margin:0 auto}.dock .btn{min-height:60px;font-size:var(--t-md);width:100%;box-shadow:0 2px #b38900}.field{gap:6px;display:grid}.field>span{font-weight:600}.field small{color:var(--ink-soft);font-size:var(--t-sm)}.lookup-note{min-height:1.4em;color:var(--ink-soft);font-size:var(--t-sm);margin:-6px 0 0}input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--r-sm);min-height:var(--tap);width:100%;padding:12px}textarea{resize:vertical;min-height:96px}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 25%, transparent);outline:none}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}@media (max-width:460px){.stack-narrow{grid-template-columns:1fr}}@media (max-width:420px){.grid-3{grid-template-columns:1fr 1fr}.grid-3>:first-child{grid-column:1/-1}}.check{min-height:var(--tap);align-items:center;gap:12px;font-weight:600;display:flex}.check input{width:24px;height:24px;min-height:0;accent-color:var(--ink)}.choice{flex-wrap:wrap;gap:8px;display:flex}.choice label{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);cursor:pointer;background:var(--card);align-items:center;gap:8px;padding:10px 12px;display:flex}.choice input{width:18px;height:18px;min-height:0;accent-color:var(--ink)}.swatch{width:18px;height:18px;box-shadow:0 0 0 1px var(--line-strong);border-radius:4px;display:inline-block}.line{grid-template-columns:1fr 76px 104px 40px;align-items:end;gap:8px;padding:12px 0;display:grid}.line+.line{border-top:1px dashed var(--line)}.line.line-simple{grid-template-columns:1fr 120px 40px}.line input{padding:10px}.line .remove{min-height:var(--tap);width:40px;padding:0;font-size:1.4rem;line-height:1}@media (max-width:460px){.line{grid-template-columns:1fr 1fr 40px}.line .desc{grid-column:1/-1}}.add-lines{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.add-lines .btn{font-size:var(--t-sm);padding:0 8px}.sum{gap:6px;display:grid}.sum div{justify-content:space-between;gap:12px;display:flex}.sum .grand{font:700 var(--t-lg) / 1.1 var(--font-narrow);border-top:2px solid var(--ink);padding-top:8px}.error{color:var(--owed);background:var(--owed-bg);border-radius:var(--r-sm);padding:12px 14px;font-weight:600}.notice{background:var(--card);border-left:4px solid var(--paid);border-radius:var(--r-sm);padding:12px 14px}table.lines{border-collapse:collapse;width:100%}table.lines th{text-align:left;font:600 var(--t-sm) var(--font-body);color:var(--ink-soft);padding:0 0 8px}table.lines td{border-top:1px solid var(--line);vertical-align:top;padding:10px 0}table.lines .num{text-align:right;white-space:nowrap;padding-left:12px}.history{gap:0;margin:0;padding:0;list-style:none;display:grid}.stamp{grid-template-columns:58px 1fr auto;gap:14px;padding:18px 0;text-decoration:none;display:grid}.history>li+li{border-top:2px solid var(--line-strong)}.stamp-date{font:700 var(--t-base) / 1.1 var(--font-narrow)}.stamp-date span{font:500 var(--t-sm) var(--font-body);color:var(--ink-soft);margin-top:2px;display:block}.stamp-body strong{font-weight:600;display:block}.stamp-body span{color:var(--ink-soft);font-size:var(--t-sm);margin-top:3px;line-height:1.35;display:block}.stamp-body strong{line-height:1.3}.empty{text-align:left;border:2px dashed var(--line-strong);border-radius:var(--r-md);gap:6px;padding:28px 16px;display:grid}.search{gap:8px;display:flex}.search input::placeholder{text-transform:none;letter-spacing:0;font-family:var(--font-body);font-weight:400;font-size:var(--t-base)}.search input{text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-narrow);font-weight:600;font-size:var(--t-md)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.logo-preview{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:8px;max-width:220px;max-height:90px;padding:6px}.choice label{align-items:flex-start}@media (max-width:480px){.line.line-simple{grid-template-columns:1fr 104px 40px}.line.line-simple .desc{grid-column:auto}}.plate.plate-none{color:var(--ink-soft);letter-spacing:0;background:0 0;border-style:dashed;font-size:.8rem}.batch-list{margin-top:8px}.batch-row{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.batch-row input{width:22px;height:22px;min-height:0;accent-color:var(--ink)}.batch-row .row-main{gap:2px;min-width:0;display:grid}.batch-row .row-main span{color:var(--ink-soft);font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn-stop{background:var(--owed);color:#fff;border-color:var(--owed)}fieldset.bare{border:0;min-width:0;margin:0;padding:0}fieldset.bare legend{margin-bottom:6px;padding:0;font-weight:600}.looks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.look{border:2px solid var(--line-strong);border-radius:var(--r-md);background:var(--floor);cursor:pointer;justify-items:center;gap:8px;padding:10px;display:grid;position:relative}.look input{opacity:0;width:1px;height:1px;position:absolute}.look:has(input:checked){border-color:var(--ink);background:var(--card);border-width:3px;padding:9px}.look:has(input:checked):after{content:"✓";z-index:1;background:var(--hivis);width:28px;height:28px;color:var(--on-hivis);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;top:-12px;right:-12px}.look:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.look-name{font:700 var(--t-md) / 1 var(--font-narrow)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch-pick{min-height:var(--tap);border:1.5px solid var(--line-strong);background:var(--card);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:6px 12px 6px 6px;font-weight:500;display:flex}.swatch-pick input{opacity:0;width:1px;height:1px;position:absolute}.swatch-pick:has(input:checked){border-color:var(--ink);border-width:3px;padding:4px 10px 4px 4px;font-weight:700}.swatch-pick:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.swatch-big{width:36px;height:36px;box-shadow:inset 0 0 0 1px #ffffff40, 0 0 0 1px var(--line-strong);border-radius:50%}details.more>summary{cursor:pointer;font:700 var(--t-md) / 1.2 var(--font-narrow);align-items:center;gap:8px;min-height:32px;list-style:none;display:flex}details.more>summary::-webkit-details-marker{display:none}details.more>summary:before{content:"+";border:1.5px solid var(--line-strong);width:28px;height:28px;font-family:var(--font-body);border-radius:50%;place-items:center;display:grid}details.more[open]>summary:before{content:"−"}details.more[open]>summary{margin-bottom:14px}.inv{aspect-ratio:1/1.414;color:#1f2428;width:100%;max-width:190px;font:400 6.5px / 1.25 var(--font-body);text-align:left;background:#fff;border-radius:3px;flex-direction:column;gap:4%;padding:9% 8% 8%;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #00000038}.inv-band{height:3%;position:absolute;inset:0 0 auto}.inv-row{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.inv-brand{align-items:center;gap:4px;min-width:0;display:flex}.inv-logo{object-fit:contain;flex:none;max-width:40%;max-height:22px}.inv-modern .inv-logo{max-width:55%;max-height:24px}.inv-name{font:700 8px / 1.1 var(--font-narrow);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inv-name-lg{font-size:11px}.inv-title{font:700 13px / 1 var(--font-narrow)}.inv-meta{text-align:right;color:#5a6268;font-size:5.5px}.inv-rule{background:#f5cf47;height:1.5px}.inv-hr{height:2px}.inv-boxes>div,.inv-cols>div{flex:1;align-content:start;gap:3px;min-width:0;display:grid}.inv-box{border:.5px solid #d3d8da;border-radius:2px;min-height:26px;padding:4px}.inv-box span,.inv-label{letter-spacing:.06em;color:#5a6268;font-size:5px;font-weight:600}.inv i{background:#d3d8da;border-radius:1px;width:70%;height:3px;display:block}.inv-plate{font:700 6px / 1.2 var(--font-narrow);letter-spacing:.04em;color:#111;background:#ffd21f;border:.5px solid #111;border-radius:1.5px;justify-self:start;padding:1px 3px}.inv-thead{color:#fff;border-radius:1px;justify-content:space-between;padding:3px 4px;font-size:5.5px;font-weight:600;display:flex}.inv-line{border-bottom:.5px solid #e3e6e8;justify-content:space-between;gap:4px;padding:0 4px 3px;display:flex}.inv-total{color:#fff;width:62%;font:700 7px / 1 var(--font-narrow);border-radius:2px;justify-content:space-between;align-self:flex-end;margin-top:auto;padding:5px;display:flex}.inv-num{text-align:right;gap:1px;display:grid}.inv-num b{font:700 9px / 1 var(--font-narrow)}.inv-num span{color:#5a6268;font-size:5px}.inv.inv-big{zoom:1.85;max-width:190px;margin:0 auto}.inv-brandtext{gap:1px;min-width:0;display:grid}.inv-tag{color:#5a6268;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:4.6px;line-height:1.25;overflow:hidden}.inv-signs{color:#5a6268;gap:10px;margin-top:4%;font-size:4.6px}.inv-signs span{border-top:.5px solid #1f2428;flex:1;padding-top:2px}.inv-foot{color:#5a6268;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid #f5cf47;padding-top:2px;font-size:4.4px;overflow:hidden}.preview-card{background:var(--floor)}.preview-card .inv{box-shadow:0 2px 10px #00000040}.toggles{gap:10px;display:grid}.toggle{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);cursor:pointer;background:var(--card);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 14px;display:grid}.toggle:has(input:checked){border-color:var(--ink)}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle strong{font-weight:600}.toggle .eg{color:var(--ink-soft);font-size:var(--t-sm);grid-column:1}.toggle .switch{background:var(--line-strong);border-radius:14px;grid-area:1/2/span 2;width:46px;height:28px;transition:background .15s;position:relative}.toggle .switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.toggle input:checked+.switch{background:var(--paid)}.toggle input:checked+.switch:after{transform:translate(18px)}.toggle input:focus-visible+.switch{outline:3px solid var(--hivis);outline-offset:2px}.voice{text-align:center;justify-items:center}.mic{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:6px}.mic-ring{background:var(--hivis);width:112px;height:112px;color:var(--on-hivis);box-shadow:0 0 0 6px color-mix(in srgb, var(--hivis) 30%, transparent);border-radius:50%;place-items:center;transition:transform .1s;display:grid}.mic:active .mic-ring{transform:scale(.95)}.mic:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.mic-recording .mic-ring{background:var(--owed);color:#fff;animation:1.4s ease-out infinite mic-pulse}.mic-working .mic-ring{background:var(--line-strong);color:var(--ink-soft);animation:1.2s linear infinite mic-spin}.mic:disabled{cursor:progress}.mic-label{margin:0;font-size:1.1rem;font-weight:700}@keyframes mic-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--owed) 55%, transparent)}to{box-shadow:0 0 0 22px #0000}}@keyframes mic-spin{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.mic-ring{animation:none!important}}.regulars{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.regulars .chip-pick{text-align:left;border-radius:22px;gap:6px;width:100%;min-width:0;padding-right:10px;line-height:1.15}.regulars .chip-pick .initial{width:26px;height:26px;font-size:.8rem}.regulars .chip-pick .name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.chip-pick{border:2px solid var(--line-strong);background:var(--floor);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:6px 14px 6px 6px;font-weight:600;display:inline-flex}.chip-pick .initial{background:var(--ink);width:30px;height:30px;color:var(--card);border-radius:50%;flex:none;place-items:center;font-size:.9rem;display:grid}.chip-pick.on{border-color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 1px var(--ink)}.chip-pick.on .initial{background:var(--hivis);color:var(--on-hivis)}.btn-icon{justify-content:center;align-items:center;gap:10px;display:inline-flex}.btn-icon svg{flex:none}.save-choices{gap:10px;display:grid}.save-choice{text-align:center;white-space:normal;flex-direction:column;gap:4px;min-height:72px;padding:12px 16px;line-height:1.25}.save-choice strong{font-size:var(--t-md);font-weight:700}.save-choice span{font-size:var(--t-sm);opacity:.85;font-weight:500}.just-changed{border-radius:var(--r-sm);animation:6s ease-out just-changed}.just-changed input,.just-changed textarea{border-color:var(--hivis);box-shadow:0 0 0 3px color-mix(in srgb, var(--hivis) 45%, transparent)}.line.just-changed{background:color-mix(in srgb, var(--hivis) 14%, transparent)}@keyframes just-changed{0%,70%{background:color-mix(in srgb, var(--hivis) 14%, transparent)}to{background:0 0}}@media (prefers-reduced-motion:reduce){.just-changed{animation:none}}.sign-canvas{aspect-ratio:3;border:2px dashed var(--line-strong);border-radius:var(--r-sm);touch-action:none;cursor:crosshair;background:#fff;width:100%}.sign-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sign-saved{object-fit:contain;border-radius:var(--r-sm);background:#fff;max-width:70%;height:56px;padding:4px 8px}.choice-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice-card{border:2px solid var(--line-strong);border-radius:var(--r-md);background:var(--floor);cursor:pointer;gap:4px;padding:12px;display:grid;position:relative}.choice-card input{opacity:0;width:1px;height:1px;position:absolute}.choice-card:has(input:checked){border-color:var(--ink);background:var(--card);border-width:3px;padding:11px}.choice-card:has(input:focus-visible){outline:3px solid var(--hivis);outline-offset:2px}.choice-card .eg{font-size:var(--t-sm);color:var(--ink-soft)}.inv-signs>span{position:relative}.inv-sig{object-fit:contain;max-width:90%;height:2em;position:absolute;bottom:calc(100% + 1px);left:0}.search{position:relative}.search-wrap{flex:1;min-width:0}.search-wrap input{width:100%}.search-list{z-index:20;background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--r-md);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 10px 28px #00000038}.search-list li{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:12px;min-height:52px;padding:6px 10px;display:flex}.search-list li.on,.search-list li:hover{background:var(--floor)}.search-list .plate{flex:none}.search-who{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:55%;font-weight:700;overflow:hidden}.search-detail{color:var(--ink-soft);font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.garage-brand{min-width:0;color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.garage-logo{object-fit:contain;box-sizing:content-box;outline:1px solid var(--line);background:#fff;border-radius:8px;flex:none;width:auto;padding:4px;display:block}.garage-initial{color:#fff;font:700 1.5rem / 1 var(--font-narrow);outline:1.5px solid var(--line-strong);outline-offset:0;border-radius:10px;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 2px #ffffff2e}.garage-name{font:700 1.4rem / 1.1 var(--font-narrow);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.zephy-credit{color:var(--ink-soft);font-size:var(--t-sm);justify-content:center;align-items:center;gap:6px;margin:32px 0 0;display:flex}.zephy-credit a{color:inherit;align-items:center;gap:6px;padding:10px 6px;text-decoration:none;display:inline-flex}.zephy-credit a:hover{color:var(--ink)}.help-steps{gap:14px;margin:8px 0 0;padding:0;list-style:none;display:grid}.help-steps li{grid-template-columns:40px 1fr;align-items:start;gap:12px;display:grid}.help-steps li>span:last-child{gap:2px;display:grid}.help-num{background:var(--hivis);width:40px;height:40px;color:var(--on-hivis);font:700 1.1rem / 1 var(--font-narrow);border-radius:50%;place-items:center;display:grid}.btn-danger{background:var(--owed);border-color:var(--owed);color:#fff;font-weight:700}.danger-text{color:var(--owed)}.delete-zone{border-top:1px dashed var(--line-strong);gap:6px;margin-top:28px;padding-top:16px;display:grid}.inv-thanks{font-style:italic}.legal{max-width:640px;padding-top:20px}.legal h1{margin-bottom:4px;font-size:1.75rem}.legal h2{margin:28px 0 8px;font-size:1.25rem}.legal p,.legal li{line-height:1.6}.legal p,.legal ul{margin:0 0 12px}.legal ul{gap:6px;padding-left:1.2em;display:grid}.legal .lead{font-size:1.05rem}.legal a{color:inherit}.legal-foot{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:36px;padding-top:16px}.legal-links{font-size:var(--t-sm);color:var(--ink-soft);justify-content:center;gap:14px;display:flex}.legal-links a{color:inherit}.zephy-credit{flex-wrap:wrap}.credit-legal{gap:6px;padding:10px 6px;display:inline-flex}.credit-legal a{color:inherit;padding:0}.step-label{font-weight:700;font-size:var(--t-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0}.landing h1{font-size:clamp(1.9rem,7vw,2.6rem);line-height:1.05}.landing ul{gap:8px;margin:0;padding-left:1.2em;display:grid}.topbar .btn{min-height:44px;padding:0 16px}
