html,body,#root{margin:0;padding:0}:root{--ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}body{font-family:var(--ui);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.4}button,input,select,textarea,optgroup{font-family:inherit}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{height:100%}#root{min-height:100%}img,video,canvas{max-width:100%;height:auto}.ant-layout-content,.ant-layout{min-width:0}.ant-table-wrapper{max-width:100%}.ant-table-content,.ant-table-body{overflow-x:auto}.rm{color:#9aa1b0;vertical-align:.3em;letter-spacing:.02em;margin-right:.28em;font-size:.65em;font-weight:600}.amt.pos .rm,.amt.neg .rm,b.pos .rm,b.neg .rm,.bal-due .rm,.owe-pill .rm,.paid-pill .rm,.status-chip .rm,.tagchip .rm,.rm-inherit .rm{color:currentColor;opacity:.7}.docno{font-family:var(--mono);background:var(--surface-2,#f1f3f7);color:var(--ink-2,#4b5563);white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:11.5px}.docno.lg{padding:3px 9px;font-size:14px}.docno.link{cursor:pointer}.docno.link:hover{background:var(--primary-soft,#e8edff);color:var(--primary-d,#1d4ed8)}.ccs-topbar2:empty{display:none}.ccs-topbar2{scrollbar-width:none;align-items:center;gap:10px;padding:8px 24px;display:flex;overflow-x:auto}.ccs-topbar2::-webkit-scrollbar{display:none}.wa-row-btn,.wa-inline-btn{color:#25d366}.wa-row-btn:hover:not(:disabled),.wa-inline-btn:hover:not(:disabled){color:#128c7e;background:#e7f7ee}.wa-row-btn:disabled,.wa-inline-btn:disabled{color:#c8cdd6;cursor:not-allowed}.wa-inline-btn{cursor:pointer;vertical-align:-1px;background:0 0;border:0;padding:0 0 0 8px;font-size:16px;line-height:1}.cprof .wa-inline-btn:hover{color:#5df08d;background:0 0}.ccs-menubtn{border:1px solid var(--line,#e3e6ec);background:#fff}body.ccs-flat .ccs-shellbar{box-shadow:none!important;border:none!important}body.ccs-flat .ccs-menubtn{background:0 0;border:none}body.ccs-tinted .ccs-shellbar{background:var(--ccs-topbar-bg)!important}body.ccs-tinted .ccs-menubtn{background:0 0}:root{--ccs-topbar-vpad:8px;--ccs-topbar-h:58px;--ccs-shell-gap:10px;--ccs-shell-pad-x:10px;--stat-invitation:#ff0;--stat-waiting:#cff;--stat-booked:#2563eb;--stat-reminded:#0f0;--stat-confirmed:#090;--stat-arrived:#7c3aed;--stat-billed:#f0f;--stat-late:#fcf;--stat-noshow:red;--stat-waiting_list:#ffa800;--stat-cancelled:#737a89}.stpill{letter-spacing:.3px;text-transform:uppercase;color:#fff;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.stpill.invitation{background:var(--stat-invitation);color:#191c24}.stpill.waiting_approval{background:var(--stat-waiting);color:#191c24}.stpill.waiting_list{background:var(--stat-waiting_list);color:#191c24}.stpill.booked{background:var(--stat-booked)}.stpill.reminded{background:var(--stat-reminded);color:#191c24}.stpill.confirmed{background:var(--stat-confirmed)}.stpill.arrived{background:var(--stat-arrived)}.stpill.billed{background:var(--stat-billed)}.stpill.late{background:var(--stat-late);color:#191c24}.stpill.noshow{background:var(--stat-noshow)}.stpill.cancelled{background:var(--stat-cancelled)}.ccs-shellbar{box-sizing:border-box;border:1px solid var(--line,#e3e6ec);padding:var(--ccs-topbar-vpad,8px) 14px;min-height:var(--ccs-topbar-h,58px);background:#fff;border-radius:12px;align-items:center;gap:14px;display:flex;box-shadow:0 1px 2px #1418280d}.ccs-shellframe{padding:var(--ccs-shell-gap,10px) var(--ccs-shell-pad-x,10px);gap:var(--ccs-shell-gap,10px);flex-direction:column;display:flex}.ccs-shellframe--sticky{padding-top:0}.ccs-shellsticky{z-index:800;padding:var(--ccs-shell-gap,10px) 0;margin-bottom:calc(-1 * var(--ccs-shell-gap,10px));background:var(--ccs-shell-bg,#eef0f4);position:sticky;top:0}.ccs-reportpage{min-width:0}.ccs-date.ant-picker .ant-picker-input>input,.ccs-date.ant-picker .ant-picker-input>input:focus{width:100%;min-width:0;height:auto;box-shadow:none;font-size:inherit;font-family:inherit;line-height:inherit;color:inherit;background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:0}.hp-launch{z-index:900;background:var(--ccs-primary,#1d4ed8);color:#fff;cursor:pointer;border:0;border-radius:22px;align-items:center;gap:8px;height:44px;padding:0 18px 0 14px;font-size:13.5px;font-weight:500;transition:transform .15s,opacity .15s;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 6px 20px #1d4ed857}.hp-launch:hover{transform:translateY(-1px)}.hp-hide{opacity:0;pointer-events:none;transform:translateY(8px)}.hp-mark{background:#ffffff38;border-radius:50%;place-items:center;width:21px;height:21px;font-size:13px;font-weight:700;display:grid}.hp-scrim{z-index:950;background:#0f142047;position:fixed;inset:0}.hp-panel{z-index:960;background:#fff;flex-direction:column;width:392px;max-width:100vw;transition:transform .24s cubic-bezier(.32,.72,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:0 12px 40px #10182829}.hp-panel.hp-on{transform:none}.hp-head{border-bottom:1px solid #e3e6ec;flex-shrink:0;padding:13px 16px 12px}.hp-head-row{align-items:center;gap:8px;display:flex}.hp-head-row h2{flex:1;margin:0;font-size:14.5px;font-weight:600}.hp-icon{color:#8a92a6;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:15px}.hp-icon:hover{color:#3b4150;background:#f2f4f8}.hp-ctx{color:var(--ccs-primary,#1d4ed8);background:#eff4ff;border-radius:20px;align-items:center;gap:6px;margin-top:11px;padding:4px 11px;font-size:11.5px;font-weight:500;display:inline-flex}.hp-searchwrap{position:relative}.hp-search{border:1px solid #e3e6ec;border-radius:9px;width:100%;margin-top:10px;padding:10px 42px 10px 12px;font-size:13px}.hp-search:focus{border-color:var(--ccs-primary,#1d4ed8);outline:none;box-shadow:0 0 0 3px #1d4ed81a}.hp-mic{cursor:pointer;color:#8a92a6;background:0 0;border:0;border-radius:8px;width:30px;height:30px;font-size:15px;line-height:1;position:absolute;top:16px;right:6px}.hp-mic:hover{color:#3b4150;background:#f2f4f8}.hp-mic.hp-live{color:#dc2626;background:#fef2f2;animation:1.1s infinite hp-pulse}@keyframes hp-pulse{0%,to{box-shadow:0 0 #dc262659}50%{box-shadow:0 0 0 6px #dc262600}}.hp-hearing{color:#dc2626;align-items:center;gap:6px;margin-top:7px;font-size:11.5px;display:flex}.hp-hearing i{background:#dc2626;border-radius:50%;width:6px;height:6px;animation:1.1s infinite hp-pulse}.hp-fb{border-top:1px solid #e3e6ec;align-items:center;gap:8px;margin-top:18px;padding-top:14px;display:flex}.hp-fb>span:first-child{color:#8a92a6;margin-right:auto;font-size:12.5px}.hp-fb-btn{cursor:pointer;background:#fff;border:1px solid #e3e6ec;border-radius:7px;padding:5px 12px;font-size:13px;line-height:1}.hp-fb-btn:hover{border-color:#c9cfdb}.hp-fb-done{color:var(--ccs-primary,#1d4ed8);font-size:12.5px;font-weight:500}.hp-body{flex:1;padding:14px 16px 24px;overflow-y:auto}.hp-group{letter-spacing:.07em;text-transform:uppercase;color:#8a92a6;margin:16px 0 7px;font-size:10.5px;font-weight:600}.hp-group:first-child{margin-top:0}.hp-row{text-align:left;cursor:pointer;color:#1a1f2b;background:#fff;border:1px solid #e3e6ec;border-radius:9px;align-items:flex-start;gap:9px;width:100%;margin-bottom:6px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.hp-row:hover{border-color:var(--ccs-primary,#1d4ed8);background:#eff4ff}.hp-row em{color:#8a92a6;margin-top:2px;font-size:11px;font-style:normal;display:block}.hp-arrow{color:#8a92a6;flex-shrink:0;margin-left:auto}.hp-empty{text-align:center;color:#8a92a6;padding:34px 12px;font-size:13px;line-height:1.6}.hp-empty b{color:#3b4150;margin-bottom:5px;font-size:13.5px;display:block}.hp-q{margin:0 0 3px;font-size:15px;font-weight:600;line-height:1.4}.hp-where{color:#8a92a6;margin:0 0 15px;font-size:11.5px}.hp-steps{counter-reset:s;margin:0;padding:0;list-style:none}.hp-steps li{counter-increment:s;color:#3b4150;padding:0 0 15px 32px;font-size:13px;line-height:1.55;position:relative}.hp-steps li:before{content:counter(s);width:21px;height:21px;color:var(--ccs-primary,#1d4ed8);background:#eff4ff;border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid;position:absolute;top:-1px;left:0}.hp-steps li:after{content:"";background:#e3e6ec;width:1px;position:absolute;top:22px;bottom:2px;left:10px}.hp-steps li:last-child{padding-bottom:0}.hp-steps li:last-child:after{display:none}.hp-steps b{color:#1a1f2b;font-weight:600}.hp-go{background:var(--ccs-primary,#1d4ed8);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;margin-top:18px;padding:11px;font-size:13.5px;font-weight:500}@media print{.hp-launch,.hp-panel,.hp-scrim{display:none}}.hp-icon-on{color:var(--ccs-primary,#1d4ed8);background:#eff4ff}.dashchip{border:1px solid var(--ccs-line,#e3e6ec);background:var(--ccs-surface,#fff);color:inherit;cursor:pointer;border-radius:999px;padding:4px 13px;font-size:12.5px;line-height:1.5;transition:background .12s,border-color .12s,color .12s}.dashchip:hover{border-color:var(--ccs-primary,#2e46e8)}.dashchip[data-active]{background:var(--ccs-primary,#2e46e8);border-color:var(--ccs-primary,#2e46e8);color:#fff;font-weight:600}.dashkpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.dashkpi{background:var(--ccs-surface,#fff);border:1px solid var(--ccs-line,#eef0f4);border-radius:10px;min-width:0;padding:10px 12px}.dashkpi-l{letter-spacing:.03em;text-transform:uppercase;color:var(--ccs-muted,#8a90a0);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.dashkpi-v{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:20px;font-weight:700;line-height:1.25;overflow:hidden}.dashkpi-s{color:var(--ccs-muted,#8a90a0);margin-top:1px;font-size:11px}.dashcard{border-radius:10px}.dashcard .ant-card-body{padding:8px 10px 10px}.dashgrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-top:12px;display:grid}.dashgrid.wide{grid-template-columns:repeat(auto-fit,minmax(460px,1fr))}.dashbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.dashscroll{overflow-x:auto}.dashpage{min-width:0;padding:16px;overflow-x:hidden}.dashgrid>*,.dashkpis>*{min-width:0}.dashreport-btn{text-align:left;border:1px solid var(--ccs-line,#eef0f4);border-left:4px solid var(--ccs-primary,#2e46e8);background:var(--ccs-surface,#fff);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:11px 13px;transition:background .12s,border-color .12s;display:flex}.dashreport-btn:hover{background:var(--ccs-hover,#f6f7fb)}.dashreport-btn:focus-visible{outline:2px solid var(--ccs-primary,#2e46e8);outline-offset:2px}.dashreport-btn .drb-t{color:var(--ccs-ink,#1d2233);font-size:13px;font-weight:600}.dashreport-btn .drb-h{color:var(--ccs-muted,#8a90a0);white-space:normal;font-size:11.5px;line-height:1.35}.ovhead{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;display:flex}.ovhead-t{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.ovreports{flex-wrap:wrap;gap:8px;min-width:0;margin-left:auto;display:flex}.dashreport-btn.compact{flex-direction:row;align-items:center;padding:7px 12px}.dashreport-btn.compact .drb-t{white-space:nowrap;font-size:12.5px}.sapx{z-index:1200;background:#1418286b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sapx .sap-modal{--p:#5547e8;--pd:#4438d0;--psoft:#eef0fb;--line:#e8eaf1;--line2:#d9dce8;--surf2:#f7f8fc;--ink:#1b1f33;--ink2:#454a66;--muted:#767c96;--faint:#a3a8bd;--green:#12a150;--amber:#c08b00;--rose:#d92d20;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;width:min(980px,96vw);height:min(620px,92vh);color:var(--ink);background:#fff;border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 40px #1418282e}.sapx .sap-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.sapx .sap-head h2{margin:0;font-size:15px;font-weight:600}.sapx .sap-head h2 span{color:var(--muted);font-weight:500}.sapx .sap-x{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:18px}.sapx .sap-x:hover{background:var(--surf2);color:var(--ink)}.sapx .sap-roletabs{border-bottom:1px solid var(--line);background:var(--surf2);flex-wrap:wrap;gap:8px;padding:12px 20px;display:flex}.sapx .sap-roletab{border:1px solid var(--line2);color:var(--ink2);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:7px;padding:7px 14px;font-size:12.5px;font-weight:600;display:flex}.sapx .sap-roletab.on{background:var(--p);border-color:var(--p);color:#fff}.sapx .sap-roletab .cnt{font-size:10px;font-family:var(--mono);background:#00000014;border-radius:5px;padding:1px 5px}.sapx .sap-roletab.on .cnt{background:#ffffff40}.sapx .sap-body{flex:1;min-height:0;display:flex}.sapx .sap-left{border-right:1px solid var(--line);flex-direction:column;flex:1;min-width:0;padding:14px 18px;display:flex}.sapx .sap-depts{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.sapx .sap-dt{border:1px solid var(--line2);color:var(--ink2);cursor:pointer;background:#fff;border-radius:8px;padding:5px 11px;font-size:11.5px;font-weight:500}.sapx .sap-dt.on{background:var(--p);border-color:var(--p);color:#fff}.sapx .sap-search input{border:1px solid var(--line2);background:var(--surf2);border-radius:9px;width:100%;height:38px;margin-bottom:12px;padding:0 12px;font-size:12.5px}.sapx .sap-search input:focus{border-color:var(--p);box-shadow:0 0 0 3px var(--psoft);background:#fff;outline:none}.sapx .sap-grid{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:8px;display:grid;overflow-y:auto}.sapx .sap-none{color:var(--faint);text-align:center;grid-column:1/-1;padding:24px}.sapx .sap-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:9px 11px;display:flex}.sapx .sap-card:hover{border-color:var(--p)}.sapx .sap-card.sel{border-color:var(--p);background:var(--psoft)}.sapx .sap-box{border:1.8px solid var(--line2);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.sapx .sap-card.sel .sap-box{background:var(--p);border-color:var(--p)}.sapx .sap-av{width:34px;height:34px;color:var(--p);background:#eef0fb;border-radius:9px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.sapx .sap-nm{font-size:12.5px;font-weight:600;line-height:1.2}.sapx .sap-cd{color:var(--muted);font-size:10.5px;font-family:var(--mono)}.sapx .sap-right{background:var(--surf2);flex-direction:column;flex-shrink:0;gap:12px;width:340px;padding:14px 16px;display:flex;overflow-y:auto}.sapx .sap-selhd{justify-content:space-between;align-items:center;display:flex}.sapx .sap-selhd .t{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:11px;font-weight:700}.sapx .sap-selhd .tot{font-family:var(--mono);font-size:12px;font-weight:700}.sapx .sap-selhd .tot.ok{color:var(--green)}.sapx .sap-selhd .tot.warn{color:var(--amber)}.sapx .sap-empty{color:var(--faint);font-size:11.5px}.sapx .sap-picks{flex-direction:column;gap:8px;display:flex}.sapx .sap-pick{align-items:center;gap:8px;display:flex}.sapx .sap-pick .pa{width:26px;height:26px;color:var(--p);background:#eef0fb;border-radius:7px;place-items:center;font-size:11px;font-weight:700;display:grid}.sapx .sap-pick .pn{flex:1;min-width:0;font-size:12px;font-weight:600}.sapx .sap-pick .pn .pc{color:var(--muted);font-weight:500;font-family:var(--mono);margin-left:4px;font-size:10.5px}.sapx .ratew{border:1px solid var(--line2);background:#fff;border-radius:7px;align-items:center;width:78px;height:28px;padding:0 6px 0 8px;display:flex}.sapx .ratew:focus-within{border-color:var(--p);box-shadow:0 0 0 2px var(--psoft)}.sapx .ratew input{width:100%;font-family:var(--mono);background:0 0;border:none;outline:none;font-size:12px}.sapx .ratew .pct{color:var(--muted);font-family:var(--mono);font-size:11px}.sapx .ptrash{width:24px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:6px}.sapx .ptrash:hover{color:var(--rose);background:#fde7e7}.sapx .sap-foot{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;display:flex}.sapx .sap-btn{border:1px solid var(--line2);height:38px;color:var(--ink2);cursor:pointer;background:#fff;border-radius:9px;padding:0 18px;font-size:13px;font-weight:600}.sapx .sap-btn:hover{background:var(--surf2)}.sapx .sap-btn.primary{background:var(--p);color:#fff;border:none;padding:0 26px;box-shadow:0 4px 14px #5547e852}.sapx .sap-btn.primary:hover{background:var(--pd)}.sapx .sap-btn:disabled{opacity:.55;cursor:not-allowed}@media (width<=760px){.sapx .sap-body{flex-direction:column}.sapx .sap-right{border-top:1px solid var(--line);width:auto}.sapx .sap-grid{grid-template-columns:1fr}}.bkapp{--bg:#eef0f4;--surface:#fff;--surface-2:#f7f8fa;--ink:#191c24;--ink-2:#3b4150;--muted:#737a89;--faint:#9aa1b0;--line:#e3e6ec;--line-strong:#d3d8e0;--primary:#5547e8;--primary-d:#4438c9;--primary-soft:#ecebfd;--green:#0e9f6e;--green-soft:#e3f6ee;--blue:#2563eb;--blue-soft:#e6efff;--violet:#7c3aed;--violet-soft:#f0e9ff;--amber:#c2730b;--amber-soft:#fcf0db;--rose:#e02424;--rose-soft:#fde7e7;--teal:#0f9488;--teal-soft:#d6f3ef;--orange:#dd6b1f;--orange-soft:#fce8d6;--pink:#c72d84;--pink-soft:#fbe3f0;--cyan:#0e7fa8;--cyan-soft:#d7edf6;--yellow:#ca8a04;--yellow-soft:#fef3c7;--lgreen:#65a30d;--lgreen-soft:#ecfccb;--lred:#ef4444;--lred-soft:#fee2e2;--red:#b91c1c;--red-soft:#fecaca;--mono:"JetBrains Mono",ui-monospace,monospace;--ui:"Inter",system-ui,-apple-system,sans-serif;--shadow:0 1px 2px #1418280d,0 1px 3px #1418280f;--shadow-lg:0 12px 40px #14182829}.bkapp *{box-sizing:border-box;margin:0;padding:0}.bkapp{height:100%;font-family:var(--ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.4}.bkapp button{cursor:pointer;font-family:inherit}.bkapp input,.bkapp select,.bkapp textarea{font-family:inherit}.bkapp .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.bkapp .app{height:100vh;padding:var(--ccs-shell-gap,10px) var(--ccs-shell-pad-x,10px);gap:var(--ccs-shell-gap,10px);flex-direction:column;display:flex}.bkapp .topbar{background:var(--surface);border:1px solid var(--line);padding:var(--ccs-topbar-vpad,8px) 14px;box-shadow:var(--shadow);min-height:var(--ccs-topbar-h,58px);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.bkapp .brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.bkapp .logo{background:linear-gradient(135deg,var(--ccs-primary,var(--primary)),#8b7cff);color:#fff;letter-spacing:-.5px;border-radius:9px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:grid}.bkapp .brand .name{white-space:nowrap;font-size:14px;font-weight:600;line-height:1.1}.bkapp .brand .branch{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;margin-top:2px;font-size:11px;display:flex}.bkapp .branch .dot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px}.bkapp .spacer{flex:1 0 0;min-width:0}.bkapp .pill-btn{border:1px solid var(--line-strong);background:var(--surface);height:34px;color:var(--ink-2);white-space:nowrap;border-radius:9px;flex-shrink:0;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:500;display:flex}.bkapp .pill-btn:hover{background:var(--surface-2)}.bkapp .tbtn{white-space:nowrap;border:none;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:12.5px;font-weight:600;display:flex}.bkapp .tbtn-book{background:var(--green-soft);color:var(--green)}.bkapp .tbtn-book:hover{background:#cdeee1}.bkapp .cashier{border-left:1px solid var(--line);white-space:nowrap;flex-shrink:0;align-items:center;gap:9px;padding-left:14px;display:flex}.bkapp .cashier .av{color:#c2410c;background:#ffe4d4;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.bkapp .cashier .t{font-size:12px;font-weight:600;line-height:1.1}.bkapp .cashier .s{color:var(--muted);font-size:10px}.bkapp .datenav{border-left:1px solid var(--line);flex-shrink:0;align-items:center;gap:8px;margin-left:4px;padding-left:16px;display:flex}.bkapp .datenav button:not(.today){border:1px solid var(--line-strong);width:30px;height:30px;color:var(--ink-2);background:#fff;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.bkapp .datenav button:not(.today):hover{background:var(--surface-2);border-color:var(--primary);color:var(--primary)}.bkapp .datenav .dlabel{text-align:center;min-width:118px}.bkapp .datenav .dlabel .dd{font-size:13.5px;font-weight:700;font-family:var(--mono);line-height:1.1}.bkapp .datenav .dlabel .wd{color:var(--muted);font-size:10px}.bkapp .datenav .today{background:var(--primary);color:#fff;white-space:nowrap;box-sizing:border-box;width:auto;height:30px;box-shadow:var(--shadow);border:1px solid #0000;border-radius:8px;flex-shrink:0;align-items:center;padding:0 15px;font-size:11.5px;font-weight:700;line-height:28px;display:inline-flex}.bkapp .datenav .today:hover{background:var(--primary-d)}.bkapp .dlabel{cursor:pointer;border-radius:8px;padding:2px 8px;position:relative}.bkapp .dlabel:hover{background:var(--surface-2)}.bkapp .tbtn-pos{background:var(--primary-soft);color:var(--primary);text-decoration:none}.bkapp .tbtn-pos:hover{background:#e0deff}.bkapp .datepicker-pop{border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:30;cursor:default;background:#fff;border-radius:12px;width:250px;padding:12px;display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.bkapp .datepicker-pop.open{display:block}.bkapp .dp-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.bkapp .dp-head button{border:1px solid var(--line-strong);width:26px;height:26px;color:var(--ink-2);background:#fff;border-radius:7px;flex-shrink:0;place-items:center;display:grid}.bkapp .dp-head button:hover{background:var(--surface-2)}.bkapp .dp-title{color:var(--ink);font-size:12px;font-weight:700}.bkapp .dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.bkapp .dp-wd{color:var(--faint);text-align:center;padding:3px 0;font-size:9px;font-weight:600}.bkapp .dp-day{height:27px;font-size:11px;font-family:var(--mono);cursor:pointer;color:var(--ink-2);border-radius:7px;justify-content:center;align-items:center;display:flex}.bkapp .dp-day:hover{background:var(--primary-soft)}.bkapp .dp-day.sel{background:var(--primary);color:#fff;font-weight:700}.bkapp .dp-day.today-mark{border:1.5px solid var(--primary)}.bkapp .dp-day.blank{visibility:hidden;cursor:default}.bkapp .appt-error{background:var(--rose-soft);color:var(--rose);border-radius:9px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:600;display:none}.bkapp .dur-suggest{background:var(--amber-soft);color:var(--amber);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin-top:-8px;padding:8px 10px 8px 12px;font-size:11.5px;font-weight:600;display:none}.bkapp .dur-suggest.show{display:flex}.bkapp .dur-suggest span{line-height:1.35}.bkapp .dur-suggest button{border:1px solid var(--amber);height:28px;color:var(--amber);white-space:nowrap;background:#fff;border-radius:7px;flex-shrink:0;padding:0 12px;font-size:11px;font-weight:700}.bkapp .dur-suggest button:hover{background:var(--amber);color:#fff}.bkapp .nowctrl{color:var(--muted);flex-shrink:0;align-items:center;gap:7px;margin-left:14px;font-size:11px;display:flex}.bkapp .nowctrl input{border:1px solid var(--line-strong);height:30px;font-family:var(--mono);background:var(--surface-2);border-radius:8px;width:92px;padding:0 8px;font-size:12px}.bkapp .nowctrl input:focus{border-color:var(--primary);background:#fff;outline:none}.bkapp .footbar{box-shadow:none;background:0 0;border:none;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;margin-top:auto;padding:8px 2px;display:flex}.bkapp .footbar .legend{flex:1}.bkapp .footbar .pill-btn{margin-left:auto}.bkapp .footbar .pill-btn+.foot-new{margin-left:0}.bkapp .footbar .foot-new{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;height:32px;margin-left:auto;padding:0 18px;font-size:12.5px;font-weight:600}.bkapp .footbar .foot-new:hover{background:var(--primary-dark,#4438c9)}.bkapp .legend{flex-wrap:wrap;flex:1;align-items:center;gap:6px 20px;display:flex}.bkapp .legend .lg{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.bkapp .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.bkapp .legend .dot{width:11px;height:11px;box-shadow:0 0 0 1px #0000000f}.bkapp .status-banner .dot{width:11px;height:11px}.bkapp .bsearch{min-width:220px;margin-left:auto;position:relative}.bkapp .bsearch input{border:1px solid var(--line-strong);background:var(--surface-2);width:100%;height:34px;color:var(--ink);border-radius:9px;padding:0 12px 0 32px;font-size:12.5px}.bkapp .bsearch input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);background:#fff;outline:none}.bkapp .bsearch svg{color:var(--faint);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.bkapp .body{flex:1;min-height:0;display:flex}.bkapp .cal-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.bkapp .cal-scroll{flex:1;position:relative;overflow:auto}.bkapp .cal-grid{-webkit-user-select:none;user-select:none;display:grid;position:relative}.bkapp .cal-corner{z-index:8;background:var(--surface-2);border-bottom:1px solid var(--line-strong);border-right:1px solid var(--line-strong);height:58px;position:sticky;top:0;left:0}.bkapp .cal-colhead{z-index:7;background:var(--surface-2);border-bottom:1px solid var(--line-strong);border-right:1px solid var(--line);align-items:center;gap:8px;min-width:152px;height:58px;padding:8px 10px;display:flex;position:sticky;top:0}.bkapp .cal-colhead .av{width:30px;height:30px;color:var(--primary);background:#eef0fb;border-radius:9px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.bkapp .cal-colhead .nm{font-size:13.5px;font-weight:600;line-height:1.2}.bkapp .cal-colhead .dp{color:var(--faint);font-size:10px}.bkapp .cal-colhead.is-off{background:var(--surface-3,#f4f5f7)}.bkapp .cal-colhead.is-off .nm{color:var(--faint);font-weight:500}.bkapp .cal-colhead.is-off .av{color:var(--faint);background:#eceef1}.bkapp .cal-colhead.is-off .dp{font-style:italic}.bkapp .timegutter-wrap{z-index:6;background:var(--surface);border-right:1px solid var(--line-strong);grid-area:2/1/-1;position:sticky;left:0}.bkapp .cal-timecell{height:16px;color:var(--faint);font-size:10px;font-family:var(--mono);text-align:right;padding:0 8px;line-height:16px;position:relative}.bkapp .cal-timecell.hr{color:var(--ink-2);font-size:11px;font-weight:600}.bkapp .cal-timecell.hr:before{content:"";border-top:1px solid var(--line-strong);position:absolute;top:0;left:0;right:0}.bkapp .cal-timecell.hf:before{content:"";border-top:1px dashed var(--line);position:absolute;top:0;left:0;right:0}.bkapp .staffcol-wrap{border-right:1px solid var(--line);position:relative}.bkapp .cal-cell{cursor:pointer;border-top:1px solid var(--line-faint,#f1f2f5);height:16px;position:relative}.bkapp .cal-cell.hr{border-top:1px solid var(--line-strong)}.bkapp .cal-cell.hf{border-top:1px dashed var(--line)}.bkapp .cal-cell:hover{background:var(--primary-soft)}.bkapp .staffcol-wrap:after{content:"";z-index:3;pointer-events:none;background:repeating-linear-gradient(#0000 0 15px,#ffffff29 15px 16px);position:absolute;inset:0}.bkapp .leave-overlay{z-index:1;background:repeating-linear-gradient(135deg,var(--rose-soft),var(--rose-soft) 8px,#fdf0f0 8px,#fdf0f0 16px);cursor:not-allowed;pointer-events:none;position:absolute;inset:0}.bkapp .leave-overlay.offday{background:repeating-linear-gradient(135deg,#e9eaee,#e9eaee 8px,#f4f5f7 8px 16px)}.bkapp .leave-banner{z-index:4;background:var(--rose);color:#fff;width:fit-content;box-shadow:var(--shadow);pointer-events:auto;border-radius:20px;margin:6px auto 0;padding:5px 12px;font-size:11px;font-weight:700;position:sticky;top:6px}.bkapp .leave-banner.offday{background:#6b7280}.bkapp .drag-preview{z-index:4;background:var(--primary-soft);border:1.5px dashed var(--primary);font-family:var(--mono);color:var(--primary-d);pointer-events:none;border-radius:8px;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex;position:absolute;left:3px;right:3px}.bkapp .now-line{border-top:2px solid var(--rose);z-index:5;pointer-events:none;height:0;position:absolute;left:0;right:0}.bkapp .now-line:before{content:"";background:var(--rose);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-5px}.bkapp .book-block{z-index:2;cursor:pointer;box-shadow:var(--shadow),0 0 0 1.5px #fff;border-left:3px solid;border-radius:8px;flex-direction:column;gap:1px;padding:4px 8px 5px;transition:all .12s;display:flex;position:absolute;overflow:hidden}.bkapp .book-block:hover{box-shadow:var(--shadow-lg);z-index:3}.bkapp .book-block.dimmed{opacity:.2;filter:grayscale(.4)}.bkapp .book-block.compact{justify-content:center}.bkapp .book-block .bnm{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:11px;font-weight:700;overflow:hidden}.bkapp .book-block .btm{color:var(--muted);font-size:9px;font-family:var(--mono);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;margin-top:auto;display:flex}.bkapp .note-flag{opacity:.85;pointer-events:none;font-size:9px;line-height:1;position:absolute;top:3px;right:5px}.bkapp .book-block .bnote{color:var(--ink-2);opacity:.85;white-space:normal;-webkit-box-orient:vertical;flex-shrink:0;font-size:9.5px;font-weight:500;line-height:12px;display:-webkit-box;overflow:hidden}.bkapp .stpill{letter-spacing:.3px;text-transform:uppercase;color:#fff;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.bkapp .book-block.st-invitation{background:var(--stat-invitation);border-left-color:var(--stat-invitation)}.bkapp .book-block.st-waiting_approval{background:repeating-linear-gradient(135deg,var(--stat-waiting),var(--stat-waiting) 7px,#ffffff73 7px,#ffffff73 14px);border-left-color:var(--stat-waiting);outline-offset:-3px;outline:1px dashed #00000047}.bkapp .book-block.st-waiting_list{background:repeating-linear-gradient(135deg,var(--stat-waiting_list),var(--stat-waiting_list) 7px,#ffffff80 7px,#ffffff80 14px);border-left-color:var(--stat-waiting_list);outline-offset:-3px;outline:1px dashed #00000047}.bkapp .book-block.st-booked{background:var(--stat-booked);border-left-color:var(--stat-booked)}.bkapp .book-block.st-reminded{background:var(--stat-reminded);border-left-color:var(--stat-reminded)}.bkapp .book-block.st-confirmed{background:var(--stat-confirmed);border-left-color:var(--stat-confirmed)}.bkapp .book-block.st-arrived{background:var(--stat-arrived);border-left-color:var(--stat-arrived)}.bkapp .book-block.st-billed{background:var(--stat-billed);border-left-color:var(--stat-billed)}.bkapp .book-block.st-late{background:var(--stat-late);border-left-color:var(--stat-late);animation:1.4s ease-in-out infinite latepulse}.bkapp .book-block.st-noshow{background:var(--stat-noshow);border-left-color:var(--stat-noshow)}.bkapp .book-block.st-booked .bnm,.bkapp .book-block.st-confirmed .bnm,.bkapp .book-block.st-arrived .bnm,.bkapp .book-block.st-billed .bnm,.bkapp .book-block.st-noshow .bnm{color:#fff}.bkapp .book-block.st-booked .btm,.bkapp .book-block.st-confirmed .btm,.bkapp .book-block.st-arrived .btm,.bkapp .book-block.st-billed .btm,.bkapp .book-block.st-noshow .btm{color:#ffffffd9}.bkapp .book-block.st-booked .bnote,.bkapp .book-block.st-confirmed .bnote,.bkapp .book-block.st-arrived .bnote,.bkapp .book-block.st-billed .bnote,.bkapp .book-block.st-noshow .bnote{color:#ffffffe6}.bkapp .book-block.st-cancelled{border-left-color:var(--line-strong);opacity:.7;background:repeating-linear-gradient(135deg,#f3f4f7,#f3f4f7 6px,#eaecf0 6px 12px)}.bkapp .book-block.st-cancelled .bnm{text-decoration:line-through}@keyframes latepulse{0%,to{box-shadow:0 0 #ff96dc80}50%{box-shadow:0 0 0 5px #ff96dc00}}.bkapp .dot.invitation{background:var(--stat-invitation)}.bkapp .dot.waiting_approval{background:var(--stat-waiting)}.bkapp .dot.waiting_list{background:var(--stat-waiting_list)}.bkapp .dot.booked{background:var(--stat-booked)}.bkapp .dot.reminded{background:var(--stat-reminded)}.bkapp .dot.confirmed{background:var(--stat-confirmed)}.bkapp .dot.arrived{background:var(--stat-arrived)}.bkapp .dot.billed{background:var(--stat-billed)}.bkapp .dot.late{background:var(--stat-late)}.bkapp .dot.noshow{background:var(--stat-noshow)}.bkapp .dot.cancelled{background:var(--muted)}.bkapp .overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#1418286b;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.bkapp .overlay.open{display:flex}.bkapp #simOverlay,.bkapp #sendMsgOverlay,.bkapp #delConfirmOverlay,.bkapp #delLogOverlay{z-index:60}.bkapp .modal{box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;flex-direction:column;max-height:calc(100vh - 40px);display:flex;overflow:hidden}.bkapp .m-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.bkapp .m-head h2{font-size:15px;font-weight:600}.bkapp .m-head h2 span{color:var(--muted);font-size:12.5px;font-weight:500}.bkapp .m-close{width:30px;height:30px;color:var(--muted);background:0 0;border:none;border-radius:8px;place-items:center;font-size:18px;display:grid}.bkapp .m-close:hover{background:var(--surface-2);color:var(--ink)}.bkapp .m-foot{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding:14px 22px;display:flex}.bkapp .m-confirm{background:var(--primary);color:#fff;border:none;border-radius:10px;min-width:90px;height:40px;padding:0 22px;font-size:13px;font-weight:600}.bkapp .m-confirm:disabled{opacity:.45;cursor:not-allowed}.bkapp .m-confirm:hover{background:var(--primary-d)}.bkapp .m-confirm.ghost{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line-strong)}.bkapp .m-confirm.rose-solid{background:var(--rose)}.bkapp .m-confirm.rose-solid:hover{background:#c01f1f}.bkapp .m-confirm.pos-btn{background:var(--primary-soft);color:var(--primary);justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.bkapp .m-confirm.pos-btn:hover{background:#e0deff}.bkapp .m-confirm.pos-btn.disabled{opacity:.45;pointer-events:none}.bkapp .modal.appt,.bkapp .modal.bdetail{width:min(640px,96vw);max-height:92vh}.bkapp .modal.sim{width:min(420px,94vw)}.bkapp .appt-body,.bkapp .step-body{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px 22px;display:flex;overflow-y:auto}.bkapp .fld{flex-direction:column;gap:6px;display:flex}.bkapp .fld>label{color:var(--ink-2);font-size:11.5px;font-weight:600}.bkapp .req{color:var(--rose);margin-left:2px;font-size:11px}.bkapp .row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.bkapp .row-datetime{align-items:flex-start;gap:14px;display:flex}.bkapp .row-datetime .dt-date{flex:0 0 150px}.bkapp .row-datetime .dt-time{flex:1;min-width:0}.bkapp .sel-field,.bkapp .d-text{border:1px solid var(--line-strong);width:100%;height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:0 12px;font-size:13px}.bkapp .sel-field:focus,.bkapp .d-text:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.bkapp .time-range{align-items:center;gap:10px;display:flex}.bkapp .time-range input[type=time]{border:1px solid var(--line-strong);height:42px;font-family:var(--mono);background:#fff;border-radius:9px;flex:1;padding:0 12px;font-size:13px}.bkapp .time-range input[type=time]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.bkapp .time-range .arrow{color:var(--faint);flex-shrink:0}.bkapp .dur-badge{font-family:var(--mono);color:var(--primary);background:var(--primary-soft);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.bkapp .dur-badge.bad{color:var(--rose);background:var(--rose-soft)}.bkapp .d-note{border:1px solid var(--line-strong);resize:vertical;border-radius:9px;width:100%;min-height:60px;padding:9px 12px;font-size:13px}.bkapp .d-note:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.bkapp .combo-wrap{position:relative}.bkapp .combo-wrap .clr{width:24px;height:24px;color:var(--faint);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.bkapp .combo-wrap.picked .clr{display:flex}.bkapp .combo-panel{border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:20;background:#fff;border-radius:10px;max-height:260px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.bkapp .combo-panel.open{display:block}.bkapp .combo-item{cursor:pointer;align-items:center;gap:9px;padding:9px 12px;display:flex}.bkapp .combo-item:hover{background:var(--primary-soft)}.bkapp .combo-item .cr-av{background:var(--primary-soft);width:28px;height:28px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.bkapp .combo-item .cr-nm{font-size:12.5px;font-weight:600}.bkapp .combo-item .cr-mt{color:var(--muted);font-size:10.5px;font-family:var(--mono)}.bkapp .combo-walkin{border-bottom:1px solid var(--line);color:var(--primary);font-weight:600}.bkapp .combo-none{text-align:center;color:var(--faint);padding:14px;font-size:12px}.bkapp .tier{letter-spacing:.4px;color:#fff;background:linear-gradient(135deg,#b8860b,#e0a000);border-radius:5px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700}.bkapp .notify-box{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:12px;padding:12px 14px;display:flex}.bkapp .notify-title{text-transform:uppercase;letter-spacing:.6px;color:var(--faint);font-size:10px;font-weight:700}.bkapp .status-banner{border-radius:9px;align-items:center;gap:9px;padding:11px 14px;font-size:14px;font-weight:700;display:flex}.bkapp .d-readbar{flex-shrink:0;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;row-gap:10px;display:grid}.bkapp .d-readbar>div{background:var(--surface-2);border:1px solid var(--line);flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:13px 18px;display:flex}.bkapp .d-readbar>div:nth-child(odd){border-right:none;border-radius:10px 0 0 10px}.bkapp .d-readbar>div:nth-child(2n){border-radius:0 10px 10px 0}.bkapp .d-readbar .dk{color:var(--faint);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.bkapp .d-readbar .dv{font-family:var(--mono);white-space:normal;overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.45}.bkapp .sess-meta{align-items:center;gap:11px;display:flex}.bkapp .sess-meta .av{width:36px;height:36px;color:var(--primary);background:#eef0fb;border-radius:9px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.bkapp .sess-meta .info{flex:1;min-width:0}.bkapp .sess-meta .nm{font-size:13px;font-weight:600;line-height:1.2}.bkapp .sess-meta .mt{color:var(--muted);font-size:10.5px;font-family:var(--mono);margin-top:2px}.bkapp .pending-box{background:var(--orange-soft);border:1px solid var(--orange);border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.bkapp .pending-box .pk{color:var(--orange);text-transform:uppercase;letter-spacing:.5px;font-size:10.5px;font-weight:700}.bkapp .pending-box .pv{font-family:var(--mono);color:var(--ink);font-size:13px;font-weight:600}.bkapp .detail-actions{flex-wrap:wrap;gap:8px;display:flex}.bkapp .action-group{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.bkapp .action-group:last-child{margin-bottom:0}.bkapp .mark-pill.stpill{letter-spacing:.2px;text-transform:none;cursor:pointer;border:2px solid #0000;border-radius:7px;padding:7px 13px;font-size:11px;font-weight:700;transition:all .12s}.bkapp .mark-pill.stpill:disabled{cursor:default;opacity:.32;filter:grayscale(.4)}.bkapp .mark-pill.stpill.current{cursor:default;border-color:#000}.bkapp .mark-pill.stpill:hover:not(:disabled):not(.current){filter:brightness(1.08)}.bkapp .dbtn.sel-btn{cursor:pointer;border-width:2px}.bkapp .dbtn.sel-btn.selected{border-color:#000}.bkapp .mark-pill.stpill.sel-btn{cursor:pointer;opacity:1;filter:none}.bkapp .mark-pill.stpill.sel-btn:hover:not(.current){filter:brightness(1.08)}.bkapp .dbtn{border:1px solid var(--line-strong);height:38px;color:var(--ink-2);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:0 15px;font-size:12.5px;font-weight:600;display:flex}.bkapp .dbtn:hover{background:var(--surface-2)}.bkapp .dbtn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.bkapp .dbtn.primary:hover{background:var(--primary-d)}.bkapp .dbtn.green{background:var(--green-soft);color:var(--green);border-color:#0000}.bkapp .dbtn.violet{background:var(--violet-soft);color:var(--violet);border-color:#0000}.bkapp .dbtn.rose{background:var(--rose-soft);color:var(--rose);border-color:#0000}.bkapp .dbtn.rose-outline{color:var(--rose);border-color:var(--rose);background:#fff}.bkapp .dbtn.rose-outline:hover{background:var(--rose-soft)}.bkapp .dbtn.cyan{background:var(--cyan-soft);color:var(--cyan);border-color:#0000}.bkapp .sec-title{text-transform:uppercase;letter-spacing:.7px;color:var(--faint);margin-bottom:10px;font-size:10px;font-weight:700}.bkapp .note-txt{color:var(--ink-2);font-size:12.5px;line-height:1.5}.bkapp .sim-link-card{background:var(--surface-2);border:1px dashed var(--line-strong);font-family:var(--mono);color:var(--muted);word-break:break-all;border-radius:10px;padding:10px 12px;font-size:11px}.bkapp .sim-appt-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.bkapp .sim-appt-card .svc{font-size:15px;font-weight:700}.bkapp .sim-appt-card .mt{color:var(--muted);font-size:12px;font-family:var(--mono)}.bkapp .sim-actions{gap:10px;display:flex}.bkapp .sim-btn{border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;height:44px;font-size:13px;font-weight:700;display:flex}.bkapp .sim-btn.accept{background:var(--green);color:#fff}.bkapp .sim-btn.accept:hover{background:#0c8a5f}.bkapp .sim-btn.resched{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line-strong)}.bkapp .sim-btn.resched:hover{background:#eef0f3}.bkapp ::-webkit-scrollbar{width:9px;height:9px}.bkapp ::-webkit-scrollbar-thumb{background:#cdd2dc padding-box padding-box;border:2px solid #0000;border-radius:6px}.bkapp ::-webkit-scrollbar-thumb:hover{background:#b4bbc7 padding-box padding-box}@media (width<=1400px){.bkapp .cal-colhead{min-width:132px}}@media (width<=820px){.bkapp .topbar{height:auto}.bkapp .datenav{margin-left:0;padding-left:8px}.bkapp .nowctrl{margin-left:8px}.bkapp .bsearch{min-width:140px}}@media (width<=560px){.bkapp .app{gap:8px;padding:6px}.bkapp .topbar{flex-wrap:wrap;gap:8px 10px;padding:7px 10px}.bkapp .cashier,.bkapp .nowctrl{display:none}.bkapp .datenav{border-left:none;margin-left:0;padding-left:0}.bkapp .modal.appt,.bkapp .modal.bdetail{width:96vw;max-height:90vh}.bkapp .row2,.bkapp .d-readbar{grid-template-columns:1fr}.bkapp .d-readbar>div:nth-child(2n){border-left:none}.bkapp .d-readbar>div:nth-child(n+2){border-top:1px solid var(--line)}.bkapp .row-datetime{flex-direction:column}.bkapp .row-datetime .dt-date{flex:none}.bkapp .m-head{padding:12px 14px}.bkapp .m-foot{flex-wrap:wrap;padding:10px 14px}.bkapp .appt-body,.bkapp .step-body{padding:14px}}.bkapp button:focus-visible,.bkapp select:focus-visible{box-shadow:0 0 0 3px var(--primary-soft);outline:none}.bkapp input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.bkapp .sim-optout{text-align:center;color:var(--faint);cursor:pointer;margin-top:2px;font-size:11px;text-decoration:underline}.bkapp .sim-optout:hover{color:var(--muted)}.bkapp .sim-optout-note{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);text-align:center;border-radius:10px;padding:10px 12px;font-size:11.5px}.bkapp .app-toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);z-index:200;opacity:0;pointer-events:none;border-radius:11px;padding:11px 18px;font-size:12.5px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(12px)}.bkapp .app-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.bkapp .tbtn-wait{border-color:var(--amber,#c2730b);color:var(--amber,#c2730b);background:#fff8ec}.bkapp .wait-n{background:var(--amber,#c2730b);color:#fff;text-align:center;border-radius:9px;min-width:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;display:inline-block}.bkapp .wait-card{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:12px 14px}.bkapp .wait-card .sess-meta{align-items:flex-start;gap:11px;margin-bottom:10px;display:flex}.bkapp .wait-card .av{color:#5547e8;background:#eef0fe;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.bkapp .wait-card .info{flex:1;min-width:0}.bkapp .wait-card .nm{font-size:13.5px;font-weight:600}.bkapp .wait-card .mt{color:var(--muted);margin-top:2px;font-size:11.5px}.bkapp .wait-kind{letter-spacing:.3px;color:#5547e8;background:#eef0fe;border-radius:6px;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.bkapp .wait-kind.resched{color:var(--amber,#c2730b);background:#fff8ec}.bkapp .book-block .broom{font-family:var(--font);white-space:nowrap;text-overflow:ellipsis;background:#00000014;border-radius:4px;max-width:100%;padding:0 5px;font-weight:600;overflow:hidden}.bkapp .book-block.st-booked .broom,.bkapp .book-block.st-confirmed .broom,.bkapp .book-block.st-arrived .broom,.bkapp .book-block.st-billed .broom,.bkapp .book-block.st-noshow .broom{color:#fff;background:#ffffff38}.bkapp .book-gap{z-index:2;pointer-events:none;background:repeating-linear-gradient(135deg,#94a3b84d,#94a3b84d 4px,#94a3b81a 4px 8px);border:1px solid #94a3b859;border-top:0;border-radius:0 0 8px 8px;position:absolute}.bkapp .summary-col{flex-direction:column;flex-shrink:0;gap:10px;width:300px;display:flex;overflow-y:auto}.bkapp .sum-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:12px}.bkapp .sum-trays{flex-direction:column;gap:8px;display:flex}.bkapp .sum-stats{gap:8px;display:flex}.bkapp .sum-stat{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex:1;min-width:0;padding:10px 12px}.bkapp .sum-stat .k{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.bkapp .sum-stat .v{font-size:22px;font-weight:700;font-family:var(--mono,ui-monospace);margin-top:2px}.bkapp .sum-stat .v.accent{color:var(--primary)}.bkapp .sum-head{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;padding:2px 2px 8px;font-size:10.5px;font-weight:700;display:flex}.bkapp .sum-list{flex-direction:column;gap:6px;display:flex}.bkapp .sum-row{background:var(--surface-2);cursor:pointer;text-align:left;width:100%;font:inherit;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.bkapp .sum-row:hover{border-color:var(--line-strong);background:#fff}.bkapp .sum-row .tm{font-size:12px;font-weight:700;font-family:var(--mono,ui-monospace);color:var(--ink);flex-shrink:0;width:44px}.bkapp .sum-row .who{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.bkapp .sum-row .who .n{max-width:100%;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;display:block;overflow:hidden}.bkapp .sum-row .who .s{max-width:100%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.bkapp .sum-row .stpill{flex-shrink:0}.bkapp .sum-empty{color:var(--faint);text-align:center;padding:16px 6px;font-size:12px}.bkapp .sum-modes{gap:6px;display:flex}.bkapp .sum-modes button{border:1px solid var(--line-strong);height:32px;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:9px;flex:1;font-size:12px;font-weight:600}.bkapp .sum-modes button.on{background:var(--primary);border-color:var(--primary);color:#fff}.bkapp .sum-modes .today{color:var(--muted);flex:none;padding:0 12px}.bkapp .sum-modes .today:hover{color:var(--ink);border-color:var(--ink-2)}.bkapp .sum-trayrow{gap:6px;display:flex}.bkapp .sum-trayrow>*{text-align:center;flex:1 1 0;justify-content:center;min-width:0}.bkapp .mgrid{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;flex:1;padding:12px;display:flex;overflow:auto}.bkapp .mgrid-wd{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;display:grid}.bkapp .mgrid-wd div{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;font-size:10.5px;font-weight:700}.bkapp .mgrid-days{flex:1;grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.bkapp .mcell{background:var(--surface-2);cursor:pointer;text-align:left;font:inherit;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:4px;min-height:72px;padding:8px 10px;display:flex}.bkapp .mcell:hover{border-color:var(--line-strong)}.bkapp .mcell.out{opacity:.45}.bkapp .mcell.sel{background:var(--primary);color:#fff}.bkapp .mcell .dnum{font-size:13px;font-weight:700;font-family:var(--mono,ui-monospace)}.bkapp .mcell .cnt{background:var(--primary-soft);color:var(--primary);border-radius:6px;align-self:flex-start;padding:1px 7px;font-size:11px;font-weight:700}.bkapp .mcell.sel .cnt{color:#fff;background:#ffffff38}@media (width<=1100px){.bkapp .summary-col{width:100%}}.bkapp .fld>label.lbl-row{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;display:flex}.bkapp .lbl-act{cursor:pointer;color:var(--primary);background:0 0;border:none;padding:0;font-family:inherit;font-size:11.5px;font-weight:700}.bkapp .lbl-act:hover{text-decoration:underline}.bkapp .combo-none .lbl-act{margin-top:8px}.bkbranch{color:var(--muted,#737a89);border-left:1px solid var(--line,#e8eaef);flex-shrink:0;align-items:center;gap:6px;margin-left:4px;padding-left:12px;font-size:11.5px;display:flex}.bkbranch>span{letter-spacing:.02em;text-transform:uppercase;font-size:10px;font-weight:600}.bkbranch select{border:1px solid var(--line,#e3e6ec);color:var(--ink,#1f2430);cursor:pointer;background:#fff;border-radius:8px;max-width:160px;padding:3px 8px;font-size:12px;font-weight:600}.bkbranch em{color:var(--ccs-primary,#2e46e8);white-space:nowrap;background:#2e46e814;border-radius:999px;padding:2px 8px;font-size:10.5px;font-style:normal;font-weight:700}.invapp{--bg:#eef0f4;--surface:#fff;--surface-2:#f7f8fa;--ink:#191c24;--ink-2:#3b4150;--muted:#737a89;--faint:#9aa1b0;--line:#e3e6ec;--line-strong:#d3d8e0;--primary:#5547e8;--primary-d:#4438c9;--primary-soft:#ecebfd;--green:#0e9f6e;--green-soft:#e3f6ee;--blue:#2563eb;--blue-soft:#e6efff;--violet:#7c3aed;--violet-soft:#f0e9ff;--amber:#c2730b;--amber-soft:#fcf0db;--rose:#e02424;--rose-soft:#fde7e7;--teal:#0f9488;--teal-soft:#d6f3ef;--orange:#dd6b1f;--orange-soft:#fce8d6;--pink:#c72d84;--pink-soft:#fbe3f0;--cyan:#0e7fa8;--cyan-soft:#d7edf6;--mono:"JetBrains Mono",ui-monospace,monospace;--ui:"Inter",system-ui,-apple-system,sans-serif;--shadow:0 1px 2px #1418280d,0 1px 3px #1418280f;--shadow-lg:0 12px 40px #14182829}.invapp *{box-sizing:border-box;margin:0;padding:0}.invapp,.invapp{height:100%}.invapp{font-family:var(--ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.4}.invapp button{cursor:pointer;font-family:inherit}.invapp input,.invapp select,.invapp textarea{font-family:inherit}.invapp .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.invapp .app{height:100vh;padding:var(--ccs-shell-gap,10px) var(--ccs-shell-pad-x,10px);gap:var(--ccs-shell-gap,10px);flex-direction:column;display:flex}.invapp .topbar{background:var(--surface);border:1px solid var(--line);padding:var(--ccs-topbar-vpad,8px) 14px;box-shadow:var(--shadow);height:var(--ccs-topbar-h,58px);border-radius:12px;flex-shrink:0;align-items:center;gap:14px;display:flex}.invapp .brand{align-items:center;gap:10px;display:flex}.invapp .logo{background:linear-gradient(135deg,var(--ccs-primary,var(--primary)),#8b7cff);color:#fff;letter-spacing:-.5px;border-radius:9px;place-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:grid}.invapp .brand .name{font-size:14px;font-weight:600;line-height:1.1}.invapp .brand .branch{color:var(--muted);align-items:center;gap:5px;margin-top:2px;font-size:11px;display:flex}.invapp .branch .dot{background:var(--green);border-radius:50%;width:6px;height:6px}.invapp .inv{border-left:1px solid var(--line);align-items:center;gap:18px;margin-left:6px;padding-left:18px;display:flex}.invapp .inv .k{color:var(--faint);text-transform:uppercase;letter-spacing:.6px;font-size:10px}.invapp .inv .v{font-size:13px;font-weight:600;font-family:var(--mono)}.invapp .spacer{flex:1}.invapp .pill-btn{border:1px solid var(--line-strong);background:var(--surface);height:38px;color:var(--ink-2);border-radius:9px;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:500;display:flex;position:relative}.invapp .pill-btn:hover{background:var(--surface-2)}.invapp .badge{background:var(--amber-soft);color:var(--amber);font-size:11px;font-weight:700;font-family:var(--mono);border-radius:6px;padding:1px 6px}.invapp .cashier{border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:14px;display:flex}.invapp .cashier .av{color:#c2410c;background:#ffe4d4;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.invapp .cashier .t{font-size:12px;font-weight:600;line-height:1.1}.invapp .cashier .s{color:var(--muted);font-size:10px}.invapp .tabbar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-shrink:0;padding:13px 14px}.invapp .tabs{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;gap:0;display:flex;overflow:hidden}.invapp .tab{appearance:none;letter-spacing:-.1px;min-width:0;min-height:44px;color:var(--muted);border:none;border-right:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;flex:1 1 0;justify-content:center;align-items:center;gap:7px;padding:11px 8px;font-size:12.5px;font-weight:600;display:flex;position:relative;overflow:hidden}.invapp .tab:last-child{border-right:none}.invapp .tab.active{color:var(--primary);background:var(--primary-soft)}.invapp .tab .badge{background:var(--surface);color:var(--muted)}.invapp .tab.active .badge{color:var(--primary-d);background:#fff}.invapp .subtabs{min-width:0;margin-top:0}.invapp .subtabs .tabs{background:0 0;border:none;gap:6px;width:fit-content}.invapp .subtabs .tab{border:1px solid var(--line-strong);border-radius:8px;flex:none;min-height:40px;padding:9px 15px}.invapp .subtabs .tab.active{border-color:var(--primary)}.invapp .view{flex-direction:column;flex:1;gap:10px;min-height:0;display:none}.invapp .view.active{display:flex}.invapp .panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;flex:1;display:flex;overflow:hidden}.invapp .panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:13px 16px;display:flex}.invapp .panel-head .hint{text-align:right;flex:1}.invapp .panel-body{flex:1;padding:14px 16px;overflow-y:auto}.invapp .list-col{flex-direction:column;gap:10px;display:flex}.invapp .sess-card{border:1px solid var(--line);border-radius:11px;padding:13px 14px}.invapp .sess-card.selectable{cursor:pointer}.invapp .sess-card.selectable:hover{border-color:var(--blue)}.invapp .sess-card.done{opacity:.6;background:var(--surface-2);cursor:not-allowed}.invapp .sess-line{align-items:center;gap:8px;display:flex}.invapp .sess-meta{align-items:center;gap:11px;display:flex}.invapp .sess-meta .av{width:36px;height:36px;color:var(--primary);background:#eef0fb;border-radius:9px;flex-shrink:0;place-items:center;font-size:15px;font-weight:700;display:grid;position:relative}.invapp .disc-badge{background:var(--rose);color:#fff;text-align:center;border:2px solid var(--surface,#fff);border-radius:50%;width:15px;height:15px;font-size:10px;font-weight:800;line-height:15px;position:absolute;top:-5px;right:-5px}.invapp .disc-badge-inline{background:var(--rose);color:#fff;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:5px;font-size:9px;font-weight:800;display:inline-flex}.invapp .sess-meta.kv .av{background:var(--amber-soft);color:var(--amber)}.invapp .sess-meta.cs .av{background:var(--blue-soft);color:var(--blue)}.invapp .sess-meta.du .av{background:var(--rose-soft);color:var(--rose)}.invapp .sess-meta.ok .av{background:var(--green-soft);color:var(--green)}.invapp .sess-meta .info{flex:1;min-width:0}.invapp .sess-meta .nm{font-size:13px;font-weight:600;line-height:1.2}.invapp .sess-meta .mt{color:var(--muted);font-size:10.5px;font-family:var(--mono);margin-top:3px}.invapp .sess-meta .big-tag{font-family:var(--mono);font-size:15px;font-weight:700}.invapp .sess-meta .big-tag.due{color:var(--rose)}.invapp .sess-empty{color:var(--faint);text-align:center;padding:34px 10px;font-size:12px}.invapp .chev{color:var(--faint);flex-shrink:0}.invapp .kbadge{letter-spacing:.4px;white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:9px;font-weight:700}.invapp .kbadge.dep{background:var(--green-soft);color:var(--green)}.invapp .kbadge.kiv{background:var(--amber-soft);color:var(--amber)}.invapp .kbadge.crs{background:var(--blue-soft);color:var(--blue)}.invapp .kbadge.due{background:var(--rose-soft);color:var(--rose)}.invapp .kbadge.approved{background:var(--blue-soft);color:var(--blue)}.invapp .kbadge.arrived{background:var(--amber-soft);color:var(--amber)}.invapp .kbadge.partial{background:var(--orange-soft);color:var(--orange)}.invapp .kbadge.completed{background:var(--green-soft);color:var(--green)}.invapp .kbadge.intransit{background:var(--violet-soft);color:var(--violet)}.invapp .kbadge.requested{background:var(--cyan-soft);color:var(--cyan)}.invapp .kbadge.discrepancy{background:var(--rose-soft);color:var(--rose)}.invapp .kbadge.matched{background:var(--green-soft);color:var(--green)}.invapp .kbadge.variance{background:var(--amber-soft);color:var(--amber)}.invapp .kbadge.adjusted{background:var(--teal-soft);color:var(--teal)}.invapp .btn{border:1px solid var(--line-strong);height:38px;color:var(--ink-2);background:#fff;border-radius:9px;align-items:center;gap:7px;padding:0 15px;font-size:12.5px;font-weight:600;display:inline-flex}.invapp .btn:hover{background:var(--surface-2)}.invapp .btn.primary{background:var(--primary);color:#fff;border:none}.invapp .btn.primary:hover{background:var(--primary-d)}.invapp .btn:disabled{opacity:.45;cursor:not-allowed}.invapp table.grid{border-collapse:collapse;width:100%;font-size:12px}.invapp table.grid thead th{z-index:2;background:var(--surface-2);text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:8px 10px;font-size:10px;font-weight:600;position:sticky;top:0}.invapp table.grid th.num,.invapp table.grid td.num{text-align:right}.invapp table.grid tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:0}.invapp table.grid tbody tr:last-child td{border-bottom:none}.invapp table.grid tbody tr:hover{background:#fafbff}.invapp .cell{align-items:center;min-height:50px;padding:10px;display:flex}.invapp .cell.num{font-family:var(--mono);font-variant-numeric:tabular-nums;justify-content:flex-end}.invapp .code{font-family:var(--mono);color:var(--ink-2);font-size:11.5px}.invapp .desc{color:var(--ink);font-weight:500;display:block}.invapp .sub{color:var(--faint);margin-top:2px;font-size:10.5px}.invapp .qstep{border:1px solid var(--line-strong);background:#fff;border-radius:9px;align-items:center;height:40px;display:inline-flex;overflow:hidden}.invapp .qstep-btn{width:38px;height:38px;color:var(--ink-2);background:#fff;border:none;flex-shrink:0;place-items:center;font-size:19px;line-height:1;display:grid}.invapp .qstep-btn:hover{background:var(--surface-2);color:var(--primary)}.invapp .qstep-btn:active{background:var(--primary-soft)}.invapp .qty-in{border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;width:58px;height:38px;font-family:var(--mono);background:0 0;padding:0;font-size:14px;font-weight:600}.invapp .qty-in:focus{background:var(--primary-soft);outline:none}.invapp .ma-qty-plain{text-align:center;font-family:var(--mono);font-weight:600}.invapp .ma-qty-plain:focus{border-color:var(--primary);background:var(--primary-soft);outline:none}.invapp .fpill{letter-spacing:.4px;border-radius:4px;padding:1px 5px;font-size:8.5px;font-weight:700}.invapp .fpill.over{background:var(--orange-soft);color:var(--orange)}.invapp .fpill.short{background:var(--rose-soft);color:var(--rose)}.invapp .fpill.ok{background:var(--green-soft);color:var(--green)}.invapp .overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#1418286b;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.invapp .overlay.open{display:flex}.invapp .modal{box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.invapp .m-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.invapp .m-head h2{font-size:15px;font-weight:600}.invapp .m-head h2 span{color:var(--muted);font-weight:500}.invapp .m-close{width:36px;height:36px;color:var(--muted);background:0 0;border:none;border-radius:8px;place-items:center;font-size:18px;display:grid}.invapp .m-close:hover{background:var(--surface-2);color:var(--ink)}.invapp .m-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 22px;display:flex}.invapp .m-confirm{background:var(--primary);color:#fff;border:none;border-radius:10px;min-width:120px;height:44px;padding:0 24px;font-size:13px;font-weight:600}.invapp .m-confirm:disabled{opacity:.45;cursor:not-allowed}.invapp .m-confirm:hover{background:var(--primary-d)}.invapp .m-confirm.sm{border-radius:9px;min-width:96px;height:40px;padding:0 16px;font-size:12px}.invapp .m-confirm.ghost{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line-strong)}.invapp .m-confirm.danger{background:var(--rose)}.invapp .m-confirm.danger:hover{background:#c31c1c}.invapp .d-body{padding:16px 22px;overflow-y:auto}.invapp .d-readbar{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr 1fr 1fr;margin-bottom:14px;display:grid;overflow:hidden}.invapp .d-readbar>div{flex-direction:column;gap:3px;padding:11px 14px;display:flex}.invapp .d-readbar>div+div{border-left:1px solid var(--line)}.invapp .d-readbar .dk{color:var(--faint);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.invapp .d-readbar .dv{font-family:var(--mono);font-size:13px;font-weight:600}.invapp .modal.narrow{width:min(400px,94vw);max-height:80vh}.invapp .modal.detail{width:min(560px,96vw);max-height:92vh}.invapp .modal.session{width:min(660px,96vw);max-height:90vh}.invapp .modal.wide{width:min(820px,96vw);max-height:92vh}.invapp .sess-body{flex-direction:column;gap:13px;padding:18px 22px;display:flex;overflow-y:auto}.invapp .fld{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.invapp .fld>label{color:var(--muted);align-items:center;font-size:11px;font-weight:500;display:flex}.invapp .req{color:var(--rose);margin-left:5px;font-size:10px;font-weight:600}.invapp .d-text{border:1px solid var(--line-strong);background:#fff;border-radius:9px;width:100%;height:40px;padding:0 12px;font-size:13px}.invapp .d-text:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.invapp .d-note{border:1px solid var(--line-strong);resize:vertical;border-radius:9px;width:100%;min-height:64px;padding:9px 12px;font-size:13px}.invapp .d-note:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.invapp .policy-warn{color:var(--rose);margin-top:6px;font-size:11px;font-weight:500;display:none}.invapp .policy-warn.show{display:block}.invapp .policy-ok{color:var(--green);margin-top:6px;font-size:11px;font-weight:500;display:none}.invapp .policy-ok.show{display:block}.invapp .hint{color:var(--faint);font-size:10.5px}.invapp .note-box{border-radius:9px;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px 12px;font-size:11.5px;line-height:1.5;display:flex}.invapp .note-box.info{background:var(--blue-soft);color:#1d4ed8}.invapp .note-box.warn{background:var(--amber-soft);color:var(--amber)}.invapp .note-box.good{background:var(--green-soft);color:var(--green)}.invapp .addline{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.invapp .addline .fld{flex:220px;min-width:180px;margin-bottom:0}.invapp .addline .qty-fld{flex:none;margin-bottom:0}.invapp .addline .btn{flex-shrink:0;height:38px;padding:0 20px}.invapp .addline select.d-text,.invapp .addline input.d-text,.invapp .addline .ccs-date.d-text{height:38px}.invapp .ssel-wrap{width:100%;position:relative}.invapp .ssel-input{cursor:text}.invapp .ssel-dropdown{background:var(--surface);border:1px solid var(--line-strong);z-index:60;border-radius:9px;max-height:230px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #14182824}.invapp .ssel-dropdown.show{display:block}.invapp .ssel-opt{cursor:pointer;color:var(--ink-2);padding:8px 12px;font-size:12.5px}.invapp .ssel-opt:hover,.invapp .ssel-opt.hi{background:var(--primary-soft);color:var(--primary-d)}.invapp .ssel-empty{color:var(--faint);padding:9px 12px;font-size:12px;font-style:italic}.invapp .pickline{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;display:flex}.invapp .pickline .code{flex-shrink:0;width:56px}.invapp .pickline .nm2{flex:1;font-size:12px}.invapp .pickline .onhand{color:var(--muted);font-size:10.5px;font-family:var(--mono)}.invapp .pickline .del{width:26px;height:26px;color:var(--faint);background:0 0;border:none;border-radius:7px;flex-shrink:0;place-items:center;display:grid}.invapp .pickline .del:hover{background:var(--rose-soft);color:var(--rose)}.invapp .stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.invapp .stat-box{text-align:center;border-radius:9px;padding:10px}.invapp .stat-box .n{font-family:var(--mono);font-size:15px;font-weight:700}.invapp .stat-box .l{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:9.5px}.invapp .ma-wrap{max-width:680px;margin:0 auto}.invapp .ma-card{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:22px 24px}.invapp .ma-card .note-box{margin-bottom:16px}.invapp .ma-section+.ma-section{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.invapp .ma-row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.invapp .ma-row2 .fld{margin-bottom:0}.invapp .ma-qty-block{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.invapp .ma-qty-block .fld{flex-shrink:0;margin-bottom:0}.invapp .ma-foot{justify-content:flex-end;margin-top:18px;display:flex}@media (width<=560px){.invapp .ma-row2{grid-template-columns:1fr}.invapp .ma-card{padding:16px}}.invapp .history-grid{grid-template-columns:repeat(auto-fill,minmax(240px,300px));justify-content:start;gap:10px;display:grid}.invapp .catchips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.invapp .catchip{border:1px solid var(--line-strong);height:34px;color:var(--ink-2);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:11.5px;font-weight:600;display:inline-flex}.invapp .catchip:hover{background:var(--surface-2)}.invapp .catchip .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.invapp .catchip .n{font-family:var(--mono);color:var(--faint);font-weight:600}.invapp .catchip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-d)}.invapp .catchip.active .n{color:var(--primary-d)}.invapp .log-dir{white-space:nowrap;font-size:10.5px;font-weight:700}.invapp .adjtbl{border-collapse:collapse;width:100%;font-size:11.5px}.invapp .adjtbl th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--faint);border-bottom:1px solid var(--line-strong);padding:8px 9px;font-size:9.5px}.invapp .adjtbl td{border-bottom:1px solid var(--line);padding:9px}.invapp .adjtbl tr:hover td{background:var(--surface-2)}.invapp .adjtbl .num{font-family:var(--mono);text-align:right}.invapp .adjtbl .num.neg{color:var(--rose);font-weight:700}.invapp .adjtbl .num.pos{color:var(--green);font-weight:700}.invapp .toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:80;border-radius:10px;padding:11px 20px;font-size:12.5px;font-weight:600;transition:all .22s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.invapp .toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=1180px){.invapp .d-readbar{grid-template-columns:1fr 1fr}.invapp .inv{gap:12px}}@media (width<=900px){.invapp .inv,.invapp .cashier .t,.invapp .cashier .s{display:none}.invapp .history-grid{grid-template-columns:1fr 1fr}.invapp .panel-head{gap:10px}.invapp .panel-head .hint{text-align:left;flex-basis:100%;order:3}.invapp table.grid thead th{padding:7px 6px;font-size:9px}.invapp .cell{min-height:46px;padding:8px 6px}.invapp .qstep{height:44px}.invapp .qstep-btn{width:42px;height:42px;font-size:21px}.invapp .qty-in{width:52px;height:42px;font-size:15px}.invapp .d-readbar{grid-template-columns:1fr 1fr}}@media (width<=560px){.invapp .app{gap:8px;padding:6px}.invapp .topbar{flex-wrap:wrap;height:auto;padding:8px 10px}.invapp .cashier{display:none}.invapp .tabbar{padding:8px}.invapp .tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.invapp .tabs::-webkit-scrollbar{display:none}.invapp .tab{white-space:nowrap;border-right:1px solid var(--line);border-bottom:none;flex:none;width:auto;padding:10px 13px;font-size:11.5px}.invapp .tab:last-child{border-right:none}.invapp .panel-head{flex-flow:column;align-items:stretch}.invapp .subtabs .tabs{flex-wrap:wrap;width:auto;max-width:100%;overflow-x:visible}.invapp .subtabs .tab{flex:none}.invapp .history-grid,.invapp .stat-grid{grid-template-columns:1fr}.invapp .modal.detail,.invapp .modal.session,.invapp .modal.wide{width:96vw;max-height:90vh}.invapp .d-readbar{grid-template-columns:1fr 1fr}.invapp .m-foot{flex-wrap:wrap}.invapp .m-foot .m-confirm,.invapp .m-foot .m-confirm.ghost{flex:1}.invapp #mainTabs.tabs{flex-wrap:wrap;overflow-x:visible}.invapp #mainTabs .tab{white-space:normal;text-align:center;flex:50%;width:auto;padding:9px 4px;font-size:11px;line-height:1.25}.invapp #mainTabs .tab:nth-child(-n+2){border-bottom:1px solid var(--line)}.invapp #mainTabs .tab:nth-child(odd){border-right:1px solid var(--line)}.invapp #mainTabs .tab:nth-child(2n){border-right:none}}@media (prefers-reduced-motion:reduce){.invapp *{transition:none!important}}.invapp button:focus-visible,.invapp input:focus-visible,.invapp select:focus-visible,.invapp textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
