@import "https://fonts.googleapis.com/css2?family=Karla:wght@300;400;500;600;700;800&family=Newsreader:opsz,wght@6..72,300..600&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--cr-stone-900:#211d19;--cr-clay-500:#9c5b36;--cr-clay-300:#d29e7e;--cr-clay-50:#fbf3ee;--cr-bg:#f2ede5;--cr-surface:#fffdfa;--cr-border:#e6dfd4;--cr-text-muted:#6a6055;--cr-label-muted:#8a7f70;--cr-color-text:var(--cr-stone-900);--cr-color-accent:var(--cr-clay-500);--cr-color-accent-on-dark:var(--cr-clay-300);--cr-color-knockout:var(--cr-clay-50);--cr-app-inventory:#9c5b36;--cr-app-register:#48533a;--cr-app-orders:#6e3924;--cr-app-invoices:#374b54;--cr-app-expenses:#d29e7e;--cr-app-books:#8a6828;--cr-app-payroll:#dfbe7d;--cr-app-people:#4a6470;--cr-app-rota:#8e9b6b;--cr-app-clock:#6a6055;--cr-app-suite:#211d19;--cr-font-wordmark:"Karla", sans-serif;--cr-font-display:"Newsreader", serif;--cr-font-mono:"IBM Plex Mono", monospace;--cr-radius-sm:8px;--cr-radius-md:12px;--cr-radius-lg:16px;--cr-register-ground:var(--cr-app-register)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--cr-bg);color:var(--cr-color-text);font-family:var(--cr-font-wordmark);-webkit-font-smoothing:antialiased;margin:0}button{cursor:pointer;font-family:inherit}.centered-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{background:var(--cr-surface);border:1px solid var(--cr-border);border-radius:var(--cr-radius-lg);padding:32px}.field{color:var(--cr-text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input{border:1px solid var(--cr-border);border-radius:var(--cr-radius-sm);color:var(--cr-color-text);background:#fff;padding:10px 12px;font-size:15px}.btn-primary{background:var(--cr-color-accent);color:var(--cr-color-knockout);border-radius:var(--cr-radius-sm);border:none;padding:12px 18px;font-size:15px;font-weight:600}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--cr-surface);color:var(--cr-color-text);border:1px solid var(--cr-border);border-radius:var(--cr-radius-sm);padding:12px 18px;font-size:15px;font-weight:600}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-link{color:var(--cr-color-accent);background:0 0;border:none;padding:0;font-size:13px}.error-text{color:#a3372a;font-size:13px}.muted-text{color:var(--cr-text-muted);font-size:14px}.pin-dots{justify-content:center;gap:10px;margin:8px 0 4px;display:flex}.pin-dot{border:1px solid var(--cr-border);background:0 0;border-radius:50%;width:12px;height:12px}.pin-dot.filled{background:var(--cr-color-accent);border-color:var(--cr-color-accent)}.pin-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.pin-key{border-radius:var(--cr-radius-md);border:1px solid var(--cr-border);background:var(--cr-surface);color:var(--cr-color-text);padding:16px 0;font-size:22px}.pin-key:hover{border-color:var(--cr-color-accent)}.checkout-screen{flex-direction:column;min-height:100vh;display:flex}.checkout-header{background:var(--cr-surface);border-bottom:1px solid var(--cr-border);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.header-right{align-items:center;gap:16px;display:flex}.mode-select{border-radius:var(--cr-radius-sm);border:1px solid var(--cr-border);background:#fff;padding:6px 8px;font-size:13px}.offline-pill{background:var(--cr-clay-300);color:var(--cr-stone-900);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600}.notice-banner,.offline-banner{background:var(--cr-clay-50);border-bottom:1px solid var(--cr-border);color:var(--cr-text-muted);padding:10px 24px;font-size:13px}.checkout-body{flex:1;min-height:0;display:flex}.catalog-pane{flex:2;padding:20px 24px;overflow-y:auto}.barcode-form{margin-bottom:16px}.barcode-input{border:1px solid var(--cr-border);border-radius:var(--cr-radius-sm);background:#fff;width:100%;padding:12px 14px;font-size:15px}.category-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.category-tab{border:1px solid var(--cr-border);background:var(--cr-surface);font-size:13px;font-family:var(--cr-font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--cr-label-muted);border-radius:99px;padding:6px 14px}.category-tab.active{background:var(--cr-color-text);color:var(--cr-color-knockout);border-color:var(--cr-color-text)}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.product-tile{background:var(--cr-surface);border:1px solid var(--cr-border);border-radius:var(--cr-radius-md);text-align:left;flex-direction:column;align-items:flex-start;gap:6px;min-height:84px;padding:16px 12px;display:flex;position:relative}.product-tile:hover:not(:disabled){border-color:var(--cr-color-accent)}.product-tile:disabled{opacity:.45;cursor:not-allowed}.tile-name{font-size:13px;font-weight:600;line-height:1.3}.tile-price{font-family:var(--cr-font-mono);color:var(--cr-color-accent);font-size:13px}.tile-oos{font-size:10px;font-family:var(--cr-font-mono);text-transform:uppercase;color:#a3372a;position:absolute;top:8px;right:8px}.cart-pane{background:var(--cr-surface);border-left:1px solid var(--cr-border);flex-direction:column;flex:1;min-width:300px;max-width:380px;padding:20px;display:flex}.cart-lines{flex-direction:column;flex:1;gap:10px;margin:12px 0;display:flex;overflow-y:auto}.cart-line{grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:14px;display:grid}.cart-line-controls{align-items:center;gap:8px;display:flex}.qty-btn{border:1px solid var(--cr-border);background:#fff;border-radius:6px;width:26px;height:26px}.cart-line-total{font-family:var(--cr-font-mono);font-size:13px}.cart-totals{border-top:1px solid var(--cr-border);flex-direction:column;gap:6px;padding-top:12px;display:flex}.receipt-line{justify-content:space-between;font-size:14px;display:flex}.receipt-total{padding-top:6px;font-size:16px;font-weight:700}.pay-buttons{gap:10px;margin-top:16px;display:flex}.pay-buttons button{flex:1}.modal-backdrop{z-index:10;background:#211d1973;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.receipt-lines{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.receipt-divider{background:var(--cr-border);height:1px;margin:10px 0}
