:root{--navy: #0b3d78;--navy-dark: #082a54;--blue: #155a9c;--blue-light: #eaf2fb;--gold: #f4c542;--gold-dark: #d9a916;--gold-soft: #fdf4d6;--red: #c62828;--red-soft: #fdecec;--ink: #14213a;--muted: #5d6b80;--line: #e1e7ef;--bg: #f3f6fa;--card: #ffffff;--radius: 12px;--shadow: 0 1px 2px rgba(8, 30, 60, .06), 0 4px 16px rgba(8, 30, 60, .06)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;color:var(--ink);background:var(--bg)}h1,h2,h3{margin:0;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:600;cursor:pointer;white-space:nowrap}.btn:hover{background:#eef3f9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy-dark)}.btn.gold{background:var(--gold);border-color:var(--gold);color:#3a2c00}.btn.danger{color:var(--red);border-color:#f3c7c7}.btn.danger:hover{background:var(--red-soft)}.btn.big{min-height:60px;font-size:18px;width:100%}.btn.small{min-height:34px;padding:0 12px;font-size:14px}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border:none;background:transparent;border-radius:10px;cursor:pointer}.icon-btn:hover{background:#edf2f8}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}textarea{min-height:80px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:-1px;border-color:transparent}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-weight:600;font-size:14px}.field-help{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.shell{display:flex;min-height:100%}.sidebar{width:240px;flex-shrink:0;background:var(--navy-dark);color:#dbe6f5;display:flex;flex-direction:column;padding:16px 12px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 18px}.logo{width:42px;height:42px;border-radius:10px;background:var(--gold);color:var(--navy-dark);display:grid;place-items:center;font-weight:800;font-size:17px}.brand-name{font-weight:700;color:#fff}.brand-sub{font-size:12px;opacity:.7}.sidebar nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border:none;border-radius:10px;background:transparent;color:inherit;font-weight:500;cursor:pointer;text-align:left}.nav-item:hover{background:#ffffff14}.nav-item.active{background:var(--gold);color:var(--navy-dark);font-weight:700}.me{border-top:1px solid rgba(255,255,255,.12);padding-top:12px}.me-name{font-weight:600;color:#fff;padding:0 12px}.me-role{font-size:13px;opacity:.7;padding:0 12px 6px}.content{flex:1;min-width:0;padding:24px 28px 40px}.topbar,.scrim{display:none}.notice{background:var(--gold-soft);border:1px solid #f3dd9a;color:#6b5200;padding:10px 14px;border-radius:10px;margin-bottom:18px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.till-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--blue-light);border:1px solid #cddcf0;color:var(--navy);padding:8px 8px 8px 14px;border-radius:10px;margin-bottom:14px;font-size:14px}.till-bar .grow{flex:1}.open-till{max-width:440px;margin:40px auto;padding:28px;text-align:center}.open-till .big-icon{width:64px;height:64px;border-radius:16px;background:var(--blue-light);color:var(--navy);display:grid;place-items:center;margin:0 auto 14px}.open-till form{display:grid;gap:14px;margin-top:18px;text-align:left}.cashup{display:grid;gap:8px;margin:6px 0 14px}.cashup .sum-row{padding:2px 0}.cashup .sum-row.total{font-size:18px;border-top:1px solid var(--line);padding-top:8px}.diff{border-radius:10px;padding:14px;display:flex;justify-content:space-between;font-size:20px;font-weight:800}.diff.ok{background:var(--blue-light);color:var(--navy)}.diff.short{background:var(--red-soft);color:var(--red)}.diff.over{background:var(--gold-soft);color:#7a5b00}.return-line{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.return-line input{width:90px;text-align:center}.splash{display:grid;place-items:center;height:100%;color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-size:26px}.page-head.in-tab{align-items:center;margin-bottom:16px}.page-head.in-tab .hint{margin:0}.tabbed-title{font-size:26px;margin-bottom:12px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.tab{border:none;background:transparent;padding:10px 16px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--ink)}.tab.active{color:var(--navy);border-bottom-color:var(--gold)}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.hint{color:var(--muted);margin:4px 0 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:13px;color:var(--muted);font-weight:600;background:#f8fafd}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-actions{display:flex;gap:6px;justify-content:flex-end}.tag{display:inline-block;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:600;background:#edf2f8}.tag.ok{background:var(--blue-light);color:var(--navy)}.tag.red{background:var(--red-soft);color:var(--red)}.tag.gold{background:var(--gold-soft);color:#7a5b00}.tag.blue{background:#e3edf9;color:var(--blue)}.muted{color:var(--muted)}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.toolbar .search{flex:1;min-width:200px;position:relative}.toolbar .search svg{position:absolute;left:12px;top:12px;color:var(--muted)}.toolbar .search input{padding-left:40px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:20px}.tile{padding:18px}.tile-label{color:var(--muted);font-size:14px;font-weight:500}.tile-value{font-size:26px;font-weight:800;margin-top:6px;font-variant-numeric:tabular-nums}.tile-note{font-size:13px;color:var(--muted);margin-top:4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-title{font-size:17px;margin-bottom:12px}.bars{display:flex;align-items:flex-end;gap:10px;height:180px;padding-top:10px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.bar{width:100%;max-width:48px;background:var(--navy);border-radius:6px 6px 0 0;min-height:2px}.bar-label{font-size:12px;color:var(--muted)}.bar-value{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.sell{display:grid;grid-template-columns:1fr 380px;gap:18px;align-items:start}.cats{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}.cat-chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 16px;font-weight:600;cursor:pointer;white-space:nowrap}.cat-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.product-tile{text-align:left;padding:14px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:110px;box-shadow:var(--shadow)}.product-tile:hover{border-color:var(--navy)}.product-tile:disabled{cursor:not-allowed;opacity:.55}.product-tile .p-name{font-weight:600;line-height:1.3;flex:1}.product-tile .p-price{font-weight:800;color:var(--navy);font-size:17px}.product-tile .p-stock{font-size:12px;color:var(--muted)}.product-tile .p-stock.low{color:var(--red);font-weight:600}.cart{position:sticky;top:16px;display:flex;flex-direction:column;max-height:calc(100vh - 32px)}.cart-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.cart-lines{overflow-y:auto;flex:1;min-height:120px}.cart-line{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:12px 18px;border-bottom:1px solid var(--line)}.cart-line .name{font-weight:600}.cart-line .each{font-size:13px;color:var(--muted)}.cart-line .line-total{font-weight:700;text-align:right}.stepper{display:inline-flex;align-items:center;gap:4px}.stepper button{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center}.stepper input{width:56px;min-height:34px;padding:4px;text-align:center}.cart-sums{padding:14px 18px;border-top:1px solid var(--line);display:grid;gap:6px}.sum-row{display:flex;justify-content:space-between}.sum-row.total{font-size:22px;font-weight:800;padding-top:6px}.cart-foot{padding:0 18px 18px;display:grid;gap:10px}.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pay-method{min-height:64px;border-radius:10px;border:2px solid var(--line);background:#fff;font-weight:700;cursor:pointer}.pay-method.active{border-color:var(--navy);background:var(--blue-light);color:var(--navy)}.quick-cash{display:flex;gap:8px;flex-wrap:wrap}.change-box{background:var(--blue-light);border-radius:10px;padding:14px;display:flex;justify-content:space-between;font-size:20px;font-weight:800;color:var(--navy)}.change-box.short{background:var(--red-soft);color:var(--red)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#06142d73;display:grid;place-items:center;padding:16px;z-index:50}.modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;padding:22px;box-shadow:0 20px 60px #00000040}.modal-wide{max-width:760px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h2{font-size:20px}.receipt{font-family:Courier New,monospace;font-size:13px;max-width:300px;margin:0 auto;border:1px dashed var(--line);padding:16px}.receipt .center{text-align:center}.receipt hr{border:none;border-top:1px dashed #999;margin:8px 0}.receipt .r-row{display:flex;justify-content:space-between;gap:8px}.receipt .r-total{font-weight:700;font-size:15px}.login-wrap{min-height:100%;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,var(--navy-dark),var(--navy))}.login-card{width:100%;max-width:400px;padding:30px}.login-card .logo{width:56px;height:56px;font-size:22px;margin-bottom:14px}.login-card h1{font-size:24px}.login-card form{display:grid;gap:14px;margin-top:20px}.error{background:var(--red-soft);color:var(--red);padding:10px 12px;border-radius:10px;font-size:14px}.demo-logins{margin-top:18px;font-size:13px;color:var(--muted);display:grid;gap:6px}.demo-logins button{text-align:left}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:10px;z-index:60;font-weight:600;box-shadow:var(--shadow)}.toast.error{background:var(--red)}@media (max-width: 1100px){.sell{grid-template-columns:1fr 330px}}@media (max-width: 900px){.sidebar{position:fixed;left:0;top:0;z-index:40;transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:30}.topbar{display:flex;align-items:center;gap:8px;margin:-8px 0 12px}.content{padding:16px}.sell{grid-template-columns:1fr}.cart{position:static;max-height:none}.two-col,.form-grid{grid-template-columns:1fr}}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.report-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;cursor:pointer;font-size:14px;border-left:4px solid var(--navy)}.report-card:hover{border-color:var(--line);border-left-color:var(--gold)}.report-card:disabled{cursor:default;opacity:.55;border-left-color:var(--line)}.report-card strong{font-size:15px}tr.total-row td{font-weight:800;background:var(--blue-light);border-top:2px solid var(--navy)}.hbars{display:grid;gap:8px}.hbar{display:grid;grid-template-columns:minmax(90px,220px) 1fr auto;gap:10px;align-items:center;font-size:14px}.hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{background:var(--blue-light);border-radius:6px;height:14px;overflow:hidden}.hbar-fill{display:block;height:100%;background:var(--navy);border-radius:6px}.hbar-value{font-variant-numeric:tabular-nums;font-weight:600}.picker,.picker .search{position:relative}.picker .search svg{position:absolute;left:12px;top:12px;color:var(--muted)}.picker .search input{padding-left:40px}.picker-list{position:absolute;left:0;right:0;top:48px;z-index:5;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:320px;overflow-y:auto}.picker-list button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;border:none;background:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--line)}.picker-list button:hover{background:var(--blue-light)}.quotation{padding:8px}.quote-head{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid var(--gold);padding-bottom:14px}.branch-pick{margin:0 6px 14px;padding:8px 10px;border-radius:10px;background:#ffffff14;font-size:13px;display:grid;gap:4px}.branch-pick span{opacity:.7}.branch-pick strong{color:#fff;font-size:14px}.branch-pick select{min-height:34px;padding:4px 8px;background:#fff;color:var(--ink)}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.perm-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:4px;font-size:14px}.perm-list li:before{display:inline-block;width:20px;font-weight:800}.perm-list li.yes:before{content:"✓";color:var(--navy)}.perm-list li.no{color:var(--muted);text-decoration:line-through}.perm-list li.no:before{content:"✕";color:var(--red);text-decoration:none}.perm-checks{display:grid;gap:8px;margin-top:8px}.perm-check{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:14px}.perm-check.on{border-color:var(--navy);background:var(--blue-light)}.perm-check input{width:20px;min-height:20px;margin-top:2px}.settings-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:18px;align-items:start}.switch-row{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:14px;background:#fff}.switch-row input{width:20px;min-height:20px;margin-top:2px;flex-shrink:0}.toggle{position:relative;display:inline-block;width:46px;height:26px;cursor:pointer}.toggle input{opacity:0;width:0;height:0;min-height:0;position:absolute}.toggle span{position:absolute;top:0;right:0;bottom:0;left:0;background:#cfd8e3;border-radius:99px;transition:background .15s}.toggle span:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #00000040}.toggle input:checked+span{background:var(--navy)}.toggle input:checked+span:after{transform:translate(20px)}.receipt.narrow{max-width:220px;font-size:11px}@media (max-width: 900px){.settings-split{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.receipt,.receipt *{visibility:visible}.receipt{position:absolute;left:0;top:0;border:none;width:72mm}.receipt.narrow{width:48mm}.report-print,.report-print *{visibility:visible}.report-print{position:absolute;left:0;top:0;width:100%}.report-print .no-print{display:none!important}.report-print .card{box-shadow:none}.report-print td,.report-print th{padding:6px 8px;font-size:12px}}
