:root{--ccs-fs-2xs:11px;--ccs-fs-xs:12px;--ccs-fs-base:13px;--ccs-fs-md:14px;--ccs-fs-lg:16px;--ccs-fs-title:18px;--ccs-fs-xl:20px;--ccs-fs-2xl:24px;--ccs-fs-3xl:32px;--ccs-fs-door:72px;--ccs-fs-kiosk:40px;--ccs-sp-0:2px;--ccs-sp-1:4px;--ccs-sp-2:8px;--ccs-sp-3:12px;--ccs-sp-4:16px;--ccs-sp-5:20px;--ccs-sp-6:24px;--ccs-sp-7:32px;--ccs-sp-8:40px;--ccs-sp-9:48px;--ccs-btn-h-sm:28px;--ccs-btn-h:34px;--ccs-btn-h-lg:40px;--ccs-btn-h-xl:52px;--ccs-btn-r:8px;--ccs-primary:#1d4ed8;--ccs-primary-soft:#e4eafa;--ccs-primary-d:#1840b1;--ccs-primary-rgb:29, 78, 216;--ccs-bg:#eef0f4;--ccs-page-bg:var(--ccs-bg);--ccs-sidebar-bg:#131a2a;--ccs-sidebar-fg:#fff;--ccs-sidebar-fg-rgb:255, 255, 255;--ccs-surface:#fff;--ccs-white:#fff;--ccs-surface-2:#f7f8fa;--ccs-ink:#191c24;--ccs-ink-rgb:25, 28, 36;--ccs-ink-2:#3b4150;--ccs-muted:#737a89;--ccs-faint:#9aa1b0;--ccs-line:#e3e6ec;--ccs-line-strong:#d3d8e0;--ccs-success:#0e9f6e;--ccs-success-soft:#e3f6ee;--ccs-success-soft-d:#cdeee1;--ccs-warning:#c2730b;--ccs-warning-soft:#fcf0db;--ccs-warning-d:#8a5a06;--ccs-danger:#e02424;--ccs-danger-soft:#fde7e7;--ccs-info:#2563eb;--ccs-info-soft:#e6efff;--ccs-violet:#7c3aed;--ccs-violet-soft:#f0e9ff;--ccs-teal:#0f9488;--ccs-teal-soft:#d6f3ef;--ccs-orange:#dd6b1f;--ccs-orange-soft:#fce8d6;--ccs-pink:#c72d84;--ccs-pink-soft:#fbe3f0;--ccs-cyan:#0e7fa8;--ccs-cyan-soft:#d7edf6;--ccs-yellow:#ca8a04;--ccs-yellow-soft:#fef3c7;--ccs-lime:#65a30d;--ccs-lime-soft:#ecfccb;--ccs-red:#b91c1c;--ccs-red-soft:#fecaca;--ccs-warm-bg:#f6f3ee;--ccs-warm-surface:#fff;--ccs-warm-surface-2:#fbf9f5;--ccs-warm-ink:#221f2b;--ccs-warm-ink-2:#4a4459;--ccs-warm-muted:#847c93;--ccs-warm-faint:#b3abbe;--ccs-warm-line:#e8e2f0;--ccs-warm-line-strong:#dcd3e8;--ccs-gold:#b8935a;--ccs-gold-d:#9c7a44;--ccs-gold-soft:#f6ecd9}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);font-size:var(--ccs-fs-base);-webkit-font-smoothing:antialiased;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%}.ccs-fullpage{box-sizing:border-box;min-height:100dvh}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:var(--ccs-faint);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);font-size:var(--ccs-fs-xs);background:var(--surface-2,var(--ccs-bg));color:var(--ink-2,var(--ccs-ink-2));padding:var(--ccs-sp-0) var(--ccs-sp-2);white-space:nowrap;border-radius:5px}.docno.lg{font-size:var(--ccs-fs-md);padding:var(--ccs-sp-1) var(--ccs-sp-2)}.docno.link{cursor:pointer}.docno.link:hover{background:var(--primary-soft,var(--ccs-primary-soft));color:var(--primary-d,var(--ccs-primary))}.ccs-topbar2:empty{display:none}.ccs-topbar2{align-items:center;gap:var(--ccs-sp-3);padding:var(--ccs-sp-2) var(--ccs-sp-6);scrollbar-width:none;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:var(--ccs-teal);background:var(--ccs-success-soft)}.wa-row-btn:disabled,.wa-inline-btn:disabled{color:var(--ccs-line-strong);cursor:not-allowed}.wa-inline-btn{padding:0 0 0 var(--ccs-sp-2);cursor:pointer;vertical-align:-1px;line-height:1;font-size:var(--ccs-fs-lg);background:0 0;border:0}.cprof .wa-inline-btn:hover{color:#5df08d;background:0 0}.ccs-menubtn{border:1px solid var(--line,var(--ccs-line));background:var(--ccs-surface)}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;--ccs-page-gap:max(var(--ccs-shell-gap), 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{font-size:var(--ccs-fs-2xs);letter-spacing:.3px;text-transform:uppercase;padding:var(--ccs-sp-0) var(--ccs-sp-2);color:var(--ccs-white);white-space:nowrap;border-radius:4px;flex-shrink:0;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;align-items:center;gap:var(--ccs-sp-4);background:var(--ccs-surface);border:1px solid var(--line,var(--ccs-line));padding:var(--ccs-topbar-vpad,8px) 14px;min-height:var(--ccs-topbar-h,58px);border-radius:12px;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,var(--ccs-page-bg));position:sticky;top:0}.ccs-main-content>.ccs-page{padding:0 var(--ccs-shell-pad-x,10px) var(--ccs-page-gap,10px);min-width:0}.ccs-reportpage{min-width:0}td.ccs-col-figure{white-space:nowrap}.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-scrim{z-index:950;background:#0f142047;position:fixed;inset:0}.hp-panel{z-index:960;background:var(--ccs-surface);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{padding:var(--ccs-sp-3) var(--ccs-sp-4) var(--ccs-sp-3);border-bottom:1px solid var(--ccs-line);flex-shrink:0}.hp-head-row{align-items:center;gap:var(--ccs-sp-2);display:flex}.hp-head-row h2{font-size:var(--ccs-fs-md);flex:1;margin:0;font-weight:600}.hp-icon{font-size:var(--ccs-fs-lg);color:var(--ccs-faint);cursor:pointer;padding:var(--ccs-sp-1) var(--ccs-sp-2);background:0 0;border:0;border-radius:6px}.hp-icon:hover{background:var(--ccs-surface-2);color:var(--ccs-ink-2)}.hp-ctx{align-items:center;gap:var(--ccs-sp-2);margin-top:var(--ccs-sp-3);background:var(--ccs-primary-soft);color:var(--ccs-primary);padding:var(--ccs-sp-1) var(--ccs-sp-3);font-size:var(--ccs-fs-xs);border-radius:20px;font-weight:500;display:inline-flex}.hp-searchwrap{position:relative}.hp-search{width:100%;margin-top:var(--ccs-sp-3);border:1px solid var(--ccs-line);padding:var(--ccs-sp-3) var(--ccs-sp-8) var(--ccs-sp-3) var(--ccs-sp-3);font-size:var(--ccs-fs-base);border-radius:9px}.hp-search:focus{border-color:var(--ccs-primary);box-shadow:0 0 0 3px rgba(var(--ccs-primary-rgb),.1);outline:none}.hp-mic{cursor:pointer;width:30px;height:30px;font-size:var(--ccs-fs-lg);color:var(--ccs-faint);background:0 0;border:0;border-radius:8px;line-height:1;position:absolute;top:16px;right:6px}.hp-mic:hover{background:var(--ccs-surface-2);color:var(--ccs-ink-2)}.hp-mic.hp-live{background:var(--ccs-danger-soft);color:var(--ccs-danger);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{align-items:center;gap:var(--ccs-sp-2);font-size:var(--ccs-fs-xs);color:var(--ccs-danger);margin-top:var(--ccs-sp-2);display:flex}.hp-hearing i{background:var(--ccs-danger);border-radius:50%;width:6px;height:6px;animation:1.1s infinite hp-pulse}.hp-fb{margin-top:var(--ccs-sp-5);padding-top:var(--ccs-sp-4);border-top:1px solid var(--ccs-line);align-items:center;gap:var(--ccs-sp-2);display:flex}.hp-fb>span:first-child{font-size:var(--ccs-fs-base);color:var(--ccs-faint);margin-right:auto}.hp-fb-btn{border:1px solid var(--ccs-line);background:var(--ccs-surface);padding:var(--ccs-sp-1) var(--ccs-sp-3);font-size:var(--ccs-fs-base);cursor:pointer;border-radius:7px;line-height:1}.hp-fb-btn:hover{border-color:var(--ccs-line-strong)}.hp-fb-done{font-size:var(--ccs-fs-base);color:var(--ccs-primary);font-weight:500}.hp-body{padding:var(--ccs-sp-4) var(--ccs-sp-4) var(--ccs-sp-6);flex:1;overflow-y:auto}.hp-group{font-size:var(--ccs-fs-2xs);letter-spacing:.07em;text-transform:uppercase;color:var(--ccs-faint);margin:var(--ccs-sp-4) 0 var(--ccs-sp-2);font-weight:600}.hp-group:first-child{margin-top:0}.hp-row{align-items:flex-start;gap:var(--ccs-sp-2);text-align:left;border:1px solid var(--ccs-line);background:var(--ccs-surface);width:100%;padding:var(--ccs-sp-3) var(--ccs-sp-3);margin-bottom:var(--ccs-sp-2);cursor:pointer;font-size:var(--ccs-fs-base);color:var(--ccs-ink);border-radius:9px;line-height:1.45;display:flex}.hp-row:hover{border-color:var(--ccs-primary);background:var(--ccs-primary-soft)}.hp-row em{color:var(--ccs-faint);font-style:normal;font-size:var(--ccs-fs-2xs);margin-top:var(--ccs-sp-0);display:block}.hp-arrow{color:var(--ccs-faint);flex-shrink:0;margin-left:auto}.hp-empty{text-align:center;color:var(--ccs-faint);padding:var(--ccs-sp-7) var(--ccs-sp-3);font-size:var(--ccs-fs-base);line-height:1.6}.hp-empty b{color:var(--ccs-ink-2);font-size:var(--ccs-fs-md);margin-bottom:var(--ccs-sp-1);display:block}.hp-q{font-size:var(--ccs-fs-lg);margin:0 0 var(--ccs-sp-1);font-weight:600;line-height:1.4}.hp-where{color:var(--ccs-faint);font-size:var(--ccs-fs-xs);margin:0 0 var(--ccs-sp-4)}.hp-steps{counter-reset:s;margin:0;padding:0;list-style:none}.hp-steps li{counter-increment:s;padding:0 0 var(--ccs-sp-4) var(--ccs-sp-7);font-size:var(--ccs-fs-base);color:var(--ccs-ink-2);line-height:1.55;position:relative}.hp-steps li:before{content:counter(s);background:var(--ccs-primary-soft);width:21px;height:21px;color:var(--ccs-primary);font-size:var(--ccs-fs-2xs);border-radius:50%;place-items:center;font-weight:600;display:grid;position:absolute;top:-1px;left:0}.hp-steps li:after{content:"";background:var(--ccs-line);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:var(--ccs-ink);font-weight:600}.hp-go{width:100%;margin-top:var(--ccs-sp-5);background:var(--ccs-primary);color:var(--ccs-white);padding:var(--ccs-sp-3);font-size:var(--ccs-fs-md);cursor:pointer;border:0;border-radius:8px;font-weight:500}@media print{.hp-panel,.hp-scrim{display:none}}.hp-icon-on{background:var(--ccs-primary-soft);color:var(--ccs-primary)}.ccs-login--cover{background:var(--ccs-surface);grid-template-columns:max(min(100dvh,100vw - 460px),45vw) 1fr;display:grid}.ccs-login-cover-pane{min-width:0;min-height:0;position:relative}.ccs-login-cover-img{object-fit:contain;width:100%;height:100%;transition:opacity .2s;display:block;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.ccs-login-cover-img{transition:none}}.ccs-login-form-pane{padding:var(--ccs-sp-4);justify-content:center;align-items:center;display:flex;overflow-y:auto}.ccs-login-form-pane>.ant-card{box-shadow:none!important}@media (width<=767px),(aspect-ratio<=1){.ccs-login--cover{grid-template-rows:auto 1fr;grid-template-columns:1fr;overflow-y:auto}.ccs-login-cover-pane{height:min(100vw,50dvh)}.ccs-login-form-pane{align-items:flex-start}}.dashchip{border:1px solid var(--ccs-line);background:var(--ccs-surface);color:inherit;padding:var(--ccs-sp-1) var(--ccs-sp-3);font-size:var(--ccs-fs-base);cursor:pointer;border-radius:999px;line-height:1.5;transition:background .12s,border-color .12s,color .12s}.dashchip:hover{border-color:var(--ccs-primary)}.dashchip[data-active]{background:var(--ccs-primary);border-color:var(--ccs-primary);color:var(--ccs-white);font-weight:600}.dashkpis{gap:var(--ccs-sp-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.dashkpi{background:var(--ccs-surface);border:1px solid var(--ccs-line);padding:var(--ccs-sp-3) var(--ccs-sp-3);border-radius:10px;min-width:0}.dashkpi-l{font-size:var(--ccs-fs-2xs);letter-spacing:.03em;text-transform:uppercase;color:var(--ccs-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashkpi-v{font-size:var(--ccs-fs-xl);margin-top:var(--ccs-sp-0);white-space:nowrap;text-overflow:ellipsis;font-weight:700;line-height:1.25;overflow:hidden}.dashkpi-s{font-size:var(--ccs-fs-2xs);color:var(--ccs-muted);margin-top:1px}.dashcard{border-radius:10px}.dashcard .ant-card-body{padding:var(--ccs-sp-2) var(--ccs-sp-3) var(--ccs-sp-3)}.dashgrid{gap:var(--ccs-sp-3);margin-top:var(--ccs-sp-3);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.dashgrid.wide{grid-template-columns:repeat(auto-fit,minmax(460px,1fr))}.dashbar{align-items:center;gap:var(--ccs-sp-3);margin-bottom:var(--ccs-sp-3);flex-wrap:wrap;display:flex}.dashscroll{overflow-x:auto}.dashpage{min-width:0;overflow-x:hidden}.dashgrid>*,.dashkpis>*{min-width:0}.dashreport-btn{align-items:flex-start;gap:var(--ccs-sp-1);text-align:left;padding:var(--ccs-sp-3) var(--ccs-sp-3);border:1px solid var(--ccs-line);border-left:4px solid var(--ccs-primary);background:var(--ccs-surface);cursor:pointer;border-radius:10px;flex-direction:column;min-width:0;transition:background .12s,border-color .12s;display:flex}.dashreport-btn:hover{background:var(--ccs-hover,var(--ccs-surface-2))}.dashreport-btn:focus-visible{outline:2px solid var(--ccs-primary);outline-offset:2px}.dashreport-btn .drb-t{font-weight:600;font-size:var(--ccs-fs-base);color:var(--ccs-ink)}.dashreport-btn .drb-h{font-size:var(--ccs-fs-xs);color:var(--ccs-muted);white-space:normal;line-height:1.35}.ovhead{align-items:center;gap:var(--ccs-sp-4);margin-bottom:var(--ccs-sp-3);flex-wrap:wrap;display:flex}.ovhead-t{align-items:baseline;gap:var(--ccs-sp-3);flex-wrap:wrap;min-width:0;display:flex}.ovreports{gap:var(--ccs-sp-2);flex-wrap:wrap;min-width:0;margin-left:auto;display:flex}.dashreport-btn.compact{padding:var(--ccs-sp-2) var(--ccs-sp-3);flex-direction:row;align-items:center}.dashreport-btn.compact .drb-t{font-size:var(--ccs-fs-base);white-space:nowrap}.avatar-tile{vertical-align:top;width:var(--avatar-size);height:var(--avatar-size);flex-shrink:0;line-height:0;display:inline-block;position:relative}.avatar-tile-photo{box-sizing:border-box;border-radius:calc(var(--avatar-size) * .175);border:3px solid var(--ccs-white);background:var(--ccs-surface-2);width:100%;height:100%;padding:0;display:block;overflow:hidden;box-shadow:0 2px 6px #00000026}button.avatar-tile-photo{cursor:pointer}button.avatar-tile-photo:disabled{cursor:wait}.avatar-tile-photo img,.avatar-tile-photo svg,.avatar-tile-photo [data-kind]{object-fit:cover;width:100%;height:100%;display:block}.avatar-tile-add{width:max(20px,calc(var(--avatar-size) * .3));height:max(20px,calc(var(--avatar-size) * .3));box-sizing:border-box;background:var(--ccs-primary);color:var(--ccs-white);border:2.5px solid var(--ccs-white);cursor:pointer;z-index:2;border-radius:50%;place-items:center;padding:0;font-size:15px;font-weight:700;line-height:1;display:grid;position:absolute;bottom:-6px;right:-4px;box-shadow:0 1px 3px #00000040}.avatar-tile-add:disabled{cursor:wait;opacity:.7}.csd-ov{z-index:1160;padding:var(--ccs-sp-5);background:#1418286b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.csd{background:var(--ccs-surface);border-radius:16px;flex-direction:column;width:min(640px,96vw);max-height:86vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;overflow:hidden;box-shadow:0 12px 40px #1418282e}.csd button{font-family:inherit}.csd-search{align-items:center;gap:var(--ccs-sp-3);padding:var(--ccs-sp-4) var(--ccs-sp-5);border-bottom:1px solid var(--ccs-line);color:var(--ccs-faint);flex-shrink:0;display:flex}.csd-search input{min-width:0;font-size:var(--ccs-fs-lg);color:var(--ccs-ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit}.csd-search input::placeholder{color:var(--ccs-faint)}.csd-x{color:var(--ccs-faint);font-size:var(--ccs-fs-lg);cursor:pointer;padding:var(--ccs-sp-0) var(--ccs-sp-1);background:0 0;border:none;line-height:1}.csd-x:hover{color:var(--ccs-ink)}.csd-tabs{gap:var(--ccs-sp-2);padding:var(--ccs-sp-3) var(--ccs-sp-5);border-bottom:1px solid var(--ccs-line);flex-shrink:0;display:flex;overflow-x:auto}.csd-tab{padding:var(--ccs-sp-1) var(--ccs-sp-4);font-size:var(--ccs-fs-base);color:var(--ccs-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;font-weight:500}.csd-tab:hover{background:var(--ccs-surface-2);color:var(--ccs-ink)}.csd-tab.on{background:var(--ccs-primary-soft);color:var(--ccs-primary);font-weight:600}.csd-body{flex:1;min-height:0;display:flex}.csd-list{min-width:0;padding:var(--ccs-sp-1) 0;flex:1;overflow-y:auto}.csd-az{border-left:1px solid var(--ccs-line);width:34px;padding:var(--ccs-sp-1) var(--ccs-sp-1);background:var(--ccs-surface-2);flex-direction:column;flex-shrink:0;align-items:stretch;gap:1px;display:flex;overflow-y:auto}.csd-az-l{font-size:var(--ccs-fs-2xs);color:var(--ccs-muted);padding:var(--ccs-sp-0) 0;cursor:pointer;background:0 0;border:none;border-radius:5px;font-weight:700;line-height:1.45}.csd-az-l:hover{background:var(--ccs-surface);color:var(--ccs-ink)}.csd-az-l.on{background:var(--ccs-primary);color:var(--ccs-white)}.csd-row{align-items:center;gap:var(--ccs-sp-3);text-align:left;border:none;border-bottom:1px solid var(--ccs-line);background:var(--ccs-surface);width:100%;padding:var(--ccs-sp-3) var(--ccs-sp-5);cursor:pointer;display:flex}.csd-row:last-child{border-bottom:none}.csd-row:hover{background:var(--ccs-surface-2)}.csd-av{background:var(--ccs-primary-soft);width:34px;height:34px;color:var(--ccs-primary);font-size:var(--ccs-fs-xs);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.csd-who{flex:1;min-width:0}.csd-nm{font-size:var(--ccs-fs-base);color:var(--ccs-ink);align-items:center;gap:var(--ccs-sp-2);flex-wrap:wrap;font-weight:600;display:flex}.csd-mt{font-size:var(--ccs-fs-2xs);color:var(--ccs-muted);font-family:JetBrains Mono,ui-monospace,monospace}.csd-right{font-size:var(--ccs-fs-xs);color:var(--ccs-muted);white-space:nowrap;flex-shrink:0;margin-left:auto}.csd-right.billed{color:var(--ccs-success);font-weight:600}.csd-tier{margin-left:var(--ccs-sp-2);font-size:var(--ccs-fs-2xs);letter-spacing:.4px;text-transform:uppercase;padding:var(--ccs-sp-0) var(--ccs-sp-2);background:var(--ccs-surface-2);color:var(--ccs-muted);vertical-align:1px;border-radius:4px;font-weight:700}.csd-tier.gold{background:var(--ccs-warning-soft);color:var(--ccs-warning)}.csd-tier.silver{background:var(--ccs-bg);color:var(--ccs-muted)}.csd-none{padding:var(--ccs-sp-4);text-align:center;color:var(--ccs-faint);font-size:var(--ccs-fs-base)}.csd-retry{color:var(--ccs-primary);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.csd-foot{align-items:center;gap:var(--ccs-sp-2);padding:var(--ccs-sp-3) var(--ccs-sp-5);border-top:1px solid var(--ccs-line);background:var(--ccs-surface-2);flex-shrink:0;display:flex}.csd-count{font-size:var(--ccs-fs-xs);color:var(--ccs-muted);margin-right:auto}.csd-btn{height:34px;padding:0 var(--ccs-sp-4);background:var(--ccs-primary);color:var(--ccs-white);font-size:var(--ccs-fs-xs);cursor:pointer;border:none;border-radius:9px;font-weight:600}.csd-btn:hover{background:var(--ccs-primary-d)}.csd-btn.ghost{background:var(--ccs-surface-2);color:var(--ccs-ink-2);border:1px solid var(--ccs-line-strong)}.csd-btn.ghost:hover{background:var(--ccs-surface)}._grid_d1v9c_3{gap:var(--ccs-sp-6);grid-template-columns:minmax(0,1fr) 320px;display:grid}._col_d1v9c_4{gap:var(--ccs-sp-3);flex-direction:column;min-width:0;display:flex}._row2_d1v9c_5{gap:var(--ccs-sp-3);grid-template-columns:200px minmax(0,1fr);display:grid}._services_d1v9c_6{gap:var(--ccs-sp-1);flex-wrap:wrap;display:flex}._service_d1v9c_6{background:var(--ccs-surface-2);padding:var(--ccs-sp-0) var(--ccs-sp-2);font-size:var(--ccs-fs-xs);border-radius:999px;font-weight:600}._tags_d1v9c_14{gap:var(--ccs-sp-1);flex-wrap:wrap;display:flex}._hint_d1v9c_15{align-items:center;gap:var(--ccs-sp-3);background:var(--ccs-surface-2);padding:var(--ccs-sp-2) var(--ccs-sp-3);color:var(--ccs-ink-2);font-size:var(--ccs-fs-xs);border-radius:8px;display:flex}._hint_d1v9c_15 span{flex:1}._photoButtons_d1v9c_26{gap:var(--ccs-sp-2);grid-template-columns:1fr 1fr;display:grid}._photoGrid_d1v9c_27{gap:var(--ccs-sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}._photoCell_d1v9c_28{align-items:flex-start;gap:var(--ccs-sp-1);flex-direction:column;min-width:0;display:flex}._photoCell_d1v9c_28>:last-child{align-self:stretch}._thumb_d1v9c_30{background:var(--ccs-surface-2) var(--thumb) center / cover no-repeat;border-radius:8px;width:96px;height:76px;display:block}._fullWidth_d1v9c_37{width:100%}._photoSlot_d1v9c_38{color:var(--ccs-faint);border:1.5px dashed var(--ccs-line);border-radius:8px;justify-content:center;align-items:center;height:76px;display:flex}._photoNote_d1v9c_39{color:var(--ccs-muted);font-size:var(--ccs-fs-xs)}._sheetHeader_d1v9c_41{align-items:center;gap:var(--ccs-sp-3);display:flex}._sheetHeader_d1v9c_41 h2{text-align:center;font-size:var(--ccs-fs-lg);flex:1;margin:0;font-weight:600}@media (width<=1023px){._grid_d1v9c_3{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){._row2_d1v9c_5{grid-template-columns:minmax(0,1fr)}}._head_ponl8_3{align-items:center;gap:var(--ccs-sp-3);padding:var(--ccs-sp-3) var(--ccs-sp-4) var(--ccs-sp-2);display:flex}._head_ponl8_3 h3{font-size:var(--ccs-fs-lg);flex:1;margin:0;font-weight:600}._summary_ponl8_11{gap:var(--ccs-sp-1) var(--ccs-sp-6);padding:var(--ccs-sp-3) var(--ccs-sp-4);border-bottom:1px solid var(--ccs-line);color:var(--ccs-muted);font-size:var(--ccs-fs-xs);flex-wrap:wrap;display:flex}._summary_ponl8_11 b{color:var(--ccs-ink);font-size:var(--ccs-fs-md);font-variant-numeric:tabular-nums;font-weight:600}._chips_ponl8_27{gap:var(--ccs-sp-2);padding:var(--ccs-sp-2) var(--ccs-sp-4);scroll-snap-type:x proximity;display:flex;overflow-x:auto}._chip_ponl8_27{scroll-snap-align:start;flex:none}._chipDot_ponl8_35{border-radius:50%;width:8px;height:8px;display:inline-block}._chipCount_ponl8_36{color:var(--ccs-muted);font-weight:400}._chipOn_ponl8_37,._chipOn_ponl8_37:hover{background:var(--ccs-ink);border-color:var(--ccs-ink);color:var(--ccs-white)}._chipOn_ponl8_37 ._chipCount_ponl8_36{color:var(--ccs-white)}._chipSep_ponl8_44{background:var(--ccs-line);flex:0 0 1px;align-self:center;height:20px}._showing_ponl8_46{padding:0 var(--ccs-sp-4) var(--ccs-sp-2);color:var(--ccs-muted);font-size:var(--ccs-fs-xs);min-height:var(--ccs-sp-4)}._list_ponl8_55{padding:var(--ccs-sp-1) var(--ccs-sp-4) var(--ccs-sp-4);container-type:inline-size}._foot_ponl8_56{align-items:center;gap:var(--ccs-sp-4);padding:0 var(--ccs-sp-4) var(--ccs-sp-4);color:var(--ccs-muted);font-size:var(--ccs-fs-xs);flex-wrap:wrap;display:flex}._state_ponl8_65{padding:var(--ccs-sp-4)}._fab_ponl8_69{display:none}@media (width<=1023px){._newButton_ponl8_71{display:none}._fab_ponl8_69{right:max(var(--ccs-sp-5), env(safe-area-inset-right));bottom:max(var(--ccs-sp-6), env(safe-area-inset-bottom));z-index:900;display:block;position:fixed}}._channelChips_ponl8_81{gap:var(--ccs-sp-1);margin-bottom:var(--ccs-sp-2);flex-wrap:wrap;display:flex}._sub_ponl8_82{font-size:var(--ccs-fs-xs);color:var(--ccs-muted);font-weight:400;display:block}._warn_ponl8_83{color:var(--ccs-warning-d);font-weight:600}._ev_1535d_1{gap:var(--ccs-sp-3);padding:var(--ccs-sp-3) var(--ccs-sp-4);grid-template-columns:40px 26px minmax(0,1fr) auto;align-items:start;display:grid}._ev_1535d_1+._ev_1535d_1{border-top:1px solid var(--ccs-line)}._time_1535d_9{color:var(--ccs-muted);font-size:var(--ccs-fs-xs);padding-top:var(--ccs-sp-1);font-variant-numeric:tabular-nums}._inlineTime_1535d_10{color:var(--ccs-muted);font-weight:400;font-size:var(--ccs-fs-2xs);margin-left:var(--ccs-sp-1);display:none}._time_1535d_9._futureTime_1535d_12,._inlineTime_1535d_10._futureTime_1535d_12{color:var(--ccs-faint);font-style:italic}._icon_1535d_14{width:26px;height:26px;font-size:var(--ccs-fs-xs);border-radius:50%;justify-content:center;align-items:center;display:flex}._kTreatment_1535d_15{background:var(--ccs-primary);color:var(--ccs-white)}._kConsult_1535d_16{background:var(--ccs-violet-soft);color:var(--ccs-violet)}._kPurchase_1535d_17{background:var(--ccs-surface-2);color:var(--ccs-ink-2)}._kComm_1535d_18{background:var(--ccs-success-soft);color:var(--ccs-success)}._kFollowUp_1535d_19{background:var(--ccs-orange-soft);color:var(--ccs-orange)}._kReview_1535d_20{background:var(--ccs-yellow-soft);color:var(--ccs-yellow)}._kAppt_1535d_21{background:var(--ccs-surface-2);color:var(--ccs-ink-2)}._kNoshow_1535d_22{background:var(--ccs-danger-soft);color:var(--ccs-danger)}._kMissing_1535d_23{background:var(--ccs-surface);color:var(--ccs-warning-d)}._body_1535d_25{gap:var(--ccs-sp-1);min-width:0;padding-top:var(--ccs-sp-0);flex-direction:column;display:flex}._title_1535d_26{font-weight:600;font-size:var(--ccs-fs-md)}._meta_1535d_27{color:var(--ccs-muted);font-weight:400;font-size:var(--ccs-fs-base)}._amount_1535d_28{font-weight:600;font-size:var(--ccs-fs-md);padding-top:var(--ccs-sp-0);white-space:nowrap;font-variant-numeric:tabular-nums}._text_1535d_29{color:var(--ccs-ink-2)}._muted_1535d_30{color:var(--ccs-muted);font-size:var(--ccs-fs-xs)}._services_1535d_31{gap:var(--ccs-sp-1);color:var(--ccs-ink-2);flex-wrap:wrap;align-items:center;display:flex}._label_1535d_33{font-size:var(--ccs-fs-2xs);letter-spacing:.03em;padding:var(--ccs-sp-0) var(--ccs-sp-1);background:var(--ccs-surface-2);color:var(--ccs-ink-2);border-radius:5px;font-weight:600}._course_1535d_42{background:var(--ccs-gold-soft);color:var(--ccs-gold-d)}._prepaid_1535d_43{background:var(--ccs-teal-soft);color:var(--ccs-teal)}._consultLabel_1535d_44{background:var(--ccs-violet-soft);color:var(--ccs-violet)}._important_1535d_45{background:var(--ccs-danger-soft);color:var(--ccs-danger)}._note_1535d_47{background:var(--ccs-surface-2);padding:var(--ccs-sp-2) var(--ccs-sp-3);color:var(--ccs-ink-2);border-radius:8px}._dialogue_1535d_48{gap:var(--ccs-sp-3);background:var(--ccs-warning-soft);padding:var(--ccs-sp-2) var(--ccs-sp-3);color:var(--ccs-warning-d);border-radius:8px;display:flex}._followUp_1535d_56{white-space:nowrap;margin-left:auto;font-weight:600}._tags_1535d_57{gap:var(--ccs-sp-1);flex-wrap:wrap;display:flex}._tag_1535d_57{font-size:var(--ccs-fs-2xs);color:var(--ccs-ink-2);background:var(--ccs-surface-2);padding:var(--ccs-sp-0) var(--ccs-sp-2);border-radius:999px;font-weight:600}._thumbs_1535d_59{gap:var(--ccs-sp-2);flex-wrap:wrap;align-items:center;display:flex}._thumb_1535d_59{object-fit:cover;background:var(--ccs-line);border-radius:8px;width:72px;height:56px}._thumbMore_1535d_61{background:var(--ccs-line);width:72px;height:56px;font-size:var(--ccs-fs-md);color:var(--ccs-ink-2);border-radius:8px;justify-content:center;align-items:center;font-weight:600;display:flex}._booked_1535d_62{font-size:var(--ccs-fs-2xs);color:var(--ccs-muted)}._compact_1535d_64{padding-top:var(--ccs-sp-2);padding-bottom:var(--ccs-sp-2);align-items:center}._compact_1535d_64 ._icon_1535d_14{width:22px;height:22px}._compact_1535d_64 ._time_1535d_9,._compact_1535d_64 ._body_1535d_25{padding-top:0}._missing_1535d_67{background:var(--ccs-warning-soft);border:1px dashed var(--ccs-warning);margin:var(--ccs-sp-1);border-radius:10px}._missing_1535d_67 ._title_1535d_26{color:var(--ccs-warning-d)}._addNote_1535d_69{align-self:flex-start}@container (width<=700px){._ev_1535d_1{grid-template-columns:26px minmax(0,1fr) auto}._time_1535d_9{display:none}._inlineTime_1535d_10{display:inline}}._stars_1535d_76{font-size:var(--ccs-fs-base)}._thumbCell_1535d_77{align-items:center;gap:var(--ccs-sp-0);flex-direction:column;display:inline-flex}._thumbStage_1535d_78{font-size:var(--ccs-fs-2xs);color:var(--ccs-ink-2);font-weight:600}._day_aw39h_1{margin-bottom:var(--ccs-sp-3);grid-template-columns:112px 24px minmax(0,1fr);display:grid}._when_aw39h_2{padding-top:var(--ccs-sp-2);flex-direction:column;display:flex}._date_aw39h_3{font-size:var(--ccs-fs-title);font-weight:600;line-height:1.2}._weekday_aw39h_4{color:var(--ccs-muted);font-size:var(--ccs-fs-xs)}._gap_aw39h_5{color:var(--ccs-faint);font-size:var(--ccs-fs-2xs);margin-top:var(--ccs-sp-1)}._rail_aw39h_6{flex-direction:column;align-items:center;display:flex}._rail_aw39h_6:before{content:"";height:14px}._rail_aw39h_6 i{background:var(--ccs-faint);border-radius:50%;width:10px;height:10px}._railFirst_aw39h_9 i{background:var(--ccs-ink)}._rail_aw39h_6:after{content:"";background:var(--ccs-line);flex:1;width:2px}._day_aw39h_1:last-child ._rail_aw39h_6:after{display:none}._card_aw39h_12{background:var(--ccs-surface);border:1px solid var(--ccs-line);border-radius:12px;min-width:0}@container (width<=900px){._day_aw39h_1{grid-template-columns:84px 20px minmax(0,1fr)}._date_aw39h_3{font-size:var(--ccs-fs-lg)}}@container (width<=700px){._day_aw39h_1{grid-template-columns:minmax(0,1fr)}._rail_aw39h_6{display:none}._when_aw39h_2{align-items:baseline;gap:var(--ccs-sp-2);padding:0 var(--ccs-sp-0) var(--ccs-sp-2);flex-direction:row}._gap_aw39h_5{margin:0 0 0 auto}}._photo_pwfz2_2{border-radius:var(--ccs-sp-3);width:100%;line-height:0;overflow:hidden}._thumb_1p7s9_1{margin-right:var(--ccs-sp-2);vertical-align:middle}._body_2qsl8_1{gap:var(--ccs-sp-4);flex-direction:column;display:flex}._stage_2qsl8_7{border:1px solid var(--ccs-line);border-radius:var(--ccs-btn-r);background:var(--ccs-surface-2);aspect-ratio:4/3;position:relative;overflow:hidden}._video_2qsl8_17{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}._prompt_2qsl8_24{text-align:center;font-size:var(--ccs-fs-md)}._steps_2qsl8_29{justify-content:center;gap:var(--ccs-sp-2);display:flex}._center_2qsl8_35{align-items:center;gap:var(--ccs-sp-3);padding:var(--ccs-sp-5) 0;text-align:center;flex-direction:column;display:flex}._thumb_2qsl8_44{border-radius:var(--ccs-btn-r);object-fit:cover;border:1px solid var(--ccs-line);width:112px;height:112px}._actions_2qsl8_52{justify-content:center;gap:var(--ccs-sp-2);flex-wrap:wrap;display:flex}._progress_2qsl8_59{width:100%}.sapx{z-index:1200;padding:var(--ccs-sp-5);background:#1418286b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sapx .sap-modal{background:var(--ccs-surface);--p:var(--ccs-primary);--pd:var(--ccs-primary-d);--psoft:var(--ccs-primary-soft);--line:var(--ccs-line);--line2:var(--ccs-line-strong);--surf2:var(--ccs-surface-2);--ink:var(--ccs-ink);--ink2:var(--ccs-ink-2);--muted:var(--ccs-muted);--faint:var(--ccs-faint);--green:var(--ccs-success);--amber:var(--ccs-yellow);--rose:var(--ccs-danger);--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;width:min(980px,96vw);height:min(620px,92vh);color:var(--ink);border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 40px #1418282e}.sapx .sap-head{padding:var(--ccs-sp-4) var(--ccs-sp-5);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.sapx .sap-head h2{font-size:var(--ccs-fs-lg);margin:0;font-weight:600}.sapx .sap-head h2 span{color:var(--muted);font-weight:500}.sapx .sap-x{width:30px;height:30px;color:var(--muted);font-size:var(--ccs-fs-title);cursor:pointer;background:0 0;border:none;border-radius:8px}.sapx .sap-x:hover{background:var(--surf2);color:var(--ink)}.sapx .sap-roletabs{gap:var(--ccs-sp-2);padding:var(--ccs-sp-3) var(--ccs-sp-5);border-bottom:1px solid var(--line);background:var(--surf2);flex-wrap:wrap;display:flex}.sapx .sap-roletab{border:1px solid var(--line2);background:var(--ccs-surface);padding:var(--ccs-sp-2) var(--ccs-sp-4);font-size:var(--ccs-fs-base);color:var(--ink2);align-items:center;gap:var(--ccs-sp-2);cursor:pointer;border-radius:9px;font-weight:600;display:flex}.sapx .sap-roletab.on{background:var(--p);border-color:var(--p);color:var(--ccs-white)}.sapx .sap-roletab .cnt{font-size:var(--ccs-fs-2xs);font-family:var(--mono);padding:1px var(--ccs-sp-1);background:#00000014;border-radius:5px}.sapx .sap-roletab.on .cnt{background:#ffffff40}.sapx .sap-body{flex:1;min-height:0;display:flex}.sapx .sap-left{min-width:0;padding:var(--ccs-sp-4) var(--ccs-sp-5);border-right:1px solid var(--line);flex-direction:column;flex:1;display:flex}.sapx .sap-depts{gap:var(--ccs-sp-2);margin-bottom:var(--ccs-sp-3);flex-wrap:wrap;display:flex}.sapx .sap-dt{border:1px solid var(--line2);background:var(--ccs-surface);padding:var(--ccs-sp-1) var(--ccs-sp-3);font-size:var(--ccs-fs-xs);color:var(--ink2);cursor:pointer;border-radius:8px;font-weight:500}.sapx .sap-dt.on{background:var(--p);border-color:var(--p);color:var(--ccs-white)}.sapx .sap-search input{border:1px solid var(--line2);width:100%;height:38px;padding:0 var(--ccs-sp-3);font-size:var(--ccs-fs-base);background:var(--surf2);margin-bottom:var(--ccs-sp-3);border-radius:9px}.sapx .sap-search input:focus{border-color:var(--p);background:var(--ccs-surface);box-shadow:0 0 0 3px var(--psoft);outline:none}.sapx .sap-grid{gap:var(--ccs-sp-2);flex:1;grid-template-columns:1fr 1fr;align-content:start;display:grid;overflow-y:auto}.sapx .sap-none{color:var(--faint);text-align:center;padding:var(--ccs-sp-6);grid-column:1/-1}.sapx .sap-card{align-items:center;gap:var(--ccs-sp-3);border:1px solid var(--line);padding:var(--ccs-sp-2) var(--ccs-sp-3);cursor:pointer;background:var(--ccs-surface);border-radius:10px;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);width:18px;height:18px;color:var(--ccs-white);font-size:var(--ccs-fs-2xs);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.sapx .sap-card.sel .sap-box{background:var(--p);border-color:var(--p)}.sapx .sap-av{background:var(--ccs-primary-soft);width:34px;height:34px;color:var(--p);font-weight:700;font-size:var(--ccs-fs-base);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.sapx .sap-nm{font-size:var(--ccs-fs-base);font-weight:600;line-height:1.2}.sapx .sap-cd{font-size:var(--ccs-fs-2xs);color:var(--muted);font-family:var(--mono)}.sapx .sap-right{width:340px;padding:var(--ccs-sp-4) var(--ccs-sp-4);background:var(--surf2);gap:var(--ccs-sp-3);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.sapx .sap-selhd{justify-content:space-between;align-items:center;display:flex}.sapx .sap-selhd .t{font-size:var(--ccs-fs-2xs);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}.sapx .sap-selhd .tot{font-family:var(--mono);font-weight:700;font-size:var(--ccs-fs-xs)}.sapx .sap-selhd .tot.ok{color:var(--green)}.sapx .sap-selhd .tot.warn{color:var(--amber)}.sapx .sap-empty{color:var(--faint);font-size:var(--ccs-fs-xs)}.sapx .sap-picks{gap:var(--ccs-sp-2);flex-direction:column;display:flex}.sapx .sap-pick{align-items:center;gap:var(--ccs-sp-2);display:flex}.sapx .sap-pick .pa{background:var(--ccs-primary-soft);width:26px;height:26px;color:var(--p);font-weight:700;font-size:var(--ccs-fs-2xs);border-radius:7px;place-items:center;display:grid}.sapx .sap-pick .pn{min-width:0;font-size:var(--ccs-fs-xs);flex:1;font-weight:600}.sapx .sap-pick .pn .pc{color:var(--muted);font-weight:500;font-family:var(--mono);font-size:var(--ccs-fs-2xs);margin-left:var(--ccs-sp-1)}.sapx .ratew{border:1px solid var(--line2);height:28px;padding:0 var(--ccs-sp-2) 0 var(--ccs-sp-2);background:var(--ccs-surface);border-radius:7px;align-items:center;width:78px;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);font-size:var(--ccs-fs-xs);background:0 0;border:none;outline:none}.sapx .ratew .pct{color:var(--muted);font-family:var(--mono);font-size:var(--ccs-fs-2xs)}.sapx .ptrash{width:24px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:6px}.sapx .ptrash:hover{background:var(--ccs-danger-soft);color:var(--rose)}.sapx .sap-foot{justify-content:flex-end;align-items:center;gap:var(--ccs-sp-3);padding:var(--ccs-sp-3) var(--ccs-sp-5);border-top:1px solid var(--line);display:flex}.sapx .sap-btn{height:40px;padding:0 var(--ccs-sp-5);border-radius:var(--ccs-btn-r);border:1px solid var(--line2);background:var(--ccs-surface);font-size:var(--ccs-fs-base);color:var(--ink2);cursor:pointer;font-weight:600}.sapx .sap-btn:hover{background:var(--surf2)}.sapx .sap-btn.primary{background:var(--p);color:var(--ccs-white);padding:0 var(--ccs-sp-6);box-shadow:0 4px 14px rgba(var(--ccs-primary-rgb),.32);border:none}.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}}._chip_1qpgd_1{align-items:center;display:inline-flex}._chip_1qpgd_1 button{padding:0 var(--ccs-sp-4)}._row_1qpgd_12{cursor:pointer;padding:var(--ccs-sp-3);border-radius:var(--ccs-btn-r)}._row_1qpgd_12:hover{background:var(--ccs-surface-2)}._rowBody_1qpgd_22{flex-direction:column;min-width:0;display:flex}._name_1qpgd_28{font-weight:600;font-size:var(--ccs-fs-md)}._card_1qpgd_33{gap:var(--ccs-sp-4);flex-direction:column;display:flex}._cardHead_1qpgd_39{align-items:center;gap:var(--ccs-sp-3);display:flex}._actions_1qpgd_45{gap:var(--ccs-sp-2);flex-wrap:wrap;display:flex}._state_1qpgd_51{padding:var(--ccs-sp-5) 0}._cardName_1qpgd_55{margin:0}._booking_1qpgd_59{gap:var(--ccs-sp-2);padding:var(--ccs-sp-4);border-radius:var(--ccs-btn-r);background:var(--ccs-surface-2);flex-direction:column;display:flex}._bookingTime_1qpgd_68{font-size:var(--ccs-fs-2xl);font-weight:600}._details_1qpgd_73{font-size:var(--ccs-fs-xs)}._card_t33n4_4{--tile-min-h:110px;--lh:1.28;height:100%;min-height:var(--grid-tile-min-h,var(--tile-min-h));border-color:var(--ccs-line);border-radius:12px;position:relative;overflow:hidden}._card_t33n4_4:hover{border-color:var(--ccs-primary)}._card_t33n4_4._clubCov_t33n4_19,._card_t33n4_4._clubCov_t33n4_19:hover{border-color:var(--ccs-violet)}._card_t33n4_4 ._body_t33n4_25{gap:var(--ccs-sp-2);height:100%;padding:var(--ccs-sp-3);flex-direction:column;display:flex}._card_t33n4_4 ._body_t33n4_25 ._code_t33n4_34{line-height:inherit;width:auto;padding:var(--ccs-sp-1) var(--ccs-sp-2);text-align:left;border:0;align-self:flex-start;margin:0}._card_t33n4_4 ._body_t33n4_25 ._flag_t33n4_44{line-height:inherit;border:0;margin:0}._card_t33n4_4 ._onBill_t33n4_50{top:var(--ccs-sp-2);right:var(--ccs-sp-2);z-index:1;position:absolute}._card_t33n4_4 ._name_t33n4_59{min-height:calc(var(--tile-lines) * var(--lh) * 1em);font-size:var(--ccs-fs-xs);font-weight:500;line-height:var(--lh);overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:var(--tile-lines);-webkit-box-orient:vertical;flex:1;margin:0;display:-webkit-box;overflow:hidden}._price_t33n4_75{font-family:var(--mono);font-size:var(--ccs-fs-base);flex-shrink:0;font-weight:600}@media (width<=1400px){._card_t33n4_4{--tile-min-h:96px;--lh:1.24}._card_t33n4_4 ._body_t33n4_25{padding:var(--ccs-sp-2);gap:var(--ccs-sp-1)}._card_t33n4_4 ._name_t33n4_59{font-size:var(--ccs-fs-2xs)}._card_t33n4_4 ._body_t33n4_25 ._code_t33n4_34{padding:var(--ccs-sp-0) var(--ccs-sp-2);font-size:var(--ccs-fs-2xs)}._price_t33n4_75{font-size:var(--ccs-fs-xs)}}.bkapp{--bg:var(--ccs-bg);--surface:var(--ccs-surface);--surface-2:var(--ccs-surface-2);--ink:var(--ccs-ink);--ink-2:var(--ccs-ink-2);--muted:var(--ccs-muted);--faint:var(--ccs-faint);--line:var(--ccs-line);--line-strong:var(--ccs-line-strong);--primary:var(--ccs-primary);--primary-d:var(--ccs-primary-d);--primary-soft:var(--ccs-primary-soft);--green:var(--ccs-success);--green-soft:var(--ccs-success-soft);--blue:var(--ccs-info);--blue-soft:var(--ccs-info-soft);--violet:var(--ccs-violet);--violet-soft:var(--ccs-violet-soft);--amber:var(--ccs-warning);--amber-soft:var(--ccs-warning-soft);--rose:var(--ccs-danger);--rose-soft:var(--ccs-danger-soft);--teal:var(--ccs-teal);--teal-soft:var(--ccs-teal-soft);--orange:var(--ccs-orange);--orange-soft:var(--ccs-orange-soft);--pink:var(--ccs-pink);--pink-soft:var(--ccs-pink-soft);--cyan:var(--ccs-cyan);--cyan-soft:var(--ccs-cyan-soft);--yellow:var(--ccs-yellow);--yellow-soft:var(--ccs-yellow-soft);--lgreen:var(--ccs-lime);--lgreen-soft:var(--ccs-lime-soft);--lred:var(--ccs-danger);--lred-soft:var(--ccs-danger-soft);--red:var(--ccs-red);--red-soft:var(--ccs-red-soft);--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(--ccs-page-bg);color:var(--ink);font-size:var(--ccs-fs-base);-webkit-font-smoothing:antialiased;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{align-items:center;gap:var(--ccs-sp-2) var(--ccs-sp-4);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;display:flex}.bkapp .brand{align-items:center;gap:var(--ccs-sp-3);flex-shrink:0;display:flex}.bkapp .logo{background:linear-gradient(135deg,var(--ccs-primary,var(--primary)),#8b7cff);width:34px;height:34px;color:var(--ccs-white);font-weight:700;font-size:var(--ccs-fs-lg);letter-spacing:-.5px;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.bkapp .brand .name{font-weight:600;font-size:var(--ccs-fs-md);white-space:nowrap;line-height:1.1}.bkapp .brand .branch{font-size:var(--ccs-fs-2xs);color:var(--muted);align-items:center;gap:var(--ccs-sp-1);margin-top:var(--ccs-sp-0);white-space:nowrap;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{align-items:center;gap:var(--ccs-sp-2);height:34px;padding:0 var(--ccs-sp-3);border-radius:var(--ccs-btn-r);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--ccs-fs-xs);color:var(--ink-2);white-space:nowrap;flex-shrink:0;font-weight:600;display:flex}.bkapp .pill-btn:hover{background:var(--surface-2)}.bkapp .tbtn{height:34px;padding:0 var(--ccs-sp-4);border-radius:var(--ccs-btn-r);font-size:var(--ccs-fs-base);align-items:center;gap:var(--ccs-sp-2);white-space:nowrap;border:none;flex-shrink:0;font-weight:600;display:flex}.bkapp .tbtn-book{background:var(--green-soft);color:var(--green)}.bkapp .tbtn-book:hover{background:var(--ccs-success-soft)}.bkapp .cashier{align-items:center;gap:var(--ccs-sp-2);padding-left:var(--ccs-sp-4);border-left:1px solid var(--line);white-space:nowrap;flex-shrink:0;display:flex}.bkapp .cashier .av{background:var(--ccs-orange-soft);width:30px;height:30px;color:var(--ccs-red);font-weight:700;font-size:var(--ccs-fs-xs);border-radius:50%;place-items:center;display:grid}.bkapp .cashier .t{font-size:var(--ccs-fs-xs);font-weight:600;line-height:1.1}.bkapp .cashier .s{font-size:var(--ccs-fs-2xs);color:var(--muted)}.bkapp .datenav{align-items:center;gap:var(--ccs-sp-2);margin-left:var(--ccs-sp-1);padding-left:var(--ccs-sp-4);border-left:1px solid var(--line);flex-shrink:0;display:flex}.bkapp .datenav button:not(.today){border:1px solid var(--line-strong);background:var(--ccs-surface);width:30px;height:30px;color:var(--ink-2);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:var(--ccs-fs-md);font-weight:700;font-family:var(--mono);line-height:1.1}.bkapp .datenav .dlabel .wd{font-size:var(--ccs-fs-2xs);color:var(--muted)}.bkapp .datenav .today{width:auto;height:30px;padding:0 var(--ccs-sp-4);background:var(--primary);color:var(--ccs-white);line-height:28px;font-size:var(--ccs-fs-xs);white-space:nowrap;box-sizing:border-box;box-shadow:var(--shadow);border:1px solid #0000;border-radius:8px;flex-shrink:0;align-items:center;font-weight:700;display:inline-flex}.bkapp .datenav .today:hover{background:var(--primary-d)}.bkapp .dlabel{cursor:pointer;padding:var(--ccs-sp-0) var(--ccs-sp-2);border-radius: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:var(--ccs-primary-soft)}.bkapp .datepicker-pop{background:var(--ccs-surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:var(--ccs-sp-3);z-index:30;cursor:default;border-radius:12px;width:250px;display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.bkapp .datepicker-pop.open{display:block}.bkapp .dp-head{margin-bottom:var(--ccs-sp-2);justify-content:space-between;align-items:center;display:flex}.bkapp .dp-head button{border:1px solid var(--line-strong);background:var(--ccs-surface);width:26px;height:26px;color:var(--ink-2);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.bkapp .dp-head button:hover{background:var(--surface-2)}.bkapp .dp-title{font-size:var(--ccs-fs-xs);color:var(--ink);font-weight:700}.bkapp .dp-grid{gap:var(--ccs-sp-0);grid-template-columns:repeat(7,1fr);display:grid}.bkapp .dp-wd{font-size:var(--ccs-fs-2xs);color:var(--faint);text-align:center;padding:var(--ccs-sp-1) 0;font-weight:600}.bkapp .dp-day{height:27px;font-size:var(--ccs-fs-2xs);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:var(--ccs-white);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{align-items:center;gap:var(--ccs-sp-2);background:var(--rose-soft);color:var(--rose);font-size:var(--ccs-fs-xs);padding:var(--ccs-sp-2) var(--ccs-sp-3);border-radius:9px;font-weight:600;display:none}.bkapp .dur-suggest{justify-content:space-between;align-items:center;gap:var(--ccs-sp-3);background:var(--amber-soft);color:var(--amber);font-size:var(--ccs-fs-xs);padding:var(--ccs-sp-2) var(--ccs-sp-3) var(--ccs-sp-2) var(--ccs-sp-3);border-radius:9px;margin-top:-8px;font-weight:600;display:none}.bkapp .dur-suggest.show{display:flex}.bkapp .dur-suggest span{line-height:1.35}.bkapp .dur-suggest button{height:28px;padding:0 var(--ccs-sp-3);border:1px solid var(--amber);background:var(--ccs-surface);color:var(--amber);font-size:var(--ccs-fs-2xs);white-space:nowrap;border-radius:7px;flex-shrink:0;font-weight:700}.bkapp .dur-suggest button:hover{background:var(--amber);color:var(--ccs-white)}.bkapp .nowctrl{align-items:center;gap:var(--ccs-sp-2);margin-left:var(--ccs-sp-4);font-size:var(--ccs-fs-2xs);color:var(--muted);flex-shrink:0;display:flex}.bkapp .nowctrl input{border:1px solid var(--line-strong);height:30px;padding:0 var(--ccs-sp-2);font-family:var(--mono);font-size:var(--ccs-fs-xs);background:var(--surface-2);border-radius:8px;width:92px}.bkapp .nowctrl input:focus{border-color:var(--primary);background:var(--ccs-surface);outline:none}.bkapp .footbar{align-items:center;gap:var(--ccs-sp-3);padding:var(--ccs-sp-2) var(--ccs-sp-0);box-shadow:none;background:0 0;border:none;flex-wrap:wrap;flex-shrink:0;margin-top:auto;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{height:32px;padding:0 var(--ccs-sp-5);background:var(--primary);color:var(--ccs-white);font-size:var(--ccs-fs-base);cursor:pointer;white-space:nowrap;border:none;border-radius:9px;margin-left:auto;font-weight:600}.bkapp .footbar .foot-new:hover{background:var(--primary-dark,var(--ccs-primary-d))}.bkapp .legend{align-items:center;gap:var(--ccs-sp-2) var(--ccs-sp-5);flex-wrap:wrap;flex:1;display:flex}.bkapp .legend .lg{align-items:center;gap:var(--ccs-sp-2);font-size:var(--ccs-fs-xs);color:var(--ink-2);white-space:nowrap;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);width:100%;height:34px;padding:0 var(--ccs-sp-3) 0 var(--ccs-sp-7);font-size:var(--ccs-fs-base);background:var(--surface-2);color:var(--ink);border-radius:9px}.bkapp .bsearch input:focus{border-color:var(--primary);background:var(--ccs-surface);box-shadow:0 0 0 3px var(--primary-soft);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);padding:var(--ccs-sp-2) var(--ccs-sp-3);align-items:center;gap:var(--ccs-sp-2);min-width:152px;height:58px;display:flex;position:sticky;top:0}.bkapp .cal-colhead .av{background:var(--ccs-primary-soft);width:30px;height:30px;color:var(--primary);font-weight:700;font-size:var(--ccs-fs-xs);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.bkapp .cal-colhead .nm{font-size:var(--ccs-fs-md);font-weight:600;line-height:1.2}.bkapp .cal-colhead .dp{font-size:var(--ccs-fs-2xs);color:var(--faint)}.bkapp .cal-colhead.has-col{box-shadow:inset 0 -3px 0 var(--col)}.bkapp .cal-colhead.has-col .av{background:var(--col);color:var(--ccs-white)}.bkapp .staffcol-wrap.has-col{background:var(--ccs-surface-2)}@supports (background:color-mix(in srgb,red 8%,transparent)){.bkapp .staffcol-wrap.has-col{background:color-mix(in srgb,var(--col) 8%,transparent)}}.bkapp .book-block .bnm .new-dot{margin-right:var(--ccs-sp-1);padding:var(--ccs-sp-0) var(--ccs-sp-1);background:var(--ccs-white);color:var(--ccs-ink);font-size:var(--ccs-fs-2xs);vertical-align:top;border-radius:4px;flex-shrink:0;font-weight:700;line-height:10px;display:inline-block}.bkapp .new-chip{font-size:var(--ccs-fs-2xs);padding:var(--ccs-sp-0) var(--ccs-sp-1);background:var(--ccs-white);color:var(--ccs-ink);text-overflow:ellipsis;border-radius:4px;flex-shrink:1;min-width:0;font-weight:600;overflow:hidden}.bkapp .cal-colhead.is-off{background:var(--surface-3,var(--ccs-surface-2))}.bkapp .cal-colhead.is-off .nm{color:var(--faint);font-weight:500}.bkapp .cal-colhead.is-off .av{background:var(--ccs-bg);color:var(--faint)}.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;font-size:var(--ccs-fs-2xs);color:var(--faint);font-family:var(--mono);text-align:right;padding:0 var(--ccs-sp-2);line-height:16px;position:relative}.bkapp .cal-timecell.hr{color:var(--ink-2);font-weight:600;font-size:var(--ccs-fs-2xs)}.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,var(--ccs-bg));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,var(--ccs-surface) 8px,var(--ccs-surface) 16px);cursor:not-allowed;pointer-events:none;position:absolute;inset:0}.bkapp .leave-overlay.offday{background:repeating-linear-gradient(135deg,var(--ccs-line),var(--ccs-line) 8px,var(--ccs-surface-2) 8px,var(--ccs-surface-2) 16px)}.bkapp .leave-banner{margin:var(--ccs-sp-2) auto 0;z-index:4;background:var(--rose);width:fit-content;color:var(--ccs-white);font-size:var(--ccs-fs-2xs);padding:var(--ccs-sp-1) var(--ccs-sp-3);box-shadow:var(--shadow);pointer-events:auto;border-radius:20px;font-weight:700;position:sticky;top:6px}.bkapp .leave-banner.offday{background:var(--ccs-muted)}.bkapp .drag-preview{z-index:4;background:var(--primary-soft);border:1.5px dashed var(--primary);font-family:var(--mono);font-size:var(--ccs-fs-xs);color:var(--primary-d);pointer-events:none;border-radius:8px;justify-content:center;align-items:center;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;padding:var(--ccs-sp-1) var(--ccs-sp-2) var(--ccs-sp-1);cursor:pointer;box-shadow:var(--shadow),0 0 0 1.5px var(--ccs-white);border-left:3px solid;border-radius:8px;flex-direction:column;gap:1px;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;padding-top:1px;padding-bottom:1px}.bkapp .book-block .bnm{font-size:var(--ccs-fs-2xs);height:12px;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-weight:700;line-height:12px;overflow:hidden}.bkapp .book-block .bnm .bsvc-in{opacity:.85;font-weight:500}.bkapp .book-block .bph,.bkapp .book-block .bsvc{font-size:var(--ccs-fs-2xs);height:11px;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-weight:500;line-height:11px;overflow:hidden}.bkapp .book-block .btm{font-size:var(--ccs-fs-2xs);height:16px;color:var(--muted);line-height:12px;font-family:var(--mono);align-items:center;gap:var(--ccs-sp-1);white-space:nowrap;flex-wrap:nowrap;flex-shrink:0;margin-top:auto;display:flex;overflow:hidden}.bkapp .note-flag{font-size:var(--ccs-fs-2xs);opacity:.85;pointer-events:none;line-height:1;position:absolute;top:3px;right:5px}.bkapp .book-block .bnote{font-size:var(--ccs-fs-2xs);color:var(--ink-2);opacity:.85;white-space:normal;-webkit-box-orient:vertical;flex-shrink:0;font-weight:500;line-height:11px;display:-webkit-box;overflow:hidden}.bkapp .stpill{font-size:var(--ccs-fs-2xs);letter-spacing:.3px;text-transform:uppercase;padding:var(--ccs-sp-0) var(--ccs-sp-2);color:var(--ccs-white);border-radius:4px;flex-shrink:0;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:var(--ccs-white)}.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,.bkapp .book-block.st-booked .bph,.bkapp .book-block.st-confirmed .bph,.bkapp .book-block.st-arrived .bph,.bkapp .book-block.st-billed .bph,.bkapp .book-block.st-noshow .bph,.bkapp .book-block.st-booked .bsvc,.bkapp .book-block.st-confirmed .bsvc,.bkapp .book-block.st-arrived .bsvc,.bkapp .book-block.st-billed .bsvc,.bkapp .book-block.st-noshow .bsvc{color:#ffffffe6}.bkapp .book-block.st-cancelled{background:repeating-linear-gradient(135deg,var(--ccs-surface-2),var(--ccs-surface-2) 6px,var(--ccs-bg) 6px,var(--ccs-bg) 12px);border-left-color:var(--line-strong);opacity:.7}.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);padding:var(--ccs-sp-5);z-index:50;background:#1418286b;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.bkapp .overlay.open{display:flex}.bkapp #simOverlay,.bkapp #sendMsgOverlay,.bkapp #delConfirmOverlay,.bkapp #delLogOverlay{z-index:60}.bkapp .modal{background:var(--ccs-surface);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;max-height:calc(100vh - 40px);display:flex;overflow:hidden}.bkapp .m-head{padding:var(--ccs-sp-4) var(--ccs-sp-6);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.bkapp .m-head h2{font-size:var(--ccs-fs-lg);font-weight:600}.bkapp .m-head h2 span{color:var(--muted);font-weight:500;font-size:var(--ccs-fs-base)}.bkapp .m-close{width:30px;height:30px;color:var(--muted);font-size:var(--ccs-fs-title);background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.bkapp .m-close:hover{background:var(--surface-2);color:var(--ink)}.bkapp .m-foot{padding:var(--ccs-sp-4) var(--ccs-sp-6);border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:var(--ccs-sp-3);display:flex}.bkapp .m-confirm{height:40px;padding:0 var(--ccs-sp-6);background:var(--primary);color:var(--ccs-white);font-size:var(--ccs-fs-base);border:none;border-radius:10px;min-width:90px;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:var(--ccs-red)}.bkapp .m-confirm.pos-btn{background:var(--primary-soft);color:var(--primary);justify-content:center;align-items:center;gap:var(--ccs-sp-2);text-decoration:none;display:inline-flex}.bkapp .m-confirm.pos-btn:hover{background:var(--ccs-primary-soft)}.bkapp .m-confirm.pos-btn.disabled{opacity:.45;pointer-events:none}.bkapp .modal.appt{width:min(1100px,96vw);max-height:92vh}.bkapp .appt-cols{gap:var(--ccs-sp-5);flex-shrink:0;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;display:grid}.bkapp .appt-status{flex-shrink:0}.bkapp .detail-actions.one-line>.mark-pill{white-space:nowrap;flex:auto}.bkapp .appt-col{gap:var(--ccs-sp-4);flex-direction:column;min-width:0;display:flex}.bkapp .appt-col .d-note{min-height:96px}.bkapp .cinfo{gap:var(--ccs-sp-2) var(--ccs-sp-3);font-size:var(--ccs-fs-xs);flex-wrap:wrap;align-items:center;margin-top:-8px;display:flex}.bkapp .cinfo .tier{margin-left:0}.bkapp .cinfo .ctag{font-size:var(--ccs-fs-2xs);padding:var(--ccs-sp-0) var(--ccs-sp-2);background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:999px;font-weight:600}.bkapp .cinfo-k{color:var(--muted)}.bkapp .cinfo-f b{color:var(--ink);font-weight:700}.bkapp .cinfo-f.warn b{color:var(--rose)}.bkapp .cinfo-loading{color:var(--faint)}.bkapp .cinfo-fail{color:var(--rose)}.bkapp .modal.bdetail{width:min(900px,96vw);max-height:92vh}.bkapp .bdetail-foot .m-confirm{min-width:128px}.bkapp .modal.bdetail .step-body{gap:var(--ccs-sp-3)}.bkapp .bd-head{align-items:center;gap:var(--ccs-sp-4);flex-shrink:0;display:flex}.bkapp .bd-head .status-banner{padding:var(--ccs-sp-2) var(--ccs-sp-4);flex-shrink:0}.bkapp .bd-head .sess-meta{flex:1;min-width:0}.bkapp .modal.bdetail .pending-box{align-items:baseline;gap:var(--ccs-sp-1) var(--ccs-sp-3);padding:var(--ccs-sp-2) var(--ccs-sp-4);flex-flow:wrap;flex-shrink:0}.bkapp .modal.bdetail .d-readbar>div{padding:var(--ccs-sp-3) var(--ccs-sp-4)}.bkapp .modal.bdetail .notify-box .dbtn{height:32px}.bkapp .modal.bdetail .action-group{margin-bottom:var(--ccs-sp-3)}.bkapp .modal.bdetail .action-group:last-child{margin-bottom:0}.bkapp .modal.bdetail .sec-title{margin-bottom:var(--ccs-sp-2)}.bkapp .note-row{gap:var(--ccs-sp-3);align-items:flex-end;display:flex}.bkapp .note-row .d-note{flex:1;min-height:52px}.bkapp .bdetail-foot .foot-left{margin-right:auto}.bkapp .modal.sim{width:min(420px,94vw)}.bkapp .appt-body,.bkapp .step-body{padding:var(--ccs-sp-5) var(--ccs-sp-6);scrollbar-gutter:stable;gap:var(--ccs-sp-4);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.bkapp .fld{gap:var(--ccs-sp-2);flex-direction:column;display:flex}.bkapp .fld>label{font-size:var(--ccs-fs-xs);color:var(--ink-2);font-weight:600}.bkapp .req{color:var(--rose);font-size:var(--ccs-fs-2xs);margin-left:var(--ccs-sp-0)}.bkapp .row2{gap:var(--ccs-sp-4);grid-template-columns:1fr 1fr;display:grid}.bkapp .row-datetime{gap:var(--ccs-sp-4);align-items:flex-start;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);height:42px;padding:0 var(--ccs-sp-3);font-size:var(--ccs-fs-base);background:var(--ccs-surface);width:100%;color:var(--ink);border-radius:9px}.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:var(--ccs-sp-2) var(--ccs-sp-3);flex-wrap:wrap;display:flex}.bkapp .time-range input[type=time]{border:1px solid var(--line-strong);min-width:0;height:42px;padding:0 var(--ccs-sp-3);font-family:var(--mono);font-size:var(--ccs-fs-base);background:var(--ccs-surface);border-radius:9px;flex:96px}.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);font-size:var(--ccs-fs-2xs);color:var(--primary);background:var(--primary-soft);padding:var(--ccs-sp-1) var(--ccs-sp-3);white-space:nowrap;border-radius:999px;flex-shrink:0;font-weight:700}.bkapp .dur-badge.bad{color:var(--rose);background:var(--rose-soft)}.bkapp .d-note{border:1px solid var(--line-strong);min-height:60px;padding:var(--ccs-sp-2) var(--ccs-sp-3);font-size:var(--ccs-fs-base);resize:vertical;border-radius:9px;width:100%}.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{background:var(--ccs-surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:20;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{align-items:center;gap:var(--ccs-sp-2);padding:var(--ccs-sp-2) var(--ccs-sp-3);cursor:pointer;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);font-size:var(--ccs-fs-2xs);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.bkapp .combo-item .cr-nm{font-size:var(--ccs-fs-base);font-weight:600}.bkapp .combo-item .cr-mt{font-size:var(--ccs-fs-2xs);color:var(--muted);font-family:var(--mono)}.bkapp .combo-walkin{border-bottom:1px solid var(--line);color:var(--primary);font-weight:600}.bkapp .combo-none{padding:var(--ccs-sp-4);text-align:center;color:var(--faint);font-size:var(--ccs-fs-xs)}.bkapp .tier{font-size:var(--ccs-fs-2xs);letter-spacing:.4px;background:linear-gradient(135deg,var(--ccs-yellow),var(--ccs-yellow));color:var(--ccs-white);padding:1px var(--ccs-sp-2);margin-left:var(--ccs-sp-2);border-radius:5px;font-weight:700}.bkapp .notify-box{background:var(--surface-2);border:1px solid var(--line);padding:var(--ccs-sp-3) var(--ccs-sp-4);gap:var(--ccs-sp-3);border-radius:10px;flex-direction:column;display:flex}.bkapp .status-banner{align-items:center;gap:var(--ccs-sp-2);padding:var(--ccs-sp-3) var(--ccs-sp-4);font-size:var(--ccs-fs-md);border-radius:9px;font-weight:700;display:flex}.bkapp .d-readbar{row-gap:var(--ccs-sp-3);flex-shrink:0;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.6fr);grid-auto-rows:1fr;display:grid}.bkapp .d-readbar>div{min-width:0;padding:var(--ccs-sp-3) var(--ccs-sp-5);justify-content:center;gap:var(--ccs-sp-1);background:var(--surface-2);border:1px solid var(--line);border-right:none;flex-direction:column;display:flex}.bkapp .d-readbar>div:first-child{border-radius:10px 0 0 10px}.bkapp .d-readbar>div:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}.bkapp .d-readbar .dk{font-size:var(--ccs-fs-2xs);color:var(--faint);text-transform:uppercase;letter-spacing:.5px}.bkapp .d-readbar .dv{font-family:var(--mono);font-size:var(--ccs-fs-base);white-space:normal;overflow-wrap:anywhere;font-weight:600;line-height:1.45}.bkapp .sess-meta{align-items:center;gap:var(--ccs-sp-3);display:flex}.bkapp .sess-meta .av{background:var(--ccs-primary-soft);width:36px;height:36px;color:var(--primary);font-weight:700;font-size:var(--ccs-fs-base);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.bkapp .sess-meta .info{flex:1;min-width:0}.bkapp .sess-meta .nm{font-size:var(--ccs-fs-base);font-weight:600;line-height:1.2}.bkapp .sess-meta .mt{font-size:var(--ccs-fs-2xs);color:var(--muted);font-family:var(--mono);margin-top:var(--ccs-sp-0)}.bkapp .pending-box{background:var(--orange-soft);border:1px solid var(--orange);padding:var(--ccs-sp-3) var(--ccs-sp-4);gap:var(--ccs-sp-2);border-radius:10px;flex-direction:column;display:flex}.bkapp .pending-box .pk{font-size:var(--ccs-fs-2xs);color:var(--orange);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.bkapp .pending-box .pv{font-family:var(--mono);font-size:var(--ccs-fs-base);color:var(--ink);font-weight:600}.bkapp .detail-actions{gap:var(--ccs-sp-2);flex-wrap:wrap;display:flex}.bkapp .action-group{gap:var(--ccs-sp-2);margin-bottom:var(--ccs-sp-4);flex-direction:column;display:flex}.bkapp .action-group:last-child{margin-bottom:0}.bkapp .mark-pill.stpill{font-size:var(--ccs-fs-2xs);letter-spacing:.2px;text-transform:none;padding:var(--ccs-sp-2) var(--ccs-sp-3);cursor:pointer;border:2px solid #0000;border-radius:7px;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{height:38px;padding:0 var(--ccs-sp-4);border:1px solid var(--line-strong);background:var(--ccs-surface);font-size:var(--ccs-fs-base);color:var(--ink-2);align-items:center;gap:var(--ccs-sp-2);border-radius:9px;font-weight:600;display:flex}.bkapp .dbtn:hover{background:var(--surface-2)}.bkapp .dbtn.primary{background:var(--primary);border-color:var(--primary);color:var(--ccs-white)}.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{background:var(--ccs-surface);color:var(--rose);border-color:var(--rose)}.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{font-size:var(--ccs-fs-2xs);text-transform:uppercase;letter-spacing:.7px;color:var(--faint);margin-bottom:var(--ccs-sp-3);font-weight:700}.bkapp .note-txt{font-size:var(--ccs-fs-base);color:var(--ink-2);line-height:1.5}.bkapp .sim-link-card{background:var(--surface-2);border:1px dashed var(--line-strong);padding:var(--ccs-sp-3) var(--ccs-sp-3);font-family:var(--mono);font-size:var(--ccs-fs-2xs);color:var(--muted);word-break:break-all;border-radius:10px}.bkapp .sim-appt-card{background:var(--ccs-surface);border:1px solid var(--line);padding:var(--ccs-sp-4);gap:var(--ccs-sp-2);border-radius:12px;flex-direction:column;display:flex}.bkapp .sim-appt-card .svc{font-size:var(--ccs-fs-lg);font-weight:700}.bkapp .sim-appt-card .mt{font-size:var(--ccs-fs-xs);color:var(--muted);font-family:var(--mono)}.bkapp .sim-actions{gap:var(--ccs-sp-3);display:flex}.bkapp .sim-btn{height:44px;font-size:var(--ccs-fs-base);justify-content:center;align-items:center;gap:var(--ccs-sp-2);border:none;border-radius:10px;flex:1;font-weight:700;display:flex}.bkapp .sim-btn.accept{background:var(--green);color:var(--ccs-white)}.bkapp .sim-btn.accept:hover{background:var(--ccs-success)}.bkapp .sim-btn.resched{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line-strong)}.bkapp .sim-btn.resched:hover{background:var(--ccs-bg)}.bkapp ::-webkit-scrollbar{width:9px;height:9px}.bkapp ::-webkit-scrollbar-thumb{background:var(--ccs-line-strong);background-clip:padding-box;border:2px solid #0000;border-radius:6px}.bkapp ::-webkit-scrollbar-thumb:hover{background:var(--ccs-faint);background-clip:padding-box}@media (width<=1400px){.bkapp .cal-colhead{min-width:132px}}@media (width<=900px){.bkapp .modal.appt{width:min(780px,96vw)}.bkapp .appt-cols{grid-template-columns:minmax(0,1fr)}}@media (width<=820px){.bkapp .topbar{height:auto}.bkapp .datenav{padding-left:var(--ccs-sp-2);margin-left:0}.bkapp .nowctrl{margin-left:var(--ccs-sp-2)}.bkapp .bsearch{min-width:140px}}@media (width<=760px){.bkapp .d-readbar{grid-template-columns:1fr 1fr}.bkapp .d-readbar>div:nth-child(odd){border-right:none;border-radius:10px 0 0 10px}.bkapp .d-readbar>div:nth-child(2n){border-right:1px solid var(--line);border-radius:0 10px 10px 0}.bkapp .bdetail-foot .m-confirm{min-width:0}}@media (width<=560px){.bkapp .app{padding:var(--ccs-sp-2);gap:var(--ccs-sp-2)}.bkapp .topbar{gap:var(--ccs-sp-2) var(--ccs-sp-3);padding:var(--ccs-sp-2) var(--ccs-sp-3);flex-wrap:wrap}.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(n){border:1px solid var(--line);border-radius:10px}.bkapp .bd-head{gap:var(--ccs-sp-2);flex-wrap:wrap}.bkapp .note-row{flex-direction:column;align-items:stretch}.bkapp .row-datetime{flex-direction:column}.bkapp .row-datetime .dt-date{flex:none}.bkapp .m-head{padding:var(--ccs-sp-3) var(--ccs-sp-4)}.bkapp .m-foot{padding:var(--ccs-sp-3) var(--ccs-sp-4);flex-wrap:wrap}.bkapp .appt-body,.bkapp .step-body{padding:var(--ccs-sp-4)}}.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;font-size:var(--ccs-fs-2xs);color:var(--faint);cursor:pointer;margin-top:var(--ccs-sp-0);text-decoration:underline}.bkapp .sim-optout:hover{color:var(--muted)}.bkapp .sim-optout-note{background:var(--surface-2);border:1px solid var(--line);padding:var(--ccs-sp-3) var(--ccs-sp-3);font-size:var(--ccs-fs-xs);color:var(--ink-2);text-align:center;border-radius:10px}.bkapp .app-toast{background:var(--ink);color:var(--ccs-white);font-size:var(--ccs-fs-base);padding:var(--ccs-sp-3) var(--ccs-sp-5);box-shadow:var(--shadow-lg);z-index:200;opacity:0;pointer-events:none;border-radius:11px;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,var(--ccs-warning));color:var(--amber,var(--ccs-warning));background:var(--ccs-warning-soft)}.bkapp .wait-n{margin-left:var(--ccs-sp-2);min-width:18px;padding:0 var(--ccs-sp-1);background:var(--amber,var(--ccs-warning));color:var(--ccs-white);font-size:var(--ccs-fs-2xs);text-align:center;border-radius:9px;font-weight:700;display:inline-block}.bkapp .wait-card{border:1px solid var(--line);padding:var(--ccs-sp-3) var(--ccs-sp-4);margin-bottom:var(--ccs-sp-3);border-radius:12px}.bkapp .wait-card .sess-meta{align-items:flex-start;gap:var(--ccs-sp-3);margin-bottom:var(--ccs-sp-3);display:flex}.bkapp .wait-card .av{background:var(--ccs-primary-soft);width:36px;height:36px;color:var(--ccs-primary);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.bkapp .wait-card .info{flex:1;min-width:0}.bkapp .wait-card .nm{font-size:var(--ccs-fs-md);font-weight:600}.bkapp .wait-card .mt{font-size:var(--ccs-fs-xs);color:var(--muted);margin-top:var(--ccs-sp-0)}.bkapp .wait-kind{margin-left:var(--ccs-sp-2);padding:1px var(--ccs-sp-2);font-size:var(--ccs-fs-2xs);letter-spacing:.3px;background:var(--ccs-primary-soft);color:var(--ccs-primary);border-radius:6px;font-weight:700;display:inline-block}.bkapp .wait-kind.resched{background:var(--ccs-warning-soft);color:var(--amber,var(--ccs-warning))}.bkapp .book-block .broom,.bkapp .book-block .bstaff{font-family:var(--font);padding:0 var(--ccs-sp-1);white-space:nowrap;text-overflow:ellipsis;background:#00000014;border-radius:4px;max-width:100%;font-weight:600;overflow:hidden}.bkapp .book-block.st-booked .broom,.bkapp .book-block.st-booked .bstaff,.bkapp .book-block.st-confirmed .broom,.bkapp .book-block.st-confirmed .bstaff,.bkapp .book-block.st-arrived .broom,.bkapp .book-block.st-arrived .bstaff,.bkapp .book-block.st-billed .broom,.bkapp .book-block.st-billed .bstaff,.bkapp .book-block.st-noshow .broom,.bkapp .book-block.st-noshow .bstaff{color:var(--ccs-white);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{gap:var(--ccs-sp-3);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow-y:auto}.bkapp .sum-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:var(--ccs-sp-3);border-radius:12px}.bkapp .sum-trays{gap:var(--ccs-sp-2);flex-direction:column;display:flex}.bkapp .sum-stats{gap:var(--ccs-sp-2);display:flex}.bkapp .sum-stat{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:var(--ccs-sp-3) var(--ccs-sp-3);border-radius:12px;flex:1;min-width:0}.bkapp .sum-stat .k{font-size:var(--ccs-fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bkapp .sum-stat .v{font-size:var(--ccs-fs-2xl);font-weight:700;font-family:var(--mono,ui-monospace);margin-top:var(--ccs-sp-0)}.bkapp .sum-stat .v.accent{color:var(--primary)}.bkapp .sum-head{font-size:var(--ccs-fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:var(--ccs-sp-0) var(--ccs-sp-0) var(--ccs-sp-2);justify-content:space-between;align-items:center;font-weight:700;display:flex}.bkapp .sum-list{gap:var(--ccs-sp-2);flex-direction:column;display:flex}.bkapp .sum-row{align-items:center;gap:var(--ccs-sp-3);background:var(--surface-2);padding:var(--ccs-sp-2) var(--ccs-sp-3);cursor:pointer;text-align:left;width:100%;font:inherit;border:1px solid #0000;border-radius:9px;display:flex}.bkapp .sum-row:hover{border-color:var(--line-strong);background:var(--ccs-surface)}.bkapp .sum-row .tm{font-size:var(--ccs-fs-xs);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%;font-size:var(--ccs-fs-base);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.bkapp .sum-row .who .s{max-width:100%;font-size:var(--ccs-fs-2xs);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.bkapp .sum-row .stpill{flex-shrink:0}.bkapp .sum-empty{font-size:var(--ccs-fs-xs);color:var(--faint);text-align:center;padding:var(--ccs-sp-4) var(--ccs-sp-2)}.bkapp .sum-modes{gap:var(--ccs-sp-2);display:flex}.bkapp .sum-modes button{border:1px solid var(--line-strong);background:var(--ccs-surface);height:32px;font-size:var(--ccs-fs-xs);color:var(--ink-2);cursor:pointer;border-radius:9px;flex:1;font-weight:600}.bkapp .sum-modes button.on{background:var(--primary);border-color:var(--primary);color:var(--ccs-white)}.bkapp .sum-modes .today{padding:0 var(--ccs-sp-3);color:var(--muted);flex:none}.bkapp .sum-modes .today:hover{color:var(--ink);border-color:var(--ink-2)}.bkapp .sum-trayrow{gap:var(--ccs-sp-2);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);padding:var(--ccs-sp-3);border-radius:12px;flex-direction:column;flex:1;display:flex;overflow:auto}.bkapp .mgrid-wd{gap:var(--ccs-sp-2);margin-bottom:var(--ccs-sp-2);grid-template-columns:repeat(7,1fr);display:grid}.bkapp .mgrid-wd div{font-size:var(--ccs-fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;font-weight:700}.bkapp .mgrid-days{gap:var(--ccs-sp-2);flex:1;grid-template-columns:repeat(7,1fr);display:grid}.bkapp .mcell{background:var(--surface-2);padding:var(--ccs-sp-2) var(--ccs-sp-3);cursor:pointer;text-align:left;font:inherit;gap:var(--ccs-sp-1);border:1px solid #0000;border-radius:10px;flex-direction:column;min-height:72px;display:flex}.bkapp .mcell:hover{border-color:var(--line-strong)}.bkapp .mcell.out{opacity:.45}.bkapp .mcell.sel{background:var(--primary);color:var(--ccs-white)}.bkapp .mcell .dnum{font-size:var(--ccs-fs-base);font-weight:700;font-family:var(--mono,ui-monospace)}.bkapp .mcell .cnt{font-size:var(--ccs-fs-2xs);background:var(--primary-soft);color:var(--primary);padding:1px var(--ccs-sp-2);border-radius:6px;align-self:flex-start;font-weight:700}.bkapp .mcell.sel .cnt{color:var(--ccs-white);background:#ffffff38}@media (width<=1100px){.bkapp .summary-col{width:100%}}.bkapp .fld>label.lbl-row{justify-content:space-between;align-items:center;gap:var(--ccs-sp-2);flex-direction:row;display:flex}.bkapp .lbl-act{cursor:pointer;font-size:var(--ccs-fs-xs);color:var(--primary);background:0 0;border:none;padding:0;font-family:inherit;font-weight:700}.bkapp .lbl-act:hover{text-decoration:underline}.bkapp .combo-none .lbl-act{margin-top:var(--ccs-sp-2)}.bkbranch{align-items:center;gap:var(--ccs-sp-2);font-size:var(--ccs-fs-xs);color:var(--muted,var(--ccs-muted));padding-left:var(--ccs-sp-3);margin-left:var(--ccs-sp-1);border-left:1px solid var(--line,var(--ccs-line));flex-shrink:0;display:flex}.bkbranch>span{letter-spacing:.02em;text-transform:uppercase;font-weight:600;font-size:var(--ccs-fs-2xs)}.bkbranch select{border:1px solid var(--line,var(--ccs-line));background:var(--ccs-surface);padding:var(--ccs-sp-1) var(--ccs-sp-2);font-size:var(--ccs-fs-xs);color:var(--ink,var(--ccs-ink));cursor:pointer;border-radius:8px;max-width:160px;font-weight:600}.bkbranch em{font-style:normal;font-size:var(--ccs-fs-2xs);color:var(--ccs-primary);background:rgba(var(--ccs-primary-rgb), .08);padding:var(--ccs-sp-0) var(--ccs-sp-2);white-space:nowrap;border-radius:999px;font-weight:700}.bkapp .cal-hour-skel{background:var(--line-strong);opacity:.45;vertical-align:middle;border-radius:3px;width:26px;height:8px;display:inline-block}.bkapp .cal-colhead.no-room{background:var(--surface-2)}.bkapp .cal-colhead .cnt{background:var(--primary);color:var(--ccs-white);padding:0 var(--ccs-sp-2);font-size:var(--ccs-fs-2xs);border-radius:10px;margin-left:auto;font-weight:700}.bkapp .pin-flag{font-size:var(--ccs-fs-xs);position:absolute;top:2px;right:4px}.bkapp .pin-row{align-items:center;gap:var(--ccs-sp-2);margin:var(--ccs-sp-2) 0;display:flex}.bkapp .pin-hint{color:var(--muted);font-size:var(--ccs-fs-2xs)}.bkapp .rooms-hint{color:var(--muted);font-size:var(--ccs-fs-xs);padding:var(--ccs-sp-2) var(--ccs-sp-3)}.bkapp .busy-note{background:var(--ccs-warning-soft);color:var(--ccs-warning);border:1px solid var(--ccs-warning);padding:var(--ccs-sp-2) var(--ccs-sp-3);margin:var(--ccs-sp-2) 0;cursor:pointer;border-radius:6px}.bkapp .book-block[draggable=true]{cursor:grab}.bkapp .mfig{gap:var(--ccs-sp-1);margin-top:var(--ccs-sp-1);flex-wrap:wrap;display:flex}.bkapp .mfig-chip{font-size:var(--ccs-fs-2xs);color:var(--ccs-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.bkapp .mfig-chip b{color:var(--ccs-ink);font-weight:600}.bkapp .cal-grid.has-fig .cal-corner,.bkapp .cal-grid.has-fig .cal-colhead{align-self:stretch;height:auto;min-height:76px}.bkapp .cal-grid.has-fig .cal-colhead>div:not(.av){min-width:0}.invapp{--bg:var(--ccs-bg);--surface:var(--ccs-surface);--surface-2:var(--ccs-surface-2);--ink:var(--ccs-ink);--ink-2:var(--ccs-ink-2);--muted:var(--ccs-muted);--faint:var(--ccs-faint);--line:var(--ccs-line);--line-strong:var(--ccs-line-strong);--primary:var(--ccs-primary);--primary-d:var(--ccs-primary-d);--primary-soft:var(--ccs-primary-soft);--green:var(--ccs-success);--green-soft:var(--ccs-success-soft);--blue:var(--ccs-info);--blue-soft:var(--ccs-info-soft);--violet:var(--ccs-violet);--violet-soft:var(--ccs-violet-soft);--amber:var(--ccs-warning);--amber-soft:var(--ccs-warning-soft);--rose:var(--ccs-danger);--rose-soft:var(--ccs-danger-soft);--teal:var(--ccs-teal);--teal-soft:var(--ccs-teal-soft);--orange:var(--ccs-orange);--orange-soft:var(--ccs-orange-soft);--pink:var(--ccs-pink);--pink-soft:var(--ccs-pink-soft);--cyan:var(--ccs-cyan);--cyan-soft:var(--ccs-cyan-soft);--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(--ccs-page-bg);color:var(--ink);font-size:var(--ccs-fs-base);-webkit-font-smoothing:antialiased;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{align-items:center;gap:var(--ccs-sp-4);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;display:flex}.invapp .brand{align-items:center;gap:var(--ccs-sp-3);display:flex}.invapp .logo{background:linear-gradient(135deg,var(--ccs-primary,var(--primary)),#8b7cff);width:34px;height:34px;color:var(--ccs-white);font-weight:700;font-size:var(--ccs-fs-lg);letter-spacing:-.5px;border-radius:9px;place-items:center;display:grid}.invapp .brand .name{font-weight:600;font-size:var(--ccs-fs-md);line-height:1.1}.invapp .brand .branch{font-size:var(--ccs-fs-2xs);color:var(--muted);align-items:center;gap:var(--ccs-sp-1);margin-top:var(--ccs-sp-0);display:flex}.invapp .branch .dot{background:var(--green);border-radius:50%;width:6px;height:6px}.invapp .inv{align-items:center;gap:var(--ccs-sp-5);margin-left:var(--ccs-sp-2);padding-left:var(--ccs-sp-5);border-left:1px solid var(--line);display:flex}.invapp .inv .k{font-size:var(--ccs-fs-2xs);color:var(--faint);text-transform:uppercase;letter-spacing:.6px}.invapp .inv .v{font-size:var(--ccs-fs-base);font-weight:600;font-family:var(--mono)}.invapp .spacer{flex:1}.invapp .pill-btn{align-items:center;gap:var(--ccs-sp-2);height:40px;padding:0 var(--ccs-sp-4);border-radius:var(--ccs-btn-r);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--ccs-fs-xs);color:var(--ink-2);font-weight:600;display:flex;position:relative}.invapp .pill-btn:hover{background:var(--surface-2)}.invapp .badge{background:var(--amber-soft);color:var(--amber);padding:1px var(--ccs-sp-2);font-weight:700;font-size:var(--ccs-fs-2xs);font-family:var(--mono);border-radius:6px}.invapp .cashier{align-items:center;gap:var(--ccs-sp-2);padding-left:var(--ccs-sp-4);border-left:1px solid var(--line);display:flex}.invapp .cashier .av{background:var(--ccs-orange-soft);width:30px;height:30px;color:var(--ccs-red);font-weight:700;font-size:var(--ccs-fs-xs);border-radius:50%;place-items:center;display:grid}.invapp .cashier .t{font-size:var(--ccs-fs-xs);font-weight:600;line-height:1.1}.invapp .cashier .s{font-size:var(--ccs-fs-2xs);color:var(--muted)}.invapp .tabbar{background:var(--surface);border:1px solid var(--line);padding:var(--ccs-sp-3) var(--ccs-sp-4);box-shadow:var(--shadow);border-radius:12px;flex-shrink:0}.invapp .tabs{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;gap:0;display:flex;overflow:hidden}.invapp .tab{appearance:none;min-width:0;min-height:44px;padding:var(--ccs-sp-3) var(--ccs-sp-2);font-size:var(--ccs-fs-base);letter-spacing:-.1px;color:var(--muted);border:none;border-right:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;justify-content:center;align-items:center;gap:var(--ccs-sp-2);background:0 0;flex:1 1 0;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{background:var(--ccs-surface);color:var(--primary-d)}.invapp .subtabs{min-width:0;margin-top:0}.invapp .subtabs .tabs{gap:var(--ccs-sp-2);background:0 0;border:none;width:fit-content}.invapp .subtabs .tab{border:1px solid var(--line-strong);min-height:40px;padding:var(--ccs-sp-2) var(--ccs-sp-4);border-radius:8px;flex:none}.invapp .subtabs .tab.active{border-color:var(--primary)}.invapp .view{gap:var(--ccs-sp-3);flex-direction:column;flex:1;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{align-items:center;gap:var(--ccs-sp-3);padding:var(--ccs-sp-3) var(--ccs-sp-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.invapp .panel-head .hint{text-align:right;flex:1}.invapp .panel-body{padding:var(--ccs-sp-4) var(--ccs-sp-4);flex:1;overflow-y:auto}.invapp .list-col{gap:var(--ccs-sp-3);flex-direction:column;display:flex}.invapp .sess-card{border:1px solid var(--line);padding:var(--ccs-sp-3) var(--ccs-sp-4);border-radius:11px}.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:var(--ccs-sp-2);display:flex}.invapp .sess-meta{align-items:center;gap:var(--ccs-sp-3);display:flex}.invapp .sess-meta .av{background:var(--ccs-primary-soft);width:36px;height:36px;color:var(--primary);font-weight:700;font-size:var(--ccs-fs-lg);border-radius:9px;flex-shrink:0;place-items:center;display:grid;position:relative}.invapp .disc-badge{background:var(--rose);width:15px;height:15px;color:var(--ccs-white);font-size:var(--ccs-fs-2xs);text-align:center;border:2px solid var(--surface,var(--ccs-white));border-radius:50%;font-weight:800;line-height:15px;position:absolute;top:-5px;right:-5px}.invapp .disc-badge-inline{background:var(--rose);width:14px;height:14px;color:var(--ccs-white);font-size:var(--ccs-fs-2xs);margin-left:var(--ccs-sp-1);vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;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:var(--ccs-fs-base);font-weight:600;line-height:1.2}.invapp .sess-meta .mt{font-size:var(--ccs-fs-2xs);color:var(--muted);font-family:var(--mono);margin-top:var(--ccs-sp-1)}.invapp .sess-meta .big-tag{font-family:var(--mono);font-size:var(--ccs-fs-lg);font-weight:700}.invapp .sess-meta .big-tag.due{color:var(--rose)}.invapp .sess-empty{color:var(--faint);text-align:center;padding:var(--ccs-sp-7) var(--ccs-sp-3);font-size:var(--ccs-fs-xs)}.invapp .chev{color:var(--faint);flex-shrink:0}.invapp .kbadge{font-size:var(--ccs-fs-2xs);letter-spacing:.4px;padding:var(--ccs-sp-0) var(--ccs-sp-2);white-space:nowrap;border-radius:5px;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{height:40px;padding:0 var(--ccs-sp-4);border-radius:var(--ccs-btn-r);font-size:var(--ccs-fs-base);align-items:center;gap:var(--ccs-sp-2);border:1px solid var(--line-strong);background:var(--ccs-surface);color:var(--ink-2);font-weight:600;display:inline-flex}.invapp .btn:hover{background:var(--surface-2)}.invapp .btn.primary{background:var(--primary);color:var(--ccs-white);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:var(--ccs-fs-xs)}.invapp table.grid thead th{z-index:2;background:var(--surface-2);text-align:left;font-size:var(--ccs-fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:var(--ccs-sp-2) var(--ccs-sp-3);border-bottom:1px solid var(--line-strong);white-space:nowrap;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:var(--ccs-surface-2)}.invapp .cell{padding:var(--ccs-sp-3);align-items:center;min-height:50px;display:flex}.invapp .cell.num{font-family:var(--mono);font-variant-numeric:tabular-nums;justify-content:flex-end}.invapp .code{font-family:var(--mono);font-size:var(--ccs-fs-xs);color:var(--ink-2)}.invapp .desc{color:var(--ink);font-weight:500;display:block}.invapp .sub{font-size:var(--ccs-fs-2xs);color:var(--faint);margin-top:var(--ccs-sp-0)}.invapp .qstep{border:1px solid var(--line-strong);background:var(--ccs-surface);border-radius:9px;align-items:center;height:40px;display:inline-flex;overflow:hidden}.invapp .qstep-btn{background:var(--ccs-surface);width:38px;height:38px;color:var(--ink-2);font-size:var(--ccs-fs-xl);border:none;flex-shrink:0;place-items:center;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);font-size:var(--ccs-fs-md);background:0 0;padding:0;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{font-size:var(--ccs-fs-2xs);letter-spacing:.4px;padding:1px var(--ccs-sp-1);border-radius:4px;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);padding:var(--ccs-sp-5);z-index:50;background:#1418286b;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.invapp .overlay.open{display:flex}.invapp .modal{background:var(--ccs-surface);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.invapp .m-head{padding:var(--ccs-sp-4) var(--ccs-sp-6);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.invapp .m-head h2{font-size:var(--ccs-fs-lg);font-weight:600}.invapp .m-head h2 span{color:var(--muted);font-weight:500}.invapp .m-close{width:36px;height:36px;color:var(--muted);font-size:var(--ccs-fs-title);background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.invapp .m-close:hover{background:var(--surface-2);color:var(--ink)}.invapp .m-foot{padding:var(--ccs-sp-4) var(--ccs-sp-6);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--ccs-sp-3);display:flex}.invapp .m-confirm{height:44px;padding:0 var(--ccs-sp-6);background:var(--primary);color:var(--ccs-white);font-size:var(--ccs-fs-base);border:none;border-radius:10px;min-width:120px;font-weight:600}.invapp .m-confirm:disabled{opacity:.45;cursor:not-allowed}.invapp .m-confirm:hover{background:var(--primary-d)}.invapp .m-confirm.sm{height:40px;padding:0 var(--ccs-sp-4);font-size:var(--ccs-fs-xs);border-radius:9px;min-width:96px}.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:var(--ccs-red)}.invapp .d-body{padding:var(--ccs-sp-4) var(--ccs-sp-6);overflow-y:auto}.invapp .d-readbar{background:var(--surface-2);border:1px solid var(--line);margin-bottom:var(--ccs-sp-4);border-radius:10px;grid-template-columns:1fr 1fr 1fr 1fr;display:grid;overflow:hidden}.invapp .d-readbar>div{padding:var(--ccs-sp-3) var(--ccs-sp-4);gap:var(--ccs-sp-1);flex-direction:column;display:flex}.invapp .d-readbar>div+div{border-left:1px solid var(--line)}.invapp .d-readbar .dk{font-size:var(--ccs-fs-2xs);color:var(--faint);text-transform:uppercase;letter-spacing:.5px}.invapp .d-readbar .dv{font-family:var(--mono);font-size:var(--ccs-fs-base);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{padding:var(--ccs-sp-5) var(--ccs-sp-6);gap:var(--ccs-sp-3);flex-direction:column;display:flex;overflow-y:auto}.invapp .fld{gap:var(--ccs-sp-2);margin-bottom:var(--ccs-sp-4);flex-direction:column;display:flex}.invapp .fld>label{font-size:var(--ccs-fs-2xs);color:var(--muted);align-items:center;font-weight:500;display:flex}.invapp .req{color:var(--rose);font-size:var(--ccs-fs-2xs);margin-left:var(--ccs-sp-1);font-weight:600}.invapp .d-text{border:1px solid var(--line-strong);padding:0 var(--ccs-sp-3);font-size:var(--ccs-fs-base);background:var(--ccs-surface);border-radius:9px;width:100%;height:40px}.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);min-height:64px;padding:var(--ccs-sp-2) var(--ccs-sp-3);font-size:var(--ccs-fs-base);resize:vertical;border-radius:9px;width:100%}.invapp .d-note:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.invapp .policy-warn{font-size:var(--ccs-fs-2xs);color:var(--rose);margin-top:var(--ccs-sp-2);font-weight:500;display:none}.invapp .policy-warn.show{display:block}.invapp .policy-ok{font-size:var(--ccs-fs-2xs);color:var(--green);margin-top:var(--ccs-sp-2);font-weight:500;display:none}.invapp .policy-ok.show{display:block}.invapp .hint{font-size:var(--ccs-fs-2xs);color:var(--faint)}.invapp .note-box{gap:var(--ccs-sp-2);padding:var(--ccs-sp-3) var(--ccs-sp-3);font-size:var(--ccs-fs-xs);margin-bottom:var(--ccs-sp-3);border-radius:9px;align-items:flex-start;line-height:1.5;display:flex}.invapp .note-box.info{background:var(--blue-soft);color:var(--ccs-primary)}.invapp .note-box.warn{background:var(--amber-soft);color:var(--amber)}.invapp .note-box.good{background:var(--green-soft);color:var(--green)}.invapp .addline{gap:var(--ccs-sp-3);flex-wrap:wrap;align-items:flex-end;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{height:40px;padding:0 var(--ccs-sp-5);flex-shrink:0}.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{padding:var(--ccs-sp-2) var(--ccs-sp-3);font-size:var(--ccs-fs-base);cursor:pointer;color:var(--ink-2)}.invapp .ssel-opt:hover,.invapp .ssel-opt.hi{background:var(--primary-soft);color:var(--primary-d)}.invapp .ssel-empty{padding:var(--ccs-sp-2) var(--ccs-sp-3);font-size:var(--ccs-fs-xs);color:var(--faint);font-style:italic}.invapp .pickline{align-items:center;gap:var(--ccs-sp-3);padding:var(--ccs-sp-3) var(--ccs-sp-4);border:1px solid var(--line);margin-top:var(--ccs-sp-3);background:var(--ccs-surface);border-radius:10px;display:flex}.invapp .pickline .code{flex-shrink:0;width:56px}.invapp .pickline .nm2{font-size:var(--ccs-fs-xs);flex:1}.invapp .pickline .onhand{font-size:var(--ccs-fs-2xs);color:var(--muted);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{gap:var(--ccs-sp-3);margin-top:var(--ccs-sp-4);grid-template-columns:repeat(3,1fr);display:grid}.invapp .stat-box{padding:var(--ccs-sp-3);text-align:center;border-radius:9px}.invapp .stat-box .n{font-family:var(--mono);font-weight:700;font-size:var(--ccs-fs-lg)}.invapp .stat-box .l{font-size:var(--ccs-fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:var(--ccs-sp-0)}.invapp .ma-wrap{max-width:680px;margin:0 auto}.invapp .ma-card{border:1px solid var(--line);padding:var(--ccs-sp-6) var(--ccs-sp-6);background:var(--surface-2);border-radius:12px}.invapp .ma-card .note-box{margin-bottom:var(--ccs-sp-4)}.invapp .ma-section+.ma-section{margin-top:var(--ccs-sp-5);padding-top:var(--ccs-sp-5);border-top:1px solid var(--line)}.invapp .ma-row2{gap:var(--ccs-sp-4);grid-template-columns:1fr 1fr;display:grid}.invapp .ma-row2 .fld{margin-bottom:0}.invapp .ma-qty-block{justify-content:space-between;align-items:center;gap:var(--ccs-sp-4);flex-wrap:wrap;display:flex}.invapp .ma-qty-block .fld{flex-shrink:0;margin-bottom:0}.invapp .ma-foot{margin-top:var(--ccs-sp-5);justify-content:flex-end;display:flex}@media (width<=560px){.invapp .ma-row2{grid-template-columns:1fr}.invapp .ma-card{padding:var(--ccs-sp-4)}}.invapp .history-grid{gap:var(--ccs-sp-3);grid-template-columns:repeat(auto-fill,minmax(240px,300px));justify-content:start;display:grid}.invapp .catchips{gap:var(--ccs-sp-2);margin-bottom:var(--ccs-sp-4);flex-wrap:wrap;display:flex}.invapp .catchip{align-items:center;gap:var(--ccs-sp-2);height:34px;padding:0 var(--ccs-sp-4);border:1px solid var(--line-strong);background:var(--ccs-surface);font-size:var(--ccs-fs-xs);color:var(--ink-2);border-radius:999px;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{font-size:var(--ccs-fs-2xs);white-space:nowrap;font-weight:700}.invapp .adjtbl{border-collapse:collapse;width:100%;font-size:var(--ccs-fs-xs)}.invapp .adjtbl th{text-align:left;font-size:var(--ccs-fs-2xs);text-transform:uppercase;letter-spacing:.4px;color:var(--faint);padding:var(--ccs-sp-2) var(--ccs-sp-2);border-bottom:1px solid var(--line-strong)}.invapp .adjtbl td{padding:var(--ccs-sp-2);border-bottom:1px solid var(--line)}.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:var(--ccs-white);padding:var(--ccs-sp-3) var(--ccs-sp-5);font-size:var(--ccs-fs-base);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:80;border-radius:10px;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:var(--ccs-sp-3)}}@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:var(--ccs-sp-3)}.invapp .panel-head .hint{text-align:left;flex-basis:100%;order:3}.invapp table.grid thead th{font-size:var(--ccs-fs-2xs);padding:var(--ccs-sp-2) var(--ccs-sp-2)}.invapp .cell{padding:var(--ccs-sp-2) var(--ccs-sp-2);min-height:46px}.invapp .qstep{height:44px}.invapp .qstep-btn{width:42px;height:42px;font-size:var(--ccs-fs-xl)}.invapp .qty-in{width:52px;height:42px;font-size:var(--ccs-fs-lg)}.invapp .d-readbar{grid-template-columns:1fr 1fr}}@media (width<=560px){.invapp .app{padding:var(--ccs-sp-2);gap:var(--ccs-sp-2)}.invapp .topbar{height:auto;padding:var(--ccs-sp-2) var(--ccs-sp-3);flex-wrap:wrap}.invapp .cashier{display:none}.invapp .tabbar{padding:var(--ccs-sp-2)}.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);width:auto;padding:var(--ccs-sp-3) var(--ccs-sp-3);font-size:var(--ccs-fs-xs);border-bottom:none;flex:none}.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;width:auto;padding:var(--ccs-sp-2) var(--ccs-sp-1);line-height:1.25;font-size:var(--ccs-fs-2xs);flex:50%}.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}
