*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a1a;background:#f5f5f5;font-family:system-ui,sans-serif;font-size:15px}.app-header{color:#fff;background:#1a1a2e;padding:1rem 2rem}.app-header h1{font-size:1.4rem;font-weight:600}.app-main{max-width:1100px;margin:0 auto;padding:2rem}.card{background:#fff;border:1px solid #ddd;border-radius:6px;margin-bottom:1.5rem;padding:1.5rem}.card h2{color:#333;margin-bottom:1rem;font-size:1.1rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.form-grid label{color:#555;flex-direction:column;gap:4px;font-size:.85rem;display:flex}.form-grid input{border:1px solid #ccc;border-radius:4px;padding:.45rem .6rem;font-size:.95rem}.form-grid input:focus{border-color:#4a7cf6;outline:none}.form-actions{gap:.5rem;display:flex}button{cursor:pointer;border:none;border-radius:4px;padding:.45rem .9rem;font-size:.9rem}.btn-primary{color:#fff;background:#4a7cf6}.btn-primary:hover{background:#3a6ce5}.btn-secondary{color:#333;background:#e5e5e5}.btn-secondary:hover{background:#d5d5d5}.btn-danger{color:#fff;background:#e74c3c;padding:.3rem .65rem;font-size:.8rem}.btn-danger:hover{background:#c0392b}.btn-edit{color:#fff;background:#f0ad4e;padding:.3rem .65rem;font-size:.8rem}.btn-edit:hover{background:#e09940}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #ddd;padding:.6rem .75rem;font-size:.8rem;font-weight:600}td{border-bottom:1px solid #eee;padding:.6rem .75rem}tr:last-child td{border-bottom:none}tr:hover td{background:#fafafa}.td-actions{gap:.4rem;display:flex}.error{color:#e74c3c;margin-bottom:.75rem;font-size:.9rem}.empty{color:#999;text-align:center;padding:2rem 0;font-style:italic}.search-input{border:1px solid #ccc;border-radius:4px;width:100%;margin-bottom:1rem;padding:.5rem .75rem;font-size:.9rem}.search-input:focus{border-color:#4a90d9;outline:none}.stock-clickable{cursor:pointer;border-bottom:1px dashed #999;padding-bottom:1px}.stock-clickable:hover{color:#4a90d9;border-color:#4a90d9}.stock-edit-inline{align-items:center;gap:.25rem;display:flex}.stock-edit-input{border:1px solid #ccc;border-radius:3px;width:70px;padding:.2rem .4rem;font-size:.85rem}.app-header{align-items:center;gap:2rem;display:flex}.app-nav{gap:.25rem;display:flex}.nav-tab{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:4px;padding:.35rem 1rem;font-size:.9rem;transition:background .15s}.nav-tab:hover{color:#fff;background:#ffffff1a}.nav-tab.active{color:#fff;background:#fff3;border-color:#ffffff80}.kiosk{width:100%}.kiosk-scanbar{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.kiosk-qty-btn{color:#1a1a2e;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #1a1a2e;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:.45rem 1rem;line-height:1;display:flex}.kiosk-qty-btn:hover:not(:disabled){background:#f3f3f3}.kiosk-qty-btn:active:not(:disabled){background:#e5e5e5}.kiosk-qty-btn:disabled{opacity:.4;cursor:default}.kiosk-qty-btn-caption{color:#555;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.kiosk-qty-btn-value{font-size:1.35rem;font-weight:700}.numpad-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.numpad{background:#fff;border-radius:10px;width:min(340px,92vw);padding:1rem;box-shadow:0 12px 32px #00000040}.numpad-display{text-align:right;font-variant-numeric:tabular-nums;background:#fffde7;border:2px solid #1a1a2e;border-radius:6px;min-height:2.5rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:2rem;font-weight:700}.numpad-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem;display:grid}.numpad-key{color:#1a1a2e;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f3f3f3;border:1px solid #ccc;border-radius:6px;padding:.9rem 0;font-size:1.6rem;font-weight:600}.numpad-key:hover{background:#e5e5e5}.numpad-key:active{background:#d5d5d5}.numpad-key-back{background:#fde2e2}.numpad-key-back:hover{background:#f8c8c8}.numpad-actions{gap:.5rem;display:flex}.numpad-actions button{flex:1}.kiosk-scan-input{background:#fffde7;border:2px solid #1a1a2e;border-radius:6px;flex:1;min-height:52px;padding:.85rem 1rem;font-size:1.25rem}.kiosk-scan-input:focus{background:#fff;border-color:#4a7cf6;outline:none}.kiosk-error{margin-bottom:.75rem;font-size:1rem}.kiosk-success{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;margin-bottom:.75rem;padding:.65rem 1rem;font-size:1rem}.kiosk-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=800px){.kiosk-grid{grid-template-columns:1fr 280px}}.kiosk-cart{overflow-x:auto}.kiosk-sku{color:#888;font-family:monospace;font-size:.85rem}.kiosk-linetotal{font-weight:600}.kiosk-receipt{flex-direction:column;gap:1rem;display:flex}.receipt-lines{flex-direction:column;gap:.5rem;display:flex}.receipt-line{color:#444;justify-content:space-between;font-size:.95rem;display:flex}.receipt-total{color:#1a1a2e;border-top:2px solid #1a1a2e;margin-top:.25rem;padding-top:.5rem;font-size:1.25rem;font-weight:700}.kiosk-actions{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.kiosk-complete-btn{width:100%;min-height:60px;padding:1.1rem 1rem;font-size:1.2rem;font-weight:700}.kiosk-actions .btn-secondary{min-height:48px;padding:.85rem 1rem;font-size:1rem}.kiosk-cart table{font-size:1.05rem}.kiosk-cart th{padding:.55rem .5rem}.kiosk-cart td{vertical-align:middle;padding:.75rem .5rem}@keyframes kiosk-row-flash{0%{background:#fff3a8}to{background:0 0}}.kiosk-cart tr.kiosk-row-flash td{animation:1.2s ease-out kiosk-row-flash}.kiosk-cart .btn-danger{min-width:44px;min-height:44px;padding:.45rem .9rem;font-size:1.3rem;font-weight:700;line-height:1}.kiosk-complete-btn:disabled{opacity:.5;cursor:default}.kiosk-disc-input{text-align:right;border:1px solid #ccc;border-radius:4px;width:64px;padding:.35rem .45rem;font-size:.95rem}.kiosk-line-strike{color:#888;font-size:.85em;text-decoration:line-through;display:block}.kiosk-receipt-controls{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.kiosk-field{flex-direction:column;flex:180px;gap:.2rem;display:flex}.kiosk-field span{color:#555;font-size:.85rem}.kiosk-field input{border:1px solid #ccc;border-radius:4px;padding:.5rem .6rem;font-size:1rem}.kiosk-field-sm{flex:0 140px}.receipt-discount{color:#b75400;font-weight:600}.receipt-cui{color:#333;border-top:1px dashed #ccc;margin-top:.4rem;padding-top:.4rem;font-size:.9rem}.kiosk-held{border-top:1px solid #eee;margin-top:1rem;padding-top:.75rem}.kiosk-held h3{color:#555;margin:0 0 .5rem;font-size:.95rem}.kiosk-held-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.kiosk-held-list li{background:#fafafa;border:1px solid #eee;border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem .6rem;display:flex}.kiosk-held-meta{flex-direction:column;font-size:.9rem;display:flex}.kiosk-held-time{color:#333;font-weight:600}.kiosk-held-actions{gap:.35rem;display:flex}.btn-sm{padding:.3rem .6rem;font-size:.85rem}.app-header-controls{align-items:center;gap:1rem;margin-left:auto;display:flex}.shop-selector{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;padding:.35rem .6rem;font-size:.9rem}.shop-selector option{color:#fff;background:#1a1a2e}.form-grid select{background:#fff;border:1px solid #ccc;border-radius:4px;padding:.45rem .6rem;font-size:.95rem}.form-grid select:focus{border-color:#4a7cf6;outline:none}.kiosk-offline-banner{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.kiosk-syncing-banner{color:#0c5460;background:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;margin-bottom:.75rem;padding:.5rem 1rem;font-size:.9rem}.kiosk-sync-errors{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.9rem}.kiosk-sync-errors ul{margin:.25rem 0 .5rem 1.25rem;padding:0}.kiosk-sync-errors li{margin-bottom:.15rem}.kiosk-stock-warning{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.kiosk-pos{color:#555;border-top:1px solid #eee;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;font-size:.85rem;display:flex}.pos-indicator{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pos-disconnected{background:#aaa}.pos-connected{background:#28a745}.pos-error{background:#dc3545}.pos-label{flex:1}.pos-error{color:#dc3545;font-size:.8rem}.kiosk-scan-input-check{background:#e7f3ff;border-color:#4a7cf6}.kiosk-pricecheck{text-align:center;padding:2rem 1rem}.kiosk-pricecheck-name{color:#1a1a2e;margin-bottom:.25rem;font-size:1.6rem;font-weight:700}.kiosk-pricecheck-sku{color:#888;margin-bottom:1rem;font-family:monospace;font-size:.95rem}.kiosk-pricecheck-price{color:#28a745;margin-bottom:.75rem;font-size:2.5rem;font-weight:700}.kiosk-pricecheck-meta{color:#555;justify-content:center;gap:1.5rem;font-size:.95rem;display:flex}.dashboard-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-filter{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.35rem .75rem;font-size:.85rem}.btn-filter:hover{background:#eee}.btn-filter.active{color:#fff;background:#4a7cf6;border-color:#4a7cf6}.date-input{border:1px solid #ccc;border-radius:4px;padding:.35rem .5rem;font-size:.85rem}.dashboard-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.dashboard-kpi{text-align:center;padding:1.25rem 1rem}.kpi-value{color:#1a1a2e;font-size:1.6rem;font-weight:700}.kpi-label{color:#777;text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem;font-size:.8rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (width>=800px){.dashboard-grid{grid-template-columns:1.5fr 1fr}}.dashboard-expand-btn{color:#4a7cf6;cursor:pointer;background:0 0;border:none;padding:.2rem .5rem;font-size:.85rem}.dashboard-expand-btn:hover{text-decoration:underline}.dashboard-sale-details{background:#f9f9f9;border-radius:4px;margin:.25rem 0;padding:.75rem}.dashboard-sale-details table{font-size:.85rem}.dashboard-pagination{justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;font-size:.9rem;display:flex}.transfers-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.transfers-columns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=700px){.transfers-columns{grid-template-columns:1fr}}.transfer-list{flex-direction:column;gap:.5rem;display:flex}.transfer-card{text-align:left;cursor:pointer;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;width:100%;padding:.75rem 1rem;transition:background .15s}.transfer-card:hover{background:#f0f4ff;border-color:#aac}.transfer-card-top{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.transfer-number{font-size:.95rem;font-weight:600}.transfer-card-meta{color:#555;flex-wrap:wrap;gap:1rem;font-size:.82rem;display:flex}.transfer-date{color:#888;margin-left:auto}.transfer-meta{color:#555;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.transfer-notes{color:#666;margin-bottom:.5rem;font-size:.875rem;font-style:italic}.transfer-detail-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.transfer-detail-header h2{margin-bottom:.25rem}.transfer-search-dropdown{z-index:100;background:#fff;border:1px solid #ddd;border-radius:4px;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 12px #0000001a}.transfer-search-item{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.6rem 1rem;font-size:.9rem;display:flex}.transfer-search-item:hover{background:#f0f4ff}.transfer-search-sku{color:#888;font-size:.8rem}.badge{border-radius:12px;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-pending{color:#856404;background:#fff3cd}.badge-confirmed{color:#0a6640;background:#d1e7dd}.badge-cancelled{color:#842029;background:#f8d7da}.aviz-print{background:#fff;max-width:800px;margin:0 auto;padding:2rem;font-family:Times New Roman,serif}.aviz-header{text-align:center;margin-bottom:1.5rem}.aviz-header h1{letter-spacing:2px;font-size:1.6rem}.aviz-number{margin-top:.25rem;font-size:1.1rem;font-weight:700}.aviz-date{color:#555;margin-top:.2rem;font-size:.9rem}.aviz-parties{border:1px solid #ccc;border-radius:4px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.5rem;display:flex}.aviz-party{flex:1}.aviz-party strong{text-transform:uppercase;letter-spacing:1px;color:#777;margin-bottom:.25rem;font-size:.8rem;display:block}.aviz-addr{color:#555;font-size:.85rem}.aviz-arrow{color:#999;flex-shrink:0;font-size:2rem}.aviz-notes{margin-bottom:1rem;font-size:.875rem;font-style:italic}.aviz-table{border-collapse:collapse;width:100%;margin-bottom:2rem}.aviz-table th,.aviz-table td{border:1px solid #999;padding:.5rem .75rem;font-size:.9rem}.aviz-table th{text-align:left;background:#f0f0f0;font-weight:700}.aviz-table td:last-child{width:120px}.aviz-signatures{justify-content:space-around;gap:4rem;margin-top:3rem;display:flex}.aviz-sig-box{text-align:center;flex:1}.aviz-sig-label{margin-bottom:2rem;font-size:.85rem;font-weight:600}.aviz-sig-line{border-top:1px solid #333;margin:0 1rem}.aviz-actions{gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=640px){.app-header{flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem}.app-header h1{font-size:1.1rem}.app-header-controls{flex-wrap:wrap;gap:.5rem;width:100%;margin-left:0}.app-nav{flex-wrap:wrap;gap:.25rem}.nav-tab{padding:.3rem .65rem;font-size:.85rem}.shop-selector{flex:auto;min-width:0;max-width:100%}.app-main{padding:.75rem}.card{margin-bottom:1rem;padding:1rem}.kiosk-scanbar{flex-wrap:wrap}.kiosk-scan-input{flex:100%;order:3}.kiosk-receipt-controls{gap:.5rem}.kiosk-field,.kiosk-field-sm{flex:100%}.kiosk-cart table{font-size:.95rem}.kiosk-cart th,.kiosk-cart td{padding:.5rem .35rem}.kiosk-disc-input{width:52px}}@media print{.no-print,.app-header,.app-nav{display:none!important}.aviz-print{padding:0}}
