*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--yc-canvas);color:var(--yc-ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-user-select:none;user-select:none;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;font-size:15px}input,textarea{-webkit-user-select:text;user-select:text}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid var(--yc-accent-light);outline-offset:2px}#pos{height:100%}.pos-app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100dvh;display:grid}.serif{font-family:var(--yc-serif)}.btn{border-radius:14px;justify-content:center;align-items:center;gap:.5rem;min-height:3rem;padding:0 1.25rem;font-weight:700;transition:transform 80ms,filter .15s,background-color .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--yc-accent-gradient);color:var(--yc-on-accent);box-shadow:var(--yc-shadow-accent)}.btn-dark{background:var(--yc-brand-bg);color:#fff}.btn-soft{background:var(--yc-fill);color:var(--yc-ink)}.btn-outline{border:1.5px solid var(--yc-line-strong);background:var(--yc-surface);color:var(--yc-ink)}.btn-danger{background:var(--yc-stock-out);color:#fff}.btn-block{width:100%}.btn-lg{border-radius:16px;min-height:3.75rem;font-size:1.1rem}.field{gap:.4rem;display:grid}.field>span{color:var(--yc-ink-soft);font-size:.8rem;font-weight:700}.input{border:1.5px solid var(--yc-line-strong);background:var(--yc-surface);border-radius:12px;outline:none;width:100%;min-height:3rem;padding:0 1rem}.input:focus{border-color:var(--yc-accent-light);box-shadow:0 0 0 4px var(--yc-accent-tint)}textarea.input{resize:vertical;min-height:5rem;padding:.75rem 1rem}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.chip-in{background:var(--yc-stock-in-soft);color:var(--yc-stock-in)}.chip-low{background:var(--yc-stock-low-soft);color:color-mix(in srgb, var(--yc-stock-low) 70%, #000)}.chip-out{background:var(--yc-stock-out-soft);color:var(--yc-stock-out)}.chip-muted{background:var(--yc-fill);color:var(--yc-muted)}.dot{background:currentColor;border-radius:999px;width:.55rem;height:.55rem}.segmented{background:var(--yc-fill);scrollbar-width:none;border-radius:14px;gap:.25rem;padding:.3rem;display:flex;overflow-x:auto}.segmented button{min-height:2.6rem;color:var(--yc-ink-soft);white-space:nowrap;border-radius:10px;flex:1 0 auto;padding:0 .9rem;font-size:.85rem;font-weight:600}.segmented button.is-active{background:var(--yc-surface);color:var(--yc-ink);box-shadow:var(--yc-shadow-sm), inset 0 -2px 0 var(--yc-accent-light);font-weight:800}.topbar{min-height:4.25rem;padding:.5rem 1rem;padding-top:max(.5rem, env(safe-area-inset-top));background:var(--yc-sidebar-bg);color:var(--yc-sidebar-ink);align-items:center;gap:1rem;display:flex}.topbar-brand{align-items:center;gap:.75rem;min-width:0;display:flex}.topbar-brand img{width:auto;height:2.6rem}.topbar-branch{color:var(--yc-sidebar-muted);font-size:.75rem;line-height:1.2;display:grid}.topbar-branch strong{color:var(--yc-sidebar-ink);font-size:.9rem}.topbar-nav{background:#ffffff0f;border-radius:14px;gap:.25rem;margin-inline:auto;padding:.3rem;display:flex}.topbar-nav button{min-height:2.6rem;color:var(--yc-sidebar-muted);border-radius:10px;align-items:center;gap:.45rem;padding:0 1rem;font-weight:700;display:inline-flex}.topbar-nav button.is-active{background:var(--yc-accent-gradient);color:var(--yc-on-accent)}.topbar-nav svg{width:1.15rem;height:1.15rem}.topbar-side{align-items:center;gap:.75rem;display:flex}.sync-chip{white-space:nowrap;background:#ffffff14;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.sync-chip.is-online .dot{color:#4ade80}.sync-chip.is-offline{background:color-mix(in srgb, var(--yc-stock-low) 22%, transparent);color:#fde68a}.sync-chip.is-offline .dot{color:var(--yc-stock-low)}.staff-pill{background:#ffffff14;border-radius:999px;align-items:center;gap:.6rem;padding:.3rem .35rem .3rem .9rem;display:flex}.staff-pill-name{font-size:.85rem;font-weight:700;line-height:1.15;display:grid}.staff-pill-name small{color:var(--yc-sidebar-accent);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.icon-btn{background:var(--yc-accent-gradient);width:2.6rem;height:2.6rem;color:var(--yc-on-accent);border-radius:999px;place-items:center;display:grid}.icon-btn svg{width:1.2rem;height:1.2rem}@media (width<=1100px){.topbar{flex-wrap:wrap}.topbar-nav{order:3;width:100%;overflow-x:auto}.topbar-nav button{flex:1 0 auto;justify-content:center}}@media (width<=640px){.topbar-branch,.staff-pill-name,.sync-label,.topbar-nav span{display:none}}.gate{background:radial-gradient(circle at 1px 1px, #ffffff0f 1px, transparent 0) 0 0 / 22px 22px, var(--yc-sidebar-bg);min-height:100dvh;color:var(--yc-sidebar-ink);place-items:center;padding:1.5rem;display:grid}.gate-card{background:var(--yc-surface);width:min(100%,30rem);color:var(--yc-ink);text-align:center;border-radius:24px;padding:2rem;box-shadow:0 40px 80px -30px #00000080}.gate-card.is-wide{width:min(100%,56rem)}.gate-logo{height:6rem;margin:0 auto 1rem}.gate-title{font-family:var(--yc-serif);margin:0 0 .35rem;font-size:1.7rem}.gate-text{color:var(--yc-muted);margin:0 0 1.5rem}.code-boxes{grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:1.25rem;display:grid}.code-boxes span{aspect-ratio:1;border:2px solid var(--yc-line-strong);font-family:var(--yc-serif);border-radius:14px;place-items:center;font-size:1.8rem;font-weight:700;display:grid}.code-boxes span.is-filled{border-color:var(--yc-accent-light);background:var(--yc-accent-tint)}.staff-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;margin-top:1rem;display:grid}.staff-card{border:1.5px solid var(--yc-line);background:var(--yc-surface);border-radius:18px;justify-items:center;gap:.5rem;padding:1.1rem .75rem;transition:border-color .15s,transform 80ms;display:grid}.staff-card:active{transform:scale(.98)}.staff-card.is-selected{border-color:var(--yc-accent-light);box-shadow:0 0 0 4px var(--yc-accent-tint)}.staff-card small{color:var(--yc-muted);font-size:.75rem}.avatar{background:var(--yc-brand-bg);width:3.2rem;height:3.2rem;color:var(--yc-sidebar-accent);letter-spacing:.02em;border-radius:999px;place-items:center;font-weight:800;display:grid}.pinpad{gap:1rem;width:min(100%,20rem);margin:0 auto;display:grid}.pin-dots{justify-content:center;gap:.75rem;min-height:1.5rem;display:flex}.pin-dots span{border:2px solid var(--yc-line-strong);border-radius:999px;width:1rem;height:1rem}.pin-dots span.is-filled{border-color:var(--yc-accent);background:var(--yc-accent-gradient)}.pinpad.is-wrong .pin-dots{animation:.35s shake}.pin-keys{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.pin-keys button{background:var(--yc-fill);border-radius:18px;min-height:4rem;font-size:1.5rem;font-weight:700}.pin-keys button:active{background:var(--yc-accent-soft)}.pin-keys button.is-action{color:var(--yc-ink-soft);font-size:1.25rem}.pin-keys button:disabled{opacity:1}.pin-keys button.is-action:disabled{opacity:.35}.pinpad.is-busy .pin-dots span.is-filled{animation:.8s ease-in-out infinite alternate pin-check}.pin-error{min-height:1.2rem;color:var(--yc-stock-out);margin:0;font-size:.85rem;font-weight:700}@keyframes pin-check{to{opacity:.45}}@keyframes shake{25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-4px)}}.sell{grid-template-columns:13.5rem minmax(0,1fr) 24rem;min-height:0;display:grid}.categories{border-right:1px solid var(--yc-line);background:var(--yc-surface);flex-direction:column;gap:.35rem;padding:1rem .75rem;display:flex;overflow-y:auto}.category-btn{min-height:3rem;color:var(--yc-ink-soft);text-align:left;border-radius:12px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.88rem;font-weight:600;line-height:1.2;display:flex}.category-btn .swatch{border-radius:999px;flex-shrink:0;width:.7rem;height:.7rem}.category-btn.is-active{background:var(--yc-accent-tint);color:var(--yc-ink);box-shadow:inset 3px 0 0 var(--yc-accent);font-weight:800}.menu{flex-direction:column;min-width:0;min-height:0;display:flex}.menu-toolbar{gap:.75rem;padding:1rem 1.25rem .75rem;display:flex}.search{flex:1;position:relative}.search svg{width:1.2rem;height:1.2rem;color:var(--yc-muted);position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.search .input{padding-left:2.6rem}.menu-scroll{flex:1;padding:.25rem 1.25rem 1.5rem;overflow-y:auto}.menu-heading{font-family:var(--yc-serif);margin:.75rem 0 .15rem;font-size:1.35rem}.menu-note{color:var(--yc-muted);margin:0 0 .75rem;font-size:.85rem}.menu-section{color:var(--yc-accent);letter-spacing:.12em;text-transform:uppercase;margin:1rem 0 .6rem;font-size:.75rem;font-weight:800}.product-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem;display:grid}.product{border:1px solid var(--yc-line);background:var(--yc-surface);box-shadow:var(--yc-shadow-sm);text-align:left;border-radius:18px;grid-template-rows:auto 1fr;transition:transform 80ms,box-shadow .15s;display:grid;position:relative;overflow:hidden}.product:active{transform:scale(.97)}.product img{aspect-ratio:4/3;object-fit:cover;background:var(--yc-fill);width:100%}.product-body{align-content:space-between;gap:.35rem;padding:.65rem .75rem .75rem;display:grid}.product-name{font-size:.88rem;font-weight:700;line-height:1.25}.product-price{font-family:var(--yc-serif);color:var(--yc-accent);font-size:1.05rem;font-weight:700}.product-badge{background:var(--yc-accent-gradient);min-width:1.8rem;height:1.8rem;color:var(--yc-on-accent);box-shadow:var(--yc-shadow-accent);border-radius:999px;place-items:center;padding:0 .4rem;font-size:.85rem;font-weight:800;display:grid;position:absolute;top:.5rem;right:.5rem}.empty{color:var(--yc-muted);text-align:center;place-items:center;gap:.5rem;padding:3rem 1rem;display:grid}.cart{border-left:1px solid var(--yc-line);background:var(--yc-surface);flex-direction:column;min-height:0;display:flex}.cart-head{border-bottom:1px dashed var(--yc-line);gap:.75rem;padding:1rem;display:grid}.cart-title{justify-content:space-between;align-items:center;display:flex}.cart-title h2{font-family:var(--yc-serif);margin:0;font-size:1.3rem}.cart-lines{flex:1;padding:.5rem 1rem;overflow-y:auto}.cart-line{border-bottom:1px solid var(--yc-line);grid-template-columns:1fr auto;gap:.4rem .75rem;padding:.75rem 0;display:grid}.cart-line-name{font-size:.9rem;font-weight:700}.cart-line-total{font-weight:800}.qty{background:var(--yc-fill);border-radius:12px;align-items:center;gap:.25rem;padding:.2rem;display:inline-flex}.qty button{background:var(--yc-surface);border-radius:10px;place-items:center;width:2.4rem;height:2.4rem;font-size:1.2rem;font-weight:700;display:grid}.qty span{text-align:center;min-width:1.8rem;font-weight:800}.cart-line-meta{color:var(--yc-muted);place-self:center end;font-size:.8rem}.cart-foot{padding:1rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));border-top:1px solid var(--yc-line);background:var(--yc-canvas);gap:.6rem;display:grid}.totals-row{color:var(--yc-ink-soft);justify-content:space-between;font-size:.88rem;display:flex}.totals-row.is-total{color:var(--yc-ink);align-items:baseline;font-size:1rem;font-weight:800}.totals-row.is-total strong{font-family:var(--yc-serif);font-size:1.8rem}.channel-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.channel-grid button{padding:0 .4rem;font-size:.8rem}.cart-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.cart-toggle{display:none}@media (width<=1180px){.sell{grid-template-columns:minmax(0,1fr) 21rem}.categories{display:none}.category-chips{display:flex!important}}.category-chips{scrollbar-width:none;gap:.4rem;padding:0 1.25rem .5rem;display:none;overflow-x:auto}.category-chips button{border:1px solid var(--yc-line);background:var(--yc-surface);border-radius:999px;flex-shrink:0;min-height:2.5rem;padding:0 .9rem;font-size:.82rem;font-weight:600}.category-chips button.is-active{background:var(--yc-brand-bg);color:var(--yc-sidebar-accent);border-color:#0000}@media (width<=780px){.sell{grid-template-columns:minmax(0,1fr)}.cart{z-index:30;border-left:0;border-radius:22px 22px 0 0;max-height:85dvh;transition:transform .25s;position:fixed;inset:auto 0 0;transform:translateY(calc(100% - 4.5rem));box-shadow:0 -20px 50px -20px #00000059}.cart.is-open{transform:none}.cart-toggle{justify-content:space-between;align-items:center;min-height:4.5rem;padding:0 1.25rem;font-weight:800;display:flex}.menu-scroll{padding-bottom:6rem}.toast{bottom:5.5rem}}.overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080e1e8c;place-items:center;padding:1rem;animation:.15s fade;display:grid;position:fixed;inset:0}.dialog{background:var(--yc-surface);border-radius:24px;flex-direction:column;width:min(100%,34rem);max-height:calc(100dvh - 2rem);animation:.18s rise;display:flex;overflow:hidden;box-shadow:0 40px 80px -30px #00000080}.dialog.is-wide{width:min(100%,48rem)}.dialog-head{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem .75rem;display:flex}.dialog-head h2{font-family:var(--yc-serif);margin:0;font-size:1.45rem}.dialog-head p{color:var(--yc-muted);margin:.25rem 0 0;font-size:.88rem}.dialog-close{background:var(--yc-fill);border-radius:999px;flex-shrink:0;place-items:center;width:2.6rem;height:2.6rem;display:grid}.dialog-close svg{width:1.1rem;height:1.1rem}.dialog-body{gap:1rem;padding:.5rem 1.5rem 1.25rem;display:grid;overflow-y:auto}.dialog-foot{border-top:1px solid var(--yc-line);gap:.75rem;padding:1rem 1.5rem 1.5rem;display:flex}.dialog-foot .btn{flex:1}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.amount-due{background:var(--yc-brand-bg);color:var(--yc-sidebar-ink);text-align:center;border-radius:18px;padding:1rem}.amount-due small{color:var(--yc-sidebar-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:block}.amount-due strong{font-family:var(--yc-serif);color:var(--yc-sidebar-accent);font-size:2.6rem}.method-grid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;display:grid}.method{border:2px solid var(--yc-line);border-radius:18px;justify-items:center;gap:.4rem;padding:1rem .5rem;font-weight:800;display:grid}.method svg{width:1.6rem;height:1.6rem;color:var(--yc-accent)}.method.is-active{border-color:var(--yc-accent-light);background:var(--yc-accent-tint)}.quick-cash{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.quick-cash button{background:var(--yc-fill);border-radius:12px;min-height:3rem;font-weight:800}.quick-cash button.is-active{background:var(--yc-accent-soft);box-shadow:inset 0 0 0 2px var(--yc-accent-light)}.change-due{background:var(--yc-stock-in-soft);color:var(--yc-stock-in);border-radius:14px;justify-content:space-between;align-items:baseline;padding:.9rem 1rem;font-weight:800;display:flex}.change-due strong{font-family:var(--yc-serif);font-size:1.6rem}.receipt{border:1px dashed var(--yc-line-strong);background:var(--yc-canvas);border-radius:18px;gap:.35rem;padding:1.25rem;font-size:.9rem;display:grid}.receipt-head{text-align:center;justify-items:center;gap:.2rem;margin-bottom:.5rem;display:grid}.receipt-head img{height:3.5rem}.receipt-number{font-family:var(--yc-serif);font-size:1.6rem;font-weight:700}.receipt-row{justify-content:space-between;gap:1rem;display:flex}.receipt-row.is-strong{border-top:1px dashed var(--yc-line-strong);margin-top:.4rem;padding-top:.5rem;font-size:1.05rem;font-weight:800}.receipt-muted{color:var(--yc-muted);font-size:.8rem}.page{align-content:start;gap:1rem;min-height:0;padding:1.25rem;display:grid;overflow-y:auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.page-head h1{font-family:var(--yc-serif);margin:0;font-size:1.8rem}.page-head p{color:var(--yc-muted);margin:.2rem 0 0}.card{border:1px solid var(--yc-line);border-radius:var(--yc-radius);background:var(--yc-surface);box-shadow:var(--yc-shadow)}.list{display:grid}.list-row{border-bottom:1px solid var(--yc-line);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4rem;padding:.75rem 1rem;display:grid}.list-row:last-child{border-bottom:0}.list-row-title{font-weight:700}.list-row-sub{color:var(--yc-muted);font-size:.82rem}.list-row-side{justify-items:end;gap:.3rem;display:grid}.two-col{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=900px){.two-col{grid-template-columns:1fr}}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.stat{border:1px solid var(--yc-line);background:var(--yc-surface);border-radius:16px;padding:1rem}.stat small{color:var(--yc-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.stat strong{font-family:var(--yc-serif);font-size:1.6rem}.stat.is-accent{background:var(--yc-brand-bg);color:var(--yc-sidebar-ink);border-color:#0000}.stat.is-accent small{color:var(--yc-sidebar-muted)}.stat.is-accent strong{color:var(--yc-sidebar-accent)}.notice{background:var(--yc-stock-low-soft);color:color-mix(in srgb, var(--yc-stock-low) 60%, #000);border-radius:14px;gap:.75rem;padding:.9rem 1rem;font-size:.88rem;font-weight:600;display:flex}.notice.is-danger{background:var(--yc-stock-out-soft);color:var(--yc-stock-out)}.notice svg{flex-shrink:0;width:1.2rem;height:1.2rem}.toast{left:50%;bottom:max(1.25rem, env(safe-area-inset-bottom));z-index:80;background:var(--yc-brand-bg);color:#fff;max-width:calc(100% - 2rem);box-shadow:var(--yc-shadow-lift);border-radius:14px;padding:.85rem 1.25rem;font-weight:700;animation:.2s rise;position:fixed;transform:translate(-50%)}.toast.is-success{background:var(--yc-stock-in)}.toast.is-warning{background:color-mix(in srgb, var(--yc-stock-low) 80%, #000)}.toast.is-danger{background:var(--yc-stock-out)}.scanner video{background:#000;border-radius:16px;width:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
