/* Cashier Payment Center — simple staff flow: Cash or Terminal */
.pmd-coc [hidden],
.pmd-pos-app [hidden]{display:none!important}

.pmd-coc .pmd-pos-payment-modal{background:rgba(16,35,49,.42)!important;backdrop-filter:blur(8px)!important}
/* Prevent the one-frame flash of raw payment markup while V3 fetches the fresh settlement summary. */
.pmd-coc .pmd-pos-payment-modal.pmd-payment-is-preparing{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transition:none!important}
.pmd-coc .pmd-pos-payment-dialog{width:min(820px,calc(100vw - 34px))!important;height:auto!important;max-height:min(86dvh,690px)!important;border:1px solid #d6e3ea!important;border-radius:22px!important;background:#f8fbfc!important;box-shadow:0 30px 80px rgba(13,38,55,.20)!important}
.pmd-coc .pmd-pos-payment-head{min-height:74px!important;padding:14px 18px!important;background:#fff!important;color:#102d40!important;border-bottom:1px solid #dce7ed!important}
.pmd-coc .pmd-pos-payment-head h2{margin:1px 0 0!important;font-size:21px!important;color:#102d40!important}
.pmd-coc .pmd-pos-payment-head p{margin:3px 0 0!important;color:#718697!important;font-size:10px!important}
.pmd-coc .pmd-pos-payment-eyebrow{color:#0c7b63!important;font-size:8px!important;letter-spacing:.12em!important}
.pmd-coc .pmd-pos-payment-close{width:42px!important;height:42px!important;border:1px solid #cfe0e9!important;background:#fff!important;color:#173b52!important}

.pmd-coc .pmd-pos-payment-body{grid-template-columns:minmax(0,1fr) 230px!important;gap:10px!important;padding:10px!important;overflow:auto!important}
.pmd-coc .pmd-pos-payment-main{gap:9px!important;padding-right:0!important}
.pmd-coc .pmd-pos-payment-summary{padding:14px!important;border:1px solid #d9e5eb!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important;align-self:start!important}
.pmd-coc .pmd-pos-payment-summary h3{display:none!important}

.pmd-coc .pmd-pos-payment-balance{display:block!important}
.pmd-coc .pmd-pos-balance-card{padding:13px 15px!important;border-radius:14px!important}
.pmd-coc .pmd-pos-balance-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:3px 14px!important;border-color:#cfe3dd!important;background:#f3fbf8!important}
.pmd-coc .pmd-pos-balance-hero span{color:#557487!important;font-size:8.5px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.pmd-coc .pmd-pos-balance-hero b{grid-row:1/3!important;grid-column:2!important;margin:0!important;color:#08745a!important;font-size:27px!important;line-height:1!important}
.pmd-coc .pmd-pos-balance-hero small{color:#788d9b!important;font-size:8.5px!important;font-weight:700!important}

/* Keep advanced settlement logic available in the backend, but remove it from the normal staff surface. */
/* PMD_R67_CASHIER_PARTIAL_SPLIT */
.pmd-coc .pmd-pos-payment-block:has([data-pos-split-tabs]){
  display:block!important
}

.pmd-coc .pmd-pos-payment-block{padding:12px!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important}
.pmd-coc .pmd-pos-payment-block-title{margin-bottom:7px!important}
.pmd-coc .pmd-pos-payment-block-title b{font-size:11.5px!important}
.pmd-coc .pmd-pos-payment-block-title span{display:none!important}

.pmd-coc .pmd-pos-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.pmd-coc .pmd-pos-method{min-height:66px!important;padding:11px 13px!important;border-radius:13px!important;background:#fff!important}
.pmd-coc .pmd-pos-method b{font-size:13px!important}
.pmd-coc .pmd-pos-method small{margin-top:3px!important;font-size:9px!important;color:#718697!important}
.pmd-coc .pmd-pos-method.is-active{border-color:#0c7a62!important;box-shadow:0 0 0 2px rgba(12,122,98,.10)!important;background:#eff9f6!important}
.pmd-coc [data-payment-method="external_terminal"],
.pmd-coc [data-payment-method^="online:"],
.pmd-pos-app [data-payment-method="external_terminal"],
.pmd-pos-app [data-payment-method^="online:"]{display:none!important}

.pmd-coc .pmd-pos-terminal-box{margin-top:9px!important;padding:11px!important;border:1px solid #cce5dc!important;border-radius:12px!important;background:#f5fbf9!important;color:#123d50!important}
.pmd-coc .pmd-pos-terminal-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.pmd-coc .pmd-pos-terminal-title b{font-size:11px!important}
.pmd-coc .pmd-pos-terminal-title span{color:#718a99!important;font-size:9px!important}
.pmd-coc .pmd-pos-terminal-provider-row{margin-top:8px!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;gap:7px!important}
.pmd-coc .pmd-pos-terminal-provider-row button{min-height:52px!important;padding:8px 10px!important;border:1px solid #cfe0e7!important;border-radius:11px!important;background:#fff!important;color:#173c53!important;text-align:left!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important}
.pmd-coc .pmd-pos-terminal-provider-row button.is-active{border-color:#0b7b61!important;box-shadow:0 0 0 2px rgba(11,123,97,.10)!important;background:#eff9f6!important}
.pmd-coc .pmd-pos-terminal-provider-row button:disabled{opacity:.58!important;cursor:not-allowed!important;box-shadow:none!important}
.pmd-coc .pmd-pos-terminal-provider-row button>span{font-size:10.5px!important;font-weight:900!important}
.pmd-coc .pmd-pos-terminal-provider-row button small{display:flex!important;align-items:center!important;gap:5px!important;color:#7b8f9d!important;font-size:8.5px!important;font-weight:800!important;text-transform:capitalize!important}
.pmd-coc .pmd-pos-terminal-provider-row button small i{width:6px!important;height:6px!important;border-radius:50%!important;background:#9eafb9!important}
.pmd-coc .pmd-pos-terminal-provider-row button.is-online small{color:#0b7359!important}
.pmd-coc .pmd-pos-terminal-provider-row button.is-online small i{background:#18a671!important}
.pmd-coc .pmd-pos-terminal-simple-status{display:none!important}

/* Collection is one small cash field; terminal needs no manual reference fields. */
.pmd-coc [data-pos-collection-fields]{padding:10px 12px!important}
.pmd-coc [data-pos-collection-fields] .pmd-pos-payment-fields{display:block!important}
.pmd-coc [data-pos-collection-fields] label:has([data-pos-payer-label]),
.pmd-coc [data-pos-reference-field],
.pmd-coc [data-pos-external-confirm-row]{display:none!important}
.pmd-coc [data-pos-cash-field]{max-width:260px!important;margin:0!important}
.pmd-coc [data-pos-cash-field] span{font-size:9px!important;font-weight:800!important;color:#557487!important}
.pmd-coc .pmd-pos-payment-input{min-height:44px!important;border-radius:11px!important}
.pmd-coc .pmd-pos-payment-modal.is-direct-terminal [data-pos-collection-fields]{display:none!important}

.pmd-coc .pmd-pos-pay-totals{margin:0!important}
.pmd-coc .pmd-pos-pay-total-row{font-size:10px!important}
.pmd-coc .pmd-pos-pay-total-row.is-grand{margin:0!important;padding:0 0 12px!important;border:0!important;font-size:17px!important}
.pmd-coc .pmd-pos-pay-total-row.is-grand strong{font-size:21px!important;color:#102d40!important}
.pmd-coc .pmd-pos-change-box{margin:0 0 9px!important;padding:9px!important;border-radius:10px!important;font-size:10px!important}
.pmd-coc .pmd-pos-pay-button{width:100%!important;min-height:50px!important;margin:0!important;border-radius:12px!important;background:#0c7a62!important;box-shadow:none!important;font-size:12px!important;font-weight:900!important}
.pmd-coc .pmd-pos-pay-button:disabled{opacity:.48!important;cursor:not-allowed!important}
.pmd-coc [data-pos-copy-link]{display:none!important}
.pmd-coc .pmd-pos-payment-secondary{min-height:36px!important;margin-top:8px!important;font-size:9.5px!important}
.pmd-coc .pmd-pos-payment-safety{display:none!important}
.pmd-coc .pmd-pos-payment-history-wrap{margin-top:10px!important;padding-top:10px!important}
.pmd-coc .pmd-pos-payment-history-wrap[hidden]{display:none!important}

@media(max-width:820px){
  .pmd-coc .pmd-pos-payment-dialog{width:100%!important;height:100dvh!important;max-height:none!important;border-radius:0!important}
  .pmd-coc .pmd-pos-payment-body{display:block!important;overflow:auto!important}
  .pmd-coc .pmd-pos-payment-summary{margin-top:9px!important}
}
@media(max-width:560px){
  .pmd-coc .pmd-pos-method-grid{grid-template-columns:1fr 1fr!important}
  .pmd-coc .pmd-pos-balance-hero{grid-template-columns:1fr auto!important}
}

/* PMD_CASHIER_PAYMENT_R60D_OWNER_START */

/*
 * CASHIER PAYMENT VISUAL OWNER
 *
 * Policy JS owns visibility and settlement behavior.
 * This file owns geometry only.
 */


/* ---------------------------------------------------------
   Payment body = one vertical operational flow.
   --------------------------------------------------------- */

.pmd-coc
.pmd-pos-payment-body {
    display: block !important;

    grid-template-columns:
        none !important;

    max-height:
        none !important;

    padding:
        10px !important;

    overflow-x:
        hidden !important;

    overflow-y:
        visible !important;
}


.pmd-coc
.pmd-pos-payment-main {
    width:
        100% !important;

    min-width:
        0 !important;

    display:
        flex !important;

    flex-direction:
        column !important;

    gap:
        12px !important;
}


/* ---------------------------------------------------------
   Tip + Coupon:
   normal flow; nothing may float into Cash Received.
   --------------------------------------------------------- */

.pmd-coc
.pmd-pos-adjustments:not([hidden]) {
    position:
        relative !important;

    inset:
        auto !important;

    width:
        100% !important;

    height:
        auto !important;

    min-height:
        0 !important;

    max-height:
        none !important;

    margin:
        0 !important;

    padding:
        14px !important;

    display:
        grid !important;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        ) !important;

    gap:
        16px !important;

    align-items:
        start !important;

    overflow:
        visible !important;

    transform:
        none !important;
}


.pmd-coc
.pmd-pos-adjustments:not([hidden])
> div {
    position:
        static !important;

    inset:
        auto !important;

    min-width:
        0 !important;

    width:
        auto !important;

    height:
        auto !important;

    min-height:
        0 !important;

    margin:
        0 !important;

    display:
        grid !important;

    grid-template-rows:
        auto
        auto
        auto !important;

    align-content:
        start !important;

    gap:
        8px !important;

    overflow:
        visible !important;

    transform:
        none !important;
}


/* Headings belong to their own column. */

.pmd-coc
.pmd-pos-adjustments
.pmd-pos-payment-block-title {
    position:
        static !important;

    width:
        100% !important;

    min-height:
        22px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-start !important;
}


.pmd-coc
.pmd-pos-adjustments
.pmd-pos-payment-block-title
b {
    margin:
        0 !important;

    font-size:
        15px !important;

    line-height:
        1.2 !important;

    font-weight:
        900 !important;
}


/* Existing helper sentences remain hidden in Cashier. */

.pmd-coc
.pmd-pos-adjustments
.pmd-pos-payment-block-title
span {
    display:
        none !important;
}


/* ---------------------------------------------------------
   Tip: four equal touch targets.
   --------------------------------------------------------- */

.pmd-coc
.pmd-pos-tip-buttons {
    position:
        static !important;

    width:
        100% !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    display:
        grid !important;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        ) !important;

    gap:
        8px !important;

    transform:
        none !important;
}


.pmd-coc
.pmd-pos-tip-buttons
button {
    position:
        static !important;

    inset:
        auto !important;

    width:
        100% !important;

    min-width:
        0 !important;

    height:
        44px !important;

    min-height:
        44px !important;

    margin:
        0 !important;

    padding:
        0 8px !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    white-space:
        nowrap !important;

    transform:
        none !important;
}


/* Custom Tip input occupies the same Tip column. */

.pmd-coc
[data-pos-custom-tip]:not([hidden]) {
    position:
        static !important;

    width:
        100% !important;

    min-width:
        0 !important;

    height:
        44px !important;

    min-height:
        44px !important;

    margin:
        0 !important;
}


/* ---------------------------------------------------------
   Coupon: input and Apply have separate columns.
   --------------------------------------------------------- */

.pmd-coc
.pmd-pos-coupon-row {
    position:
        static !important;

    width:
        100% !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    display:
        grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        82px !important;

    gap:
        8px !important;

    align-items:
        stretch !important;

    transform:
        none !important;
}


.pmd-coc
[data-pos-coupon-code] {
    position:
        static !important;

    width:
        100% !important;

    min-width:
        0 !important;

    height:
        44px !important;

    min-height:
        44px !important;

    margin:
        0 !important;

    transform:
        none !important;
}


.pmd-coc
[data-pos-coupon-apply] {
    position:
        static !important;

    inset:
        auto !important;

    width:
        82px !important;

    min-width:
        82px !important;

    height:
        44px !important;

    min-height:
        44px !important;

    margin:
        0 !important;

    padding:
        0 10px !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    transform:
        none !important;
}


.pmd-coc
.pmd-pos-coupon-result {
    position:
        static !important;

    min-height:
        0 !important;

    margin:
        0 !important;
}


/* ---------------------------------------------------------
   Collection is the NEXT block, always below adjustments.
   --------------------------------------------------------- */

.pmd-coc
[data-pos-collection-fields] {
    position:
        relative !important;

    inset:
        auto !important;

    z-index:
        auto !important;

    width:
        100% !important;

    height:
        auto !important;

    min-height:
        0 !important;

    margin:
        0 !important;

    padding:
        12px !important;

    clear:
        both !important;

    transform:
        none !important;
}


.pmd-coc
[data-pos-collection-fields]
.pmd-pos-payment-fields {
    position:
        static !important;

    width:
        100% !important;

    display:
        block !important;
}


.pmd-coc
[data-pos-cash-field] {
    position:
        static !important;

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;
}


.pmd-coc
[data-pos-cash-received] {
    position:
        static !important;

    width:
        100% !important;

    height:
        48px !important;

    min-height:
        48px !important;

    margin:
        6px
        0
        0 !important;

    text-align:
        center !important;

    transform:
        none !important;
}


/* ---------------------------------------------------------
   Terminal:
   adjustments remain in their stable location but disabled,
   matching the current policy.
   --------------------------------------------------------- */

.pmd-coc
.pmd-pos-payment-modal.is-direct-terminal
.pmd-pos-adjustments:not([hidden]) {
    display:
        grid !important;

    opacity:
        .62 !important;

    pointer-events:
        none !important;
}


/* ---------------------------------------------------------
   Narrow screen.
   --------------------------------------------------------- */

@media (max-width: 680px) {

    .pmd-coc
    .pmd-pos-adjustments:not([hidden]) {
        grid-template-columns:
            1fr !important;
    }

}


/* PMD_CASHIER_PAYMENT_R60D_OWNER_END */

/* PMD_R67B_CASHIER_SPLIT_FORCE_VISIBLE */
.pmd-coc .pmd-pos-payment-modal .pmd-pos-payment-block:has([data-pos-split-tabs]) {
  display: block !important;
}


/* PMD_R67H_CASHIER_SPLIT_FINAL */

/*
 * Cashierlab owns this UI through #pmd-cashier-order-composer-v1.
 * The payment modal may be mounted outside a dedicated cashier
 * overlay, so scope it to the presence of the Cashier owner.
 */
body:has(#pmd-cashier-order-composer-v1)
.pmd-pos-payment-block:has([data-pos-split-tabs]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body:has(#pmd-cashier-order-composer-v1)
.pmd-pos-split-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

body:has(#pmd-cashier-order-composer-v1)
.pmd-pos-split-panel {
  display: block;
  margin-top: 10px;
}

@media (max-width: 720px) {
  body:has(#pmd-cashier-order-composer-v1)
  .pmd-pos-split-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* PMD_R83_CASHIER_PAYMENT_TALLER_TOUCH_TARGETS */
/*
 * One final Cashier Payment geometry owner.
 * Goal: fewer nested visual frames, compact desktop height, and a true
 * two-column cash workspace. Payment/settlement logic is not owned here.
 */

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-dialog {
  box-sizing: border-box !important;
  width: min(1100px, calc(100vw - 32px)) !important;
  max-width: min(1100px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 12px) !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-head {
  min-height: 54px !important;
  padding: 8px 14px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-head h2 {
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1.1 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-head p,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-eyebrow {
  display: none !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-close {
  width: 40px !important;
  height: 40px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-body {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 10px 14px 12px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-main {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Balance is the only tinted summary surface. */
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-balance {
  margin: 0 0 6px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-balance-card,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-balance-hero {
  box-sizing: border-box !important;
  min-height: 56px !important;
  padding: 9px 12px !important;
  border: 0 !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-balance-hero b {
  font-size: 25px !important;
}

/* Flatten section wrappers: one separator, not a card inside a card. */
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-main > .pmd-pos-payment-block,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-main > .pmd-pos-adjustments:not([hidden]),
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-main > [data-pos-collection-fields] {
  position: static !important;
  inset: auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 10px 2px !important;
  border: 0 !important;
  border-top: 1px solid #dbe7ec !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-block-title {
  min-height: 18px !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-block-title b {
  font-size: 13px !important;
  line-height: 1.2 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-block-title span {
  display: none !important;
}

/* Split: compact segmented control plus one flat information strip. */
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-split-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  width: 100% !important;
  margin: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-split-tabs > button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 9px !important;
  border-radius: 9px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-split-panel {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 6px 0 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #f4f8fa !important;
  box-shadow: none !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-split-equal {
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Payment method row. */
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-method-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-method {
  min-height: 58px !important;
  height: 58px !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
}

/* Tip + Coupon share one flat row. */
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-main > .pmd-pos-adjustments:not([hidden]) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 14px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-main > .pmd-pos-adjustments:not([hidden]) > div {
  position: static !important;
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  align-content: start !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-adjustments .pmd-pos-payment-block-title {
  margin: 0 0 3px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-tip-buttons {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  width: 100% !important;
  margin: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-tip-buttons > button,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
[data-pos-custom-tip]:not([hidden]) {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 7px !important;
  border-radius: 9px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-coupon-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 104px !important;
  align-items: stretch !important;
  gap: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-coupon-row [data-pos-coupon-code],
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-coupon-row [data-pos-coupon-apply] {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  border-radius: 9px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-coupon-result {
  min-height: 0 !important;
  margin: 0 !important;
}

/* Real two-column cash workspace: left stack + independent keypad. */
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
[data-pos-collection-fields] .pmd-pos-payment-fields {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
[data-pos-cash-field] {
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(390px, 1.12fr) !important;
  align-items: start !important;
  align-content: start !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-cashier-cash-left {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-cashier-cash-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #557487 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
[data-pos-cash-received] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  width: 100% !important;
  max-width: none !important;
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  text-align: center !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 54px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
[data-pos-cash-received]::-webkit-outer-spin-button,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
[data-pos-cash-received]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-cashier-tenders {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-cashier-tenders > button {
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border-radius: 8px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-cashier-keypad {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 48px !important;
  align-self: start !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-cashier-keypad > button {
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 9px !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

/* Footer is a clean action row, not another framed card. */
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr) !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 2px 0 !important;
  border: 0 !important;
  border-top: 1px solid #dbe7ec !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  flex: 0 0 auto !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary > [data-pos-payment-totals] {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary > .pmd-pos-change-box,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary > [data-pos-change-box] {
  position: static !important;
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary > .pmd-pos-pay-button,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary > [data-pos-pay-button] {
  position: static !important;
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 50px !important;
  height: 50px !important;
  margin: 0 !important;
  border-radius: 9px !important;
}

body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary > .pmd-pos-payment-secondary,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary > .pmd-pos-payment-history-wrap,
body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
.pmd-pos-payment-summary > .pmd-pos-payment-safety {
  grid-column: 1 / -1 !important;
  position: static !important;
}

/* Compact height profile for common laptop/embedded frames. */
@media (min-width: 901px) and (max-height: 690px) {
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-head {
    min-height: 52px !important;
    padding: 6px 12px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-body {
    padding-top: 6px !important;
    padding-bottom: 7px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-balance-card,
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-balance-hero {
    min-height: 48px !important;
    padding: 7px 10px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-main > .pmd-pos-payment-block,
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-main > .pmd-pos-adjustments:not([hidden]),
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-main > [data-pos-collection-fields] {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-split-tabs > button {
    min-height: 40px !important;
    height: 40px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-split-panel {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-method {
    min-height: 46px !important;
    height: 46px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-tip-buttons > button,
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  [data-pos-custom-tip]:not([hidden]),
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-coupon-row [data-pos-coupon-code],
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-coupon-row [data-pos-coupon-apply] {
    min-height: 40px !important;
    height: 40px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  [data-pos-cash-received] {
    min-height: 46px !important;
    height: 46px !important;
    line-height: 46px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-cashier-keypad {
    grid-auto-rows: 42px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-cashier-keypad > button {
    min-height: 42px !important;
    height: 42px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-cashier-tenders > button {
    min-height: 38px !important;
    height: 38px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary > .pmd-pos-change-box,
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary > [data-pos-change-box],
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary > .pmd-pos-pay-button,
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary > [data-pos-pay-button] {
    min-height: 40px !important;
    height: 40px !important;
  }
}

/* Tablet/mobile: natural vertical flow and safe scrolling. */
@media (max-width: 900px) {
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-dialog {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-main > .pmd-pos-adjustments:not([hidden]) {
    grid-template-columns: 1fr !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  [data-pos-cash-field] {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary {
    grid-template-columns: 1fr !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary > .pmd-pos-change-box,
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary > [data-pos-change-box],
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary > .pmd-pos-pay-button,
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-payment-summary > [data-pos-pay-button] {
    grid-column: 1 !important;
  }
}

@media (max-width: 620px) {
  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-split-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body #pmd-cashier-order-composer-v1.pmd-coc.pmd-coc
  .pmd-pos-method-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}
