/* 收银工作区：三个独立滚动区域，结账区固定保留在视口内。 */
.pos-workspace { height:100dvh; min-height:0; display:flex; flex-direction:column; }
.pos-workspace .topbar { position:static; flex:0 0 auto; padding:12px 20px; gap:14px; }
.pos-workspace .top-title h1 { font-size:20px; }
.pos-workspace .top-title p { max-width:420px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pos-workspace .page { width:100%; max-width:1840px; flex:1; min-height:0; display:flex; flex-direction:column; padding:12px 20px 16px; }
.pos-workspace .operations-toolbar { flex:0 0 auto; padding:8px 12px; gap:8px; margin-bottom:12px; }
.pos-shift { display:flex; align-items:center; gap:10px; margin-right:auto; font-size:14px; }
.pos-shift .btn { flex:none; }
.pos-shift-actions { display:inline-flex; gap:8px; }
.pos-workspace .topbar .pos-shift { margin-top:4px; flex-wrap:wrap; }
.pos-workspace .topbar .pos-shift .ghost { color:var(--jiae-bg-cream); }
.pos-last-order { font-size:14px; margin:0 auto 0 0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:42%; }
.pos-workspace .pos-grid { flex:1; min-height:0; grid-template-columns:288px minmax(0,1fr) 352px; align-items:stretch; gap:12px; }
.pos-grid > .card { min-width:0; min-height:0; }
.member-column { overflow-y:auto; scrollbar-gutter:stable; }
.member-column .row > input { min-width:0; width:100%; }
.member-column .row > .btn { flex:0 0 auto; }
.member-column h2 { margin-bottom:4px; }
.member-column > p { margin:4px 0 10px; }
.member-section { border-top:1px solid var(--jiae-border-warm); padding:10px 0; }
.member-section > summary { cursor:pointer; font-weight:600; font-size:16px; padding:3px 0; }
.member-section[open] > summary { margin-bottom:10px; }
.member-section p { margin:8px 0; }
.member-section .member-hero { padding:14px; }
.member-section .member-hero .name { font-size:24px; }
.member-section .assets { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; gap:10px; }
.member-section .asset { min-width:0; padding:8px 4px; background:var(--jiae-bg-cream); border-radius:8px; }
.member-section .asset b { color:var(--jiae-caramel-brown); font-size:19px; }
.member-section .asset span { color:var(--jiae-text-muted); }
.member-section .style-profile { padding:0; border:0; }
.member-section .style-profile h3 { margin-top:0; }
.catalog-column { display:flex; flex-direction:column; }
.pos-workspace #sku-q { flex:none; padding:10px; }
.pos-workspace .catalog { flex:1; min-height:0; max-height:none; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); align-content:start; overflow-y:auto; padding-right:4px; }
.pos-workspace .sku { min-width:0; padding:12px; }
.pos-workspace .sku-head { display:block; }
.pos-workspace .sku-head .swatch-dot { width:28px; height:28px; margin-bottom:8px; }
.pos-workspace .sku-name { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; word-break:normal; overflow-wrap:anywhere; line-height:1.5; height:3em; font-size:16px; }
.pos-workspace .sku-meta, .pos-workspace .sku-fabric { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:4px; }
.pos-workspace .sku .price { display:flex; justify-content:space-between; align-items:center; white-space:nowrap; gap:4px; margin-top:10px; }
.checkout-column { display:flex; flex-direction:column; }
.checkout-column #cart { flex:1; min-height:64px; overflow-y:auto; scrollbar-gutter:stable; }
.checkout-column .bill-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; }
.checkout-column .bill-line b { grid-column:1; font-size:14px; }
.checkout-column .bill-line .btn { grid-row:1; grid-column:2; justify-self:end; padding:4px 10px; min-height:30px; }
.checkout-controls { flex:0 0 auto; padding-top:8px; border-top:1px solid var(--jiae-border-warm); }
.checkout-controls .field { margin:4px 0; }
.checkout-controls .coupon-select { padding:6px 8px; }
.checkout-controls input, .checkout-controls select { width:100%; min-width:0; padding:8px 10px; }
.checkout-controls input[type="checkbox"] { width:auto; }
.checkout-controls .checkline { margin:6px 0; }
.checkout-controls #deduction-hint { margin:4px 0; }
.checkout-controls .totals { position:relative; margin-top:6px; padding:8px 10px; }
.checkout-controls .totals summary { cursor:pointer; font-size:14px; }
.checkout-controls .totals .pay { font-size:20px; margin:0; font-weight:600; }
.checkout-controls .totals details[open] { position:absolute; z-index:3; bottom:100%; left:0; right:0; padding:12px; background:var(--jiae-bg-cream); border:1px solid var(--jiae-border-warm); border-radius:10px; box-shadow:var(--shadow); max-height:220px; overflow-y:auto; }
.checkout-controls #checkout-btn { width:100%; min-height:44px; margin-top:8px; font-size:16px; }
.cash-breakdown { display:flex; justify-content:space-between; font-size:14px; margin-top:6px; }
.pos-workspace .operations-dialog .row > .btn { flex:0 0 auto; align-self:end; }
.pos-workspace .operations-dialog .row > .field { flex:0 0 220px; }
.pos-workspace .operations-dialog .row { align-items:end; }
.pos-workspace .summary-metrics b .money { font:inherit; color:inherit; }
.pos-workspace .summary-equation { background:var(--jiae-bg-apricot); padding:12px 16px; border-radius:8px; }
.refund-stages { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.refund-status-card { border-top:1px solid var(--jiae-border-warm); padding:12px 0; }
#shift-dialog { width:min(660px,94vw); padding:24px; }
#shift-dialog > h2 { position:sticky; top:-24px; z-index:2; margin:0 -4px 12px; padding:8px 4px; background:var(--jiae-bg-cream); }
#shift-dialog .shift-actions { position:sticky; bottom:-24px; padding:12px 0; background:var(--jiae-bg-cream); }
#shift-dialog .field { margin:12px 0; }
#shift-dialog input { width:100%; min-width:0; }
.shift-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.shift-denominations { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.shift-denominations .field { margin:8px 0 !important; }
.shift-noncash { width:100%; font-size:14px; }
.shift-noncash td, .shift-noncash th { padding:8px; }
@media(min-width:1700px) { .pos-workspace .pos-grid { grid-template-columns:320px minmax(0,1fr) 380px; } }
@media(max-width:1100px) {
  .pos-workspace { height:auto; min-height:100dvh; }
  .pos-workspace .pos-grid { grid-template-columns:260px minmax(0,1fr); }
  .checkout-column { grid-column:1/-1; }
  .pos-workspace .catalog { max-height:600px; }
  .checkout-column #cart { max-height:220px; }
}
@media(max-width:700px) {
  .pos-workspace .pos-grid { grid-template-columns:minmax(0,1fr); }
  .pos-workspace .topbar { flex-wrap:wrap; }
  .pos-workspace .top-title { flex:1 0 60%; }
  .pos-workspace .page { padding:10px; }
  .pos-workspace .operations-toolbar > .btn { font-size:13px; }
  .pos-workspace .catalog { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
  .shift-denominations { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
