:root{--primary: #0f5132;--primary-light: #146c43;--danger: #b3261e;--bg: #f7f7f5;--card: #ffffff;--text: #1c1c1c;--muted: #6b6b6b;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text)}.page{max-width:480px;margin:0 auto;min-height:100%;padding:16px;display:flex;flex-direction:column;gap:16px}.error{color:var(--danger);background:#fdecea;padding:8px 12px;border-radius:8px;font-size:.9rem}.login-page{justify-content:center;align-items:center;text-align:center}.subtitle{color:var(--muted);margin-top:-8px}.pinpad{width:100%;max-width:320px}.pinpad-display{font-size:1.5rem;letter-spacing:4px;padding:16px;background:var(--card);border-radius:12px;margin-bottom:12px;min-height:1.5em}.pinpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pinpad-key{font-size:1.5rem;padding:20px 0;border-radius:12px;border:none;background:var(--card);box-shadow:0 1px 3px #0000001a}.pinpad-key:active{background:#eee}.pinpad-enter{background:var(--primary);color:#fff}.store-login-form{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px}.store-login-form input{padding:12px;border-radius:10px;border:1px solid #ddd;font-size:1rem}.store-login-form button{padding:14px;border-radius:10px;border:none;background:var(--primary);color:#fff;font-weight:600}.role-picker{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px}.role-picker-btn{padding:18px;border-radius:12px;border:none;background:var(--card);box-shadow:0 1px 3px #0000001a;font-size:1.1rem;font-weight:600}.register-header{display:flex;justify-content:space-between;align-items:center;font-weight:600}.header-actions{display:flex;gap:12px;font-size:.9rem}.header-actions a{color:var(--primary);text-decoration:none}.link-btn{background:none;border:none;color:var(--muted);padding:0;font-size:.9rem}.nav-header{display:flex;flex-direction:column;gap:8px}.nav-top{display:flex;justify-content:space-between;align-items:center}.nav-actions{display:flex;gap:12px;align-items:center}.update-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--primary);color:#fff;font-size:.85rem}.update-banner button{background:#fff;color:var(--primary);border:none;border-radius:6px;padding:4px 10px;font-weight:600;font-size:.85rem}.update-banner .link-btn{background:none;color:#fff;text-decoration:underline;font-weight:400}.nav-title{font-weight:700}.nav-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;-ms-overflow-style:none;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{flex:none;border:none;background:var(--card);color:var(--muted);padding:8px 14px;border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap}.nav-tab-active{background:var(--primary);color:#fff}.scanner-video{width:100%;border-radius:12px;background:#000;max-height:220px;object-fit:cover}.manual-entry{display:flex;gap:8px;margin-top:8px}.manual-entry input{flex:1;padding:10px;border-radius:8px;border:1px solid #ddd}.manual-entry button{padding:10px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff}.cart{flex:1;display:flex;flex-direction:column;gap:12px}.cart-lines{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.cart-empty{color:var(--muted);text-align:center;padding:24px}.cart-line{display:flex;align-items:center;gap:8px;background:var(--card);padding:12px;border-radius:10px}.cart-line-info{flex:1}.cart-line-name{font-weight:600}.cart-line-detail{color:var(--muted);font-size:.85rem}.badge{background:#e7f5ec;color:var(--primary);border-radius:6px;padding:1px 6px;margin-left:6px;font-size:.75rem}.cart-remove{background:none;border:none;color:var(--muted);font-size:1.1rem}.cart-summary{background:var(--card);border-radius:10px;padding:12px}.cart-summary>div{display:flex;justify-content:space-between;padding:4px 0}.cart-discount{color:var(--primary)}.cart-total{font-weight:700;font-size:1.1rem;border-top:1px solid #eee;margin-top:4px;padding-top:8px!important}.checkout-btn{padding:16px;border-radius:12px;border:none;background:var(--primary);color:#fff;font-size:1.1rem;font-weight:600}.checkout-btn:disabled{background:#aaa}.cart-sticky-bar{position:sticky;bottom:0;display:flex;flex-direction:column;gap:12px;background:var(--bg);padding-top:8px}.cart-adjust-row{padding:4px 0}.tax-exempt-toggle{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:.9rem;color:var(--muted)}.scanner-toggle{display:flex;justify-content:flex-end}.customer-capture{margin:4px 0}.toast{background:var(--primary);color:#fff;border-radius:8px;padding:8px 12px;font-weight:600;text-align:center}.receipt{background:var(--card);border-radius:12px;padding:16px}.receipt-line{display:flex;justify-content:space-between;padding:4px 0}.receipt-total{display:flex;justify-content:space-between;font-weight:700;border-top:1px solid #eee;margin-top:8px;padding-top:8px}.dashboard-section{background:var(--card);border-radius:12px;padding:16px}.stat-row{display:flex;gap:16px}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.stat-label{color:var(--muted);font-size:.85rem}.inline-form{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.inline-form input{padding:8px;border-radius:8px;border:1px solid #ddd;flex:1;min-width:90px}.inline-form button{padding:8px 14px;border-radius:8px;border:none;background:var(--primary);color:#fff}.cost-note{color:var(--muted);font-size:.85rem}.subtitle-small{color:var(--muted);font-size:.85rem;margin-top:-6px}.pending-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--bg);padding:8px 10px;border-radius:8px}.pending-row button{padding:6px 12px;border-radius:8px;border:none;background:var(--primary);color:#fff;white-space:nowrap}.po-row{display:flex;flex-direction:column;gap:2px;background:var(--bg);padding:8px 10px;border-radius:8px}.receipt-list{list-style:none;margin:8px 0 0;padding-left:14px;border-left:2px solid #ddd;display:flex;flex-direction:column;gap:8px}.receipt-row{display:flex;flex-direction:column;gap:2px;font-size:.9rem}.product-list,.transaction-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.search-input{width:100%;padding:12px 16px;border-radius:999px;border:1px solid #ddd;background:var(--card);font-size:1rem}.search-result{cursor:pointer;background:var(--bg);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.search-result:active{background:#eee}.search-result-name{font-size:.95rem}.price-pills-compact{gap:4px}.price-pills-compact .pill{padding:2px 10px;font-size:.75rem}.price-pills-compact .pill-primary{font-size:.8rem}.price-pills{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:4px}.costco-link{display:inline-block;margin-top:8px;font-size:.85rem;color:var(--primary-light)}.pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap}.pill-muted{background:#eee;color:var(--muted);text-decoration:line-through;font-weight:400}.pill-primary{background:var(--primary);color:#fff;font-size:1rem}.pill-tax{background:#e7f5ec;color:var(--primary)}.qty-stepper{display:flex;align-items:center;gap:8px}.qty-stepper button{width:32px;height:32px;border-radius:999px;border:1px solid #ddd;background:var(--card);font-size:1.1rem;line-height:1}.qty-stepper input{width:48px;text-align:center;padding:6px;border-radius:8px;border:1px solid #ddd}.qty-stepper-compact{gap:4px}.qty-stepper-compact button{width:26px;height:26px;font-size:.95rem}.qty-stepper-compact button:disabled{opacity:.4}.qty-value{min-width:20px;text-align:center;font-weight:600}.stock-note{color:var(--muted);font-size:.8rem}.stock-note.low{color:var(--danger)}.product-label{display:flex;flex-direction:column;align-items:center;gap:6px;width:240px;margin:12px auto;padding:12px;border:1px solid #ddd;border-radius:8px;background:var(--card);text-align:center}.product-label-name{font-weight:600;font-size:.9rem}.product-label-body{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}.product-label-prices{display:flex;flex-direction:column;align-items:flex-start}.product-label-original{color:var(--muted);text-decoration:line-through;font-size:.85rem}.product-label-price{font-size:1.5rem;font-weight:700;color:var(--primary)}.product-label-caption{font-size:.7rem;color:var(--muted)}.product-label-qr{width:80px;height:80px}.product-label-item{font-size:.75rem;color:var(--muted)}@media print{body *{visibility:hidden}.product-label,.product-label *{visibility:visible}.product-label{position:absolute;top:0;left:0;margin:0;border:none}.no-print{display:none!important}}
