:root{--color-ink: #1c1a19;--color-primary: #7c2030;--color-primary-hover: #641926;--color-accent: #6a4fa0;--color-bg: #f7f6f3;--color-surface: #ffffff;--color-surface-muted: #f1efeb;--color-border: #e3dfda;--color-text: #1c1a19;--color-text-muted: #7a7269;--color-success: #2e7d4f;--color-success-bg: #e4f0e8;--color-warning: #a8681c;--color-warning-bg: #f5ead9;--color-danger: #c23b2e;--color-danger-bg: #f8ded9;--color-info: #3b5773;--color-info-bg: #e4ebf0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--sidebar-width: 232px;--header-height: 56px;--font-sans: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;--font-mono: "IBM Plex Mono", "Consolas", monospace;font-family:var(--font-sans)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-size:14px}h1,h2,h3{font-family:inherit}h1{font-size:20px;font-weight:600;margin:0 0 4px;letter-spacing:-.2px}h2{font-size:15px;font-weight:600;margin:0 0 12px}p{line-height:1.5}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);background:var(--color-ink);display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.app-brand{display:flex;align-items:center;gap:10px;padding:0 var(--space-4);height:var(--header-height);border-bottom:1px solid rgba(255,255,255,.09);flex:0 0 auto}.app-brand-mark{width:9px;height:9px;border-radius:2px;background:var(--color-primary);flex:0 0 auto}.app-brand-text{display:flex;flex-direction:column;overflow:hidden}.app-brand-name{font-weight:600;font-size:13.5px;color:#f4efe9;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-brand-tag{font-size:11px;color:#9a9089;line-height:1.2}.app-nav{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-2)}.app-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;margin-bottom:2px;border:none;background:none;border-radius:var(--radius-md);font-size:13.5px;font-weight:500;font-family:inherit;color:#b8afa7;text-align:left;cursor:pointer}.app-nav-item svg{flex:0 0 auto;opacity:.85}.app-nav-item:hover{background:#ffffff0f;color:#f4efe9}.app-nav-item.active{background:var(--color-primary);color:#fff}.app-nav-item.active svg{opacity:1}.app-sidebar-foot{flex:0 0 auto;padding:var(--space-3) var(--space-4);border-top:1px solid rgba(255,255,255,.09);font-size:11.5px;color:#8a8078}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-header{height:var(--header-height);flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.app-header-title{font-size:15px;font-weight:700}.app-header-right{display:flex;align-items:center;gap:14px}.app-menu-btn{display:flex;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.app-body{flex:1;min-width:0}.app-sidebar-backdrop{display:none}@media (min-width: 901px){.app-shell.sidebar-collapsed .app-sidebar{display:none}}@media (max-width: 900px){.app-sidebar{position:fixed;left:0;top:0;z-index:40;transform:translate(-100%);transition:transform .15s ease;box-shadow:2px 0 8px #0000001f}.app-sidebar.open{transform:translate(0)}.app-menu-btn{display:flex}.app-sidebar-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:30}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1{margin-bottom:4px}.page-desc{color:var(--color-text-muted);font-size:13px;margin:0;max-width:70ch}.page-header-actions{display:flex;gap:10px;flex:0 0 auto}.content{padding:var(--space-6);width:100%}.content-wide{padding:var(--space-4) var(--space-5);width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.card>h2:first-child{padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}label{display:block;font-weight:600;margin-bottom:4px;font-size:12.5px;color:var(--color-text)}input[type=text],input[type=password],input[type=date],input[type=tel],input[type=number],select{width:100%;padding:8px 10px;font-size:14px;font-family:inherit;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c203026}.field{margin-bottom:var(--space-4)}.field-error{color:var(--color-danger);font-size:12.5px;margin-top:4px}.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:13.5px;font-weight:600;font-family:inherit;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;line-height:1.3}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-muted)}.btn-danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-ghost{background:none;border-color:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.btn-large{padding:16px 24px;font-size:16px;width:100%}.link-btn{background:none;border:none;padding:0;color:var(--color-primary);font-weight:600;font-size:12.5px;cursor:pointer;text-decoration:underline}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--color-border);font-size:13px}th{background:var(--color-surface-muted);color:var(--color-text-muted);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;position:sticky;top:0;z-index:1}tbody tr:hover{background:var(--color-surface-muted)}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--color-info-bg)}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sortable:hover{color:var(--color-text)}.th-sortable-inner{display:inline-flex;align-items:center;gap:5px}.th-sort-arrow{font-size:9px;opacity:.35}.th-sort-arrow.active{opacity:1;color:var(--color-primary)}.copy-btn{border:none;background:none;padding:2px;margin-left:5px;cursor:pointer;color:var(--color-text-muted);vertical-align:middle;border-radius:var(--radius-sm);line-height:0}.copy-btn:hover{color:var(--color-primary);background:var(--color-surface-muted)}.copy-btn.copied{color:var(--color-success)}.table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-5)}.table-card table{margin:0}.table-scroll{overflow-x:auto}.pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:700;border:1px solid var(--color-border);color:var(--color-text-muted)}.pill-pending{color:var(--color-warning);border-color:var(--color-warning);background:var(--color-warning-bg)}.pill-ready{color:var(--color-success);border-color:var(--color-success);background:var(--color-success-bg)}.pill-neutral{color:var(--color-text-muted);background:var(--color-surface-muted)}.courier-text{color:var(--color-primary-hover);font-weight:600}.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--color-text)}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--status-color, var(--color-text-muted));flex:0 0 auto}.status-ready,.status-active{--status-color: var(--color-success)}.status-pending{--status-color: var(--color-warning)}.status-dispatched{--status-color: var(--color-primary)}.status-inactive,.status-disabled{--status-color: var(--color-text-muted);color:var(--color-text-muted)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.stat-box{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:inset 3px 0 0 var(--stat-accent, var(--color-primary));border-radius:var(--radius-lg);padding:14px 18px;font-family:inherit;text-align:left;cursor:pointer;transition:background .1s ease}.stat-box:hover{background:var(--color-surface-muted)}.stat-box:focus-visible{outline:2px solid var(--stat-accent, var(--color-primary));outline-offset:2px}.stat-box.active{background:var(--color-surface-muted);box-shadow:inset 3px 0 0 var(--stat-accent, var(--color-primary)),inset 0 0 0 1px var(--stat-accent, var(--color-primary))}.stat-box .value{font-family:var(--font-mono);font-size:25px;font-weight:600;line-height:1.1}.stat-box .label{font-size:12.5px;color:var(--color-text-muted);margin-bottom:6px}.stat-total{--stat-accent: var(--color-primary)}.stat-pending{--stat-accent: var(--color-warning)}.stat-pending .value{color:var(--color-warning)}.stat-ready{--stat-accent: var(--color-success)}.stat-ready .value{color:var(--color-success)}.stat-dispatched{--stat-accent: var(--color-primary)}.stat-dispatched .value{color:var(--color-primary)}.stat-courier{--stat-accent: var(--color-accent)}.stat-courier .value{color:var(--color-accent)}.filter-note{color:var(--color-text-muted);font-size:12.5px;margin:-8px 0 var(--space-4)}.prep-table td{vertical-align:top}.prep-table .select-col{width:36px;padding-right:0}.prep-table .select-col input{width:16px;height:16px;cursor:pointer}.prep-table .row-selected{background:var(--color-surface-muted)}.dispatch-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:8px;padding:10px 14px;margin-bottom:var(--space-4)}.dispatch-bar-actions{display:flex;gap:8px}.item-list{list-style:none;margin:0;padding:0;min-width:220px}.item-list li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:5px 0}.item-list li:not(:last-child){border-bottom:1px dashed var(--color-border)}.item-list .item-name{flex:1}.item-list .item-qty{color:var(--color-text-muted);font-weight:600;white-space:nowrap}.item-list.courier-text .item-qty{color:inherit;opacity:.8}.muted-dash{color:var(--color-text-muted)}.banner{padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-weight:600;font-size:13.5px}.banner-error{background:var(--color-danger-bg);color:var(--color-danger)}.banner-info{background:var(--color-info-bg);color:var(--color-primary-hover)}.banner-success{background:var(--color-success-bg);color:var(--color-success)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1073;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);max-width:500px;width:90%;max-height:80vh;overflow-y:auto;text-align:center;box-shadow:0 8px 24px #0000002e}.modal-wide{max-width:560px;text-align:left}.modal-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:var(--space-4)}.modal-head h2{margin:0;font-family:var(--font-mono)}.modal-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin:var(--space-4) 0 var(--space-2)}.modal-section-title:first-of-type{margin-top:0}.modal-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 16px}.modal-grid dt{color:var(--color-text-muted);font-size:12.5px;white-space:nowrap}.modal-grid dd{margin:0;font-size:13.5px;font-weight:500}.modal-note{font-size:11.5px;color:var(--color-text-muted);font-weight:400}.modal-items{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.modal-items li{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-size:13px}.modal-items li:not(:last-child){border-bottom:1px solid var(--color-border)}.modal-items li span:last-child{color:var(--color-text-muted);font-family:var(--font-mono)}.modal-actions{margin-top:var(--space-5);display:flex;justify-content:flex-end;gap:10px}@keyframes rr-spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;border-radius:50%;border:2px solid rgba(0,0,0,.15);border-top-color:currentColor;animation:rr-spin .6s linear infinite;flex:0 0 auto}.btn .spinner{border-color:#ffffff59;border-top-color:#fff}@keyframes rr-shimmer{0%{background-position:-120px 0}to{background-position:120px 0}}.skeleton-block{display:inline-block;height:13px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-muted) 25%,#e8e4de 37%,var(--color-surface-muted) 63%);background-size:240px 100%;animation:rr-shimmer 1.3s ease-in-out infinite}.skeleton-row td{padding:11px 14px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:36px 20px;color:var(--color-text-muted)}.empty-state svg{opacity:.55;margin-bottom:4px}.empty-state-title{font-size:13.5px;font-weight:600;color:var(--color-text)}.empty-state-hint{font-size:12.5px;max-width:40ch;text-align:center}@keyframes rr-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-host{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:60;display:flex;flex-direction:column;gap:8px;max-width:320px}.toast{padding:10px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:600;color:#fff;box-shadow:0 6px 18px #0000002e;animation:rr-toast-in .18s ease-out}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-danger)}.toast-info{background:var(--color-info)}.bar-chart{display:flex;flex-direction:column;gap:10px}.bar-row{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:12px}.bar-label{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:var(--color-surface-muted);border-radius:999px;height:10px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:var(--color-primary);min-width:4px}.bar-value{font-size:12.5px;color:var(--color-text-muted);white-space:nowrap;min-width:90px;text-align:right}@media (max-width: 640px){.bar-row{grid-template-columns:96px 1fr auto}}.login-shell{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--color-bg)}.login-card{width:360px;text-align:left}.login-card h1{text-align:center;margin-bottom:var(--space-5)}.login-mark{width:40px;height:40px;margin:0 auto 16px;border-radius:var(--radius-md);background:var(--color-ink);position:relative}.login-mark:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;border-radius:2px;background:var(--color-primary);transform:translate(-50%,-50%)}.topbar-counter{font-size:12.5px;font-weight:600;color:var(--color-text-muted);background:var(--color-surface-muted);padding:5px 10px;border-radius:var(--radius-sm)}.pos-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-3)}.pos-titlebar h1{margin:0}.pos{--pos-paper: #fffdfa;--pos-blush: #f6e8ea;--pos-line: var(--color-border);--pos-muted: var(--color-text-muted);max-width:100%;min-width:0;display:flex;flex-direction:column;height:calc(100vh - var(--header-height) - 2 * var(--space-4));min-height:620px}.pos>*{flex:0 0 auto}.pos>.pos-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,7fr) minmax(340px,3fr);grid-template-rows:minmax(0,1fr);gap:var(--space-3)}.pos-catalog{grid-column:1;grid-row:1}.pos-side{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0;overflow-y:auto}@media (max-width: 1100px){.pos{height:auto;min-height:0}.pos>.pos-layout{display:flex;flex-direction:column}.pos-side{overflow:visible}.pos-display{min-height:0}.pos-cart{max-height:260px}.pos-products{max-height:70vh}}.pos-panel{background:var(--color-surface);border:1px solid var(--pos-line);border-radius:10px;padding:var(--space-4) var(--space-5);box-shadow:0 1px 2px #1c1a190a}.pos-customer,.pos-catalog{min-width:0}.pos-customer{flex:0 0 auto}.pos-catalog{min-height:0;display:flex;flex-direction:column}.pos-catalog>*{flex:0 0 auto}.pos-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.pos-section-head h2{margin:0;font-size:15px;font-weight:600}.pos-section-note{font-size:12px;color:var(--pos-muted)}.pos-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.pos-f-name,.pos-f-mobile,.pos-f-address{grid-column:span 2}.pos-side .pos-section-note{display:none}.pos-side .pos-section-head,.pos .field{margin-bottom:8px}.pos .field label{font-size:12px;font-weight:600;color:var(--color-text);margin-bottom:5px}.pos .field input{padding:9px 11px;font-size:14px;border-radius:6px;border-color:#d6d1ca;background:#fff}.pos .field input::placeholder,.pos-search input::placeholder{color:#a39b92}.pos input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c203024}.pos button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pos-hint{font-size:11.5px;color:var(--pos-muted);line-height:1.45}.pos-cats{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;max-width:100%;scrollbar-width:thin}.pos-cat{flex:0 0 auto;white-space:nowrap;border:1px solid #d6d1ca;background:#fff;color:var(--color-text);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.pos-cat:hover{border-color:var(--color-primary);color:var(--color-primary)}.pos-cat.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pos-subcats{margin-top:0}.pos-subcat{flex:0 0 auto;white-space:nowrap;border:0;background:var(--color-surface-muted);color:#4a443f;border-radius:6px;padding:6px 11px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer}.pos-subcat:hover{background:var(--pos-blush);color:var(--color-primary)}.pos-subcat.active{background:var(--pos-blush);color:var(--color-primary);font-weight:700;box-shadow:inset 0 0 0 1px #7c203059}.pos-search{display:flex;align-items:center;gap:8px;margin:4px 0 12px;padding:0 12px;border:1px solid #d6d1ca;border-radius:8px;background:var(--color-surface-muted);color:var(--pos-muted);font-weight:400;cursor:text}.pos-search:focus-within{background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c203024}.pos .pos-search input{border:0;background:transparent;box-shadow:none;padding:11px 0;font-size:14px;flex:1;min-width:0}.pos .pos-search input:focus{box-shadow:none}.pos-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;flex:1 1 auto;min-height:0;align-content:start;overflow-y:auto;padding:2px 4px 4px 2px}.pos-product{border:1px solid var(--pos-line);border-radius:10px;background:#fff;padding:8px;display:flex;flex-direction:column;transition:border-color .12s,box-shadow .12s}.pos-product:hover{border-color:#c9c2b9;box-shadow:0 4px 12px #1c1a1914}.pos-product.selected{border-color:var(--color-primary);background:linear-gradient(#fff,var(--pos-blush));box-shadow:0 0 0 1px var(--color-primary)}.pos-product-media{position:relative;width:100%;aspect-ratio:1;border-radius:7px;overflow:hidden;background:var(--color-surface-muted);margin-bottom:9px;cursor:pointer}.pos-img{width:100%;height:100%;object-fit:cover;display:block}.pos-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-muted);color:#b3aaa0;font-weight:700;font-size:30px}.pos-product-num{position:absolute;top:6px;left:6px;padding:2px 7px;border-radius:999px;background:#ffffffeb;color:var(--color-text);font-family:var(--font-mono);font-size:11px;font-weight:600;box-shadow:0 1px 2px #0000001f}.pos-product-badge{position:absolute;bottom:6px;left:6px;padding:3px 9px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:11px;font-weight:600}.pos-product-body{flex:1}.pos-product-name{font-size:12.5px;font-weight:600;line-height:1.3;min-height:32px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pos-product-meta{font-size:11px;color:var(--pos-muted);margin-top:3px}.pos-product-price{font-family:var(--font-mono);font-size:15px;font-weight:600;margin-top:6px}.pos-add,.pos-stepper{margin-top:9px;height:36px}.pos-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border:1px solid var(--color-ink);background:var(--color-ink);color:#fff;border-radius:7px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s}.pos-add:hover{background:var(--color-primary);border-color:var(--color-primary)}.pos-add:active{transform:translateY(1px)}.pos-stepper{display:grid;grid-template-columns:40px 1fr 40px;align-items:stretch;border:1px solid var(--color-primary);border-radius:7px;background:#fff;overflow:hidden}.pos-stepper button{border:0;background:none;color:var(--color-primary);display:flex;align-items:center;justify-content:center;cursor:pointer}.pos-stepper button:hover{background:var(--pos-blush)}.pos-stepper span{display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;font-weight:600}.pos-empty{grid-column:1 / -1;padding:40px 16px;text-align:center;color:var(--pos-muted);font-size:13px}.pos-empty-cart{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px}.pos-empty-cart svg{color:#c4b9ae;margin-bottom:4px}.pos-empty-cart strong{color:var(--color-text);font-size:13.5px}.pos-display{flex:1 0 auto;min-height:440px;display:flex;flex-direction:column;padding:var(--space-4);background:var(--pos-paper);border:1px solid #e7dfd3;border-top:4px solid var(--color-primary);border-radius:4px 4px 10px 10px;box-shadow:0 8px 24px #3c1e1414}.pos-display-left{flex:1 0 auto;display:flex;flex-direction:column;min-width:0}.pos-display .pos-summary{flex:0 0 auto;margin-top:6px;padding-top:10px}.pos-display .pos-total-amount{font-size:28px}.pos-display .pos-delivery-split{margin-bottom:8px;gap:6px}.pos-display .pos-delivery-box{padding:6px 10px}.pos-display .pos-delivery-amount{font-size:15px}.pos-display .pos-summary-line{margin:4px 0}.pos-display .pos-pay-title{margin-top:8px}.pos-display-head{display:flex;justify-content:space-between;align-items:center}.pos-display-head strong{font-size:13px;font-weight:600;color:var(--pos-muted)}.pos-live{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--color-success);background:var(--color-success-bg);border-radius:999px;padding:3px 10px 3px 8px}.pos-live i{width:7px;height:7px;border-radius:50%;background:var(--color-success);animation:pos-pulse 2s ease-out infinite}@keyframes pos-pulse{0%{box-shadow:0 0 #2e7d4f80}70%,to{box-shadow:0 0 0 6px #2e7d4f00}}@media (prefers-reduced-motion: reduce){.pos-live i{animation:none}}.pos-display-name{font-size:22px;font-weight:600;letter-spacing:-.3px;line-height:1.2;margin-top:14px;overflow-wrap:anywhere}.pos-display-name.placeholder{color:#b3aaa0;font-weight:400;font-size:17px}.pos-display-sub{font-size:12.5px;color:var(--pos-muted);margin-top:4px;padding-bottom:14px;border-bottom:2px dotted #d9cfc2}.pos-cart{flex:1 1 0;overflow-y:auto;min-height:150px;padding-right:2px}.pos-cart-row{display:grid;grid-template-columns:44px 1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dotted #ddd3c6}.pos-cart-row:last-child{border-bottom:0}.pos-cart-thumb{width:44px;height:44px;border-radius:6px;overflow:hidden;background:var(--color-surface-muted)}.pos-cart-thumb .pos-img-placeholder{font-size:16px}.pos-cart-name{font-size:12.5px;font-weight:600;line-height:1.3}.pos-cart-section{font-size:12px;font-weight:600;padding:12px 0 2px;color:var(--pos-muted)}.pos-cart-section.courier{color:var(--color-warning);border-top:2px dotted #d9cfc2;margin-top:8px;padding-top:14px}.pos-cart-delivery{font-size:11px;font-weight:500;color:var(--pos-muted);margin-top:2px}.pos-cart-delivery.courier{color:var(--color-warning)}.pos-cart-unit{font-family:var(--font-mono);font-size:11px;color:var(--pos-muted);margin-top:3px}.pos-cart-price{font-family:var(--font-mono);font-size:13px;font-weight:600;min-width:64px;text-align:right}.pos-qty{display:flex;align-items:center;border:1px solid #d6d1ca;border-radius:6px;background:#fff;overflow:hidden}.pos-qty button{border:0;background:none;width:26px;height:28px;cursor:pointer;color:var(--color-text);display:flex;align-items:center;justify-content:center}.pos-qty button:hover{background:var(--pos-blush);color:var(--color-primary)}.pos-qty span{font-family:var(--font-mono);font-size:12.5px;font-weight:600;min-width:24px;text-align:center}.pos-delivery-split{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.pos-delivery-box{border-radius:8px;padding:9px 12px;background:var(--color-surface-muted)}.pos-delivery-label{font-size:11.5px;font-weight:500;color:var(--pos-muted)}.pos-delivery-amount{font-family:var(--font-mono);font-size:16px;font-weight:600;margin-top:2px}.pos-delivery-note{font-size:11px;color:var(--color-warning);margin-top:1px}.pos-summary{border-top:2px dotted #d9cfc2;padding-top:12px;margin-top:6px}.pos-summary-line{display:flex;justify-content:space-between;font-size:13px;margin:6px 0;color:#4a443f}.pos-summary-line strong{font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.pos-summary-total{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:600;margin-top:10px}.pos-total-amount{font-family:var(--font-mono);font-size:30px;font-weight:600;letter-spacing:-.5px;color:var(--color-primary)}.pos-pay-title{font-size:12px;font-weight:600;margin-top:14px;color:var(--pos-muted)}.pos-pay{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px;padding:4px;background:var(--color-surface-muted);border-radius:9px}.pos-pay button{border:0;background:transparent;color:#4a443f;border-radius:6px;padding:9px 4px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.pos-pay button:hover{color:var(--color-text);background:#fff9}.pos-pay button.active{background:#fff;color:var(--color-primary);box-shadow:0 1px 3px #1c1a192e}.pos-pay-note{font-size:11.5px;color:var(--pos-muted);margin-top:6px;min-height:16px}.pos-save{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:8px;border:0;background:var(--color-primary);color:#fff;border-radius:9px;padding:15px;font-weight:600;font-size:15px;font-family:inherit;cursor:pointer;transition:background .12s}.pos-save:hover:not(:disabled){background:var(--color-primary-hover)}.pos-save:active:not(:disabled){transform:translateY(1px)}.pos-save:disabled{background:#b5a9a3;cursor:not-allowed}.pos-confirm{text-align:left;max-width:520px}.pos-confirm h2{font-size:18px;margin-bottom:2px}.pos-confirm-who{color:var(--color-text-muted);font-size:13px;margin-bottom:14px}.pos-confirm-items{list-style:none;margin:0 0 12px;padding:0;border:1px solid var(--color-border);border-radius:8px}.pos-confirm-items li{display:grid;grid-template-columns:1fr auto 84px;gap:12px;align-items:center;padding:10px 12px;font-size:13px}.pos-confirm-items li:not(:last-child){border-bottom:1px solid var(--color-border)}.pos-confirm-amt{text-align:right;font-weight:600}.pos-confirm-line{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.pos-confirm-total{font-weight:700;font-size:18px;margin:8px 0 12px;padding-top:10px;border-top:2px dotted #d9cfc2}.pos-confirm-total .num{color:var(--color-primary)}.pos-confirm-pay{margin:0 0 20px;font-size:13.5px}.catalog-pages{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.catalog-sheet{width:210mm;height:297mm;zoom:.7;display:flex;flex-direction:column;padding:12mm 14mm 10mm;background:#f3f3f3;color:#111;box-shadow:0 1px 6px #0000002e;overflow:hidden;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact}.catalog-head{flex:0 0 auto}.catalog-logo{display:block;height:16mm;max-width:80mm;margin:0 auto 6mm;object-fit:contain}.catalog-logo-text{display:block;text-align:center;font-size:26pt;font-weight:800;letter-spacing:1px;margin-bottom:6mm}.catalog-title{font-size:27pt;font-weight:700;line-height:1.15;margin:0;padding-bottom:4mm;border-bottom:.6mm solid #dcdcdc}.catalog-cont{font-size:14pt;font-weight:500;color:#666}.catalog-grid{flex:1;display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:10mm 0;padding-top:14mm}.catalog-item{width:33.333%;margin:0;padding:0 2mm;text-align:center}.catalog-img{height:62mm;display:flex;align-items:center;justify-content:center;color:#999;font-size:10pt}.catalog-img img{max-width:100%;max-height:100%;object-fit:contain}.catalog-item figcaption{margin-top:6mm;font-size:14.5pt;line-height:1.3}.catalog-foot{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding-top:4mm;border-top:.6mm solid #dcdcdc;font-size:13pt;color:#555}.catalog-foot b{color:#111}@page{size:A4;margin:0}@media print{html,body,#root{height:auto;background:#fff}.no-print,.app-sidebar,.app-sidebar-backdrop,.app-header{display:none!important}.app-shell{display:block}.content.catalog{padding:0}.catalog-pages{display:block}.catalog-sheet{zoom:1;box-shadow:none;margin:0}}
