* {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif;
  background: #edf7f0;
  color: #173a27;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button,
input,
select {
  font: inherit;
}
button {
  border: 0;
  border-radius: 9px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 700;
  background: #e5eee8;
  color: #173a27;
}
button:hover {
  filter: brightness(0.97);
}
.primary {
  background: #168a45;
  color: #fff;
}
.danger {
  background: #c83b3b;
  color: #fff;
}
.gold {
  background: #e2a72c;
  color: #241d08;
}
.full {
  width: 100%;
}
.installAppBtn {
  margin-top: 9px;
}
header .installAppBtn {
  margin-top: 0;
  padding: 7px 10px;
  font-size: 11px;
}
.hidden {
  display: none !important;
}
.loginScreen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #07552b, #168a45, #63bd69);
}
.landingShell{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:stretch;border:1px solid rgba(255,255,255,.24);border-radius:30px;overflow:hidden;background:rgba(255,255,255,.08);box-shadow:0 32px 90px rgba(0,0,0,.34);backdrop-filter:blur(10px)}
.landingIntro{padding:clamp(34px,6vw,78px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(145deg,rgba(2,45,24,.88),rgba(13,112,61,.72))}
.landingEyebrow{color:#f0b429;font-size:12px;font-weight:900;letter-spacing:1.4px}.landingIntro h1{margin:13px 0;font-size:clamp(38px,5vw,68px);line-height:1.02;color:#fff}.landingIntro p{max-width:620px;color:#d9f2e4;font-size:clamp(15px,1.4vw,19px);line-height:1.6}.landingFeatures{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.landingFeatures span{padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);font-size:12px;font-weight:800}
.landingShell .loginBox{width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,4vw,48px)}
.loginBox {
  width: min(390px, 92vw);
  background: #fff;
  border-radius: 24px;
  padding: 34px 32px 30px;
  box-shadow: 0 24px 70px #001b0e55;
  text-align: center;
}
.loginLogoWrap {
  width: 104px;
  height: 104px;
  margin: -2px auto 14px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  background: #f4faf6;
  border: 1px solid #d4e8da;
  overflow: hidden;
  box-shadow: 0 10px 24px #0b5d2f22;
}
.loginLogoWrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media(max-width:820px){.landingShell{grid-template-columns:1fr;max-width:500px}.landingIntro{display:none}.landingShell .loginBox{border-radius:24px}.landingShell{border-radius:24px}}
.brand {
  font-size: 25px;
  font-weight: 900;
  color: #168a45;
}
.subbrand {
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 1.2px;
  margin: 6px 0 22px;
  color: #53675a;
}
.loginBox input {
  display: block;
  width: 100%;
  padding: 13px;
  margin: 11px 0;
  border: 1px solid #b7c9bc;
  border-radius: 9px;
  color: #182b20;
  background: #fff;
}
.loginField {
  display: block;
  text-align: left;
  margin-top: 12px;
}
.loginField span {
  display: block;
  margin: 0 2px 6px;
  color: #17281d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .8px;
}
.loginField input { margin: 0; min-height: 47px; }
.loginBox #loginBtn {
  min-height: 48px;
  margin-top: 14px;
  font-size: 15px;
  letter-spacing: .5px;
}
.activationLandingLink,.providerLandingLink{display:block;width:100%;border:0;background:transparent;color:#0b5d2f;font-weight:900;font-size:12px;padding:10px 6px;letter-spacing:.35px}
.providerLandingLink{color:#34453a;font-size:11px;padding-top:3px}
.activationTerms{display:flex;align-items:flex-start;gap:9px;margin:12px 0;color:#101a13;font-weight:800}.activationTerms input{width:20px;height:20px;flex:0 0 auto}
.handoffCard{padding:16px;border:2px solid #0b5d2f;border-radius:12px;background:#f1faf4}.handoffCard input{font-weight:900;color:#000;background:#fff}.activationHandoff .balance{background:#fff2d9;padding:11px;border-radius:8px}
.hint {
  font-size: 12px;
  color: #6c7b71;
  margin-top: 13px;
}
.error {
  color: #b92e2e;
  min-height: 18px;
  margin-top: 8px;
}
header {
  height: 64px;
  background: #0b5d2f;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  position: sticky;
  top: 0;
  z-index: 5;
}
header span {
  font-size: 12px;
  opacity: 1;
  color: #f2fff6;
  font-weight: 800;
  margin-left: 7px;
}
#userBadge {
  font-size: 13px;
  color: #fff;
  font-weight: 800;
}
.headerUser {
  display: flex;
  align-items: center;
  gap: 10px;
}
.networkBadge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  padding: 7px 10px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .3px;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px #fff4;
}
.networkBadge i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  animation: networkBlink 1s infinite;
}
.networkOnline { background: #129447; }
.networkOffline { background: #c72f2f; }
.networkQueued { background: #df9815; color: #211700; }
@keyframes networkBlink {
  0%, 45% { opacity: 1; box-shadow: 0 0 0 0 currentColor; }
  55%, 100% { opacity: .25; box-shadow: 0 0 0 5px transparent; }
}
@media (max-width: 720px) {
  .networkBadge { padding: 6px 8px; }
  .networkBadge span { max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
  header > div:first-child span { display: none; }
  header .installAppBtn { display: none; }
}

/* Build 59 compact, organized financial reports */
.reportPeriod{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 10px;padding:9px 12px;border-left:4px solid #0b5d2f;border-radius:7px;background:#f3f7f4;color:#17271d;font-size:12px}
.reportPeriod span{color:#52685a}
.reportSection{margin:10px 0;border:1px solid #d5e0d8;border-radius:11px;background:#fff;overflow:hidden}
.reportSection>summary{cursor:pointer;list-style:none;padding:11px 13px;background:#edf5ef;color:#07170d;font-size:13px;font-weight:900}
.reportSection>summary::-webkit-details-marker{display:none}.reportSection>summary:before{content:'▾';display:inline-block;margin-right:8px;color:#0b5d2f}.reportSection:not([open])>summary:before{content:'▸'}
.reportSection>summary small{float:right;color:#5c6b61;font-size:10px;font-weight:700}
.reportTableWrap{max-width:100%;overflow:auto;border:1px solid #d8e0da;border-radius:9px;background:#fff;-webkit-overflow-scrolling:touch}
.compactReportTable{width:100%;min-width:820px;border-collapse:separate;border-spacing:0;font-size:11px;font-variant-numeric:tabular-nums}
.compactReportTable th,.compactReportTable td{padding:7px 8px;border-right:1px solid #e4e9e5;border-bottom:1px solid #e1e7e2;white-space:nowrap;text-align:right}
.compactReportTable th:first-child,.compactReportTable td:first-child,.compactReportTable th:nth-child(2),.compactReportTable td:nth-child(2){text-align:left}
.compactReportTable thead th{position:sticky;top:0;z-index:2;background:#173f29;color:#fff;font-size:10px;letter-spacing:.02em}
.compactReportTable tbody tr:nth-child(even){background:#f7faf8}.compactReportTable tbody tr:hover{background:#fff6d9}
.compactReportTable tfoot th{position:sticky;bottom:0;z-index:2;background:#dcecdf;color:#07170d;border-bottom:0;font-size:10px}
.compactReportTable small{display:block;margin-top:1px;color:#5b6a60;font-size:9px;font-weight:700}
.compactReportTable .reportPrimaryAmount{background:#edf8f0;color:#064922}
.compactSalesGraph{max-height:330px;overflow:auto;margin:0;padding:9px 12px;gap:4px}
.compactSalesGraph .salesGraphRow{grid-template-columns:minmax(130px,210px) minmax(130px,1fr) 105px;gap:8px;min-height:28px;padding:2px 0;border-bottom:1px solid #edf1ee}
.compactSalesGraph .salesGraphTrack{height:12px}.compactSalesGraph .salesGraphLabel b{font-size:11px}.compactSalesGraph .salesGraphLabel span{font-size:9px}.compactSalesGraph .salesGraphRow strong{font-size:11px}
.allBranchKpis{margin:8px 0 10px;gap:7px}.allBranchKpis>div{padding:9px 11px;border-radius:9px}.allBranchKpis span{font-size:10px}.allBranchKpis b{font-size:16px}
@media(max-width:720px){.reportPeriod{align-items:flex-start;flex-direction:column;gap:2px}.reportSection>summary small{float:none;display:block;margin:3px 0 0 22px}.compactReportTable{font-size:10px}.compactReportTable th,.compactReportTable td{padding:7px 6px}.compactSalesGraph{max-height:300px}.compactSalesGraph .salesGraphRow{grid-template-columns:minmax(90px,1fr) minmax(75px,1.2fr) 86px}.compactSalesGraph .salesGraphRow strong{grid-column:auto}.allBranchKpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.logoutBtn {
  background: #fff;
  color: #a52323;
  border: 2px solid #fff;
  padding: 8px 12px;
}
.logoutBtn:hover {
  background: #ffe9e9;
}
main {
  max-width: 1800px;
  margin: auto;
  padding: 18px 18px 100px;
}
.pageTitle {
  margin: 0 0 14px;
}
.pageSubtitle {
  margin: -8px 0 16px;
  color: #51665a;
  font-size: 13px;
  font-weight: 700;
}
.taxReportHeader { text-align: center; margin: 8px 0 16px; color: #07170d; }
.taxReportHeader h2 { margin-bottom: 6px; letter-spacing: .4px; }
.taxReportHeader p { line-height: 1.55; }
.taxSection h3 { margin-top: 0; color: #07170d; }
.complianceNote { padding: 13px 15px; border-left: 4px solid #e2a72c; background: #fff8e8; color: #2b250f; font-weight: 700; }
.inventoryGuide { border-left: 5px solid #168a45; color: #17281d; margin-bottom: 14px; line-height: 1.5; }
.purchaseTerminal { width: min(1380px, 94vw); min-width: min(1280px, 94vw); max-height: 92dvh; overflow: auto; padding: clamp(18px,2vw,28px); }
.addPurchaseHero { width:100%; min-height:150px; margin:0 0 16px; display:grid; place-items:center; align-content:center; gap:3px; border:2px solid #0b6a38; border-radius:20px; background:linear-gradient(135deg,#063b27,#108a50); color:#fff; box-shadow:0 12px 28px rgba(5,75,40,.22); }
.addPurchaseHero span { font-size:34px; line-height:1; color:#f0b429; }
.addPurchaseHero strong { font-size:clamp(24px,3vw,38px); letter-spacing:.04em; }
.addPurchaseHero small { color:#d8f3e4; font-size:13px; }
.businessOperationsPanel .historyPanelTitle { align-items:center; }
.businessOperationsPanel .actions { margin-top:14px; }
.purchasePosGrid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 14px; margin-top: 16px; }
.purchasePosGrid > section { border: 1px solid #d3e5d8; background: #f8fbf9; border-radius: 14px; padding: 14px; min-width: 0; }
.purchasePosGrid h3 { margin: 0 0 10px; color: #07170d; }
.purchaseScanBar input { width: 100%; min-height: 52px; border: 2px solid #168a45; border-radius: 11px; padding: 12px 14px; font-weight: 800; background: #fff; }
.purchaseEntry { display: grid; grid-template-columns: 1fr 1fr auto; gap: 9px; align-items: end; margin-top: 12px; }
.purchaseEntry label { min-width: 0; }
.purchaseEntry input { width: 100%; }
.purchaseEntry button { min-height: 47px; }
.purchaseCart { max-height: 590px; overflow: auto; }
.fieldHelp { display: block; margin-top: 5px; color: #52685a; font-size: 11px; font-weight: 700; line-height: 1.35; }
.documentTitlePreview { margin-top: 8px; padding: 9px; border: 1px dashed #789681; background: #fff; color: #000; text-align: center; font-weight: 900; letter-spacing: .5px; }
@media (max-width: 820px) {
  .purchaseTerminal { width:94vw; min-width:0; max-height:90dvh; }
  .purchasePosGrid { grid-template-columns: 1fr; }
  .purchaseEntry { grid-template-columns: 1fr 1fr; }
  .purchaseEntry button { grid-column: 1 / -1; }
}
.grid4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.card,
.panel {
  background: #fff;
  border: 1px solid #d7e7dc;
  border-radius: 15px;
  padding: 17px;
  box-shadow: 0 3px 14px #174c2a10;
  margin-bottom: 14px;
}
.kpi {
  font-size: 28px;
  font-weight: 900;
  color: #168a45;
}
.muted {
  color: #708077;
}
.toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.toolbar input,
.toolbar select,
.field,
.form input,
.form select {
  padding: 10px;
  border: 1px solid #bdcabe;
  border-radius: 8px;
  color: #172a20;
  background: #fff;
}
.toolbar input {
  min-width: 250px;
}
.posGrid {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  gap: 14px;
}
.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.product {
  border: 1px solid #dbe8df;
  border-radius: 11px;
  padding: 12px;
  background: #fbfffc;
}
.productName {
  font-weight: 800;
}
.productPrice {
  font-size: 18px;
  font-weight: 900;
  color: #168a45;
  margin: 7px 0;
}
.stock {
  font-size: 12px;
  color: #66776c;
}
.cartRow {
  display: grid;
  grid-template-columns: 1fr 70px 100px 34px;
  gap: 6px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #e2ebe5;
}
.cartRow input {
  width: 100%;
  padding: 7px;
  border: 1px solid #bdcabe;
  border-radius: 7px;
}
.total {
  font-size: 21px;
  font-weight: 900;
  margin-top: 13px;
}
.actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 13px;
}
table {
  width: 100%;
  border-collapse: collapse;
}
th,
td {
  padding: 9px;
  border-bottom: 1px solid #e3ebe6;
  text-align: left;
}
th {
  background: #eff8f1;
  color: #0d6332;
}
.paid {
  color: #168a45;
  font-weight: 800;
}
.balance {
  color: #bd2929;
  font-weight: 800;
}
.low {
  background: #fff3f3;
}
nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #084f28;
  padding: 8px;
  display: flex;
  gap: 6px;
  overflow: auto;
  z-index: 10;
}
nav button {
  background: #116d37;
  color: #fff;
  white-space: nowrap;
}
.modal {
  position: fixed;
  inset: 0;
  background: #0008;
  display: grid;
  place-items: center;
  padding: 18px;
  z-index: 30;
}
.modalBox {
  background: #fff;
  border-radius: 18px;
  border-top: 6px solid #168a45;
  padding: 22px;
  width: min(780px, 96vw);
  max-height: 90vh;
  overflow: auto;
}
.form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.form label {
  font-size: 12px;
  font-weight: 800;
}
.form input,
.form select {
  display: block;
  width: 100%;
  margin-top: 5px;
}
.receipt {
  max-width: 520px;
  margin: auto;
}
.receipt h2 {
  text-align: center;
}
.receipt .r {
  display: flex;
  justify-content: space-between;
}
.receipt table {
  margin: 10px 0;
}
.saleReceiptScreen {
  width: min(100%, 900px);
  margin: 0 auto;
  color: #163326;
}
.saleReceiptSuccess {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: -22px -22px 20px;
  padding: 20px 24px;
  background: linear-gradient(135deg, #063b23, #0b7540);
  color: #fff;
}
.saleReceiptSuccess h2,
.saleReceiptSuccess p { margin: 0; }
.saleReceiptSuccess h2 { color: #fff; font-size: 28px; letter-spacing: .5px; }
.saleReceiptSuccess small { color: #f4c33d; font-weight: 900; letter-spacing: 1.1px; }
.saleReceiptSuccess p { margin-top: 3px; color: #d9eee2; }
.saleReceiptCheck {
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #f4bd2c;
  color: #123421;
  font-size: 34px;
  font-weight: 1000;
  box-shadow: 0 8px 22px #0003;
}
.saleReceiptLayout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 245px;
  gap: 18px;
  align-items: start;
}
.saleReceiptPaper {
  width: 100%;
  padding: 22px;
  border: 1px solid #cbd9d0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(18, 65, 39, .10);
}
.saleReceiptBrand { text-align: center; }
.saleReceiptBrand strong { display: block; font-size: 20px; color: #073f25; }
.saleReceiptBrand span { display: block; margin-top: 4px; color: #5d7165; font-size: 12px; font-weight: 800; }
.saleReceiptRule { margin: 15px 0; border-top: 1px dashed #9fb1a6; }
.saleReceiptMeta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 20px;
}
.saleReceiptMeta span { min-width: 0; }
.saleReceiptMeta small { display: block; color: #6a7a70; font-size: 9px; font-weight: 900; letter-spacing: .7px; }
.saleReceiptMeta b { display: block; margin-top: 2px; overflow-wrap: anywhere; font-size: 12px; }
.saleReceiptItemsHead,
.saleReceiptItem,
.saleReceiptTotalRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}
.saleReceiptItemsHead { color: #63756a; font-size: 9px; font-weight: 900; letter-spacing: .8px; }
.saleReceiptItem { padding: 9px 0; border-bottom: 1px dotted #d3ddd7; }
.saleReceiptItem:last-child { border-bottom: 0; }
.saleReceiptItem strong { display: block; font-size: 13px; overflow-wrap: anywhere; }
.saleReceiptItem small { display: block; margin-top: 3px; color: #68786e; font-size: 10px; }
.saleReceiptItem > b { white-space: nowrap; font-size: 13px; }
.saleReceiptEmpty { padding: 14px 0; color: #6b7a71; text-align: center; }
.saleReceiptTotalRow { padding: 5px 0; }
.saleReceiptTotalRow.grand { padding: 9px 0; color: #063b23; font-size: 22px; font-weight: 1000; }
.saleReceiptTotalRow b { white-space: nowrap; }
.saleReceiptChange,
.saleReceiptBalance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
  padding: 14px;
  border-radius: 12px;
  background: #f4bd2c;
  color: #18331f;
  font-weight: 1000;
}
.saleReceiptChange strong,
.saleReceiptBalance strong { font-size: 26px; white-space: nowrap; }
.saleReceiptBalance { background: #fff1d8; color: #8a4d00; }
.saleReceiptFooter { margin-top: 18px; color: #607068; font-size: 11px; text-align: center; white-space: pre-wrap; }
.saleReceiptSummary {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 22px 16px;
  border-radius: 14px;
  background: #062f1d;
  color: #fff;
  text-align: center;
  box-shadow: 0 12px 30px #052e1b30;
}
.saleReceiptSummary > span { color: #c6ddcf; font-size: 9px; font-weight: 900; letter-spacing: .9px; }
.saleReceiptSummary > strong { margin: 8px 0 3px; color: #f4bd2c; font-size: clamp(29px, 4vw, 42px); line-height: 1; white-space: nowrap; }
.saleReceiptSummary > small { font-weight: 900; }
.saleReceiptNotice { margin-top: 14px; color: #ffe4a1; font-size: 11px; line-height: 1.35; }
.saleReceiptNotice:empty { display: none; }
.saleReceiptActions {
  position: sticky;
  bottom: -22px;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 10px;
  margin: 18px -22px -22px;
  padding: 14px 22px 20px;
  border-top: 1px solid #d6e1da;
  background: #fff;
}
.saleReceiptActions button { min-height: 54px; font-size: 14px; }
@media (max-width: 1000px) {
  .grid4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .products {
    grid-template-columns: repeat(2, 1fr);
  }
  .posGrid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .grid4 {
    grid-template-columns: 1fr;
  }
  .products {
    grid-template-columns: 1fr;
  }
  .form {
    grid-template-columns: 1fr;
  }
}
@media print {
  header,
  nav,
  .noPrint {
    display: none !important;
  }
  main {
    padding: 0;
  }
  .panel,
  .card {
    box-shadow: none;
    border: 0;
  }
}

.modalBox {
  width: min(1100px, 97vw);
}
.form {
  gap: 14px;
}
.form input,
.form select {
  min-height: 42px;
}
.panel {
  overflow-x: auto;
}
.pricePair {
  display: grid;
  gap: 5px;
  margin: 9px 0;
  font-size: 13px;
}
.pricePair span {
  display: flex;
  justify-content: space-between;
  padding: 5px 7px;
  border-radius: 7px;
  background: #eff8f1;
}
.productActions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 9px;
}
.productActions button {
  padding: 8px 6px;
  font-size: 11px;
}
.cartRow {
  grid-template-columns: minmax(140px, 1fr) 70px 100px minmax(170px, auto);
}
.cartRow small {
  display: block;
  color: #168a45;
  font-weight: 800;
  margin-top: 3px;
}
.cartButtons,
.tableActions {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.cartButtons button,
.tableActions button {
  padding: 7px 8px;
  font-size: 11px;
}
.livePurchase > input {
  width: 100%;
  padding: 13px;
  border: 2px solid #168a45;
  border-radius: 10px;
  font-size: 16px;
}
.purchaseResults {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
  max-height: 260px;
  overflow: auto;
  margin: 9px 0;
}
.purchaseResult {
  text-align: left;
  display: grid;
  gap: 4px;
  border: 1px solid #c9ddcf;
  background: #fff;
}
.purchaseResult:hover {
  border-color: #168a45;
  background: #eff8f1;
}
.purchaseResult.keyboardSelected { border: 3px solid #0b6b3a; background: #e5f7eb; box-shadow: 0 0 0 3px #b9e8c8; transform: translateY(-1px); }
.purchaseResult small { color: #4c5d52; font-weight: 700; }
.selectedCost { margin-top: 8px; padding: 9px 11px; border-radius: 8px; background: #073b22; color: #fff; display: flex; justify-content: space-between; align-items: center; }
.selectedCost strong { color: #ffd166; font-size: 18px; }
.btnDeposit { background: linear-gradient(135deg,#7c3aed,#a855f7)!important; color:#fff!important; border-color:#6d28d9!important; }
.btnDeposit.selected { box-shadow:0 0 0 4px #d8b4fe!important; }
.depositBillLine { display:flex; justify-content:space-between; gap:10px; color:#6d28d9; font-weight:900; }
.depositTabs { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.depositTabs section { border:1px solid #d9d4e8; border-radius:14px; padding:15px; background:#faf9ff; }
.depositTabs section > button { width:100%; margin-top:8px; }
.depositClaimStatus { display:grid; gap:7px; margin-top:12px; padding:13px; border-radius:11px; }
.depositClaimStatus.active { background:#e7f8ed; border:2px solid #168a45; color:#07582b; }
.depositClaimStatus.claimed { background:#fff0f0; border:2px solid #c62828; color:#8e1010; }
@media(max-width:700px){.depositTabs{grid-template-columns:1fr}}
.transferSelectors { display:grid; grid-template-columns:1fr 1.35fr; gap:14px; }
.transferSelectors section { border:1px solid #d6e2da; border-radius:14px; padding:14px; background:#f8fbf9; min-width:0; }
.transferCheckList { display:grid; gap:6px; max-height:340px; overflow:auto; margin-top:9px; }
.transferCheckList label,.checkAllRow { display:flex; align-items:center; gap:9px; padding:9px; border:1px solid #d9e5dc; border-radius:9px; background:#fff; font-weight:800; }
.transferCheckList label small { margin-left:auto; color:#68776d; }
.transferSuccess { display:grid; gap:6px; padding:13px; margin-top:12px; border:2px solid #168a45; border-radius:11px; background:#e8f8ed; }
@media(max-width:760px){.transferSelectors{grid-template-columns:1fr}.transferCheckList label{align-items:flex-start;flex-wrap:wrap}.transferCheckList label small{width:100%;margin-left:27px}}
.purchaseResult span {
  font-size: 12px;
  color: #66776c;
}
.purchaseResult strong {
  color: #168a45;
}
.selectedProduct {
  padding: 11px;
  border-radius: 9px;
  background: #eff8f1;
  margin-bottom: 10px;
}
.voided {
  opacity: 0.65;
  background: #f1f1f1;
  text-decoration: line-through;
}
.moneyCounter {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin: 12px 0;
}
.moneyCounter label {
  background: #f5faf6;
  border: 1px solid #cfe0d3;
  border-radius: 10px;
  padding: 9px;
  display: grid;
  gap: 5px;
  text-align: center;
  font-weight: 800;
}
.moneyCounter input {
  width: 100%;
  padding: 9px;
  border: 1px solid #b9cabd;
  border-radius: 7px;
  text-align: center;
}
.moneyCounter small {
  color: #168a45;
}
.drawerTotal {
  background: #0b5d2f;
  color: #fff;
  padding: 14px;
  border-radius: 10px;
  font-size: 20px;
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}
.cashPayment {
  max-width: 720px;
  margin: auto;
}
.cashPayment h2 {
  text-align: center;
  font-size: 28px;
  margin-top: 0;
}
.cashDue,
.cashChange {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px;
  border-radius: 12px;
  background: #0b5d2f;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  margin: 10px 0;
}
.cashDue strong,
.cashChange strong {
  font-size: 30px;
}
.cashChange {
  background: #e2a72c;
  color: #241d08;
}
.cashInputLabel {
  display: block;
  font-weight: 900;
  margin: 14px 0;
}
.cashInputLabel input {
  width: 100%;
  margin-top: 6px;
  padding: 16px;
  border: 3px solid #168a45;
  border-radius: 12px;
  font-size: 30px;
  font-weight: 900;
  text-align: right;
}
.tenderButtons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 12px 0;
}
.tenderButtons button {
  min-height: 62px;
  border: 2px solid #b8d2c0;
  background: #f4faf6;
  font-size: 16px;
}
.cashKeypad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  max-width: 420px;
  margin: 14px auto;
}
.cashKeypad button,
.referenceKeypad button {
  min-height: 58px;
  border: 2px solid #c5d7ca;
  background: #fff;
  font-size: 22px;
}
.referenceKeypad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  max-width: 520px;
  margin: 16px auto;
}
.referencePayment .cashInputLabel input {
  text-align: center;
  letter-spacing: 2px;
}
.cashActions {
  justify-content: center;
}
.cashActions button {
  min-height: 54px;
  font-size: 16px;
}
.cashPaymentHeader{text-align:center;margin-bottom:12px}.cashPaymentHeader>span{display:inline-block;padding:5px 10px;border-radius:999px;background:#e6f4eb;color:#08723d;font-size:9px;font-weight:900;letter-spacing:1px}.cashPaymentHeader h2{margin:7px 0 2px}.cashPaymentHeader small{color:#65766c;font-size:11px;font-weight:700}.cashPaymentMessage{min-height:24px;margin:7px 0 0;text-align:center;color:#9b3d06;font-size:13px;font-weight:900}.cashChange{transition:background .16s,color .16s,box-shadow .16s}.cashChange.cashWaiting{background:#e8eeea;color:#344b3d}.cashChange.cashShort{background:#c83238;color:#fff;box-shadow:0 0 0 3px rgba(200,50,56,.12)}.cashChange.cashReady{background:#e2a72c;color:#241d08;box-shadow:0 0 0 3px rgba(226,167,44,.16)}#confirmCashPaymentBtn{min-width:230px;font-size:17px;font-weight:900}#confirmCashPaymentBtn:disabled{background:#aab6ae;color:#eef2ef;cursor:not-allowed;box-shadow:none}.cashKeyboardHint{text-align:center;margin:9px 0 0;color:#65766c;font-size:10px;font-weight:800}
.dialogPanel {
  max-width: 560px;
  margin: auto;
  text-align: center;
  padding: 10px;
}
.dialogPanel h2 {
  margin: 8px 0 14px;
  color: #0b5d2f;
}
.dialogIcon {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 10px;
  background: #168a45;
  color: #fff;
  font-size: 34px;
  font-weight: 900;
}
.confirmPanel .dialogIcon {
  background: #e2a72c;
  color: #241d08;
}
.dialogMessage {
  white-space: pre-wrap;
  background: #f3f8f4;
  border: 1px solid #d1e1d5;
  border-radius: 12px;
  padding: 18px;
  font-size: 17px;
  line-height: 1.5;
}
.dialogActions {
  justify-content: center;
  margin-top: 18px;
}
.dialogActions button {
  min-width: 140px;
  min-height: 52px;
}
.adminPinPanel .cashInputLabel input {
  text-align: center;
  letter-spacing: 8px;
}
.smallKpi {
  font-size: 18px;
}
.permissionGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 12px 0 18px;
}
.permissionGrid label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 9px 11px;
  border: 1px solid #c9ddce;
  border-radius: 10px;
  background: #f3f8f4;
  font-weight: 750;
}
.permissionGrid input {
  width: 20px;
  height: 20px;
  accent-color: #168a45;
}
.recordCheckbox {
  width: 22px;
  height: 22px;
  accent-color: #168a45;
}
.loginCloudPanel {
  display: grid;
  gap: 9px;
  margin-top: 15px;
  padding: 13px;
  border: 1px solid #c9ddce;
  border-radius: 12px;
  background: #f3f8f4;
}
.loginCloudPanel b {
  color: #0b5d2f;
  font-size: 13px;
}
@media (max-width: 800px) {
  .moneyCounter {
    grid-template-columns: repeat(2, 1fr);
  }
  .tenderButtons {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 700px) {
  .permissionGrid {
    grid-template-columns: 1fr;
  }
  .purchaseResults {
    grid-template-columns: 1fr;
  }
  .cartRow {
    grid-template-columns: 1fr 60px 85px;
  }
  .cartButtons {
    grid-column: 1/-1;
  }
  .productActions {
    grid-template-columns: 1fr;
  }
}

/* V34 COMMERCIAL RESPONSIVE UI */
:root {
  --brand-950: #052e1b;
  --brand-900: #064325;
  --brand-800: #075c31;
  --brand-700: #08783d;
  --brand-600: #0a9148;
  --brand-100: #e7f5ec;
  --ink: #101b14;
  --muted-ink: #53645a;
  --line: #cfded4;
  --surface: #ffffff;
  --canvas: #f3f7f4;
  --gold-commercial: #f0b429;
  --danger-commercial: #bd2c2c;
  --shadow-commercial: 0 8px 28px rgba(5, 46, 27, 0.10);
}
html {
  min-width: 320px;
  background: var(--canvas);
  -webkit-text-size-adjust: 100%;
}
body {
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
  background: var(--canvas);
  color: var(--ink);
  font-family: "Aptos", "Inter", "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size: clamp(14px, 0.25vw + 13px, 16px);
  line-height: 1.42;
}
h1,h2,h3,.pageTitle,.kpi,.brand,.total,strong,b,button { font-family:"Aptos Display","Inter","SF Pro Display","Segoe UI Variable Display","Segoe UI",ui-sans-serif,system-ui,sans-serif; }
h1,h2,h3,.pageTitle { letter-spacing:-.025em; font-weight:800; }
button { letter-spacing:.015em; }
input,select,textarea { font-weight:550; }
table { font-variant-numeric:tabular-nums; }
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: max(16px, 1em);
}
button {
  min-height: 44px;
  border-radius: 10px;
  padding: 10px 15px;
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  touch-action: manipulation;
}
button:active:not(:disabled) {
  transform: translateY(1px) scale(.99);
}
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(240, 180, 41, .55);
  outline-offset: 2px;
}
button:disabled {
  cursor: not-allowed;
  opacity: .55;
}
.primary { background: var(--brand-700); }
.gold { background: var(--gold-commercial); color: #171204; }
.danger { background: var(--danger-commercial); }
.loginScreen {
  min-height: 100dvh;
  padding: 20px;
  background: radial-gradient(circle at 15% 10%, #168a45 0, transparent 34%), linear-gradient(145deg, var(--brand-950), var(--brand-800));
}
.loginBox {
  width: min(460px, 100%);
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(0,0,0,.34);
}
.brand { color: var(--brand-700); letter-spacing: .4px; }
.subbrand { color: var(--muted-ink); font-size: 13px; letter-spacing: .5px; }
.loginBox input,
.toolbar input,
.toolbar select,
.field,
.form input,
.form select,
.form textarea {
  min-height: 46px;
  border: 1px solid #b8cabd;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
}
header {
  height: auto;
  min-height: 68px;
  gap: 14px;
  padding: 9px clamp(12px, 2vw, 24px);
  background: linear-gradient(90deg, var(--brand-950), var(--brand-800));
  box-shadow: 0 4px 16px rgba(0,0,0,.18);
}
header strong { letter-spacing: .35px; }
.headerUser { min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
main {
  width: min(100%, 1920px);
  padding: clamp(12px, 1.7vw, 26px) clamp(10px, 1.8vw, 28px) 104px;
}
.pageTitle {
  color: var(--brand-950);
  font-size: clamp(22px, 1.4vw + 14px, 34px);
  letter-spacing: -.4px;
}
.card,
.panel {
  border-color: var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-commercial);
}
.panel h2,
.card h2 { color: var(--brand-950); }
.muted { color: var(--muted-ink); }
.grid4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 1vw, 16px);
}
.kpi { font-size: clamp(22px, 1.4vw + 12px, 34px); color: var(--brand-700); }
.toolbar {
  align-items: flex-end;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
}
.toolbar input { min-width: min(270px, 100%); flex: 1 1 230px; }
.toolbar select { flex: 0 1 230px; max-width: 100%; }
.posGrid {
  grid-template-columns: minmax(0, 1.6fr) minmax(370px, .85fr);
  align-items: start;
  gap: clamp(12px, 1.3vw, 22px);
}
.productPanel { min-width: 0; }
.cartPanel {
  position: sticky;
  top: 86px;
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 180px);
  max-height: calc(100dvh - 190px);
  overflow: hidden;
  border-top: 5px solid var(--gold-commercial);
}
.cartPanel > h2 { flex: 0 0 auto; }
.cartItemsScroll {
  flex: 1 1 auto;
  min-height: 80px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 4px;
}
.cartFixedFooter {
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
  padding-top: 8px;
  background: #fff;
  border-top: 2px solid var(--line);
  box-shadow: 0 -8px 18px rgba(5,46,27,.07);
}
.products {
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 11px;
}
.product {
  display: flex;
  flex-direction: column;
  min-height: 205px;
  border-color: var(--line);
  background: var(--surface);
  box-shadow: 0 3px 10px rgba(5,46,27,.05);
}
.productName { color: var(--ink); font-size: 15px; }
.productActions { margin-top: auto; }
.productActions button { min-height: 43px; font-size: 12px; }
.cartRow {
  display:grid;
  grid-template-columns:minmax(0,1fr) 108px 120px auto;
  align-items:center;
  gap:10px;
  min-width:0;
  margin:7px 2px;
  padding:12px;
  border:1px solid #dce6df;
  border-radius:14px;
  background:linear-gradient(145deg,#ffffff,#f7faf8);
  box-shadow:0 5px 14px rgba(5,46,27,.07);
}
.cartItemInfo{display:flex;flex-direction:column;min-width:0;gap:3px}
.cartItemName{font-size:15px;line-height:1.25;color:var(--brand-950);white-space:normal;word-break:normal;overflow-wrap:break-word}
.cartItemInfo small{font-size:10px;color:#6b7a72;font-weight:700}
.cartUnitPrice{font-size:11px;color:#2d6b4b;font-weight:800}
.cartQtyBox{display:flex;align-items:center;justify-content:center;gap:6px}
.cartQtyBtn{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:9px!important;font-size:20px!important;font-weight:900!important;background:#eaf3ed!important;color:var(--brand-900)!important;border:1px solid #c9dccf!important}
.cartQtyBtn:hover{background:var(--gold-commercial)!important;color:#171204!important}
.cartQtyValue{min-width:24px;text-align:center;font-size:16px;color:var(--brand-950)}
.cartItemTotal{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.cartItemTotal small{font-size:8px;letter-spacing:.8px;color:#75857b;font-weight:900}
.cartItemTotal strong{font-size:16px;color:var(--brand-950)}
.cartButtons{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}
.cartButtons button{min-width:34px!important;min-height:34px!important;padding:5px 8px!important;border-radius:8px!important;font-size:10px!important;font-weight:900!important}
.cartItemsScroll{padding:2px 4px 8px 0}

.cartTotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 15px;
  border-radius: 12px;
  background: var(--brand-950);
  color: #fff;
}
.cartTotal strong { font-size: clamp(22px, 2vw, 30px); }
.checkoutActions {
  display: grid;
  grid-template-columns: minmax(720px,3fr) minmax(270px,1fr);
  gap: 8px;
  margin-top: 8px;
}
.checkoutGroup { position:relative; display:grid; gap:6px; padding:20px 7px 7px; border:1px solid var(--line); border-radius:13px; background:#f7faf8; }
.priceGroup { grid-template-columns:repeat(2,minmax(0,1fr)); }
.paymentGroup { grid-template-columns:repeat(5,minmax(0,1fr)); }
.actionGroup { grid-template-columns:repeat(3,minmax(0,1fr)); }
.shortcutGroup { grid-template-columns:repeat(5,minmax(0,1fr)); }
.utilityGroup { grid-template-columns:repeat(2,minmax(0,1fr)); }
.groupLabel { position:absolute; top:5px; left:9px; color:#5c6e63; font-size:9px; font-weight:900; letter-spacing:1px; }
.checkoutActions .posBtn { min-height:48px; padding:8px 6px; border:0; border-radius:10px; color:#fff; font-size:11px; font-weight:900; box-shadow:0 3px 8px rgba(0,0,0,.16); transition:transform .12s,filter .12s,box-shadow .12s; }
.checkoutActions .posBtn:hover { filter:brightness(1.08); transform:translateY(-1px); }
.checkoutActions .posBtn:active { transform:translateY(1px); box-shadow:none; }
.checkoutActions .posBtn.selected { outline:3px solid #f5c542; outline-offset:1px; box-shadow:0 0 0 2px #fff,0 4px 10px rgba(0,0,0,.2); }
.btnRetail{background:#1473e6}.btnWholesale{background:#7048c8}.btnCash{background:#118847}.btnGcash{background:#0876d1}.btnMaya{background:#00a8a8}.btnBank{background:#25476f}.btnCredit{background:#d97809}.btnHold{background:#c28b00;color:#171204!important}.btnRecall{background:#0086a8}.btnDisplay{background:#4a57b8}.btnDiscount{background:#a33d96}.btnClear{background:#63726a}.btnVoid{background:#c52f35}
table {
  min-width: 680px;
  font-size: 13px;
}
th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--brand-100);
  color: var(--brand-900);
  white-space: nowrap;
}
th, td { padding: 10px; vertical-align: middle; }
.tableActions { min-width: max-content; }
nav {
  min-height: 66px;
  padding: 8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  background: rgba(5, 46, 27, .97);
  box-shadow: 0 -6px 22px rgba(0,0,0,.22);
  scrollbar-width: thin;
}
nav button {
  flex: 1 0 auto;
  min-height: 48px;
  padding-inline: 15px;
  border: 1px solid rgba(255,255,255,.13);
  background: var(--brand-800);
}
nav button.active {
  background: var(--gold-commercial);
  color: #171204;
  box-shadow: inset 0 -3px 0 rgba(0,0,0,.18);
}
nav.posNavHidden { display: none; }
.catalogBottomActions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.catalogBottomActions button { min-height: 44px; }
.posScreen {
  height: calc(100dvh - 68px);
  padding-bottom: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.posScreen .pageTitle { flex:0 0 auto; margin-bottom:8px; }
.posScreen .posToolbar { flex:0 0 auto; margin-bottom:10px; }
.posScreen .posGrid { flex:1 1 auto; min-height:0; align-items:stretch; }
.posScreen .posGrid.posCartOnly { grid-template-columns:1fr; grid-template-rows:minmax(0,1fr); }
.posScreen .productPanel,
.posScreen .cartPanel { height:100%; max-height:none; margin-bottom:0; overflow:hidden; }
.posScreen .productPanel { display:flex; flex-direction:column; }
.posScreen .productPanel > h2,
.posScreen .catalogBottomActions { flex:0 0 auto; }
.posScreen .products { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:4px; }
.posScreen .cartPanel { position:static; }
.qtyMultiplierButton { min-width:78px; font-weight:900; background:var(--gold-commercial); color:#171204; }
.barcodeDock { display:grid; grid-template-columns:auto minmax(180px,1fr) 82px; gap:7px; align-items:center; padding:7px; margin-bottom:7px; border:2px solid #1b2730; border-radius:12px; background:#eef2f4; }
.barcodeDock > span { padding:0 5px; color:#1b2730; font-size:11px; font-weight:900; white-space:nowrap; }
.barcodeDock input { width:100%; min-height:43px; padding:8px 12px; border:2px solid #263c49; border-radius:9px; background:#fff; color:#111; font-size:18px; font-weight:900; letter-spacing:1px; }
.barcodeDock input:focus { border-color:#118847; box-shadow:0 0 0 3px rgba(17,136,71,.18); outline:0; }
.barcodeDock input.scanError { border-color:#c52f35; background:#fff1f1; }
.posSearchWrap { position:relative; flex:1 1 360px; min-width:240px; z-index:12; }
.posSearchWrap > input { width:100%; }
.posSearchResults { position:absolute; left:0; right:0; top:calc(100% + 4px); max-height:min(430px,60vh); overflow-y:auto; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 38px rgba(0,0,0,.22); }
.posSearchResults:empty { display:none; }
.posSearchResults > button { width:100%; min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); text-align:left; }
.posSearchResults > button:hover { background:var(--brand-100); }
.posSearchResults > button.active { background:var(--brand-700); color:#fff; box-shadow:inset 5px 0 0 var(--gold-commercial); }
.posSearchResults > button.active small,
.posSearchResults > button.active strong { color:#fff; }
.posSearchResults > button.negativeStock{background:#fff6e8;box-shadow:inset 5px 0 0 #e17a09}.posSearchResults > button.negativeStock small{color:#a14609;font-weight:900}.posSearchResults > button.negativeStock:hover{background:#ffedd1}.posSearchResults > button.negativeStock.active{background:var(--brand-700);box-shadow:inset 5px 0 0 #f5c542}.posSearchResults > button.negativeStock.active small{color:#fff}
.posSearchResults > button span { display:flex; flex-direction:column; min-width:0; }
.posSearchResults small { color:var(--muted-ink); }
.posSearchResults strong { color:var(--brand-700); white-space:nowrap; }
.posSearchEmpty { padding:18px; color:var(--muted-ink); text-align:center; }
.cartItemCount { margin-right:auto; padding:7px 12px; border-radius:10px; background:var(--gold-commercial); color:#171204; font-size:15px; }
.cartItemCount b { font-size:22px; }
.emptyCartState { height:100%; min-height:110px; display:grid; place-items:center; color:var(--muted-ink); font-size:24px; font-weight:900; letter-spacing:2px; }
.priceModeBottom { border:2px solid var(--brand-700); }
.displayAdGrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; margin:14px 0; }
.displayAdGrid > div { position:relative; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#111; }
.displayAdGrid img { width:100%; height:120px; object-fit:cover; display:block; }
.displayAdGrid button { width:100%; border-radius:0; }
.moduleHeader { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:12px; padding:15px 18px; border-radius:16px; background:linear-gradient(120deg,#052e1b,#0b6a38); color:#fff; box-shadow:0 8px 24px rgba(5,46,27,.2); }
.moduleHeader > div { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.moduleHeader .pageTitle { margin:0; color:#fff; }
.moduleActions { justify-content:flex-end; }
.todayBadge { display:inline-flex; align-items:center; min-height:30px; padding:5px 12px; border-radius:999px; background:#f0b429; color:#171204; font-size:11px; font-weight:900; letter-spacing:1px; }
.dateFilterButton { background:#fff; color:#0b5931; border:1px solid #d5e5da; font-weight:900; }
.dateFilterTray { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin:0 0 12px; padding:12px; border:1px solid #cbdcd0; border-radius:13px; background:#eef6f0; }
.dateFilterTray label { display:flex; flex-direction:column; gap:4px; color:#31533f; font-size:11px; font-weight:900; }
.dateFilterTray input,.dateFilterTray select { min-height:42px; padding:8px 10px; border:1px solid #aebfb3; border-radius:9px; background:#fff; }
.historyPanel,.purchaseHistoryPanel { border-top:5px solid #168a45; }
.historyPanelTitle { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.historyPanelTitle h2 { margin:0; }
.historyPanelTitle > span { padding:5px 10px; border-radius:999px; background:#e5f4e9; color:#08703a; font-size:11px; font-weight:900; }
.historySearchBar { background:#f7faf8; }
.historyPanel > div[id$="Result"] { overflow-x:auto; }
.modernHistoryTable { min-width:900px; border-collapse:separate; border-spacing:0; }
.modernHistoryTable th { background:#0d5f34; color:#fff; }
.modernHistoryTable td { background:#fff; border-bottom:1px solid #e1eae4; }
.modernHistoryTable tr:hover td { background:#f2f8f4; }
.purchaseSummary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.purchaseSummary > div { display:flex; flex-direction:column; gap:5px; padding:13px; border-radius:12px; background:#eef7f0; border:1px solid #cfe2d4; }
.purchaseSummary span { color:#52705d; font-size:10px; font-weight:900; letter-spacing:.8px; }
.purchaseSummary b { color:#075d31; font-size:22px; }
.qtyPill,.paymentPill { display:inline-flex; align-items:center; justify-content:center; min-width:42px; padding:5px 9px; border-radius:999px; background:#f0b429; color:#171204; font-weight:900; }
.paymentPill { background:#e4efff; color:#174d89; }
.purchaseProductLine { display:flex; justify-content:space-between; gap:10px; padding:3px 0; border-bottom:1px dotted #d6dfd9; }
.purchaseProductLine small { color:#617168; white-space:nowrap; }
.supplierDetails summary { cursor:pointer; color:#0a6335; font-weight:900; }
.supplierDetails[open] summary { margin-bottom:14px; }
.qtyStepper { display:grid; grid-template-columns:44px minmax(70px,1fr) 44px; gap:5px; }
.qtyStepper button { min-height:46px; padding:5px; border-radius:9px; background:#0b6a38; color:#fff; font-size:22px; font-weight:900; }
.qtyStepper input { min-width:0; text-align:center; font-size:20px; font-weight:900; }
.modernQtyEntry { grid-template-columns:minmax(180px,.8fr) minmax(150px,.8fr) minmax(150px,1fr); }
.addReceivingBtn { min-height:48px; }
.purchaseGrandTotal { display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding:14px; border-radius:12px; background:#052e1b; color:#fff; }
.purchaseGrandTotal strong { color:#f0b429; font-size:25px; }
.compactBtn { padding:7px 9px; font-size:10px; }
.modal { padding: clamp(8px, 2vw, 22px); }
.modalBox {
  width: min(1120px, 100%);
  max-height: min(92vh, 92dvh);
  padding: clamp(16px, 2.2vw, 28px);
  border-radius: 19px;
  box-shadow: 0 24px 80px rgba(0,0,0,.35);
}
.cashPayment { width: min(100%, 760px); }
.cashKeypad button,
.referenceKeypad button { min-height: 62px; }

@media (max-width: 1180px) {
  .grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .posGrid { grid-template-columns: minmax(0, 1.35fr) minmax(340px, .85fr); }
  .products { grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); }
  .cartRow { grid-template-columns: minmax(110px, 1fr) 62px 86px; }
  .cartButtons { grid-column: 1 / -1; }
  .posScreen .checkoutActions { grid-template-columns:1fr 2fr; }
  .posScreen .priceGroup { grid-column:1; }
  .posScreen .paymentGroup { grid-column:2; }
  .posScreen .actionGroup { grid-column:1 / -1; grid-template-columns:repeat(6,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  header { align-items: flex-start; }
  .posGrid { grid-template-columns: 1fr; }
  .cartPanel { position: sticky; top: 68px; height: calc(100dvh - 86px); max-height: calc(100dvh - 86px); order: -1; }
  .posScreen .cartPanel { position:static; height:100%; max-height:none; }
  .posScreen .posGrid { grid-template-rows:minmax(0, .9fr) minmax(0, 1.1fr); }
  .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .checkoutActions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .posScreen .checkoutActions { grid-template-columns:1fr 2fr; }
  .posScreen .priceGroup { grid-column:1; }
  .posScreen .paymentGroup { grid-column:2; }
  .posScreen .actionGroup { grid-column:1 / -1; grid-template-columns:repeat(6,minmax(0,1fr)); }
  .moneyCounter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  header { min-height: 60px; align-items: center; }
  header > div:first-child span,
  header .installAppBtn,
  #userBadge { display: none; }
  header strong { font-size: 13px; }
  .headerUser { flex-wrap: nowrap; gap: 6px; }
  .networkBadge span { max-width: 82px; }
  .logoutBtn { min-height: 40px; padding: 7px 10px; font-size: 12px; }
  main { padding: 12px 8px 98px; }
  .grid4 { grid-template-columns: 1fr; }
  .card, .panel { padding: 13px; border-radius: 13px; }
  .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .product { min-height: 190px; padding: 10px; }
  .productActions { grid-template-columns: 1fr; }
  .toolbar { align-items: stretch; }
  .toolbar input,
  .toolbar select,
  .toolbar button { width: 100%; flex-basis: 100%; }
  .posScreen { height:calc(100dvh - 60px); padding:8px; }
  .posScreen .pageTitle { display:none; }
  .posScreen .posToolbar { display:grid; grid-template-columns:78px 1fr 1fr; gap:6px; padding:6px; }
  .posScreen .posSearchWrap { grid-column:1 / -1; width:100%; min-width:0; }
  .posScreen .posToolbar input { width:100%; min-width:0; }
  .posScreen .posToolbar select,
  .posScreen .posToolbar button { width:100%; min-width:0; flex-basis:auto; padding:8px 5px; font-size:11px; }
  .posScreen .posGrid { grid-template-rows:minmax(0,1fr); }
  .posScreen .checkoutActions { grid-template-columns:1fr; gap:4px; }
  .posScreen .priceGroup,.posScreen .paymentGroup,.posScreen .actionGroup { grid-column:1; }
  .posScreen .priceGroup { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .posScreen .paymentGroup { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .posScreen .actionGroup { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .posScreen .checkoutActions .posBtn { min-height:34px; padding:4px 2px; font-size:8px; }
  .posScreen .checkoutGroup { padding:15px 4px 4px; gap:3px; }
  .posScreen .barcodeDock { grid-template-columns:1fr 70px; padding:4px; }
  .posScreen .barcodeDock > span { display:none; }
  .posScreen .barcodeDock input { min-height:36px; font-size:14px; }
  .moduleHeader { align-items:flex-start; padding:12px; }
  .moduleHeader,.moduleActions { flex-direction:column; }
  .moduleActions { width:100%; align-items:stretch!important; }
  .moduleActions button { width:100%; }
  .purchaseSummary { grid-template-columns:1fr 1fr; }
  .purchaseSummary > div:last-child { grid-column:1 / -1; }
  .modernQtyEntry { grid-template-columns:1fr; }
  .posScreen .cartTotal { padding:8px; }
  .posScreen .cartTotal strong { font-size:20px; }
  .form { grid-template-columns: 1fr; }
  .checkoutActions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purchaseResults { grid-template-columns: 1fr; }
  .permissionGrid { grid-template-columns: 1fr; }
  .modal { align-items: end; padding: 0; }
  .modalBox { width: 100%; max-height: 94dvh; border-radius: 20px 20px 0 0; padding: 16px 12px calc(16px + env(safe-area-inset-bottom)); }
  .saleReceiptSuccess { margin: -16px -12px 15px; padding: 16px 14px; }
  .saleReceiptSuccess h2 { font-size: 23px; }
  .saleReceiptSuccess p { font-size: 11px; }
  .saleReceiptCheck { flex-basis: 44px; width: 44px; height: 44px; font-size: 27px; }
  .saleReceiptLayout { grid-template-columns: 1fr; gap: 10px; }
  .saleReceiptPaper { padding: 15px 12px; }
  .saleReceiptSummary { position: static; padding: 15px; }
  .saleReceiptSummary > strong { font-size: 32px; }
  .saleReceiptActions { bottom: calc(-16px - env(safe-area-inset-bottom)); grid-template-columns: 1fr; margin: 14px -12px calc(-16px - env(safe-area-inset-bottom)); padding: 11px 12px calc(13px + env(safe-area-inset-bottom)); }
  .cashPayment h2 { font-size: 22px; }
  .cashDue, .cashChange { padding: 12px; font-size: 15px; }
  .cashDue strong, .cashChange strong { font-size: 23px; }
  .cashInputLabel input { font-size: 25px; padding: 13px; }
  .tenderButtons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .moneyCounter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  nav button { font-size: 12px; padding-inline: 12px; }
}

@media (max-width: 390px) {
  .products { grid-template-columns: 1fr; }
  .checkoutActions { grid-template-columns: 1fr 1fr; }
  .networkBadge { display: none; }
}

@media (hover: none) and (pointer: coarse) {
  button { min-height: 48px; }
  .tableActions button { min-height: 42px; }
}

@media print {
  body { background: #fff; color: #000; font-size: 12px; }
  main { width: 100%; max-width: none; }
  table { min-width: 0; }
  th { position: static; color: #000; background: #eee; }
}
.cartSummary{display:grid;gap:5px;padding:10px 12px;border:1px solid #f0d58a;border-radius:10px;background:#fff8df;color:#111;font-weight:800}

/* Build 49 software subscription, developer credit and contract */
.licenseLockScreen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow:auto;padding:24px;background:radial-gradient(circle at top,#17482d 0,#07150d 48%,#020503 100%);color:#050705}
.licenseLockScreen.hidden{display:none}
.licenseLockCard{width:min(720px,100%);padding:clamp(22px,4vw,42px);border:1px solid #d8e3da;border-radius:26px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.55);text-align:center}
.licenseLockCard>img{width:82px;height:82px;border-radius:20px;object-fit:contain}
.licenseLockCard h1{margin:8px 0 10px;color:#000;font-size:clamp(25px,4vw,38px)}
.licenseLockCard p{color:#111}
.licenseEyebrow{margin-top:14px;color:#9a5e00;font-size:12px;font-weight:900;letter-spacing:.18em}
.licenseLockDetails,.licenseSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;text-align:left}
.licenseLockDetails>div,.licenseSummary>div{min-width:0;padding:13px;border:1px solid #cfdbd2;border-radius:12px;background:#f4f8f5}
.licenseLockDetails span,.licenseSummary span{display:block;color:#405047;font-size:12px;font-weight:800}
.licenseLockDetails b,.licenseSummary b{display:block;overflow-wrap:anywhere;margin-top:4px;color:#000;font-size:15px}
.developerCredit{margin:20px 0 0!important;color:#000!important;font-size:13px}
.developerBrand{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 18px;padding:16px;border-radius:14px;background:linear-gradient(135deg,#07150d,#154d2f);color:#fff}
.developerBrand div>*{display:block}.developerBrand span{margin-top:3px;color:#c7d9ce;font-size:12px}.developerBrand strong{color:#ffe19a;text-align:right}
.licenseManagement{margin-top:18px;padding:14px;border:1px solid #d1ddd5;border-radius:13px;background:#f7faf8}
.licenseManagement summary{cursor:pointer;color:#000;font-weight:900}
.customerDueSummary{grid-template-columns:repeat(4,minmax(0,1fr))}
.paymentInstruction{padding:13px 15px;border-left:4px solid #b47a11;border-radius:8px;background:#fff6dc;color:#000!important;font-weight:700}
.providerAccessButton{border-color:#28332d;background:#202923;color:#fff}
.providerLandingLink{min-height:30px;margin:9px auto 0;padding:3px 8px;border:0;background:transparent;color:#627067;font-size:10px;font-weight:800;letter-spacing:.08em;box-shadow:none}
.providerLandingLink:hover{color:#0b5d2f;background:transparent}
.standaloneProvider .providerUnlocked{margin-top:12px}
.providerBranchToolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:12px;align-items:end;margin:12px 0 16px;padding:14px;border:1px solid #d7c078;border-radius:13px;background:#fff8de}
.providerBranchToolbar label{margin:0;color:#000;font-weight:900}.providerBranchToolbar select{margin-top:5px;background:#fff;color:#000}
.resellerCenter{width:min(1280px,96vw)}.resellerCenter table{min-width:1050px}
@media(max-width:680px){.providerBranchToolbar{grid-template-columns:1fr}.providerBranchToolbar button{width:100%}}
.providerUnlocked{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;border-radius:10px;background:#e5f6e9;color:#000}
.providerUnlocked span{flex:1;color:#34443a;font-size:12px}.providerUnlocked button{min-height:38px}
.termsPublicPanel{border:2px solid #d5b260;background:linear-gradient(180deg,#fffdf5,#fff9e8)}
.termsContract{max-width:850px;margin:auto;color:#000;line-height:1.55}
.termsContract h2,.termsContract h3{color:#000}.termsContract h2{text-align:center}.termsContract h3{margin:16px 0 4px;font-size:15px}
.termsMeta,.termsNotice{text-align:center}.termsNotice{padding:12px;border:1px solid #bf8a23;background:#fff5d8;font-weight:700}
.termsSignature{display:grid;grid-template-columns:1fr 1fr 130px;gap:28px;margin-top:55px}
.termsSignature div{border-top:1px solid #000;padding-top:5px;text-align:center}
@media(max-width:680px){.licenseLockScreen{padding:10px}.licenseLockCard{padding:20px 14px;border-radius:19px}.licenseLockDetails,.licenseSummary,.customerDueSummary{grid-template-columns:1fr 1fr}.developerBrand{align-items:flex-start;flex-direction:column}.developerBrand strong{text-align:left}.providerUnlocked{align-items:stretch;flex-direction:column}.termsSignature{grid-template-columns:1fr;gap:45px}}

/* Build 41 anti-lag rendering containment */
.panel{content-visibility:auto;contain-intrinsic-size:1px 420px}
.products>*{contain:layout paint style}
table{contain:layout style}
tbody tr{content-visibility:auto;contain-intrinsic-size:1px 42px}

/* Build 43 all-branch sales graph */
.allBranchKpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 18px;
}
.allBranchKpis > div {
  padding: 14px;
  border-radius: 13px;
  background: #f1f8f3;
  border: 1px solid #d2e8d8;
}
.allBranchKpis span { display: block; color: #52685a; font-size: 12px; font-weight: 700; }
.allBranchKpis b { display: block; margin-top: 4px; color: #07170d; font-size: 20px; }
.salesGraph { display: grid; gap: 9px; margin: 12px 0 22px; }
.salesGraphRow { display: grid; grid-template-columns: minmax(150px, 230px) minmax(130px, 1fr) 120px; gap: 10px; align-items: center; }
.salesGraphLabel { min-width: 0; }
.salesGraphLabel b, .salesGraphLabel span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #07170d; }
.salesGraphLabel span { color: #52685a; font-size: 11px; }
.salesGraphTrack { height: 20px; overflow: hidden; border-radius: 999px; background: #e1ece4; }
.salesGraphTrack i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0b5d2f, #24ad59, #e2a72c); }
.salesGraphRow strong { color: #07170d; text-align: right; }
.tableScroll { overflow-x: auto; }
@media (max-width: 720px) {
  .allBranchKpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .salesGraphRow { grid-template-columns: minmax(105px, 1fr) minmax(90px, 1.4fr); }
  .salesGraphRow strong { grid-column: 2; font-size: 12px; }
}

@media (max-width:900px){
  .cartRow{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .cartItemInfo{grid-column:1/2}.cartQtyBox{grid-column:2/3}.cartItemTotal{grid-column:1/2;align-items:flex-start}.cartButtons{grid-column:2/3}
}

/* Modern dashboard refresh inspired by the clean sidebar/card layout. */
:root{--dash-green:#08733d;--dash-green-dark:#075b31;--dash-soft:#eef8f2;--dash-line:#dce8df;--dash-shadow:0 10px 28px rgba(13,67,39,.08)}
.dashboardHome{max-width:1500px;margin:0 auto;padding:2px 4px 34px}
.dashboardWelcome{min-height:190px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 36px;border:1px solid #dcefe3;border-radius:22px;background:linear-gradient(110deg,#f0faf4 0%,#e8f6ee 62%,#f7fbf8 100%);box-shadow:var(--dash-shadow);overflow:hidden}
.dashboardEyebrow{font-size:11px;font-weight:900;letter-spacing:1.2px;color:#1d8650;margin-bottom:8px}
.dashboardWelcome h1{margin:0;color:#075b31;font-size:clamp(28px,3vw,42px);line-height:1.05}
.dashboardWelcome p{margin:10px 0 0;color:#53665c;font-size:14px;font-weight:600}
.dashboardPills{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.dashboardPills span{padding:7px 10px;border:1px solid #cfe4d6;border-radius:999px;background:#fff;color:#397052;font-size:10px;font-weight:800}
.storeIllustration{position:relative;width:270px;height:150px;flex:0 0 270px;margin-right:8px;margin-top:25px}.storeSign{position:absolute;z-index:3;left:78px;top:8px;padding:6px 11px;border-radius:7px;background:#159354;color:#fff;font-size:10px;font-weight:900;box-shadow:0 5px 12px #0a653a33}.storeRoof{position:absolute;left:52px;top:34px;width:175px;height:28px;border-radius:12px 12px 5px 5px;background:repeating-linear-gradient(90deg,#0e8848 0 28px,#fff 28px 42px);box-shadow:0 5px 10px #1f754522}.storeBuilding{position:absolute;left:67px;top:60px;width:145px;height:76px;border-radius:4px 4px 12px 12px;background:#dff1e4;border:3px solid #a6d1b3}.storeWindow{position:absolute;left:18px;top:17px;width:55px;height:40px;background:#7bc0e1;border:4px solid #20714c}.storeDoor{position:absolute;right:18px;bottom:0;width:40px;height:52px;background:#8ec7df;border:4px solid #20714c;border-bottom:0}.storeTree{position:absolute;bottom:4px;width:30px;height:48px;border-radius:50% 50% 42% 42%;background:#79bd4e}.storeTree:after{content:"";position:absolute;left:13px;bottom:-11px;width:6px;height:17px;background:#8c6a42}.treeA{left:22px}.treeB{right:14px;transform:scale(.85)}
.dashboardKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0 24px}.dashboardKpi{padding:18px 20px;border:1px solid var(--dash-line);border-radius:16px;background:#fff;box-shadow:var(--dash-shadow)}.dashboardKpi span{display:block;color:#6b7c72;font-size:11px;font-weight:800}.dashboardKpi strong{display:block;margin-top:6px;color:#075b31;font-size:24px;font-weight:900;font-variant-numeric:tabular-nums}.dashboardKpi small{display:block;margin-top:4px;color:#8a978f;font-size:9px;font-weight:700}
.dashboardSectionHead{display:flex;align-items:center;justify-content:space-between;margin:4px 0 12px}.dashboardSectionHead h2{margin:0;color:#173c29;font-size:21px}.dashboardSectionHead p{margin:3px 0 0;color:#748078;font-size:11px;font-weight:600}.dashboardModules{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.dashboardModule{position:relative;min-height:188px;padding:22px 16px 18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;border:1px solid #e0e8e3;border-radius:17px;background:#fff;color:#263c31;box-shadow:var(--dash-shadow);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.dashboardModule:hover{transform:translateY(-3px);border-color:#bcd9c7;box-shadow:0 16px 32px rgba(13,67,39,.12);filter:none}.moduleIcon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#eef8f1;font-size:27px;margin-bottom:13px}.dashboardModule strong{font-size:14px;color:#243b30}.dashboardModule>span:not(.moduleIcon){font-size:10px;line-height:1.45;color:#718078;font-weight:600;margin-top:5px;max-width:170px}.dashboardModule i{position:absolute;bottom:13px;width:31px;height:31px;display:grid;place-items:center;border:1px solid #d9e6de;border-radius:50%;background:#fff;color:#14824a;font-style:normal;font-size:17px;font-weight:900}
.dashboardBottom{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:16px}.dashboardBottom .panel{min-width:0}.dashboardStats{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.dashboardStats span{padding:9px 11px;border-radius:10px;background:#f4f8f5;color:#66756d;font-size:10px;font-weight:700}.dashboardStats b{color:#075b31;font-size:13px}
@media(max-width:1100px){.dashboardModules{grid-template-columns:repeat(3,minmax(0,1fr))}.storeIllustration{display:none}.dashboardKpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.dashboardWelcome{padding:22px}.dashboardModules{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboardModule{min-height:165px}.dashboardBottom{grid-template-columns:1fr}.dashboardSectionHead{align-items:flex-end}.dashboardKpi strong{font-size:19px}}

/* Clean desktop sidebar for the back-office/dashboard. POS terminal keeps its dedicated bottom navigation behavior. */
@media(min-width:900px){
  #app:not(:has(.posScreen)){padding-left:230px}
  #app:not(:has(.posScreen)) nav{position:fixed;left:0;top:68px;bottom:0;width:230px;min-height:0;padding:18px 13px;display:flex;flex-direction:column;align-items:stretch;gap:6px;overflow-y:auto;overflow-x:hidden;background:#fff;border-right:1px solid #e1ebe4;box-shadow:5px 0 20px rgba(5,46,27,.05);z-index:9}
  #app:not(:has(.posScreen)) nav button{flex:0 0 auto;min-height:44px;padding:10px 14px;text-align:left;border:0;border-radius:10px;background:transparent;color:#31463b;font-size:12px;font-weight:800}
  #app:not(:has(.posScreen)) nav button:hover{background:#edf7f0;color:#0b6b38}
  #app:not(:has(.posScreen)) nav button.active{background:#168a45;color:#fff;box-shadow:0 5px 12px rgba(22,138,69,.18)}
  #app:not(:has(.posScreen)) main{padding:24px 28px 70px;max-width:none}
}

/* Build 104 — cashier-first POS terminal */
.posHeading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 10px}.posHeading>.posStatusBar+*{min-width:0}.posHeading>div:first-child{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.posHeading .pageTitle{margin:0}.posHeading>div:first-child>span{color:#08733d;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.posStatusBar{display:flex;justify-content:flex-end;gap:7px;min-width:0}.posStatusBar>span{min-width:105px;padding:7px 11px;border:1px solid #d7e5dc;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(5,46,27,.04)}.posStatusBar small{display:block;color:#75847b;font-size:8px;font-weight:900;letter-spacing:.8px}.posStatusBar b{display:block;margin-top:2px;max-width:160px;overflow:hidden;text-overflow:ellipsis;color:#083820;font-size:11px;white-space:nowrap}
.posScreen .posToolbar{box-shadow:0 5px 16px rgba(5,46,27,.06)}.posScreen .posToolbar input,.posScreen .posToolbar select{min-height:46px;border:1px solid #b9d0c1;color:#10291b;font-weight:800}.posScreen .posToolbar button{min-height:46px;font-size:12px}
.cartPanel>h2{margin:0 0 8px;font-size:18px;text-transform:uppercase;letter-spacing:.5px}.cartListHeader{display:grid;grid-template-columns:minmax(0,1fr) 108px 120px auto;gap:10px;padding:7px 14px;border-radius:9px;background:#edf5f0;color:#52665a;font-size:9px;font-weight:900;letter-spacing:.7px}.cartListHeader span:nth-child(2){text-align:center}.cartListHeader span:nth-child(3),.cartListHeader span:nth-child(4){text-align:right}
.emptyCartState{height:100%;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:22px;color:#52665a;letter-spacing:0;text-align:center}.emptyCartIcon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:4px;border-radius:16px;background:#e7f5ec;color:#08783d;font-size:31px;box-shadow:inset 0 0 0 1px #c9e4d2}.emptyCartState strong{color:#064325;font-size:24px;text-transform:uppercase}.emptyCartState>span{color:#243d30;font-size:14px;font-weight:900}.emptyCartState>small{color:#75847b;font-size:11px;font-weight:700}.emptyCartTips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:9px}.emptyCartTips span{padding:5px 8px;border:1px solid #d5e5da;border-radius:999px;background:#fff;color:#476052;font-size:8px;font-weight:900;letter-spacing:.4px}
.barcodeDock{grid-template-columns:55px minmax(180px,1fr);gap:8px;margin-bottom:7px;padding:7px;border:2px solid #17372a;background:#f1f6f3;transition:border-color .18s,background .18s,box-shadow .18s}.barcodeShortcut{height:43px;display:grid;place-items:center!important;border-radius:8px;background:#0b5d2f;color:#fff!important;font-size:13px!important}.barcodeInputWrap{position:relative}.barcodeInputWrap input{padding-right:150px}.barcodeInputWrap small{position:absolute;right:11px;top:50%;transform:translateY(-50%);max-width:140px;overflow:hidden;text-overflow:ellipsis;color:#66776c;font-size:9px;font-weight:900;white-space:nowrap}.barcodeDock.scanSuccess{border-color:#0d9b4e;background:#ebfaF1;box-shadow:0 0 0 3px rgba(13,155,78,.12)}.barcodeDock.scanSuccess input{border-color:#0d9b4e}.barcodeDock.scanSuccess small{color:#08733d}.barcodeDock.scanFailed{border-color:#cf3439;background:#fff2f2;box-shadow:0 0 0 3px rgba(207,52,57,.10)}.barcodeDock.scanFailed small{color:#b42127}
.cartSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0;margin:0 0 7px;border:0;background:transparent}.cartSummary>span,.cartSummary>label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #dbe7df;border-radius:9px;background:#f8fbf9}.cartSummary small{color:#65766c;font-size:8px;font-weight:900;letter-spacing:.6px}.cartSummary b{color:#183b28;font-size:12px}.cartSummary .summaryDiscount{color:#b62c31}.cartAmountBox{margin:0}.cartAmountBox input{width:100%;min-width:0;border:0;background:transparent;outline:none;text-align:right;font-size:15px;font-weight:900;color:#183b28;padding:0}.cartAmountBox input::placeholder{color:#8aa092;opacity:1}
.cartTotal{min-height:66px;padding:11px 16px;border-radius:11px;background:linear-gradient(100deg,#052e1b,#075c31);box-shadow:0 6px 16px rgba(5,46,27,.18)}.cartItemCount{display:flex;align-items:center;gap:7px;margin-right:auto;padding:7px 11px}.cartItemCount small{font-size:9px;font-weight:900}.cartItemCount b{font-size:21px}.grandTotalLabel{margin-left:auto;font-size:12px;font-weight:900;letter-spacing:.8px}.cartTotal strong{min-width:155px;text-align:right;font-size:clamp(26px,2.2vw,34px)}
.checkoutActions{position:sticky;bottom:0;grid-template-columns:minmax(720px,3fr) minmax(270px,1fr);gap:8px;margin-top:7px}.checkoutGroup{padding:21px 7px 7px}.checkoutActions .posBtn{min-height:54px;padding:7px 6px;font-size:13px;line-height:1.05}.checkoutActions .posBtn small{display:block;margin-bottom:4px;color:rgba(255,255,255,.78);font-size:8px;font-weight:900;letter-spacing:.5px}.btnHold,.btnRetail,.btnWholesale,.btnRecall,.btnDisplay,.btnDiscount,.btnClear{filter:saturate(.82)}

@media(max-width:1180px){.posHeading{align-items:flex-start}.posStatusBar>span{min-width:88px;padding:7px}.cartListHeader{grid-template-columns:minmax(110px,1fr) 62px 86px}.cartListHeader span:last-child{display:none}.checkoutActions .posBtn{font-size:11px}}
@media(max-width:900px){.posHeading{display:none}.cartListHeader{display:none}.checkoutActions{grid-template-columns:1fr 2fr}.barcodeInputWrap input{padding-right:115px}.barcodeInputWrap small{max-width:105px}.cartSummary>span{padding:6px}.cartSummary small{font-size:7px}.cartSummary b{font-size:10px}}
@media(max-width:680px){.emptyCartState{min-height:120px;padding:10px}.emptyCartIcon{width:40px;height:40px;font-size:23px}.emptyCartState strong{font-size:18px}.emptyCartTips{display:none}.barcodeDock{grid-template-columns:42px minmax(0,1fr)!important}.barcodeShortcut{display:grid!important;height:36px}.barcodeInputWrap input{padding-right:8px}.barcodeInputWrap small{display:none}.cartSummary{gap:3px}.cartSummary>span,.cartSummary>label{display:block;text-align:center}.cartSummary small,.cartSummary b{display:block}.cartAmountBox input{text-align:center;font-size:13px;margin-top:2px}.grandTotalLabel{font-size:9px}.cartTotal strong{min-width:100px}.posScreen .checkoutActions .posBtn{min-height:39px;font-size:9px}.checkoutActions .posBtn small{font-size:7px;margin-bottom:2px}}

/* Build 110 — crisp black typography and complete purchase history controls */
:root{--ink:#000000;--muted-ink:#181818}
body{color:#000;font-size:clamp(15px,.3vw + 14px,17px);font-weight:520}
main,.panel,.card,.modalBox,.toolbar,.form,.dateFilterTray{color:#000}
input,select,textarea{color:#000!important;font-weight:650}
.muted{color:#181818;font-weight:600;opacity:1}
td{color:#000;font-size:14px;font-weight:600}
.panel p,.panel label,.card p,.card label,.modalBox p,.modalBox label{color:#000}
.purchaseDateFilters{align-items:end;padding:14px;border:2px solid #b9d1c0;background:#f7faf8}
.purchaseDateFilters label{min-width:150px;color:#000;font-size:11px;font-weight:1000;letter-spacing:.5px}
.purchaseDateFilters button{min-height:42px;font-weight:900}
.purchaseHistoryTable{min-width:1320px}
.purchaseHistoryTable th{font-size:11px;white-space:nowrap}
.purchaseHistoryTable td{font-size:14px;line-height:1.4}
.purchaseHistoryPanel .historyPanelTitle span{color:#000;font-size:11px}
.purchaseHistoryPanel .purchaseProductLine span,.purchaseHistoryPanel .purchaseProductLine small{color:#000;font-size:12px;font-weight:750}
.purchaseActions{min-width:185px;gap:5px}
.purchaseActions button{flex:1 1 auto;min-height:38px;font-size:10px;font-weight:1000}
.purchaseStatus{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:1000;letter-spacing:.5px;text-transform:uppercase}
.purchaseStatus.posted{border:1px solid #85c99e;background:#e6f7ec;color:#075c31}
.purchaseStatus.voided{border:1px solid #e7a1a1;background:#fff0f0;color:#a51019;opacity:1;text-decoration:none}
.purchaseVoidedRow td{background:#fff7f7!important;color:#3f2020}

/* Build 113 — compact Business Operations date range and search controls */
.commercialDatePanel{padding-bottom:10px}.commercialDatePanel .historyPanelTitle{align-items:flex-start}.commercialDateFilters{margin:0;align-items:end}.commercialDateFilters label{min-width:145px;color:#000}.commercialDateFilters .commercialSearchField{min-width:min(320px,100%);flex:1 1 280px}.commercialDateFilters button{min-height:42px;font-weight:900}.commercialDatePanel .todayBadge{white-space:nowrap}
.purchaseVoidedRow td:first-child{box-shadow:inset 5px 0 0 #c82f36}
.purchaseView{width:min(100%,920px);margin:auto;color:#000}
.purchaseViewHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-28px -28px 20px;padding:22px 28px;border-radius:14px 14px 0 0;background:linear-gradient(135deg,#052e1b,#08733d);color:#fff}
.purchaseViewHeader small{display:block;color:#f0c24f;font-size:10px;font-weight:1000;letter-spacing:1px}
.purchaseViewHeader h2{margin:3px 0 8px;color:#fff;font-size:26px}
.purchaseViewHeader>strong{color:#fff;font-size:30px;white-space:nowrap}
.purchaseViewMeta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:20px}
.purchaseViewMeta span{min-width:0;padding:12px;border:1px solid #d6e3da;border-radius:10px;background:#f8fbf9}
.purchaseViewMeta small{display:block;color:#303030;font-size:9px;font-weight:1000;letter-spacing:.7px}
.purchaseViewMeta b{display:block;margin-top:3px;color:#000;overflow-wrap:anywhere;font-size:13px}
.purchaseViewTable{min-width:720px}
.purchaseViewTable td,.purchaseViewTable th{padding:11px}
.purchaseViewActions{position:sticky;bottom:-28px;margin:18px -28px -28px;padding:14px 28px 20px;border-top:1px solid #d4e0d8;background:#fff}
@media(max-width:680px){.purchaseDateFilters label{width:100%;min-width:0}.purchaseDateFilters button{flex:1 1 calc(33.333% - 8px);padding:8px 5px;font-size:10px}.purchaseViewHeader{margin:-16px -12px 15px;padding:17px 13px}.purchaseViewHeader h2{font-size:20px}.purchaseViewHeader>strong{font-size:22px}.purchaseViewMeta{grid-template-columns:1fr 1fr}.purchaseViewActions{bottom:calc(-16px - env(safe-area-inset-bottom));margin:15px -12px calc(-16px - env(safe-area-inset-bottom));padding:12px}.purchaseViewActions button{width:100%}}

/* BUILD 140: split payment + customer advance */
.splitPaymentGrid{display:grid;gap:10px;margin:14px 0}.splitPaymentRow{display:grid;grid-template-columns:48px minmax(150px,1fr) minmax(130px,1fr) minmax(180px,1.2fr);gap:8px;align-items:center;padding:10px;border:1px solid var(--line,#d8e0e8);border-radius:12px;background:rgba(255,255,255,.7)}.splitPaymentRow>b{text-align:center}.splitPaymentRow input,.splitPaymentRow select{min-width:0}.btnSplit{font-weight:800}.splitPayment .customerDueSummary{margin-top:12px}@media(max-width:800px){.splitPaymentRow{grid-template-columns:36px 1fr}.splitPaymentRow input{grid-column:2}}
/* BUILD 150 — Credit Customer PDF report framework */
.creditPdfFilter{max-width:820px!important}.creditPdfHero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border-radius:16px;background:linear-gradient(125deg,#0d6339,#17894e 65%,#d7a928);color:#fff;margin-bottom:14px}.creditPdfKicker{font-size:11px;font-weight:900;letter-spacing:1.5px;opacity:.9}.creditPdfHero h2{margin:3px 0;font-size:24px}.creditPdfHero p{margin:0;opacity:.92;max-width:580px}.creditPdfBadge{min-width:74px;height:74px;border-radius:18px;display:grid;place-items:center;background:#fff;color:#12693d;font-size:22px;font-weight:1000;box-shadow:0 6px 18px #0002}.creditPdfForm{grid-template-columns:1fr 1fr 2fr!important}.creditPdfForm label{font-weight:850}.creditPdfForm input,.creditPdfForm select{min-height:48px;font-size:15px}.creditPdfHint{padding:10px 12px;margin:8px 0 12px;background:#eef8f1;border-left:5px solid #16864d;border-radius:8px;color:#315342}@media(max-width:720px){.creditPdfHero{align-items:flex-start}.creditPdfHero h2{font-size:19px}.creditPdfBadge{min-width:58px;height:58px}.creditPdfForm{grid-template-columns:1fr!important}.creditPdfCustomer{grid-column:auto!important}}

/* BUILD157 - Add/Edit Product keyboard shortcut panel */
.productModalShortcutBar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;padding:12px;border:1px solid rgba(0,0,0,.14);border-radius:12px;background:rgba(0,0,0,.035);align-items:center}
.productModalShortcutBar b{width:100%;font-size:13px;letter-spacing:.04em}
.productModalShortcutBar span{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid rgba(0,0,0,.16);border-radius:9px;font-weight:800;font-size:12px;background:var(--panel,#fff)}
.productModalActions button{min-height:48px;font-weight:900}.productModalActions button small{display:block;font-size:10px;opacity:.75}
@media(max-width:600px){.productModalShortcutBar{gap:5px}.productModalShortcutBar span{font-size:10px;padding:5px 7px;min-height:28px}}

/* BUILD158 — polished Add Product validation UI */
.productModalActions{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,.35fr);gap:10px;position:sticky;bottom:-28px;margin:16px -28px -28px;padding:14px 28px 20px;background:linear-gradient(180deg,rgba(255,255,255,.94),#fff 35%);border-top:1px solid #d9e4dc;z-index:5}
.productModalActions button{border-radius:12px;box-shadow:0 5px 14px rgba(0,0,0,.08)}
#saveProductButton.productSaveReady{background:linear-gradient(135deg,#08733d,#0e9c53);border-color:#08733d;color:#fff;box-shadow:0 7px 18px rgba(8,115,61,.22)}
#saveProductButton.productSaveBlocked,#saveProductButton.productSaveBlocked:disabled{background:linear-gradient(135deg,#b91c1c,#dc2626)!important;border-color:#991b1b!important;color:#fff!important;opacity:1!important;cursor:not-allowed;box-shadow:0 7px 18px rgba(185,28,28,.18)}
.productFieldInvalid{border:2px solid #dc2626!important;background:#fff1f2!important;box-shadow:0 0 0 3px rgba(220,38,38,.10)!important}
.productFieldValid{border-color:#16a34a!important;background:#f0fdf4!important}
.productValidationError,.productValidationReady{display:grid;gap:3px;margin:12px 0;padding:12px 14px;border-radius:12px;border:1px solid}
.productValidationError{background:#fff1f2;border-color:#fecaca;color:#991b1b}
.productValidationReady{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.productValidationError b,.productValidationReady b{font-size:13px;font-weight:1000;letter-spacing:.3px}.productValidationError span,.productValidationReady span{font-size:12px;font-weight:700}
@media(max-width:600px){.productModalActions{grid-template-columns:1fr;bottom:-16px;margin:14px -12px -16px;padding:12px}.productModalActions button{width:100%}}


/* BUILD160 — Back to Supplier / Bad Order */
.supplierReturnBtn{background:linear-gradient(135deg,#7f1d1d,#b91c1c)!important;color:#fff!important;border-color:#991b1b!important;font-weight:900!important}
.supplierReturnPanel{max-width:980px!important}
.supplierReturnHero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px;border-radius:18px;background:linear-gradient(135deg,#fff7ed,#fee2e2);border:1px solid #fecaca;margin-bottom:16px}
.supplierReturnHero span{font-size:.75rem;font-weight:900;letter-spacing:.14em;color:#991b1b}.supplierReturnHero h2{margin:3px 0 6px;font-size:1.55rem}.supplierReturnHero p{margin:0;color:#57534e;font-weight:600}.supplierReturnBadge{padding:13px 16px;border-radius:14px;background:#991b1b;color:#fff;font-weight:900;white-space:nowrap}
.supplierReturnForm{grid-template-columns:repeat(2,minmax(0,1fr))!important}.supplierReturnNotes{grid-column:1/-1}.supplierReturnNotes textarea{width:100%;resize:vertical}
.supplierReturnWarning{margin:14px 0;padding:13px 15px;border-radius:12px;background:#fff7ed;border:1px solid #fdba74;color:#7c2d12;font-weight:700}.supplierReturnActions .danger{min-height:48px;font-weight:900}
.supplierReturnHistory{max-width:1120px!important}.supplierReturnHistory table{min-width:900px}
@media(max-width:700px){.supplierReturnHero{align-items:flex-start;flex-direction:column}.supplierReturnForm{grid-template-columns:1fr!important}.supplierReturnNotes{grid-column:auto}}

/* BUILD161 — Back to Supplier scan/search product picker (no dropdown) */
.supplierReturnProductBox{position:relative;margin:0 0 16px;padding:16px;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc}
.supplierReturnProductBox label{display:grid;gap:7px;font-weight:900}.supplierReturnProductBox input#srProductSearch{min-height:50px;font-size:1rem;font-weight:800;border:2px solid #94a3b8;border-radius:12px;padding:0 14px;background:#fff}
.supplierReturnProductBox input#srProductSearch:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12);outline:none}
.supplierReturnSearchResults{display:none;position:absolute;z-index:20;left:16px;right:16px;top:82px;max-height:330px;overflow:auto;padding:7px;border:1px solid #cbd5e1;border-radius:13px;background:#fff;box-shadow:0 16px 35px rgba(15,23,42,.18)}
.supplierReturnSearchResults.show{display:grid;gap:6px}.supplierReturnSearchResults button{display:grid!important;grid-template-columns:1fr!important;text-align:left!important;gap:3px!important;width:100%!important;min-height:55px!important;padding:10px 12px!important;border-radius:10px!important;background:#fff!important;color:#0f172a!important;border:1px solid #e2e8f0!important}
.supplierReturnSearchResults button:hover,.supplierReturnSearchResults button:focus{background:#eff6ff!important;border-color:#60a5fa!important}.supplierReturnSearchResults button b{font-size:.95rem}.supplierReturnSearchResults button span{font-size:.78rem;color:#475569}.supplierReturnNoResult{padding:14px;text-align:center;color:#b91c1c;font-weight:900}
.supplierReturnSelectedProduct{display:grid;gap:3px;margin-top:12px;padding:12px 14px;border-radius:12px;background:#ecfdf5;border:1px solid #86efac;color:#14532d}.supplierReturnSelectedProduct b{font-size:1rem}.supplierReturnSelectedProduct span{font-size:.8rem;font-weight:700}
#srStockHint{display:block;margin-top:7px;font-weight:800;color:#334155}

/* BUILD162 — Multi-item Back to Supplier / Bad Order workspace */
.supplierReturnMultiPanel{max-width:1180px!important}.supplierReturnWorkspace{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.35fr);gap:16px;align-items:start}.supplierReturnEntryCard,.supplierReturnCartCard,.supplierReturnBatchCard{border:1px solid #d9e2ea;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06)}.supplierReturnEntryCard,.supplierReturnCartCard{padding:16px}.supplierReturnBatchCard{margin-top:16px;padding:16px}.supplierReturnSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e2e8f0}.supplierReturnSectionTitle b{font-size:.9rem;letter-spacing:.04em;color:#0f172a}.supplierReturnSectionTitle small{font-weight:800;color:#64748b}.supplierReturnQuickRow{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(220px,1fr);gap:10px;align-items:end}.supplierReturnQuickRow label{display:grid;gap:6px;font-weight:900}.supplierReturnQuickRow input{min-height:52px;font-size:1.1rem;font-weight:900}.supplierReturnAddBtn{min-height:58px!important;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#075e36,#0b8f50)!important;color:#fff!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto auto!important;column-gap:8px!important;align-items:center!important;text-align:left!important;padding:9px 16px!important;box-shadow:0 9px 20px rgba(8,115,61,.22)!important}.supplierReturnAddBtn span{grid-row:1/3;font-size:1.6rem;font-weight:1000}.supplierReturnAddBtn b{font-size:.9rem}.supplierReturnAddBtn small{font-size:.68rem;opacity:.85}.supplierReturnCartEmpty{min-height:245px;display:grid;place-items:center;border:2px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b;font-weight:900}.supplierReturnCartList{display:grid;gap:8px;max-height:390px;overflow:auto;padding-right:3px}.supplierReturnCartRow{display:grid;grid-template-columns:34px minmax(180px,1fr) 110px 120px 86px;gap:9px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.supplierReturnLineNo{width:30px;height:30px;border-radius:9px;background:#0f5132;color:#fff;display:grid;place-items:center;font-weight:1000}.supplierReturnCartInfo{display:grid;gap:2px;min-width:0}.supplierReturnCartInfo b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplierReturnCartInfo span{font-size:.74rem;color:#64748b;font-weight:700}.supplierReturnCartRow label{display:grid;gap:3px;font-size:.65rem;font-weight:900;color:#475569}.supplierReturnCartRow input{min-height:40px;font-weight:900}.supplierReturnCartValue{display:grid;gap:2px}.supplierReturnCartValue small{font-size:.62rem;color:#64748b;font-weight:900}.supplierReturnCartValue b{font-size:.83rem}.supplierReturnRemoveBtn{min-height:40px!important;padding:7px 9px!important;border-radius:10px!important;background:#fff1f2!important;color:#991b1b!important;border:1px solid #fecaca!important;font-weight:900!important}.supplierReturnPostAll{min-height:54px!important;font-size:.95rem!important;box-shadow:0 8px 18px rgba(153,27,27,.18)!important}
@media(max-width:900px){.supplierReturnWorkspace{grid-template-columns:1fr}.supplierReturnCartList{max-height:330px}.supplierReturnCartRow{grid-template-columns:32px minmax(160px,1fr) 92px 80px}.supplierReturnCartValue{display:none}.supplierReturnRemoveBtn{grid-column:2/-1}}
@media(max-width:600px){.supplierReturnEntryCard,.supplierReturnCartCard,.supplierReturnBatchCard{padding:11px}.supplierReturnQuickRow{grid-template-columns:1fr}.supplierReturnCartRow{grid-template-columns:30px 1fr 84px}.supplierReturnCartValue{display:none}.supplierReturnRemoveBtn{grid-column:2/4}.supplierReturnSectionTitle{align-items:flex-start;flex-direction:column}.supplierReturnActions{display:grid!important;grid-template-columns:1fr!important}.supplierReturnActions button{width:100%!important}}

/* BUILD165 — automatic D1 live sync indicator */
.d1AutoLiveBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.d1AutoLiveBadge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font-weight:800;font-size:.82rem;letter-spacing:.03em;background:#e8f8ef;border:1px solid #9bd8b4;color:#146b37}.d1AutoLiveBadge::first-letter{font-size:1.1em}
