.cart-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:24px;align-items:start}.cart-item{border:1px solid var(--line);border-radius:8px;padding:20px;margin:0 0 24px;min-width:0}.cart-item legend{font-size:18px;font-weight:600;padding:0 8px}.cart-item .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-item-price{display:flex;flex-direction:column;gap:8px;align-self:center}.cart-item-price strong{font-size:22px;color:var(--wine)}.cart-item select{max-width:100%}.cart-summary{position:sticky;top:20px}.cart-summary-line{border-bottom:1px solid var(--line);padding-bottom:12px;overflow-wrap:anywhere}.cashier-service{border-top:1px solid var(--line);padding:20px 0}.cart-checkout{border-top:2px solid var(--wine);padding-top:20px}.staff-rate-row{display:grid;grid-template-columns:minmax(160px,1.25fr) repeat(3,minmax(105px,.85fr)) minmax(125px,.9fr) auto;align-items:center;gap:12px;padding:18px 0;border-top:1px solid var(--line)}.staff-rate-row small{display:block;color:var(--muted)}.staff-rate-row label{margin:0}.staff-rate-row button{max-width:220px}.rate-split-summary{padding:9px 12px;border-radius:7px;background:#f7f3f1}.rate-split-summary strong{display:block;color:var(--wine);font-size:17px}.rate-split-summary span{font-size:12px;color:var(--muted)}.receipt-line{display:grid;grid-template-columns:1fr auto;gap:6px;margin:16px 0}.receipt-line small{grid-column:1/-1}.commission-detail-title{margin-top:30px}@media(max-width:1100px){.staff-rate-row{grid-template-columns:1fr 1fr}.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}}@media(max-width:550px){.cart-item .form-grid,.staff-rate-row{grid-template-columns:1fr}.cart-layout>.surface{padding:18px}.cart-item{padding:12px}.cashier-cart>.form-grid{grid-template-columns:1fr}}
.booking-shortcuts{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.booking-shortcuts summary{cursor:pointer;color:var(--wine);font-weight:500}.booking-shortcuts dl{margin:12px 0 0}.booking-shortcuts dl>div{display:grid;grid-template-columns:175px 1fr;gap:12px;padding:6px 0}.booking-shortcuts dd{margin:0}.booking-shortcuts kbd{font:12px var(--sans);display:inline-block;padding:1px 5px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}@media(max-width:550px){.booking-shortcuts dl>div{grid-template-columns:1fr;gap:3px}}
#service-cart>.surface{padding:22px}#service-cart .cart-item{padding:14px;margin-bottom:16px}#service-cart h3{margin-bottom:16px}#service-cart .cart-item .form-grid{gap:12px}#service-cart .cart-item label{margin-bottom:8px}#service-cart>.surface>label{margin-bottom:16px}#service-cart .field-help{font-size:12px;line-height:1.5}#service-cart .booking-shortcuts{margin-top:12px;padding-top:10px}@media(max-width:550px){#service-cart>.surface{padding:16px}}
#service-cart .cart-item .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 105px;align-items:center}#service-cart .cart-item-price{gap:2px}#service-cart .cart-item-price>span{font-size:12px}#service-cart .cart-item-price strong{font-size:16px}#service-cart .cart-item-price small{font-size:11px}#service-cart .cart-item{padding:10px 12px;margin-bottom:10px}#service-cart .cart-item legend{font-size:14px}#service-cart .cart-item select{padding:8px;font-size:13px;min-height:38px}#service-cart .cart-item label{font-size:12px;margin:0}#service-cart [data-line-message]:empty{display:none}#service-cart [data-line-message]{margin:5px 0}#service-cart .remove-cart-service{font-size:11px;margin-top:4px;padding:0}#service-cart .visit-datetime{max-width:330px;font-size:13px}#service-cart .visit-datetime input{padding:8px 12px}#service-cart .cart-summary h3{font-size:23px;margin-bottom:12px}#service-cart .cart-summary-line{font-size:12px;padding-bottom:8px;margin-bottom:8px}#service-cart .cart-summary .summary-item{padding:12px 0}#service-cart .cart-summary #cart-feedback{font-size:12px;margin:8px 0}.cart-note{margin:10px 0;font-size:12px}.cart-note summary{cursor:pointer;color:var(--wine)}.cart-note label{margin:8px 0}.cart-note textarea{margin:4px 0}#service-cart .cart-summary{top:12px}#service-cart .cart-summary .field-help{margin:7px 0 0}@media(min-width:1101px){#service-cart #cart-summary-lines{max-height:180px;overflow:auto}}@media(max-width:700px){#service-cart .cart-item .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#service-cart .cart-item-price{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px}#service-cart .cart-summary{position:sticky;bottom:0;top:auto;z-index:10;box-shadow:0 -4px 15px #30292510}#service-cart #cart-summary-lines{max-height:90px;overflow:auto}}
.bill-adjustments{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:10px 0}.bill-adjustments label{font-size:12px;margin:0}.bill-adjustments input{padding:8px 10px;min-width:0;font-size:14px;margin-top:4px}#bill-adjustment-feedback:empty{display:none}#bill-adjustment-feedback{color:#a32626}#service-cart .cart-summary:has(.bill-adjustments) #cart-summary-lines{max-height:115px}
.staff-rate-row{grid-template-columns:minmax(180px,1.25fr) repeat(3,minmax(120px,.9fr)) minmax(145px,1fr) minmax(175px,auto);align-items:end}
.staff-rate-row>div:first-of-type{align-self:center}
.staff-rate-row label{align-self:end;min-width:0}
.staff-rate-row label input{height:52px;min-height:52px}
.staff-rate-row>.button{height:52px;min-height:52px;align-self:end;white-space:nowrap;padding-inline:18px}
.staff-rate-row .rate-split-summary{min-height:92px;display:flex;flex-direction:column;justify-content:center;align-self:end}
.staff-rate-row .rate-split-summary small{line-height:1.35}
.staff-rate-row .rate-split-summary span{margin-top:3px;line-height:1.4}
@media(max-width:1250px){.staff-rate-row{grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(110px,1fr))}.staff-rate-row .rate-split-summary,.staff-rate-row>.button{min-height:52px}.staff-rate-row>.button{justify-self:start}.staff-rate-row>div:first-of-type{align-self:end}}
@media(max-width:700px){.staff-rate-row{grid-template-columns:1fr 1fr}.staff-rate-row>div:first-of-type,.staff-rate-row .rate-split-summary,.staff-rate-row>.button{grid-column:1/-1}.staff-rate-row .rate-split-summary{min-height:0}.staff-rate-row>.button{width:100%;max-width:none}}
@media(max-width:480px){.staff-rate-row{grid-template-columns:1fr}}
