@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--canvas:#f6f4f1;--surface:#fff;--surface-2:#fbfaf8;--surface-3:#efece7;--ink:#201d1a;--ink-2:#5c564f;--ink-3:#837b72;--ink-inverse:#fff;--line:#e3dfd9;--line-strong:#c9c3ba;--ok:#106b4f;--ok-hover:#0b5740;--ok-press:#084430;--ok-soft:#e6f2ec;--ok-line:#b9d8cb;--danger:#b3261e;--danger-hover:#932019;--danger-soft:#fbecea;--danger-line:#e9c7c4;--warn:#8a5800;--warn-soft:#faf0dc;--warn-line:#e8d6ae;--blue:#1a5a8a;--blue-soft:#e6eff8;--blue-line:#b9d0e8;--ring:0 0 0 3px #106b4f4d;--ring-danger:0 0 0 3px #b3261e47;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--t-meta:13px;--t-dense:14px;--t-base:16px;--t-mid:20px;--t-big:28px;--t-total:48px;--s-1:4px;--s-2:8px;--s-3:16px;--s-4:24px;--s-5:40px;--r-ctl:8px;--r-panel:12px;--r-full:999px;--sh-1:0 1px 2px #201d1a12;--sh-2:0 16px 40px #201d1a2e;--tap:48px;--t-fast:.12s cubic-bezier(.4, 0, .2, 1);--t-base-motion:.18s cubic-bezier(.4, 0, .2, 1);--z-toast:40;--z-overlay:50}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior-y:contain;height:100%}html{overscroll-behavior:none}body{font-family:var(--font);font-size:var(--t-base);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.45}.num,td.num,.input--num{font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}a{color:var(--ok);text-decoration:none}a:hover{color:var(--ok-hover);text-decoration:underline}:focus-visible{box-shadow:var(--ring);border-radius:var(--r-ctl);outline:none}::selection{background:var(--ok-soft)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{overscroll-behavior:contain;grid-template-rows:auto auto 1fr;height:100dvh;display:grid}.app>main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.app>main>.workspace{overscroll-behavior:contain;height:100%;min-height:0}.page>.modal{margin:0 auto}.app-loader{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f6f4f1b8;place-items:center;display:grid;position:fixed;inset:0}.app-loader__card{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-2);flex-direction:column;display:flex}.app-loader__spinner{border-radius:var(--r-full);border:3px solid var(--line);border-top-color:var(--ok);width:36px;height:36px;animation:.7s linear infinite spin}.inline-loader{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-4);color:var(--ink-2);display:flex}.inline-loader:before{content:"";border-radius:var(--r-full);border:2px solid var(--line);border-top-color:var(--ok);width:22px;height:22px;animation:.7s linear infinite spin}.btn--money-open{background:var(--warn-soft);border-color:var(--warn-line);color:var(--ink)}.btn--money-open:hover:not(:disabled){background:var(--warn-line)}.btn--money-close{background:var(--ok);border-color:var(--ok);color:var(--ink-inverse)}.btn--money-close:hover:not(:disabled){background:var(--ok-hover)}.money-pill{font-variant-numeric:tabular-nums;background:0 0;border:none;padding:0;font-weight:800;display:inline}.money-pill--open{color:var(--warn)}.money-pill--close{color:var(--ok)}.money-pill--danger{color:var(--danger)}.money-pill--expected{color:var(--ink)}.stack.gap-3{gap:calc(var(--s-3) * .7)}.stack.gap-4{gap:calc(var(--s-4) * .7)}.stack.gap-5{gap:calc(var(--s-5) * .7)}.page__title{margin-bottom:calc(var(--s-1) * .7)}.card__head+.card__body{padding-top:calc(var(--s-4) * .7)}.section-label{display:none}.admin-config .section-label{display:block}.topbar-wrap{background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.topbar{align-items:center;gap:var(--s-3);height:60px;padding:0 var(--s-3);background:var(--surface);display:flex}.topbar__spacer{flex:1}.brand{align-items:center;gap:10px;display:flex}.brand__mark{border-radius:var(--r-ctl);background:var(--ink);width:32px;height:32px;color:var(--ink-inverse);place-items:center;font-size:15px;font-weight:800;display:grid}.brand__text{flex-direction:column;line-height:1.05;display:flex}.brand__name{font-size:15px;font-weight:700}.brand__kicker{letter-spacing:.22em;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:9px;font-weight:600}.nav{align-items:center;gap:var(--s-1);display:flex}.nav__item{min-height:var(--tap);padding:0 var(--s-3);border-radius:var(--r-ctl);font:500 var(--t-base)/1 var(--font);color:var(--ink-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;align-items:center;text-decoration:none;display:flex}.nav__item:hover{color:var(--ink);background:var(--surface-2);text-decoration:none}.nav__item--active{color:var(--ink-inverse);background:var(--ink);border-color:var(--ink);font-weight:600}.nav__key,.kbd{font:600 12px/1 var(--font);font-variant-numeric:tabular-nums;color:inherit;opacity:.75;border:1px solid;border-radius:4px;padding:2px 5px}.session{align-items:center;gap:var(--s-3);padding-left:var(--s-3);border-left:1px solid var(--line);display:flex}.session__who{text-align:right;flex-direction:column;line-height:1.3;display:flex}.session__name{font-size:var(--t-meta);font-weight:600}.session__meta{font-size:var(--t-meta);color:var(--ink-3)}.strip{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);background:var(--warn-soft);border-bottom:1px solid var(--warn-line);font-size:var(--t-base);color:var(--ink);display:flex}.strip:before{content:"";border-radius:var(--r-full);background:var(--warn);flex:none;width:10px;height:10px}.strip strong{font-weight:700}.version-legend{text-align:center;padding:4px var(--s-3) 3px;letter-spacing:.02em;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;flex:none;font-weight:500;line-height:1.2;font-size:11px!important}.tabs{gap:var(--s-1);border-bottom:1px solid var(--line);display:flex}.tab{font:500 var(--t-base)/1.2 var(--font);color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:9px 12px 11px;position:relative}.tab:hover{color:var(--ink)}.tab--active{color:var(--ink);font-weight:600}.tab--active:after{content:"";background:var(--ink);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:12px;right:12px}.workspace{overscroll-behavior:contain;grid-template-columns:1fr 400px;min-height:0;display:grid}.panel{min-height:0;padding:var(--s-4);overscroll-behavior:contain;overflow-y:auto}.panel--aside{background:var(--surface);border-left:1px solid var(--line);overscroll-behavior:contain;flex-direction:column;min-height:0;padding:0;display:flex}.page{max-width:1200px;padding:var(--s-4) var(--s-4) var(--s-5);margin:0 auto}.page__title{font-size:var(--t-big);letter-spacing:-.02em;font-weight:700}.page__sub{color:var(--ink-2);margin-top:var(--s-1)}.section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.grid-2{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-3);font:600 var(--t-base)/1 var(--font);border-radius:var(--r-ctl);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);background:0 0;border:1px solid #0000;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--ok);color:var(--ink-inverse)}.btn--primary:hover:not(:disabled){background:var(--ok-hover)}.btn--primary:active:not(:disabled){background:var(--ok-press)}.btn--solid{background:var(--ink);border-color:var(--ink);color:var(--ink-inverse)}.btn--solid:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2)}.btn--solid:active:not(:disabled){background:#000}.btn--outline{border-color:var(--line-strong);background:var(--surface)}.btn--outline:hover:not(:disabled){background:var(--surface-3);border-color:var(--ink-3)}.btn--outline:active:not(:disabled){background:var(--line)}.btn--ghost{color:var(--ink-2)}.btn--ghost:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.btn--danger{color:var(--danger);border-color:var(--danger-line);background:var(--surface)}.btn--danger:hover:not(:disabled){background:var(--danger-soft)}.btn--danger-solid{background:var(--danger);color:var(--ink-inverse)}.btn--danger-solid:hover:not(:disabled){background:var(--danger-hover)}.btn--danger:focus-visible,.btn--danger-solid:focus-visible{box-shadow:var(--ring-danger)}.btn--sm{min-height:36px;padding:0 var(--s-2);font-size:var(--t-meta)}.btn--lg{min-height:56px;padding:0 var(--s-4);font-size:var(--t-mid)}.btn--pay{width:100%;min-height:72px;font-size:var(--t-mid);border-radius:var(--r-panel)}.btn--block{width:100%}.btn-row{gap:var(--s-2);display:flex}.btn-row>.btn{flex:1}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--t-meta);color:var(--ink-2);font-weight:600}.field__hint{font-size:var(--t-meta);color:var(--ink-3)}.field__error{font-size:var(--t-meta);color:var(--danger);font-weight:500}.input,.select,.textarea{min-height:var(--tap);padding:0 var(--s-3);font:400 var(--t-base)/1.4 var(--font);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);width:100%;transition:border-color var(--t-fast), box-shadow var(--t-fast);border-radius:12px;outline:none}.select{appearance:none;cursor:pointer;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='%235C564F' 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 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.textarea{padding:var(--s-2) var(--s-3);resize:vertical;min-height:88px}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:hover,.select:hover{border-color:var(--ink-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--ok);box-shadow:var(--ring)}.input[aria-invalid=true]{border-color:var(--danger);box-shadow:var(--ring-danger)}.input--num{text-align:right}.input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.input[type=number]{appearance:textfield}.search{align-items:center;display:flex;position:relative}.search .input{min-height:56px;font-size:var(--t-mid);padding-left:44px}.search__icon{color:var(--ink-3);pointer-events:none;font-size:18px;position:absolute;left:14px}.segment{background:var(--surface-3);border-radius:var(--r-ctl);gap:2px;padding:3px;display:inline-flex}.segment__item{padding:10px var(--s-3);font-size:var(--t-base);color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:6px;font-weight:500}.segment__item--active{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1);font-weight:600}.chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip{min-height:40px;padding:0 var(--s-3);font-size:var(--t-base);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);cursor:pointer;align-items:center;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--line-strong)}.chip--active{background:var(--ink);border-color:var(--ink);color:var(--ink-inverse);font-weight:600}.status{font-size:var(--t-meta);color:var(--ink-2);align-items:center;gap:7px;font-weight:600;display:inline-flex}.status:before{content:"";border-radius:var(--r-full);background:currentColor;flex:none;width:8px;height:8px}.status--ok{color:var(--ok)}.status--warn{color:var(--warn)}.status--danger{color:var(--danger)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel)}.card__head{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);align-items:center;gap:var(--s-3);display:flex}.card__title{font-size:var(--t-base);font-weight:600}.card__body{padding:var(--s-4)}.stat{padding:var(--s-3) var(--s-4)}.stat__label{font-size:var(--t-meta);color:var(--ink-2)}.stat__value{font-size:var(--t-big);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;font-weight:700}.action-grid{gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.action-tile{min-height:186px;padding:var(--s-3);justify-content:center;align-items:center;gap:var(--s-2);color:var(--ink);text-align:center;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);aspect-ratio:1;border-radius:16px;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.action-tile:after{content:"";opacity:.95;pointer-events:none;border-radius:0 0 16px 16px;height:42%;position:absolute;bottom:0;left:0;right:0}.action-tile:hover{color:var(--ink);border-color:var(--line-strong);box-shadow:var(--sh-2);text-decoration:none;transform:translateY(-1px)}.action-tile__icon{object-fit:cover;border-radius:var(--r-full);background:var(--surface);width:70px;height:70px;box-shadow:var(--sh-1);z-index:1;display:block;position:relative}.action-tile__title{text-align:center;z-index:1;font-size:17px;font-weight:700;line-height:1.2;position:relative}.action-tile__description{display:none}.action-tile__copy{gap:var(--s-1);z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.action-tile--action{border-color:var(--ok-line)}.action-tile--action:after{background:linear-gradient(180deg, transparent 0%, var(--ok) 100%);opacity:.22}.action-tile--info{border-color:var(--blue-line)}.action-tile--info:after{background:linear-gradient(180deg, transparent 0%, var(--blue) 100%);opacity:.22}.action-tile--neutral{border-color:var(--warn-line)}.action-tile--neutral:after{background:linear-gradient(180deg, transparent 0%, var(--warn) 100%);opacity:.22}.action-tile--warn{border-color:var(--warn-line)}.action-tile--warn:after{background:linear-gradient(180deg, transparent 0%, var(--warn) 100%);opacity:.22}.home-dashboard{padding:var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel)}.home-action-groups{gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.home-action-group .action-grid{grid-template-columns:1fr}.home-action-group .action-tile{min-height:158px;padding:var(--s-3);aspect-ratio:1}.home-inventory-action{min-height:64px;padding:0 var(--s-4);border-radius:var(--r-ctl);background:var(--ink);color:var(--ink-inverse);font-size:var(--t-mid);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:flex}.home-inventory-action:hover{background:var(--ink-2);color:var(--ink-inverse);text-decoration:none}.layaway-guide{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--r-panel);display:flex}.layaway-guide .btn{flex:none}.product-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.product{text-align:left;gap:var(--s-1);padding:var(--s-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast);flex-direction:column;display:flex}.product:hover{border-color:var(--ink-3);box-shadow:var(--sh-1)}.product:active{background:var(--surface-2)}.product__name{font-size:var(--t-base);padding:0 var(--s-1);font-weight:600;line-height:1.25}.product__media{aspect-ratio:3/2;background:var(--surface-3);border-radius:6px;place-items:center;width:100%;display:grid;overflow:hidden}.product__media img{aspect-ratio:3/2;object-fit:cover;background:var(--surface-3);border-radius:6px;width:100%;display:block}.product__initials{font-size:var(--t-mid);color:var(--line-strong);letter-spacing:.04em;font-weight:700}.product__meta{font-size:var(--t-meta);color:var(--ink-3);padding:0 var(--s-1)}.product__options{padding:2px var(--s-1) 0;flex-wrap:wrap;gap:6px;display:flex}.product__option{font-size:var(--t-meta);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-weight:600}.product__foot{padding:4px var(--s-1) var(--s-1);justify-content:space-between;align-items:baseline;gap:var(--s-2);margin-top:auto;display:flex}.product__price{font-size:var(--t-mid);padding:0 var(--s-1);margin-top:auto;font-weight:700}.product__foot .product__price{padding:0}.product__stock{font-size:var(--t-meta);color:var(--ink-2);font-weight:500}.product--out{opacity:.5;cursor:not-allowed}.ticket{flex-direction:column;height:100%;min-height:0;display:flex}.ticket__head{padding:var(--s-3) var(--s-3);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;display:flex}.ticket__head--primary{background:var(--ok);color:var(--ink-inverse);border-bottom-color:var(--ok)}.ticket__head--primary .card__title,.ticket__head--primary .faint{color:var(--ink-inverse)}.ticket__items{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.ticket__foot,.totals,.paybar{flex-shrink:0}.ticket__row{gap:var(--s-2) var(--s-3);padding:var(--s-3) var(--s-3);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;display:grid}.ticket__row:hover{background:var(--surface-2)}.ticket__name{font-size:var(--t-base);font-weight:600}.ticket__qty{font-size:var(--t-meta);color:var(--ink-2);font-variant-numeric:tabular-nums}.ticket__amount{font-size:var(--t-base);font-variant-numeric:tabular-nums;font-weight:700}.ticket-line{grid-template-columns:minmax(0,1fr) auto;align-items:start}.ticket-line__main{align-items:flex-start;gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.ticket-line__actions{align-items:center;gap:var(--s-2);grid-column:1/-1;display:flex}.ticket-line__actions>:last-child{margin-left:auto}.quantity-stepper{border:1px solid var(--line-strong);border-radius:var(--r-ctl);grid-template-columns:36px 48px 36px;align-items:center;width:max-content;display:grid;overflow:hidden}.quantity-stepper__button{background:var(--surface-2);min-width:36px;min-height:36px;color:var(--ink);cursor:pointer;border:0;font-size:18px}.quantity-stepper__button:hover{background:var(--surface-3)}.quantity-stepper__input{border:0;border-inline:1px solid var(--line);text-align:center;width:48px;min-height:36px;font:600 14px/1 var(--font);font-variant-numeric:tabular-nums;appearance:textfield}.ticket-line{padding:var(--s-2) var(--s-3);gap:var(--s-2)}.ticket-line .ticket__name{font-size:14px}.ticket-line__actions .btn--sm{min-height:32px;padding:0 var(--s-2);font-size:13px}.quantity-stepper__input::-webkit-inner-spin-button{appearance:none;margin:0}.quantity-stepper__input::-webkit-outer-spin-button{appearance:none;margin:0}.cash-tender-grid{gap:var(--s-3);grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);align-items:stretch;display:grid}.cash-change{padding:var(--s-2) var(--s-3);background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.cash-change .stat__value{color:var(--ok);font-size:28px;line-height:1}.cash-change .stat__label{color:var(--ink-2);font-size:12px}.totals{padding:var(--s-2) var(--s-3);border-top:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:1px;display:flex}.totals__row{font-size:var(--t-base);color:var(--ink-2);justify-content:space-between;align-items:baseline;padding:1px 0;display:flex}.totals__row--grand{color:var(--ink);margin-top:var(--s-2)}.totals__row--grand>span:first-child{font-size:var(--t-mid);font-weight:600}.totals__grand{font-size:var(--t-total);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:800}.paybar{padding:var(--s-3) var(--s-4) var(--s-4);background:var(--surface);border-top:1px solid var(--line)}.keypad{gap:var(--s-2);grid-template-columns:repeat(3,1fr);display:grid}.keypad__key{min-height:60px;font:600 var(--t-mid)/1 var(--font);font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-ctl);cursor:pointer;color:var(--ink)}.keypad__key:active{background:var(--surface-3)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);overflow:hidden}.table{border-collapse:collapse;width:100%;font-size:var(--t-dense)}.table th{text-align:left;padding:var(--s-2) 12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;font-size:11px;font-weight:600}.table td{padding:var(--s-2) 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.table .num,.table th.num{text-align:right}.table--caja{font-size:var(--t-base)}.table--caja th,.table--caja td{padding:12px var(--s-3)}.cell-code{font-size:var(--t-meta);color:var(--ink-2);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.notice{gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-2);font-size:var(--t-base);display:flex}.notice--warn{background:var(--warn-soft);border-color:var(--warn-line)}.notice--error{background:var(--danger-soft);border-color:var(--danger-line)}.empty{align-items:center;gap:var(--s-2);padding:var(--s-5) var(--s-4);text-align:center;color:var(--ink-2);flex-direction:column;display:flex}.empty strong{color:var(--ink);font-size:var(--t-mid)}.loading{align-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-4);color:var(--ink-2);flex-direction:column;display:flex}.loading:before{content:"";border-radius:var(--r-full);border:3px solid var(--line);border-top-color:var(--ok);width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.overlay{padding:var(--s-4);z-index:var(--z-overlay);background:#201d1a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:480px;max-height:calc(100vh - (var(--s-4) * 2));background:var(--surface);border-radius:var(--r-panel);box-shadow:var(--sh-2);overflow-y:auto}.modal__head{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);z-index:1;background:var(--surface);position:sticky;top:0}.modal__head--primary{background:var(--ok);color:var(--ink-inverse);border-bottom-color:var(--ok);z-index:1;position:sticky;top:0}.modal__head--primary .modal__title,.modal__head--primary .muted{color:var(--ink-inverse)}.modal__title{font-size:var(--t-mid);font-weight:700}.modal__body{padding:var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.modal__foot{padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);background:var(--surface-2);justify-content:flex-end;gap:var(--s-2);display:flex}.modal--wide{max-width:760px}.form-section{gap:var(--s-3);padding:var(--s-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-ctl);flex-direction:column;display:flex}.form-section__title{font-size:var(--t-base);font-weight:700}.upload-field{min-height:84px;padding:var(--s-3);border:1px dashed var(--line-strong);border-radius:var(--r-ctl);cursor:pointer;grid-template-columns:1fr auto;align-items:center;display:grid}.upload-field input{margin-top:var(--s-2);grid-column:1/-1}.switch{align-items:center;gap:var(--s-3);min-height:var(--tap);cursor:pointer;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch__track{border:1px solid var(--line-strong);border-radius:var(--r-full);background:var(--surface-3);width:46px;height:26px;transition:background var(--t-fast), border-color var(--t-fast);flex:none;padding:3px}.switch__track:after{content:"";border-radius:var(--r-full);background:var(--surface);width:18px;height:18px;box-shadow:var(--sh-1);transition:transform var(--t-fast);display:block}.switch input:checked+.switch__track{background:var(--ok);border-color:var(--ok)}.switch input:checked+.switch__track:after{transform:translate(20px)}.switch input:focus-visible+.switch__track{box-shadow:var(--ring)}.switch--panel{padding:var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl)}.toaster{left:var(--s-3);bottom:var(--s-3);gap:var(--s-2);width:min(400px, calc(100vw - var(--s-3) * 2));z-index:var(--z-toast);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--s-2);padding:var(--s-3);pointer-events:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-2);animation:toast-in var(--t-base-motion) both;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast:before{content:"";border-radius:var(--r-full);background:var(--ink-3);flex:none;width:10px;height:10px;margin-top:6px}.toast--success:before{background:var(--ok)}.toast--warn:before{background:var(--warn)}.toast--error:before{background:var(--danger)}.toast--error{border-color:var(--danger-line)}.toast__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast__title{font-size:var(--t-base);font-weight:700}.toast__message{font-size:var(--t-meta);color:var(--ink-2)}.toast__count{font-size:var(--t-meta);color:var(--ink-2);background:var(--surface-3);border-radius:var(--r-full);font-variant-numeric:tabular-nums;align-self:flex-start;padding:1px 8px;font-weight:700}.toast__close{color:var(--ink-3);cursor:pointer;font-size:var(--t-mid);background:0 0;border:none;border-radius:6px;padding:2px 6px;line-height:1}.toast__close:hover{color:var(--ink);background:var(--surface-3)}.cash-report-grid{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cash-report-card{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.cash-report-card__head{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface-2);display:flex}.cash-report-row{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);display:flex}.cash-report-total{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-top:1px solid var(--line-strong);margin-top:auto;font-weight:700;display:flex}.cash-report-total strong{font-size:var(--t-big)}.payment-breakdown-row{gap:var(--s-1);padding:var(--s-2) var(--s-4);flex-direction:column;display:flex}.payment-breakdown-row progress{border-radius:var(--r-full);background:var(--surface-3);border:0;width:100%;height:8px;overflow:hidden}.payment-breakdown-row progress::-webkit-progress-bar{background:var(--surface-3);border-radius:var(--r-full)}.payment-breakdown-row progress::-webkit-progress-value{background:var(--ok);border-radius:var(--r-full)}.payment-breakdown-row progress::-moz-progress-bar{background:var(--ok);border-radius:var(--r-full)}.cash-balance-grid{gap:var(--s-3);grid-template-columns:minmax(180px,.7fr) minmax(220px,1.3fr);display:grid}.cash-balance{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-ctl)}.cash-balance--opening{background:var(--surface-2)}.cash-balance--current{background:var(--surface);border-color:var(--line-strong)}.cash-balance--current .stat__value{font-size:var(--t-total)}.debt-header{flex-direction:column;gap:4px;display:flex}.debt-hero{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.debt-hero__card{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-1);border-radius:16px;display:flex}.debt-hero__card--today{background:linear-gradient(135deg, var(--surface) 60%, var(--blue-soft) 100%);border-color:var(--blue-line)}.debt-hero__card--overdue{background:linear-gradient(135deg, var(--surface) 60%, var(--danger-soft) 100%);border-color:var(--danger-line)}.debt-hero__card--month{background:linear-gradient(135deg, var(--surface) 60%, var(--ok-soft) 100%);border-color:var(--ok-line)}.debt-hero__icon{background:var(--surface);border:1px solid var(--line);border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.debt-hero__label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600;display:block}.debt-hero__value{font-size:20px;font-weight:800;display:block}.debt-hero__sub{color:var(--ink-3);font-size:12px}.debt-main{gap:var(--s-4);grid-template-columns:1.35fr 380px;align-items:start;display:grid}.debt-client{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.debt-client__avatar{background:var(--surface-3);width:36px;height:36px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.debt-client__info{flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=900px){.debt-hero,.debt-main{grid-template-columns:1fr}}.day-payment{width:100%;min-height:56px;padding:var(--s-3);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.day-payment>span{flex-direction:column;display:flex}.day-payment:hover{background:var(--surface-2);border-color:var(--line-strong)}.calendar-card{border-radius:16px;overflow:hidden}.calendar-card--lively{border:1px solid var(--line);box-shadow:var(--sh-1)}.calendar-legend{flex-wrap:wrap}.calendar-card .fc{--fc-border-color:var(--line);--fc-page-bg-color:var(--surface);--fc-neutral-bg-color:var(--surface-2);--fc-neutral-text-color:var(--ink-2);--fc-today-bg-color:var(--ok-soft);color:var(--ink);font-family:var(--font);font-size:var(--t-dense)}.calendar-card .fc .fc-toolbar{gap:var(--s-2);flex-wrap:wrap;padding:4px 0}.calendar-card .fc .fc-toolbar-title{letter-spacing:-.02em;font-size:18px;font-weight:800}.calendar-card .fc .fc-button{border:1px solid var(--ok-line);background:var(--ok);min-height:36px;color:var(--ink-inverse);box-shadow:var(--sh-1);font:600 13px/1 var(--font);text-transform:capitalize;border-radius:99px;padding:0 14px}.calendar-card .fc .fc-button:hover{background:var(--ok-hover);border-color:var(--ok-hover);color:var(--ink-inverse)}.calendar-card .fc .fc-button:disabled{opacity:.5}.calendar-card .fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.calendar-card .fc .fc-button:focus-visible{box-shadow:var(--ring)}.calendar-card .fc .fc-col-header-cell-cushion,.calendar-card .fc .fc-daygrid-day-number{color:var(--ink-2);text-decoration:none}.calendar-card .fc .fc-daygrid-day-number{min-width:var(--tap);min-height:var(--tap);justify-content:center;align-items:center;display:inline-flex}.calendar-card .fc .fc-event{min-height:28px;font-size:var(--t-meta);cursor:pointer;border-width:1px;border-radius:6px;padding:3px 5px;font-weight:600}.calendar-card .fc .calendar-event--pending{background:var(--blue-soft)!important;border-color:var(--blue-line)!important;color:var(--ink)!important}.calendar-card .fc .calendar-event--overdue{background:var(--danger-soft)!important;border-color:var(--danger-line)!important;color:var(--ink)!important}.calendar-card .fc .fc-event,.calendar-card .fc .fc-event *{color:var(--ink)!important}.calendar-card .fc .calendar-event--pending:hover{background:var(--blue-line)!important;color:var(--ink)!important}.calendar-card .fc .calendar-event--overdue:hover{background:var(--danger-line)!important;color:var(--ink)!important}.calendar-card .fc .fc-more-link{color:var(--ink-2);font-weight:600}@media (width<=900px){.workspace{grid-template-columns:1fr}.panel--aside{border-left:none;border-top:1px solid var(--line)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-tile{min-height:160px;padding:var(--s-3)}.page{padding:var(--s-3)}.debt-workspace,.cash-balance-grid,.cash-report-grid,.cash-tender-grid{grid-template-columns:1fr}.layaway-guide{flex-direction:column;align-items:stretch}.input,.select{font-size:16px}}@media (width<=700px){.nav__item{padding:0 var(--s-2)}.session__meta{display:none}.home-action-groups{grid-template-columns:1fr}.home-action-group .action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.session,.status{display:none}.nav__item{font-size:var(--t-meta)}.action-grid,.home-action-group .action-grid{grid-template-columns:1fr}.action-tile{min-height:132px}.toaster{width:calc(100vw - var(--s-2) * 2);left:var(--s-2);bottom:var(--s-2)}}.admin-header{justify-content:space-between;align-items:flex-start;gap:var(--s-3);flex-wrap:wrap;display:flex}.admin-header__copy{flex:260px;min-width:0}.admin-header__action{flex:none;align-self:flex-start}.admin-help{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface)}.admin-help__summary{cursor:pointer;padding:var(--s-2) var(--s-3);font-size:var(--t-meta);color:var(--ink-2);align-items:center;gap:var(--s-2);font-weight:600;list-style:none;display:flex}.admin-help__summary::-webkit-details-marker{display:none}.admin-help__summary:before{content:"ⓘ";color:var(--ink-3);font-size:14px}.admin-help[open] .admin-help__summary{border-bottom:1px solid var(--line)}.admin-help__grid{gap:var(--s-3);padding:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-help__grid>div{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-help__grid strong{font-size:var(--t-meta)}.admin-help__grid span{font-size:var(--t-meta);color:var(--ink-2);overflow-wrap:break-word;line-height:1.3}.admin-help__hint{font-size:var(--t-meta);padding:0 var(--s-3) var(--s-3)}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex:none}@media (width<=700px){.admin-help__grid{grid-template-columns:1fr}}.stack{flex-direction:column;display:flex}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}.row{align-items:center;display:flex}.between{justify-content:space-between}.spacer{flex:1}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}
