:root{--bg:#f4f4f3;--surface:#fff;--sunken:#ededec;--ink:#0a0a0a;--muted:#5c5c5c;--line:#e0e0de;--accent:#0a0a0a;--accent-ink:#fff;--accent-soft:#e6e6e4;--bar:#c9c9c7;--pop:#d1145a;--pop-ink:#fff;--pop-soft:#fce7ef;--sun:#f2a900;--grad-pulse:linear-gradient(135deg, #d1145a 0%, #f2541b 58%, #f2a900 100%);--barber:#0b7a71;--barber-soft:#def3f0;--lashes:#c2185b;--lashes-soft:#fce7ef;--tattoo:#6d3fd1;--tattoo-soft:#ece6fb;--gold:#8a5a00;--gold-soft:#fff3d1;--warn:#0a0a0a;--warn-soft:#fff;--bad:#fff;--bad-soft:#0a0a0a;--wa:#0b7a55;--wa-soft:#e1f4ea;--ig:#b4237a;--ig-soft:#fbe6f1;--st-confirmed:#1e7e34;--st-confirmed-soft:#e3f4e7;--st-unconfirmed:#1a66d1;--st-unconfirmed-soft:#e5eefc;--st-cancelled:#c62828;--st-cancelled-soft:#fde8e7;--scrim:#0a0a0a73;--shadow-sm:0 1px 2px #0a0a0a0d, 0 1px 1px #0a0a0a08;--shadow-md:0 2px 4px #0a0a0a0a, 0 10px 24px -8px #0a0a0a24;--shadow:0 24px 60px -14px #0a0a0a4d, 0 2px 6px #0a0a0a0f;--sc-skin:#8d5524;--sc-skin-2:#c68642;--sc-hair:#141414;--sc-shirt:#fff;--sc-apron:#161616;--sc-cape:#0b7a71;--sc-chair:#262626;--sc-metal:#a3a3a3;--sc-floor:#e3e3e1;--sc-glow:#fce7ef;--font-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--font-data:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--r-sm:8px;--r:12px;--r-lg:18px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur:.24s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--st-confirmed:#5cc879;--st-confirmed-soft:#12301d;--st-unconfirmed:#6ea8fe;--st-unconfirmed-soft:#10223f;--st-cancelled:#ff8a80;--st-cancelled-soft:#3d1614;--bg:#0a0a0a;--surface:#151515;--sunken:#1f1f1f;--ink:#f5f5f5;--muted:#a3a3a3;--line:#2a2a2a;--accent:#f5f5f5;--accent-ink:#0a0a0a;--accent-soft:#2a2a2a;--bar:#4a4a4a;--pop:#ff5c93;--pop-ink:#0a0a0a;--pop-soft:#3a1224;--sun:#ffc233;--grad-pulse:linear-gradient(135deg, #ff5c93 0%, #ff7a45 58%, #ffc233 100%);--barber:#2dd4bf;--barber-soft:#0f2e2b;--lashes:#ff6fa3;--lashes-soft:#3a1224;--tattoo:#b49cff;--tattoo-soft:#251d3d;--gold:#ffc233;--gold-soft:#33270a;--warn:#f5f5f5;--warn-soft:#151515;--bad:#0a0a0a;--bad-soft:#f5f5f5;--wa:#3ddc97;--wa-soft:#0f2a1e;--ig:#ff7ac6;--ig-soft:#331427;--scrim:#000000a6;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 2px 4px #0006, 0 10px 24px -8px #000000b3;--shadow:0 24px 60px -14px #000c, 0 0 0 1px #ffffff0a;--sc-shirt:#e8e8e8;--sc-apron:#3a3a3a;--sc-cape:#1f9e92;--sc-chair:#4a4a4a;--sc-metal:#6b6b6b;--sc-floor:#1c1c1c;--sc-glow:#2a0f1c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--st-confirmed:#5cc879;--st-confirmed-soft:#12301d;--st-unconfirmed:#6ea8fe;--st-unconfirmed-soft:#10223f;--st-cancelled:#ff8a80;--st-cancelled-soft:#3d1614;--bg:#0a0a0a;--surface:#151515;--sunken:#1f1f1f;--ink:#f5f5f5;--muted:#a3a3a3;--line:#2a2a2a;--accent:#f5f5f5;--accent-ink:#0a0a0a;--accent-soft:#2a2a2a;--bar:#4a4a4a;--pop:#ff5c93;--pop-ink:#0a0a0a;--pop-soft:#3a1224;--sun:#ffc233;--grad-pulse:linear-gradient(135deg, #ff5c93 0%, #ff7a45 58%, #ffc233 100%);--barber:#2dd4bf;--barber-soft:#0f2e2b;--lashes:#ff6fa3;--lashes-soft:#3a1224;--tattoo:#b49cff;--tattoo-soft:#251d3d;--gold:#ffc233;--gold-soft:#33270a;--warn:#f5f5f5;--warn-soft:#151515;--bad:#0a0a0a;--bad-soft:#f5f5f5;--wa:#3ddc97;--wa-soft:#0f2a1e;--ig:#ff7ac6;--ig-soft:#331427;--scrim:#000000a6;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 2px 4px #0006, 0 10px 24px -8px #000000b3;--shadow:0 24px 60px -14px #000c, 0 0 0 1px #ffffff0a;--sc-shirt:#e8e8e8;--sc-apron:#3a3a3a;--sc-cape:#1f9e92;--sc-chair:#4a4a4a;--sc-metal:#6b6b6b;--sc-floor:#1c1c1c;--sc-glow:#2a0f1c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;isolation:isolate;margin:0;font-size:15px;line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 420px at 100% -8%, var(--pop-soft), transparent 70%), radial-gradient(700px 380px at -10% 110%, var(--barber-soft), transparent 70%);opacity:.7;position:fixed;inset:0}img{max-width:100%}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;line-height:1.15}h1{letter-spacing:-.02em;font-size:30px;font-weight:700}h2{font-size:18px;font-weight:700}h3{font-size:15px;font-weight:700}p{margin:0}button,textarea,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--pop);outline-offset:2px;border-radius:6px}.num{font-family:var(--font-data);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:13px}.label{color:var(--muted);font-size:12.5px;font-weight:600}.up{color:var(--barber);font-weight:600}.down{color:var(--warn)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);min-width:0}.panel>.ph{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.panel>.pb{padding:16px}.pb.stack{flex-direction:column;gap:18px;display:flex}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi{padding:16px 18px;position:relative;overflow:hidden}.kpis>.kpi:first-child:before{content:"";background:var(--grad-pulse);height:3px;position:absolute;inset:0 0 auto}.kpi .v{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:28px;font-weight:700;line-height:1.1}.kpi .d{color:var(--muted);margin-top:4px;font-size:13px}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast), background-color var(--dur-fast), box-shadow var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:active:not(:disabled){transform:scale(.97)}a.btn{color:var(--ink);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{box-shadow:var(--shadow-md), 0 0 0 3px var(--pop-soft)}.btn.pop{background:var(--pop);border-color:var(--pop);color:var(--pop-ink)}.btn.pop:hover{box-shadow:var(--shadow-md), 0 0 0 3px var(--pop-soft)}.btn.sm{padding:5px 10px;font-size:13px}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--sunken)}.btn:disabled{opacity:.45;cursor:not-allowed}.link{cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.link:hover{text-decoration:underline}.chip{background:var(--sunken);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.chip.ok{background:var(--accent-soft);color:var(--accent)}.chip.pop{background:var(--pop-soft);color:var(--pop)}.chip.gold{background:var(--gold-soft);color:var(--gold)}.chip.warn{background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.wa{background:var(--wa-soft);color:var(--wa)}.chip.ig{background:var(--ig-soft);color:var(--ig)}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{isolation:isolate;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--muted);transition:color var(--dur-fast), border-color var(--dur-fast), background-color var(--dur-fast);border-radius:999px;padding:5px 13px;font-size:13.5px;font-weight:500;position:relative}.tabs button:hover{color:var(--ink);border-color:var(--muted)}.tabs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:600}.tab-pill{z-index:-1;border-radius:inherit;background:var(--ink);pointer-events:none;position:absolute;inset:-1px}:is(.tabs button:has(>.tab-pill),.seg button:has(>.tab-pill)){box-shadow:none;background:0 0;border-color:#0000}.seg button:has(>.tab-pill) .tab-pill{background:var(--surface);box-shadow:var(--shadow-sm)}.av{background:var(--sunken);width:36px;height:36px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.search{border:1px solid var(--line);background:var(--bg);border-radius:var(--r-sm);width:100%;transition:border-color var(--dur-fast), box-shadow var(--dur-fast);padding:8px 11px}.search:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pop);box-shadow:0 0 0 3px var(--pop-soft);outline:none}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field label{font-size:13px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--bg);border-radius:var(--r-sm);width:100%;transition:border-color var(--dur-fast), box-shadow var(--dur-fast);padding:8px 10px}.fgrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fgrid .wide{grid-column:1/-1}.switch{cursor:pointer;align-items:center;gap:7px;font-size:13px;display:inline-flex}.switch input{width:16px;height:16px;accent-color:var(--pop)}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 12px;font-size:12.5px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}tr:last-child td{border-bottom:0}td.r,th.r{text-align:right}tfoot td{border-top:2px solid var(--line);font-weight:700}#modal{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--dur) var(--ease-out);z-index:50;padding:16px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--line);width:min(560px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow);animation:rise-in .28s var(--ease-out);overflow:auto}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.dialog .dh{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.dialog form,.dialog .db{flex-direction:column;gap:14px;padding:18px;display:flex}.sum{background:var(--sunken);border-radius:9px;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 14px;font-size:14px;display:grid}.sum .tot{border-top:1px solid var(--line);margin-top:2px;padding-top:6px;font-weight:700}.receipt{font-family:var(--font-data);background:var(--bg);border:1px dashed var(--line);white-space:pre-wrap;border-radius:9px;width:100%;padding:16px;font-size:13.5px;line-height:1.6}#toast{box-shadow:var(--shadow);left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:60;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border-radius:9px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:500;position:fixed;transform:translate(-50%,8px)}#toast.show{opacity:1;transform:translate(-50%)}.kpi .v.small-v{font-size:20px}.link-input input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:8px 10px 8px 0}.btn.preview-btn{white-space:nowrap;font-weight:600;text-decoration:none}.btn.preview-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.biz-tabs{margin:4px 0 18px}.biz-tabs button{padding:7px 16px;font-size:14px}.bc-none{border:1px dashed var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;display:flex}.bc-none p{margin:0}.bc-new{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px}.bc-new .fgrid{margin-top:8px}[hidden]{display:none!important}.bk{border-top:1px solid var(--line);grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:12px 16px;display:grid}.bk:first-child{border-top:0}.bk-time{font-size:14px;font-weight:500}.bk-time span{color:var(--muted);font-size:11.5px;font-family:var(--font-body);display:block}.bk .sub{color:var(--muted);font-size:13px}.bk-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.bk-act{flex-wrap:wrap;grid-column:2/-1;gap:6px;display:flex}.bk.no-show .bk-main>.link{color:var(--muted);text-decoration:line-through}.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.days button{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);transition:border-color var(--dur-fast), background-color var(--dur-fast), transform var(--dur-fast) var(--ease-out);cursor:pointer;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;display:flex}.days button b{font-family:var(--font-display);font-size:19px}.days button small{color:var(--muted);font-size:11.5px}.days button:hover{border-color:var(--muted)}.days button:active{transform:scale(.97)}.days button[aria-pressed=true]{border-color:var(--pop);background:var(--pop-soft);box-shadow:inset 0 0 0 1px var(--pop)}.days button.today b{color:var(--pop)}.att{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.att:first-child{border-top:0}.att .dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.att .body{flex:1;min-width:0}.att .row{margin-top:8px}.list{max-height:calc(100vh - 210px);overflow:auto}.item{border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:11px;width:100%;padding:11px 14px;display:flex}.item:first-child{border-top:0}.item:hover{background:var(--sunken)}.item{transition:background-color var(--dur-fast)}.item[aria-current=true]{background:var(--pop-soft);box-shadow:inset 3px 0 0 var(--pop)}.item .meta{flex:1;min-width:0}.item .meta b{font-weight:600;display:block}.item .meta span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.item .end{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.unread{background:var(--pop);border-radius:50%;flex:none;width:8px;height:8px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stat{background:var(--sunken);border-radius:8px;padding:10px 12px}.stat b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:19px;display:block}.kv{grid-template-columns:120px minmax(0,1fr);gap:6px 12px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{-webkit-user-select:all;user-select:all;margin:0}.tl{flex-direction:column;display:flex}.tl>div{border-top:1px solid var(--line);grid-template-columns:82px minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:9px 0;font-size:14px;display:grid}.tl>div:first-child{border-top:0}.convo{flex-direction:column;min-height:520px;display:flex}.msgs{flex-direction:column;flex:1;gap:10px;min-height:240px;max-height:calc(100vh - 360px);padding:16px;display:flex;overflow:auto}.msg{border-radius:14px;max-width:min(78%,520px);padding:9px 13px;font-size:14.5px}.msg time{color:var(--muted);margin-top:3px;font-size:11.5px;display:block}.msg.them{background:var(--sunken);border-bottom-left-radius:4px;align-self:flex-start}.msg.us{background:var(--accent-soft);border-bottom-right-radius:4px;align-self:flex-end}.msg .tpl{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:2px;font-size:11px;font-weight:700;display:block}.notice{border-radius:8px;margin:0 16px;padding:9px 12px;font-size:13.5px}.notice.open{background:var(--wa-soft);color:var(--wa)}.notice.closed{background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.composer{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.composer textarea{border:1px solid var(--line);background:var(--bg);resize:vertical;border-radius:8px;width:100%;min-height:62px;padding:9px 11px}.composer .row.spread{justify-content:space-between}.chartwrap{overflow-x:auto}.chartwrap svg{width:100%;min-width:640px;height:auto;display:block}.chartwrap .bar{cursor:pointer}.bars{flex-direction:column;gap:10px;display:flex}.hb{grid-template-columns:150px minmax(0,1fr) 92px;align-items:center;gap:10px;font-size:14px;display:grid}.hb .track{background:var(--sunken);border-radius:5px;height:10px;overflow:hidden}.hb .fill{background:var(--grad-pulse);border-radius:5px;height:100%}.hb .amt{text-align:right}.meter{background:var(--sunken);border-radius:6px;height:12px;overflow:hidden}.meter.thin{height:8px}.meter .fill{background:var(--sun);height:100%}.meter.thin .fill{background:var(--accent)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.callout{background:var(--gold-soft);color:var(--gold);border-radius:8px;padding:9px 12px}.callout.standing{max-width:1180px;margin:0 auto 18px}.gal{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.tile{flex-direction:column;display:flex;overflow:hidden}.ph-img{aspect-ratio:1;place-items:center;max-width:100%;display:grid;position:relative;overflow:hidden}.ph-img img{object-fit:cover;width:100%;height:100%;display:block}.ph-img svg{fill:none;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:44%;height:44%}.ph-img .src{position:absolute;top:8px;left:8px}.tile .tb{flex-direction:column;flex:1;gap:7px;padding:11px 12px;display:flex}.sgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.srow{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:11px 0;display:flex}.srow:first-child{border-top:0}.srow .t{min-width:0}.srow .search{max-width:160px}.cal-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.wk-scroll{overflow-x:auto}.wk{min-width:760px}.wk-head,.wk-body{grid-template-columns:58px repeat(7,minmax(0,1fr));display:grid}.wk-head{border-bottom:1px solid var(--line)}.wk-body{max-height:640px;padding-top:8px;overflow-y:auto}.wk-day{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.wk-day:hover{background:var(--sunken)}.wk-day small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px}.wk-day b{font-family:var(--font-display);border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.wk-day.today b{background:var(--ink);color:var(--surface)}.wk-hours span{color:var(--muted);text-align:right;white-space:nowrap;padding-right:8px;font-size:11px;display:block;transform:translateY(-7px)}.wk-col{border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom, var(--line) 0 1px, transparent 1px 56px);position:relative}.wk-col.closed{background-color:var(--bg)}.closed-label{text-align:center;color:var(--muted);font-size:12px;position:absolute;top:40%;left:0;right:0}.slot{cursor:pointer;background:0 0;border:0;border-radius:0;position:absolute;left:0;right:0}.slot:hover{background:var(--sunken)}.ev{z-index:1;border:1px solid var(--ink);background:var(--ink);color:var(--surface);text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;padding:3px 7px;font-size:12px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.ev b{font-weight:700}.ev-time{opacity:.8;font-size:11px}.ev-svc{opacity:.8;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.ev.awaiting-deposit{background:var(--surface);color:var(--ink);border-style:dashed;border-width:1.5px}.ev.completed{background:var(--sunken);color:var(--muted);border-color:var(--line)}.ev.no-show{background:var(--surface);color:var(--muted);border-color:var(--line);text-decoration:line-through}.ev:focus-visible{outline-offset:1px;z-index:3}.now{background:var(--pop);z-index:2;pointer-events:none;height:2px;position:absolute;left:0;right:0}.now:before{content:"";background:var(--pop);width:10px;height:10px;box-shadow:0 0 0 4px var(--pop-soft);border-radius:50%;position:absolute;top:-4px;left:-5px}.mo{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mo-name{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:9px 8px;font-size:11.5px;font-weight:600}.mo-cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:3px;min-width:0;min-height:108px;padding:6px 8px;display:flex}.mo-cell:nth-child(7n){border-right:0}.mo-cell:hover{background:var(--sunken)}.mo-cell.out{background:var(--bg);color:var(--muted)}.mo-cell.closed:not(.out){background:var(--bg)}.mo-cell>b{font-family:var(--font-display);border-radius:999px;align-self:flex-start;margin-left:-6px;padding:0 6px}.mo-cell.today>b{background:var(--ink);color:var(--surface)}.mo-ev{white-space:nowrap;text-overflow:ellipsis;border-left:3px solid var(--ink);padding-left:5px;font-size:12px;display:block;overflow:hidden}.mo-ev .num{font-size:11px}.mo-ev.awaiting-deposit{border-left-style:dotted}.mo-ev.completed{border-left-color:var(--line);color:var(--muted)}.mo-ev.no-show{border-left-color:var(--line);color:var(--muted);text-decoration:line-through}.mo-more{color:var(--muted);font-size:12px}table.services{table-layout:fixed;min-width:860px}table.services .svc-desc{color:var(--muted);margin-top:2px;font-size:13px;display:block}table.services .svc-desc.missing{font-style:italic}table.services .nowrap{white-space:nowrap}table.services tr.inactive td{color:var(--muted)}@media (width<=760px){.mo-cell{min-height:64px;padding:4px 5px}.mo-ev{padding-left:3px;font-size:10.5px}.mo-ev .num{display:none}}.tab-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.hours{flex-direction:column;display:flex}.hrow{border-top:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:6px 12px;padding:10px 0;display:grid}.hrow:first-child{border-top:0}.hrow .day b{font-size:14.5px;font-weight:600}.hrow.closed .day b{color:var(--muted)}.hrow .times{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hrow .times select{width:auto;min-width:110px}.hrow .err{grid-column:1/-1}.hours .err{font-size:13px;font-weight:600}.hours .err:before{content:"! "}.srow select.search{width:auto;max-width:180px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.policies{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.policy .ph{flex-wrap:nowrap;align-items:flex-start}.policy .ph>div:first-child{flex:1;min-width:0}.policy .ph>.btn,.policy-acts{flex:none}.policy-acts{white-space:nowrap;gap:6px;display:flex}.btn.danger[data-confirm=yes]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.policy .ph h2{margin-bottom:6px}.policy .pb p{font-size:14.5px}.tabs [role=tab][aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}@media (width<=760px){.hrow,.policies{grid-template-columns:1fr}}.svc-photos{align-items:center;gap:6px;margin-top:8px;display:flex}.slot-ph{cursor:pointer;background:var(--surface);border-radius:7px;flex:none;place-items:center;width:36px;height:36px;padding:0;display:grid;overflow:hidden}.slot-ph.filled{border:1px solid var(--line)}.slot-ph.filled img,.slot-ph.filled .ph-art{object-fit:cover;width:100%;height:100%}.slot-ph.empty{border:1.5px dashed var(--line);background:var(--bg)}.slot-ph.empty.next{border-color:var(--muted);color:var(--muted)}.slot-ph.empty svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.slot-ph:hover{border-color:var(--ink);color:var(--ink)}.svc-photos-count{color:var(--muted);white-space:nowrap;margin-left:4px;font-size:12px}.ph-art{place-items:center;width:100%;height:100%;display:grid}.ph-art svg{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:52%;height:52%}img.ph-art,.sp img,.svc-cover img{object-fit:cover;display:block}.dialog:has(.sp){width:min(680px,100%)}.sp-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.sp-item{border:1px solid var(--line);border-radius:10px;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:12px;padding:10px;display:grid}.sp-thumb{border-radius:8px;width:96px;height:96px;position:relative;overflow:hidden}.sp-thumb img,.sp-thumb .ph-art{width:100%;height:100%}.sp-cover{background:var(--ink);color:var(--surface);position:absolute;bottom:6px;left:6px}.sp-body{flex-direction:column;gap:6px;min-width:0;display:flex}.sp-empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:10px;padding:22px}.sp-add{background:var(--sunken);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.sp-gallery{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.sp-pick{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;padding:0;display:flex;overflow:hidden}.sp-pick:hover{border-color:var(--ink)}.sp-pick img,.sp-pick .ph-art{aspect-ratio:1;width:100%;max-width:100%}.sp-pick span:not(.ph-art){color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:5px 6px;font-size:11.5px;overflow:hidden}@media (width<=520px){.sp-item{grid-template-columns:72px minmax(0,1fr)}.sp-thumb{width:72px;height:72px}}.kv dd .btn{vertical-align:middle;margin-left:8px}.ov-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:18px;display:grid}.ov-id{align-items:center;gap:14px;display:flex}.ov-id h2{font-size:22px}.mark.lg{border-radius:14px;width:56px;height:56px;font-size:24px}.mark.xl{border-radius:18px;width:72px;height:72px;font-size:30px}.ov-status{flex-wrap:wrap;gap:6px;margin:16px 0;display:flex}.ov-link{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:14px;display:flex}.ov-url{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ov-url code{overflow-wrap:anywhere;min-width:0;font-family:var(--font-data);background:var(--sunken);border-radius:var(--r-sm);flex:1;padding:8px 10px;font-size:13.5px}.ov-pct{font-family:var(--font-display);color:var(--pop);font-size:22px;font-weight:700}.ov-meter .fill{background:var(--grad-pulse);transition:width .6s var(--ease-out)}.ov-list{flex-direction:column;margin:16px 0 0;padding:0;list-style:none;display:flex}.ov-list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.ov-list li:first-child{border-top:0}.ov-label{flex:1;min-width:0}.ov-list li.is-done .ov-label{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.ov-tick{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.is-done .ov-tick{background:var(--barber);border-color:var(--barber)}.ov-tick svg{fill:none;stroke:#fff;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.ov-quick{flex-wrap:wrap;gap:8px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack-xs{flex-direction:column;gap:8px;display:flex}fieldset.modes{border:0;gap:8px;margin:0;padding:0}fieldset.modes legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.tile.ghost .ph-img svg{opacity:.5}.ghost-line{background:var(--sunken);border-radius:5px;height:10px;display:block}.ghost-line.short{width:55%}@media (width<=1020px){.ov-grid{grid-template-columns:1fr}}.dialog.wide{width:min(860px,100%)}.block{display:block}.inv-window{flex-direction:column;gap:14px;padding:18px;display:flex}.inv-acts{gap:8px}.inline-form{border-radius:var(--r);background:var(--sunken);flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.inline-form input,.inline-form select{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);min-width:0;padding:6px 10px}.inline-form input[type=email],.inline-form input[name=reason]{flex:220px}.inline-form p{flex-basis:100%;margin:0}.inv-emails ul{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:13.5px}.doc-frame{border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow-x:auto}.doc{--d-ink:#111;--d-muted:#5c5c5c;--d-line:#ddd;color:var(--d-ink);background:#fff;flex-direction:column;gap:18px;min-width:560px;padding:32px;font-size:13.5px;line-height:1.45;display:flex}.doc .num{font-family:var(--font-data)}.doc-flag{color:#5c3d00;background:#fff3d1;border-radius:6px;margin:0;padding:8px 12px;font-weight:600}.doc-flag.void{color:#9a1240;background:#fde7ec}.doc.is-void .doc-lines,.doc.is-void .doc-totals{opacity:.55}.doc-head{border-bottom:2px solid var(--d-accent,var(--d-ink));justify-content:space-between;gap:24px;padding-bottom:14px;display:flex}.doc-biz{align-items:flex-start;gap:12px;display:flex}.doc-logo{object-fit:cover;border-radius:8px;width:56px;height:56px}.doc-biz b{font-size:17px;font-family:var(--font-display);display:block}.doc-biz span,.doc-parties span{color:var(--d-muted);display:block}.doc-title{text-align:right}.doc-title h2{color:var(--d-accent,var(--d-ink));letter-spacing:-.01em;margin:0 0 6px;font-size:26px}.doc-title dl,.doc-totals dl{grid-template-columns:auto auto;justify-content:end;gap:2px 14px;margin:0;display:grid}.doc-title dt,.doc-totals dt{color:var(--d-muted)}.doc-title dd,.doc-totals dd{text-align:right;margin:0}.doc-parties{grid-template-columns:1fr 1.4fr;gap:24px;display:grid}.doc-parties b{display:block}.doc-label{color:var(--d-muted);margin-bottom:4px;font-size:11.5px;font-weight:700;display:block}.doc-lines{width:100%;font-size:13.5px}.doc-lines th{color:var(--d-muted);border-bottom:1px solid var(--d-ink);background:0 0}.doc-lines td{border-bottom:1px solid var(--d-line)}.doc-lines .muted{color:var(--d-muted)}.doc-note{color:var(--d-muted);margin:0;font-style:italic}.doc-totals{justify-content:flex-end;display:flex}.doc-totals .strong{color:var(--d-ink);font-size:15px;font-weight:700}.doc-payments ul{margin:0;padding-left:16px}.doc-terms p,.doc-thanks{color:var(--d-accent,var(--d-ink));margin:0;font-weight:600}.doc-foot{color:var(--d-muted);margin:0;font-size:12.5px}.oc-sum{margin:0}.stack-form{flex-direction:column;gap:14px;display:flex}fieldset.field{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}fieldset.field legend{margin-bottom:4px;padding:0;font-size:13px;font-weight:600}.inv-table td .chip{white-space:nowrap}.follow .att{align-items:center}.pager{border-top:1px solid var(--line);border-bottom:0}.imp-steps{margin-bottom:6px}.imp-sample,.imp-fix{font-size:13px}.imp-sample caption{text-align:left;padding:0 0 6px}.imp-fix input{border:1px solid var(--line);background:var(--bg);border-radius:var(--r-sm);width:100%;min-width:110px;padding:4px 8px}.imp-ok{max-height:180px;color:var(--muted);font-size:13px;overflow:auto}@media (width<=760px){.doc{padding:20px}.doc-parties{grid-template-columns:1fr}}@page{margin:14mm}@media print{html.printing body>:not(#printArea){display:none!important}html.printing body:before{display:none}html.printing body{background:#fff}#printArea .doc{min-width:0;padding:0}}#printArea{display:none}html.printing #printArea{display:block}.ov-preview{margin-top:10px}.today-strip .ph h2 .muted{margin-left:6px;font-weight:400}.ts-body{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px;padding:0 18px 18px;display:grid}.today-strip.compact .ts-body{grid-template-columns:minmax(0,420px)}.next-up{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.next-up.done{background:0 0;border-style:dashed;border-width:1.5px}.next-up .label{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:12px;font-weight:600}.nu-time{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1.1}.nu-name{font-size:16px}.next-up .row{margin-top:8px}.ts-list{margin:0 0 8px;padding:0;list-style:none}.ts-list li{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.ts-list li:last-child{border-bottom:0}.ts-list li.past{opacity:.5}.ts-time{color:var(--muted);font-size:13px}.ts-who{flex-direction:column;min-width:0;display:flex}.ts-who b,.ts-who span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-title{margin:22px 0 8px}.cal-title h2{font-size:18px}@media (width<=760px){.ts-body{grid-template-columns:1fr;padding:0 14px 14px}}.chip.st-confirmed{background:var(--st-confirmed-soft);color:var(--st-confirmed)}.chip.st-unconfirmed{background:var(--st-unconfirmed-soft);color:var(--st-unconfirmed)}.chip.st-cancelled{background:var(--st-cancelled-soft);color:var(--st-cancelled)}.chip.st-done{background:var(--sunken);color:var(--muted)}.ev.confirmed,.ev.deposit-paid{background:var(--st-confirmed-soft);border-color:var(--st-confirmed);color:var(--ink);border-left-width:4px}.ev.unconfirmed,.ev.awaiting-deposit{background:var(--st-unconfirmed-soft);border-color:var(--st-unconfirmed);color:var(--ink);border-style:solid;border-width:1px 1px 1px 4px}.ev.cancelled,.ev.no-show{background:var(--st-cancelled-soft);border-color:var(--st-cancelled);color:var(--st-cancelled);border-left-width:4px;text-decoration:line-through}.ev.completed{border-left-width:4px}.mo-ev.confirmed,.mo-ev.deposit-paid{border-left-color:var(--st-confirmed)}.mo-ev.unconfirmed,.mo-ev.awaiting-deposit{border-left-color:var(--st-unconfirmed);border-left-style:solid}.mo-ev.cancelled,.mo-ev.no-show{border-left-color:var(--st-cancelled);color:var(--st-cancelled);text-decoration:line-through}.bk.confirmed,.bk.deposit-paid{box-shadow:inset 4px 0 0 var(--st-confirmed)}.bk.unconfirmed,.bk.awaiting-deposit{box-shadow:inset 4px 0 0 var(--st-unconfirmed)}.bk.cancelled,.bk.no-show{box-shadow:inset 4px 0 0 var(--st-cancelled)}.bk.cancelled .bk-main b,.bk.cancelled .bk-main .link{text-decoration:line-through}.st-key{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:4px 0 10px;font-size:12px;display:flex}.st-key i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.biz-tabs.sub{margin:-8px 0 18px}.biz-tabs.sub button{padding:4px 12px;font-size:13px}.ci-items{gap:8px;display:grid}.ci-head,.ci-line{grid-template-columns:minmax(0,1fr) 64px 110px 96px 32px;align-items:center;gap:8px;display:grid}.ci-head span:nth-child(n+2):not(:last-child){text-align:right}.ci-line input{width:100%;min-width:0}.ci-line .num{text-align:right}.ci-amt{font-variant-numeric:tabular-nums}.ci-items>.btn{justify-self:start}@media (width<=560px){.ci-head{display:none}.ci-line{grid-template-columns:minmax(0,1fr) 56px 90px 32px}.ci-line .ci-desc{grid-column:1/-1}.ci-amt{display:none}}.inv-sub{letter-spacing:.01em;margin:18px 0 8px;font-size:14px}.inv-design .pb>.inv-sub:first-child{margin-top:0}.inv-accents{border:0;margin:0 0 6px;padding:0}.swatches{flex-wrap:wrap;gap:10px;margin:6px 0;display:flex}.swatch{cursor:pointer;position:relative}.swatch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.swatch span:not(.sr-only){border:2px solid var(--surface);width:30px;height:30px;box-shadow:0 0 0 1px var(--line);transition:box-shadow var(--dur-fast);border-radius:50%;display:block}.swatch input:checked+span{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink,currentColor)}.swatch input:focus-visible+span{outline:2px solid var(--pop);outline-offset:4px}.inv-preview{border:1px solid var(--line);background:#fff;border-radius:10px;height:360px;overflow:hidden}.inv-preview-scale{transform-origin:0 0;pointer-events:none;width:166.6%;transform:scale(.6)}.inv-preview .doc{min-width:0}.acct-pw{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:6px 0;padding:14px 0}.acct-pw .inv-sub{margin-top:0}.oc-send{border:1px solid var(--line);border-radius:10px;gap:6px;padding:10px 12px;display:grid}.oc-send p{margin:0}.auth{background:var(--bg);min-height:100vh}.auth-wrap{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);min-height:100vh;display:grid}.auth-side{background:var(--ink);color:var(--bg);padding-block:40px;padding-left:max(40px, env(safe-area-inset-left,0px));flex-direction:column;gap:32px;padding-right:40px;display:flex}.auth-brand{align-items:center;gap:10px;display:flex}.auth-brand b{font-family:var(--font-display);font-size:20px}.auth-side .mark{background:var(--bg);color:var(--ink)}.auth-pitch{margin-block:auto}.auth-pitch h2{max-width:14ch;font-size:clamp(28px,3vw,40px);line-height:1.1}.tagline{color:color-mix(in srgb, var(--bg) 72%, transparent);margin-top:16px;font-size:18px}.auth-main{padding-block:40px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));place-items:center;display:grid}.auth-card{flex-direction:column;gap:16px;width:min(400px,100%);display:flex}.auth-card h1{font-size:28px}.auth-card .sub{color:var(--muted);margin-top:-6px}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-card .field input,.auth-card .field select{background:var(--surface);padding:10px 12px;font-size:15px}.label-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.label-row .link{color:var(--muted);font-weight:500}.hint{color:var(--muted);font-size:12.5px}.pw{position:relative}.pw input{padding-right:64px!important}.pw-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:13px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--ink);background:var(--sunken)}.btn.block{justify-content:center;width:100%;padding:11px 14px;font-size:15px}.btn.google{background:var(--surface);gap:10px}.or{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.auth-msg{border-radius:8px;margin:0;padding:10px 12px;font-size:14px}.auth-msg.error{background:var(--bad-soft);color:var(--bad)}.auth-msg.info{background:var(--sunken);color:var(--ink)}.auth-msg.setup{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.auth-msg code{font-family:var(--font-data);font-size:12.5px}.switch-mode,.fine{color:var(--muted);text-align:center;font-size:14px}.switch-mode .link{color:var(--ink)}.step{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:-8px;font-size:12px;font-weight:600}.stack-sm{flex-direction:column;align-items:center;gap:10px;display:flex}.demo-link{border-top:1px solid var(--line);padding-top:14px}.mobile-only{display:none}.auth-loading{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:12px;display:grid}.auth-loading .mark{background:var(--ink);color:var(--surface)}@media (width<=900px){.auth-wrap{grid-template-columns:1fr}.auth-side{display:none}.mobile-only{display:flex}.auth-main{place-items:start center;padding-block:32px 48px}}.reg-steps{color:var(--muted);grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 4px;padding:0;font-size:12.5px;list-style:none;display:grid}.reg-steps li{border-top:3px solid var(--line);min-width:0;padding-top:6px}.reg-steps li span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reg-steps li.is-done{border-top-color:var(--ink);color:var(--ink)}.reg-steps li.is-now{border-image:var(--grad-pulse) 1;color:var(--ink);font-weight:600}.reg-nav{gap:10px;display:flex}.reg-nav .btn.block{flex:1}.link-input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);align-items:stretch;display:flex;overflow:hidden}.link-input:focus-within{border-color:var(--pop);box-shadow:0 0 0 3px var(--pop-soft)}.link-base{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;max-width:55%;padding:0 4px 0 10px;font-size:14px;display:flex;overflow:hidden}.auth-card .link-input input{box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;min-width:0;padding-left:0}.link-status{min-height:1.4em;margin:2px 0 0;font-size:13px;font-weight:600}.link-status[data-state=ok]{color:var(--barber)}.link-status[data-state=ok]:before{content:"✓ "}.link-status[data-state=bad]{color:var(--pop)}.link-status[data-state=busy]{color:var(--muted);font-weight:500}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--pop);flex:none;margin-top:2px}.field.has-error input,.field.has-error select{border-color:var(--st-cancelled,#c62828);box-shadow:0 0 0 1px var(--st-cancelled,#c62828)}.field-error{color:var(--st-cancelled,#c62828);margin:6px 0 0;font-size:13px;font-weight:600}.scene{width:100%;height:auto;display:block;overflow:visible}svg.scene *{transform-box:view-box;animation-delay:calc(var(--clock,0) * -1ms + var(--delay,0s));animation-iteration-count:infinite}.scene.is-paused *{animation-play-state:paused}.scene.is-static *{animation:none!important}.sc-glow{transform-origin:176px 132px;animation:sc-breathe 6s var(--ease-in-out)}.sc-stripes{animation:2.4s linear sc-pole}.sc-barber{transform-origin:132px 226px;animation:sc-lean 1.8s var(--ease-in-out)}.sc-head{transform-origin:134px 88px;animation:sc-look 3.6s var(--ease-in-out)}.sc-apron{transform-origin:134px 120px;animation:sc-sway 1.8s var(--ease-in-out)}.sc-arm-near{transform-origin:146px 106px;animation:sc-shoulder 1.8s var(--ease-in-out)}.sc-forearm-near{transform-origin:160px 134px;animation:sc-stroke 1.8s var(--ease-in-out)}.sc-buzz{animation:80ms linear sc-buzz}.sc-arm-far{transform-origin:120px 104px;animation:sc-steady 3.6s var(--ease-in-out)}.sc-forearm-far{transform-origin:152px 86px;animation:sc-steady-hand 3.6s var(--ease-in-out)}.sc-client-head{transform-origin:198px 112px;animation:sc-tilt 3.6s var(--ease-in-out)}.sc-eye{transform-origin:var(--ox) var(--oy);animation:5.2s linear sc-blink}.sc-clip{transform-box:fill-box;transform-origin:50%;opacity:0;animation:1.8s cubic-bezier(.45,0,.9,.6) sc-fall}@keyframes sc-breathe{50%{transform:scale(1.05)}}@keyframes sc-pole{to{transform:translateY(-28px)}}@keyframes sc-lean{0%,to{transform:rotate(0)translateY(0)}45%{transform:rotate(1.2deg)translateY(1px)}}@keyframes sc-look{0%,to{transform:rotate(4deg)}50%{transform:rotate(7deg)}}@keyframes sc-sway{0%,to{transform:skew(0)}50%{transform:skew(-1.6deg)}}@keyframes sc-shoulder{0%,to{transform:rotate(3deg)}42%{transform:rotate(-5deg)}52%{transform:rotate(-8deg)}72%{transform:rotate(1deg)}}@keyframes sc-stroke{0%,to{transform:rotate(5deg)}42%{transform:rotate(-7deg)}52%{transform:rotate(-15deg)}72%{transform:rotate(2deg)}}@keyframes sc-buzz{50%{transform:translate(.5px,-.3px)}}@keyframes sc-steady{0%,to{transform:rotate(0)}50%{transform:rotate(-2.5deg)}}@keyframes sc-steady-hand{0%,to{transform:rotate(0)}50%{transform:rotate(2deg)}}@keyframes sc-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg)}}@keyframes sc-blink{0%,93%,97%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes sc-fall{0%{opacity:0;transform:translate(0)rotate(0)}12%{opacity:.9}85%{opacity:.7}to{opacity:0;transform:translate(var(--dx), 44px) rotate(160deg)}}.sc-spark{transform-origin:var(--ox) var(--oy);animation:sc-twinkle 2.4s var(--ease-in-out)}@keyframes sc-twinkle{0%,to{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1)rotate(20deg)}70%{opacity:.6;transform:scale(.6)rotate(45deg)}}.hd-dry{transform-origin:146px 106px;animation:hd-sweep 2.4s var(--ease-in-out)}.hd-dry-fore{transform-origin:158px 82px;animation:hd-wrist 2.4s var(--ease-in-out)}.hd-brush{transform-origin:120px 104px;animation:hd-roll 2.4s var(--ease-in-out)}.hd-locks{transform-origin:190px 84px;animation:hd-lift 1.2s var(--ease-in-out)}.hd-air{opacity:0;animation:.8s linear hd-air}.hd-shine{animation:hd-shine 4.8s var(--ease-in-out)}@keyframes hd-sweep{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes hd-wrist{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}@keyframes hd-roll{0%,to{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}@keyframes hd-lift{0%,to{transform:skew(0)}50%{transform:skew(5deg)}}@keyframes hd-air{0%{opacity:0;stroke-dashoffset:8px}30%{opacity:.9}to{opacity:0;stroke-dashoffset:-8px;transform:translate(4px,4px)}}@keyframes hd-shine{0%,60%,to{opacity:0;transform:translateY(0)}70%{opacity:.7}90%{opacity:0;transform:translateY(50px)}}.ls-ring-glow{transform-origin:40px 96px;animation:sc-breathe 3s var(--ease-in-out);opacity:.9}.ls-ring{animation:ls-glow 3s var(--ease-in-out)}.ls-tweeze-fore{transform-origin:158px 128px;animation:ls-place 2.2s var(--ease-in-out)}.ls-tweeze{transform-origin:146px 106px;animation:sc-steady 4.4s var(--ease-in-out)}.ls-chest{transform-origin:240px 164px;animation:ls-breathe 4.4s var(--ease-in-out)}.ls-pro .sc-head{animation:none;transform:rotate(10deg)}@keyframes ls-glow{0%,to{opacity:1}50%{opacity:.75}}@keyframes ls-place{0%,to{transform:rotate(0)}35%{transform:rotate(-9deg)}55%{transform:rotate(-7deg)}}@keyframes ls-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.08)}}.nl-paint-fore{transform-origin:156px 134px;animation:nl-stroke 1.4s var(--ease-in-out)}.nl-paint{transform-origin:146px 106px;animation:sc-steady 2.8s var(--ease-in-out)}.nl-nail{animation:nl-shine 1.4s var(--ease-in-out)}@keyframes nl-stroke{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)translate(2px)}}@keyframes nl-shine{0%,to{opacity:.55}50%{opacity:1}}.tt-machine{animation:60ms linear sc-buzz}.tt-ink-arm{transform-origin:146px 106px;animation:tt-travel 3.2s var(--ease-in-out)}.tt-ink{stroke-dasharray:100;animation:tt-ink 3.2s var(--ease-in-out)}.tt-beam{animation:ls-glow 3.2s var(--ease-in-out);opacity:.8}@keyframes tt-travel{0%,to{transform:rotate(0)}80%{transform:rotate(-5deg)}}@keyframes tt-ink{0%{stroke-dashoffset:100px}80%{stroke-dashoffset:0}92%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.mu-bulb{animation:1.8s linear mu-bulb}.mu-brush{transform-origin:146px 106px;animation:mu-dab 1.6s var(--ease-in-out)}.mu-puff{opacity:0;animation:1.4s ease-out mu-puff}@keyframes mu-bulb{0%,to{fill:var(--sc-shirt)}50%{fill:var(--sc-glow)}}@keyframes mu-dab{0%,to{transform:rotate(0)}30%{transform:rotate(-4deg)}45%{transform:rotate(-2deg)}60%{transform:rotate(-4deg)}}@keyframes mu-puff{0%{opacity:0;transform:translate(0)}20%{opacity:.7}to{opacity:0;transform:translate(var(--dx), -18px)}}.ot-min{transform-origin:58px 92px;animation:4s linear ot-spin}.ot-hr{transform-origin:58px 92px;animation:48s linear ot-spin}.ot-card{transform-origin:187px 204px;animation:ot-bob 4.8s var(--ease-in-out)}.ot-tick{stroke-dasharray:100;animation:ot-tick 4.8s var(--ease-in-out)}@keyframes ot-spin{to{transform:rotate(360deg)}}@keyframes ot-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(-1deg)}}@keyframes ot-tick{0%,10%{stroke-dashoffset:100px}25%,90%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}::view-transition-old(root){animation-duration:.2s;animation-timing-function:var(--ease-out)}::view-transition-new(root){animation-duration:.2s;animation-timing-function:var(--ease-out)}:root[data-vt=nav] #main,:root[data-vt=tab] #main{view-transition-name:main-view}:root[data-vt=step] .bk-body{view-transition-name:bk-body}::view-transition-group(main-view){animation:none}::view-transition-group(bk-body){animation:none}::view-transition-old(main-view){animation:vt-out .14s var(--ease-in-out) both}::view-transition-old(bk-body){animation:vt-out .14s var(--ease-in-out) both}::view-transition-new(main-view){animation:vt-in .3s var(--ease-out) 60ms both}::view-transition-new(bk-body){animation:vt-in .3s var(--ease-out) 60ms both}:root[data-vt-dir=fwd]::view-transition-new(main-view){--vt-from:translate(18px, 0)}:root[data-vt-dir=fwd]::view-transition-new(bk-body){--vt-from:translate(18px, 0)}:root[data-vt-dir=back]::view-transition-new(main-view){--vt-from:translate(-18px, 0)}:root[data-vt-dir=back]::view-transition-new(bk-body){--vt-from:translate(-18px, 0)}:root[data-vt=nav][data-vt-dir=fwd]::view-transition-new(main-view){--vt-from:translate(0, 14px)}:root[data-vt=nav][data-vt-dir=back]::view-transition-new(main-view){--vt-from:translate(0, -14px)}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:var(--vt-from,translate(0, 8px))}}:root[data-vt=nav] .nav-pill{view-transition-name:nav-pill}:root[data-vt=tab] .tab-pill{view-transition-name:var(--vt-name,none)}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-out)}:root[data-vt=theme]::view-transition-old(root){mix-blend-mode:normal;animation:none}:root[data-vt=theme]::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-vt=theme][data-vt-dir=back]::view-transition-old(root){z-index:2}.theme-fade,.theme-fade *,.theme-fade :before{transition:background-color .35s var(--ease-in-out), color .35s var(--ease-in-out), border-color .35s var(--ease-in-out), fill .35s var(--ease-in-out)!important}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.app{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.side{border-right:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:100vh;padding-block:22px;padding-left:max(16px, env(safe-area-inset-left,0px));flex-direction:column;gap:20px;padding-right:16px;display:flex;position:sticky;top:0}.brand{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:calc(100% + 12px);margin:-6px;padding:6px;display:flex}.brand:hover,.brand[aria-expanded=true]{background:var(--sunken);border-color:var(--line)}.brand-text{flex:1;min-width:0}.brand-text>*{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chev{fill:none;width:16px;height:16px;stroke:var(--muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.mark{background:var(--grad-pulse);color:#fff;width:36px;height:36px;box-shadow:inset 0 0 0 1px #ffffff2e, var(--shadow-sm);font-family:var(--font-display);border-radius:10px;flex:none;place-items:center;font-size:17px;font-weight:700;display:grid;overflow:hidden}.brand b{font-family:var(--font-display);font-size:16px;line-height:1.2;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav button{isolation:isolate;border-radius:var(--r-sm);cursor:pointer;color:var(--muted);text-align:left;transition:color var(--dur-fast), background-color var(--dur-fast);background:0 0;border:0;align-items:center;gap:11px;padding:9px 10px;font-weight:500;display:flex;position:relative}.nav button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:19px;height:19px}.nav button:hover{background:var(--sunken);color:var(--ink)}.nav button[aria-current=page]{color:var(--pop);font-weight:600}.nav button[aria-current=page]:hover{background:0 0}.nav-pill{z-index:-1;border-radius:inherit;background:var(--pop-soft);box-shadow:inset 3px 0 0 var(--pop);pointer-events:none;position:absolute;inset:0}.nav .badge{background:var(--pop);color:var(--pop-ink);border-radius:999px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:700}.side-scene{margin-top:auto;min-height:0;margin-inline:-4px}.side-scene .scene{width:100%;max-width:212px;margin:0 auto}@media (height<=820px){.side-scene{display:none}.side .side-scene+.foot{margin-top:auto}}.side .side-scene+.foot{margin-top:0}.side .foot{color:var(--muted);border-top:1px solid var(--line);margin-top:auto;padding-top:14px;font-size:12.5px}.main{min-width:0;padding-block:28px 56px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.wrap{flex-direction:column;gap:22px;max-width:1180px;margin:0 auto;display:flex}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.head .sub{color:var(--muted);margin-top:4px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid2{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;display:grid}.split{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:18px;display:grid}.stack{flex-direction:column;gap:18px;min-width:0;display:flex}.backbtn{display:none}.mark img{object-fit:cover;width:100%;height:100%;display:block}.mark.has-logo{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;max-width:1180px;margin:0 auto 18px;padding-bottom:14px;display:flex}.hello{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.hello b{font-family:var(--font-display);font-size:20px;font-weight:700}.hello span{color:var(--muted);font-size:14px}.biz-mini{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:14px;font-weight:600;display:none}.biz-mini .mark{border-radius:50%;width:28px;height:28px;font-size:13px}.menu{z-index:40;background:var(--surface);border:1px solid var(--line);width:min(320px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:12px;position:fixed;overflow:auto}.menu-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 16px;display:flex}.menu-head .mark{width:44px;height:44px;font-size:19px}.menu-head b{font-family:var(--font-display);font-size:16px;display:block}.menu-sec{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.menu-sec:last-child{border-bottom:0}.seg{background:var(--sunken);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:6px 4px;font-size:13px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f}.menu-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:calc(100% + 16px);margin:0 -8px;padding:9px 8px;font-weight:500;display:flex}.menu-item:hover{background:var(--sunken)}.menu-item span{color:var(--muted);font-size:13px}@media (width<=1020px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.sgrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app{grid-template-columns:1fr}.side{z-index:30;border-right:0;border-top:1px solid var(--line);height:auto;padding-block:6px calc(6px + env(safe-area-inset-bottom,0px));padding-left:max(8px, env(safe-area-inset-left,0px));padding-right:max(8px, env(safe-area-inset-right,0px));position:fixed;inset:auto 0 0}.brand,.side .foot,.side-scene{display:none}.nav-pill{box-shadow:inset 0 2px 0 var(--pop);inset:2px 4px}.biz-mini{display:inline-flex}.hello b{font-size:18px}.nav{flex-direction:row;gap:0;overflow-x:auto}.nav button{white-space:nowrap;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:6px 10px;font-size:11px;position:relative}.nav .badge{margin:0;position:absolute;top:2px;right:8px}.main{padding-block:20px 110px}h1{font-size:24px}.split{grid-template-columns:1fr}.split.detail .pane-list,.split:not(.detail) .pane-detail{display:none}.backbtn{display:inline-flex}.list,.msgs{max-height:none}.hb{grid-template-columns:110px minmax(0,1fr) 80px}.fgrid{grid-template-columns:1fr}.days button{padding:6px 2px}.days button b{font-size:16px}.kv{grid-template-columns:100px minmax(0,1fr)}#toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.save-state{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}.save-state[data-state=saved]:before{content:"✓ ";color:var(--barber)}.save-state[data-state=error]{color:var(--pop);font-weight:600}.import-offer{flex-direction:column;gap:10px;display:flex}.backbar{max-width:1180px;margin:-6px auto 10px}.back-btn{align-items:center;gap:4px;padding-left:6px;display:inline-flex}.back-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}
