:root{--bg:#fff;--surface:#fafafd;--surface-2:#f5f4f9;--surface-3:#efedf4;--border:#e0dfe4;--border-strong:#d1cfd7;--ink:#1a181f;--ink-2:#44434a;--ink-muted:#63626a;--brand:#6646a8;--brand-hover:#543490;--brand-ink:#4e3088;--brand-tint:#e9e4fe;--brand-soft:#f4f2ff;--success:#007943;--success-soft:#e3f9e9;--info:#00717b;--info-soft:#ddf8fb;--warning:#bf7c00;--warning-ink:#824f00;--warning-soft:#fff0d8;--danger:#ce2324;--danger-soft:#ffedea;--r-ctl:6px;--r-card:10px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--z-dropdown:100;--z-sticky:200;--z-backdrop:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--t-press:90ms;--t-fast:.15s;--t-base:.22s;--t-slow:.3s;--t-exit:.165s;--ease:cubic-bezier(.22,1,.36,1);--ease-expo:cubic-bezier(.16,1,.3,1);--ease-inout:cubic-bezier(.4,0,.2,1);--shadow-sm:0 1px 2px #1a181f12;--shadow-md:0 4px 14px #1a181f1f;--shadow-lg:0 18px 48px #1a181f2e;--col-w:72px;--row-h:78px;--name-w:232px;--tl-head-h:34px}@supports (color:lab(0% 0 0)){:root{--bg:lab(100% 0 0);--surface:lab(98.3353% .589162 -1.37192);--surface-2:lab(96.4588% .886023 -2.05616);--surface-3:lab(94.1078% 1.33449 -3.08036);--border:lab(88.8981% 1.18527 -2.73874);--border-strong:lab(83.4148% 1.63779 -3.76012);--ink:lab(8.78507% 2.22007 -4.70435);--ink-2:lab(28.5333% 1.82721 -4.07522);--ink-muted:lab(41.8746% 1.81131 -4.08532);--brand:lab(37.3701% 30.9759 -48.4749);--brand-hover:lab(29.797% 31.0214 -46.7661);--brand-ink:lab(27.5429% 30.0946 -45.1439);--brand-tint:lab(91.5071% 5.37121 -11.8604);--brand-soft:lab(95.8479% 3.00682 -6.81689);--success:lab(44.1891% -40.218 20.7901);--success-soft:lab(96.0244% -9.913 5.07865);--info:lab(42.8141% -27.9461 -14.899);--info-soft:lab(95.6136% -8.50472 -4.54909);--warning:lab(57.9764% 21.6556 66.1405);--warning-ink:lab(38.7294% 21.7443 61.4636);--warning-soft:lab(95.6991% 3.32856 18.5275);--danger:lab(45.7492% 64.5786 45.7865);--danger-soft:lab(94.9847% 12.6957 7.48256);--shadow-sm:0 1px 2px lab(8.78507% 2.22007 -4.70435/.07);--shadow-md:0 4px 14px lab(8.78507% 2.22007 -4.70435/.12);--shadow-lg:0 18px 48px lab(8.78507% 2.22007 -4.70435/.18)}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:var(--ink);background:var(--surface-2);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-family:IBM Plex Sans Thai,Noto Sans Thai,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.55}.login-page{background:var(--surface);min-height:100dvh;padding:clamp(24px,6vh,72px) var(--sp-4);place-items:center;display:grid}.login-shell{width:100%;max-width:520px}.login-brand{margin-bottom:var(--sp-5);align-items:center;gap:12px;display:flex}.login-brand .brand-mark{border-radius:12px;flex:none;width:40px;height:40px;font-size:17px}.login-title{letter-spacing:-.025em;font-size:22px;font-weight:650;line-height:1.2}.login-sub{color:var(--ink-muted);margin:4px 0 0;font-size:14px;line-height:1.45}.login-help{margin:calc(var(--sp-1)*-1) 0 0;color:var(--ink-muted);font-size:13px;line-height:1.5}.login-new-shop{width:max-content;color:var(--ink-muted);text-underline-offset:3px;margin:0 auto;font-size:13px;text-decoration:underline;display:block}.login-pin-input{text-align:center;letter-spacing:.26em;font-variant-numeric:tabular-nums;max-width:290px;margin:0 auto}.login-card-title{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:650;line-height:1.25}.login-password{gap:var(--sp-3);flex-direction:column;display:flex}.field-error{color:var(--danger);margin-top:5px;font-size:12.5px;display:block}.login-users{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.login-pin-dots{justify-content:center;gap:9px;display:flex}.login-pin-dots i{border:1.5px solid var(--border-strong);width:13px;height:13px;transition:background var(--t-press) var(--ease),border-color var(--t-press) var(--ease);border-radius:50%}.login-pin-dots i.is-filled{background:var(--brand);border-color:var(--brand)}.login-pin-dots i.is-error{background:var(--danger);border-color:var(--danger)}.login-keypad{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);width:100%;max-width:290px;margin:0 auto;display:grid}.login-key{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);min-height:56px;transition:background var(--t-press) var(--ease),transform var(--t-press) var(--ease);font-size:20px;font-weight:500}.login-key:hover{background:var(--surface-3)}.login-key:active{transform:scale(.98)}.login-key.is-small{color:var(--ink-2);font-size:13px}.login-error{text-align:center;min-height:20px;color:var(--danger);font-size:13px}.login-error span{color:var(--ink-muted)}.login-empty{text-align:center}.login-empty p{margin:var(--sp-2) 0 0;color:var(--ink-muted);font-size:13px;line-height:1.55}.login-empty-icon{width:38px;height:38px;margin:0 auto var(--sp-3);color:var(--warning);background:var(--warning-soft);border-radius:12px;place-items:center;display:grid}.login-empty-icon svg{stroke-width:1.8px;width:20px;height:20px}.kiosk-pairing{gap:var(--sp-3);flex-direction:column;display:flex}.kiosk-code-input{letter-spacing:.09em;text-align:center;text-transform:uppercase;font-size:18px}.kiosk-access .card-body{align-items:flex-start;gap:var(--sp-3);flex-direction:column;display:flex}.kiosk-issued{width:100%;padding:var(--sp-3);background:var(--brand-soft);border-radius:var(--r-card)}.kiosk-issued .label{margin:0}.kiosk-issued-code{letter-spacing:.08em;color:var(--brand-ink);word-break:break-all;margin:4px 0;font-size:20px;font-weight:650;display:block}.kiosk-issued-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}@media (max-width:520px){.login-users{grid-template-columns:1fr}.login-page{padding:24px var(--sp-3)}.login-title{font-size:20px}.kiosk-issued-code{letter-spacing:.06em;font-size:17px}}.kiosk-lock{z-index:var(--z-toast);justify-content:center;align-items:center;gap:var(--sp-2);background:var(--surface);color:var(--ink);text-align:center;flex-direction:column;display:flex;position:fixed;inset:0}.kiosk-lock .brand-mark{width:40px;height:40px;margin-bottom:var(--sp-1);border-radius:12px;font-size:17px}.kiosk-lock strong{font-size:17px;font-weight:600}.kiosk-lock span{color:var(--ink-muted);font-size:13px}button,input,select,textarea{font:inherit;color:inherit;font-variant-numeric:tabular-nums}button{cursor:pointer;background:0 0;border:0}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::selection{background:var(--brand-tint)}.app{grid-template-columns:216px 1fr;height:100dvh;display:grid}.side{background:var(--surface-2);border-right:1px solid var(--border);padding:var(--sp-3) var(--sp-2);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;padding:6px 10px 14px;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:grid}.brand-name{letter-spacing:-.01em;font-size:14px;font-weight:600}.nav-item{border-radius:var(--r-ctl);color:var(--ink-2);text-align:left;width:100%;transition:background .16s var(--ease),color .16s var(--ease);align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.nav-item:hover{background:var(--surface-3);color:var(--ink);text-decoration:none}.nav-item[aria-current=page]{background:var(--brand-tint);color:var(--brand-ink);font-weight:500}.nav-item svg{stroke-width:1.75px;flex:none;width:17px;height:17px}.nav-count{color:var(--ink-muted);margin-left:auto;font-size:11.5px;font-weight:500}.side-foot{padding-top:var(--sp-3);border-top:1px solid var(--border);margin-top:auto}.main{background:var(--bg);flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{align-items:center;gap:var(--sp-3);height:52px;padding:0 var(--sp-4);border-bottom:1px solid var(--border);background:var(--bg);flex:none;display:flex}.branch{border:1px solid var(--border);border-radius:var(--r-ctl);align-items:center;gap:8px;padding:5px 10px;font-size:13px;font-weight:500;display:flex}.branch:hover{border-color:var(--border-strong);background:var(--surface)}.branch.is-static{cursor:default;color:var(--ink-2)}.branch.is-static:hover{border-color:var(--border);background:0 0}.branch .dot{background:var(--success);border-radius:50%;width:6px;height:6px}.branch-picker{cursor:pointer;gap:7px;padding:0 8px 0 10px}.branch-picker select{min-width:0;max-width:230px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;outline:0;font-weight:500}.branch-picker:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #6646a829;box-shadow:0 0 0 3px lab(37.3701% 30.9759 -48.4749/.16)}.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{border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);max-width:420px;color:var(--ink-muted);text-align:left;flex:1;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.search:hover{border-color:var(--border-strong)}.search kbd{font:inherit;border:1px solid var(--border-strong);background:var(--bg);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:11px}.top-right{align-items:center;gap:var(--sp-3);margin-left:auto;display:flex}.icon-btn{border-radius:var(--r-ctl);width:32px;height:32px;color:var(--ink-2);flex:none;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.icon-btn svg{stroke-width:1.75px;width:18px;height:18px}.badge-dot{background:var(--danger);border:1.5px solid var(--bg);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.avatar-sm{background:var(--brand-tint);width:28px;height:28px;color:var(--brand-ink);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.page-head{padding:var(--sp-4) var(--sp-4) var(--sp-3);align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;flex:none;display:flex}.h1{letter-spacing:-.015em;font-size:20px;font-weight:600;line-height:1.3}.h1-sub{color:var(--ink-muted);flex-wrap:wrap;align-items:baseline;gap:2px 14px;margin-top:1px;font-size:13px;display:flex}.actions{gap:var(--sp-2);align-items:center;margin-left:auto;display:flex}.scroll{padding:0 var(--sp-4) var(--sp-4);flex:1;overflow:auto}.datenav{margin-left:var(--sp-5);align-items:center;gap:2px;display:flex}.datenav .step{border-radius:var(--r-ctl);width:30px;height:30px;color:var(--ink-2);place-items:center;display:grid}.datenav .step:hover{background:var(--surface-3);color:var(--ink)}.datenav .today{border:1px solid var(--border);border-radius:var(--r-ctl);margin-right:6px;padding:5px 12px;font-size:13px;font-weight:500}.datenav .today:hover{border-color:var(--border-strong);background:var(--surface)}.datenav .date{border-radius:var(--r-ctl);padding:5px 10px;font-size:13.5px;font-weight:500}.datenav .date:hover{background:var(--surface-3)}.btn{border-radius:var(--r-ctl);white-space:nowrap;transition:background .16s var(--ease),border-color .16s var(--ease),transform .12s var(--ease),color .16s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:13.5px;font-weight:500;display:inline-flex}.btn svg{stroke-width:2px;flex:none;width:15px;height:15px}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover)}.btn-primary:active{transform:translateY(.5px)}.btn-primary:disabled{background:var(--surface-3);color:var(--ink-muted);cursor:not-allowed}.btn-ghost{border-color:var(--border);color:var(--ink-2);background:var(--bg)}.btn-ghost:hover{border-color:var(--border-strong);background:var(--surface);color:var(--ink)}.btn-danger{border-color:var(--danger);color:var(--danger);background:var(--bg)}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{padding:5px 11px;font-size:12.5px}.btn-lg{padding:10px 18px;font-size:14px}.btn-block{width:100%}.tabs{background:var(--surface-2);border-radius:8px;gap:2px;width:fit-content;padding:3px;display:flex}.tab{border-radius:var(--r-ctl);color:var(--ink-2);padding:6px 14px;font-size:13.5px;font-weight:500}.tab:hover{color:var(--ink);background:var(--surface-3)}.tab[aria-pressed=true]{background:var(--bg);color:var(--brand-ink);box-shadow:var(--shadow-sm)}.seg{border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--bg);width:fit-content;display:flex;overflow:hidden}.seg button,.seg a{color:var(--ink-2);border-right:1px solid var(--border);align-items:center;padding:5px 11px;font-size:12.5px;text-decoration:none;display:inline-flex}.seg button:last-child,.seg a:last-child{border-right:0}.seg button:hover,.seg a:hover{background:var(--surface-3)}.seg button[aria-pressed=true],.seg a[aria-current=page]{background:var(--brand-tint);color:var(--brand-ink);font-weight:500}.toolbar{align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.toolbar .spacer{margin-left:auto}.dd{border:1px solid var(--border);border-radius:var(--r-ctl);color:var(--ink-2);background:var(--bg);align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;display:inline-flex}.dd:hover{border-color:var(--border-strong);background:var(--surface)}.dd b{color:var(--ink);font-weight:500}.dd svg{stroke-width:2.2px;width:13px;height:13px;color:var(--ink-muted)}.pill-row{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--border);border-radius:var(--r-pill);color:var(--ink-2);background:var(--bg);transition:all .16s var(--ease);padding:5px 11px;font-size:12.5px}.pill:hover{border-color:var(--border-strong);background:var(--surface)}.pill[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:500}.pill:disabled{opacity:.42;cursor:not-allowed;text-decoration:line-through}.pill:disabled:hover{border-color:var(--border);background:var(--bg)}.card{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);overflow:hidden}.card-head{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--border);background:var(--surface);padding:11px 14px;display:flex}.card-t{font-size:13px;font-weight:600}.card-sub{color:var(--ink-muted);font-size:11.5px}.card-body{padding:14px}.card-head .spacer{margin-left:auto}.grid{gap:var(--sp-3);display:grid}.g-2{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1180px){.g-4,.g-3{grid-template-columns:repeat(2,1fr)}}.split{gap:var(--sp-3);grid-template-columns:1.4fr 1fr;display:grid}@media (max-width:1120px){.split{grid-template-columns:1fr}}.brk{gap:var(--sp-3);grid-template-columns:1fr auto auto;align-items:center;padding:6px 0;font-size:13px;display:grid}.brk .nm{align-items:center;gap:8px;min-width:0;display:flex}.brk .sw{border-radius:2px;flex:none;width:9px;height:9px}.brk .lbl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brk .cnt{color:var(--ink-muted);text-align:right;min-width:66px;font-size:12px}.brk .amt{text-align:right;min-width:66px;font-weight:500}.hbar{background:var(--surface-3);border-radius:3px;grid-column:1/-1;height:6px;margin-top:-2px;overflow:hidden}.hbar i{border-radius:3px;height:100%;display:block}.stat-strip{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);display:flex;overflow:hidden}.sum-cell{border-right:1px solid var(--border);flex-direction:column;gap:1px;min-width:0;padding:10px 18px;display:flex}.sum-cell:last-of-type{border-right:0}.sum-k{color:var(--ink-muted);white-space:nowrap;font-size:11.5px;font-weight:500}.sum-v{letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:5px;font-size:17px;font-weight:600;display:flex}.sum-v .unit{color:var(--ink-muted);font-size:12px;font-weight:400}.sum-v.is-good{color:var(--success)}.sum-v.is-warn{color:var(--warning-ink)}.sum-v.is-bad{color:var(--danger)}.kv{align-items:baseline;gap:var(--sp-3);padding:5px 0;font-size:13px;display:flex}.kv .k{color:var(--ink-2)}.kv .v{white-space:nowrap;margin-left:auto;font-weight:500}.kv.is-sub{padding-left:var(--sp-4);font-size:12.5px}.kv.is-sub .k{color:var(--ink-muted)}.kv.is-total{border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.kv.is-total .k{font-size:14px;font-weight:600}.kv.is-total .v{letter-spacing:-.02em;font-size:19px;font-weight:600}.kv.is-minus .v{color:var(--danger)}.kv.is-good .v{color:var(--success)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{z-index:10;background:var(--surface-2);text-align:left;color:var(--ink-muted);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:9px 12px;font-size:11.5px;font-weight:500;position:sticky;top:0}thead th.num,tbody td.num{text-align:right}tbody td{border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;padding:11px 12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface)}td .sub{color:var(--ink-muted);font-size:11.5px}td.strong{font-weight:500}td a.strong{color:var(--ink);font-weight:500}td a.strong:hover{text-decoration:underline}.roster-table th.roster-day,.roster-table td.roster-cell-wrap{text-align:center;min-width:64px;padding-left:6px;padding-right:6px}.roster-table th.roster-day div{margin-top:2px;font-size:10px;font-weight:400}.roster-cell{border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:0;min-width:54px;min-height:30px;padding:3px 5px}.roster-cell:hover:not(:disabled){background:var(--surface-3)}.roster-cell:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.roster-cell:disabled{cursor:default}.row-menu{border-radius:var(--r-ctl);width:26px;height:26px;color:var(--ink-muted);place-items:center;display:grid}.row-menu:hover{background:var(--surface-3);color:var(--ink)}.tag{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;font-weight:500;display:inline-flex}.tag:before{content:"";background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.tag.ok{background:var(--success-soft);color:var(--success)}.tag.run{background:var(--info-soft);color:var(--info)}.tag.wait{background:var(--warning-soft);color:var(--warning-ink)}.tag.due{background:var(--danger-soft);color:var(--danger)}.tag.plain{background:var(--surface-3);color:var(--ink-muted)}.tag.brandy{background:var(--brand-tint);color:var(--brand-ink)}.tag.no-dot:before{display:none}.chip{border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-muted);white-space:nowrap;padding:1px 6px;font-size:10.5px;font-weight:500}.chip.q{background:var(--brand-tint);color:var(--brand-ink)}.chip.ok{background:var(--success-soft);color:var(--success)}.chip.busy{background:var(--surface-3);color:var(--ink-2)}.av{background:var(--surface-3);width:34px;height:34px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:600;display:grid;position:relative}.av.sm{width:28px;height:28px;font-size:11px}.av.on:after,.av.off:after{content:"";border:2px solid var(--bg);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.av.on:after{background:var(--success)}.av.off:after{background:var(--ink-muted)}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--ink-2);font-size:12.5px;font-weight:500}.input,.select{border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--bg);width:100%;transition:border-color .16s var(--ease),box-shadow .16s var(--ease);padding:8px 11px;font-size:13.5px}.input::placeholder{color:var(--ink-muted)}.input:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.select:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px #6646a829;box-shadow:0 0 0 3px lab(37.3701% 30.9759 -48.4749/.16)}.row-2{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.row-3{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.sec-t{color:var(--ink-2);align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.sec-t .n{background:var(--brand-tint);width:18px;height:18px;color:var(--brand-ink);border-radius:50%;flex:none;place-items:center;font-size:10.5px;display:grid}.switch{border-radius:var(--r-pill);background:var(--surface-3);width:36px;height:20px;transition:background .16s var(--ease);flex:none;position:relative}.switch:after{content:"";background:var(--bg);width:16px;height:16px;box-shadow:var(--shadow-sm);transition:transform .16s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch[aria-checked=true]{background:var(--brand)}.switch[aria-checked=true]:after{transform:translate(16px)}.opt-list{flex-direction:column;gap:6px;display:flex}.opt{text-align:left;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--bg);width:100%;transition:border-color .16s var(--ease),background .16s var(--ease);align-items:center;gap:11px;padding:10px 12px;display:flex}.opt:hover{border-color:var(--border-strong);background:var(--surface)}.opt[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft)}.opt-b{flex-direction:column;gap:1px;min-width:0;display:flex}.opt-t{font-size:13.5px;font-weight:500;line-height:1.3}.opt-m{color:var(--ink-muted);font-size:11.5px}.opt-r{text-align:right;flex:none;margin-left:auto}.opt-price{font-size:13.5px;font-weight:600}.opt-note{color:var(--ink-muted);font-size:11px}.opt:disabled{opacity:.5;cursor:not-allowed}.opt:disabled:hover{border-color:var(--border);background:var(--bg)}.lg{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);margin-bottom:var(--sp-3);overflow:hidden}.lg-head{align-items:center;gap:var(--sp-2);background:var(--surface);border-bottom:1px solid var(--border);padding:11px 14px;display:flex}.lg-t{font-size:14px;font-weight:600}.lg-c{color:var(--ink-muted);font-size:11.5px}.lg-row{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:10px 14px;display:flex}.lg-row:last-child{border-bottom:0}.lg-row:hover{background:var(--surface)}.grip{color:var(--border-strong);cursor:grab;flex:none;place-items:center;width:14px;display:grid}.grip:hover{color:var(--ink-muted)}.lg-name{text-overflow:ellipsis;min-width:0;font-size:13.5px;font-weight:500;overflow:hidden}.lg-right{align-items:center;gap:var(--sp-4);flex:none;margin-left:auto;display:flex}.dur{flex-direction:column;align-items:flex-end;gap:0;min-width:52px;display:flex}.dur .d{color:var(--ink-muted);font-size:10.5px}.dur .p{font-size:13px;font-weight:500}.empty{text-align:center;align-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);color:var(--ink-muted);flex-direction:column;display:flex}.empty .ic{background:var(--brand-soft);width:40px;height:40px;color:var(--brand-ink);border-radius:12px;place-items:center;margin-bottom:2px;display:grid}.empty .ic svg{stroke-width:1.75px;width:20px;height:20px}.empty h3{color:var(--ink);font-size:14px;font-weight:600}.empty p{text-wrap:pretty;max-width:38ch;font-size:12.5px;line-height:1.6}.empty .btn{margin-top:var(--sp-2)}.note{border-radius:var(--r-ctl);background:var(--warning-soft);color:var(--warning-ink);gap:9px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.note svg{stroke-width:2px;flex:none;width:15px;height:15px;margin-top:2px}.note.brandy{background:var(--brand-soft);color:var(--brand-ink)}.note.bad{background:var(--danger-soft);color:var(--danger)}.bar{background:var(--surface-3);border-radius:3px;min-width:70px;height:5px;overflow:hidden}.bar i{background:var(--brand);border-radius:3px;height:100%;display:block}.bar i.c2{background:#7a63b5;background:lab(47.2482% 23.6036 -40.7289)}.bar i.c3{background:#9383c3;background:lab(58.2261% 16.5216 -31.3229)}.bar i.c4{background:#afa4d3;background:lab(69.64% 11.117 -22.6905)}.bar i.c5{background:#ccc6e3;background:lab(81.0079% 6.21265 -13.5114)}.spark{align-items:flex-end;gap:3px;height:56px;display:flex}.spark i{background:var(--brand-tint);border-radius:2px 2px 0 0;flex:1;min-height:2px}.spark i.hi{background:var(--brand)}.tl-wrap{margin:0 var(--sp-4) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);flex:1;position:relative;overflow:auto}.tl{--cols:22;min-width:calc(var(--name-w) + var(--cols) * var(--col-w));position:relative}.tl-head{z-index:60;background:var(--surface-2);border-bottom:1px solid var(--border-strong);height:var(--tl-head-h);display:flex;position:sticky;top:0}.tl-head .corner{width:var(--name-w);z-index:2;background:var(--surface-2);border-right:1px solid var(--border-strong);color:var(--ink-muted);flex:none;align-items:center;padding:0 14px;font-size:11.5px;font-weight:500;display:flex;position:sticky;left:0;box-shadow:6px 0 6px -6px #0000002e;box-shadow:6px 0 6px -6px lab(0% 0 0/.18)}.tick{width:var(--col-w);color:var(--ink-muted);flex:none;font-size:11.5px;font-weight:500;position:relative}.tick span{background:var(--surface-2);padding:0 4px;position:absolute;top:9px;left:0;transform:translate(-50%)}.corner+.tick span{left:3px;transform:none}.tick:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:0}.tl-row{height:var(--row-h);border-bottom:1px solid var(--border);display:flex;position:relative}.tl-row:last-child{border-bottom:0}.tl-row.is-off .lane{background:repeating-linear-gradient(-45deg,#0000 0 6px,#e0dfe499 6px 7px);background:repeating-linear-gradient(-45deg,#0000 0 6px,lab(88.8981% 1.18527 -2.73874/.6) 6px 7px);background-color:var(--surface)}.tl-row.is-unassigned,.tl-row.is-unassigned .name{background:var(--brand-soft)}.name{width:var(--name-w);z-index:40;background:var(--bg);border-right:1px solid var(--border-strong);flex:none;align-items:center;gap:10px;padding:0 12px;display:flex;position:sticky;left:0;box-shadow:6px 0 6px -6px #0000002e;box-shadow:6px 0 6px -6px lab(0% 0 0/.18)}.name-body{flex-direction:column;gap:3px;min-width:0;display:flex}.name-t{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;line-height:1.2;overflow:hidden}.chips{gap:4px;min-width:0;display:flex;overflow:hidden}.runner-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--brand-ink);font-size:10.5px;font-weight:500;overflow:hidden}.lane{width:calc(var(--cols) * var(--col-w));background:var(--bg);cursor:cell;flex:none;position:relative}.lane:before{content:"";background:repeating-linear-gradient(90deg,var(--border) 0 1px,transparent 1px var(--col-w));pointer-events:none;position:absolute;inset:0}.is-off .lane{cursor:default}.appt{border:1px solid var(--border-strong);background:var(--bg);text-align:left;box-shadow:var(--shadow-sm);transition:box-shadow .16s var(--ease),transform .16s var(--ease);border-radius:7px;flex-direction:column;gap:2px;padding:6px 8px;display:flex;position:absolute;top:5px;bottom:5px;overflow:hidden}.appt:hover{box-shadow:var(--shadow-md);z-index:30;transform:translateY(-1px)}.appt:before{content:"";opacity:.06;pointer-events:none;position:absolute;inset:0}.appt.s-done:before{background:var(--success)}.appt.s-active:before{background:var(--info)}.appt.s-booked:before{background:var(--warning)}.appt.s-no-show:before{background:var(--danger)}.appt.s-unassigned:before{background:var(--brand)}.a-t{white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:12.5px;font-weight:600;line-height:1.25;overflow:hidden}.a-m{color:var(--ink-2);white-space:nowrap;flex:none;align-items:baseline;gap:0 10px;font-size:11.5px;line-height:1.3;display:flex;overflow:hidden}.a-m>span{text-overflow:ellipsis;overflow:hidden}.a-b{flex-wrap:wrap;gap:4px;margin-top:auto;display:flex;overflow:hidden}.appt{container-type:inline-size}@container (max-width:186px){.appt .a-m{display:none}.appt .tag{gap:3px;padding:1px 5px;font-size:9.5px}.appt .tag:before{width:4px;height:4px}}.nowline{top:var(--tl-head-h);background:var(--brand);z-index:50;pointer-events:none;width:1.5px;position:absolute;bottom:0}.nowline:before{content:attr(data-t);background:var(--brand);color:#fff;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:600;position:absolute;top:2px;left:0;transform:translate(-50%)}.off-note{color:var(--ink-muted);background:var(--surface);border-radius:var(--r-pill);border:1px solid var(--border);padding:2px 8px;font-size:11.5px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.tl-group{background:var(--surface-2);border-bottom:1px solid var(--border);height:28px;color:var(--ink-muted);align-items:center;gap:8px;font-size:11.5px;font-weight:500;display:flex}.tl-group>span{padding:0 14px;position:sticky;left:0}.till-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(272px,1fr));margin:0;padding:0;list-style:none;display:grid}.till{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);transition:border-color var(--t-fast) var(--ease);flex-direction:column;gap:5px;padding:12px;display:flex}.till.is-picked{border-color:var(--brand);background:var(--brand-soft)}.till-who{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:6px;font-size:16px;font-weight:600;display:flex}.till-meta{color:var(--ink-muted);font-size:12.5px;line-height:1.4}.till-meta.is-mate{color:var(--brand-ink)}.till-foot{align-items:center;gap:var(--sp-2);margin-top:auto;padding-top:8px;display:flex}.till-amt{letter-spacing:-.02em;font-size:22px;font-weight:600}.till .btn{flex:1;min-height:48px}.till-more{gap:6px;display:flex}.till-more .btn{min-height:44px;font-size:12.5px}.till-bar{z-index:var(--z-sticky);align-items:center;gap:var(--sp-3);border-top:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);flex-wrap:wrap;padding:11px 14px;display:flex;position:sticky;bottom:0}dialog.sheet{border:0;border-left:1px solid var(--border);background:var(--bg);width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;box-shadow:var(--shadow-lg);color:var(--ink);margin:0;padding:0;display:none;position:fixed;inset:0 0 0 auto}dialog.sheet[open]{animation:sheetIn .24s var(--ease);flex-direction:column;display:flex}dialog.sheet.wide{width:min(760px,100vw)}dialog::backdrop{animation:fadeIn .24s var(--ease);background:#1a181f52;background:lab(8.78507% 2.22007 -4.70435/.32)}@keyframes sheetIn{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet-head{padding:var(--sp-4);border-bottom:1px solid var(--border);align-items:flex-start;gap:var(--sp-3);flex:none;display:flex}.sheet-title{letter-spacing:-.01em;font-size:16px;font-weight:600}.sheet-sub{color:var(--ink-muted);margin-top:1px;font-size:12.5px}.sheet-close{border-radius:var(--r-ctl);width:30px;height:30px;color:var(--ink-muted);flex:none;place-items:center;margin-left:auto;display:grid}.sheet-close:hover{background:var(--surface-3);color:var(--ink)}.sheet-body{padding:var(--sp-4);gap:var(--sp-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sheet-body form{grid-template-columns:minmax(0,1fr)}.sheet-foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:var(--sp-3);flex:none;display:flex}.foot-sum{flex-direction:column;min-width:0;display:flex}.foot-k{color:var(--ink-muted);font-size:11.5px}.foot-v{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.foot-btns{gap:var(--sp-2);margin-left:auto;display:flex}.steps{padding:0 var(--sp-4) var(--sp-3);gap:var(--sp-2);border-bottom:1px solid var(--border);flex:none;display:flex}.step-i{text-align:left;flex-direction:column;flex:1;gap:5px;padding-top:2px;display:flex}.step-bar{background:var(--surface-3);border-radius:2px;height:3px}.step-i.is-on .step-bar{background:var(--brand)}.step-i.is-done .step-bar{background:var(--brand-tint)}.step-t{color:var(--ink-muted);font-size:11.5px;font-weight:500}.step-i.is-on .step-t{color:var(--brand-ink)}.step-i.is-done .step-t{color:var(--ink-2)}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;display:grid}.slot{border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--bg);transition:all .16s var(--ease);padding:8px 4px;font-size:13px;font-weight:500}.slot:hover{border-color:var(--brand);color:var(--brand-ink)}.slot[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.slot:disabled{opacity:.38;cursor:not-allowed;background:var(--surface-2)}.slot:disabled:hover{border-color:var(--border);color:inherit}.review{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}.rv-row{align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border);padding:10px 14px;font-size:13px;display:flex}.rv-row:last-child{border-bottom:0}.rv-k{color:var(--ink-muted);flex:none;width:96px;font-size:12.5px}.rv-v{min-width:0;font-weight:500}.rv-edit{color:var(--brand-ink);flex:none;margin-left:auto;font-size:12px;font-weight:500}.rv-edit:hover{text-decoration:underline}.pay-line{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--border);padding:8px 0;display:flex}.pay-line:last-of-type{border-bottom:0}.pay-ic{border-radius:var(--r-ctl);background:var(--surface-3);width:30px;height:30px;color:var(--ink-2);flex:none;place-items:center;display:grid}.pay-ic svg{stroke-width:1.75px;width:16px;height:16px}.pay-name{font-size:13.5px;font-weight:500}.pay-amt{width:118px;margin-left:auto}.pay-amt input{text-align:right;font-weight:500}.receipt{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);color:var(--ink-2);padding:16px 18px;font-size:11.5px;line-height:1.75}.receipt h4{color:var(--ink);text-align:center;margin-bottom:2px;font-size:13px;font-weight:600}.receipt .rc-c{text-align:center;color:var(--ink-muted);margin-bottom:10px;font-size:11px}.receipt hr{border:0;border-top:1px dashed var(--border-strong);margin:9px 0}.rc-l{gap:10px;display:flex}.rc-l .v{margin-left:auto}.rc-l.b{color:var(--ink);font-weight:600}.master-detail{gap:var(--sp-3);grid-template-columns:300px 1fr;height:100%;min-height:0;display:grid}.master{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.master-list{flex:1;overflow-y:auto}.md-row{text-align:left;border-bottom:1px solid var(--border);align-items:center;gap:10px;width:100%;padding:9px 12px;display:flex}.md-row:hover{background:var(--surface)}.md-row[aria-current=true]{background:var(--brand-soft);box-shadow:inset 2px 0 0 var(--brand)}.md-name{text-overflow:ellipsis;min-width:0;font-size:13.5px;font-weight:500;overflow:hidden}.md-right{flex:none;margin-left:auto}.sub-h{color:var(--ink-muted);background:var(--surface-2);border-bottom:1px solid var(--border);z-index:2;padding:7px 12px;font-size:11px;font-weight:500;position:sticky;top:0}.btn:active:not(:disabled){transform:scale(.985)}.pill:active:not(:disabled),.slot:active:not(:disabled){transform:scale(.97)}.opt:active:not(:disabled){transform:scale(.995)}.pill,.slot,.opt,.tab,.dd,.md-row,.lg-row{transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-press) var(--ease)}.tag{transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn.is-loading{pointer-events:none;position:relative;color:#0000!important}.btn.is-loading>*{opacity:0}.btn.is-loading:after{content:"";opacity:.9;color:#fff;border:2px solid;border-top-color:#0000;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin;position:absolute}.btn-ghost.is-loading:after,.btn-danger.is-loading:after{color:var(--ink-2)}@keyframes spin{to{transform:rotate(360deg)}}.sk{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 37%,var(--surface-3) 63%);animation:skwave 1.4s var(--ease-inout) infinite;background-size:400% 100%;border-radius:4px}@keyframes skwave{0%{background-position:100% 0}to{background-position:0 0}}.sk-line{height:10px}.sk-line.sm{height:8px}.sk-line.lg{height:14px}.sk-circle{border-radius:50%;flex:none}.sk-stack{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.sk-row{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:12px 14px;display:flex}.sk-row:last-child{border-bottom:0}.sk-fade{animation:skFade var(--t-base) var(--ease)}@keyframes skFade{0%{opacity:0}to{opacity:1}}@keyframes rowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.row-in{animation:rowIn var(--t-base) var(--ease)}@keyframes rowOut{to{opacity:0;transform:translateY(-3px)}}.row-out{animation:rowOut var(--t-exit) var(--ease) forwards}.acc{transition:grid-template-rows var(--t-slow) var(--ease);grid-template-rows:0fr;display:grid}.acc[data-open=true]{grid-template-rows:1fr}.acc>.acc-in{min-height:0;overflow:hidden}.tabs{position:relative}.tab-ind{border-radius:var(--r-ctl);background:var(--bg);width:1px;box-shadow:var(--shadow-sm);z-index:0;transform-origin:0;transition:transform var(--t-base) var(--ease);position:absolute;top:3px;bottom:3px;left:0}.tabs .tab{z-index:1;position:relative}.tabs:has(.tab-ind) .tab[aria-pressed=true]{box-shadow:none;background:0 0}.appt:before{transition:background var(--t-slow) var(--ease)}.nowline{transition:transform .6s linear}.toasts{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;border-radius:var(--r-card);border:1px solid var(--border-strong);background:var(--bg);box-shadow:var(--shadow-md);animation:toastIn var(--t-base) var(--ease-expo);align-items:flex-start;gap:10px;padding:12px 13px;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.toast.is-out{animation:toastOut var(--t-exit) var(--ease) forwards}@keyframes toastOut{to{opacity:0;transform:translateY(6px)}}.toast .ti{border-radius:6px;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.toast .ti svg{stroke-width:2.4px;width:13px;height:13px}.toast.ok .ti{background:var(--success-soft);color:var(--success)}.toast.bad .ti{background:var(--danger-soft);color:var(--danger)}.toast.warn .ti{background:var(--warning-soft);color:var(--warning-ink)}.toast.info .ti{background:var(--brand-soft);color:var(--brand-ink)}.toast .tb{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.toast .tt{font-size:13px;font-weight:500;line-height:1.4;display:block}.toast .td{color:var(--ink-muted);text-wrap:pretty;margin-top:2px;font-size:12px;line-height:1.45;display:block}.toast .tx{width:22px;height:22px;color:var(--ink-muted);border-radius:5px;flex:none;place-items:center;display:grid}.toast .tx:hover{background:var(--surface-3);color:var(--ink)}.undo{border:1px solid var(--border);border-radius:var(--r-ctl);color:var(--brand-ink);align-items:center;gap:7px;margin-top:8px;padding:5px 10px;font-size:12.5px;font-weight:500;display:flex}.undo:hover{background:var(--brand-soft);border-color:var(--brand)}.undo .ring{flex:none;width:14px;height:14px;transform:rotate(-90deg)}.undo .ring circle{fill:none;stroke-width:2.5px}.undo .ring .bg{stroke:var(--border-strong)}.undo .ring .fg{stroke:var(--brand);stroke-dasharray:34;animation:linear forwards ringDown;animation-duration:var(--undo-ms,8s)}@keyframes ringDown{0%{stroke-dashoffset:0}to{stroke-dashoffset:34px}}.toast.is-paused .ring .fg{animation-play-state:paused}@keyframes flashOk{0%{background-color:var(--success-soft)}to{background-color:#0000}}@keyframes flashBrand{0%{background-color:var(--brand-tint)}to{background-color:#0000}}.flash-ok{animation:flashOk .28s var(--ease)}.flash-brand{animation:flashBrand var(--t-slow) var(--ease)}.num-changed{animation:flashBrand var(--t-slow) var(--ease);border-radius:4px}.field.is-error .input,.field.is-error .select{border-color:var(--danger);box-shadow:0 0 0 3px #ce232424;box-shadow:0 0 0 3px lab(45.7492% 64.5786 45.7865/.14)}.err{color:var(--danger);animation:errIn var(--t-fast) var(--ease);align-items:center;gap:5px;font-size:12px;display:flex}.err svg{stroke-width:2.4px;flex:none;width:12px;height:12px}@keyframes errIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes apptLand{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes landRing{0%{box-shadow:0 0 #6646a86b;box-shadow:0 0 lab(37.3701% 30.9759 -48.4749/.42)}to{box-shadow:0 0 0 9px #6646a800;box-shadow:0 0 0 9px lab(37.3701% 30.9759 -48.4749/0)}}.appt.is-new{animation:apptLand var(--t-slow) var(--ease-expo), landRing .9s var(--ease) .12s;border-color:var(--brand)}@keyframes conflictPulse{0%,to{box-shadow:0 0 #ce232400;box-shadow:0 0 lab(45.7492% 64.5786 45.7865/0)}35%{box-shadow:0 0 0 6px #ce23244d;box-shadow:0 0 0 6px lab(45.7492% 64.5786 45.7865/.3)}}.appt.is-conflict{border-color:var(--danger);animation:conflictPulse 1.2s var(--ease) 1}.col{flex-direction:column;min-height:0;display:flex}.wage-cols{gap:var(--sp-3);grid-template-columns:minmax(240px,296px) minmax(0,1fr) minmax(268px,320px);height:100%;min-height:0;display:grid}@media (max-width:1180px){.wage-cols{grid-template-columns:minmax(196px,232px) minmax(0,1fr) minmax(248px,276px)}}.pane{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);flex:1;min-height:0;overflow-y:auto}.pane-sec{padding:var(--sp-4);border-top:1px solid var(--border)}.pane-sec:first-child{border-top:0}.pane-sec-h{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.pane-sec-t{letter-spacing:-.01em;font-size:13px;font-weight:600}.pane-stack{gap:var(--sp-3);flex-direction:column;display:flex}.pane-sec.is-table{padding:0}.pane-sec.is-table .pane-sec-h{padding:var(--sp-4) var(--sp-4) var(--sp-3);margin-bottom:0}.pane-scroll{flex:1;min-height:0;overflow-y:auto}.pane-foot{border-top:1px solid var(--border);background:var(--surface);gap:var(--sp-2);flex-direction:column;flex:none;padding:11px 14px;display:flex}.pane-foot .sum-row{align-items:baseline;gap:var(--sp-4);display:flex}.pop{width:336px;max-width:calc(100vw - 20px);z-index:var(--z-modal);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-card);box-shadow:var(--shadow-lg);animation:popIn var(--t-base) var(--ease-expo);flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes popIn{0%{opacity:0;transform:translateY(-6px)scale(.975)}to{opacity:1;transform:none}}.pop:before{content:"";left:var(--arrow-x,30px);background:var(--bg);border-left:1px solid var(--border-strong);border-top:1px solid var(--border-strong);width:11px;height:11px;position:absolute;top:-6px;transform:rotate(45deg)}.pop.is-above{animation-name:popInUp}@keyframes popInUp{0%{opacity:0;transform:translateY(6px)scale(.975)}to{opacity:1;transform:none}}.pop.is-above:before{top:auto;bottom:-6px;transform:rotate(225deg)}.pop-hd{padding:var(--sp-3) var(--sp-4) var(--sp-2);border-bottom:1px solid var(--border);gap:var(--sp-2);flex:none;align-items:flex-start;display:flex}.pop-t{letter-spacing:-.01em;font-size:15px;font-weight:600}.pop-sub{color:var(--ink-muted);margin-top:1px;font-size:12px}.pop-bd{min-height:0;padding:var(--sp-2) var(--sp-4) var(--sp-3);flex:1;overflow-y:auto}.pop-ft{padding:var(--sp-2) var(--sp-3);background:var(--surface);border-top:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.pop-more{border-top:1px solid var(--border);margin-top:var(--sp-2);padding-top:var(--sp-2)}.pop-x{width:100%;padding-top:var(--sp-2);color:var(--brand-ink);align-items:center;gap:4px;font-size:12.5px;display:flex}.pop-x svg{stroke-width:2px;flex:none;width:14px;height:14px}.pop-x:hover{text-decoration:underline}.care{background:var(--warning-soft);color:var(--warning-ink);border-radius:var(--r-ctl);align-items:flex-start;gap:8px;padding:8px 10px;font-size:12.5px;line-height:1.45;display:flex}.care svg{stroke-width:2px;flex:none;width:15px;height:15px;margin-top:2px}.care b{font-weight:600}@media (max-width:640px){.pop{border-bottom:0;border-radius:14px 14px 0 0;width:auto;max-width:none;animation-name:popUpSheet;right:0;max-height:min(78dvh,560px)!important;top:auto!important;bottom:0!important;left:0!important}.pop:before{display:none}@keyframes popUpSheet{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}dialog.sheet[open],dialog::backdrop,.pop,.pop.is-above{animation:.01ms fadeIn}.appt:hover,.btn:active,.pill:active,.slot:active,.opt:active{transform:none}.sk{background:var(--surface-3);animation:none}.toast{animation:skFade var(--t-fast) var(--ease)}.toast.is-out{opacity:0;animation:none}.appt.is-new{animation:skFade var(--t-base) var(--ease)}.appt.is-conflict{animation:none}.undo .ring .fg{stroke-dashoffset:17px;animation:none}.row-in,.flash-ok,.flash-brand,.num-changed,.err{animation:none}.btn.is-loading:after{animation:1.6s linear infinite spin}}.sl-cols{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}@media (max-width:1080px){.sl-cols{grid-template-columns:minmax(0,1fr)}}.sl-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(184px,1fr));display:grid}.sl-i{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);text-align:left;min-height:82px;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-press) var(--ease);flex-direction:column;gap:3px;padding:12px 13px;display:flex}.sl-i:hover{border-color:var(--brand);background:var(--brand-soft)}.sl-i:active{transform:scale(.98)}.sl-i b{font-size:13.5px;font-weight:600;line-height:1.35}.sl-i .p{letter-spacing:-.01em;margin-top:auto;font-size:15px;font-weight:600}.sl-i .s{color:var(--ink-muted);font-size:11.5px}.sl-i .s.low{color:var(--warning-ink);font-weight:500}.sl-i:disabled{opacity:.5;cursor:not-allowed;background:var(--surface)}.sl-i:disabled:hover{border-color:var(--border);background:var(--surface)}.sl-i:disabled .s{color:var(--danger)}.sl-cart{flex-direction:column;display:flex}.sl-line{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:11px 14px;display:flex}.sl-line-b{flex:1;min-width:0}.sl-line-b b{font-size:13px;font-weight:600;line-height:1.4;display:block}.sl-line-b span{color:var(--ink-muted);font-size:11.5px;display:block}.sl-qty{flex:none;align-items:center;gap:2px;display:flex}.sl-q{border:1px solid var(--border);border-radius:var(--r-ctl);width:26px;height:26px;color:var(--ink-2);transition:background var(--t-press) var(--ease),border-color var(--t-fast) var(--ease);place-items:center;display:grid}.sl-q:hover{border-color:var(--border-strong);background:var(--surface)}.sl-q svg{stroke-width:2.4px;width:13px;height:13px}.sl-n{text-align:center;font-variant-numeric:tabular-nums;min-width:26px;font-size:13px;font-weight:600}.sl-amt{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:58px;font-size:13.5px;font-weight:600}.receipt-sheet{max-width:80mm;margin:0 auto}@media (max-width:900px){.app{grid-template-columns:60px 1fr}.side{padding:var(--sp-2) 6px;align-items:center}.brand{padding:6px 0 12px}.brand-name,.nav-item span,.nav-count{display:none}.nav-item{justify-content:center;padding:10px 0}.nav-item svg{width:19px;height:19px}.side-foot{width:100%}}@media (max-width:640px){.app{grid-template-rows:1fr auto;grid-template-columns:1fr}.side{border-right:0;border-top:1px solid var(--border);padding:4px 2px;padding-bottom:max(4px,env(safe-area-inset-bottom));flex-direction:row;order:2;justify-content:space-around;align-items:center;overflow:auto hidden}.brand{display:none}.side-foot{border-top:0;margin-top:0;padding-top:0;display:contents}.nav-item{text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;gap:2px;min-width:0;padding:6px 2px;font-size:10px;line-height:1.2}.nav-item svg{width:18px;height:18px}.main{order:1;min-height:0}.topbar{height:46px;padding:0 var(--sp-3);gap:var(--sp-2)}.search{display:none}.branch{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;line-height:22px;display:block;overflow:hidden}.branch svg,.branch .dot{display:none}.top-right{gap:var(--sp-2)}.page-head{padding:var(--sp-3) var(--sp-3) var(--sp-2)}.h1{font-size:18px}.scroll{padding:0 var(--sp-3) var(--sp-3)}.actions{flex-wrap:wrap;width:100%;margin-left:0}.grid.g-2,.grid.g-3,.grid.g-4,.split{grid-template-columns:1fr}.wage-cols,.sl-cols{grid-template-columns:1fr;height:auto;min-height:0}.col,.pane,.pane-scroll{min-height:0;overflow:visible}.col,.pane,.card,.pane-foot,.pane-sec,.master{min-width:0;max-width:100%}.main{overflow:hidden auto}.table-wrap,.pane-sec.is-table,.tl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.pane-sec.is-table table{min-width:560px}:root{--name-w:140px}.name{gap:7px;padding:0 8px}.name .av{width:28px;height:28px;font-size:11px}.name-t{font-size:12.5px}.name .chips .chip:not(.ok):not(.busy){display:none}}@media print{.side,.topbar,.no-print{display:none!important}.app{height:auto;display:block}.main{overflow:visible}.scroll{padding:0;overflow:visible}body{background:#fff}.receipt{color:#000;background:#fff;border:0;padding:0;font-size:11px}.receipt-sheet{width:auto;max-width:none}.receipt hr{border-top:1px dashed #999}@page{margin:6mm}}.lane-note{left:var(--name-w);margin:calc((var(--row-h) - 24px) / 2) 0 0 12px;height:24px;color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;pointer-events:auto;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:0 10px;font-size:11.5px;display:inline-flex;position:sticky}.lane-note a{color:var(--brand-ink)}.is-off .lane-note{background:var(--bg)}.tl-offhours{left:var(--name-w);z-index:55;height:22px;color:var(--ink-muted);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:999px;align-items:center;gap:6px;width:fit-content;margin:6px 0 0 12px;padding:0 9px;font-size:11px;font-weight:500;display:inline-flex;position:sticky}.meta{flex-wrap:wrap;align-items:baseline;gap:2px 14px;display:flex}.meta>*{min-width:0}.a-pair{background:var(--brand-soft);color:var(--brand-ink);vertical-align:1px;border-radius:4px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:600}.bullets{margin:0;padding-left:1.1em;list-style:outside}.bullets>li{margin:1px 0}.settings-back{min-height:44px;color:var(--ink-muted);align-items:center;gap:6px;margin-bottom:2px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.settings-back:hover{color:var(--brand-ink)}.settings-back svg{stroke-width:2px;width:15px;height:15px}.confirm-wrap{align-items:center;gap:4px;display:inline-flex}.confirm-ask{color:var(--danger);white-space:nowrap;font-size:11.5px;font-weight:500}
