/* Bookings tab owns operational booking UI.
   Inherits MODO Driver control-card, surface, type, spacing, and button tokens. */
.driver-bookings-page-header{
  display:grid;
  gap:5px;
  min-width:0;
  padding:4px 2px 2px;
}
.driver-bookings-page-header h1{
  margin:0;
  font-size:clamp(22px,4vw,29px);
  font-weight:780;
  line-height:1.12;
  letter-spacing:-.035em;
}
.driver-bookings-page-header .section-subtitle{
  margin:0;
  max-width:56ch;
  line-height:1.5;
}
.driver-booking-card{display:grid;gap:12px}
.driver-booking-heading{align-items:flex-start}
.driver-booking-current{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;min-width:0;padding:13px 14px;
  background:var(--surface-2);border:1px solid var(--line);
  border-radius:12px
}
.driver-booking-current span{font-size:11px;color:var(--muted)}
.driver-booking-current strong{font-size:13px;color:var(--text);text-align:right}
.driver-booking-form{display:grid;gap:7px;min-width:0}
.driver-booking-label{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.driver-booking-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;min-width:0}
.driver-booking-fields select{
  display:block;min-width:0;width:100%;min-height:44px;
  background:var(--surface-3);border:1px solid var(--line-strong);
  border-radius:10px;padding:0 12px;color:var(--text);
  font-size:12px;font-weight:650
}
.driver-booking-save{
  min-height:44px;padding:0 16px;border:1px solid var(--red);
  border-radius:10px;background:var(--red);color:#fff;
  font-size:11px;font-weight:760;white-space:nowrap
}
.driver-booking-save:disabled,.driver-booking-fields select:disabled{
  opacity:.45;cursor:not-allowed
}
.driver-booking-fields select:focus-visible,.driver-booking-save:focus-visible{
  outline:2px solid var(--text);outline-offset:3px
}
.driver-booking-privacy{
  margin:0;color:var(--muted);font-size:10px;line-height:1.5;
  border-top:1px solid var(--line);padding-top:11px
}
#bookingAreaStatus[data-tone="good"]{color:var(--good)}
#bookingAreaStatus[data-tone="error"]{color:var(--danger)}
#bookingAreaStatus[data-tone="warn"]{color:var(--warn)}
@media(max-width:440px){
  .driver-booking-heading{align-items:flex-start}
  .driver-booking-current{align-items:flex-start;flex-direction:column;gap:5px}
  .driver-booking-current strong{text-align:left}
  .driver-booking-fields{grid-template-columns:1fr}
  .driver-booking-save{width:100%}
}


