:root{--bg:#f5f6f4;--surface:#fff;--surface-2:#f0f2ef;--border:#e1e4df;--text:#17201e;--muted:#5f6b67;--primary:#0f3d3e;--primary-strong:#0a2c2d;--primary-soft:#e3eeec;--accent:#e8b04b;--accent-soft:#fbf1dc;--ok:#1f7a4d;--ok-soft:#e3f3ea;--warn:#a35a00;--warn-soft:#fdf0dc;--danger:#b42318;--danger-soft:#fdecea;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #1018160f, 0 4px 16px #1018160d;--topbar-h:64px;--sidebar-w:256px;--bottomnav-h:64px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.15rem}p{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 55%, white);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.small{font-size:.85rem}.text-warn{color:var(--warn)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{flex:none}.grow{flex:1}.row{gap:8px;display:flex}.stack{gap:14px;display:grid}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-secondary{background:var(--surface);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-sm{min-height:36px;padding:0 10px;font-size:.85rem;font-weight:500}.btn-lg{min-height:50px;font-size:1.05rem}.btn-xl{min-height:56px;padding:0 26px;font-size:1.1rem}.btn-block{width:100%}.icon-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;display:inline-grid}.icon-button:hover{background:var(--surface-2)}.notice{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px;font-size:.92rem}.notice-error{background:var(--danger-soft);color:var(--danger)}.notice-warning{background:var(--warn-soft);color:var(--warn)}.badge{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-accent{background:var(--accent-soft);color:#7a5410}.soon{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:.68rem;font-weight:600}.banner{border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:.92rem;display:flex}.banner-offline{background:var(--warn-soft);color:var(--warn)}.banner-error{background:var(--danger-soft);color:var(--danger)}.shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"topbar topbar""sidebar content";min-height:100%;display:grid}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);grid-area:topbar;align-items:center;gap:20px;padding:0 20px;display:flex;position:sticky;top:0}.brand{min-width:calc(var(--sidebar-w) - 40px);align-items:center;gap:10px;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.brand-name{letter-spacing:.06em;font-weight:800}.context{flex:1;min-width:0;display:grid}.context-business{font-weight:700}.context-logo{object-fit:contain;background:var(--surface-2);border-radius:8px;flex-shrink:0;width:34px;height:34px}.context-meta{color:var(--muted);font-size:.85rem}.context-sep{margin:0 6px}.topbar-actions{align-items:center;gap:10px;display:flex}.sidebar{top:var(--topbar-h);height:calc(100vh - var(--topbar-h));border-right:1px solid var(--border);background:var(--surface);grid-area:sidebar;align-self:start;padding:16px 12px;position:sticky;overflow:hidden auto}.nav-group{gap:2px;margin-bottom:18px;display:grid}.nav-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 10px 6px;font-size:.7rem;font-weight:700}.nav-item{border-radius:var(--radius-sm);min-height:42px;color:var(--text);align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.nav-item:hover{background:var(--surface-2)}.nav-item[aria-current=page]{background:var(--primary-soft);color:var(--primary);font-weight:700}.nav-item.is-disabled{color:var(--muted);cursor:default}.nav-label{overflow-wrap:break-word;min-width:0}.nav-item.is-disabled:hover{background:0 0}.content{grid-area:content;min-width:0;padding:24px}.bottomnav{display:none}.nav-item.is-soon{color:var(--muted)}.nav-item.is-soon[aria-current=page]{color:var(--primary)}.sidebar-footer{border-top:1px solid var(--border);margin-top:8px;padding:12px 10px 0}.platform-footer{color:var(--muted);gap:2px;margin:0;font-size:.75rem;display:grid}.login>.platform-footer{text-align:center;margin-top:16px}.platform-byline{color:var(--muted);margin:0;font-size:.8rem;font-weight:600}.link{color:var(--primary);font-weight:600;text-decoration:underline}.coming-soon{align-items:flex-start;gap:16px;display:flex}.coming-soon-icon{background:var(--primary-soft);width:52px;height:52px;color:var(--primary);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.coming-soon-status{align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.coming-soon-status .soon{margin-left:0}.coming-soon-list{gap:4px;margin:0;padding-left:20px;display:grid}.payment-method{align-items:center}.payment-method .soon{margin-left:0}.menu-page{display:grid}.user-menu,.sync{position:relative}.menu,.sync-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);position:absolute;top:calc(100% + 8px);right:0}.menu{min-width:220px;padding:6px}.menu-head{border-bottom:1px solid var(--border);margin-bottom:6px;padding:8px 10px 10px;display:grid}.menu-item{text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;width:100%;min-height:40px;padding:0 10px}.menu-item:hover{background:var(--surface-2)}.sync-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:.88rem;font-weight:600;display:inline-flex}.sync-dot{background:var(--ok);border-radius:50%;width:9px;height:9px}.sync-offline .sync-dot{background:var(--warn)}.sync-offline{background:var(--warn-soft);color:var(--warn);border-color:#0000}.sync-syncing .sync-dot{background:var(--primary);animation:1s infinite pulse}.sync-needs_attention{background:var(--danger-soft);color:var(--danger);border-color:#0000}.sync-needs_attention .sync-dot{background:var(--danger)}.sync-detail{font-weight:500}.sync-panel{gap:12px;width:min(340px,100vw - 24px);padding:14px;display:grid}.sync-panel-head{gap:2px;font-size:.9rem;display:grid}.sync-counts{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.sync-counts div{background:var(--surface-2);border-radius:var(--radius-sm);text-align:center;padding:8px}.sync-counts dt{color:var(--muted);font-size:.72rem}.sync-counts dd{margin:0;font-size:1.1rem;font-weight:800}.sync-list{gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.sync-item{border-radius:var(--radius-sm);background:var(--surface-2);padding:8px 10px;font-size:.85rem;display:grid}.sync-item-status{font-weight:700}.sync-item-ref{color:var(--muted)}.sync-item-reason{color:var(--danger)}.status-confirmed .sync-item-status{color:var(--ok)}.status-needs_attention .sync-item-status{color:var(--danger)}@keyframes pulse{50%{opacity:.3}}.page{max-width:1280px;margin:0 auto}.page-head{margin-bottom:18px}.eyebrow{color:var(--muted);margin-bottom:4px;font-size:.85rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{background:linear-gradient(135deg, var(--primary), #1d5c5c);color:#fff;border:0;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:28px;display:flex}.hero .muted{color:#ffffffc7;max-width:46ch;margin-top:6px}.hero .btn-primary{background:var(--accent);color:#2b1d02}.hero .btn-primary:hover{background:#f0c069}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.metric{align-content:start;gap:10px;min-height:128px;padding:16px;display:grid}.metric-head{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.metric-icon{background:var(--surface-2);width:30px;height:30px;color:var(--primary);border-radius:8px;place-items:center;display:grid}.metric-body{gap:4px;display:grid}.metric-value{letter-spacing:-.01em;font-size:1.45rem;font-weight:800}.metric-na{color:var(--muted);font-size:.92rem}.metric-ok .metric-icon{background:var(--ok-soft);color:var(--ok)}.metric-warn .metric-icon{background:var(--warn-soft);color:var(--warn)}.skeleton{background:linear-gradient(90deg, var(--surface-2), #e7eae6, var(--surface-2));background-size:200% 100%;border-radius:6px;width:60%;height:28px;animation:1.2s infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-size:.8rem}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.quick-action{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:10px;min-height:64px;padding:0 16px;font-weight:600;display:flex}.quick-action:hover:not(:disabled){border-color:var(--primary)}.quick-action:disabled{color:var(--muted);cursor:default}.empty{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:40px 20px;display:grid}.empty h2{color:var(--text)}.empty-page{align-content:center;min-height:50vh}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.boot{height:100%;color:var(--muted);place-content:center;justify-items:center;gap:12px;display:grid}.login{background:linear-gradient(160deg, var(--bg), var(--primary-soft));place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:16px;gap:16px;padding:32px;display:grid}.login-brand{align-items:center;gap:14px;margin-bottom:4px;display:flex}.login-brand .brand-mark{border-radius:12px;width:44px;height:44px}.field{gap:6px;font-size:.9rem;font-weight:600;display:grid}.field input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-height:46px;padding:0 12px;font-size:1rem;font-weight:400}.field input:focus-visible{border-color:var(--primary)}.field input[aria-invalid=true]{border-color:var(--danger)}.pos-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px;display:grid}.catalog{gap:14px;display:grid}.search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:48px;color:var(--muted);align-items:center;gap:10px;padding:0 14px;display:flex}.search input{min-height:46px;color:var(--text);background:0 0;border:0;outline:0;flex:1}.product-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.product{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-content:start;gap:6px;width:100%;min-height:150px;padding:14px;display:grid}.product:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow)}.product:active:not(:disabled){transform:scale(.99)}.product:disabled{opacity:.55;cursor:not-allowed}.product.is-sold-out{opacity:.6;cursor:not-allowed}.product.is-sold-out:hover{border-color:var(--border);box-shadow:none}.product-initial{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:10px;place-items:center;font-weight:800;display:grid}.product-thumb{object-fit:cover;background:var(--surface-2);border-radius:10px;flex-shrink:0;width:40px;height:40px}.product-thumb-pos{aspect-ratio:4/3;border-radius:8px;width:100%;height:auto;font-size:1.6rem}.product-thumb-lg{border-radius:12px;width:72px;height:72px;font-size:1.6rem}.product-detail-title{align-items:center;gap:14px}.product-name{font-weight:700}.product-price{color:var(--primary);font-weight:800}.product-badges{flex-wrap:wrap;gap:6px;display:flex}.cart-wrap{top:calc(var(--topbar-h) + 24px);position:sticky}.cart{max-height:calc(100vh - var(--topbar-h) - 48px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-rows:auto 1fr auto;display:grid}.cart-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.cart-empty{padding:32px 16px}.cart-lines{margin:0;padding:0;list-style:none;overflow-y:auto}.cart-line{border-bottom:1px solid var(--border);gap:8px;padding:12px 16px;display:grid}.cart-line-main{justify-items:start;gap:4px;display:grid}.cart-line-name{font-weight:700}.cart-line-controls{justify-content:space-between;align-items:center;gap:10px;display:flex}.cart-line-amount{font-weight:800}.cart-line-actions{gap:4px;display:flex}.stepper{align-items:center;gap:8px;display:inline-flex}.stepper .icon-button{width:36px;height:36px}.stepper-value{text-align:center;min-width:44px;font-weight:700}.cart-summary{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius);gap:10px;padding:14px 16px;display:grid}.cart-summary dl{gap:4px;margin:0;display:grid}.cart-summary dl div{color:var(--muted);justify-content:space-between;display:flex}.cart-summary dd{margin:0}.cart-summary .total{color:var(--text);padding-top:6px;font-size:1.25rem;font-weight:800}.cart-fab{display:none}.dialog-backdrop{z-index:50;background:#0e161473;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);width:min(460px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:16px;overflow-y:auto}.dialog:focus{outline:none}.dialog-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.dialog-body{padding:18px}.dialog-foot{padding:0 18px 18px}.modifier-group{border:0;gap:6px;margin:0 0 14px;padding:0;display:grid}.modifier-group legend{margin-bottom:6px;font-weight:700}.check{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.check span:nth-child(2){flex:1}.check input{width:18px;height:18px}.pay-total,.pay-change{justify-content:space-between;align-items:baseline;display:flex}.pay-total strong{font-size:1.8rem}.pay-change strong{color:var(--ok);font-size:1.3rem}.segmented{background:var(--surface-2);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.segmented button{border-radius:var(--radius-sm);cursor:pointer;min-height:48px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.segmented button.is-active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;min-height:38px;padding:0 14px;font-weight:600}.chip:hover{border-color:var(--primary)}.result{text-align:center;background:var(--surface);border:1px solid var(--border);max-width:520px;box-shadow:var(--shadow);border-radius:16px;justify-items:center;gap:12px;margin:32px auto;padding:32px 24px;display:grid}.result-icon{border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.result-success .result-icon{background:var(--ok-soft);color:var(--ok)}.result-pending .result-icon{background:var(--warn-soft);color:var(--warn)}.result-attention .result-icon{background:var(--danger-soft);color:var(--danger)}.result-sub{color:var(--warn);font-weight:700}.order-number{letter-spacing:.03em;color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.35rem;font-weight:800}.result-facts{background:var(--surface-2);border-radius:var(--radius-sm);gap:6px;width:100%;margin:8px 0;padding:12px 16px;display:grid}.result-facts div{justify-content:space-between;display:flex}.result-facts dd{margin:0;font-weight:700}.narrow{max-width:640px}.row.center{flex-wrap:wrap;justify-content:center}.stack-sm{justify-items:start;gap:8px;display:grid}.text-danger{color:var(--danger)}.text-ok{color:var(--ok)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.banner-shift{background:var(--accent-soft);color:#6b4a0e;flex-wrap:wrap}.card-title{margin-bottom:6px;font-size:1.05rem}.form-card{padding:20px}.field textarea,.field select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-height:46px;font:inherit;padding:10px 12px;font-size:1rem;font-weight:400}.field textarea{resize:vertical}.field textarea[aria-invalid=true]{border-color:var(--danger)}.field-help{color:var(--muted);font-size:.85rem;font-weight:400}.field-error{color:var(--danger);font-size:.85rem;font-weight:600}.money-input{align-items:stretch;display:flex}.money-prefix{border:1px solid var(--border);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--surface-2);color:var(--muted);border-right:0;place-items:center;padding:0 12px;font-weight:600;display:grid}.money-input input{border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-variant-numeric:tabular-nums;flex:1;min-width:0;font-size:1.15rem}.result-facts div{gap:12px}.result-facts dd{text-align:right;overflow-wrap:anywhere}.metric-facts{gap:2px;margin:4px 0 0;font-size:.88rem;display:grid}.metric-facts div{justify-content:space-between;gap:8px;display:flex}.metric-facts dt{color:var(--muted)}.metric-facts dd{margin:0;font-weight:700}.metric-action{justify-self:start;margin-top:6px}.shift-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.shift-grid>.card{padding:18px}.shift-facts{grid-row:span 2;gap:18px;display:grid}.facts{gap:10px;margin:0;display:grid}.facts div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.facts dt{color:var(--muted)}.facts dd{text-align:right;margin:0;font-weight:600}.facts-strong{font-size:1.3rem;font-weight:800!important}.shift-actions{gap:10px;display:grid}.ledger{gap:6px;margin:12px 0;display:grid}.ledger-row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.ledger-row dt{color:var(--muted)}.ledger-row dd{white-space:nowrap;margin:0;font-weight:600}.ledger-total{border-top:1px solid var(--border);margin-top:4px;padding-top:8px;font-size:1.1rem}.ledger-total dt{color:var(--text);font-weight:700}.ledger-total dd{font-weight:800}.movement-list{margin:8px 0 0;padding:0;list-style:none;display:grid}.movement-list li{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.movement-list li>div{min-width:0;display:grid}.movement-list li>span{white-space:nowrap;font-weight:700}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.catalog-page{align-content:start;gap:14px;display:grid}.catalog-page .page-head{margin-bottom:0}.tabs{border-radius:var(--radius-sm);background:var(--surface-2);gap:4px;padding:4px;display:inline-flex}.tab{color:var(--muted);border-radius:6px;padding:8px 16px;font-weight:600}.tab.is-active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.list-card{margin:0;padding:0;list-style:none;overflow:hidden}.list-card li+li{border-top:1px solid var(--border)}.list-row{color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.list-row:hover{background:var(--surface-2)}.list-main{gap:2px;min-width:0;display:grid}.list-side{color:var(--muted);flex-shrink:0;align-items:center;gap:10px;display:flex}.stock-cell{color:var(--text);font-variant-numeric:tabular-nums;justify-items:end;gap:3px;display:grid}.badge-danger{background:var(--danger-soft);color:var(--danger)}.skeleton-inline{width:72px;height:16px;display:inline-block}.inventory-summary{color:var(--muted);flex-wrap:wrap;gap:8px 20px;display:flex}.inventory-summary strong{color:var(--text)}.inventory-summary .text-danger strong{color:var(--danger)}.back-link{color:var(--muted);margin-bottom:10px;font-weight:600;display:inline-block}.subhead{margin:16px 0 6px;font-size:.95rem}.modifier-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.modifier-list li{gap:2px;display:grid}.stock-now{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stock-now strong{font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:800}.stock-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.movements-card{grid-column:1/-1}.movement-amounts{justify-items:end;font-weight:700;display:grid}.banner-ok{background:var(--ok-soft);color:var(--ok)}.field input[inputmode=decimal]{font-variant-numeric:tabular-nums;font-size:1.15rem}.head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 85%, black)}.btn-danger-outline{background:var(--surface);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, white)}.btn-danger-outline:hover:not(:disabled){background:var(--danger-soft)}.danger-zone{border-color:color-mix(in srgb, var(--danger) 25%, var(--border));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.price-rows{gap:4px;display:grid}.price-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.price-row>div{gap:2px;min-width:0;display:grid}.price-value{font-variant-numeric:tabular-nums;font-size:1.15rem}.price-change{border-radius:var(--radius-sm);background:var(--surface-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:14px;font-size:1.2rem;display:flex}.price-old{color:var(--muted);text-decoration:line-through}.price-new{font-size:1.4rem}.check.check-block{align-items:flex-start;min-height:0;padding:12px}.check.check-block input{flex-shrink:0;margin-top:2px}.field select{appearance:auto}.mono{letter-spacing:.01em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:inline-flex}.badges .badges{margin-top:0}.order-detail .page-head h1{overflow-wrap:anywhere}.order-lines,.payment-list{margin:8px 0 0;padding:0;list-style:none;display:grid}.order-lines>li,.payment-list>li{border-bottom:1px solid var(--border);gap:4px;padding:12px 0;display:grid}.order-lines>li:last-child,.payment-list>li:last-child{border-bottom:0}.order-line-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.order-subs{border-left:2px solid var(--border);gap:2px;margin:0;padding:0 0 0 12px;font-size:.88rem;list-style:none;display:grid}.order-subs li{justify-content:space-between;gap:12px;display:flex}.order-subs li span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.list-side .money{color:var(--text)}.field-stack{gap:6px;display:grid}.report-filters{gap:12px;padding:16px;display:grid}.report-presets{flex-wrap:wrap;display:flex}.report-presets button{flex:auto}.report-custom{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.report-custom-error{grid-column:1/-1}.field input[type=date]{font:inherit}.report-outlet{max-width:320px}.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-metric{gap:4px;min-height:0}.report-metric .metric-value{font-size:1.35rem}.report-metric-strong{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));background:var(--primary-soft)}.report-extra{gap:8px;display:grid}.report-section{padding:18px}.table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.report-table th,.report-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 8px}.report-table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.78rem;font-weight:700}.report-table tbody th{white-space:normal;font-weight:600}.report-table .num{text-align:right}.report-table tbody tr:last-child>*{border-bottom:0}.promo-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.promo-side{flex-shrink:0;justify-items:end;gap:8px;display:grid}.promo-percent{color:var(--ok);font-variant-numeric:tabular-nums;font-size:1.25rem}.promo-dates{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.field input[type=datetime-local]{font:inherit;min-width:0}.field input[readonly]{background:var(--surface-2);color:var(--muted)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.notice-ok{background:var(--ok-soft);color:var(--ok)}.modifier-groups{gap:12px;margin:10px 0 0;padding:0;list-style:none;display:grid}.modifier-group-card{border:1px solid var(--border);border-radius:var(--radius-sm);gap:8px;padding:12px 14px;display:grid}.modifier-items{margin:0;padding:0;list-style:none;display:grid}.modifier-items li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.product-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.product-images{gap:10px;margin:0;padding:0;list-style:none;display:grid}.product-image{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding-top:10px;display:flex}.product-image img{object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2);flex-shrink:0;width:64px;height:64px}.product-image-info{flex:1;gap:2px;min-width:0;display:grid}.product-image-info .badge{margin-left:8px}.product-image-url{overflow-wrap:anywhere}.product-image-actions{flex-wrap:wrap}.business-logo{object-fit:contain;border-radius:var(--radius-sm);background:var(--surface-2);flex-shrink:0;width:72px;height:72px}.user-avatar{object-fit:cover;background:var(--surface-2);border-radius:50%;flex-shrink:0;width:72px;height:72px}.business-logo-current{align-items:center;gap:12px}.image-upload-preview{object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2);width:120px;height:120px;margin-top:8px}.modifier-item-side{align-items:center;gap:8px;display:inline-flex}.icon-button.icon-button-sm{width:34px;height:34px}.archived-groups{margin-top:10px}.archived-groups summary{cursor:pointer;color:var(--muted);font-weight:600}.archived-groups ul{margin:6px 0 0;padding-left:18px}.team-tabs{max-width:420px}.team-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.team-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;max-width:50%;display:flex}.team-role{gap:10px;padding:16px;display:grid}.permission-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.permission-grid .check{min-height:40px}.team-transfer,.team-transfer>*{min-width:0}.team-transfer .result-facts dd,.team-transfer .check span,.team-transfer .notice{overflow-wrap:anywhere;min-width:0}@media (width<=1100px){.metrics,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-layout{grid-template-columns:minmax(0,1fr) 330px}}.omni-head{flex-wrap:wrap}.omni-head .muted{max-width:60ch;margin-top:4px}.omni-tabs{flex-wrap:wrap}.omni-page>*+*{margin-top:18px}.channel-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.channel-card{align-content:start;gap:12px;padding:18px;display:grid}.channel-card .btn{justify-self:start}.channel-card-head{align-items:flex-start;gap:12px;display:flex}.channel-mark{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:12px;flex-shrink:0;place-items:center;font-weight:800;display:grid}.channel-status{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.omni-outlet{flex-wrap:wrap;gap:12px}.omni-facts{gap:6px;margin:8px 0 0;display:grid}.omni-facts div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.omni-facts dt{color:var(--muted);min-width:120px}.omni-facts dd{overflow-wrap:anywhere;margin:0}.omni-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=900px){.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-grid{grid-template-columns:minmax(0,1fr)}.shift-facts{grid-row:auto}:root{--topbar-h:56px}.shell{padding-bottom:var(--bottomnav-h);grid-template-columns:1fr;grid-template-areas:"topbar""content"}.sidebar{display:none}.topbar{gap:10px;padding:0 12px}.brand{min-width:0}.brand-name{display:none}.context-business{font-size:.92rem}.context-meta{font-size:.75rem}.sync-detail{display:none}.sync-button{padding:0 10px}.content{padding:14px}h1{font-size:1.3rem}.hero{flex-direction:column;align-items:stretch;padding:20px}.hero .btn{width:100%}.metric{min-height:0}.metric-value{font-size:1.15rem}.bottomnav{z-index:40;height:var(--bottomnav-h);padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottomnav .nav-item{border-radius:0;flex-direction:column;justify-content:center;gap:2px;min-height:0;font-size:.72rem}.bottomnav .nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pos-layout{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.product{min-height:132px}.cart-wrap{left:0;right:0;bottom:var(--bottomnav-h);z-index:45;padding:0 8px 8px;display:none;position:fixed;top:auto}.cart-wrap.is-open{display:block}.cart{max-height:calc(100vh - var(--topbar-h) - var(--bottomnav-h) - 40px)}.cart-fab{right:14px;bottom:calc(var(--bottomnav-h) + 14px);z-index:46;background:var(--primary);color:#fff;min-height:52px;box-shadow:var(--shadow);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 20px;font-weight:700;display:inline-flex;position:fixed}.cart-wrap.is-open .cart{max-height:calc(100vh - var(--topbar-h) - var(--bottomnav-h) - 84px)}.cart-fab.is-open{bottom:auto;top:calc(var(--topbar-h) + 10px)}}@media (width<=520px){.team-row{flex-direction:column;align-items:stretch}.team-actions{justify-content:flex-start;max-width:none}.permission-grid,.promo-dates{grid-template-columns:minmax(0,1fr)}.promo-row{flex-direction:column;align-items:stretch}.promo-side{grid-auto-flow:column;justify-content:space-between;place-items:center start}.report-custom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.report-custom button{grid-column:1/-1}.report-metric .metric-value{font-size:1.15rem}.report-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.report-table,.report-table tbody,.report-table tr,.report-table th,.report-table td{width:100%;display:block}.report-table tbody tr{border-bottom:1px solid var(--border);padding:10px 0}.report-table tbody tr:last-child{border-bottom:0}.report-table tbody th{border:0;padding:0 0 4px}.report-table td{border:0;justify-content:space-between;gap:12px;padding:2px 0;display:flex}.report-table td:before{content:attr(data-label);color:var(--muted)}.metrics,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-action{flex-wrap:wrap;row-gap:4px;padding:10px 14px}.quick-action .soon{margin-left:0}.context-sep,.context-meta{white-space:nowrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.receipt-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);max-height:55vh;padding:12px;overflow:auto}.receipt{color:#000;background:#fff;margin:0 auto}.receipt-thermal{box-sizing:content-box;white-space:pre-wrap;overflow-wrap:anywhere;font-family:Courier New,Courier,monospace;line-height:1.25}.receipt-a4{padding:8mm;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4}.receipt-a4 h1{margin-bottom:4px;font-size:1.6em}.receipt-a4-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.receipt-a4-info,.receipt-a4-foot dl{gap:2px;margin:0;display:grid}.receipt-a4-row{justify-content:space-between;gap:16px;display:flex}.receipt-a4-row dt{font-weight:600}.receipt-a4-row dd{text-align:right;overflow-wrap:anywhere;margin:0}.receipt-a4-notice{text-align:center;border:1px solid #000;margin:8px 0;padding:6px 8px;font-weight:700}.receipt-a4-lines{border-collapse:collapse;width:100%;margin:8px 0}.receipt-a4-lines th,.receipt-a4-lines td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #999;padding:6px 4px}.receipt-a4-lines .num{text-align:right;white-space:nowrap}.receipt-a4-sub{color:#333;font-size:.9em}.receipt-a4-foot{grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;display:grid}.receipt-a4-footer{text-align:center;margin-top:16px}.printer-settings{padding:18px}.printer-settings fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.printer-settings .check span:nth-child(2){gap:4px;padding:8px 0;display:grid}.printer-notes{margin-top:16px;padding:18px}.print-root{display:none}@media print{body>:not(.print-root){display:none!important}.print-root{display:block}.print-copy{break-after:page}.print-copy:last-child{break-after:auto}.receipt-a4{padding:0}}
