.close-shift-modal-card { width: min(760px, calc(100vw - 2rem)); }
#closeShiftModal [hidden] { display: none !important; }
.close-shift-modal-body { display: grid; gap: .8rem; max-height: min(78dvh, 860px); }
.close-shift-content { display: grid; gap: .8rem; min-width: 0; }
.close-shift-eyebrow { color: var(--text-gold); font-size: .62rem; font-weight: 900; letter-spacing: .12em; }
.close-shift-subtitle { margin: .2rem 0 0; color: var(--text-muted); font-size: .76rem; }
.close-shift-section, .close-shift-reconciliation, .close-shift-final-summary { min-width: 0; padding: .85rem .95rem; border-bottom: 1px solid var(--border-color); }
.close-shift-section-heading { display: flex; align-items: flex-start; gap: .65rem; margin-bottom: .7rem; }
.close-shift-section-heading > span { display: grid; flex: 0 0 1.55rem; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: 50%; background: rgba(243,182,93,.12); color: var(--text-gold); font-size: .7rem; font-weight: 900; }
.close-shift-section-heading h3 { margin: 0; color: var(--text-main); font-size: .88rem; }
.close-shift-section-heading p { margin: .16rem 0 0; color: var(--text-muted); font-size: .68rem; line-height: 1.4; }
.close-shift-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem .8rem; }
.close-shift-summary-grid > div { display: grid; gap: .15rem; min-width: 0; }
.close-shift-summary-grid span, .close-shift-formula span, .close-shift-reconciliation-grid span { color: var(--text-muted); font-size: .65rem; }
.close-shift-summary-grid strong { color: var(--text-main); font-size: .82rem; font-variant-numeric: tabular-nums; }
.close-shift-summary-grid small { color: var(--text-muted); font-size: .62rem; }
.close-shift-summary-grid .close-shift-summary-primary { grid-column: span 2; }
.close-shift-summary-primary strong { color: var(--text-gold); font-size: 1.15rem; }
.close-shift-formula { display: grid; gap: .32rem; max-width: 560px; }
.close-shift-formula > div { display: flex; justify-content: space-between; gap: .7rem; font-size: .74rem; }
.close-shift-formula strong { color: var(--text-main); font-variant-numeric: tabular-nums; }
.close-shift-formula .is-total { padding-top: .38rem; border-top: 1px solid var(--border-color); font-weight: 850; }
.close-shift-method-note { margin: .45rem 0 0; color: var(--text-muted); font-size: .64rem; line-height: 1.4; }
.close-shift-count-modes { display: flex; flex-wrap: wrap; gap: .9rem; margin-bottom: .7rem; }
.close-shift-count-modes label { display: inline-flex; align-items: center; gap: .38rem; color: var(--text-main); font-size: .72rem; font-weight: 750; }
.close-shift-direct-count { display: grid; gap: .28rem; max-width: 360px; }
.close-shift-direct-count > label, .close-shift-distribution-grid label { color: var(--text-muted); font-size: .65rem; }
.close-shift-money-input { display: flex; align-items: center; gap: .5rem; min-height: 46px; padding: 0 .7rem; border: 1px solid var(--border-color); border-radius: 10px; background: var(--bg-input); }
.close-shift-money-input > span { color: var(--text-muted); font-weight: 800; }
.close-shift-money-input input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text-main); font-size: 1.05rem; font-weight: 850; }
.close-shift-denominations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .38rem; }
.close-shift-denomination { display: grid; grid-template-columns: minmax(0, 1fr) 4.2rem; align-items: center; gap: .35rem; min-width: 0; color: var(--text-main); font-size: .66rem; }
.close-shift-denomination input { width: 100%; min-width: 0; min-height: 40px; padding: .3rem; border: 1px solid var(--border-color); border-radius: 8px; background: var(--bg-input); color: var(--text-main); text-align: center; }
.close-shift-reconciliation { border: 1px solid var(--border-color); border-radius: 12px; background: var(--bg-card-elevated); }
.close-shift-reconciliation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.close-shift-reconciliation-grid > div { display: grid; gap: .2rem; min-width: 0; }
.close-shift-reconciliation-grid strong { color: var(--text-main); font-size: .9rem; font-variant-numeric: tabular-nums; }
.close-shift-difference { padding-left: .65rem; border-left: 1px solid var(--border-color); }
.close-shift-difference.is-exact strong { color: #34d399; }
.close-shift-difference.is-small strong { color: #fbbf24; }
.close-shift-difference.is-large strong { color: #f87171; }
.close-shift-observation { display: grid; gap: .25rem; margin-top: .7rem; }
.close-shift-observation label { color: var(--text-main); font-size: .68rem; font-weight: 750; }
.close-shift-observation label span { color: var(--text-muted); font-weight: 500; }
.close-shift-observation textarea { width: 100%; min-height: 58px; resize: vertical; padding: .55rem .65rem; border: 1px solid var(--border-color); border-radius: 9px; background: var(--bg-input); color: var(--text-main); font: inherit; font-size: .72rem; }
.close-shift-distribution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.close-shift-distribution-grid label { display: grid; gap: .28rem; min-width: 0; }
.close-shift-distribution-grid strong { color: var(--text-main); font-size: .85rem; }
.close-shift-distribution-grid input { width: 100%; min-width: 0; min-height: 42px; padding: .45rem .55rem; border: 1px solid var(--border-color); border-radius: 9px; background: var(--bg-input); color: var(--text-main); font: inherit; font-weight: 800; }
.close-shift-products { padding: .7rem .9rem; border-bottom: 1px solid var(--border-color); }
.close-shift-products summary { color: var(--text-main); cursor: pointer; font-size: .74rem; font-weight: 800; }
.close-shift-products .recap-products-list { display: grid; gap: .3rem; margin-top: .55rem; }
.close-shift-products .recount-product-row { display: flex; justify-content: space-between; gap: .5rem; padding: .35rem 0; border-bottom: 1px solid var(--border-color); color: var(--text-main); font-size: .69rem; }
.close-shift-products .recount-p-stats { display: flex; gap: .65rem; }
.close-shift-products .recount-p-qty { color: var(--text-gold); font-weight: 800; }
.close-shift-final-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem .75rem; }
.close-shift-final-grid > div { display: flex; justify-content: space-between; gap: .5rem; color: var(--text-muted); font-size: .65rem; }
.close-shift-final-grid strong { color: var(--text-main); text-align: right; font-variant-numeric: tabular-nums; }
.close-shift-alert, .close-shift-open-accounts { padding: .75rem .85rem; border: 1px solid rgba(245,158,11,.38); border-radius: 11px; background: rgba(245,158,11,.08); color: var(--text-main); }
.close-shift-open-accounts { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.close-shift-open-accounts p { margin: .2rem 0 0; color: var(--text-muted); font-size: .67rem; }
.close-shift-success { display: grid; justify-items: center; gap: .75rem; padding: 1.4rem .8rem; text-align: center; }
.close-shift-success-mark { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: rgba(52,211,153,.12); color: #34d399; font-size: 1.5rem; font-weight: 900; }
.close-shift-success h3 { margin: 0; color: var(--text-main); font-size: 1.2rem; }
.close-shift-success-id { margin: 0; color: var(--text-muted); font-size: .75rem; }
.close-shift-success-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; }
.close-shift-whatsapp { border: 1px solid rgba(16,185,129,.42); background: rgba(16,185,129,.12); color: #34d399; }
.close-shift-confirm { width: 100%; min-height: 48px; }
.close-shift-footer { display: flex !important; grid-template-columns: none !important; padding: .65rem .85rem !important; }
@media (max-width: 560px) {
  .close-shift-modal-card { width: calc(100vw - .9rem); }
  .close-shift-modal-body { max-height: calc(100dvh - 9rem); padding: .7rem; }
  .close-shift-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .close-shift-summary-grid .close-shift-summary-primary { grid-column: span 2; }
  .close-shift-denominations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .close-shift-reconciliation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .close-shift-difference { grid-column: span 2; padding: .5rem 0 0; border-top: 1px solid var(--border-color); border-left: 0; }
  .close-shift-distribution-grid { grid-template-columns: 1fr 1fr; }
  .close-shift-distribution-grid label:first-child { grid-column: span 2; }
  .close-shift-final-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .close-shift-open-accounts { align-items: stretch; flex-direction: column; }
  .close-shift-open-accounts button, .close-shift-success-actions button { width: 100%; }
}

.shift-close-history-list { display: grid; gap: .65rem; }
.shift-close-history-entry { display: grid; gap: .45rem; padding: .7rem; border: 1px solid var(--border-color); border-radius: 10px; }
.shift-close-history-entry > div:first-child { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .35rem .75rem; }
.shift-close-history-entry small, .shift-close-history-entry p { margin: 0; color: var(--text-muted); font-size: .68rem; }
.shift-close-history-values { display: flex; flex-wrap: wrap; gap: .4rem .8rem; color: var(--text-muted); font-size: .68rem; }
.shift-close-history-values b { color: var(--text-main); }
