:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f3f5f7;color:#18202a}*{box-sizing:border-box}body{margin:0}header{position:sticky;top:0;z-index:20;background:#111827;color:white;padding:12px 18px;display:flex;gap:18px;align-items:center}.brand{font-size:20px;font-weight:800;white-space:nowrap}nav{display:flex;gap:8px;flex-wrap:wrap}nav a{color:white;text-decoration:none;padding:8px 10px;border-radius:8px}nav a:hover{background:#374151}.menuBtn{display:none;margin-left:auto}main{max-width:1500px;margin:auto;padding:16px}h1,h2{margin-top:8px}.card{background:white;border-radius:14px;padding:16px;box-shadow:0 1px 4px #0002;margin-bottom:14px}.login{max-width:420px;margin:9vh auto}.login input{font-size:28px;text-align:center}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:12px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}label{display:grid;gap:5px;font-weight:600}.check{display:flex;align-items:center;gap:7px}input,select,textarea,button,.button{font:inherit;min-height:42px;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px}input,select,textarea{background:white;width:100%}button,.button{cursor:pointer;background:#fff;text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center}.primary,.pay{background:#2563eb;color:white;border-color:#2563eb;font-weight:700}.secondary{background:#e5e7eb}.big{min-height:52px;font-size:17px}.flash{padding:12px;border-radius:10px;margin-bottom:10px}.success{background:#dcfce7}.danger{background:#fee2e2}.warning{background:#fef3c7}.posgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);gap:14px}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px}.product{width:100%;min-height:120px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left}.product strong{font-size:20px;color:#2563eb}.product span,.product small,.muted{color:#64748b}.cart{position:sticky;top:77px;align-self:start}.cartline{display:grid;grid-template-columns:1fr 150px auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb}.cartline small{display:block;color:#64748b}.qty{display:flex}.qty input{width:72px}.totals{font-size:18px;padding:12px 0}.totals div,.receiptline{display:flex;justify-content:space-between;padding:5px 0}.totals .grand,.bigtotal{font-size:26px;border-top:2px solid #111827;margin-top:8px;padding-top:12px}.paygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.pay{min-height:58px}.tablewrap{overflow:auto;background:white;border-radius:12px;margin:12px 0}table{border-collapse:collapse;width:100%;min-width:800px}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{background:#f8fafc;position:sticky;top:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.poLine{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:8px 0}.receipt{max-width:520px;margin:auto}.receipt h1,.receipt h2{text-align:center}code{background:#eef2ff;padding:3px 6px;border-radius:5px}@media(max-width:850px){header{align-items:flex-start}.menuBtn{display:block}nav{display:none;position:absolute;top:58px;left:0;right:0;background:#111827;padding:10px;flex-direction:column}.navopen nav{display:flex}.posgrid{grid-template-columns:1fr}.cart{position:static}.cartline{grid-template-columns:1fr auto}.cartline .qty{grid-column:1/-1}.products{grid-template-columns:repeat(2,1fr)}.paygrid{grid-template-columns:1fr}.poLine{grid-template-columns:1fr}.brand{max-width:75vw;overflow:hidden;text-overflow:ellipsis}}@media print{header,.primary,.button,nav,.menuBtn{display:none!important}body,main{background:white;padding:0}.card{box-shadow:none}}

.modalbackdrop{position:fixed;inset:0;z-index:100;background:#0008;display:flex;align-items:center;justify-content:center;padding:18px}.modalbackdrop[hidden]{display:none}.modalcard{background:white;width:min(460px,100%);border-radius:16px;padding:20px;box-shadow:0 20px 50px #0005}.modalcard h2{margin-top:0}.cashsummary{display:flex;justify-content:space-between;align-items:center;font-size:22px;padding:12px 0}.cashsummary strong{font-size:28px}.changebox{background:#f1f5f9;border-radius:12px;padding:12px}.modalactions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:8px}#amountTendered{font-size:28px;font-weight:700;text-align:right}@media(max-width:500px){.modalactions{grid-template-columns:1fr}.modalcard{padding:16px}}
.orderbtn{background:#7c3aed;color:white;border-color:#7c3aed;font-weight:700}.spread{justify-content:space-between}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-weight:800;font-size:12px}.status-open{background:#dbeafe}.status-ready{background:#dcfce7}.status-converted{background:#e5e7eb}.status-cancelled{background:#fee2e2}.ordernotes{background:#f8fafc;border-radius:10px;padding:10px;margin:10px 0}.ordernotes p{margin-bottom:0}

.loginBadge{
  margin-left:auto;
  padding:.45rem .7rem;
  border-radius:999px;
  font-size:.9rem;
  white-space:nowrap;
}
.loginBadge strong{font-weight:700}
@media (max-width:900px){
  .loginBadge{font-size:.8rem;padding:.35rem .55rem}
}

.brandWithLogo{display:flex;align-items:center;gap:.6rem}
.businessLogo{height:48px;width:64px;object-fit:cover;border-radius:8px;flex:0 0 auto}
@media (max-width:900px){.businessLogo{height:40px;width:54px}}

.cameraScanBtn{white-space:nowrap}
.scannerCard{max-width:620px}
.barcodeReader{width:100%;min-height:220px;overflow:hidden;border-radius:10px}
.barcodeReader video{max-width:100%!important}
.photoFallback{margin-top:.75rem}
@media (min-width:1000px){
  .cameraScanBtn{display:none}
}
@media (max-width:999px){
  .cameraScanBtn{display:inline-block}
}
