/* Build 47: booking-first unified form */
.z47-booking-first{max-width:min(780px,96vw)!important}
.z47-booking-first .z46-section{margin:12px 0;padding:14px}
.z47-booking-first .z46-section>summary{font-size:17px}
.z47-booking-core{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.z47-booking-core label{display:flex;flex-direction:column;gap:6px;min-width:0}
.z47-booking-core .z47-wide{grid-column:1/-1}
.z47-booking-core input,.z47-booking-core select,.z47-booking-core textarea{width:100%;min-width:0}
.z47-booking-first .z47-rate-grid{margin:14px 0}
.z47-booking-first .z47-rate-grid:empty{display:none}
.z47-booking-first .z47-payments{border-top:1px solid #35516b;margin-top:18px;padding-top:16px}
.z47-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.z47-subhead .btn{padding:9px 12px}
.z47-booking-first .z47-payments .editgrid{margin:10px 0}
.z47-booking-first .z47-communications #calcText{display:block;width:100%;min-height:220px;margin:12px 0}
.z47-booking-first .z47-communications .calculator-share{margin-top:12px}
.z47-booking-first .z47-save-note{margin:12px 0}
.z47-booking-first #calcSummary{margin:14px 0}
.z47-booking-first .z46-editor{margin:16px 0}
.z47-booking-first .calculator-travel[hidden],.z47-booking-first .row[hidden]{display:none!important}
@media(max-width:480px){.z47-booking-core{grid-template-columns:1fr}.z47-booking-first .z46-hero strong{font-size:17px}}

/* Deployment 48: compact optional notes and stable expanding sections. */
.z47-booking-first{overflow-anchor:none;max-height:90dvh;overflow-y:auto}
.z47-booking-first .z48-notes{margin:12px 0}
.z47-booking-first .z48-notes>summary{cursor:pointer;font-size:14px;padding:8px 0}
.z47-booking-first .z48-notes label{display:block}
.z47-booking-first #z47Notes{width:100%;height:90px!important;min-height:70px!important;max-height:220px;resize:vertical}
.z47-booking-first .z46-section{scroll-margin-top:12px}

/* Consistent booking controls */
.z47-booking-first .editgrid{align-items:end;grid-template-columns:repeat(2,minmax(0,1fr))}
.z47-booking-first label{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-width:0}
.z47-booking-first input:not([type=checkbox]),.z47-booking-first select{box-sizing:border-box;width:100%;height:48px;min-width:0}
.z47-booking-first .row{display:flex;align-items:stretch;gap:12px}
.z47-booking-first .row>.btn{flex:1;min-height:48px}
.z47-booking-first #calcText{overflow:hidden!important;max-height:none!important;resize:none;box-sizing:border-box}
.z47-booking-first label[hidden]{display:none!important}
.z47-booking-first .z49-message-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.z47-booking-first .z49-message-actions .btn{min-height:48px;width:100%;margin:0}

#bookingCalculator .z39-approval-actions,#bookingCalculator .z38-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin:12px 0}
#bookingCalculator .z39-approval-actions .btn,#bookingCalculator .z38-actions .btn{box-sizing:border-box;width:100%;min-width:0;min-height:48px;margin:0!important;padding:12px!important}
#bookingCalculator .z39-approval-actions [hidden]{display:none!important}

#bookingCalculator .z52-mileage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
#bookingCalculator .z52-mileage-actions .btn{width:100%;min-width:0;min-height:48px;margin:0;padding:12px}
#bookingCalculator .z49-travel-controls:empty,#bookingCalculator .z39-approval-actions:empty,#bookingCalculator .z38-actions:empty{display:none!important}

/* Deployment 53: approved first-use mileage layout */
#bookingCalculator .z38-travel{padding:16px!important;display:flex;flex-direction:column;gap:16px}
#bookingCalculator .z38-travel .z53-calculate{width:100%;margin:0;min-height:48px;white-space:normal}
#bookingCalculator .z53-results{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#bookingCalculator .z53-results>div{display:flex;flex-direction:column;gap:6px}
#bookingCalculator .z53-results strong{font-size:1.35rem}
#bookingCalculator .z53-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
#bookingCalculator .z53-actions .btn{width:100%;min-height:48px;margin:0!important;padding:12px;white-space:normal}
#bookingCalculator .z53-link{border:0;background:none;color:var(--accent,#74d5c8);text-decoration:underline;text-align:left;padding:8px 0;font:inherit;cursor:pointer}
#bookingCalculator .z38-travel p,#bookingCalculator .z38-travel .z38-maps{margin:0!important}
#bookingCalculator .z38-travel [hidden]{display:none!important}
@media(max-width:390px){#bookingCalculator .z53-actions{grid-template-columns:1fr}}

#bookingCalculator .z54-price-review{padding:12px;border:1px solid #74d5c8;border-radius:12px}
#bookingCalculator .z53-actions #z39Waive{grid-column:1/-1}

#bookingCalculator .z56-review{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;min-height:48px;cursor:pointer;touch-action:manipulation}
#bookingCalculator .z56-review input{width:24px;height:24px;flex:0 0 24px;margin:0;pointer-events:auto}
#bookingCalculator .z56-message-preview{border:1px solid var(--line,#35536a);background:#0a1824;border-radius:12px;padding:16px;line-height:1.55;margin:12px 0}
#bookingCalculator .z56-signature{margin-top:20px}
#bookingCalculator .z56-handwritten{font-family:'Snell Roundhand','Segoe Script','Apple Chancery',cursive;font-size:28px}

/* Equal mileage actions: remove first, change second. */
#bookingCalculator .z53-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch}
#bookingCalculator .z53-actions #z39Waive{grid-column:auto!important}
#bookingCalculator .z53-actions #z38Include{order:0}
#bookingCalculator .z53-actions #z39Waive{order:1}
#bookingCalculator .z53-actions #z38Edit{order:2}
#bookingCalculator .z53-actions .btn{height:100%;min-height:52px;font-size:inherit}

/* Fixed mileage action slots in every state. */
#bookingCalculator .z53-actions #z39Waive{grid-column:1!important;grid-row:1;order:0}
#bookingCalculator .z53-actions #z38Edit{grid-column:2!important;grid-row:1;order:0}
#bookingCalculator .z53-actions #z38Include{grid-column:1/-1!important;grid-row:2;order:0}
#bookingCalculator .z53-actions .btn{min-height:64px}
#bookingCalculator #z38Manual .z53-actions{display:block}
#bookingCalculator #z38Save{width:100%}

#bookingCalculator .z61-rate-choices{display:grid;grid-template-columns:1fr;gap:10px}
#bookingCalculator .z61-rate-choice{display:flex;flex-direction:column;gap:5px;text-align:left;white-space:normal;padding:12px;background:#0a1824;color:inherit;border:1px solid #35536a;border-radius:10px;font:inherit;cursor:pointer}
#bookingCalculator .z61-rate-choice span{font-size:.85em}
#bookingCalculator .z61-rate-choice[aria-pressed=true]{border:2px solid #62cbb9;background:#143c3d}
#bookingCalculator .z61-rate-choice strong{font-size:1.05em}

#bookingCalculator .z62-full-rates{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
#bookingCalculator .z62-client-rates{margin:12px 0;padding:12px;border:1px solid #35536a;border-radius:12px}
#bookingCalculator .z61-rate-choice{justify-content:flex-start}
@media(max-width:360px){#bookingCalculator .z62-full-rates{grid-template-columns:1fr}}

/* Deployment 63: compact client-rate chooser and optional editor. */
#bookingCalculator .z63-rate-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:16px 0}
#bookingCalculator .z63-rate-picker .btn{height:48px;margin:0;white-space:normal}
#bookingCalculator #z63RateEditor>summary{padding:12px 0;cursor:pointer;color:var(--accent,#74d5c8)}
#bookingCalculator #z63RateEditor label{margin:12px 0}
#bookingCalculator #z63RateEditor .editgrid label{justify-content:flex-start}
#bookingCalculator #z63RateEditor .editgrid input{margin-top:auto}
#bookingCalculator #z62Store{width:100%;margin:8px 0}
#bookingCalculator #z62Status:empty{display:none}

#bookingCalculator .z64-internal-rate{display:none!important}
#bookingCalculator .z62-client-rates .editgrid{align-items:stretch}
#bookingCalculator .z62-client-rates .editgrid label{justify-content:flex-start}
#bookingCalculator .z62-client-rates .editgrid input{margin-top:auto}
#bookingCalculator #z64Apply{width:100%;min-height:48px;margin:12px 0}
#bookingCalculator #z64Status:empty{display:none}

#bookingCalculator .z66-agreed-toggle{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;min-height:48px}
#bookingCalculator .z66-agreed-toggle input{width:24px;height:24px;flex:0 0 24px;margin:0}
#bookingCalculator .z62-client-rates .z46-editor{padding:0;border:0;background:none}

#bookingCalculator .z67-success{padding:12px;border:1px solid #5bd3b5;border-radius:10px;background:#143c3d;color:#ecf4ff;margin:12px 0}

/* Deployment 68: one price disclosure, all price controls visible together. */
#bookingCalculator .z49-price-edit>summary{padding:12px 16px!important;border:1px solid #62cbb9;border-radius:10px;background:#194b4b;color:#ecf4ff;font-size:16px!important;font-weight:700;min-height:48px;cursor:pointer}
#bookingCalculator .z49-price-edit>summary:hover{background:#226160}
#bookingCalculator .z49-price-edit>summary:focus-visible{outline:3px solid #78adff;outline-offset:3px}
#bookingCalculator .z62-client-rates>h3{margin:0 0 12px;font-size:16px}

/* Deployment 69: totals align with the full-width controls below. */
#bookingCalculator.z47-booking-first .z46-hero{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:12px 0}
#bookingCalculator.z47-booking-first .z46-hero>div{padding:10px 8px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:6px}
#bookingCalculator.z47-booking-first .z46-hero small{font-size:clamp(10px,2.7vw,12px);line-height:1.25;margin:0}
#bookingCalculator.z47-booking-first .z46-hero strong{font-size:clamp(16px,4.4vw,22px);line-height:1.2;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* Deployment 70: primary mileage action first. */
#bookingCalculator .z53-actions #z38Include{grid-column:1/-1!important;grid-row:1!important}
#bookingCalculator .z53-actions #z39Waive{grid-column:1!important;grid-row:2!important}
#bookingCalculator .z53-actions #z38Edit{grid-column:2!important;grid-row:2!important}

/* Deployment 74: predictable controls, readable messages and accessible status. */
#bookingCalculator [hidden]{display:none!important}
#bookingCalculator .z49-save-row>.btn{width:100%;min-height:48px}
#bookingCalculator #z74MessageBody{white-space:pre-wrap;overflow-wrap:anywhere}
#bookingCalculator .z56-review{flex-direction:row!important;align-items:center}
#bookingCalculator .z61-rate-choices{margin-top:14px}
#bookingCalculator #z38Save{margin-top:12px;min-height:48px}
#bookingCalculator #z74Validation:not([hidden]){border-left:3px solid #edc466;padding:10px 12px;background:#302b23;border-radius:6px}
#bookingCalculator .z74Close{margin-top:12px}
#bookingCalculator p:empty{display:none}
/* Legacy buttons can be inserted by older deferred list handlers. */
.booking-record-actions .booking-calculator-button,.booking-record-actions .payment-breakdown{display:none!important}

/* Deployment 75: one independent custom editor and brief inline guidance. */
#bookingCalculator .z75-price-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
#bookingCalculator .z75-info{color:#72d5c3;background:transparent;border:0;font:inherit;font-size:24px;min-width:44px;min-height:44px;cursor:pointer}
#bookingCalculator #z64Apply{width:100%;margin-top:12px}
#z75BlockSettings select{display:block;width:100%;margin:8px 0}

/* Keep settings disclosures consistent with the dashboard's dark panels. */
.z45-settings-accordion{background:var(--panel,#111d2c);color:var(--text,#ecf4ff)}