/* Booking operations inherit Driver visual system and respect phone widths. */
.driver-reservations{display:grid;gap:10px;min-width:0}
.driver-reservations-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0}
.driver-reservations-heading>div{min-width:0}
.driver-reservations-heading .section-subtitle{line-height:1.5}
.driver-booking-divider{height:1px;background:var(--line);margin:2px 0}
.driver-booking-list{display:grid;gap:10px;min-width:0}
.driver-booking-empty{padding:17px 12px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted);font-size:12px;line-height:1.6;text-align:center;margin:0}
.driver-booking-item{border:1px solid var(--line-strong);border-radius:13px;background:var(--surface-2);padding:13px;display:grid;gap:10px;min-width:0}
.driver-booking-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0}
.driver-booking-item-head>div{min-width:0}
.driver-booking-item-time{font-size:11px;color:var(--muted);font-weight:690}
.driver-booking-item-customer{font-size:14px;color:var(--text);font-weight:780;overflow-wrap:anywhere;margin-top:3px}
.driver-booking-state{flex:none;border:1px solid var(--line-strong);border-radius:999px;padding:6px 8px;font-size:9px;color:var(--text);font-weight:800;white-space:nowrap}
.driver-booking-state[data-kind="requested"]{color:var(--warn)}
.driver-booking-state[data-kind="confirmed"]{color:var(--good)}
.driver-booking-item-path{display:grid;gap:4px;color:var(--text);font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.driver-booking-item-path span{color:var(--muted);font-size:10px}
.driver-booking-item-payment{font-size:10px;color:var(--muted);line-height:1.5}
.driver-booking-item-actions{display:flex;gap:7px;flex-wrap:wrap;min-width:0}
.driver-booking-item-actions button{min-height:44px;border-radius:10px;padding:9px 13px;font-size:11px;font-weight:760;line-height:1.3;border:1px solid var(--line-strong);background:var(--surface-3);color:var(--text);cursor:pointer}
.driver-booking-item-actions button[data-primary="true"]{background:var(--red);border-color:var(--red);color:#fff}
.driver-booking-item-actions button[data-danger="true"]{border-color:rgba(255,100,109,.48);color:var(--danger);background:transparent}
.driver-booking-item-actions button:disabled{opacity:.45;cursor:not-allowed}
.driver-booking-item-actions button:focus-visible,#bookingListRefresh:focus-visible{outline:2px solid var(--text);outline-offset:3px}
#bookingListStatus[data-tone="good"]{color:var(--good)}
#bookingListStatus[data-tone="error"]{color:var(--danger)}
#bookingListStatus[data-tone="warn"]{color:var(--warn)}
@media(max-width:440px){
  .driver-reservations-heading{align-items:flex-start}
  .driver-reservations-heading .broadcast-profile-refresh{flex:none}
  .driver-booking-item-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .driver-booking-item-actions button{min-width:0}
}


/* Read-only Tesla test controls stay isolated in Bookings. */
.driver-tesla-card{display:grid;gap:12px}
.driver-tesla-summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-width:0;padding:13px 14px;background:var(--surface-2);
  border:1px solid var(--line);border-radius:12px
}
.driver-tesla-summary span,.driver-tesla-result-row span{
  color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase
}
.driver-tesla-summary strong{font-size:12px;color:var(--text);text-align:right;overflow-wrap:anywhere}
.driver-tesla-actions{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.driver-tesla-actions button,.driver-tesla-bind button{
  min-height:44px;border-radius:10px;padding:9px 13px;font-size:11px;font-weight:760;
  border:1px solid var(--line-strong);background:var(--surface-3);color:var(--text)
}
.driver-tesla-actions button:disabled,.driver-tesla-bind button:disabled,.driver-tesla-bind select:disabled{
  opacity:.45;cursor:not-allowed
}
.driver-tesla-bind{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;min-width:0}
.driver-tesla-bind select{
  width:100%;min-width:0;min-height:44px;background:var(--surface-3);
  border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;
  color:var(--text);font-size:12px;font-weight:650
}
.driver-tesla-probe{
  display:grid;gap:8px;padding:12px 13px;border:1px solid var(--line-strong);
  border-radius:12px;background:var(--surface-2);min-width:0
}
.driver-tesla-result-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0}
.driver-tesla-result-row strong{font-size:11px;color:var(--text);text-align:right;overflow-wrap:anywhere}
.driver-tesla-probe-note{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
#teslaStatus[data-tone="good"]{color:var(--good)}
#teslaStatus[data-tone="error"]{color:var(--danger)}
#teslaStatus[data-tone="warn"]{color:var(--warn)}
.driver-tesla-actions button:focus-visible,.driver-tesla-bind button:focus-visible,.driver-tesla-bind select:focus-visible{
  outline:2px solid var(--text);outline-offset:3px
}
@media(max-width:440px){
  .driver-tesla-summary,.driver-tesla-result-row{align-items:flex-start;flex-direction:column;gap:5px}
  .driver-tesla-summary strong,.driver-tesla-result-row strong{text-align:left}
  .driver-tesla-actions,.driver-tesla-bind{display:grid;grid-template-columns:1fr}
  .driver-tesla-actions button,.driver-tesla-bind button{width:100%}
}
