:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--color-background: #f7f4ee;--color-surface: #ffffff;--color-text: #211f1b;--color-text-muted: #6f6a61;--color-border: #ded8ce;--color-primary: #176b57;--color-primary-contrast: #ffffff;--radius-sm: .5rem;--radius-md: .875rem;--shadow-sm: 0 .125rem .5rem rgb(33 31 27 / 8%);--page-gutter: 1rem;--content-width: 72rem}*,*:before,*:after{box-sizing:border-box}html{min-width:20rem;background:var(--color-background)}body{min-height:100vh;margin:0;color:var(--color-text);background:var(--color-background);line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{min-height:2.75rem;font:inherit}button,[role=button]{cursor:pointer}img,picture,svg,canvas{display:block;max-width:100%}h1,h2,h3,p{margin-block-start:0}a{color:inherit}.page-shell{width:min(100%,var(--content-width));margin-inline:auto;padding:1.5rem var(--page-gutter)}@media(min-width:48rem){:root{--page-gutter: 2rem}.page-shell{padding-block:2rem}}.pos-app{width:min(100%,64rem);min-height:100vh;margin-inline:auto;padding:1.25rem var(--page-gutter) 7.5rem}.pos-header{display:grid;margin-bottom:1.25rem;gap:.75rem}.pos-header__main{min-width:0}.pos-header h1{margin:0;font-size:clamp(2rem,9vw,3.25rem);line-height:1;letter-spacing:-.04em}.pos-header__main>p:last-child{margin:.65rem 0 0;color:var(--color-text-muted)}.pos-header__actions{display:flex;min-width:0;gap:.4rem;overflow-x:auto;scrollbar-width:none}.pos-header__actions::-webkit-scrollbar{display:none}.history-open-button,.daily-report-open-button,.event-open-button,.settings-open-button,.calculator-open-button{min-height:2.75rem;padding:.45rem .65rem;flex:0 0 auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:var(--color-surface);font-size:.78rem;font-weight:750}.daily-report-open-button{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.event-open-button{display:grid;max-width:10rem;justify-items:end;text-align:right}.event-open-button span{color:var(--color-text-muted);font-size:.65rem}.event-open-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{margin:0 0 .35rem;color:var(--color-primary);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.category-tabs{display:flex;margin:0 0 .75rem;padding:.125rem .125rem .3rem;gap:.5rem;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.category-tabs::-webkit-scrollbar{display:none}.category-tab{min-height:2.75rem;padding:.55rem 1rem;flex:0 0 auto;scroll-snap-align:start;border:1px solid var(--color-border);border-radius:99rem;color:var(--color-text);background:var(--color-surface);font:inherit;font-size:.88rem;font-weight:750;line-height:1;white-space:nowrap}.category-tab--active{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.category-tab:active{transform:scale(.97)}.product-grid-empty{min-height:5.5rem;margin-bottom:.75rem;padding:1rem}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.product-card{display:flex;min-height:10rem;padding:1rem;flex-direction:column;align-items:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:left;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.product-card:active{transform:scale(.98)}.product-card:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgb(23 107 87 / 30%);outline-offset:2px}.product-card__kind{padding:.2rem .5rem;border-radius:99rem;color:var(--color-primary);background:#176b571a;font-size:.7rem;font-weight:800}.product-card__name{margin-top:.7rem;font-size:1.05rem;font-weight:800;line-height:1.25}.product-card__price{margin-top:auto;font-size:1.1rem;font-weight:850}.product-card__unit{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.product-card__action{margin-top:.2rem;color:var(--color-text-muted);font-size:.72rem}.custom-item-card{align-items:center;justify-content:center;border-style:dashed;color:var(--color-primary);background:#176b570d;text-align:center}.custom-item-card__plus{display:grid;width:2.75rem;height:2.75rem;margin-bottom:.45rem;place-items:center;border-radius:50%;color:#fff;background:var(--color-primary);font-size:1.5rem;font-weight:850}.custom-item-card strong{font-size:.95rem}.custom-item-card>span:last-child{margin-top:.25rem;color:var(--color-text-muted);font-size:.72rem}.empty-state{display:flex;min-height:12rem;padding:2rem;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);text-align:center}.empty-state strong{color:var(--color-text)}.load-error,.field-error{color:#a52c2c}.load-error{padding:.75rem 1rem;border-radius:var(--radius-sm);background:#fff0f0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cart-bar-wrap{position:fixed;z-index:20;right:0;bottom:0;left:0;padding:.75rem var(--page-gutter) max(.75rem,env(safe-area-inset-bottom));pointer-events:none}.cart-bar{display:grid;width:min(100%,40rem);min-height:4.25rem;margin-inline:auto;padding:.65rem .8rem .65rem 1rem;grid-template-columns:1fr auto 2rem;align-items:center;gap:.65rem;border:0;border-radius:1.25rem;color:var(--color-primary-contrast);background:var(--color-primary);box-shadow:0 .75rem 2.5rem #00000040;pointer-events:auto}.cart-bar__count{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}.cart-bar__count small{opacity:.75}.cart-bar__count strong{display:inline-grid;min-width:1.7rem;min-height:1.7rem;place-items:center;border-radius:50%;color:var(--color-primary);background:#fff}.cart-bar__total{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.cart-bar__total small{opacity:.75}.cart-bar__total strong{font-size:1.15rem}.cart-bar__arrow{font-size:1.25rem}.drawer-layer,.modal-layer{position:fixed;z-index:40;inset:0;display:flex;align-items:flex-end;justify-content:center}.drawer-backdrop{position:absolute;min-height:100%;inset:0;border:0;border-radius:0;background:#1218168c;animation:fade-in .18s ease both}.cart-drawer{position:relative;display:grid;width:min(100%,40rem);max-height:96dvh;grid-template-rows:auto minmax(4rem,1fr) auto;overflow:hidden;border-radius:1.4rem 1.4rem 0 0;background:var(--color-surface);box-shadow:0 -1rem 3rem #0003;animation:drawer-up .22s ease-out both}.drawer-header,.dialog-header{display:flex;padding:1rem;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--color-border)}.drawer-header h2,.dialog-header h2{margin:0;font-size:1.35rem}.drawer-header h2 span{display:inline-grid;min-width:1.75rem;min-height:1.75rem;margin-left:.25rem;place-items:center;border-radius:50%;color:#fff;background:var(--color-primary);font-size:.8rem}.drawer-header__actions{display:flex;align-items:center;gap:.35rem}.drawer-header__actions button,.icon-button{min-width:2.75rem;border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent}.drawer-header__actions button:first-child{padding-inline:.75rem}.drawer-header__actions button:disabled{cursor:default;opacity:.4}.icon-button{font-size:1.4rem;font-weight:700}.cart-lines{min-height:0;padding:.2rem .5rem .65rem;overflow-y:auto;overscroll-behavior:contain}.cart-lines .cart-line{display:grid;padding:.55rem .5rem;grid-template-columns:minmax(8.5rem,1fr) minmax(7.5rem,1fr);grid-template-areas:"item-header item-header" "item-quantity item-discount";gap:.35rem .5rem;border-radius:var(--radius-sm)}.cart-lines>.cart-line:nth-child(odd){background:#fff}.cart-lines>.cart-line:nth-child(2n){background:#f8f7f4}.cart-lines .cart-line__header{grid-area:item-header}.cart-lines .quantity-row{grid-area:item-quantity;margin:0}.cart-line{padding:1rem 0;border-bottom:1px solid var(--color-border)}.cart-line__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cart-line h3{margin:0;font-size:1rem}.cart-line p{margin:.15rem 0 0;color:var(--color-text-muted);font-size:.78rem}.cart-line__amount{display:flex;flex-direction:column;align-items:flex-end}.cart-line__amount button{min-height:2.75rem;padding:0 .25rem;border:0;color:#a52c2c;background:transparent;font-size:.78rem}.quantity-row{display:grid;margin:.55rem 0 .7rem;grid-template-columns:2.75rem minmax(4rem,1fr) 2.75rem;align-items:center;gap:.35rem}.step-button{min-width:2.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:#fff;font-size:1.25rem;font-weight:800}.quantity-input{width:100%;min-width:0;min-height:2.75rem;padding:.35rem .25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff;text-align:center;font-variant-numeric:tabular-nums;font-weight:750}.quantity-input:focus{border-color:var(--color-primary)}.item-discount-button{grid-area:item-discount;min-width:0;min-height:2.75rem;padding:.35rem .5rem;align-self:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:#fff;font-size:.78rem;font-weight:800}.item-discount-button[aria-expanded=true]{border-color:var(--color-primary);background:#176b5717}.item-discount-button.has-value{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.item-discount-panel{grid-column:1 / -1;padding:.55rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;animation:panel-open .14s ease-out both}.discount-control{display:grid;min-width:0;gap:.5rem}.discount-select{display:grid;min-width:0;grid-template-columns:minmax(4rem,auto) minmax(0,1fr);align-items:center;gap:.75rem;color:var(--color-text-muted);font-size:.8rem}.discount-select select{width:100%;padding:0 .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff}.custom-discount-input{display:grid;min-width:0;min-height:2.75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.custom-discount-input:focus-within{outline:3px solid rgb(23 107 87 / 30%);outline-offset:2px}.custom-discount-input span{padding-left:.75rem;color:var(--color-text-muted);font-weight:750}.custom-discount-input input{width:100%;min-width:0;min-height:2.75rem;padding:.5rem .75rem .5rem .5rem;border:0;color:var(--color-text);background:transparent;font-variant-numeric:tabular-nums}.custom-discount-input input:focus{outline:0}.cart-empty{display:flex;padding:2.5rem 1rem;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--color-text-muted);text-align:center}.cart-empty strong{color:var(--color-text)}.drawer-footer{padding:.55rem .75rem max(.75rem,env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fbfaf7}.drawer-action-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.drawer-action-bar button{min-width:0;min-height:2.75rem;padding:.35rem .25rem;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:#fff;font-size:.7rem;font-weight:800;line-height:1.2;text-overflow:ellipsis}.drawer-action-bar button:active,.drawer-action-bar button[aria-expanded=true]{border-color:var(--color-primary);background:#176b5717}.drawer-action-bar button.has-value{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.drawer-collapsible-panel{margin-top:.5rem;padding:.65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;animation:panel-open .14s ease-out both}.note-field{display:grid;gap:.3rem;color:var(--color-text-muted);font-size:.8rem}.note-field textarea{width:100%;min-height:4.25rem;padding:.65rem .75rem;resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff}.order-summary{display:grid;margin:.55rem 0;gap:.2rem}.order-summary div{display:flex;justify-content:space-between}.order-summary dt,.order-summary dd{margin:0}.order-summary__total{padding-top:.45rem;border-top:1px solid var(--color-border);font-size:1.15rem;font-weight:850}.primary-button{width:100%;min-height:3rem;padding:.65rem 1rem;border:0;border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);font-weight:800}.primary-button:disabled{cursor:default;opacity:.45}.modal-layer{z-index:60;padding:1rem;align-items:center;background:#12181694;animation:fade-in .16s ease both}.weight-modal{width:min(100%,28rem);overflow:hidden;border-radius:1.25rem;background:var(--color-surface);box-shadow:0 1.5rem 4rem #0000004d;animation:modal-in .18s ease-out both}.dialog-header{padding-bottom:.75rem;border-bottom:0}.dialog-supporting{margin:0;padding:0 1rem 1rem;color:var(--color-text-muted);font-size:.85rem}.quick-weight-grid{display:grid;padding:0 1rem 1rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.quick-weight{min-width:0;padding-inline:.25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:#fff;font-size:.86rem;font-weight:750}.quick-weight.is-selected{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.weight-form-fields{padding:1rem;border-top:1px solid var(--color-border);background:#fbfaf7}.field-label{display:block;margin-bottom:.3rem;color:var(--color-text-muted);font-size:.8rem}.weight-input-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.weight-input{width:100%;padding:.5rem .75rem;border:0;border-radius:inherit;color:var(--color-text);background:transparent;font-size:1.25rem;font-weight:750}.weight-input:focus{outline:0}.weight-input-wrap span{padding-right:.75rem;color:var(--color-text-muted)}.weight-form-fields .primary-button{margin-top:.8rem}.field-error{margin:.35rem 0 0;font-size:.8rem}.custom-item-layer{padding:.75rem}.custom-item-modal{position:relative;width:min(100%,30rem);max-height:calc(100dvh - 1.5rem);overflow-y:auto;border-radius:1.25rem;background:var(--color-surface);box-shadow:0 1.5rem 4rem #0000004d;animation:modal-in .18s ease-out both}.custom-item-form{display:grid;padding:0 1rem max(1rem,env(safe-area-inset-bottom));gap:.8rem}.custom-item-quick-tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.custom-item-quick-tags button{min-width:0;padding-inline:.3rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:#fff;font-size:.78rem;font-weight:800}.custom-item-field{display:grid;min-width:0;gap:.3rem;color:var(--color-text-muted);font-size:.8rem}.custom-item-field>input,.custom-item-price{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff}.custom-item-field>input{padding:.55rem .75rem}.custom-item-price{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden}.custom-item-price>span{padding-left:.75rem;color:var(--color-text-muted);font-weight:750}.custom-item-price input{width:100%;min-width:0;padding:.55rem .75rem .55rem .5rem;border:0;color:var(--color-text);background:transparent}.custom-item-price input:focus{outline:0}.custom-item-price:focus-within{outline:3px solid rgb(23 107 87 / 30%);outline-offset:2px}.custom-item-pricing{min-width:0;margin:0;padding:0;border:0}.custom-item-pricing legend{margin-bottom:.3rem;color:var(--color-text-muted);font-size:.8rem}.custom-item-pricing>div{display:grid;padding:.25rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;border-radius:.75rem;background:#eeeae2}.custom-item-pricing button{border:0;border-radius:.55rem;color:var(--color-text-muted);background:transparent;font-weight:800}.custom-item-pricing button.is-active{color:var(--color-primary);background:#fff;box-shadow:var(--shadow-sm)}.custom-item-error{margin:0;padding:.6rem .7rem;border-radius:var(--radius-sm);background:#fff0f0}.daily-closing-layer{padding:.5rem}.daily-closing-modal{position:relative;display:grid;width:min(100%,52rem);max-height:calc(100dvh - 1rem);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:1.25rem;background:var(--color-surface);box-shadow:0 1.5rem 4rem #0000004d;animation:modal-in .18s ease-out both}.daily-closing-header{border-bottom:1px solid var(--color-border)}.daily-closing-header__actions{display:flex;align-items:center;gap:.25rem}.daily-closing-header__actions button{display:inline-flex;min-width:2.75rem;padding-inline:.55rem;align-items:center;justify-content:center;gap:.35rem;border:0;border-radius:var(--radius-sm);color:var(--color-primary);background:transparent;font-size:.8rem;font-weight:750}.daily-closing-header__actions button:disabled{opacity:.55}.daily-closing-header__actions .loading-spinner{width:.85rem;height:.85rem;border-color:#176b5740;border-top-color:var(--color-primary)}.daily-closing-body{padding:.75rem;overflow-y:auto}.daily-closing-body>.checkout-alert{margin-bottom:.65rem}.daily-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.daily-metrics>div{display:grid;min-width:0;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfaf7}.daily-metrics>div.is-voided{background:#f4f2ee}.daily-metrics>div.is-balance{grid-column:1 / -1;border-color:#176b5773;background:#176b571a}.daily-metrics>div.is-balance strong{font-size:1.35rem}.daily-metrics span,.daily-payments span,.daily-payments small{color:var(--color-text-muted);font-size:.72rem}.daily-metrics strong{overflow-wrap:anywhere;color:var(--color-primary);font-size:1.1rem;font-variant-numeric:tabular-nums}.daily-metrics .is-voided strong{color:#6c6560;font-size:.9rem}.daily-section{margin-top:.8rem;padding:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.daily-section h3{margin:0 0 .65rem;font-size:.92rem}.daily-payments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.daily-payments>div{display:grid;min-width:0;padding:.7rem;border-radius:var(--radius-sm);background:#176b5712}.daily-payments strong{overflow-wrap:anywhere;font-size:1.05rem;font-variant-numeric:tabular-nums}.daily-expense-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.daily-expense-totals>div{display:grid;min-width:0;padding:.6rem;border-radius:var(--radius-sm);background:#f5f2ec}.daily-expense-totals span{color:var(--color-text-muted);font-size:.68rem}.daily-expense-totals strong{overflow-wrap:anywhere;font-size:.9rem;font-variant-numeric:tabular-nums}.expense-category-grid{display:grid;margin-top:.7rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.expense-category-grid button,.expense-source-toggle button{min-width:0;min-height:2.75rem;padding:.5rem .35rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);background:#fff;font-weight:750}.expense-category-grid button.is-active,.expense-source-toggle button.is-active{border-color:var(--color-primary);color:var(--color-primary);background:#176b5717}.expense-form{display:grid;margin-top:.7rem;gap:.6rem}.expense-source-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.expense-note{display:grid;gap:.3rem;color:var(--color-text-muted);font-size:.8rem}.expense-note input{width:100%;min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff}.expense-submit{width:100%}.expense-empty{margin:.8rem 0 0;padding:.8rem;color:var(--color-text-muted);background:#fbfaf7;text-align:center;font-size:.82rem}.expense-list{display:grid;margin:.8rem 0 0;padding:0;gap:.5rem;list-style:none}.expense-list li{display:grid;padding:.65rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.expense-list__main{display:grid;min-width:0}.expense-list__main span,.expense-list__main small{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:.7rem}.expense-list>li>strong{color:var(--color-primary);font-variant-numeric:tabular-nums}.expense-delete-confirm{grid-column:1 / -1;border:1px solid #e6b9b9;border-radius:var(--radius-sm);background:#fff7f7}.expense-delete-confirm summary,.expense-delete{display:grid;width:100%;min-height:2.75rem;padding:.5rem;place-items:center;color:#8c2020;font-weight:800;cursor:pointer;list-style:none}.expense-delete-confirm summary::-webkit-details-marker{display:none}.expense-delete{border:0;border-top:1px solid #e6b9b9;background:#fff0f0}.expense-delete:disabled{opacity:.5}.daily-cash-inputs{display:grid;gap:.65rem}.daily-cash-inputs label{display:grid;gap:.3rem;color:var(--color-text-muted);font-size:.8rem}.daily-cash-inputs label>div{display:grid;min-height:2.75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.daily-cash-inputs label>div:focus-within{outline:3px solid rgb(23 107 87 / 30%);outline-offset:2px}.daily-cash-inputs label>div>span{padding-left:.75rem;color:var(--color-text-muted);font-weight:750}.daily-cash-inputs input{width:100%;min-width:0;min-height:2.75rem;padding:.55rem .75rem .55rem .5rem;border:0;color:var(--color-text);background:transparent;font-variant-numeric:tabular-nums}.daily-cash-inputs input:focus{outline:0}.daily-cash-summary{display:grid;margin:.75rem 0 0;padding-top:.65rem;gap:.55rem;border-top:1px dashed var(--color-border)}.daily-cash-summary>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.daily-cash-summary dt,.daily-cash-summary dd{margin:0}.daily-cash-summary dt{color:var(--color-text-muted);font-size:.8rem}.daily-cash-theoretical{font-weight:850;font-variant-numeric:tabular-nums}.daily-discrepancy-badge{display:inline-flex;min-height:2rem;padding:.25rem .55rem;align-items:center;border-radius:99rem;font-size:.78rem;font-weight:850}.daily-discrepancy-badge.is-balanced{color:#126047;background:#dcf5e9}.daily-discrepancy-badge.is-over{color:#31538d;background:#e8f0ff}.daily-discrepancy-badge.is-short{color:#8c2020;background:#fff0f0}.daily-closing-footer{position:relative;padding:.8rem 1rem max(1rem,env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fbfaf7}.daily-closing-footer__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.daily-closing-footer__actions button{display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:.4rem}.daily-copy-feedback{position:absolute;right:1rem;bottom:calc(100% + .5rem);margin:0;padding:.5rem .7rem;border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);box-shadow:var(--shadow-sm);font-size:.8rem;font-weight:800}.daily-export-feedback{margin:.55rem 0 0;color:var(--color-primary);text-align:center;font-size:.8rem;font-weight:750}.checkout-layer{padding:.75rem}.modal-backdrop{position:absolute;min-height:100%;inset:0;border:0;border-radius:0;background:transparent}.checkout-modal{position:relative;display:grid;width:min(100%,30rem);max-height:calc(100dvh - 1.5rem);overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto;border-radius:1.25rem;background:var(--color-surface);box-shadow:0 1.5rem 4rem #0000004d;animation:modal-in .18s ease-out both}.checkout-body{padding:1rem;overflow-y:auto}.checkout-payable{display:flex;padding:1rem;flex-direction:column;align-items:center;border-radius:var(--radius-md);background:#176b5714}.checkout-payable span{color:var(--color-text-muted);font-size:.82rem}.checkout-payable strong{color:var(--color-primary);font-size:clamp(2rem,10vw,3rem);line-height:1.1;font-variant-numeric:tabular-nums}.payment-tabs{display:grid;margin:1rem 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.25rem;border-radius:.75rem;background:#eeeae2}.payment-tabs button{border:0;border-radius:.55rem;color:var(--color-text-muted);background:transparent;font-weight:750}.payment-tabs button.is-active{color:var(--color-primary);background:#fff;box-shadow:var(--shadow-sm)}.cash-panel{display:grid;gap:.8rem}.cash-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.cash-quick-grid button{min-width:0;padding:.55rem .35rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:#fff;font-weight:750}.cash-quick-grid button:active{border-color:var(--color-primary);background:#176b5714}.cash-input-field{display:grid;gap:.3rem;color:var(--color-text-muted);font-size:.8rem}.cash-input-field>div{display:grid;min-width:0;min-height:2.75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.cash-input-field>div:focus-within{outline:3px solid rgb(23 107 87 / 30%);outline-offset:2px}.cash-input-field>div>span{padding-left:.75rem;font-size:1rem;font-weight:750}.cash-input-field input{width:100%;min-width:0;min-height:2.75rem;padding:.55rem .75rem .55rem .5rem;border:0;color:var(--color-text);background:transparent;font-size:1.1rem;font-variant-numeric:tabular-nums}.cash-input-field input:focus{outline:0}.checkout-change{display:flex;padding:.8rem 1rem;align-items:center;justify-content:space-between;border-radius:var(--radius-sm);color:var(--color-primary);background:#176b5717}.checkout-change strong{font-size:1.65rem;font-variant-numeric:tabular-nums}.checkout-alert{margin:0;padding:.7rem .8rem;border:1px solid #e6b9b9;border-radius:var(--radius-sm);color:#8c2020;background:#fff0f0;font-size:.86rem}.digital-hint{margin:0;padding:1.2rem;border-radius:var(--radius-md);color:var(--color-primary);background:#176b5717;text-align:center;font-weight:700}.checkout-footer{padding:.8rem 1rem max(1rem,env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fbfaf7}.checkout-footer .primary-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.loading-spinner{width:1rem;height:1rem;border:2px solid rgb(255 255 255 / 45%);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.checkout-success{display:flex;padding:1.4rem;flex-direction:column;align-items:center;gap:.6rem;text-align:center}.checkout-success h2{margin:0;font-size:1.65rem}.success-mark{display:grid;width:4rem;height:4rem;place-items:center;border-radius:50%;color:#fff;background:var(--color-primary);font-weight:900}.success-receipt{width:100%;margin:.6rem 0 1rem;padding:.8rem 1rem;border-radius:var(--radius-md);background:#f5f2ec;text-align:left}.success-receipt div{display:grid;padding:.35rem 0;grid-template-columns:auto minmax(0,1fr);gap:1rem}.success-receipt dt{color:var(--color-text-muted)}.success-receipt dd{margin:0;overflow-wrap:anywhere;text-align:right;font-weight:750}.history-layer{padding:.5rem}.history-modal{position:relative;display:grid;width:min(100%,48rem);max-height:calc(100dvh - 1rem);grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border-radius:1.25rem;background:var(--color-surface);box-shadow:0 1.5rem 4rem #0000004d;animation:modal-in .18s ease-out both}.history-header{border-bottom:1px solid var(--color-border)}.history-header__actions{display:flex;align-items:center;gap:.25rem}.history-header__actions button{display:inline-flex;min-width:2.75rem;padding-inline:.6rem;align-items:center;justify-content:center;gap:.35rem;border:0;border-radius:var(--radius-sm);color:var(--color-primary);background:transparent;font-size:.82rem;font-weight:750}.history-header__actions button:disabled{opacity:.55}.history-header__actions .loading-spinner{width:.85rem;height:.85rem;border-color:#176b5740;border-top-color:var(--color-primary)}.history-stats{display:grid;padding:.75rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;border-bottom:1px solid var(--color-border);background:#fbfaf7}.history-stats>div{display:grid;min-width:0;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.history-stats span,.history-stats small{color:var(--color-text-muted);font-size:.72rem}.history-stats strong{overflow-wrap:anywhere;font-size:1rem;font-variant-numeric:tabular-nums}.history-body{padding:.75rem 1rem max(1rem,env(safe-area-inset-bottom));overflow-y:auto}.history-state{display:grid;min-height:12rem;margin:0;place-items:center;color:var(--color-text-muted);text-align:center}.history-list{display:grid;gap:.65rem}.history-order{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.history-order.is-expanded{border-color:#176b5773}.history-order.is-voided{border-color:#d5d0c7;background:#f4f2ee;box-shadow:none}.history-order.is-voided .history-order__toggle{color:var(--color-text-muted)}.history-order.is-voided .history-order__total{color:var(--color-text-muted);text-decoration:line-through}.history-order__toggle{display:grid;width:100%;min-height:4.75rem;padding:.75rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .6rem;border:0;color:var(--color-text);background:transparent;text-align:left}.history-order__identity{display:flex;min-width:0;flex-direction:column}.history-order__identity strong{font-size:.85rem}.history-order__identity time{color:var(--color-text-muted);font-size:.72rem}.payment-badge{justify-self:end;padding:.2rem .5rem;border-radius:99rem;font-size:.7rem;font-weight:800}.history-order__badges{display:flex;justify-self:end;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}.payment-badge.is-cash{color:#72520d;background:#fff2c7}.payment-badge.is-digital{color:#31538d;background:#e8f0ff}.status-badge{padding:.2rem .5rem;border-radius:99rem;font-size:.7rem;font-weight:850}.status-badge.is-voided{color:#6c6560;background:#e4e0da}.history-order__total{color:var(--color-primary);font-size:1.2rem;font-variant-numeric:tabular-nums}.history-order__arrow{justify-self:end;color:var(--color-text-muted);font-size:1.15rem;font-weight:850}.history-details{padding:0 .75rem .85rem;border-top:1px solid var(--color-border);background:#fbfaf7}.history-details h3{margin:.8rem 0 .55rem;font-size:.85rem}.history-items{display:grid;gap:.5rem}.history-item{padding:.65rem .7rem;border-radius:var(--radius-sm);background:#fff}.history-item__main{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.history-item__main span{color:var(--color-text-muted);font-size:.8rem}.history-item dl,.history-order-summary{display:grid;margin:.4rem 0 0;gap:.15rem}.history-item dl div,.history-order-summary div{display:flex;justify-content:space-between;gap:1rem}.history-item dt,.history-item dd,.history-order-summary dt,.history-order-summary dd{margin:0;font-size:.78rem}.history-item dt,.history-order-summary dt{color:var(--color-text-muted)}.history-order-summary{margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--color-border)}.history-order-summary__total{padding-block:.3rem;color:var(--color-primary);font-weight:850}.history-note{margin-top:.65rem;padding:.65rem .7rem;border-radius:var(--radius-sm);background:#f1ede5}.history-note strong{font-size:.75rem}.history-note p{margin:.2rem 0 0;white-space:pre-wrap;font-size:.82rem}.history-actions{display:grid;margin-top:.8rem;gap:.55rem}.history-recart-button,.history-void-confirm summary,.history-void-confirm button{display:inline-flex;min-height:2.75rem;padding:.6rem .8rem;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-weight:800}.history-recart-button{border:1px solid var(--color-primary);color:var(--color-primary);background:#fff}.history-void-confirm{border:1px solid #e6b9b9;border-radius:var(--radius-sm);background:#fff7f7}.history-void-confirm summary{color:#8c2020;cursor:pointer;list-style:none}.history-void-confirm summary::-webkit-details-marker{display:none}.history-void-confirm>div{padding:0 .7rem .7rem}.history-void-confirm p{margin:0 0 .55rem;color:#6f3030;font-size:.8rem}.history-void-confirm button{width:100%;border:0;color:#fff;background:#9b3030}.history-order__identity small,.history-staff{color:var(--color-text-muted);font-size:.72rem}.history-staff{margin:0 0 .6rem}.history-staff strong{color:var(--color-text)}.event-layer{padding:.5rem}.event-modal{position:relative;display:grid;width:min(100%,42rem);max-height:calc(100dvh - 1rem);grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:1.25rem;background:var(--color-surface);box-shadow:0 1.5rem 4rem #0000004d;animation:modal-in .18s ease-out both}.event-header{border-bottom:1px solid var(--color-border)}.event-modal__body{display:grid;padding:.8rem;gap:.8rem;overflow-y:auto}.event-modal__body h3{margin:0;font-size:.95rem}.event-modal__body .field-label{display:grid;margin:0;gap:.3rem}.event-modal__body input,.event-modal__body select{width:100%;min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff}.form-alert{margin:0;padding:.7rem .8rem;border-radius:var(--radius-sm)}.form-alert--error{color:#8c2020;border:1px solid #e6b9b9;background:#fff0f0}.event-current,.event-form{display:grid;padding:.8rem;gap:.65rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.event-current{background:#176b570f}.event-section-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.status-badge--success{color:#126047;background:#dcf5e9}.event-facts{display:grid;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.event-facts div{padding:.55rem;border-radius:var(--radius-sm);background:#fff}.event-facts dt,.event-facts dd{margin:0}.event-facts dt{color:var(--color-text-muted);font-size:.7rem}.event-facts dd{overflow-wrap:anywhere;font-size:.82rem;font-weight:800}.event-lock-hint{margin:0;color:var(--color-text-muted);font-size:.75rem}.button{min-height:2.75rem;padding:.55rem .8rem;border-radius:var(--radius-sm);font-weight:800}.button--primary{color:#fff;border:1px solid var(--color-primary);background:var(--color-primary)}.button--secondary{color:var(--color-primary);border:1px solid var(--color-primary);background:#fff}.button:disabled{cursor:default;opacity:.5}.event-pin-search{display:grid;gap:.55rem}.event-search-results{display:grid;margin:0;padding:0;gap:.45rem;list-style:none}.event-search-results li{display:grid;padding:.55rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.event-search-results li div{display:grid;min-width:0}.event-search-results li span{color:var(--color-text-muted);font-size:.72rem}.event-form .empty-state{min-height:4rem;padding:.75rem}.settings-layer{padding:.5rem}.settings-modal{position:relative;display:grid;width:min(100%,44rem);max-height:calc(100dvh - 1rem);grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:1.25rem;background:var(--color-surface);box-shadow:0 1.5rem 4rem #0000004d;animation:modal-in .18s ease-out both}.settings-header{border-bottom:1px solid var(--color-border)}.settings-body{display:grid;padding:.8rem;gap:.8rem;overflow-y:auto}.settings-section{display:grid;padding:.85rem;gap:.65rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.settings-section h3,.settings-section p{margin:0}.settings-section>p{color:var(--color-text-muted);font-size:.82rem}.settings-field{display:grid;gap:.3rem;color:var(--color-text-muted);font-size:.8rem}.settings-field input{width:100%;min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff}.settings-facts{display:grid;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.settings-facts div{min-width:0;padding:.55rem;border-radius:var(--radius-sm);background:#f7f4ee}.settings-facts dt,.settings-facts dd{margin:0}.settings-facts dt{color:var(--color-text-muted);font-size:.7rem}.settings-facts dd{overflow-wrap:anywhere;font-size:.82rem;font-weight:800}.settings-integration{gap:.8rem}.settings-action{display:grid;padding-top:.7rem;gap:.55rem;border-top:1px solid var(--color-border)}.settings-action>div:first-child{display:grid}.settings-action small{color:var(--color-text-muted);font-size:.75rem}.settings-action .button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.settings-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.settings-guard{display:grid;padding:.75rem;gap:.55rem;border:1px solid #d89f4d;border-radius:var(--radius-sm);color:#65420d;background:#fff8e8}.settings-guard p{margin:0;font-size:.82rem}.settings-guard>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.settings-danger-button{color:#fff;border:1px solid #9b3030;background:#9b3030}.settings-feedback{padding:.65rem .7rem;border-radius:var(--radius-sm);color:var(--color-primary)!important;background:#176b5717;font-weight:750}.keypad-layer{z-index:90;padding:0;align-items:flex-end}.keypad-modal{position:relative;display:grid;width:min(100%,28rem);max-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:1.25rem 1.25rem 0 0;background:#f7f4ee;box-shadow:0 -1rem 3rem #00000047;animation:drawer-up .18s ease-out both}.keypad-header{border-bottom:1px solid var(--color-border);background:#fff}.keypad-body{padding:.75rem;overflow-y:auto}.keypad-display{display:grid;min-height:6.5rem;margin-bottom:.65rem;padding:.75rem 1rem;align-content:center;justify-items:end;border-radius:var(--radius-md);color:#fff;background:#17231f}.keypad-expression{min-height:1.4rem;color:#b9cbc5;font-size:.85rem}.keypad-display output{max-width:100%;overflow-wrap:anywhere;font-size:clamp(2rem,12vw,3.4rem);font-weight:850;line-height:1.15;font-variant-numeric:tabular-nums}.keypad-error{color:#ffd2cc;font-size:.78rem;font-weight:750}.keypad-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.keypad-key{min-width:0;min-height:3rem;padding:.5rem;border:1px solid #d6d0c5;border-radius:.75rem;color:var(--color-text);background:#fff;box-shadow:0 .12rem .2rem #211f1b14;font-size:1.15rem;font-weight:850}.keypad-key:active{transform:translateY(1px);background:#ede9e1}.keypad-key.is-operator{color:#fff;border-color:#174c40;background:#174c40}.keypad-key.is-control{color:#653b0b;border-color:#ead5ae;background:#fff4dd}.keypad-key.is-zero{grid-column:span 2}.keypad-key:disabled{opacity:.35;cursor:default}.keypad-footer{padding:.7rem .75rem max(.8rem,env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fff}.keypad-standalone-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.keypad-footer button{min-height:3rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes panel-open{0%{opacity:0;transform:translateY(-.25rem)}}@keyframes drawer-up{0%{transform:translateY(100%)}}@keyframes modal-in{0%{opacity:0;transform:translateY(.75rem) scale(.98)}}@media(min-width:38rem){.pos-header{display:flex;align-items:flex-start;justify-content:space-between}.pos-header__actions{max-width:28rem;flex-wrap:wrap;justify-content:flex-end;overflow:visible}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cart-drawer{margin-bottom:1rem;border-radius:1.4rem}.daily-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-metrics>div.is-balance{grid-column:span 2}.daily-cash-inputs,.expense-form{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-form .cash-input-field,.expense-form .expense-note{grid-column:1 / -1}.expense-submit{align-self:end}.expense-list li{grid-template-columns:minmax(0,1fr) auto auto}.expense-delete-confirm{grid-column:auto;min-width:6rem}.history-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.history-order__toggle{grid-template-columns:minmax(0,1fr) auto auto 1.25rem}.event-modal__body{grid-template-columns:repeat(2,minmax(0,1fr))}.event-modal__body>.field-label,.event-modal__body>.form-alert,.event-current{grid-column:1 / -1}.event-pin-search{grid-template-columns:minmax(0,1fr) auto;align-items:end}.settings-body{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-integration{grid-column:1 / -1}.keypad-layer{padding:1rem;align-items:center}.keypad-modal{max-height:calc(100dvh - 2rem);border-radius:1.25rem;animation-name:modal-in}}@media(min-width:56rem){.pos-app{padding-top:2rem}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
