.staff-view, .staff-view * { font-family: "MiSans Lao", Arial, sans-serif !important; }
.pos-titlebar { min-height: 94px; padding-top: 18px; padding-bottom: 16px; }
.pos-titlebar h1 { font-size: clamp(2rem, 3vw, 3.2rem); }
body.pos-mode { overflow: hidden; }
.staff-view.active { height: calc(100vh - 92px); display: grid; grid-template-columns: minmax(0, 58%) minmax(400px, 42%); grid-template-rows: auto auto minmax(0,1fr); overflow: hidden; }
.pos-titlebar { grid-column: 1; grid-row: 1; }
.pos-navigator { position: sticky; top: 92px; z-index: 20; display: grid; grid-column: 1; grid-row: 2; grid-template-columns: repeat(var(--step-count, 4), minmax(120px, 1fr)); overflow-x: auto; border-bottom: 1px solid var(--line); background: var(--paper); }
.pos-navigator button { position: relative; display: grid; grid-template-columns: 31px 1fr; align-items: center; min-height: 70px; border: 0; border-right: 1px solid var(--line); padding: 9px 12px; color: var(--muted); background: transparent; text-align: left; cursor: pointer; }
.pos-navigator button span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--line); border-radius: 50%; font-size: .7rem; }
.pos-navigator button b { font-size: .72rem; font-weight: 500; line-height: 1.4; }
.pos-navigator button.active { color: var(--cream); background: var(--brown); }
.pos-navigator button.done { color: var(--brown); background: var(--cream-deep); }
.pos-navigator button.active span { border-color: rgba(255,255,255,.55); }
.opticore-pos-layout { display: contents; }
.pos-workspace { display: flex; grid-column: 1; grid-row: 3; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; padding: 22px 2.2vw 18px; border-right: 1px solid var(--line); }
#posStepContent { flex: 1; min-height: 0; overflow-y: auto; }
.products-step { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.current-order-panel { grid-column: 2; grid-row: 1 / 4; min-height: 0; overflow-y: auto; padding: 28px 34px; background: var(--paper); }
.current-order-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--brown); }
.current-order-head span { display: block; color: var(--brown); font-size: .7rem; font-weight: 600; letter-spacing: .09em; }
.current-order-head strong { display: block; margin-top: 5px; font-size: .9rem; }
.current-order-head button { border: 0; border-bottom: 1px solid var(--line); padding: 4px 0; background: transparent; font-size: .7rem; cursor: pointer; }
.order-customer-mini { margin: 16px 0; padding: 12px; color: var(--muted); background: var(--cream); font-size: .75rem; }
.current-order-items { min-height: 170px; }
.current-order-items > p { padding: 45px 15px; color: var(--muted); text-align: center; }
.order-summary-item { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.order-summary-item b, .order-summary-item small { display: block; }
.order-summary-item b { font-size: .84rem; font-weight: 500; }
.order-summary-item small { margin-top: 4px; color: var(--muted); font-size: .68rem; }
.order-summary-item strong { font-size: .8rem; font-weight: 500; }
.bundle-status { margin-top: 15px; padding: 14px; border: 1px solid var(--line); }
.bundle-status span, .bundle-status strong { display: block; }
.bundle-status span { color: var(--muted); font-size: .68rem; }
.bundle-status strong { margin-top: 5px; color: var(--brown); font-size: .78rem; }
.order-total-row { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--brown); }
.order-total-row strong { font-size: 1.6rem; font-weight: 500; }
.step-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.step-head span { color: var(--brown); font-size: .7rem; font-weight: 600; letter-spacing: .1em; }
.step-head h2 { margin: 6px 0 0; font-size: 1.7rem; font-weight: 400; }
.step-head p { max-width: 520px; margin: 0; color: var(--muted); font-size: .78rem; text-align: right; }
.pos-search { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; padding: 15px 18px; border: 1px solid var(--line); background: var(--paper); }
.pos-search span { color: var(--muted); font-size: .72rem; }
.pos-search input { width: 100%; border: 0; outline: 0; background: transparent; }
.frame-grid, .lens-grid, .other-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.sale-type-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 24px; }
.sale-type-card { min-height: 104px; border: 1px solid var(--line); padding: 16px; background: var(--paper); text-align: left; cursor: pointer; }
.sale-type-card span, .sale-type-card b, .sale-type-card small { display: block; }
.sale-type-card span { color: var(--brown); font-size: .68rem; font-weight: 600; letter-spacing: .09em; }
.sale-type-card b { margin-top: 7px; font-size: .88rem; font-weight: 500; }
.sale-type-card small { margin-top: 5px; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.sale-type-card.selected { color: var(--cream); background: var(--brown); }
.sale-type-card.selected span, .sale-type-card.selected small { color: rgba(255,245,231,.75); }
.product-group { margin-top: 26px; }
.product-group-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.product-group-head h3 { margin: 0; font-size: 1rem; font-weight: 500; }
.product-group-head span { color: var(--muted); font-size: .7rem; }
.customer-address-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.product-selection-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex: 1; min-height: 0; gap: 12px; overflow: hidden; }
.product-selection-columns.type-lens, .product-selection-columns.type-frame, .product-selection-columns.type-other { grid-template-columns: 1fr; }
.product-selection-columns .product-group { display: flex; flex-direction: column; min-height: 0; margin-top: 0; border: 1px solid var(--line); padding: 14px; background: rgba(255,250,242,.5); }
.product-selection-columns .frame-grid, .product-selection-columns .lens-grid, .product-selection-columns .other-grid { grid-template-columns: 1fr; min-height: 0; margin-top: 10px; overflow-y: auto; }
.product-selection-columns.type-lens .lens-grid, .product-selection-columns.type-frame .frame-grid, .product-selection-columns.type-other .other-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-selection-columns .select-card { min-height: 78px; padding: 12px; }
.product-selection-columns .pos-search { padding: 10px 12px; }
.phone-prefix-wrap { display: grid; grid-template-columns: auto 1fr; }
.phone-prefix-wrap span { display: grid; place-items: center; border: 1px solid var(--line); border-right: 0; padding: 0 12px; color: var(--brown); background: var(--cream); font-size: .8rem; }
.phone-prefix-wrap input { min-width: 0; }
.select-card { display: grid; grid-template-columns: 1fr auto; gap: 14px; min-height: 105px; border: 1px solid var(--line); padding: 18px; background: var(--paper); text-align: left; cursor: pointer; }
.select-card:hover { border-color: var(--brown); }
.select-card.selected { color: var(--cream); background: var(--brown); }
.select-card b, .select-card small { display: block; }
.select-card b { font-size: 1rem; font-weight: 500; }
.select-card small { margin-top: 5px; color: var(--muted); font-size: .7rem; }
.select-card.selected small { color: rgba(255,245,231,.7); }
.select-card strong { white-space: nowrap; font-size: .88rem; font-weight: 500; }
.lens-price-match { margin-top: 7px; padding: 5px 8px; color: var(--brown); background: var(--cream-deep); font-size: .65rem; }
.selected .lens-price-match { color: var(--brown-dark); background: var(--cream); }
.form-section { margin-top: 20px; padding: 24px; border: 1px solid var(--line); background: var(--paper); }
.form-section h3 { margin: 0 0 18px; font-size: 1rem; font-weight: 500; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.field { display: grid; gap: 7px; }
.field > span { color: var(--muted); font-size: .7rem; }
.field input, .field select, .field textarea { width: 100%; min-height: 44px; border: 1px solid var(--line); padding: 9px 11px; outline: 0; background: #fffdf8; }
.field textarea { min-height: 88px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brown); box-shadow: 0 0 0 2px rgba(111,76,49,.08); }
.rx-table { width: 100%; border: 1px solid var(--line); border-collapse: collapse; background: var(--paper); }
.rx-table th, .rx-table td { padding: 11px; border: 1px solid var(--line); text-align: center; }
.rx-table th { color: var(--muted); font-size: .7rem; font-weight: 500; }
.rx-table input { width: 100%; min-width: 72px; border: 0; padding: 8px 4px; outline: 0; background: transparent; text-align: center; }
.fitting-header { display: grid; grid-template-columns: repeat(7, 1fr); margin-top: 18px; border: 1px solid var(--line); background: var(--paper); }
.fitting-field { min-width: 0; border-right: 1px solid var(--line); }
.fitting-field:last-child { border: 0; }
.fitting-field .measure-icon { display: grid; place-items: center; min-height: 70px; color: var(--cream); background: var(--brown-dark); font-size: 1.15rem; font-weight: 600; }
.measure-icon svg { width: 64px; height: 50px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.measure-icon b { margin-top: -7px; font-size: .72rem; }
.measure-icon > span { max-width: 130px; padding: 12px 7px; font-size: .74rem; line-height: 1.35; text-align: center; }
.fitting-field label { display: grid; gap: 5px; padding: 12px; }
.fitting-field label span { color: var(--muted); font-size: .62rem; }
.fitting-field input { width: 100%; min-width: 0; border: 0; border-bottom: 1px solid var(--line); padding: 7px 2px; background: transparent; text-align: center; }
.review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.review-card { padding: 20px; border: 1px solid var(--line); background: var(--paper); }
.review-card span { color: var(--muted); font-size: .68rem; }
.review-card h3 { margin: 6px 0 12px; font-size: 1rem; font-weight: 500; }
.review-card p { margin: 5px 0; font-size: .8rem; }
.pos-actions { display: flex; flex: none; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.pos-actions button { min-width: 130px; min-height: 46px; border: 1px solid var(--brown); padding: 0 18px; cursor: pointer; }
.pos-back { background: transparent; }
.pos-next { color: var(--cream); background: var(--brown); }
.pos-actions button:disabled { opacity: .35; cursor: not-allowed; }
.payment-screen, .print-screen { flex: 1; min-height: 0; overflow-y: auto; padding: 24px 4vw 32px; background: #f7efe4; }
.empty-step { color: var(--muted); text-align: center; }
.compact-section { margin-top: 12px; padding: 16px; }
.table-scroll { overflow: auto; }
.payment-card { max-width: 1060px; margin: auto; padding: 30px; border: 1px solid var(--line); background: var(--paper); }
.payment-head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.payment-head > div { text-align: center; }
.payment-head span { color: var(--brown); font-size: .66rem; letter-spacing: .13em; }
.payment-head h2 { margin: 4px 0 0; font-size: 1.8rem; font-weight: 400; }
.payment-head > button { justify-self: start; border: 0; background: transparent; }
.payment-head > strong { justify-self: end; color: var(--brown); }
.payment-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; margin-top: 25px; }
.choice-card { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; border: 1px solid var(--line); padding: 15px; cursor: pointer; }
.choice-card input { accent-color: var(--brown); }
.choice-card b, .choice-card small { display: block; }
.choice-card small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.payment-methods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 20px; }
.payment-methods label { display: grid; gap: 6px; }
.payment-methods span { color: var(--muted); font-size: .7rem; }
.payment-methods input { width: 100%; min-height: 46px; border: 1px solid var(--line); padding: 10px; background: #fffdf8; }
.qr-payment-box { padding: 20px; border: 1px solid var(--line); text-align: center; }
.qr-payment-box > span { color: var(--muted); font-size: .65rem; }
.qr-preview { display: grid; place-items: center; width: min(230px, 100%); aspect-ratio: 1; margin: 16px auto; background: var(--cream); }
.qr-preview p { color: var(--muted); font-size: .75rem; }
.qr-preview img { width: 100%; height: 100%; object-fit: contain; }
.qr-managed-note { margin: 14px 0 0; color: var(--muted); font-size: .72rem; text-align: center; }
.qr-payment-box > label { display: inline-block; border-bottom: 1px solid var(--brown); color: var(--brown); font-size: .72rem; cursor: pointer; }
.payment-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 25px; border: 1px solid var(--line); }
.payment-summary > div { padding: 18px; border-right: 1px solid var(--line); }
.payment-summary > div:last-child { border: 0; }
.payment-summary span, .payment-summary strong { display: block; }
.payment-summary span { color: var(--muted); font-size: .7rem; }
.payment-summary strong { margin-top: 5px; font-size: 1.3rem; font-weight: 500; }
.save-sale-button { display: block; width: 100%; min-height: 52px; margin-top: 20px; border: 0; color: var(--cream); background: var(--brown); font-size: .9rem; font-weight: 600; cursor: pointer; }
.print-success { max-width: 900px; margin: 0 auto 30px; padding: 32px; border: 1px solid var(--line); background: var(--paper); text-align: center; }
.print-success > span { display: grid; place-items: center; width: 48px; height: 48px; margin: auto; border-radius: 50%; color: white; background: #647a59; font-size: 1.4rem; }
.print-success h2 { margin: 14px 0 3px; font-size: 1.7rem; font-weight: 400; }
.print-success p { color: var(--brown); font-weight: 600; }
.print-success > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.print-success button { min-height: 42px; border: 1px solid var(--brown); padding: 0 14px; background: transparent; cursor: pointer; }
.print-success .new-sale-button { display: block; margin: 18px auto 0; color: var(--cream); background: var(--brown); }
.print-documents { display: grid; grid-template-columns: repeat(2, minmax(0, 148mm)); justify-content: center; gap: 20px; overflow: auto; }
.a5-page { width: 148mm; min-height: 210mm; padding: 10mm; color: #111; background: #fff; box-shadow: 0 10px 35px rgba(0,0,0,.12); font-family: "MiSans Lao", Arial, sans-serif !important; font-size: 9pt; }
.print-logo { display: flex; align-items: center; justify-content: space-between; padding-bottom: 5mm; border-bottom: 1px solid #333; }
.print-logo img { width: 52mm; }
.print-logo div { text-align: right; }
.print-title { margin: 4mm 0; text-align: center; font-size: 14pt; font-weight: 600; }
.print-info-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4mm; padding: 3mm 0; border-bottom: 1px solid #777; }
.print-info-grid p { margin: 1.2mm 0; }
.print-rx { margin: 3mm 0; padding: 2.5mm; border: 1px solid #777; }
.print-table { width: 100%; border-collapse: collapse; font-size: 8pt; }
.print-table th, .print-table td { border: 1px solid #777; padding: 2mm; }
.print-totals { width: 62mm; margin: 4mm 0 0 auto; }
.print-totals div { display: flex; justify-content: space-between; padding: 1mm 0; }
.print-totals div:last-child { border-top: 1px solid #333; font-weight: 600; }
.print-signatures { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6mm; margin-top: 18mm; text-align: center; }
.print-signatures div { padding-top: 3mm; border-top: 1px solid #333; }
.work-measure-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 4mm 0; border: 1px solid #333; }
.work-measure-grid div { padding: 3mm 2mm; border-right: 1px solid #333; text-align: center; }
.work-measure-grid div:last-child { border: 0; }
.work-measure-grid strong, .work-measure-grid span { display: block; }
.work-status { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm; margin-top: 6mm; }
.work-status div { min-height: 18mm; padding: 2mm; border: 1px solid #777; }
@media (max-width: 1020px) { .opticore-pos-layout { grid-template-columns: minmax(0, 1fr) 330px; } .field-grid.four { grid-template-columns: repeat(2, 1fr); } .fitting-header { grid-template-columns: repeat(4, 1fr); } .fitting-field:nth-child(4) { border-right: 0; } }
@media (max-width: 980px) { .sale-type-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { body.pos-mode { overflow: hidden; } .staff-view.active { height: calc(100vh - 82px); } .pos-titlebar { display: none; } .pos-navigator { top: 0; grid-template-columns: repeat(var(--step-count, 4), 145px); } .opticore-pos-layout { display: block; overflow-y: auto; } .pos-workspace { display: block; width: 100%; min-height: auto; overflow: visible; padding: 25px 18px; border: 0; } #posStepContent { overflow: visible; } .products-step { display: block; height: auto; } .product-selection-columns, .product-selection-columns.type-lens, .product-selection-columns.type-frame, .product-selection-columns.type-other { display: block; overflow: visible; } .product-selection-columns .product-group { margin-top: 12px; } .product-selection-columns .frame-grid, .product-selection-columns .lens-grid, .product-selection-columns .other-grid, .product-selection-columns.type-lens .lens-grid, .product-selection-columns.type-frame .frame-grid, .product-selection-columns.type-other .other-grid { grid-template-columns: 1fr; overflow: visible; } .current-order-panel { width: 100%; min-height: auto; overflow: visible; border-top: 1px solid var(--line); } .frame-grid, .lens-grid, .other-grid, .review-grid { grid-template-columns: 1fr; } .step-head { align-items: start; flex-direction: column; } .step-head p { text-align: left; } .field-grid, .field-grid.three, .field-grid.four, .customer-address-grid { grid-template-columns: 1fr; } .fitting-header { grid-template-columns: repeat(2, 1fr); } .fitting-field:nth-child(2n) { border-right: 0; } .payment-screen, .print-screen { padding: 20px 12px 60px; } .payment-card { padding: 18px; } .payment-head { grid-template-columns: 1fr auto; } .payment-head > div { grid-column: 1 / -1; grid-row: 1; margin-bottom: 18px; } .payment-head > button { grid-row: 2; } .payment-head > strong { grid-row: 2; } .payment-grid { grid-template-columns: 1fr; } .payment-methods { grid-template-columns: 1fr; } .payment-summary { grid-template-columns: 1fr; } .payment-summary > div { border-right: 0; border-bottom: 1px solid var(--line); } .print-documents { justify-content: start; } }
@media print {
  @page { size: 148mm 210mm; margin: 0; }
  html, body { width: 148mm !important; min-width: 148mm !important; margin: 0 !important; padding: 0 !important; background: #fff !important; overflow: visible !important; }
  body.print-active > :not(#printDocuments) { display: none !important; }
  body.print-active #printDocuments { position: static !important; display: block !important; width: 148mm !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
  .a5-page { display: block; width: 148mm; min-height: 210mm; margin: 0; padding: 10mm; overflow: visible; box-shadow: none; break-after: page; page-break-after: always; }
  .a5-page:last-child { break-after: auto; page-break-after: auto; }
  body.print-receipt .work-page { display: none !important; }
  body.print-work .receipt-page { display: none !important; }
}

/* Compact sales workstation */
.sale-type-grid { gap: 8px; margin-bottom: 12px; }
.sale-type-card { position: relative; display: grid; grid-template-columns: 24px 28px 1fr; align-items: center; min-height: 58px; padding: 9px 12px; }
.sale-type-card input { width: 15px; height: 15px; margin: 0; accent-color: var(--brown); }
.sale-type-card span, .sale-type-card b { margin: 0; }
.sale-type-card small { display: none; }
.sale-type-card.selected input { accent-color: var(--cream); }
.barcode-entry { display: grid; grid-template-columns: auto minmax(180px,1fr) auto; align-items: center; gap: 12px; margin-bottom: 12px; border: 1px solid var(--brown); padding: 9px 12px; background: var(--paper); }
.barcode-entry span { font-size: .7rem; font-weight: 600; letter-spacing: .08em; }
.barcode-entry input { min-width: 0; border: 0; border-bottom: 1px solid var(--line); padding: 7px 4px; outline: 0; background: transparent; }
.barcode-entry small { color: var(--muted); font-size: .64rem; }
.smart-search-shell { position: relative; display: block; width: 100%; margin-top: 13px; }
.barcode-entry .smart-search-shell { margin-top: 0; }
.smart-search-shell input { width: 100%; min-width: 0; min-height: 46px; border: 1px solid var(--line); padding: 9px 12px; background: #fffdf8; outline: 0; }
.smart-search-shell input:focus { border-color: var(--brown); box-shadow: 0 0 0 2px rgba(111,76,49,.08); }
.product-search-input::placeholder { color: var(--muted); opacity: .58; }
.product-search-results { position: absolute; z-index: 40; top: calc(100% + 5px); left: 0; right: 0; max-height: 280px; overflow-y: auto; border: 1px solid var(--line); background: #fff; box-shadow: 0 18px 45px rgba(57,39,27,.16); }
.product-search-results button { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; width: 100%; border: 0; border-bottom: 1px solid var(--line); padding: 13px 15px; background: #fff; text-align: left; cursor: pointer; }
.product-search-results button:hover { background: var(--cream); }
.product-search-results b, .product-search-results small { display: block; }
.product-search-results b { font-size: .82rem; }
.product-search-results small { margin-top: 3px; color: var(--muted); font-size: .65rem; }
.product-search-results strong { align-self: center; color: var(--brown); font-size: .74rem; white-space: nowrap; }
.product-search-results > p { margin: 0; padding: 18px; color: var(--muted); text-align: center; }
.product-selection-columns { align-items: start; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: visible; }
.product-selection-columns .product-group { display: block; min-height: 170px; }
.product-dropdown, .picker-row select { width: 100%; min-width: 0; min-height: 44px; margin-top: 13px; border: 1px solid var(--line); padding: 8px 10px; background: #fffdf8; }
.picker-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.picker-row button { align-self: end; min-height: 44px; border: 1px solid var(--brown); padding: 0 12px; color: var(--cream); background: var(--brown); }
.selected-products { min-height: 56px; margin-top: 10px; padding: 10px; background: var(--cream); }
.selected-products p { margin: 9px 0; color: var(--muted); font-size: .72rem; text-align: center; }
.selected-products div span, .selected-products div b, .selected-products div small { display: block; }
.selected-products div span { color: var(--muted); font-size: .6rem; letter-spacing: .08em; }
.selected-products div b { margin-top: 3px; font-size: .8rem; }
.selected-products div small { margin-top: 2px; color: var(--muted); font-size: .65rem; }
.selected-products button { display: flex; align-items: center; justify-content: space-between; width: 100%; border: 0; border-bottom: 1px solid var(--line); padding: 7px 3px; background: transparent; text-align: left; }
.selected-products button span, .selected-products button small { display: block; }
.selected-products button small { color: var(--muted); font-size: .62rem; }
.rxfit-columns { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(330px,.65fr); gap: 14px; }
.rxfit-columns .form-section { margin-top: 0; }
.rxfit-columns .fitting-header { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 0 12px; }
.rxfit-columns .fitting-field { display: grid; grid-template-columns: 42px 1fr; border-bottom: 1px solid var(--line); }
.rxfit-columns .fitting-field .measure-icon { min-height: 48px; }
.rxfit-columns .fitting-field label { padding: 7px; }
.payment-screen:not([hidden]) { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: 20px; background: rgba(57,39,27,.62); backdrop-filter: blur(8px); }
.payment-screen .payment-card { width: min(1080px,100%); max-height: calc(100svh - 40px); overflow-y: auto; box-shadow: 0 25px 90px rgba(0,0,0,.28); }
body.payment-open { overflow: hidden; }

@media (max-width: 1180px) {
  .opticore-pos-layout { grid-template-columns: minmax(0,1fr) 310px; }
  .sale-type-card { grid-template-columns: 20px 24px 1fr; padding-inline: 8px; }
  .barcode-entry small { display: none; }
  .rxfit-columns { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .sale-type-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sale-type-card { min-height: 56px; }
  .barcode-entry { grid-template-columns: 1fr; gap: 4px; }
  .product-selection-columns, .product-selection-columns.type-new { display: grid; grid-template-columns: 1fr; }
  .product-selection-columns .product-group { min-height: 0; }
  .rxfit-columns { display: grid; grid-template-columns: 1fr; }
  .payment-screen:not([hidden]) { padding: 0; }
  .payment-screen .payment-card { max-height: 100svh; min-height: 100svh; border: 0; }
}

/* Mobile POS: remove the tall title/step chrome marked in review. */
@media (max-width: 760px) {
  .staff-view.active { display: block; height: calc(100vh - 82px); overflow-y: auto; }
  .pos-titlebar, .pos-navigator { display: none; }
  .opticore-pos-layout { display: block; overflow: visible; }
  .current-order-panel { padding: 22px 18px; }
}
