:root{--bg:#f4f5f7;--surface:#fff;--panel:#f0f1f3;--panel-2:#e7e9ec;--line:#e1e3e7;--line-soft:#ecedf0;--ink:#2d3436;--ink-2:#4a5557;--ink-3:#636e72;--ink-4:#8c969a;--muted:var(--ink-3);--ink-data:#2d3436;--accent:#0f766e;--on-accent:#fff;--ok:#00b894;--ok-soft:#ddf7ef;--ok-line:#abe9d7;--ok-ink:#067257;--warn:#fdcb6e;--warn-ink:#b7861e;--warn-soft:#fff3d6;--warn-line:#f9deaa;--debt-ink:#d35400;--orange-ink:#c2410c;--orange-soft:#fdebe0;--orange-line:#f6c7ac;--teal-ink:#0f766e;--teal-soft:#dbf3ef;--teal-line:#a3ddd3;--bad:#d63031;--bad-soft:#fbe0e0;--bad-line:#f3b0b0;--bad-ink:#b01d1d;--pastel-mint:#ddf7ef;--pastel-mint-2:#c9efe0;--pastel-peach:#fce4dc;--pastel-yellow:#fff3d6;--pastel-blue:#e1effc;--pastel-violet:#e8e5fd;--pastel-cyan:#dff6f6;--pastel-pink:#fcddea;--pastel-coral:#fddfde;--radius:16px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--motion-fast:.12s;--motion-base:.2s;--motion-slow:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-std:cubic-bezier(.4, 0, .2, 1);--ease-in-out:var(--ease-std);--t-fast:var(--motion-fast);--t-med:var(--motion-base);--spring-glide:linear(0, .028, .099, .194, .3, .409, .514, .61, .695, .769, .831, .881, .921, .953, .976, .993, 1.005, 1.013, 1.017, 1.02, 1.02, 1.019, 1.018, 1.016, 1.013, 1.011, 1.009, 1.007, 1.006, 1.004, 1.003, 1.002, 1);--spring-pop:linear(0, .04, .132, .248, .368, .482, .584, .672, .746, .806, .854, .892, .921, .943, .96, .972, .981, .988, .992, .995, .997, .999, 1, 1, 1);--spring-bounce:linear(0, .025, .089, .179, .283, .392, .5, .602, .695, .777, .847, .905, .952, .988, 1.014, 1.033, 1.045, 1.052, 1.054, 1.053, 1.05, 1.046, 1.04, 1.034, 1.028, 1.023, 1.017, 1.013, 1.009, 1.006, 1.003, 1.001, 1);--shadow-sm:0 1px 2px #2d34360a, 0 2px 6px #2d34360a;--shadow-md:0 2px 4px #2d34360a, 0 8px 24px #2d343612;--shadow-lg:0 12px 48px #2d343624;--font-body:"Lexend", system-ui, -apple-system, sans-serif;--font-title:"Fraunces", Georgia, "Times New Roman", serif;--font-heading:"Outfit", var(--font-body);--font-num:"Outfit", var(--font-body);--sans:var(--font-body);--display:var(--font-heading);--mono:var(--font-num);--density:1;--step--2:clamp(.694rem, .686rem + .038vw, .72rem);--step--1:clamp(.833rem, .811rem + .099vw, .9rem);--step-0:clamp(1rem, .958rem + .185vw, 1.125rem);--step-1:clamp(1.2rem, 1.131rem + .306vw, 1.406rem);--step-2:clamp(1.44rem, 1.334rem + .471vw, 1.758rem);--step-3:clamp(1.728rem, 1.572rem + .695vw, 2.197rem);--step-4:clamp(2.074rem, 1.849rem + .997vw, 2.747rem);--step-5:clamp(2.488rem, 2.173rem + 1.4vw, 3.433rem);--space-3xs:clamp(.25rem, .24rem + .046vw, .281rem);--space-2xs:clamp(.5rem, .479rem + .093vw, .563rem);--space-xs:clamp(.75rem, .719rem + .139vw, .844rem);--space-s:clamp(1rem, .958rem + .185vw, 1.125rem);--space-m:clamp(1.5rem, 1.438rem + .278vw, 1.688rem);--space-l:clamp(2rem, 1.917rem + .37vw, 2.25rem);--space-xl:clamp(3rem, 2.875rem + .556vw, 3.375rem);--space-2xl:clamp(4rem, 3.833rem + .741vw, 4.5rem);--space-3xl:clamp(6rem, 5.75rem + 1.111vw, 6.75rem)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{font-size:16px}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:.01em;font-size:.9375rem;line-height:1.5}[data-theme=dark]{--bg:oklch(18% .012 264);--surface:oklch(22% .014 264);--panel:oklch(26% .014 264);--panel-2:oklch(30% .014 264);--line:oklch(34% .014 264);--line-soft:oklch(29% .012 264);--ink:oklch(94% .008 250);--ink-2:oklch(85% .012 250);--ink-3:oklch(72% .012 250);--ink-4:oklch(62% .012 250);--ink-data:oklch(90% .012 245);--accent:#4cb8a9;--on-accent:#141c28;--ok:#55efc4;--ok-soft:#1f3d36;--ok-line:#2e5c50;--ok-ink:#7df7d6;--warn:#ffeaa7;--warn-ink:#ffd966;--warn-soft:#3a331f;--warn-line:#5a4f30;--debt-ink:#ff8a50;--orange-ink:#fba97f;--orange-soft:#3a281c;--orange-line:#5a3e2a;--teal-ink:#5eead4;--teal-soft:#16332e;--teal-line:#285249;--bad:#ff7675;--bad-soft:#3a1f1f;--bad-line:#5a2e2e;--bad-ink:#ff9e9c;--pastel-mint:#1f3d36;--pastel-peach:#3a2a24;--pastel-yellow:#3a331f;--pastel-blue:#1f2e40;--pastel-violet:#2a2740;--pastel-cyan:#1f3838;--pastel-pink:#3a1f2e;--pastel-coral:#3a1f1f;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 18px 50px #0000008c}[data-theme=dark] .kpi-card-icon{background:var(--panel-2)}[data-theme=dark] .btn.accent{background:color-mix(in oklab, var(--accent), #000 65%);color:color-mix(in oklab, var(--accent), #fff 15%);border-color:color-mix(in oklab, var(--accent), #000 50%);box-shadow:0 2px 8px #00000059}[data-theme=dark] .btn.accent:hover{background:color-mix(in oklab, var(--accent), #000 55%);border-color:color-mix(in oklab, var(--accent), #000 35%);color:var(--accent)}[data-theme=dark] .btn.primary{background:var(--panel-2);color:var(--ink);border-color:var(--line)}[data-theme=dark] .btn.primary:hover{background:var(--panel)}[data-theme=dark] .badge.accent{background:color-mix(in oklab, var(--accent), #000 60%);color:color-mix(in oklab, var(--accent), #fff 20%);border-color:color-mix(in oklab, var(--accent), #000 40%)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--line)}#root{height:100%}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::selection{background:var(--accent-soft)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-data)}.mono.muted{color:inherit}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--line);background-clip:padding-box;border:3px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:padding-box;border:3px solid #0000}:root,.app,.accent-scope{--accent-strong:color-mix(in oklab, var(--accent) 88%, #000 12%);--accent-soft:color-mix(in srgb, var(--accent) 14%, #fff);--accent-line:color-mix(in srgb, var(--accent) 38%, #fff);--accent-glow:color-mix(in srgb, var(--accent) 28%, transparent)}[data-theme=dark],[data-theme=dark] .app,[data-theme=dark] .accent-scope{--accent-strong:color-mix(in oklab, var(--accent) 80%, #000 20%);--accent-soft:color-mix(in srgb, var(--accent) 20%, #1a1f1d);--accent-line:color-mix(in srgb, var(--accent) 40%, #1a1f1d);--accent-glow:color-mix(in srgb, var(--accent) 36%, transparent)}.app{height:100%;display:grid;position:relative;overflow:hidden}@media (width<=767px){.app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.main{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}}@media (width>=768px){.more-overlay{display:none!important}}.bottom-nav{z-index:40;background:color-mix(in oklab, var(--accent) 12%, #15181d 88%);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid #ffffff14;justify-content:space-around;align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0f12162e}@media (width<=767px){.bottom-nav{display:flex}}.bottom-nav-tab{cursor:pointer;color:#ffffff9e;min-width:0;min-height:48px;transition:color var(--motion-fast) var(--ease-std), transform var(--motion-fast) var(--ease-std);background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:4px 2px;display:flex}.bottom-nav-tab:active{transform:scale(.94)}.bottom-nav-tab.active{color:#fff}.bottom-nav-ic{place-items:center;display:grid;position:relative}.bottom-nav-tab.active .bottom-nav-ic:after{content:"";background:var(--accent);z-index:-1;border-radius:999px;position:absolute;inset:-5px -13px}.bottom-nav-lbl{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;font-weight:600;line-height:1;overflow:hidden}.bottom-nav-dot{background:var(--bad);width:8px;height:8px;box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 12%, #15181d 88%);border-radius:50%;position:absolute;top:-2px;right:-3px}@media (height<=480px) and (orientation:landscape){.bottom-nav-lbl{display:none}.bottom-nav-tab{min-height:40px}.app .main{padding-bottom:46px}}.more-overlay{z-index:60;animation:fade var(--motion-base) var(--ease-std);background:#0f121673;align-items:flex-end;display:flex;position:fixed;inset:0}.more-sheet{background:var(--surface);width:100%;padding:8px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);animation:sheetUp var(--motion-slow) var(--ease-out);border-radius:18px 18px 0 0}@keyframes sheetUp{0%{transform:translateY(100%)}}.more-sheet>.more-grid,.more-sheet>.more-list{animation:revealDown var(--motion-base) var(--ease-std) backwards;animation-delay:.17s}@media (prefers-reduced-motion:reduce){.more-sheet>.more-grid,.more-sheet>.more-list{animation:none}}.pos-search-pop{animation:revealDown var(--motion-base) var(--ease-out)}@media (prefers-reduced-motion:reduce){.pos-search-pop{animation:none}}.more-grip{background:var(--line);border-radius:2px;width:38px;height:4px;margin:6px auto 14px}.more-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.more-item{border:1px solid var(--line);background:var(--surface);min-height:72px;color:var(--ink-2);cursor:pointer;text-align:center;transition:background var(--motion-fast) var(--ease-std), border-color var(--motion-fast) var(--ease-std), transform var(--motion-fast) var(--ease-std);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:12px 6px;font-size:.75rem;font-weight:600;display:flex;position:relative}.more-item:active{transform:scale(.96)}.more-item.active{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.more-badge{background:var(--bad);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:grid;position:absolute;top:7px;right:7px}.sidebar{background:color-mix(in oklab, var(--accent) 22%, #15181d 78%);border-right:1px solid color-mix(in oklab, var(--accent) 14%, #0a0c10 86%);--ink:#f1f2f4;--ink-2:#d7dadf;--ink-3:#a9aeb6;--ink-4:#828892;--ink-data:#f1f2f4;--panel:#ffffff12;--panel-2:#ffffff1f;--line:#ffffff1a;--line-soft:#ffffff0f;color:var(--ink-2);flex-direction:column;gap:4px;padding:16px 12px;display:flex;overflow:hidden}.brand{border-bottom:1px solid var(--line);align-items:center;gap:11px;margin-bottom:12px;padding:8px 8px 18px;display:flex;position:relative}@media (width<=834px){.brand{flex-shrink:0}}.brand-mark{background:var(--accent);width:38px;height:38px;color:var(--on-accent);letter-spacing:-.5px;box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;flex-shrink:0;place-items:center;font-size:1rem;font-weight:700;display:grid}.brand-text{flex:1;min-width:0}.brand-name{font-family:var(--display);letter-spacing:-.2px;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;line-height:1.15;overflow:hidden}.brand-sub{color:var(--ink-3);letter-spacing:.2px;margin-top:1px;font-size:.75rem;font-weight:500}.nav{flex-direction:column;gap:4px;display:flex}.avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);border-radius:50%;flex-shrink:0;place-items:center;font-size:.78125rem;font-weight:600;display:grid}.avatar.admin{background:var(--ink);color:var(--surface)}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.tab-swap{flex-direction:column;flex:1;min-height:0;animation:.18s cubic-bezier(.16,1,.3,1) beuiTabIn;display:flex}@keyframes beuiTabIn{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.tab-swap{animation:none}}.scroll{scrollbar-gutter:stable;flex:1;overflow-y:auto}.subtab{cursor:pointer;font-family:var(--sans);color:var(--muted);white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;border-radius:999px;padding:7px 16px;font-size:.84375rem;font-weight:600}.subtab:hover{color:var(--ink);background:var(--bg)}.subtab.active{background:var(--accent);color:#fff}.page{--page-x:clamp(12px, 4px + 1.6vw, 32px);--page-t:clamp(14px, 7px + 1.1vw, 28px);padding:var(--page-t) var(--page-x) 60px;width:100%;max-width:1680px;margin:0 auto}@media (width<=540px){.page{padding-bottom:80px}}@media (width<=767px){.card{overflow-x:auto!important}.card .table{min-width:560px}.card .table thead th{box-shadow:none;position:static;top:auto}}:root{--page-head-h:0px;--toolbar-h:60px}@media (width<=834px){:root{--page-head-h:0px;--toolbar-h:52px}}.page-head{z-index:8;margin:calc(var(--page-t) * -1) calc(var(--page-x) * -1) 10px;padding:9px var(--page-x) 8px;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex;position:sticky;top:0}@media (width<=767px){.page-head{gap:10px;margin-bottom:14px;padding-top:10px;padding-bottom:10px}}@media (width<=540px){.page-head{flex-direction:column;align-items:flex-start;margin-bottom:12px}.page-head>.row{justify-content:flex-start;width:100%}}.toolbar{top:var(--page-head-h);z-index:7;margin:0 calc(var(--page-x) * -1) 14px;padding:10px var(--page-x);background:var(--bg);border-bottom:1px solid var(--line-soft);position:sticky}@media (width<=834px){.toolbar{margin-bottom:12px;padding-top:8px;padding-bottom:8px}}.table thead th{top:var(--page-head-h);z-index:6;background:var(--panel);box-shadow:0 1px 0 var(--line);border-bottom:none;position:sticky}:is(.scroll:has(.toolbar) .table thead th,.scroll:has(.admin-tabs) .table thead th){top:calc(var(--page-head-h) + var(--toolbar-h))}.modal .table thead th{position:static;top:auto}.page-title{font-family:var(--font-title);letter-spacing:-.4px;font-size:1.5rem;font-weight:700;line-height:1.12}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.page-sub{color:var(--ink-3);margin-top:2px;font-size:.875rem;font-weight:500}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:clamp(16px,12px + .55vw,24px)}.tip{display:inline-flex}.tip.tip-block{width:100%;display:flex}.tip-bubble{--tip-scale:1;background:var(--surface);color:var(--ink);border:1px solid var(--line-soft);padding:calc(7px * var(--tip-scale)) calc(11px * var(--tip-scale));border-radius:calc(11px * var(--tip-scale));box-shadow:var(--shadow-md);font-family:var(--sans);font-weight:700;font-size:calc(13px * var(--tip-scale));text-align:center;letter-spacing:0;pointer-events:none;width:max-content;max-width:260px;line-height:1.45}.tip-portal{z-index:9999;transition:opacity var(--t-fast) var(--ease-out);position:fixed}@keyframes tipInTop{0%{opacity:0;filter:blur(8px);translate:0 6px;scale:.85}}@keyframes tipInBottom{0%{opacity:0;filter:blur(8px);translate:0 -6px;scale:.85}}@keyframes tipOutTop{to{opacity:0;filter:blur(5px);translate:0 4px;scale:.9}}@keyframes tipOutBottom{to{opacity:0;filter:blur(5px);translate:0 -4px;scale:.9}}.tip-portal[data-side=top]{transform-origin:bottom;animation:tipInTop .32s var(--spring-pop)}.tip-portal[data-side=bottom]{transform-origin:top;animation:tipInBottom .32s var(--spring-pop)}.tip-portal.tip-closing[data-side=top]{animation:tipOutTop .15s var(--ease-in) forwards}.tip-portal.tip-closing[data-side=bottom]{animation:tipOutBottom .15s var(--ease-in) forwards}@media (prefers-reduced-motion:reduce){.tip-portal{transition:none;animation:none}}.tick{white-space:nowrap;font-variant-numeric:tabular-nums;height:1.14em;line-height:1.14;display:inline-block;position:relative}.tick:before{content:attr(data-final);visibility:hidden}.tick-live{text-align:inherit;position:absolute;top:0;left:0;right:0}.kpi-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);flex-direction:column;gap:3px;padding:15px 18px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #2d34360a,0 6px 18px #2d34360d}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #2d34360d,0 10px 28px #2d343614}.kpi-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:5px;display:flex}.kpi-card-label{font-family:var(--font-heading);color:var(--ink-3);letter-spacing:0;font-size:.8125rem;font-weight:600}.kpi-card-icon{background:var(--panel);width:36px;height:36px;color:var(--ink-3);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.kpi-card.primary{border-color:color-mix(in srgb, var(--accent) 30%, var(--line-soft))}.kpi-card.primary:before{content:"";background:var(--accent);border-radius:var(--radius) var(--radius) 0 0;height:3px;position:absolute;inset:0 0 auto}.kpi-card.primary .kpi-card-icon{background:var(--pastel-mint);color:var(--accent-strong)}.kpi-card-value{font-family:var(--mono);letter-spacing:.5px;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(1.375rem,4.5vw,1.875rem);font-weight:700;line-height:1.05}.kpi-card-delta{color:var(--ink-3);align-items:center;gap:4px;margin-top:4px;font-size:.78125rem;font-weight:500;display:inline-flex}.kpi-card-delta.up{color:var(--accent-strong)}.kpi-card-delta.down{color:var(--bad)}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid var(--line);background:var(--surface);height:40px;color:var(--ink);transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:.875rem;font-weight:500;display:inline-flex}.btn:hover{background:var(--panel);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active{transition-duration:60ms;transform:scale(.97)}.btn svg{width:17px;height:17px}.btn.primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.btn.primary:hover{background:#1b2122}.btn.accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 4px 12px var(--accent-glow)}.btn.accent:hover{background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:0 6px 16px var(--accent-glow)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel)}.btn.danger{color:var(--bad-ink);border-color:var(--bad-line);background:var(--bad-soft);font-weight:600}.btn.danger.sm{font-size:.859375rem}.btn.good{color:var(--ok-ink);border-color:var(--ok-line);background:var(--ok-soft);font-weight:600}.btn.good.sm{font-size:.859375rem}.btn.good:hover{background:color-mix(in oklab, var(--ok) 22%, var(--surface))}.btn.file-pdf{color:#c4121a;border-color:color-mix(in srgb, #c4121a 42%, var(--line));font-weight:600}.btn.file-pdf:hover{background:color-mix(in srgb, #c4121a 8%, var(--surface));border-color:#c4121a}.btn.file-excel{color:#217346;border-color:color-mix(in srgb, #217346 42%, var(--line));font-weight:600}.btn.file-excel:hover{background:color-mix(in srgb, #217346 8%, var(--surface));border-color:#217346}.btn.accent-outline{color:var(--accent);border-color:var(--accent);background:var(--surface);font-weight:600}.btn.accent-outline:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.btn.danger:hover{background:color-mix(in oklab, var(--bad) 22%, var(--surface))}.btn.sm{border-radius:8px;height:32px;padding:0 11px;font-size:.8125rem}.btn.cash-move-btn{border-radius:var(--radius);flex-direction:column;gap:8px;min-width:140px;height:112px;padding:12px 24px;font-size:1rem;font-weight:700}.btn.cash-move-btn svg{width:28px;height:28px}@media (width<=767px){.cash-move-row{width:100%;flex-wrap:nowrap!important;flex:100%!important}.cash-move-row .btn.cash-move-btn{flex-direction:row;flex:1 1 0;gap:8px;min-width:0;height:auto;min-height:52px;padding:12px 14px;font-size:.9375rem}.cash-move-row .btn.cash-move-btn svg{width:20px;height:20px}}.btn.lg{height:48px;padding:0 22px;font-size:.96875rem}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:active{transform:none}button:focus-visible,.btn:focus-visible,select:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{width:34px;height:34px;color:var(--ink-2);transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);border-radius:8px;place-items:center;display:grid}.icon-btn:hover:not(:disabled){background:var(--panel);color:var(--ink);transform:scale(1.08)}.icon-btn:active:not(:disabled){transition-duration:60ms;transform:scale(.92)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn svg{width:18px;height:18px}.badge{border:1px solid var(--line);background:var(--panel);color:var(--ink-2);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:2px 9px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.ok{background:var(--ok-soft);color:var(--ok-ink);border-color:var(--ok-line)}.badge.warn{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}.badge.orange{color:#fff;background:#f97316;border-color:#f97316}.badge.teal{color:#fff;background:#059669;border-color:#059669}.badge.bad{background:var(--bad-soft);color:var(--bad-ink);border-color:var(--bad-line)}.badge.accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.badge.accent .dot{background:var(--on-accent)}.badge.accent-soft{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-line)}.badge.neutral{background:var(--panel);color:var(--ink-3)}.field{flex-direction:column;gap:6px;display:flex}.editor-form .field{gap:7px}.editor-form .field>.tiny.muted,.editor-form .toggle-row .tiny.muted{line-height:1.5}.editor-form .toggle-row{padding:13px}.editor-form-section,.editor-section-head{flex-direction:column;gap:3px;display:flex}.editor-section-head .label{color:var(--ink);font-size:.875rem;font-weight:700}.mini-toggle{cursor:pointer;font:inherit;background:0 0;border:none;flex-shrink:0;align-items:center;gap:8px;padding:0;display:inline-flex}.group-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:12px}.group-sched{border-top:1px dashed var(--line-soft);margin-top:10px;padding-top:10px}.color-pick{flex-shrink:0;position:relative}.color-pick-trigger{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-3);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out);align-items:center;gap:7px;padding:5px 8px 5px 6px;display:inline-flex}.color-pick-trigger:hover{border-color:var(--ink-4)}.color-pick-trigger .swatch{width:22px;height:22px;transition:none}.color-pop{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);transform-origin:100% 0;animation:morphIn .32s var(--ease-out);grid-template-columns:repeat(6,26px);gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0}@keyframes menuItemIn{0%{opacity:0;filter:blur(3px);translate:0 -6px}}.cal-add-menu>button,.sched-gear-pop>.toggle-row{animation:menuItemIn .26s var(--ease-out) backwards}.cal-add-menu>:first-child,.sched-gear-pop>:first-child{animation-delay:50ms}.cal-add-menu>:nth-child(2),.sched-gear-pop>:nth-child(2){animation-delay:85ms}.cal-add-menu>:nth-child(3),.sched-gear-pop>:nth-child(3){animation-delay:.12s}.cal-add-menu>:nth-child(4),.sched-gear-pop>:nth-child(4){animation-delay:.155s}.cal-add-menu>:nth-child(5),.sched-gear-pop>:nth-child(5){animation-delay:.19s}.cal-add-menu>:nth-child(6),.sched-gear-pop>:nth-child(6){animation-delay:.225s}.cal-add-menu>:nth-child(7),.sched-gear-pop>:nth-child(7){animation-delay:.26s}.cal-add-menu>:nth-child(8),.sched-gear-pop>:nth-child(8){animation-delay:.295s}.cal-add-menu>:nth-child(9),.sched-gear-pop>:nth-child(9){animation-delay:.33s}.cal-add-menu>:nth-child(n+10),.sched-gear-pop>:nth-child(n+10){animation-delay:.365s}@media (prefers-reduced-motion:reduce){.cal-add-menu>button,.sched-gear-pop>.toggle-row{animation:none}}.label{color:var(--ink-2);font-size:.78125rem;font-weight:500}@keyframes pinReveal{0%{opacity:0;transform:scale(.9)}}.input,.select{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);height:42px;color:var(--ink);width:100%;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), color var(--motion-fast), background-color var(--motion-fast);padding:0 13px;font-size:.90625rem}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input:disabled,.select:disabled{color:var(--ink-3);background:var(--panel);cursor:not-allowed}input[type=checkbox]{accent-color:var(--accent)}.check-label{color:var(--ink-3);transition:color var(--motion-fast) var(--ease-out)}.check-label:has(:checked){color:var(--ink)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23636E72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;background-size:16px;padding-right:34px}[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A9AEB6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.input::placeholder{color:var(--ink-3);opacity:.85}textarea.input{resize:none;field-sizing:content;height:auto;min-height:70px;max-height:40svh;padding:11px 13px}.input.mono{font-family:var(--mono)}.combo{position:relative}.combo-pop{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:100%;max-height:220px;box-shadow:var(--shadow-lg);transform-origin:0 0;animation:morphIn .32s var(--ease-out);padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.combo-opt{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink);padding:8px 10px;font-size:.875rem;display:block}.sched-gear{flex-shrink:0;position:relative}.sched-gear-pop{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:260px;box-shadow:var(--shadow-lg);transform-origin:100% 0;animation:morphIn .32s var(--ease-out);flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.sched-gear-pop .toggle-row{border:none;padding:8px}.sched-gear-pop .toggle-row:hover,.combo-opt.active,.combo-opt:hover{background:var(--panel)}.ui-select{width:100%;display:inline-block;position:relative}.ui-select-trigger{text-align:left;cursor:pointer;align-items:center;display:inline-flex}.ui-select-trigger:disabled{cursor:not-allowed}.ui-select-trigger.sm{background-position:right 10px center;height:34px;padding-left:10px;padding-right:30px;font-size:.84375rem}.ui-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-select-value.placeholder{color:var(--ink-3)}.ui-select-pop{z-index:9999;width:max-content;max-width:min(320px,90vw)}.combo-opt:disabled{opacity:.5;cursor:not-allowed}.combo-opt.ui-select-hl{background:var(--panel)}.ui-select-pop.pop-closing{animation:morphOut .17s var(--ease-in) forwards}.search{align-items:center;display:flex;position:relative}.search svg{width:17px;height:17px;color:var(--ink-3);pointer-events:none;position:absolute;left:12px}.search .input{padding-left:36px}.seg{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:2px;min-width:0;padding:3px;display:inline-flex}.seg button{color:var(--ink-3);white-space:nowrap;border-radius:7px;padding:6px 13px;font-size:.84375rem;font-weight:500;transition:background .12s,color .12s}.seg button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.seg.slide{position:relative}.seg.slide>button{z-index:1;position:relative}.seg.slide>button.active{box-shadow:none;color:var(--ink);background:0 0}.seg.slide>.slide-box{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:7px}[data-theme=dark] .seg.slide>.slide-box{background:var(--panel-2)}@media (width<=767px){.seg{width:100%;max-width:100%;display:flex}.seg>button{letter-spacing:-.03em;text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;padding:6px 2px;font-size:.6875rem;overflow:hidden}}.table{border-collapse:collapse;width:100%}.table thead{background:var(--panel)}.table th{text-align:center;vertical-align:middle;color:var(--ink-2);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-bottom:1px solid var(--line);padding:13px 14px;font-size:.75rem;font-weight:600}.table td{border-top:1px solid var(--line-soft);vertical-align:middle;padding:12px 14px;font-size:.875rem}.table tbody tr:first-child td{border-top:none}.table tbody tr{transition:background .1s}.table tbody tr.clickable:hover{background:var(--panel);cursor:pointer}@keyframes txnFlash{0%,to{background:0 0}20%{background:var(--accent-soft)}}.table tbody tr.txn-flash>td{animation:txnFlash 1.6s var(--ease-std)}.table .num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.table th.num{text-align:center}@media (width<=767px){.card .table.stack-sm{min-width:0}.table.stack-sm,.table.stack-sm tbody{width:100%;display:block}.table.stack-sm thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.table.stack-sm tbody tr{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:10px 14px;display:block}.table.stack-sm tbody tr:first-child td{border-top:1px solid var(--line-soft)}.table.stack-sm td{border-top:1px solid var(--line-soft);text-align:right;justify-content:space-between;align-items:center;gap:14px;padding:7px 0;font-size:.84375rem;display:flex}.table.stack-sm td:before{content:attr(data-label);text-align:left;color:var(--ink-3);flex:none;font-size:.75rem;font-weight:600}.table.stack-sm td.stack-title{text-align:left;border-top:none;justify-content:flex-start;padding:2px 0 8px}.table.stack-sm td.stack-title:before{content:none}.table.stack-sm td.stack-hide,.table.stack-sm td:empty{display:none}.table.stack-sm td.stack-actions{justify-content:flex-end;padding-top:10px}.table.stack-sm td.stack-actions:before{content:none}.visits-table tbody tr.clickable:not(.is-open) td.col-void,.visits-table tbody tr.clickable:not(.is-open) td.col-datetime,.visits-table tbody tr.clickable:not(.is-open) td.col-entry,.visits-table tbody tr.clickable:not(.is-open) td.col-edit{display:none}.visits-table tbody tr.clickable td.stack-hide{border-top:none;justify-content:flex-end;padding:2px 0 0;display:flex}.visits-table tbody tr.clickable td.stack-hide:before{content:none}}.dash-summary-table{border-collapse:separate;border-spacing:0}.dash-summary-table thead th:first-child{border-top-left-radius:10px;border-bottom-left-radius:0}.dash-summary-table thead th:last-child{border-top-right-radius:10px;border-bottom-right-radius:0}.dash-summary-table tbody tr:first-child td{border-top:none}.dash-summary-table tbody td.num{font-weight:600}.dash-summary-table thead th.num,.dash-summary-table tbody td.num{text-align:center}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(14px,12px + .3vw,18px);display:grid}@keyframes statCardIn{0%{opacity:0;transform:scale(.4)translateY(12px)}to{opacity:1;transform:none}}@keyframes cardCascadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}:is(.mem-summary,.stat-grid)>*{animation:statCardIn .42s var(--spring-pop) backwards}:is(.mem-summary,.stat-grid)>:nth-child(2){animation-delay:60ms}:is(.mem-summary,.stat-grid)>:nth-child(3){animation-delay:.12s}:is(.mem-summary,.stat-grid)>:nth-child(4){animation-delay:.18s}:is(.mem-summary,.stat-grid)>:nth-child(5){animation-delay:.24s}:is(.mem-summary,.stat-grid)>:nth-child(6){animation-delay:.3s}:is(.mem-summary,.stat-grid)>:nth-child(7){animation-delay:.36s}:is(.mem-summary,.stat-grid)>:nth-child(n+8){animation-delay:.42s}.search-grid>.search-card,.member-list>.member-card,.catalog-grid>.cat-tile,.visits-list>.visit-card,.shift-hist-list>.card,.waiver-list>.waiver-row:not(.waiver-head),.dash-enter .dash-grid>*{animation-duration:.42s;animation-fill-mode:backwards;animation-delay:min(var(--i,0) * var(--cascade-step,15ms), .9s)}.dash-enter .dash-grid>*{animation-name:statCardIn;animation-timing-function:var(--spring-pop)}.search-grid>.search-card,.member-list>.member-card,.visits-list>.visit-card,.shift-hist-list>.card,.waiver-list>.waiver-row:not(.waiver-head),.catalog-grid>.cat-tile{animation-name:cardCascadeIn;animation-timing-function:var(--ease-out)}.waiver-list{--cascade-step:30ms}.member-list,.visits-list,.shift-hist-list{--cascade-step:75ms}.shift-enter>*{animation:cardCascadeIn .42s var(--ease-out) backwards}.shift-enter>:nth-child(2){animation-delay:60ms}.shift-enter>:nth-child(3){animation-delay:.12s}@media (prefers-reduced-motion:reduce){.shift-enter>*{animation:none}}.notif-enter>*{animation:cardCascadeIn .42s var(--ease-out) backwards}.notif-enter>:nth-child(2){animation-delay:60ms}.notif-enter>:nth-child(3){animation-delay:.12s}.notif-list>.notif-row{animation:cardCascadeIn .42s var(--ease-out) backwards;animation-delay:min(.1s + var(--i,0) * var(--cascade-step,75ms), .9s)}.notif-row.notif-dim{opacity:.6}@keyframes cardCascadeInDim{0%{opacity:0;transform:translateY(-10px)}to{opacity:.6;transform:none}}.notif-list>.notif-row.notif-dim{animation-name:cardCascadeInDim}@media (prefers-reduced-motion:reduce){.notif-enter>*,.notif-list>.notif-row{animation:none}}.dash-enter .dash-grid{--cascade-step:30ms}@media (prefers-reduced-motion:reduce){:is(.mem-summary,.stat-grid)>*,.search-grid>.search-card,.member-list>.member-card,.catalog-grid>.cat-tile,.visits-list>.visit-card,.shift-hist-list>.card,.waiver-list>.waiver-row:not(.waiver-head),.dash-enter .dash-grid>*{animation:none}}.mem-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:22px;display:grid}.stats-toggle{cursor:pointer;color:var(--ink-2);transition:color var(--t-fast);background:0 0;border:none;align-items:center;gap:8px;margin-bottom:18px;padding:2px;font-size:.9375rem;font-weight:700;display:inline-flex}.stats-toggle:hover{color:var(--ink)}.stats-toggle>svg{color:var(--ink-3);flex:none}.stats-toggle .stats-toggle-chev{transition:transform var(--t-med) var(--ease-out);margin-left:1px}.stats-toggle.open .stats-toggle-chev{transform:rotate(180deg)}.kv-collapse-head{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.kv-collapse-head .kv-collapse-chev{color:var(--ink-3);transition:transform var(--t-med) var(--ease-out);flex:none}.kv-collapse-head .kv-collapse-chev.open{transform:rotate(180deg)}@media (width<=540px){.mem-summary{gap:10px}.mem-summary .stat{padding:12px 13px}.mem-summary .stat-value{font-size:1.625rem}.mem-summary .stat-label{font-size:.75rem}}.stat{padding:16px 18px}:root{--tone-accent:var(--accent);--tone-ok:#00b894;--tone-warn:#fdcb6e;--tone-bad:#d63031;--tone-info:#00cec9;--tone-violet:#6c5ce7;--tone-orange:#e17055;--tone-pink:#e84393;--tone-teal:#0984e3}[data-theme=dark]{--tone-accent:var(--accent);--tone-ok:#55efc4;--tone-warn:#ffeaa7;--tone-bad:#ff7675;--tone-info:#81ecec;--tone-violet:#a29bfe;--tone-orange:#fab1a0;--tone-pink:#fd79a8;--tone-teal:#74b9ff}.tone-accent{--tint:var(--tone-accent)}.tone-ok{--tint:var(--tone-ok)}.tone-warn{--tint:var(--tone-warn)}.tone-bad{--tint:var(--tone-bad)}.tone-info{--tint:var(--tone-info)}.tone-violet{--tint:var(--tone-violet)}.tone-orange{--tint:var(--tone-orange)}.tone-pink{--tint:var(--tone-pink)}.tone-teal{--tint:var(--tone-teal)}.card.tinted{background:var(--surface);border-color:var(--line-soft);transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);position:relative;box-shadow:0 1px 2px #2d34360a,0 6px 18px #2d34360d}.card.tinted:hover{transform:translateY(-1px);box-shadow:0 2px 4px #2d34360d,0 10px 28px #2d343614}.card.is-clickable{cursor:pointer}.card.tinted.is-clickable:hover{transform:translateY(-2px)}.card.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card.tinted .stat-label svg,.card.tinted .stat-label>svg:first-child{color:var(--tint,var(--accent))}[data-theme=dark] .card.tinted{background:var(--surface)}.stat-label{font-family:var(--font-heading);color:var(--ink-3);align-items:center;gap:7px;font-size:.78125rem;font-weight:600;display:flex}.stat-value{letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--ink-data);margin-top:6px;font-size:1.75rem;font-weight:700}.stat-value.mono{font-family:var(--mono)}.stat-foot{color:var(--ink-3);margin-top:4px;font-size:.78125rem;font-weight:500}.stat-foot.up{color:var(--ok)}.stat-foot.down{color:var(--bad)}.overlay{z-index:250;animation:fade var(--motion-base) var(--ease-std);background:oklch(20% .02 264/.42);padding:18px;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:88svh;animation:pop var(--motion-slow) var(--ease-out);flex-direction:column;margin:auto;display:flex;overflow:hidden}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.985)}}@keyframes revealDown{0%{opacity:0;transform:translateY(-8px)}}.modal>*{animation:revealDown var(--motion-base) var(--ease-std) backwards;animation-delay:.15s}.modal>.modal-body{animation-delay:.19s}.modal>.modal-foot{animation-delay:.23s}@media (prefers-reduced-motion:reduce){.modal>*{animation:none}}.modal.wide{max-width:767px}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:20px 22px;display:flex}.modal-title{font-family:var(--display);letter-spacing:-.2px;font-size:1.125rem;font-weight:700}.modal-sub{color:var(--ink-3);margin-top:1px;font-size:.8125rem}.modal-body{padding:22px;overflow-y:auto}.modal-body:has(>.modal-body-inner){transition:height .32s var(--ease-std);padding:0}.modal-body-inner{padding:22px}@media (prefers-reduced-motion:reduce){.modal-body{transition:none}}.modal-foot{border-top:1px solid var(--line);background:var(--panel);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}@media (width<=540px){.modal{border-radius:14px;max-width:calc(100vw - 16px);max-height:calc(100svh - 16px)}.modal-body{padding:16px}.modal-body:has(>.modal-body-inner){padding:0}.modal-body-inner{padding:16px}.modal-foot{gap:8px;padding:12px 16px}.modal-foot .btn{flex:auto}}.update-banner{z-index:300;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);color:var(--ink);animation:pop var(--motion-base) var(--ease-out);border-radius:999px;align-items:center;gap:10px;padding:7px 8px 7px 16px;font-size:.84375rem;font-weight:600;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=767px){.update-banner{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));border-radius:14px;padding:10px 10px 10px 14px;transform:none}.update-banner>span{flex:1;min-width:0}}.sync-status{animation:syncIn .28s var(--ease-out) both;border-radius:999px;align-items:center;gap:5px;padding:6px 11px;font-size:.75rem;font-weight:700;display:inline-flex}.sync-status.exit{animation:syncOut .28s var(--ease-in,ease-in) forwards}@keyframes syncIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes syncOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(16px)}}@media (prefers-reduced-motion:reduce){.sync-status,.sync-status.exit{animation:none}}.sync-status.online{background:color-mix(in srgb, var(--ok,#1fa37a) 12%, transparent);color:var(--ok,#1fa37a)}.sync-status.syncing{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn-ink)}.sync-status.offline{background:color-mix(in srgb, var(--bad) 12%, transparent);color:var(--bad)}.spin{transform-origin:50%;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.tour,.tour-scrim{z-index:200;position:fixed;inset:0}.tour-hole{z-index:201;pointer-events:none;box-shadow:0 0 0 9999px #0f172a8c, 0 0 0 2px var(--accent);transition:top var(--motion-base) var(--ease-out), left var(--motion-base) var(--ease-out), width var(--motion-base) var(--ease-out), height var(--motion-base) var(--ease-out);border-radius:14px;position:fixed}.tour-tip{z-index:204;box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:pop var(--motion-base) var(--ease-out);padding:16px 18px;position:fixed}.tour-tip-step{color:var(--ink-4);letter-spacing:.04em;font-size:11.5px;font-weight:700}.tour-tip-title{font-family:var(--display);color:var(--ink);margin:4px 0 6px;font-size:1rem;font-weight:700}.tour-tip-body{color:var(--ink-2);font-size:.84375rem;line-height:1.5}.tour-tip-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.tour-tip-here{color:var(--accent-strong);align-items:center;gap:5px;margin-right:auto;font-size:12px;font-weight:700;display:inline-flex}.tour-tip-here svg{width:13px;height:13px}.tour-arrow{width:0;height:0;position:absolute}.tour-arrow-left{border-top:9px solid #0000;border-bottom:9px solid #0000;border-right:9px solid var(--surface);filter:drop-shadow(-1px 0 0 var(--line));left:-9px;transform:translateY(-9px)}.tour-arrow-right{border-top:9px solid #0000;border-bottom:9px solid #0000;border-left:9px solid var(--surface);filter:drop-shadow(1px 0 0 var(--line));right:-9px;transform:translateY(-9px)}.tour-arrow-top{border-left:9px solid #0000;border-right:9px solid #0000;border-bottom:9px solid var(--surface);filter:drop-shadow(0 -1px 0 var(--line));top:-9px;transform:translate(-9px)}.tour-arrow-bottom{border-left:9px solid #0000;border-right:9px solid #0000;border-top:9px solid var(--surface);filter:drop-shadow(0 1px 0 var(--line));bottom:-9px;transform:translate(-9px)}.tour-clickcatch{z-index:203;cursor:pointer;background:0 0;border-radius:14px;position:fixed}.tour-hole-pulse{z-index:201;pointer-events:none;box-shadow:0 0 0 2px var(--accent);animation:tourPulse 1.4s var(--ease-out) infinite;border-radius:14px;position:fixed}@keyframes tourPulse{0%,to{box-shadow:0 0 0 2px var(--accent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--accent) 30%, transparent)}}@media (prefers-reduced-motion:reduce){.tour-hole{transition:none}.tour-tip,.tour-hole-pulse{animation:none}}.toasts{z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--surface);box-shadow:var(--shadow-lg);animation:toastIn .42s var(--spring-pop) both;will-change:transform, opacity, filter;border-radius:10px;align-items:center;gap:9px;padding:11px 18px;font-size:.875rem;font-weight:500;display:flex}.toast svg{width:17px;height:17px}.toast.ok{background:var(--ok)}.toast.bad{background:var(--bad)}@keyframes toastIn{0%{opacity:0;filter:blur(10px);transform:translateY(22px)scale(.96)}to{opacity:1;filter:blur();transform:none}}.toast.toast-out{animation:toastOut .18s var(--ease-out) forwards}@keyframes toastOut{0%{opacity:1;filter:blur();transform:none}to{opacity:0;filter:blur(8px);transform:translate(32px)scale(.96)}}@media (prefers-reduced-motion:reduce){.toast{animation:.2s both toastFadeIn}.toast.toast-out{animation:.18s forwards toastFadeOut}}@keyframes toastFadeIn{0%{opacity:0}}@keyframes toastFadeOut{to{opacity:0}}.close-reminder{z-index:130;background:var(--surface);border:1px solid var(--line);width:min(330px,100vw - 36px);box-shadow:var(--shadow-lg);animation:toastIn .42s var(--spring-pop) both;border-radius:14px;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;display:flex;position:fixed;bottom:18px;right:18px}.close-reminder-icon{color:var(--warn-ink);flex-shrink:0;margin-top:1px;display:flex}.close-reminder-body{flex:1;min-width:0}.close-reminder-title{color:var(--ink);font-size:.84375rem;font-weight:700}.close-reminder-text{color:var(--ink-3);margin-top:2px;font-size:.78125rem;line-height:1.35}.close-reminder-acts{flex-shrink:0;gap:2px;display:flex}.close-reminder-acts .icon-btn{width:28px;height:28px}.close-reminder-acts .icon-btn svg{width:15px;height:15px}@media (width<=767px){.close-reminder{width:auto;bottom:92px;left:12px;right:12px}}.press{transition:transform var(--motion-fast) var(--ease-std)}.press:active:not(:disabled){transform:scale(.97)}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}}.empty{text-align:center;color:var(--ink-3);padding:48px 20px}.empty>svg{opacity:.4;width:40px;height:40px;margin-bottom:10px}.empty-title{color:var(--ink-2);font-size:.9375rem;font-weight:600}.divider{background:var(--line);height:1px;margin:16px 0}.row{align-items:center;gap:10px;display:flex}.spacer{flex:1}.muted{color:var(--ink-3)}.kvs{flex-direction:column;gap:0;display:flex}@media (width>=901px){.cash-moves-list{max-width:440px}}.kv{border-top:1px solid var(--line-soft);justify-content:space-between;gap:14px;padding:9px 0;font-size:.875rem;display:flex}.kv:first-child{border-top:none}.kvs-tight .kv{padding:6px 0}button.kv-link{width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button.kv-link:hover .k{color:var(--accent-strong)}.kv .k{color:var(--ink-3);font-weight:500}.kv .v{font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.shift-detail-grid .kv{justify-content:flex-end;gap:28px}.shift-detail-grid .kv .v{min-width:5em}.hover-row:hover{background:var(--panel)}.wheel-field{display:block}.wheel-trigger{cursor:pointer;text-align:left;align-items:center;gap:8px;width:auto;max-width:100%;display:inline-flex}.wheel-trigger:disabled{cursor:not-allowed;opacity:.55}.wheel-trigger svg{color:var(--ink-3);flex-shrink:0}.wheel-trigger-val{font-family:var(--font-num);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wheel-pop{z-index:9999;gap:8px;width:max-content;max-width:none;max-height:none;padding:10px;display:grid;overflow:visible}.wheel-pop.pop-closing{animation:morphOut .17s var(--ease-in) forwards}.wheel-done{width:100%}.wheel-row{justify-content:center;align-items:stretch;gap:4px;display:flex}.wheel-wrap{flex:none;width:62px;position:relative}.wheel-band{z-index:0;background:var(--panel);pointer-events:none;border-radius:8px;height:34px;position:absolute;top:68px;left:0;right:0}.wheel{z-index:1;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;height:170px;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 22% 78%,#0000);mask-image:linear-gradient(#0000,#000 22% 78%,#0000)}.wheel::-webkit-scrollbar{display:none}.wheel:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.wheel-pad{flex-shrink:0;height:68px}.wheel-item{scroll-snap-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;height:34px;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink-3);transition:color var(--motion-fast) var(--ease-out);justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;display:flex}.wheel-item[data-sel=true]{color:var(--ink);font-weight:700}.wheel-wrap.disabled{opacity:.45}.wheel-wrap.disabled .wheel{pointer-events:none;overflow:hidden}@media (prefers-reduced-motion:reduce){.wheel{scroll-behavior:auto}}.stats-toolbar{align-items:center;margin-bottom:10px;display:flex}.stats-toolbar .select{width:auto;min-width:150px}.stats-pdf{flex-direction:column;align-items:center;gap:12px;height:min(74vh,760px);display:flex;overflow-y:auto}.stats-pdf-page{width:100%;max-width:760px;box-shadow:var(--shadow-md);border-radius:8px;display:block}.stats-pdf-loading{margin:auto;padding:60px 0}.pos-grid{grid-template-columns:minmax(0,1fr) 408px}@media (width<=1279px){.pos-grid{grid-template-columns:minmax(0,1fr) 360px}}@media (width<=900px){.pos-grid{grid-template-columns:1fr!important}.pos-visitor-sticky{position:static!important}.pos-page .cart-panel{display:none}.pos-page.cart-open .pos-left{display:none!important}.pos-page.cart-open .cart-panel{transform-origin:bottom;animation:ticketUp var(--t-med) var(--ease-out);display:flex}.pos-page.cart-closing .cart-panel{animation:ticketDown var(--t-med) var(--ease-in) forwards}.pos-page.cart-open .cart-items{flex:none;overflow:visible}.pos-page.cart-open .pos-cart-bar{display:none}}@keyframes ticketUp{0%{opacity:0;transform:translateY(34px)scaleY(.97)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes ticketDown{0%{opacity:1;transform:translateY(0)scaleY(1)}to{opacity:0;transform:translateY(34px)scaleY(.97)}}@media (width<=767px){.pos-page.cart-open{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}}.cart-foot-full{flex-direction:column;flex:auto;min-height:0;display:flex}.cart-foot-compact{display:none}.checkout-back{border:1px solid var(--line);cursor:pointer;height:30px;color:var(--ink-2);white-space:nowrap;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);background:0 0;border-radius:9px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.checkout-back:hover{background:var(--panel);color:var(--ink);border-color:var(--ink-4)}.checkout-back svg{flex:none}@media (width>=901px){.cart-foot-compact{flex:none;display:block}.cart-foot-full{display:none}.pos-page.pay-open .pos-left{display:none!important}.pos-page.pay-open .pos-grid{min-height:0;grid-template-columns:1fr!important;height:auto!important}.pos-page.pay-open{padding-bottom:40px}.pos-page.pay-open .cart-panel{width:100%;max-width:1080px;animation:checkoutIn var(--t-med) var(--ease-out);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 1px minmax(340px,420px);align-self:start;column-gap:24px;margin:0 auto;display:grid}.pos-page.pay-open .cart-head{grid-area:1/1/auto/-1}.pos-page.pay-open .cart-items{flex:initial;grid-area:2/1;align-self:start;overflow:visible}.pos-page.pay-open .cart-panel:before{content:"";background:var(--line-soft);grid-area:2/2;align-self:stretch;margin-block:18px}.pos-page.pay-open .cart-foot{border-top:none;grid-area:2/3;align-self:start;min-height:0}.pos-page.pay-open .cart-foot-compact{display:none}.pos-page.pay-open .cart-foot-full{display:flex}.pos-page.pay-open .pos-steps{justify-content:center;margin-bottom:26px}}@keyframes checkoutIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (height<=560px) and (orientation:landscape){.pos-grid{grid-template-columns:1fr!important}.pos-visitor-sticky{position:static!important}}@media (width<=540px){.cart-foot{padding:14px}.cart-foot .cart-total-row{margin-bottom:10px}.pay-seg{grid-template-columns:1fr 1fr}}.pos-left{container-type:inline-size}.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 12px;display:grid}.cat-group-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:8px;font-size:.78125rem;font-weight:600;display:flex}.cat-group-dot{border-radius:3px;width:9px;height:9px}.cat-tile{background:var(--surface);border:2px solid var(--cat-color,var(--line));border-radius:var(--radius);aspect-ratio:1/1.1;text-align:left;width:100%;max-height:172px;box-shadow:var(--shadow-sm);flex-direction:column;gap:0;padding:0;transition:box-shadow .13s,transform 60ms;display:flex;position:relative;overflow:hidden}.cat-tile:hover{box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-md);border-color:var(--accent-line);transform:translateY(-1px)}.cat-tile:active{transform:translateY(0)}.cat-tile:disabled{opacity:.5;cursor:not-allowed}.cat-tile:disabled:hover{box-shadow:var(--shadow-sm);transform:none}.cat-visual-wrap{background:color-mix(in oklab, var(--cat-color,var(--accent)), white 90%);flex:auto;place-items:center;width:100%;min-height:0;padding:8px;display:grid;overflow:hidden}.cat-visual{width:100%;height:100%;color:var(--cat-color,var(--accent-strong));place-items:center;display:grid;overflow:hidden}.cat-visual img{object-fit:contain;width:100%;height:100%}.cat-visual.emoji{font-size:3.625rem;line-height:1}.cat-visual.ghost{color:color-mix(in oklab, var(--cat-color,var(--ink-3)), black 5%)}[data-theme=dark] .cat-visual-wrap{background:color-mix(in oklab, var(--cat-color,var(--accent)), var(--surface) 80%)}[data-theme=dark] .cat-visual.ghost{color:color-mix(in oklab, var(--cat-color,var(--ink-3)), white 8%)}[data-theme=dark] .cat-visual{color:color-mix(in oklab, var(--cat-color,var(--accent)), white 12%)}.cat-visual.ghost svg{opacity:.92;width:52px;height:52px}.cat-visual.preview{border:1px solid var(--line);background:var(--panel);border-radius:18px;width:88px;height:88px;padding:8px}.pos-steps{align-items:center;gap:2px;margin-bottom:22px;display:flex}@media (width<=767px){.pos-steps{display:none}}.pos-step-item{align-items:center;gap:7px;display:flex}.pos-step-dot{width:22px;height:22px;font-size:.75rem;font-weight:700;font-family:var(--mono);border-radius:50%;flex:none;place-items:center;display:grid}.pos-step-dot.done{background:var(--ok);color:#fff}.pos-step-dot.current{background:var(--accent);color:var(--on-accent)}.pos-step-dot.todo{background:var(--panel-2);color:var(--ink-4)}.pos-step-dot.gate-off{background:var(--bad-soft);color:var(--bad)}.pos-step-label{font-size:.8125rem;font-weight:600}.pos-step-label.done{color:var(--ink-3)}.pos-step-label.current{color:var(--ink)}.pos-step-label.todo{color:var(--ink-4)}.pos-step-label.gate-off{color:var(--bad)}.pos-step-sep{color:var(--ink-4);margin:0 3px}@media (width<=767px){.pos-step-label.done,.pos-step-label.todo{display:none}}.pos-gate{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:460px;margin:40px auto;padding:56px 28px;display:flex}.pos-gate-icon{background:var(--warn-soft);width:60px;height:60px;color:var(--warn-ink);border-radius:18px;place-items:center;display:grid}.pos-gate-title{letter-spacing:-.3px;font-size:1.3125rem;font-weight:700}.pos-gate-sub{color:var(--ink-3);font-size:.84375rem;line-height:1.55}.pos-pick{flex-direction:column;gap:12px;display:flex}.pos-visitor-search{z-index:1;border-radius:var(--radius-sm);flex:1;align-items:stretch;min-width:0;animation:2.4s linear 4 pos-step-pulse;display:flex;position:relative}.pos-visitor-search .pos-step-badge{background:var(--accent);min-width:46px;color:var(--on-accent);border-radius:var(--radius-sm) 0 0 var(--radius-sm);flex:none;place-items:center;padding:0 6px;font-size:1rem;font-weight:700;display:grid;overflow:hidden}@keyframes pos-step-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}75%,to{box-shadow:0 0 0 12px color-mix(in srgb, var(--accent) 0%, transparent)}}.pos-visitor-search .input{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.pos-pick.is-collapsing{animation:pos-pick-out .28s var(--ease-out) forwards}.pos-pick.is-collapsing .pos-visitor-search{animation:none}.pos-pick.is-collapsing .pos-step-badge{animation:pos-step-collapse .28s var(--ease-out) forwards}@keyframes pos-step-collapse{to{opacity:0;width:0;min-width:0;padding:0;transform:translate(-14px)}}@keyframes pos-pick-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.pos-pick.is-collapsing,.pos-pick.is-collapsing .pos-step-badge,.pos-visitor-search{animation:none}}.pos-chips{flex-wrap:wrap;gap:8px;display:flex}.pos-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);transition:border-color var(--t-fast), background var(--t-fast);border-radius:999px;align-items:center;gap:7px;padding:5px 11px 5px 6px;font-size:.8125rem;font-weight:600;display:inline-flex}.pos-chip:hover{border-color:var(--accent-line);background:var(--accent-soft)}.pos-chip svg{color:var(--warn-ink)}.pos-catalog{flex-direction:column;gap:12px;display:flex;position:relative}.pos-catalog.is-dim .catalog-grid,.pos-catalog.is-dim .pos-cat-toolbar{opacity:.4;pointer-events:none;filter:saturate(.55);transition:opacity var(--t-med)}.pos-cat-toolbar{flex-wrap:wrap;align-items:center;gap:0;display:flex}.pos-items-step{white-space:nowrap;box-sizing:border-box;background:var(--accent-soft);color:var(--accent-strong);opacity:0;max-width:0;transition:max-width .3s var(--ease-out), opacity .2s var(--ease-out), margin-right .3s var(--ease-out), padding .3s var(--ease-out);border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:7px;margin-right:0;padding:5px 0;font-size:.78125rem;font-weight:700;display:inline-flex;overflow:hidden}.pos-cat-toolbar.has-member .pos-items-step{opacity:1;border-color:var(--accent-line);max-width:180px;margin-right:12px;padding:5px 12px 5px 5px}.pos-items-num{background:var(--accent);width:17px;height:17px;color:var(--on-accent);text-align:center;border-radius:50%;flex-shrink:0;place-items:center;font-size:.6875rem;font-weight:700;line-height:1;display:grid}@media (prefers-reduced-motion:reduce){.pos-items-step{transition:opacity .2s}}.pos-tabs{flex-wrap:wrap;flex:1;gap:6px;display:flex}.pos-tab{border:1px solid var(--line);background:var(--surface);color:var(--ink-3);transition:border-color var(--t-fast), color var(--t-fast), background var(--t-fast);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.78125rem;font-weight:600;display:inline-flex}.pos-tab:hover{border-color:var(--accent-line);color:var(--ink)}.pos-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.pos-tab-dot{border-radius:3px;width:8px;height:8px}.pos-tab-ic{flex:none;align-items:center;display:inline-flex}.pos-filter{flex:none;position:relative}.pos-filter-trigger{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:border-color var(--t-fast), background var(--t-fast);border-radius:999px;align-items:center;gap:7px;padding:5px 10px 5px 12px;font-size:.78125rem;font-weight:700;line-height:1.5;display:inline-flex}.pos-filter-trigger:hover{border-color:var(--accent-line)}.pos-filter-current{white-space:nowrap}.pos-filter-caret{color:var(--ink-3);flex:none}.pos-filter-backdrop{z-index:40;position:fixed;inset:0}.pos-filter-menu{z-index:41;background:var(--surface);border:1px solid var(--line);min-width:200px;box-shadow:var(--shadow-lg);transform-origin:0 0;animation:morphIn .26s var(--ease-out);border-radius:12px;flex-direction:column;gap:2px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.pos-filter-item{text-align:left;cursor:pointer;width:100%;color:var(--ink-2);transition:background var(--t-fast), color var(--t-fast);animation:menuItemIn .22s var(--ease-out) backwards;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:9px 11px;font-size:.84375rem;font-weight:600;display:flex}.pos-filter-menu>.pos-filter-item:first-child{animation-delay:.11s}.pos-filter-menu>.pos-filter-item:nth-child(2){animation-delay:.14s}.pos-filter-menu>.pos-filter-item:nth-child(3){animation-delay:.17s}.pos-filter-menu>.pos-filter-item:nth-child(4){animation-delay:.2s}.pos-filter-menu>.pos-filter-item:nth-child(5){animation-delay:.23s}.pos-filter-menu>.pos-filter-item:nth-child(n+6){animation-delay:.26s}.pos-filter-menu.pop-closing .pos-filter-item{animation:none}@media (prefers-reduced-motion:reduce){.pos-filter-menu,.pos-filter-item{animation:none}}.pos-filter-item:hover{background:var(--panel);color:var(--ink)}.pos-filter-item.active{background:var(--accent-soft);color:var(--accent-strong)}@media (width>=768px){.pos-page .pos-filter-item{font-size:.84375rem}.pos-page .pos-tab{padding:9px 16px;font-size:.90625rem}.pos-page .pos-tab-dot{width:10px;height:10px}}@container (width<=620px){.pos-cat-toolbar{flex-flow:wrap;align-items:center;gap:10px}.pos-cat-toolbar .pos-item-search{flex:100%;order:-1;max-width:none}.pos-cat-toolbar .pos-tabs{flex:none}}.pos-dim-hint{text-align:center;color:var(--accent-strong);padding:4px;font-size:.8125rem;font-weight:600}.catalog-grid.dense{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-auto-rows:1fr;gap:10px}.catalog-grid.dense .cat-tile{aspect-ratio:auto;border:1px solid var(--line);border-left:3px solid var(--cat-color,var(--line));background:var(--surface);border-radius:11px;flex-direction:column;justify-content:space-between;align-items:stretch;gap:9px;min-height:112px;max-height:none;padding:13px}@container (width>=640px){.catalog-grid.dense{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width>=880px){.catalog-grid.dense{grid-template-columns:repeat(5,minmax(0,1fr))}}.catalog-grid.dense .cat-tile-top{align-self:flex-start;align-items:center;display:flex}.catalog-grid.dense .cat-chip{background:color-mix(in oklab, var(--cat-color,var(--accent)), white 86%);border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}[data-theme=dark] .catalog-grid.dense .cat-chip{background:color-mix(in oklab, var(--cat-color,var(--accent)), var(--surface) 74%)}.catalog-grid.dense .cat-chip .cat-visual{width:auto;height:auto}.catalog-grid.dense .cat-chip .cat-visual.ghost svg{opacity:1;width:21px;height:21px}.catalog-grid.dense .cat-chip .cat-visual.emoji{font-size:1.3125rem}.catalog-grid.dense .cat-chip .cat-visual img{border-radius:7px;width:32px;height:32px}.catalog-grid.dense .cat-tile .cat-info{text-align:left;flex:1;justify-content:flex-end;align-items:stretch;gap:3px;min-width:0;min-height:0;padding:0}.catalog-grid.dense .cat-tile .cat-name{color:var(--ink);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:none;font-size:1rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.catalog-grid.dense .cat-tile .cat-foot{align-items:baseline;gap:6px;display:flex}.catalog-grid.dense .cat-tile .cat-price{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.catalog-grid.dense .cat-tile .cat-price.free{color:var(--ok)}@media (width<=767px){.catalog-grid.dense{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.catalog-grid.dense .cat-tile{border-radius:10px;gap:7px;min-height:92px;padding:10px}.catalog-grid.dense .cat-chip{border-radius:8px;width:30px;height:30px}.catalog-grid.dense .cat-chip .cat-visual.ghost svg{width:17px;height:17px}.catalog-grid.dense .cat-chip .cat-visual.emoji{font-size:1.05rem}.catalog-grid.dense .cat-chip .cat-visual img{border-radius:6px;width:26px;height:26px}.catalog-grid.dense .cat-tile .cat-name{font-size:.8rem;line-height:1.2}.catalog-grid.dense .cat-tile .cat-price{font-size:.6875rem}.catalog-grid.dense .cat-corner{gap:3px}}@container (width>=621px){.catalog-grid.dense{gap:12px}.catalog-grid.dense .cat-tile{gap:9px;min-height:118px;padding:12px 13px}.catalog-grid.dense .cat-tile-top{flex:none}.catalog-grid.dense .cat-chip{border-radius:11px;width:42px;height:42px}.catalog-grid.dense .cat-chip .cat-visual.emoji{font-size:1.5rem}.catalog-grid.dense .cat-chip .cat-visual.ghost svg{width:24px;height:24px}.catalog-grid.dense .cat-chip .cat-visual img{width:36px;height:36px}.catalog-grid.dense .cat-stock-badge{padding:3px 7px;font-size:.75rem}}.catalog-grid.dense .cat-uncat-sep{letter-spacing:.4px;text-transform:uppercase;color:var(--ink-4);grid-column:1/-1;align-items:center;gap:10px;margin:8px 0 2px;font-size:.75rem;font-weight:600;display:flex}.catalog-grid.dense .cat-uncat-sep:before,.catalog-grid.dense .cat-uncat-sep:after{content:"";background:var(--line-soft);flex:1;height:1px}.pos-expired{border-radius:var(--radius-sm);background:var(--panel);border:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.pos-expired>svg{color:var(--ink-3);flex:none}.pos-expired-title{color:var(--ink);font-size:.875rem;font-weight:600}.waiver-banner{border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid var(--warn-line);align-items:center;gap:12px;padding:12px 14px;display:flex}.sigpad{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.sigpad-canvas{touch-action:none;cursor:crosshair;width:100%;height:clamp(96px,20svh,170px);display:block}.sigpad-foot{border-top:1px solid var(--line-soft);background:var(--panel);justify-content:space-between;align-items:center;gap:10px;padding:6px 8px 6px 12px;display:flex}.waiver-body{white-space:pre-wrap;color:var(--ink-2);font-size:.84375rem;line-height:1.55}.waiver-doc{background:var(--surface);width:100%}.waiver-doc-title{font-family:var(--display);color:var(--ink);margin-bottom:10px;font-size:1.0625rem;font-weight:700}.waiver-doc-sign{max-width:320px;margin-top:26px}.waiver-doc-stroke{background:#fff;max-width:100%;height:auto;max-height:110px;display:block}.waiver-doc-typed{font-family:var(--display);color:var(--ink);padding:12px 2px 6px;font-size:1.25rem}.waiver-doc-rule{border-bottom:1px solid var(--ink-4);margin-top:4px}.waiver-doc-name{color:var(--ink);margin-top:6px;font-size:.875rem;font-weight:600}.modal.xwide{max-width:880px}.waiver-2col{grid-template-columns:minmax(280px,1fr) 1.15fr;align-items:start;gap:24px;display:grid}.waiver-form{align-content:start;gap:14px;display:grid}.waiver-text{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);max-height:62svh;padding:14px 16px;overflow-y:auto}.waiver-text-title{font-family:var(--display);color:var(--ink);margin-bottom:8px;font-size:.9375rem;font-weight:700}.waiver-langs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.waiver-lang{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);border-radius:999px;padding:5px 12px;font-size:.78125rem;font-weight:700}.waiver-lang:hover{border-color:var(--accent);color:var(--ink)}.waiver-lang.active{background:var(--accent);color:#fff;border-color:var(--accent)}@media (width<=767px){.waiver-2col{grid-template-columns:1fr;gap:16px}.waiver-text{order:-1;max-height:42svh}}@media (width>=768px) and (height>=720px){.modal-body:has(.waiver-2col){min-height:0;display:flex;overflow:hidden}.modal-body:has(.waiver-2col)>.modal-body-inner{flex:1;min-height:0;display:flex}.waiver-2col{flex:1;align-items:stretch;min-height:0}.waiver-form{align-content:start}.waiver-text{min-height:0;max-height:none}}@media (width>=768px) and (height<=719px){.waiver-text{max-height:none;overflow:visible}}.waiver-banner-ic{background:var(--warn);color:#fff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.waiver-banner-title{color:var(--warn-ink);font-size:.875rem;font-weight:700}.waiver-banner .tiny{color:var(--warn-ink)}.btn.warn{background:var(--warn);color:#5a4410;border-color:var(--warn-line);font-weight:600}.btn.warn:hover{background:#fcc34d}.partial-grid{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.partial-grid .partial-pending{color:var(--bad);grid-column:1/-1;font-size:.8125rem;font-weight:600}.partial-grid .partial-pending strong{color:var(--ink)}.check-row{cursor:pointer;color:var(--ink);align-items:center;gap:8px;font-size:.8125rem;display:flex}.cart-foot .check-row{background:var(--panel);border:1px solid var(--line);transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);border-radius:10px;gap:10px;padding:10px 12px;font-weight:600}.cart-foot .check-row:hover{background:var(--line)}.cart-foot .check-row input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.cart-foot .check-row:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.cart-foot-body{flex-shrink:1;min-height:0;margin:0 -13px;padding:0 13px 8px;overflow-y:auto}.cart-pay{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:13px;flex-direction:column;flex-shrink:0;margin-top:8px;padding:13px;display:flex}.cart-pay-total{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.cart-pay-label{letter-spacing:.5px;color:var(--ink-3);font-size:.75rem;font-weight:700}.cart-pay-amount{color:var(--ink);font-size:1.3125rem;font-weight:800}.cart-pay-seg{gap:6px;margin-bottom:8px;display:flex}.cart-split-toggle{border:1px solid var(--accent-line);cursor:pointer;width:100%;color:var(--accent-strong);transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:6px;margin:0 0 8px;padding:9px;font-size:.8125rem;font-weight:700;display:flex}.cart-split-toggle:hover{background:var(--accent-soft);border-color:var(--accent)}.cart-split-chip{background:var(--surface);border:1px solid var(--line);border-radius:9px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;display:flex}.cart-split-chip-legs{color:var(--ink);font-size:.78125rem;font-weight:700}.cart-split-edit{cursor:pointer;color:var(--ink-3);background:0 0;border:none;align-items:center;gap:5px;font-size:.75rem;font-weight:600;display:flex}.cart-split-edit:hover{color:var(--ink)}.split-ov{flex-direction:column;gap:12px;display:flex}.split-ov-presets{flex-wrap:wrap;gap:8px;display:flex}.split-ov-leg{justify-content:space-between;align-items:center;gap:10px;display:flex}.split-ov-leg-name{color:var(--ink);align-items:center;gap:8px;font-weight:600;display:flex}.split-ov-input{text-align:right;border:1px solid var(--line);background:var(--card);width:130px;color:var(--ink);border-radius:10px;padding:9px 11px;font-size:.9375rem}.split-ov-input:focus{border-color:var(--accent);outline:none}.split-ov-input.ro{background:var(--bg);color:var(--muted);border-style:dashed;justify-content:flex-end;align-items:center;display:flex}.split-ov-select{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:7px 9px;font-weight:600}.split-ov-range{width:100%;accent-color:var(--accent)}.split-ov-bar{background:var(--line);border-radius:6px;height:10px;display:flex;overflow:hidden}.split-ov-bar-cash{background:var(--ok)}.split-ov-bar-dig{background:var(--accent)}.split-ov-ok{color:var(--ok);justify-content:center;align-items:center;gap:6px;font-size:.78125rem;font-weight:700;display:flex}.cart-pay-btn{border:1px solid var(--line);cursor:pointer;background:var(--surface);color:var(--ink-2);transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);border-radius:9px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:9px 4px;font-size:.75rem;font-weight:600;display:flex}.cart-pay-btn:hover{border-color:var(--ink-4);color:var(--ink)}.cart-pay-btn.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.cart-pay-free{background:var(--accent-soft);color:var(--accent-strong);border-radius:9px;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:11px;font-size:.8125rem;font-weight:600;display:flex}.cart-charge{cursor:pointer;background:var(--accent);width:100%;color:var(--on-accent);transition:filter var(--t-fast), background var(--t-fast), color var(--t-fast);border:none;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:.90625rem;font-weight:800;display:flex}.cart-charge:hover{filter:brightness(1.06)}.cart-charge.is-blocked{background:var(--panel);color:var(--ink-4);cursor:not-allowed}.cart-charge.is-blocked:hover{filter:none}.cart-charge.is-blocked:not(:disabled){background:var(--warn);color:#5a4410;cursor:pointer}.cart-pay-blocker{color:var(--warn-ink);justify-content:center;align-items:center;gap:6px;margin-top:9px;font-size:.75rem;font-weight:600;display:flex}.punchcard{align-items:center;gap:8px;margin-top:4px;display:flex}.punchcard.ok{color:var(--accent)}.punchcard.low{color:var(--warn)}.punchcard.empty{color:var(--bad)}.punch-bar{flex:1;gap:3px;min-width:40px;display:flex}.punch-seg{background:var(--line);border:1px solid color-mix(in srgb, var(--ink) 8%, transparent);border-radius:3px;flex:1;height:9px}.punch-seg.used{background:currentColor;border-color:currentColor}.punch-seg.pending{background:var(--warn);border-color:var(--warn)}.punch-meta{color:var(--muted);white-space:nowrap;font-size:.75rem}.punch-renew{color:var(--bad);background:color-mix(in srgb, var(--bad) 14%, transparent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}.pos-memuse{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:border-color var(--t-fast), background var(--t-fast);align-items:center;gap:12px;padding:11px 13px;display:flex}.pos-memuse:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, var(--accent-soft))}.pos-memuse-footer{margin-top:11px}.pos-memuse-ic{background:var(--accent);color:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}@media (width<=767px){.pos-memuse-ic{display:none}}.pos-memuse-line{flex-wrap:wrap;flex:1;align-items:center;gap:11px;min-width:0;display:flex}.pos-memuse-title{color:var(--accent-strong);font-size:.9375rem;font-weight:700}.pos-memuse-div{background:var(--accent-line);border-radius:1px;flex:none;align-self:stretch;width:1.5px;min-height:18px}@media (width<=767px){.pos-memuse-div{display:none}}.pos-memuse-note{color:var(--accent-strong);font-size:.875rem;font-weight:600}.pos-acompanante .pos-memuse-note{margin-top:2px}.pos-pending{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius-sm);flex-direction:column;gap:9px;padding:11px 12px;display:flex}.pos-pending-head{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:7px;font-size:.8125rem;font-weight:700;display:flex}.pos-pending-list{flex-direction:column;gap:7px;display:flex}.pos-pending-item{align-items:stretch;gap:6px;display:flex}.pos-pending-go{border:1px solid var(--accent-line);background:var(--panel);border-radius:var(--radius-sm);cursor:pointer;text-align:left;min-width:0;color:var(--ink);transition:border-color var(--t-fast), background var(--t-fast);flex:1;align-items:center;gap:8px;padding:8px 11px;display:flex}.pos-pending-go:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel))}.pos-pending-go>svg:last-child{color:var(--accent);flex:none;margin-left:auto}.pos-pending-name{font-size:.9375rem;font-weight:700}.pos-pending-meta{color:var(--muted);font-size:.8125rem;font-weight:600}.pos-pending-x{border:1px solid var(--accent-line);background:var(--panel);border-radius:var(--radius-sm);width:34px;color:var(--muted);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast);flex:none;place-items:center;display:grid}.pos-pending-x:hover{color:var(--danger);border-color:var(--danger)}.pos-memuse .punch-bar{flex:none;align-items:center;gap:5px;min-width:0}.pos-memuse .punch-seg{aspect-ratio:1;box-sizing:border-box;background:var(--surface);border:1.5px solid var(--accent-line);border-radius:50%;flex:none;align-self:center;width:11px;height:11px}.pos-memuse .punch-seg.used{background:var(--accent);border-color:var(--accent)}.pos-memuse .punch-seg.pending{background:var(--warn);border-color:var(--warn)}.pos-memuse:hover .punch-seg{border-color:var(--accent)}.pos-memuse .punch-meta{color:var(--accent-strong);font-weight:700}.pos-member-block{animation:posMemberIn var(--motion-base) var(--ease-out)}.pos-member-block.is-leaving{animation:posMemberOut .24s var(--ease-in) forwards}@keyframes posMemberIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes posMemberOut{to{opacity:0;transform:translateY(-16px)}}@media (prefers-reduced-motion:reduce){.pos-member-block,.pos-member-block.is-leaving{animation:none}}.pos-mem-compact{padding:12px 14px}.pos-mem-compact>.row{gap:10px}.pos-mem-headline{flex-wrap:wrap;row-gap:4px}.pos-mem-name{letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;font-size:1.125rem;font-weight:600;overflow:hidden}.pos-mem-name-btn{color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;max-width:100%;margin:0;padding:0;font-family:inherit;display:block}.pos-mem-sep{background:var(--line);flex-shrink:0;width:1px;height:17px}.pos-mem-plan{color:var(--ink-2);white-space:nowrap;flex-shrink:0;font-size:.96875rem;font-weight:600}@media (width>=768px){.pos-mem-name{font-size:1.3125rem}.pos-mem-plan{font-size:1.0625rem}.pos-mem-sep{height:20px}}.pos-mem-clickzone{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast) var(--ease-out);background:0 0;border:none;border-radius:999px;flex:0 auto;align-items:center;gap:10px;margin:-8px 0 -8px -8px;padding:8px;display:flex}.pos-mem-clickzone:hover{background:var(--panel)}.pos-mem-clickzone:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pos-mem-clickzone .avatar{transition:transform var(--t-fast) var(--ease-out)}.pos-mem-clickzone:hover .avatar{transform:scale(1.05)}.pos-mem-namecol{flex-direction:column;display:flex}.pos-mem-meta{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 9px;display:flex}.pos-mem-invoice{transition:grid-template-rows var(--t-med) var(--ease-out);grid-template-rows:0fr;display:grid}.pos-mem-invoice.show{grid-template-rows:1fr}.pos-mem-invoice-inner{min-height:0;overflow:hidden}.pos-class-access{flex-direction:column;gap:6px;margin-top:12px;display:flex}.pos-class-row{border:1px solid var(--line);border-radius:9px;align-items:center;gap:9px;padding:8px 10px;display:flex}.pos-class-row.ok{background:var(--ok-soft);border-color:var(--ok-line)}.pos-class-row.ok>svg{color:var(--ok);flex:none}.pos-class-row.warn{background:var(--warn-soft);border-color:var(--warn-line)}.pos-class-row.warn>svg{color:var(--warn-ink);flex:none}.pos-class-row .tiny{color:var(--ink-3)}.pos-class-row.warn .tiny{color:var(--warn-ink)}.pos-classin{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin-top:12px;padding:12px;display:flex}.pos-classin-row{align-items:center;gap:10px;display:flex}.pos-classin-ic{color:var(--accent-strong);flex:none;display:inline-flex}.pos-classin-info{flex:1;min-width:0}.pos-classin-name{font-size:.84375rem;font-weight:600}.pos-classin-actions{flex:none;gap:6px;display:flex}.pos-classin-gym{border:1px dashed var(--accent-line);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--ink-2);font-family:var(--sans);transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:8px;font-size:.78125rem;font-weight:600;display:inline-flex}.pos-classin-gym:hover{background:var(--panel);color:var(--ink)}@media (width<=767px){.pos-classin-row{flex-wrap:wrap}.pos-classin-info{flex-wrap:wrap;align-items:baseline;gap:3px 8px;display:flex}.pos-classin-actions{flex:100%}.pos-classin-actions>.btn{flex:1;justify-content:center}}.lock{background:var(--bg);min-height:100%;padding:24px;display:flex;overflow-y:auto}.lock-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-md);margin:auto;padding:26px;position:relative}.lock-head{align-items:center;gap:13px;margin-bottom:20px;display:flex}.lock-brand{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-strong);border-radius:13px;flex:none;place-items:center;display:grid}.lock-title{letter-spacing:-.3px;font-size:18px;font-weight:700}.lock-sub{color:var(--ink-3);margin-top:2px;font-size:12.5px}.lock-profiles{grid-template-columns:repeat(auto-fit,minmax(120px,144px));justify-content:center;gap:10px;display:grid}.lock-profile{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast), transform var(--t-fast);flex-direction:column;align-items:center;gap:6px;padding:16px 10px;display:flex;position:relative}.lock-profile:hover{border-color:var(--accent-line);background:var(--accent-soft);transform:translateY(-1px)}.lock-profile-name{text-align:center;font-size:13.5px;font-weight:600;line-height:1.2}.lock-profile-role{color:var(--ink-4);font-size:11.5px}.lock-nopin{color:var(--warn-ink);background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:999px;padding:1px 5px;font-size:9.5px;font-weight:700;position:absolute;top:7px;right:7px}.lock-profile.is-gated{opacity:.5;cursor:not-allowed}.lock-profile.is-gated:hover{border-color:var(--line);background:var(--surface);transform:none}.lock-profile.is-gated .lock-nopin{color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, transparent);border-color:color-mix(in srgb, var(--bad) 30%, transparent)}.lock-nopin.lock-active{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent-line)}.lock-shift-note{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bad) 8%, transparent);border:1px solid color-mix(in srgb, var(--bad) 22%, transparent);color:var(--ink-2);align-items:flex-start;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:.78125rem;line-height:1.4;display:flex}.lock-shift-note svg{color:var(--bad);flex-shrink:0;margin-top:1px}.lock-signout{width:100%;color:var(--ink-4);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:7px;margin-top:18px;padding:8px;font-size:12.5px;font-weight:600;display:flex}.lock-signout:hover{color:var(--bad)}.lock-back{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--ink-3);border-radius:9px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.lock-back:hover{border-color:var(--accent-line);color:var(--ink)}.lock-picked{text-align:center;flex-direction:column;align-items:center;margin:6px 0 18px;display:flex}.lock-setup{gap:10px;display:grid}.lock-pin-input{text-align:center;letter-spacing:8px;font-size:22px}.lock-dots{justify-content:center;gap:14px;margin:6px 0 20px;display:flex}.lock-verifying{height:14px;color:var(--ink-3);justify-content:center;align-items:center;gap:9px;margin:6px 0 20px;font-size:.8125rem;font-weight:500;line-height:1;display:flex}.lock-spin{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}.lock-verifying .lock-spin{border-color:var(--line);border-top-color:var(--accent)}.lock-kbd-hint{text-align:center;margin-top:14px;display:none}@media (pointer:fine){.lock-kbd-hint{display:block}}@media (prefers-reduced-motion:reduce){.lock-spin{animation-duration:2s}}.lock-dot{border:2px solid var(--line);width:14px;height:14px;transition:background var(--t-fast), border-color var(--t-fast);border-radius:50%}.lock-dot.on{background:var(--accent);border-color:var(--accent)}.lock-pad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:280px;margin:0 auto;display:grid}.lock-key{border:1px solid var(--line);background:var(--surface);height:58px;font-size:22px;font-weight:600;font-family:var(--mono);color:var(--ink);cursor:pointer;transition:background var(--t-fast), transform 50ms;border-radius:14px;place-items:center;display:grid}.lock-key:hover{background:var(--panel)}.lock-key:active{transform:scale(.96)}.lock-key:disabled{opacity:.5;cursor:default}.lock-key-back{color:var(--ink-3)}.cat-visual.preview img{object-fit:contain;border-radius:12px}.cat-visual.preview .emoji-lg{font-size:3.25rem;line-height:1}.cat-info{text-align:left;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:6px;min-height:64px;padding:10px 12px 11px;display:flex}.cat-name{letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;font-size:.90625rem;font-weight:600;line-height:1.2;overflow:hidden}.cat-foot{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;min-width:0;display:flex}@media (width>=768px) and (width<=1279px){.cat-info{padding:8px 9px 9px}.cat-name{font-size:.78125rem}.cat-price{font-size:.8125rem}.cat-foot .tiny{font-size:.75rem}}.cat-price{color:var(--ink);font-size:.9375rem;font-weight:700}.stock-low{color:var(--warn-ink);font-weight:600}.cat-group-badge{font-variant-numeric:tabular-nums;background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--accent-line);border-radius:6px;flex:none;align-items:center;padding:3px 7px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.tile-added{z-index:4;border-radius:inherit;pointer-events:none;background:color-mix(in srgb, var(--ok) 16%, transparent);animation:tileAddedFade 1.2s var(--ease-out) forwards;place-items:center;display:grid;position:absolute;inset:0}.tile-added svg{width:40%;max-width:52px;height:auto;color:var(--ok-ink);animation:tileAddedPop .42s var(--spring-pop) both}.tile-added path{stroke-dasharray:1;stroke-dashoffset:1px;animation:tileAddedDraw .34s var(--ease-out) .11s forwards}@keyframes tileAddedPop{0%{transform:scale(.45)translateY(8px)}to{transform:none}}@keyframes tileAddedDraw{to{stroke-dashoffset:0}}@keyframes tileAddedFade{0%,80%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.tile-added,.tile-added svg{animation:none}.tile-added path{stroke-dashoffset:0;animation:none}}.cat-corner{z-index:2;flex-direction:column;align-items:flex-end;gap:5px;display:inline-flex;position:absolute;top:8px;right:10px}.cat-edit{z-index:3;background:var(--surface);border:1px solid var(--line);width:26px;height:26px;color:var(--ink-3);cursor:pointer;opacity:0;box-shadow:var(--shadow-sm);border-radius:8px;flex:none;place-items:center;transition:opacity .12s,background .12s;display:grid;position:absolute;bottom:8px;right:10px}.cat-tile:hover .cat-edit{opacity:1}.cat-edit:hover{background:var(--panel);color:var(--ink)}.cat-stock-badge{font-variant-numeric:tabular-nums;background:var(--panel);color:var(--ink-data);border:1px solid var(--line);border-radius:6px;flex:none;align-items:center;gap:4px;padding:3px 7px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.cat-stock-badge .csb-sep{color:var(--ink-4);font-weight:400}.cat-stock-badge .csb-bodega{color:var(--ink-3);font-weight:600}@container (width<=620px){.catalog-grid .cat-corner{top:5px;bottom:auto;right:5px}.catalog-grid .cat-tile .cat-edit{display:none}}@media (width<=767px){.catalog-grid.dense .cat-tile{align-items:stretch}.catalog-grid.dense .cat-tile-top{justify-content:flex-start}}.emoji-grid{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icon-catalog{flex-direction:column;gap:12px;display:flex}.icon-filters{flex-wrap:wrap;gap:6px;display:flex}.icon-filter-select{width:auto;min-width:150px}.icon-filter-select .ui-select-trigger{width:100%}.emoji-tile{border:1px solid var(--line);background:var(--surface);width:52px;height:52px;transition:background var(--motion-fast) var(--ease-std), border-color var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std), transform var(--motion-fast) var(--ease-std), box-shadow var(--motion-fast) var(--ease-std);border-radius:11px;flex:none;place-items:center;font-size:1.625rem;line-height:1;display:grid}.emoji-tile:hover{border-color:var(--ink-4)}.emoji-tile.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft)}.pay-membership{border:1px solid var(--ok-line);background:var(--ok-soft);color:var(--ok);border-radius:10px;align-items:center;gap:11px;padding:12px 14px;display:flex}.invoice-hint{color:var(--warn-ink);background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:9px;align-items:center;gap:7px;padding:8px 11px;font-size:.78125rem;font-weight:500;display:flex}.toggle-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:12px;width:100%;padding:11px 13px;transition:border-color .12s;display:flex}.toggle-row-text{text-align:left;flex:1}.toggle-row-label{font-size:.875rem;font-weight:500}.toggle-row:hover{border-color:var(--ink-4)}.toggle-row.toggle-compact{gap:10px;width:fit-content;padding:9px 13px}.pos-toggle-row{flex-wrap:wrap;gap:8px;display:flex}.pos-toggle-row>.toggle-row{flex:150px;min-width:0}.switch{background:var(--line);border-radius:99px;flex-shrink:0;width:42px;height:24px;transition:background .16s;position:relative}.switch .knob{background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .16s;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent)}.switch.on .knob{transform:translate(18px)}.zoom-row{align-items:center;gap:14px;display:flex}.zoom-row .btn{flex-shrink:0;width:48px;height:48px}.swatch-row{flex-wrap:wrap;gap:6px;display:flex}.swatch{width:26px;height:26px;transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);border:2px solid #0000;border-radius:7px;box-shadow:inset 0 0 0 1px oklch(0% 0 0/.08)}.swatch:hover:not(:disabled){transform:scale(1.15);box-shadow:inset 0 0 0 1px oklch(0% 0 0/.12),0 2px 6px oklch(0% 0 0/.12)}.swatch:active:not(:disabled){transition-duration:80ms;transform:scale(.92)}.swatch.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.swatch:disabled{cursor:not-allowed}.swatch-custom{cursor:pointer;color:#fff;background:conic-gradient(#e0463a,#e08a1e,#5a9e1f,#1fa7a0,#2f6bff,#7c4db8,#c0398c,#e0463a);justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.swatch-custom svg{pointer-events:none;filter:drop-shadow(0 0 1px oklch(0% 0 0/.45))}.swatch-custom input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.cart-panel{flex-direction:column;display:flex;overflow:hidden}@media (width>=901px){.pos-page{padding-bottom:0}.pos-grid{height:var(--pos-grid-h,calc(100vh - var(--page-head-h) - 124px));height:var(--pos-grid-h,calc(100svh - var(--page-head-h) - 124px));min-height:0}.pos-left{min-height:0;margin-left:-14px;padding-left:14px;padding-right:12px;overflow-y:auto}}.pos-visitor-sticky{z-index:5;background:var(--bg);padding:10px 0 6px;position:sticky;top:0}.cart-sheet-close{background:var(--panel);cursor:pointer;width:34px;height:34px;color:var(--ink-2);border:none;border-radius:9px;flex:none;place-items:center;display:none}.pos-page.pay-open .cart-sheet-close{display:none!important}.cart-sheet-close:hover{background:var(--line);color:var(--ink)}.pos-cart-bar{z-index:240;cursor:pointer;background:var(--accent);color:var(--on-accent);border:none;border-radius:22px;align-items:center;gap:14px;padding:24px 22px;font-size:1.25rem;font-weight:700;display:none;position:fixed;bottom:14px;left:14px;right:14px;box-shadow:0 10px 28px #00000038}.pos-cart-bar:active{transform:scale(.99)}.pos-cart-bar-ic{flex:none;place-items:center;display:grid;position:relative}.pos-cart-bar-ic svg{width:24px;height:24px}.pos-cart-bar>svg{width:22px;height:22px}.pos-cart-bar-count{background:var(--surface);min-width:17px;height:17px;color:var(--accent-strong);border:2px solid var(--accent);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-9px;right:-9px}.pos-cart-bar-label{text-align:left;flex:1}.pos-cart-bar-total{color:var(--on-accent);font-size:1.3125rem;font-weight:800}@media (width<=767px){.pos-cart-bar{bottom:calc(80px + env(safe-area-inset-bottom,0px));height:60px;padding-top:0;padding-bottom:0;box-shadow:0 -6px 22px #0000002e}}@media (width>=768px) and (width<=900px){.pos-cart-bar{left:140px}}@media (width<=900px){.pos-cart-bar{display:flex}.cart-sheet-close{display:inline-grid}}.cart-head{border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:14px 16px;font-size:.9375rem;font-weight:700;display:flex}.cart-head svg{color:var(--ink-3)}.cart-head-top{align-items:center;gap:9px;display:flex}.cart-head-title{flex:1;align-items:center;gap:9px;min-width:0;display:inline-flex}.cart-head-who-wrap{opacity:0;transition:grid-template-rows .26s var(--ease-out), opacity .2s var(--ease-out);grid-template-rows:0fr;display:grid}.cart-head-who-wrap.show{opacity:1;grid-template-rows:1fr}.cart-head-who-inner{min-height:0;overflow:hidden}.cart-head-who-wrap.show .cart-head-who-inner{padding-top:9px}.cart-head-who{background:var(--accent-soft);max-width:100%;color:var(--accent-strong);border:1px solid var(--accent-line);white-space:nowrap;text-overflow:ellipsis;transition:transform .26s var(--ease-out);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex;overflow:hidden;transform:translate(-8px)}.cart-head-who-wrap.show .cart-head-who{transform:translate(0)}.cart-head-who svg{color:var(--accent-strong);flex-shrink:0}@media (prefers-reduced-motion:reduce){.cart-head-who-wrap,.cart-head-who{transition:none}}.cart-clear{border:1px solid var(--line);background:var(--surface);height:30px;color:var(--ink-3);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast);border-radius:9px;flex:none;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.cart-clear:hover{color:var(--bad);border-color:var(--bad);background:color-mix(in srgb, var(--bad) 8%, var(--surface))}.cart-clear svg{color:inherit;flex:none;transform:scaleX(-1)}.cart-clear-label{white-space:nowrap;font-size:.78125rem;font-weight:600}.cart-items{flex:1 1 0;min-height:48px;padding:6px 0;overflow-y:auto}.cart-line{align-items:center;gap:10px;padding:7px 16px;display:flex}.cart-line+.cart-line{border-top:1px solid var(--line-soft)}.cart-foot{border-top:1px solid var(--line);background:var(--surface);flex-direction:column;flex-shrink:1;min-height:0;padding:13px;display:flex}.cart-foot .cart-total-row{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.cart-foot .cart-total-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.6px;font-size:.8125rem;font-weight:500}.cart-foot .cart-total-amount{font-family:var(--mono);letter-spacing:-.8px;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(1.25rem,5vw,1.625rem);font-weight:700}.cart-foot .label{color:var(--ink-2)}.cart-foot .input{background:var(--surface);border-color:var(--line);--ink:#2d3436;--ink-3:#636e72;color:var(--ink)}.cart-foot .input::placeholder{color:var(--ink-3);opacity:1}.cart-foot .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pay-seg{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.pay-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);transition:background var(--motion-fast) var(--ease-std), border-color var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std), transform var(--motion-fast) var(--ease-std), box-shadow var(--motion-fast) var(--ease-std);border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:10px 4px;font-size:.78125rem;font-weight:500;display:flex}.pay-btn:hover{border-color:var(--ink-4)}.pay-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.pay-btn svg{opacity:.8}.plan-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.plan-tile{border:1px solid var(--line);background:var(--surface);transition:background var(--motion-fast) var(--ease-std), border-color var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std), transform var(--motion-fast) var(--ease-std), box-shadow var(--motion-fast) var(--ease-std);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:11px 13px;display:flex}.plan-tile:hover{border-color:var(--ink-4)}.plan-tile.active{border-color:var(--accent);background:var(--accent-soft)}.plan-tile.active .muted{color:var(--accent-strong)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;min-height:38px;margin-bottom:16px;display:flex}.toolbar .input,.toolbar .select{box-sizing:border-box;height:38px}.toolbar .search{flex:1;min-width:220px;max-width:420px}.detail-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-group{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-line);gap:12px;padding:12px;display:grid}.field-group>.label{color:var(--accent-strong)}@media (width<=560px){.detail-grid{grid-template-columns:1fr}}.prod-edit-form .detail-grid{grid-template-columns:1fr 1fr;gap:10px 12px}.minibar{align-items:flex-end;gap:5px;height:64px;display:flex}.minibar .bar{background:var(--accent-soft);border-radius:4px 4px 2px 2px;flex:1;min-height:3px;transition:height .3s;position:relative}.minibar .bar>span{color:var(--ink-3);font-size:.75rem;font-weight:600;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.cash-strip{text-align:center;display:flex}.cash-strip-cell{flex:1 1 0;min-width:0;padding:0 clamp(3px,1.2vw,8px)}.cash-strip-cell+.cash-strip-cell{border-left:1px solid var(--line)}.cash-strip-lbl{justify-content:center;align-items:center;min-height:2.5em;line-height:1.2;display:flex}.cash-strip-cell.strong .cash-strip-lbl{color:var(--ink-2);font-weight:600}.cash-strip-val{color:var(--ink-2);letter-spacing:-.02em;white-space:nowrap;margin-top:3px;font-size:clamp(.875rem,3.4vw,1.125rem);font-weight:700}.cash-strip-cell.strong .cash-strip-val{color:var(--ink);font-size:clamp(1rem,4vw,1.375rem);font-weight:800}.denom-row{border-top:1px solid var(--line-soft);grid-template-columns:64px 1fr 96px;align-items:center;gap:12px;padding:7px 0;display:grid}.denom-row:first-child{border-top:none}.denom-chip{font-family:var(--mono);text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:4px 0;font-size:.875rem;font-weight:600}.denom-chip.coin{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-ink)}.denom-input{text-align:center;border:1px solid var(--line);width:100%;height:36px;font-family:var(--mono);background:var(--surface);border-radius:8px;font-weight:500}.denom-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.denom-sub{font-family:var(--mono);text-align:right;color:var(--ink-2);font-weight:500}.bignum{font-family:var(--mono);letter-spacing:-1px;color:var(--ink-data);font-weight:700}@media (width<=767px){.turno-grid{grid-template-columns:1fr!important}.bignum{font-size:clamp(1.75rem,12vw,2.75rem)!important}}@media (width>=768px){.turno-grid>.card{padding:13px 20px!important}.turno-grid .stat-label{font-size:.875rem}.turno-grid .bignum{margin-top:auto!important;padding-top:2px!important;font-size:2.125rem!important}.tiny,.stat-label{font-size:.84375rem}}body.compact{font-size:.875rem}body.compact .card-pad{padding:13px}body.compact .table td{padding:8px 14px}body.compact .stat{padding:12px 14px}body.compact .stat-value{font-size:1.5rem}body.compact .page{--page-t:20px;padding-bottom:40px}body.compact .cart-line{padding-top:7px;padding-bottom:7px}.settings-section{margin-bottom:22px}.settings-section:last-child{margin-bottom:0}.pay-methods-grid{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:8px;display:grid}.sched{gap:0;max-width:680px;margin:0 auto;display:grid}.sched-row{border-top:1px solid var(--line-soft);grid-template-columns:171px max-content auto;justify-content:start;align-items:center;gap:9px;padding:4px 0;display:grid}.sched-row:first-child{border-top:0;padding-top:0}.sched-row:last-child{padding-bottom:0}.sched-ranges{gap:5px;min-width:0;display:grid}.sched-range{align-items:center;gap:5px;animation:.22s cubic-bezier(.22,1.2,.36,1) both schedIn;display:flex}@keyframes schedIn{0%{opacity:0;filter:blur(3px);transform:translateY(-6px)}to{opacity:1;filter:blur();transform:none}}.sched-range .wheel-field{flex:0 0 95px}.sched-range .wheel-trigger{justify-content:space-between;width:100%;height:38px;padding:0 12px;font-size:.8125rem}.sched-row .toggle-row{background:0 0;border:0;padding:0}.sched-row .toggle-row-label{font-size:.8125rem}.sched-row .switch{width:38px;height:22px}.sched-row .switch .knob{width:18px;height:18px}.sched-row .switch.on .knob{transform:translate(16px)}.sched-del{flex-shrink:0;width:27px;height:27px}.sched-del svg{width:16px;height:16px}.sched-add.btn.sm{flex-shrink:0;height:29px;padding:0 10px;font-size:.8125rem}@media (width<=620px){.sched-row{grid-template-columns:1fr;align-items:stretch;gap:6px;padding:9px 0}.sched-add{justify-self:start}}.settings-duo{grid-template-columns:1fr 1fr;align-items:stretch;gap:10px;display:grid}.settings-static{border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:13px 14px;display:flex}.settings-static>.btn{white-space:normal;height:auto;min-height:40px;margin-top:auto;padding-top:8px;padding-bottom:8px}.settings-static-head{color:var(--ink);align-items:center;gap:9px;margin-bottom:8px;font-size:.84375rem;font-weight:600;display:flex}.settings-static-head>svg{color:var(--ink-3);flex-shrink:0}@media (width<=600px){.settings-duo{grid-template-columns:1fr}}.settings-grid{gap:10px;display:grid}.settings-grid>*{min-width:0}.settings-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;display:flex;position:relative}.settings-tab{z-index:1;color:var(--ink-3);transition:color var(--motion-fast) var(--ease-std);background:0 0;border:none;border-radius:8px 8px 0 0;align-items:center;gap:7px;margin-bottom:-1px;padding:9px 12px;font-size:.8125rem;font-weight:500;display:inline-flex;position:relative}.settings-tab>svg{color:var(--ink-3);transition:color var(--motion-fast) var(--ease-std);flex-shrink:0}.settings-tab:hover{color:var(--ink)}.settings-tab.active,.settings-tab.active>svg{color:var(--accent-strong)}.settings-tab-label{white-space:nowrap;animation:settingsLabelIn .34s var(--ease-out);display:inline-block}@keyframes settingsLabelIn{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-6px)}to{opacity:1;clip-path:inset(0);transform:translate(0)}}@media (prefers-reduced-motion:reduce){.settings-tab-label{animation:none}}.settings-tabs>.slide-box{border-bottom:2.5px solid var(--accent);background:0 0}.settings-tab-body{margin-top:16px}.wizard-dots{justify-content:center;gap:6px;display:flex}.wizard-dot{background:var(--line);width:7px;height:7px;transition:background var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);border-radius:50%}.wizard-dot.done{background:color-mix(in srgb, var(--accent) 45%, var(--line))}.wizard-dot.active{background:var(--accent);transform:scale(1.25)}.inv-list{flex-direction:column;gap:8px;display:flex}.inv-card-head{cursor:pointer;text-align:left;width:100%;transition:background var(--t-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;display:flex}.inv-card-head:hover{background:var(--panel)}.inv-card-icon{border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.inv-head-sep{background:var(--line);flex-shrink:0;width:1px;height:32px}.pin-input::placeholder{letter-spacing:0;font-size:.8125rem;font-weight:400}.staff-head-name{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;min-width:0;font-weight:600;display:inline-flex;overflow:hidden}.staff-mobile{display:none}@media (width<=767px){.staff-desktop{display:none}.staff-mobile{flex-direction:column;gap:8px;display:flex}}.inv-head-name{flex-direction:column;flex-shrink:0;min-width:0;max-width:42%;display:flex}.inv-head-name>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inv-head-meta{min-width:0;color:var(--ink-3);flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.inv-head-meta>svg{color:var(--accent-strong);flex-shrink:0}.inv-head-meta>div{flex-direction:column;min-width:0;line-height:1.25;display:flex}.inv-head-meta>div>div:last-child{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inv-head-status{flex-shrink:0}.inv-card-head[aria-expanded=true] .inv-head-status{display:none}.inv-card-chev{color:var(--ink-3);transition:transform .42s var(--spring-bounce);flex-shrink:0}.inv-card-chev.open{transform:rotate(180deg)}.inv-card-body{border-top:1px solid var(--line-soft);--inv-indent:46px;flex-direction:column;gap:12px;padding:12px 14px 14px;display:flex}.inv-meta-row{margin-left:var(--inv-indent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;display:flex}@media (width>=768px){.inv-meta-row{justify-content:flex-start;gap:12px 44px}}.inv-meta{text-align:center;flex-direction:column;align-items:center;gap:5px;min-width:0;display:flex}.inv-meta .tiny.muted{white-space:nowrap}.inv-meta-v{font-size:.875rem;font-weight:700}.inv-meta-sep{background:var(--line);flex-shrink:0;align-self:stretch;width:1px;min-height:34px}.inv-valor{margin-right:auto;margin-left:var(--inv-indent);align-items:baseline;gap:8px;display:flex}.inv-valor .mono{font-size:.9375rem}.inv-kv{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;min-height:40px;padding:6px 0;font-size:.84375rem;display:flex}.inv-kv .k{color:var(--ink-3);font-weight:500}.inv-kv .v{font-weight:600}.inv-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;display:flex}@media (width<=600px){.inv-head-status{display:none}.inv-head-name{max-width:50%}}.appearance-row{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.appearance-row:first-of-type{border-top:none;padding-top:6px}.appearance-row>.row{justify-content:flex-end}@media (width<=540px){.appearance-row>.row{justify-content:flex-start}}.accent-swatches{flex-wrap:wrap;gap:6px;display:flex}.accent-swatch{cursor:pointer;width:28px;height:28px;transition:transform var(--t-fast) var(--ease-out), border-color var(--t-fast);border:2px solid #0000;border-radius:50%;padding:0;box-shadow:inset 0 0 0 1px #2d34361a}.accent-swatch:hover{transform:scale(1.1)}.accent-swatch.selected{border-color:var(--ink);transform:scale(1.05)}.accent-custom{border:1px dashed var(--line);background:var(--panel);cursor:pointer;width:32px;height:32px;color:var(--ink-3);border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden}.accent-custom:hover{color:var(--ink);border-color:var(--ink-4)}.accent-custom input[type=color]{opacity:0;cursor:pointer;background:0 0;border:none;position:absolute;inset:0}.dataviz-pick{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.dataviz-swatch{border-radius:6px;place-items:center;width:22px;height:22px;display:inline-grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #2d34361a}.dataviz-swatch input[type=color]{opacity:0;cursor:pointer;background:0 0;border:none;position:absolute;inset:0}.dataviz-name{color:var(--ink-2);font-size:.78125rem;font-weight:500}.widget-sort-list{flex-direction:column;gap:6px;display:flex}.widget-sort-row{border:1px solid var(--line);background:var(--surface);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .18s var(--ease-out), opacity .18s var(--ease-out), border-color .14s var(--ease-out), box-shadow .14s var(--ease-out), background .14s var(--ease-out);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.widget-sort-row:hover{border-color:var(--accent-line);background:var(--accent-soft)}.widget-sort-row:active{cursor:grabbing}.widget-sort-row.dragging{opacity:.55;border-color:var(--accent);transform:scale(.97)rotate(-.4deg);box-shadow:0 8px 22px #2d343629}.widget-sort-row.drop-target{border-color:var(--accent);box-shadow:0 -2px 0 0 var(--accent), 0 8px 18px var(--accent-glow);transform:translateY(3px)}.widget-sort-row.disabled{opacity:.55}.widget-sort-row.disabled .widget-sort-label{color:var(--ink-3)}.widget-sort-handle{color:var(--ink-4);transition:color .14s var(--ease-out), transform .14s var(--ease-out);flex-shrink:0}.widget-sort-row:hover .widget-sort-handle{color:var(--accent-strong);transform:scale(1.08)}.widget-sort-tag{text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;height:18px;padding:1px 7px!important;font-size:.75rem!important}.widget-sort-tag.tag-kpi{background:var(--pastel-mint);color:var(--accent-strong);border-color:var(--accent-line)}.widget-sort-tag.tag-overview{background:var(--pastel-blue);color:#0984e3;border-color:#0000}.widget-sort-tag.tag-lists{background:var(--pastel-yellow);color:#b7861e;border-color:#0000}.widget-sort-tag.tag-alerts{background:var(--pastel-coral);color:#d63031;border-color:#0000}.widget-sort-label{color:var(--ink);font-size:.84375rem;font-weight:500;line-height:1.2}.widget-sort-sub{color:var(--ink-3);margin-top:2px;font-size:.75rem;line-height:1.3}.widget-sort-row .toggle-row{background:0 0;border:none;flex-shrink:0;width:auto;padding:0}.widget-sort-row .toggle-row>div:first-child{display:none}.appearance-row input[type=range]{appearance:none;background:var(--line);cursor:pointer;border-radius:99px;outline:none;height:4px}.appearance-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--surface);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0000002e}.appearance-row input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--surface);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0000002e}.settings-section-title{color:var(--ink-3);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:7px;margin-bottom:10px;font-size:.78125rem;font-weight:600;display:flex}.dash-canvas{container-type:inline-size}.busy-hours{align-items:flex-end;gap:4px;height:110px;padding-top:16px;display:flex}.busy-col{flex-direction:column;flex:1 1 0;align-items:center;gap:5px;min-width:0;height:100%;display:flex}.busy-bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.busy-bar{background:color-mix(in srgb, var(--accent) 38%, var(--surface));width:100%;min-height:2px;transition:height var(--t-med) var(--ease-out);border-radius:5px 5px 0 0;position:relative}.busy-bar.peak{background:var(--accent)}.busy-val{color:var(--accent-strong);white-space:nowrap;margin-bottom:3px;font-size:.75rem;font-weight:800;line-height:1;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.busy-col:hover .busy-bar{background:color-mix(in srgb, var(--accent) 60%, var(--surface))}.busy-col:hover .busy-bar.peak{background:var(--accent-strong)}.busy-hl{color:var(--ink-3);white-space:nowrap;font-size:.75rem;font-weight:600}.dash-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:var(--dash-unit,170px);grid-auto-flow:dense;gap:clamp(14px,12px + .3vw,18px);display:grid}.dash-grid>*{min-width:0;min-height:0;overflow:hidden}.dash-scroll-card{flex-direction:column;display:flex}.dash-scroll-card .m-detail{flex-direction:column;flex:auto;min-height:0;display:flex}.dash-scroll-card .m-detail-body{flex:auto;min-height:0;overflow-y:auto}@container (width<=1080px){.dash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width<=760px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.dash-grid>*{grid-row:auto!important}.dash-grid>.dash-chart-wide{grid-column:1/-1!important}}.dash-tools .btn{height:36px;padding:0 12px;font-size:.84375rem}.dash-tools .btn svg{width:16px;height:16px}.dash-donut-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.dash-donut-row>div:first-child{flex:0 0 116px}.dash-donut-row>.kvs{flex:140px;min-width:0}.dash-donut-row .kv{flex-wrap:wrap;gap:2px 14px}.dash-donut-row .kv .k{white-space:nowrap}@container (width<=320px){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-grid>*{grid-column:span 1!important}}.card:has(>.expiring-list){flex-direction:column;display:flex}.expiring-list{overscroll-behavior:contain;flex-direction:column;gap:6px;min-height:0;display:flex;overflow-y:auto}.expiring-more{padding:2px 0 0;font-weight:600}.expiring-row{align-items:center;gap:8px;padding:4px 0;display:flex}.expiring-id{flex:1;min-width:0}.expiring-name{font-size:.84375rem;font-weight:500}.expiring-state{font-size:.625rem}@container (width<=420px){.expiring-row{flex-direction:column;align-items:stretch;gap:0}.expiring-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.expiring-state.badge{background:0 0;border:0;border-radius:0;align-self:flex-start;padding:0;font-size:.6875rem;font-weight:700}}@supports not (container-type:inline-size){@media (width<=1024px){.dash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=834px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.dash-grid>*{grid-row:auto!important}}@media (width<=360px){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-grid>*{grid-column:span 1!important}}}.dash-edit>.card{cursor:grab;outline:2px dashed var(--accent-line);outline-offset:-2px;-webkit-user-select:none;user-select:none;position:relative}.dash-edit>.card:active{cursor:grabbing}.dash-edit>.card[data-dragging=true]{opacity:.5}.dash-remove{z-index:3;background:var(--bad);color:#fff;border:2px solid var(--surface);cursor:pointer;width:24px;height:24px;box-shadow:var(--shadow-sm);animation:pinReveal .2s var(--ease-out) backwards;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.dash-remove:hover{filter:brightness(1.1)}.m-detail-toggle{display:none}@media (width<=767px){.m-detail-toggle{border:1px solid var(--line);background:var(--surface);color:var(--accent-strong);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:2px;padding:7px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.m-detail-body{display:none}.m-detail-body.open{animation:fade var(--motion-base) var(--ease-std);display:block}}.dash-table-scroll{max-width:100%;overflow-x:auto}.dash-summary-table th,.dash-summary-table td{white-space:nowrap;padding:5px 10px}.dash-summary-table th:first-child,.dash-summary-table td:first-child{padding-left:2px}.dash-table-scroll .table thead th{box-shadow:0 1px 0 var(--line);position:static;top:auto}.dot-sq{vertical-align:middle;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.task-line-compact{align-items:center;gap:8px;padding:5px 0;display:flex}.task-line-compact .task-check:hover{border-color:var(--accent)}.task-line-compact .task-line-title:hover{text-decoration:underline;color:var(--accent-strong)!important}.task-check{border:2px solid var(--line);background:var(--surface);width:18px;height:18px;transition:background var(--motion-fast) var(--ease-std), border-color var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std), transform var(--motion-fast) var(--ease-std), box-shadow var(--motion-fast) var(--ease-std);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;display:grid}.task-check.done{background:var(--ok);border-color:var(--ok)}.task-check.lg{border-radius:7px;width:24px;height:24px}.task-row{border-top:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 18px;transition:background .1s;display:flex}.task-row:first-child{border-top:none}.task-row:hover{background:var(--panel)}.task-row .task-check{cursor:pointer}.task-row .task-check:hover{border-color:var(--accent)}.task-assignee{background:var(--panel);border:1px solid var(--line);color:var(--ink-3);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.task-assignee svg{color:var(--ink-4)}.assignee-chip{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:.78125rem;font-weight:600;display:inline-flex}.assignee-chip:hover{border-color:var(--accent-line);color:var(--ink)}.assignee-chip.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}.assignee-chip.active svg{color:var(--accent-strong)}.cal-month-head-row{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;padding:0 2px;display:grid}.cal-month-day.today{background:var(--accent-soft);border-left-color:var(--accent)}.cal-month-day.today .cal-month-num{color:var(--accent-strong);font-weight:700}.cal-grid{align-items:flex-start;gap:8px;display:flex}.cal-grid .cal-day{min-width:0;transition:flex-grow var(--motion-slow) var(--ease-std), flex-basis var(--motion-slow) var(--ease-std), box-shadow var(--motion-base) var(--ease-std);flex:1 1 0}.cal-grid .cal-day.has-events{flex:2.4 1 0}@media (width<=767px){.cal-grid{gap:4px}.cal-grid .cal-day,.cal-grid .cal-day.has-events{flex:1 1 0}.cal-day-head{flex-direction:column;align-items:center;gap:1px;padding:5px 2px}.cal-day-name{letter-spacing:.3px;font-size:.75rem}.cal-day-num{font-size:.8125rem}.cal-day-body{gap:4px;max-height:132px;padding:4px}.cal-day-body>.tiny{padding:6px 0!important}.cal-event{border-left-width:2px;gap:1px;padding:4px}.cal-event-time{letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.cal-event-title{gap:2px;font-size:.75rem;line-height:1.15}.cal-event-icon{flex-shrink:0;font-size:.75rem}.cal-event-icon svg{width:11px;height:11px}.cal-event-att{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}}.cal-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:background var(--t-med) var(--ease-out), border-color var(--t-med) var(--ease-out), transform var(--t-fast) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.cal-day.is-empty{background:color-mix(in oklab, var(--panel), var(--surface) 40%);border-color:var(--line-soft)}.cal-day.is-empty .cal-day-head{background:var(--panel-2)}.cal-day.is-empty .cal-day-name,.cal-day.is-empty .cal-day-num{color:var(--ink-3)}.cal-day.has-events{background:color-mix(in oklab, var(--day-tint,var(--accent)), var(--surface) 92%);border-color:color-mix(in oklab, var(--day-tint,var(--accent)), var(--line) 55%);border-left:3px solid color-mix(in oklab, var(--day-tint,var(--accent)), white 15%)}.cal-day.has-events .cal-day-head{background:color-mix(in oklab, var(--day-tint,var(--accent)), var(--surface) 80%);border-bottom-color:color-mix(in oklab, var(--day-tint,var(--accent)), var(--line) 50%)}.cal-day.has-events .cal-day-num{color:var(--day-tint,var(--ink));font-weight:700}.cal-day.has-events:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}[data-theme=dark] .cal-day.has-events{background:color-mix(in oklab, var(--day-tint,var(--accent)), var(--surface) 70%)}.cal-day.today{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), 0 4px 14px color-mix(in oklab, var(--accent), transparent 75%)}.cal-day.today:not(.has-events) .cal-day-head{background:var(--accent-soft)}.cal-day.today.has-events .cal-day-head{background:color-mix(in oklab, var(--day-tint,var(--accent)), var(--accent-soft) 50%)}.cal-day-head{border-bottom:1px solid var(--line-soft);background:var(--panel);transition:background var(--t-med) var(--ease-out);align-items:baseline;gap:6px;padding:7px 12px;display:flex}.cal-day.today .cal-day-num{color:var(--accent-strong)}.cal-day-body{flex-direction:column;flex:none;gap:6px;max-height:106px;padding:8px;display:flex;overflow-y:auto}.class-card-head{width:100%;transition:background var(--t-fast) var(--ease-out);align-items:center;gap:14px;padding:14px 18px;display:flex}.class-head-icon{border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.class-head-name{letter-spacing:-.3px;flex-shrink:0;font-size:1.0625rem;font-weight:600}.class-head-sep{background:var(--line);flex-shrink:0;width:1px;height:32px}.class-head-meta{flex:1;align-items:center;gap:22px;min-width:0;display:flex;overflow:hidden}.class-head-meta .class-meta-item{white-space:nowrap}.class-meta.class-meta-body{display:none}@media (width<=767px){.class-head-name{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.class-head-sep,.class-head-meta{display:none}.class-meta.class-meta-body{display:flex}.cat-list-row .class-head-name{flex:1}}.class-meta{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:18px;margin-bottom:14px;padding:14px 0;display:flex}.class-meta-item{align-items:center;gap:8px;display:flex}.class-meta-item>div{flex-direction:column;line-height:1.25;display:flex}.class-meta-item>svg{color:var(--accent-strong);flex-shrink:0}.student-block.open{border-color:var(--accent-line)}.student-block.open .student-summary{background:var(--accent-soft)}.student-summary .avatar{transition:background var(--motion-base) var(--ease-std), color var(--motion-base) var(--ease-std)}.student-block.open .student-summary .avatar{background:var(--accent);color:var(--surface)}.student-head-name{white-space:normal;text-align:left;overflow-wrap:break-word;flex:0 0 8.5em;align-self:center;margin-left:6px;line-height:1.2}.name-soft{color:var(--ink-2);font-size:.84em;font-weight:400}.student-att-summary .badge{padding:1px 7px;font-size:.75rem}.student-sep{background:var(--line);flex-shrink:0;width:1px;height:22px}.collapse,.student-detail-anim{transition:grid-template-rows var(--motion-slow) var(--ease-std);grid-template-rows:0fr;display:grid}.collapse.open,.student-detail-anim.open{grid-template-rows:1fr}.collapse-clip,.student-detail-clip{min-height:0;overflow:hidden}@supports (interpolate-size:allow-keywords){.collapse,.student-detail-anim{transition:none;display:block}.collapse-clip,.student-detail-clip{interpolate-size:allow-keywords;height:0;transition:height .46s var(--ease-std)}.collapse.open>.collapse-clip,.student-detail-anim.open>.student-detail-clip{height:auto;transition:height .58s var(--spring-bounce)}}.collapse-clip>*,.student-detail-clip>*{opacity:0;transition:opacity var(--motion-base) var(--ease-std), transform var(--motion-base) var(--ease-std);transform:translateY(-8px)}.collapse.open .collapse-clip>*,.student-detail-anim.open .student-detail-clip>*{opacity:1;transition-delay:.22s;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.collapse,.student-detail-anim,.collapse-clip,.student-detail-clip,.collapse-clip>*,.student-detail-clip>*{transition:none;transform:none}}.student-detail{border-top:1px solid var(--line-soft);flex-direction:column;gap:10px;padding:10px 14px 12px;display:flex}.student-summary-static{cursor:default}.student-summary-static .student-head-name{flex-basis:12.5em}.att-day-row{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:14px;display:flex}.student-summary-static .class-head-meta{flex:none;overflow:visible}.att-day-hx-clip>.att-chips{opacity:0;transition:opacity var(--motion-base) var(--ease-std), transform var(--motion-base) var(--ease-std);margin-left:12px;transform:translate(-8px);flex-wrap:nowrap!important}.att-day-hx.open>.att-day-hx-clip>.att-chips{opacity:1;transition-delay:.2s;transform:translate(0)}.att-inline-del{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--bad);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);border-radius:8px;flex-shrink:0;place-items:center;margin-left:auto;display:inline-grid}.att-inline-del:hover{border-color:var(--bad-line);background:var(--bad-soft)}.att-day-btn.open{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.att-day-btn.open .att-day-count{color:var(--accent-strong)}.att-day-btn.open .att-day-chev{color:var(--accent)}.att-chip-col{flex-direction:column;align-items:center;gap:3px;display:flex}.student-summary-chev{color:var(--ink-4);flex-shrink:0;margin-left:auto}.student-att-mobile{flex-direction:column;gap:14px;padding:8px 6px 12px;display:flex}.att-modal-list{flex-direction:column;gap:8px;display:flex}.att-status-btn.present{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.att-status-btn.absent{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad)}.att-status-btn.rescheduled{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-ink)}.att-help{background:var(--panel-2);width:15px;height:15px;color:var(--ink-3);cursor:help;border-radius:50%;flex-shrink:0;place-items:center;font-size:10px;font-weight:700;display:inline-grid}@media (width<=767px){.class-meta{gap:12px;margin-bottom:10px;padding:10px 0}.student-summary .class-head-sep{display:block}.student-summary .class-head-meta{flex:auto;gap:16px;display:flex}}button.cal-event{cursor:pointer;color:var(--ink);font-family:inherit}button.cal-event:hover{background:color-mix(in oklab, var(--c,var(--accent)), white 78%)}[data-theme=dark] button.cal-event:hover{background:color-mix(in oklab, var(--c,var(--accent)), var(--surface) 50%)}button.cal-month-session{cursor:pointer;font-family:inherit}.cal-add-wrap{position:relative}.cal-add-backdrop{z-index:30;position:fixed;inset:0}.cal-add-menu{z-index:31;background:var(--surface);border:1px solid var(--line);min-width:240px;box-shadow:var(--shadow-lg);transform-origin:100% 0;animation:morphIn .32s var(--ease-out);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.cal-add-menu button{text-align:left;cursor:pointer;width:100%;color:var(--ink);font:inherit;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.cal-add-menu button:hover{background:var(--panel)}.cal-add-menu button>svg{color:var(--ink-3);flex-shrink:0}.cal-add-t{font-size:.84375rem;font-weight:600}.cal-add-d{color:var(--ink-3);font-size:.75rem}:root{--morph-r:12px;--morph-from:inset(0 calc(100% - 28px) calc(100% - 28px) 0 round var(--morph-r));--morph-to:inset(-40px -40px -40px -40px round var(--morph-r))}.color-pop,.sched-gear-pop,.cal-add-menu{--morph-from:inset(0 0 calc(100% - 28px) calc(100% - 28px) round var(--morph-r))}.pop-up{--morph-from:inset(calc(100% - 28px) calc(100% - 28px) 0 0 round var(--morph-r));transform-origin:0 100%}@keyframes morphIn{0%{opacity:0;clip-path:var(--morph-from);transform:scale(.96)}to{opacity:1;clip-path:var(--morph-to);transform:none}}@keyframes morphOut{0%{opacity:1;clip-path:var(--morph-to);transform:none}to{opacity:0;clip-path:var(--morph-from);transform:scale(.96)}}@media (prefers-reduced-motion:reduce){@keyframes morphIn{0%{opacity:0}}@keyframes morphOut{to{opacity:0}}}.pop-closing{animation:morphOut .17s var(--ease-in) forwards;pointer-events:none}.cal-entry{text-align:left;cursor:pointer;width:100%;font:inherit;border:1px solid #0000;border-left-width:3px;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:.75rem;font-weight:600;transition:filter 80ms;display:flex}.cal-entry>svg{flex-shrink:0}.cal-entry.is-event{background:color-mix(in oklab, var(--accent), var(--surface) 82%);border-color:color-mix(in oklab, var(--accent), transparent 55%);border-left-color:var(--accent);color:var(--accent-strong)}.cal-entry.is-reminder{background:color-mix(in oklab, var(--warn-ink), var(--surface) 84%);border-color:color-mix(in oklab, var(--warn-ink), transparent 55%);border-left-color:var(--warn-ink);color:var(--warn-ink)}.cal-entry:hover{filter:brightness(.97)}.cal-entry.is-compact{border-radius:6px;gap:3px;padding:2px 5px;font-size:.75rem}[data-theme=dark] .cal-entry.is-event{background:color-mix(in oklab, var(--accent), var(--surface) 62%);color:var(--ink)}[data-theme=dark] .cal-entry.is-reminder{background:color-mix(in oklab, var(--warn-ink), var(--surface) 55%);color:var(--ink)}.cal-event-mini{cursor:pointer;width:34px;height:34px;color:var(--c,var(--accent));background:color-mix(in oklab, var(--c,var(--accent)), var(--surface) 82%);border:1px solid color-mix(in oklab, var(--c,var(--accent)), transparent 55%);border-radius:9px;justify-content:center;align-items:center;margin:0 auto;font-family:inherit;transition:transform 80ms,box-shadow .1s;display:flex}@media (width<=767px){.cal-event.cal-event-active{box-shadow:inset 0 0 0 1px var(--c,var(--accent))}.cal-day.is-active{box-shadow:0 0 0 2px var(--day-tint,var(--accent));border-color:#0000}.cal-day.is-active .cal-day-body{max-height:none}.cal-grid.has-active .cal-day{flex:0 0 46px;min-width:46px}.cal-grid.has-active .cal-day.is-active{flex:8 1 0;min-width:0}.cal-grid.has-active .cal-day:not(.is-active)>.cal-day-body{display:none}.cal-grid.has-active .cal-day:not(.is-active) .cal-day-head{flex-direction:column;align-items:center;gap:1px;padding:7px 2px}}.cal-add{color:var(--ink-3);border:1px dashed var(--line);transition:background var(--motion-fast) var(--ease-std), border-color var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std), transform var(--motion-fast) var(--ease-std), box-shadow var(--motion-fast) var(--ease-std);background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:4px;margin-top:auto;padding:8px;font-size:.75rem;font-weight:500;display:flex}.cal-add:hover{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-soft)}.att-chip{border:1.5px solid var(--line);background:var(--surface);min-width:44px;height:26px;color:var(--ink-2);transition:background var(--motion-fast) var(--ease-std), border-color var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std), transform var(--motion-fast) var(--ease-std), box-shadow var(--motion-fast) var(--ease-std);border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:.75rem;font-weight:600;display:inline-flex}.att-chip:hover:not(:disabled){border-color:var(--ink-3)}.att-chip:disabled{cursor:default;opacity:.9}.att-chip:has(>.att-swap){overflow:hidden}.att-chip:active:not(:disabled){transform:scale(.97)}.att-swap{will-change:transform, opacity, filter;align-items:center;gap:4px;animation:.22s cubic-bezier(.22,1.2,.36,1) both attSwap;display:inline-flex}@keyframes attSwap{0%{opacity:0;filter:blur(3px);transform:translateY(90%)}to{opacity:1;filter:blur();transform:none}}@media (prefers-reduced-motion:reduce){.att-swap{animation:none}}.att-chip .att-chip-num{color:var(--ink-2);font-size:.75rem;font-weight:700}.att-chip svg{stroke-width:2.4px;width:12px;height:12px}.att-chip .att-dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px;display:inline-block}.att-chip.present{border-color:var(--ok-line);background:var(--ok-soft);color:var(--ok-ink)}.att-chip.present .att-chip-num{color:var(--ok-ink)}.att-chip.absent{border-color:var(--bad-line);background:var(--bad-soft);color:var(--bad-ink)}.att-chip.absent .att-chip-num{color:var(--bad-ink)}.att-chip.rescheduled{border-color:var(--warn-line);background:var(--warn-soft);color:var(--warn-ink)}.att-chip.rescheduled .att-chip-num{color:var(--warn-ink)}.att-resched{background:var(--warn-soft);width:24px;height:26px;color:var(--warn-ink);border:1px solid var(--warn-line);border-radius:6px;place-items:center;transition:background .12s;display:grid}.att-resched:hover{background:color-mix(in oklab, var(--warn-soft), var(--warn) 12%)}.cal-shell{grid-template-columns:minmax(0, 1fr) var(--cal-aside-w,348px);background:linear-gradient(var(--line), var(--line)) no-repeat;background-size:1px 100%;background-position:right calc(var(--cal-aside-w,348px) + 11px) top;align-items:start;gap:22px;display:grid}@media (width<=1100px){.cal-shell{background-position:right 308px top;grid-template-columns:minmax(0,1fr) 300px;gap:16px}}@media (width<=860px){.cal-shell{background:0 0;grid-template-columns:1fr}.cal-aside{order:-1}}.cal-detail{min-width:0}.cal-detail-body{animation:fadeUp var(--motion-base) var(--ease-out)}@media (prefers-reduced-motion:reduce){.cal-detail-body{animation:none}}.cal-detail-head{margin-bottom:14px}.cal-detail-date{letter-spacing:-.2px;font-size:1.0625rem;font-weight:700}.cal-aside{align-content:start;align-self:start;gap:14px;max-height:calc(100svh - 84px);display:grid;position:sticky;top:0;overflow-y:auto}@media (width<=860px){.cal-aside{max-height:none;position:static;overflow:visible}}@media (width>=861px){.cal-page{flex-direction:column;height:100%;min-height:0;padding-bottom:20px;display:flex}.cal-page>.cal-shell{flex:auto;align-items:stretch;min-height:0}.cal-page .cal-detail{min-height:0;padding-right:4px;overflow-y:auto}.cal-page .cal-aside{align-self:start;max-height:100%;position:static}}.cal-family-group{border:1px dashed var(--line);border-radius:var(--radius);padding:12px}.cal-family-group-head{color:var(--ink-3);text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;padding:0 2px;font-size:.8125rem;font-weight:700}.cal-day-card-head{align-items:center;gap:12px;padding:12px 14px;display:flex}.cal-day-card-name{font-size:.9375rem;font-weight:600}.cal-roster{flex-direction:column;display:flex}.cal-roster-row{border-top:1px solid var(--line-soft);flex-wrap:nowrap;align-items:center;gap:8px 12px;padding:9px 14px;display:flex}.cal-roster-info{cursor:pointer;min-width:0;font:inherit;color:inherit;text-align:left;border-radius:var(--radius-sm);transition:background var(--t-fast) var(--ease-out);background:0 0;border:none;flex:auto;align-items:center;gap:10px;margin:-5px -8px;padding:5px 8px;display:flex}.cal-roster-row>.tip{flex:auto;min-width:0}button.cal-roster-info:hover{background:var(--panel)}.cal-roster-info:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.cal-roster-info .student-head-name{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin-left:0;overflow:hidden}.cal-roster-balance{color:var(--debt-ink);flex-shrink:0;align-items:center;gap:4px;margin-left:auto;font-size:.75rem;font-weight:600;display:inline-flex}.cal-roster-att{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.cal-att{align-items:center;gap:4px;display:inline-flex}.att-chip.cal-att-chip{gap:6px;min-width:0;height:28px;padding:0 12px}.cal-att-lbl{white-space:nowrap;font-weight:600}.cal-entry-card{background:var(--surface);cursor:pointer;width:100%;transition:box-shadow var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);align-items:center;gap:12px;padding:12px 14px;display:flex}.cal-entry-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.cal-mini{padding:12px 12px 14px}.cal-mini-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.cal-mini-month{font-size:.90625rem;font-weight:700}.cal-mini-nav{width:30px;height:30px}.cal-mini-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.cal-mini-weekdays span{text-align:center;color:var(--ink-3);text-transform:uppercase;font-size:.75rem;font-weight:600}.cal-mini-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-mini-day{aspect-ratio:1;color:var(--ink);cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);background:0 0;border:1.5px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.78125rem;font-weight:500;display:flex;position:relative}.cal-mini-day:hover{background:var(--panel)}.cal-mini-day.other{color:var(--ink-4)}.cal-mini-day.today{border-color:var(--accent-line);color:var(--accent-strong);font-weight:700}.cal-mini-day.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.cal-mini-day.selected:hover{background:var(--accent)}.cal-mini-num{line-height:1}.cal-mini-dots{align-items:center;gap:2px;height:5px;display:flex}.cal-mini-dot{border-radius:50%;width:5px;height:5px}.cal-mini-day.selected .cal-mini-dot{opacity:.9;background:var(--on-accent)!important}.cal-week{padding:12px 12px 14px;display:none}.cal-week-row{touch-action:pan-y;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-week-day{color:var(--ink);cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);background:0 0;border:1.5px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:7px 0 6px;display:flex}.cal-week-day:hover{background:var(--panel)}.cal-week-day.today{border-color:var(--accent-line);color:var(--accent-strong)}.cal-week-day.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.cal-week-day.selected .cal-mini-dot{opacity:.9;background:var(--on-accent)!important}.cal-week-day .cal-mini-num{font-size:.90625rem;font-weight:600}.cal-week-wd{color:var(--ink-3);text-transform:uppercase;letter-spacing:.3px;font-size:.75rem;font-weight:600}.cal-week-day.selected .cal-week-wd{color:var(--on-accent)}.cal-week-dots{align-items:center;gap:2px;height:5px;display:flex}@media (width<=860px){.cal-mini{display:none}.cal-week{display:block}}.cal-daylist{padding:12px 14px}.cal-daylist-head{color:var(--ink-2);margin-bottom:8px;font-size:.8125rem;font-weight:700}.cal-daylist-items{flex-direction:column;gap:2px;display:flex}.cal-daylist-item{cursor:pointer;text-align:left;width:100%;transition:background var(--t-fast) var(--ease-out);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;display:flex}.cal-daylist-item:hover{background:var(--panel)}.cal-daylist-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cal-daylist-ic{color:var(--ink-3);flex-shrink:0;display:inline-flex}.cal-daylist-time{color:var(--ink-2);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:40px;font-size:.75rem;font-weight:600}.cal-daylist-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.8125rem;overflow:hidden}.cal-daylist-count{color:var(--ink-3);background:var(--panel);border-radius:99px;flex-shrink:0;padding:1px 7px;font-size:.75rem;font-weight:600}.member-class-row{border-top:1px solid var(--line-soft);grid-template-columns:54px auto auto 1fr;align-items:center;gap:10px;padding:9px 14px;display:grid}.member-class-colhead{border-top:none;padding-top:11px;padding-bottom:5px}.member-class-colhead>span{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:.75rem;font-weight:700}.member-class-day{font-size:.8125rem;font-weight:600}.member-class-date{color:var(--ink-2);white-space:nowrap;font-size:.8125rem}.member-class-time{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78125rem}.member-class-actions{flex-shrink:0;justify-self:end;align-items:center;gap:8px;display:flex}.member-class-resched{width:30px;height:30px}.enroll-class-row{gap:14px;display:grid}@media (width>=768px){.enroll-class-row{grid-template-columns:minmax(0,1fr) max-content;align-items:start}}.weekday-row{gap:6px;display:flex}.weekday-chip{border:1.5px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink-2);transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);border-radius:10px;place-items:center;font-size:.90625rem;font-weight:600;display:grid}.weekday-chip:hover:not(.active):not(:disabled){border-color:var(--ink-3);transform:translateY(-1px)}.weekday-chip:active:not(:disabled){transition-duration:60ms;transform:scale(.94)}.weekday-chip:disabled{opacity:.35;cursor:not-allowed}.weekday-chip.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 2px 6px oklch(40% .02 264/.22)}.ct-tile.active{border-color:var(--c,var(--accent));background:color-mix(in oklab, var(--c,var(--accent)), var(--surface) 88%);color:var(--ink)}.notif-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-items:stretch;gap:10px;padding:10px 12px;display:flex}.notif-row.notif-pending{border-color:var(--bad-line);background:var(--bad-soft)}.notif-row.notif-shift{border-color:var(--accent-line);background:var(--accent-soft)}.notif-sec-head{color:var(--ink-2);text-align:left;align-items:center;gap:6px;padding:2px 0;display:inline-flex}.notif-sec-head:hover{color:var(--ink)}.notif-sec-head .label{cursor:pointer}.notif-sec-caret{transition:transform var(--dur-2,.18s) var(--ease-out);flex:none}.notif-sec-caret.open{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.notif-sec-caret{transition:none}}.notif-row .btn.sm svg{width:13px;height:13px}.notif-actions{flex-shrink:0;align-items:stretch;gap:6px;display:flex}.notif-actions>.btn.sm{height:auto}.notif-actions>.icon-btn{align-self:stretch;height:auto}.visit-shift-head{border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--panel), var(--surface) 30%);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.visit-shift-head.shift-open{background:color-mix(in oklab, var(--tone-ok), var(--surface) 88%);border-left:3px solid var(--tone-ok)}.visit-shift-head.shift-closed{background:color-mix(in oklab, var(--tone-info), var(--surface) 90%);border-left:3px solid var(--tone-info)}.visit-shift-head.shift-unknown{background:var(--panel);border-left:3px solid var(--ink-4)}[data-theme=dark] .visit-shift-head.shift-open{background:color-mix(in oklab, var(--tone-ok), var(--surface) 70%)}[data-theme=dark] .visit-shift-head.shift-closed{background:color-mix(in oklab, var(--tone-info), var(--surface) 72%)}.shift-head-name{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;font-weight:600;display:inline-flex}.shift-row-head{cursor:pointer;text-align:left;width:100%;transition:background var(--t-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:14px;padding:14px 18px;font-family:inherit;display:flex}.shift-row-head:hover{background:var(--panel)}.inv-count{flex-direction:column;gap:6px;display:flex}.inv-count-head{grid-template-columns:1fr 74px 74px;align-items:center;gap:10px;padding:0 2px 2px;display:grid}.inv-count-head>span:not(:first-child){text-align:center;color:var(--muted);font-size:.75rem;font-weight:700}.inv-count-row{border:1px solid var(--line-soft);background:var(--surface);border-radius:10px;grid-template-columns:1fr 74px 74px;align-items:center;gap:10px;padding:7px 10px;display:grid}.inv-count-row.off{border-color:var(--warn-line);background:var(--warn-soft)}.inv-count-name{flex-direction:column;gap:1px;min-width:0;display:flex}.inv-count-prod{font-size:.84375rem;font-weight:600}.inv-count-row .input{text-align:center}.shift-row-head .class-head-meta{flex:1;min-width:0}.shift-row-head .class-meta-item>svg{width:17px;height:17px}.turno-grid .stat-label>svg{width:18px;height:18px}.shift-cur-head .class-meta-item>svg{width:24px;height:24px}.shift-cur-head .class-meta-item{gap:10px}@media (width<=767px){.shift-cur-head{gap:8px 14px}.shift-cur-head .class-head-sep{display:none}.shift-cur-head .class-head-meta{flex:0 auto;gap:14px;display:flex}.shift-cur-head .class-meta-item>svg{width:16px!important;height:16px!important}.shift-cur-head .shift-head-open{text-align:left!important;margin-left:0!important}.shift-cur-head .shift-head-num{font-size:1.25rem!important}}.turno-mobile-tri,.turno-desk-all{display:none}@media (width<=767px){.turno-desk-all{display:none!important}.turno-mobile-tri{gap:10px;display:flex;padding:14px 12px!important}.turno-tri-cell{flex-direction:column;flex:1 1 0;gap:5px;min-width:0;display:flex}.turno-tri-cell+.turno-tri-cell{border-left:1px solid var(--accent-line);padding-left:10px}.turno-tri-cell .stat-label{align-items:flex-start;gap:4px;margin-bottom:0;font-size:.75rem;line-height:1.2}.turno-tri-cell .stat-label>svg{margin-top:1px;width:14px!important;height:14px!important}.turno-tri-cell .bignum{letter-spacing:-.5px;margin-top:auto;font-size:1.0625rem!important}}@media (width>=768px){.turno-mobile-tri,.turno-mobile-total{display:none!important}.turno-desk-all{align-items:stretch;gap:22px;display:flex!important}.turno-all-cell{flex-direction:column;flex:1 1 0;gap:2px;min-width:0;display:flex}.turno-all-cell+.turno-all-cell{border-left:1px solid var(--accent-line);padding-left:22px}.turno-all-cell .stat-label{white-space:nowrap;text-overflow:ellipsis;margin-bottom:0;overflow:hidden}.turno-grid .turno-all-cell .bignum{margin-top:auto;padding-top:6px;font-size:1.625rem!important}}.shift-row-head .hist-head-figs{align-items:center;gap:18px;margin-left:auto;display:flex}@media (width<=767px){.shift-row-head .hist-head-figs{flex-wrap:wrap;gap:12px 18px;margin-left:0}}.visit-shift-head .class-head-meta{flex:1;min-width:0}.visit-shift-head .hist-head-figs{margin-left:auto}.visit-shift-stats>div{text-align:right}.visit-shift-stats .vs-fig{white-space:nowrap;font-size:1.0625rem;font-weight:700}.visit-shift-stats .vs-total{font-size:1.125rem}.visit-shift-stats .vs-total-cell{border-left:1px solid var(--line-soft);padding-left:16px}.visit-shift-head-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.visit-shift-head-toggle:hover{filter:brightness(.98)}[data-theme=dark] .visit-shift-head-toggle:hover{filter:brightness(1.08)}.visit-shift-head-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.visit-shift-chev{color:var(--ink-3);flex-shrink:0;margin-left:4px}@media (width<=767px){.visit-shift-head{padding:12px 14px}.visit-shift-head .hist-head-figs.visit-shift-stats{flex-wrap:nowrap;gap:0 20px;margin-left:0}.visit-shift-stats>div{text-align:left;flex:none;min-width:0}.visit-shift-stats .tiny{font-size:.6875rem}.visit-shift-stats .vs-fig{font-size:.9375rem;font-weight:600}.visit-shift-stats .vs-total{font-size:.8125rem;font-weight:700}.visit-shift-stats .vs-total-cell{border-left:none;padding-left:0}.visit-shift-head-toggle{position:relative}.visit-shift-head-toggle .visit-shift-chev{margin:0;position:absolute;top:12px;right:14px}}.hist-head{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"av name figs""av when figs";align-items:center;gap:1px 14px;width:100%;display:grid}.hist-head-who,.hist-head-body{display:contents}.hist-head-av{grid-area:av;align-self:center;display:flex}.hist-head-figs{grid-area:figs;align-items:center;gap:18px;display:flex}.hist-head-figs.visit-shift-stats{gap:38px}@media (width<=767px){.hist-head{text-align:center;align-items:stretch;gap:0;display:flex}.hist-head-av{align-self:center}.hist-head-body .hist-head-figs{flex-wrap:wrap;justify-content:center;align-self:center;gap:6px 18px}.hist-head-figs .hist-chev{display:none}}.visit-row-flagged>td{background:color-mix(in oklab, var(--bad-soft), transparent 40%)}.visit-row-flagged>td:first-child{box-shadow:inset 3px 0 0 0 var(--bad)}.visit-row-flagged:hover>td{background:color-mix(in oklab, var(--bad-soft), transparent 25%)!important}[data-theme=dark] .visit-row-flagged>td{background:color-mix(in oklab, var(--bad), var(--surface) 75%)}.visit-row-voided>td{opacity:.45;text-decoration:line-through}.visit-row-voided>td.col-void{opacity:1;text-decoration:none}.col-void{text-align:center;width:44px}.col-void input[type=checkbox]{cursor:pointer;accent-color:var(--bad)}.vtable-wrap{overflow-x:auto;container-type:inline-size}.visits-mobile{display:none}@media (width<=767px){.visit-card .vtable-wrap{display:none}.visits-mobile{flex-direction:column;gap:8px;padding:10px;display:flex}.visits-minibar-card{display:none}}.visit-mcard{border:1px solid var(--line-soft);background:var(--surface);transition:border-color var(--t-fast) var(--ease-out);border-radius:11px;overflow:clip}.visit-mcard.flagged{border-color:var(--warn-line)}.visit-mcard.voided{opacity:.55}.visit-mcard.voided .visit-mcard-name{text-decoration:line-through}.visit-mcard-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:8px;padding:10px 13px;display:flex}.visit-mcard-head{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 13px;font-family:inherit;display:flex}.visit-mcard-no{color:var(--ink-3);letter-spacing:.02em;flex-shrink:0;font-size:.75rem}.visit-mcard-name{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;font-weight:600;display:inline-flex}.visit-mcard-amt{flex-shrink:0;font-weight:700}.visit-mcard-chev{color:var(--ink-3);transition:transform .18s var(--ease-out);flex-shrink:0}.visit-mcard-chev.open{transform:rotate(180deg)}.visit-mcard-meta{border-top:1px solid var(--line-soft);align-items:flex-start;gap:24px;padding:12px 13px;display:flex}.visit-mcard-meta .vmeta{flex-direction:column;gap:3px;min-width:0;display:flex}.visit-mcard .visit-detail{border-top:1px solid var(--line-soft)}.invoice-head-btn{cursor:pointer;min-width:0;font:inherit;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}.invoice-head-btn .visit-mcard-chev{margin-left:auto}.vtable-wrap .table thead th{position:static;top:auto}.visits-table td{text-align:center;vertical-align:middle}.visits-table th.col-visitor-head,.visits-table td.col-visitor{text-align:left}.visits-table th.col-visitor-head{padding-left:50px}.visits-table td.col-datetime{white-space:nowrap}.visits-table th.col-ticketno,.visits-table td.col-ticketno{white-space:nowrap;letter-spacing:.02em;width:1%}.visit-detail{box-sizing:border-box;text-align:left;width:100cqw;padding:12px 16px 14px;position:sticky;left:0}.visit-detail-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px;display:grid}.visit-detail-col{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;min-width:0;max-width:400px;padding:12px 14px}.visit-detail-col .detalle-table{background:0 0;border:none;border-radius:0;font-size:.84375rem}.visit-detail-col .detalle-table td{border-top-color:var(--line-soft);text-align:left;padding:6px 0}.visit-detail-col .detalle-table tr:first-child td{padding-top:0}.visit-detail-col .detalle-table td.num{text-align:right;padding-left:12px}.visit-detail-head{margin-bottom:10px;font-size:.8125rem;font-weight:700}.visit-detail-section{margin-bottom:10px}.visit-detail-section:last-child{margin-bottom:0}.visit-detail-row{justify-content:space-between;align-items:baseline;gap:10px;padding:3px 0;font-size:.84375rem;display:flex}.visit-detail-row>:last-child{text-align:right;word-break:break-word;min-width:0}.visit-detail-label{color:var(--ink-3);flex-shrink:0;font-size:.8125rem}@media (width<=560px){.visit-mcard .visit-detail{width:auto;padding:12px 13px 14px;position:static}.visit-detail-grid{grid-template-columns:1fr;gap:8px}.visit-detail-col{max-width:none;padding:10px 12px}.visit-detail-head{margin-bottom:7px;font-size:.78125rem}.visit-detail-row,.visit-detail-col .detalle-table{font-size:.78125rem}.visit-detail-label{font-size:.75rem}}.visit-detail-notes{padding-top:2px}.visit-note-full{color:var(--accent-strong);margin-top:4px;font-size:.8125rem;font-style:italic;line-height:1.4}.table td.col-edit{text-align:center;white-space:nowrap}.table td.col-amount{text-align:center;font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}.col-edit-badge{border-radius:8px;height:32px;padding:0 11px;font-size:.75rem}.members-table td:nth-child(n+2):nth-child(-n+5),.members-table th:nth-child(n+2):nth-child(-n+5){text-align:center}.members-table th.col-member-head{text-align:left;padding-left:56px}.member-list{flex-direction:column;gap:8px;display:flex}.member-card{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;width:100%;transition:border-color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);border-radius:12px;align-items:center;gap:14px;padding:12px 16px;font-family:inherit;display:flex}.member-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-sm)}.member-card-who{flex:none;align-items:center;gap:11px;min-width:0;display:flex}.member-card-id{min-width:0}.member-card-name{align-items:center;gap:6px;font-weight:600;display:inline-flex}.member-card-meta{flex:1;align-items:center;gap:14px 30px;display:flex}.member-card-meta .class-meta-item{flex:none}.member-card-chev{color:var(--ink-3);flex-shrink:0}@media (width>=768px){.member-card-who{flex:0 0 256px;overflow:hidden}.member-card-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}}@media (width<=767px){.member-card{flex-wrap:wrap;gap:10px 12px}.member-card-who{flex:1}.member-card-chev{order:1}.member-card-meta{flex-wrap:wrap;flex-basis:100%;order:2;justify-content:space-between;gap:12px 18px}.member-meta-lastvisit{display:none}}.member-hist-table{min-width:0!important}.member-hist-table .hist-when{white-space:nowrap;width:116px}.member-hist-table .hist-what{white-space:normal;word-break:break-word}@media (width<=560px){.member-hist-table tbody tr{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:9px 14px;display:flex}.member-hist-table tbody tr:first-child{border-top:none}.member-hist-table td{border-top:none;padding:0}.member-hist-table .hist-what{flex:100%;order:1;font-weight:500}.member-hist-table .hist-when{order:2;width:auto}.member-hist-table .num{order:3;margin-left:auto;font-weight:600}}.inventory-table td{text-align:center;vertical-align:middle}.inventory-table th.col-product-head,.inventory-table td.col-product{text-align:left}.inventory-table th.col-product-head{padding-left:58px}.inventory-table td.num{text-align:center}.staff-table td{text-align:center;vertical-align:middle}.staff-table th.col-name-head,.staff-table td.col-name{text-align:left}.staff-table th.col-name-head{padding-left:56px}.waiver-row{border-top:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 14px;display:flex}.waiver-row:first-child{border-top:none}.waiver-head{background:var(--panel);text-transform:uppercase;letter-spacing:.04em;padding-top:9px;padding-bottom:9px}.waiver-head>:first-child{padding-left:42px}.waiver-sort{cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-3);transition:color var(--t-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.waiver-sort:hover{color:var(--ink)}.waiver-sort.active{color:var(--ink);font-weight:700}.waiver-head-date{min-width:var(--waiver-col-date);justify-content:center}.waiver-head-act{min-width:var(--waiver-col-act);display:inline-block}.waiver-search{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-self:stretch;align-items:center;gap:6px;width:180px;padding:0 8px;display:flex}.waiver-search>svg{color:var(--ink-4);flex:none}.waiver-search .input{background:0 0;border:0;flex:1;min-width:0;height:100%;padding:0;font-size:.84375rem}.waiver-search .input:focus{box-shadow:none;outline:none}.waiver-search:focus-within{border-color:var(--accent)}.waiver-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.waiver-list{--waiver-col-date:165px;--waiver-col-act:118px}.waiver-status>.badge{min-width:var(--waiver-col-date);justify-content:center}.waiver-status>.btn{min-width:var(--waiver-col-act)}.waiver-status{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=540px){.waiver-when{display:none}}.waiver-toggle-card .toggle-row{background:0 0;border:none;width:fit-content;padding:4px}.waiver-toggle-card .toggle-row>div:first-child{flex:none}.search-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.search-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.search-card:hover{border-color:var(--accent);background:var(--panel)}.search-card-name{font-size:.875rem;font-weight:600}.search-card-tags{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.person-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.person-stats{background:var(--panel);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px;padding:12px 14px;display:grid}.person-day{margin-bottom:12px}.person-day-label{color:var(--ink-3);text-transform:capitalize;margin-bottom:4px;font-size:.75rem;font-weight:700}.person-tl-row{border-radius:8px;align-items:center;gap:10px;padding:6px 8px;display:flex}.person-tl-row:hover{background:var(--panel)}.person-tl-row.voided{opacity:.5;text-decoration:line-through}.person-tl-time{flex-shrink:0;width:64px}.person-tl-parts{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.person-tl-chip{align-items:center;gap:4px;font-size:.78125rem;display:inline-flex}.person-tl-amount{flex-shrink:0;font-size:.8125rem;font-weight:600}.visits-shell{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}@media (width<=1279px){.visits-shell{grid-template-columns:minmax(0,1fr) 340px}}@media (width<=900px){.visits-shell{grid-template-columns:minmax(0,1fr) 300px}}.visits-list{gap:16px;min-width:0;display:grid}.visits-aside{align-self:start}@media (width>=768px){.scroll:has(.visits-shell)>.page{flex-direction:column;height:100%;min-height:0;padding-bottom:16px;display:flex}.visits-shell{flex:auto;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.visits-main,.visits-aside{min-height:0}.visits-main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.visits-aside{flex-direction:column;align-self:stretch;display:flex;overflow-y:auto}.visits-aside>.visit-ticket,.visits-aside>.visit-ticket-empty{flex:1 0 auto}.visits-aside>.visit-ticket{flex-direction:column;display:flex}.visits-aside>.visit-ticket>.visit-detail{flex:1 0 auto}.visits-toolbar{flex:none;margin:0 0 12px;padding:0;position:static}.visits-list{flex:auto;align-content:start;min-height:0;padding-right:4px;overflow-y:auto}}@media (width<=767px){.visits-shell{grid-template-columns:1fr}.visits-aside{display:none}}.shift-breakdown{display:none}@media (width<=767px){.shift-breakdown{display:block}}.visits-table tr.is-selected>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.visit-ticket{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);animation:fadeUp var(--motion-base) var(--ease-out);overflow:clip}.visit-ticket.voided{opacity:.7}.visit-ticket.flagged{border-color:var(--warn-line)}.visit-ticket-head{border-bottom:1px solid var(--line-soft);align-items:center;gap:11px;padding:14px 16px;display:flex}.visit-ticket-name{flex-wrap:wrap;align-items:center;gap:6px;font-size:.9375rem;font-weight:700;display:inline-flex}.visit-ticket.voided .visit-ticket-name{text-decoration:line-through}.visit-ticket-x{flex-shrink:0}.visit-ticket .visit-detail{width:auto;padding:14px 16px;position:static}.visit-ticket .visit-detail-grid{grid-template-columns:1fr;gap:12px}.visit-ticket-foot{border-top:1px solid var(--line-soft);background:var(--panel);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.visit-ticket-empty{text-align:center;min-height:220px;color:var(--ink-3);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;font-size:.84375rem;display:flex}.visit-ticket-empty svg{color:var(--ink-4)}.detalle-table{border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;font-size:.84375rem;overflow:hidden}.detalle-table td{vertical-align:middle;border-top:1px solid var(--line);background:0 0;padding:9px 12px}.detalle-table tr:first-child td{border-top:none}.detalle-table .num{white-space:nowrap;width:1%}.visit-expand-grid{grid-template-columns:1fr 1fr;align-items:start;gap:12px;padding-top:6px;display:grid}.visit-expand-grid>.card{width:100%}.visit-expand-grid .card:only-child{grid-column:span 2}@media (width<=767px){.visit-expand-grid .card:only-child{grid-column:span 1}}.admin-tabs{border-bottom:1px solid var(--line);top:var(--page-head-h);z-index:7;background:var(--bg);margin:0 calc(var(--page-x) * -1) 22px;padding:0 var(--page-x);flex-wrap:wrap;gap:6px;display:flex;position:sticky}@media (width<=834px){.admin-tabs{margin-bottom:18px}}.admin-tab{z-index:1;color:var(--ink-3);transition:color var(--motion-fast) var(--ease-std);border-radius:9px 9px 0 0;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 16px;font-size:.84375rem;font-weight:500;display:inline-flex;position:relative}.admin-tab:hover{color:var(--ink)}.admin-tab.active{color:var(--accent-strong)}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;display:grid}.admin-sec-head{align-items:center;gap:10px;display:flex}.admin-sec-title{letter-spacing:-.2px;font-size:.9375rem;font-weight:700}.admin-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cat-list{flex-direction:column;gap:6px;display:flex}.cat-list-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out), background-color .5s var(--ease-out);align-items:center;gap:12px;padding:9px;display:flex}.cat-list-row:hover{border-color:var(--ink-4)}.cat-list-row.just-moved{animation:rowLand var(--motion-slow) var(--ease-out)}@keyframes rowLand{0%{background:var(--accent-soft);box-shadow:0 0 0 0 var(--accent-soft);transform:scale(1)}35%{background:var(--accent-soft);box-shadow:0 6px 18px color-mix(in oklab, var(--accent), transparent 70%);transform:scale(1.02)}70%{background:var(--accent-soft);transform:scale(1)}to{background:var(--surface);transform:scale(1);box-shadow:0 0 #0000}}.drag-handle{cursor:grab;width:24px;height:28px;color:var(--ink-4);transition:color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.drag-handle:hover{color:var(--ink-2);background:var(--panel)}.drag-handle:active{cursor:grabbing}.drag-handle svg{width:16px;height:16px}.cat-list-row.dragging{opacity:.45;transform:scale(.99)}.cat-list-row.drop-above{box-shadow:inset 0 3px 0 0 var(--accent)}.cat-list-row.drop-below{box-shadow:inset 0 -3px 0 0 var(--accent)}.cat-list-row .inv-badge{background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--accent-line);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:2px 7px;font-size:.75rem;font-weight:600;display:inline-flex}.cat-list-row .inv-badge svg{width:10px;height:10px}.cat-list-visual{border:1.5px solid;border-radius:10px;flex-shrink:0;place-items:center;width:50px;height:50px;display:grid}.class-family{flex-direction:column;gap:6px;display:flex}button.class-family-head{width:100%;font:inherit;text-align:left;cursor:pointer}.class-family-chev-box{pointer-events:none;flex-shrink:0}.class-family-head .hist-chev{transition:transform var(--t-fast) var(--ease-out);flex-shrink:0}.class-family-head.open .hist-chev{transform:rotate(180deg)}.class-family-children{border-left:2px solid var(--line-soft);flex-direction:column;gap:6px;margin-left:24px;padding:6px 0 4px 14px;display:flex}.class-family-children .cat-list-visual{width:40px;height:40px}.class-family-add{align-self:flex-start}.ctag{background:color-mix(in oklab, var(--c,var(--ink-3)), white 86%);color:color-mix(in oklab, var(--c,var(--ink)), black 12%);border:1px solid color-mix(in oklab, var(--c,var(--ink-3)), transparent 60%);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:2px 9px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}[data-theme=dark] .ctag{background:color-mix(in oklab, var(--c,var(--ink-3)), var(--surface) 60%);color:color-mix(in oklab, var(--c,var(--ink)), white 25%)}.ctag-dot{background:var(--c,var(--ink-3));border-radius:50%;flex:none;width:7px;height:7px}.ctag.ctag-plain{background:0 0;border:none;gap:0;padding:0;font-weight:700}.member-card-meta .ctag-plain{white-space:normal}[data-theme=dark] .input,[data-theme=dark] .select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .seg button.active{background:var(--panel-2)}[data-theme=dark] .invoice-hint{background:color-mix(in oklab, var(--warn), var(--surface) 70%);color:oklch(85% .14 75)}[data-theme=dark] .badge.ok{background:color-mix(in oklab, var(--ok), var(--surface) 70%)}[data-theme=dark] .badge.warn{background:color-mix(in oklab, var(--warn), var(--surface) 70%);color:oklch(85% .14 75)}[data-theme=dark] .badge.bad{background:color-mix(in oklab, var(--bad), var(--surface) 70%);color:oklch(85% .18 27)}[data-theme=dark] .toast{background:var(--panel-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=767px){:root{--radius:12px;--radius-sm:8px;--radius-md:12px;--radius-lg:14px}.card-pad{padding:16px}.kpi-card{padding:13px 15px 12px}.input,.select,textarea.input{font-size:16px}}.lock-profile{animation:dashIn var(--motion-base) var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 55ms)}.dash-enter .page-head>div,.dash-enter .page-head .row,.dash-enter .toolbar,.dash-enter .kpi-card{animation:dashIn var(--motion-base) var(--ease-out) backwards}.dash-enter .kpi-card:nth-child(2){animation-delay:45ms}.dash-enter .kpi-card:nth-child(3){animation-delay:90ms}.dash-enter .kpi-card:nth-child(4){animation-delay:.135s}.dash-enter .kpi-card:nth-child(n+5){animation-delay:.18s}@keyframes dashIn{0%{opacity:0;transform:translateY(8px)scale(.985)}}.chart-line-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:lineDraw .72s var(--ease-out) forwards}@keyframes lineDraw{to{stroke-dashoffset:0}}.chart-fade-in{animation:fade var(--motion-slow) var(--ease-std) backwards;animation-delay:.22s}.chart-donut-in{transform-box:fill-box;transform-origin:50%;animation:donutIn var(--motion-slow) var(--ease-out) backwards}@keyframes donutIn{0%{opacity:0;transform:rotate(-28deg)scale(.9)}}.chart-donut-in circle{transition:stroke-dasharray .9s var(--ease-out), stroke-dashoffset .9s var(--ease-out)}.chart-bar-grow{transform-box:fill-box;transform-origin:bottom;animation:barGrow .6s var(--ease-out) backwards}@keyframes barGrow{0%{transform:scaleY(0)}}.chart-swap{animation:chartSwap .32s var(--ease-out)}@keyframes chartSwap{0%{opacity:0;filter:blur(5px);translate:18px}}@media (prefers-reduced-motion:reduce){.chart-donut-in circle{transition:none}.chart-bar-grow,.chart-swap{animation:none}}.skeleton{background:var(--panel);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--surface), transparent 35%), transparent);animation:1.3s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skel-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:10px;display:grid}.skel-card{border-radius:var(--radius);height:112px}.boot-spin{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.7s linear infinite spin}.lock-card.lock-loading{text-align:center;place-items:center;gap:16px;min-height:180px;padding:60px 26px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.boot-bar{background:var(--line-soft);border-radius:999px;width:220px;max-width:70vw;height:8px;overflow:hidden}.boot-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:100%;transition:width var(--motion-base,.26s) var(--ease-out,ease-out);border-radius:999px}.boot-bar-pct{color:var(--ink-3);margin-top:-6px;font-size:12px;font-weight:600}.app.appv2{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));background:var(--bg);box-sizing:border-box;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);gap:14px}.appv2 .topbar{background:var(--surface);box-shadow:var(--shadow-md);z-index:30;border-radius:999px;align-items:center;gap:14px;padding:10px 14px;display:flex;position:sticky;top:0}.appv2 .topbar-brand{cursor:pointer;transition:background var(--t-fast);background:0 0;border:none;border-radius:999px;flex:none;align-items:center;gap:11px;padding:3px 16px 3px 3px;display:flex;position:relative}.appv2 .topbar-brand:hover{background:var(--panel)}.appv2 .topbar-brand.active{background:var(--accent-soft)}.appv2 .topbar-actions .btn{background:var(--panel);width:40px;min-width:40px;height:40px;color:var(--ink-2);border:none;border-radius:50%;gap:0;padding:0;font-size:0}.appv2 .topbar-actions .btn:hover{background:var(--line);color:var(--ink)}.appv2 .topbar-actions .btn.primary,.appv2 .topbar-actions .btn.accent{background:var(--accent);color:var(--on-accent)}.appv2 .topbar-actions .btn.primary:hover,.appv2 .topbar-actions .btn.accent:hover{filter:brightness(1.06);background:var(--accent)}.appv2 .topbar-page-title{border-left:1px solid var(--line);min-width:0;font-family:var(--font-title);letter-spacing:-.2px;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;margin:0 0 0 2px;padding-left:14px;font-size:1.0625rem;font-weight:700;line-height:1.1;overflow:hidden}.appv2 .topbar-page-title.reveal-title{overflow:visible}.reveal-word{white-space:pre;will-change:transform, opacity, filter;animation:.7s cubic-bezier(.16,1,.3,1) both beuiTextReveal;display:inline-block}@keyframes beuiTextReveal{0%{opacity:0;filter:blur(12px);transform:translateY(40%)}to{opacity:1;filter:blur();transform:none}}@media (prefers-reduced-motion:reduce){.reveal-word{animation:none}}.appv2 .topbar-page-title{position:relative}.reveal-words{display:contents}.hours-island-slot{pointer-events:none;padding:0 26px 26px;display:block;position:absolute;top:100%;left:50%;overflow:hidden;transform:translate(-50%)}.hours-island{background:var(--surface);color:var(--ink-2);white-space:nowrap;animation:islandDown .34s var(--spring-pop) both;border-radius:0 0 14px 14px;align-items:center;gap:7px;padding:5px 14px 6px;font-size:.78125rem;font-weight:600;display:flex;box-shadow:0 6px 14px -6px #0000002e}@keyframes islandDown{0%{transform:translateY(-100%)}to{transform:none}}.hours-island.island-out>*{animation:islandContentOut .1s var(--ease-out) forwards}@keyframes islandContentOut{to{opacity:0}}.hours-island.island-out{animation:islandUp .2s var(--ease-in) .1s forwards}@keyframes islandUp{0%{transform:none}to{transform:translateY(-100%)}}@media (prefers-reduced-motion:reduce){.hours-island,.hours-island.island-out,.hours-island.island-out>*{animation:none}}.hours-island-sep{color:var(--ink-3);margin:0 4px}.hours-island-dot{background:var(--ink-4);border-radius:50%;flex-shrink:0;width:6px;height:6px}.hours-island-dot.on{background:var(--ok)}.hours-strip{display:none}@media (width<=767px){.hours-island-slot{display:none}.hours-strip{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:7px;margin:8px 12px 0;padding:6px 12px;font-size:.78125rem;font-weight:600;display:flex}}.appv2 .topbar-actions{align-items:center;gap:8px;display:flex}.appv2 .topbar-actions:empty{display:none}.appv2 .topbar-brand .brand-name{font-family:var(--display);letter-spacing:-.3px;color:var(--ink);font-size:1.0625rem;font-weight:800;line-height:1.1}.appv2 .topbar-brand .brand-sub{color:var(--muted);font-size:.75rem;font-weight:600}.appv2 .topbar-brand-id{text-align:left;flex-direction:column;min-width:0;max-width:34ch;display:flex}.appv2 .topbar-brand-id>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.appv2 .topbar-tabname{letter-spacing:-.4px;border-left:none;margin:0 auto;padding-left:0;font-size:2rem;font-weight:700;line-height:1.2}.subnav-scrim,.subnav-sheet{display:none}.subnav-pill{cursor:pointer;min-width:0;color:var(--muted);white-space:nowrap;font-family:var(--sans);transition:background var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std);background:0 0;border:none;border-radius:16px;flex:1 1 0;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:.875rem;font-weight:700;display:inline-flex}.subnav-pill.active{background:var(--accent);color:#fff}.subnav-pill:active{transform:scale(.96)}@keyframes subnavIn{0%{opacity:0;filter:blur(8px);translate:0 10px;scale:.9}}.appv2 .topbar-subs{background:var(--panel);border-radius:22px;gap:4px;margin:0 auto;padding:5px;display:flex;position:relative}.appv2 .topbar-subs.ghost{visibility:hidden}.appv2 .topsub{z-index:1;cursor:pointer;font-family:var(--sans);color:var(--muted);transition:color var(--t-fast) var(--ease-out);background:0 0;border:none;border-radius:22px;justify-content:center;align-items:center;padding:9px 22px;font-size:.90625rem;font-weight:700;display:inline-flex;position:relative}.appv2 .topsub:hover{color:var(--ink)}.appv2 .topsub.active{color:#fff}.appv2 .topsub-ic{display:none}.appv2 .topbar-right{flex:none;align-items:center;gap:10px;display:flex}.appv2 .topbar-ic{background:var(--panel);cursor:pointer;width:40px;height:40px;color:var(--ink-2);transition:background var(--t-fast), color var(--t-fast);border:none;border-radius:50%;place-items:center;display:grid;position:relative}.appv2 .topbar-ic:hover{background:var(--line);color:var(--ink)}.appv2 .topbar-ic.active{background:var(--accent);color:#fff}.appv2 .topbar-dot{background:var(--bad);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:9px}.appv2 .topbar-locklet{background:var(--ink-3);color:#fff;border:2px solid var(--surface);border-radius:50%;place-items:center;width:15px;height:15px;display:grid;position:absolute;top:4px;right:4px}.appv2 .topbar-user{background:var(--panel);cursor:pointer;transition:background var(--t-fast);border:none;border-radius:999px;align-items:center;gap:8px;padding:5px 14px 5px 5px;display:flex;position:relative}.appv2 .topbar-user:hover{background:var(--line)}.appv2 .topbar-shift{color:var(--ink);white-space:nowrap;align-items:center;gap:6px;font-size:.8125rem;font-weight:700;display:inline-flex}.appv2 .topbar-shift.none{color:var(--bad)}.topbar-shift-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:8px;height:8px}.appv2 .topbar-shift.none .topbar-shift-dot{background:var(--bad)}.shift-menu{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;display:grid}.shift-menu-item{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-family:var(--sans);color:var(--ink);text-align:center;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px 8px;font-size:.8125rem;font-weight:600;display:flex}.shift-menu-item:hover{background:var(--panel);border-color:var(--accent-line)}.shift-menu-item svg{color:var(--ink-3);flex-shrink:0;width:24px;height:24px}.shift-menu-close{background:var(--ink);border-color:var(--ink);color:var(--surface)}.shift-menu-close:hover{background:var(--ink-2);border-color:var(--ink-2)}.shift-menu-close svg{color:var(--surface)}.shift-sub{align-items:center;gap:6px;font-weight:600;display:inline-flex}.shift-sub.open{color:#0a8f74}.shift-sub.open .topbar-shift-dot{background:var(--ok)}.shift-sub.none{color:var(--bad)}.shift-sub.none .topbar-shift-dot{background:var(--bad)}.appv2-body{grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,10px + .4vw,20px);min-height:0;display:grid}.appv2 .rail{flex-direction:column;align-items:center;gap:14px;min-height:0;display:flex}.appv2 .rail-pill{z-index:40;background:var(--surface);box-shadow:var(--shadow-md);border-radius:999px;flex-direction:column;gap:8px;padding:6px;display:flex;position:relative}.appv2 .rail-foot{margin-top:auto}.appv2 .rail-btn{z-index:1;cursor:pointer;width:54px;height:54px;color:var(--muted);transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);background:0 0;border:none;border-radius:27px;place-items:center;display:grid;position:relative}.appv2 .rail-btn:hover:not(.active){background:var(--panel);color:var(--ink)}.appv2 .rail-btn.active{color:#fff}@media (width>=768px){.appv2 .rail-subgroup{background:color-mix(in oklab, var(--accent) 15%, transparent);border-radius:999px;flex-direction:column;gap:4px;padding:4px;display:flex;position:relative;overflow:visible}.appv2 .rail-subgroup>.slide-box{background:var(--accent);border-radius:50%}.appv2 .rail-subgroup .rail-subbtn{border-radius:23px;width:46px;height:46px}.appv2 .rail-subgroup .rail-subbtn.active{color:#fff}.appv2 .rail-subgroup .rail-subbtn~.rail-subbtn{animation:railSubGrow var(--motion-base) var(--spring-pop)}@keyframes railSubGrow{0%{opacity:0;height:0}}.appv2 .rail-subgroup.closing{background:0 0}.appv2 .rail-subgroup.closing .rail-subbtn~.rail-subbtn{opacity:0;height:0;transition:height var(--motion-base) var(--ease-std), opacity var(--motion-fast) var(--ease-std);animation:none}@media (prefers-reduced-motion:reduce){.appv2 .rail-subgroup .rail-subbtn~.rail-subbtn{animation:none}.appv2 .rail-subgroup.closing .rail-subbtn~.rail-subbtn{transition:none}}}.slide-box{z-index:0;pointer-events:none;transition:transform .65s var(--spring-glide), width .65s var(--spring-glide), height .65s var(--spring-glide), opacity var(--motion-fast) var(--ease-out);position:absolute;top:0;left:0}.appv2 .rail-pill>.slide-box{background:var(--accent);border-radius:50%}.appv2 .topbar-subs>.slide-box{background:var(--accent);border-radius:22px}.appv2 .bottom-nav>.slide-box{background:var(--accent);border-radius:50%}.admin-tabs>.slide-box{border-bottom:2.5px solid var(--accent);background:0 0}@media (prefers-reduced-motion:reduce){.slide-box{transition:opacity var(--motion-fast)}}.appv2 .rail-dot{background:var(--bad);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:8px}.appv2 .rail-label{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-md);font-family:var(--sans);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);z-index:40;border-radius:14px;padding:8px 14px;font-size:.84375rem;font-weight:700;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-8px)}@media (pointer:fine) and (width>=768px){.appv2 .rail-btn:hover .rail-label{opacity:1;visibility:visible;transform:translateY(-50%)translate(0)}}@media (prefers-reduced-motion:reduce){.appv2 .rail-label{transition:none;transform:translateY(-50%)}}.appv2 .topbar-label{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-md);font-family:var(--sans);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);z-index:40;border-radius:14px;padding:8px 14px;font-size:.84375rem;font-weight:700;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(-6px)}@media (pointer:fine) and (width>=768px){.appv2 .topbar-ic:hover .topbar-label,.appv2 .topbar-user:hover .topbar-label,.appv2 .topbar-brand:hover .topbar-label{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.appv2 .topbar-label{transition:none;transform:translate(-50%)}}@media (width<=767px){.app.appv2{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));gap:8px}.appv2 .rail{display:none}.appv2-body{grid-template-columns:1fr}.appv2 .topbar{gap:8px;padding:8px 10px}.appv2 .topbar-brand .brand-text{display:none}.appv2 .topbar-shift{gap:0;font-size:0}.appv2 .topbar-shift .topbar-shift-dot{width:9px;height:9px}.appv2 .topbar-user{padding:5px 9px 5px 5px}.appv2 .topbar-subs{gap:2px;min-width:0;padding:4px}.appv2 .topsub{padding:8px 12px}.appv2 .topsub-ic{display:block}.appv2 .topsub-label,.appv2[data-active-tab=admin] .topbar-page-title,.appv2 .topbar-subs.sections{display:none}.appv2 .topbar-subs.sections~.topbar-right{margin-left:auto}.subnav-scrim{z-index:245;animation:scrimIn .2s var(--ease-out);background:#0f121666;display:block;position:fixed;inset:0}.subnav-scrim.subnav-closing{animation:scrimOut .3s var(--ease-out) forwards;pointer-events:none}@keyframes scrimIn{0%{opacity:0}}@keyframes scrimOut{to{opacity:0}}.app:has(.subnav-scrim) .bottom-nav{z-index:246}.subnav-sheet{z-index:247;left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom,0px));background:var(--surface);box-shadow:var(--shadow-md);transform-origin:bottom;animation:subnavIn .32s var(--spring-pop);border-radius:22px;gap:4px;padding:6px;display:flex;position:fixed}.subnav-closing{animation:subnavIn .32s var(--spring-pop) reverse forwards;pointer-events:none}.appv2 .bottom-nav{width:max-content;max-width:calc(100% - 32px);left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);box-shadow:var(--shadow-md);border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px;position:fixed;transform:translate(-50%)}.appv2 .bottom-nav-tab{z-index:1;color:var(--muted);border-radius:50%;flex:none;width:48px;min-height:48px;padding:0;position:relative}.appv2 .bottom-nav-tab.active{color:#fff}.appv2 .bottom-nav-tab.active .bottom-nav-ic:after{display:none}.appv2 .bottom-nav-tab.active .bottom-nav-lbl{color:#fff}.appv2 .bottom-nav-dot{box-shadow:0 0 0 2px var(--surface)}.appv2 .bottom-nav-group{background:color-mix(in oklab, var(--accent) 15%, transparent);transition:background var(--motion-base) var(--ease-std);border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex;overflow:hidden}.appv2 .bottom-nav-group .bottom-nav-tab{width:44px;min-height:44px;transition:background var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std)}.appv2 .bottom-nav-group .bottom-nav-tab.active{background:var(--accent);color:#fff}.appv2 .bottom-nav-group .bottom-nav-tab:not(.active){animation:navSubGrow var(--motion-base) var(--spring-pop)}@keyframes navSubGrow{0%{opacity:0;width:0}to{opacity:1;width:44px}}.appv2 .bottom-nav-group.closing{background:0 0}.appv2 .bottom-nav-group.closing .bottom-nav-tab:not(.active){opacity:0;width:0;transition:width var(--motion-base) var(--ease-std), opacity var(--motion-fast) var(--ease-std);animation:none}@media (prefers-reduced-motion:reduce){.appv2 .bottom-nav-group .bottom-nav-tab:not(.active){animation:none}.appv2 .bottom-nav-group.closing .bottom-nav-tab:not(.active),.appv2 .bottom-nav-group.closing{transition:none}}.appv2 .main{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}body{font-size:1rem}.btn{font-size:1rem;font-weight:600}.btn.sm{font-size:.875rem;font-weight:600}.label,.page-sub,.modal-sub{font-size:.875rem}.tiny{font-size:.75rem}.modal-title{font-size:1.25rem}.page-title{font-size:1.5rem}.kpi-card-value{font-size:clamp(1.375rem,4.5vw,2.5rem)}.cart-pay-amount{font-size:2.5rem}.pay-seg button{font-size:1.125rem}.cat-stock-badge,.cat-group-badge,.catalog-grid.dense .cat-stock-badge,.catalog-grid.dense .cat-group-badge{font-size:.625rem}@media (width<=767px){.page-title{font-size:2rem}.catalog-grid.dense .cat-stock-badge{font-size:.625rem}.pos-mem-clickzone>.avatar{display:none}.pos-mem-clickzone{flex:auto;min-width:0}.pos-mem-compact>.row{flex-wrap:wrap;row-gap:0}.pos-mem-compact{padding:8px 14px}.pos-mem-compact>.row>.icon-btn{width:28px;height:28px}.pos-mem-clickzone{padding-top:2px;padding-bottom:0}.pos-mem-meta{flex:1 0 100%;order:9;min-width:0;padding:0 0 0 8px}.pos-mem-sep{display:none}.pos-mem-name{font-size:1rem}.pos-mem-plan{font-size:.75rem}}.pos-pick .row>.btn{font-size:.875rem;font-weight:500}@media (width<=767px){.pos-pick .row>.btn{flex:none;gap:0;width:40px;min-width:40px;padding:0;font-size:0}}.bottom-nav-lbl{display:none}
