/* Shared strict two-shift booking UI for every taxi tenant and device. */
.taxi-shift-fieldset {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  margin: .08rem 0 .22rem;
}
.taxi-shift-fieldset legend {
  font-size: .84rem;
  font-weight: 850;
  color: #243e60;
  margin: 0 0 .42rem;
}
.shift-choice-grid, .booking-presets.shift-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .52rem;
  width: 100%;
}
.shift-choice {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .62rem;
  min-height: 62px;
  padding: .55rem .73rem;
  border: 1px solid #cfdaeb;
  border-radius: 11px;
  background: #fff;
  text-align: start;
  color: #233a56;
  cursor: pointer;
  min-width: 0;
  transition: background .12s, border-color .12s, box-shadow .12s;
}
.shift-choice > svg, .shift-choice > i[data-lucide] {
  color: #5373a5;
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
}
.shift-choice.is-selected, .shift-choice[aria-pressed="true"] {
  background: #ebf4ff;
  color: #143e70;
  border-color: #4088dd;
  box-shadow: inset 0 0 0 1px #4088dd;
}
.shift-choice.is-selected > svg, .shift-choice[aria-pressed="true"] > svg {
  color: #146ac1;
}
.shift-choice:hover { border-color: #5c99dc; background: #f4f9ff; }
.shift-choice:focus-visible { outline: 2px solid #1767ce; outline-offset: 2px; }
.shift-choice-copy { display: grid; gap: .11rem; min-width: 0; }
.shift-choice-copy strong { font-size: .89rem; font-weight: 900; line-height: 1.24; }
.shift-choice-copy small { font-size: .78rem; color: #57708d; line-height: 1.25; font-variant-numeric: tabular-nums; }
.taxi-shift-help { margin: .25rem 0 .25rem; font-size: .78rem; color: #61748c; line-height: 1.42; }
.taxi-legacy-shift-note {
  margin: .48rem 0; padding: .6rem .72rem;
  border: 1px solid #efd4a5;
  border-radius: 9px;
  background: #fff8eb;
  color: #794c11;
  font-size: .82rem;
  line-height: 1.43;
}
input[readonly][type="datetime-local"],
input[readonly][type="time"] {
  background: #f5f9ff;
  border-color: #dce6f4;
  color: #1f3655;
  font-variant-numeric: tabular-nums;
}
.repeat-quick-times.taxi-shift-fieldset {
  display: block;
  grid-column: 1 / -1;
}
.taxi-booking-shift-label {
  display: inline-block;
  margin-top: .2rem;
  padding: .16rem .43rem;
  background: #edf5ff;
  color: #2164a7;
  border-radius: 999px;
  font-size: .71rem;
  font-weight: 850;
  white-space: nowrap;
}
@media(max-width:767.98px) {
  .shift-choice { padding: .55rem .61rem; min-height: 59px; gap: .45rem; }
  .shift-choice > svg { width: 18px; height: 18px; flex-basis: 18px; }
  .shift-choice-copy strong { font-size: .82rem; }
  .shift-choice-copy small { font-size: .71rem; }
}
@media(max-width:340px) {
  .shift-choice { padding: .48rem .45rem; min-height: 62px; }
  .shift-choice-copy strong { font-size: .8rem; }
  .shift-choice-copy small { font-size: .67rem; }
}
@media(prefers-reduced-motion:reduce) {
  .shift-choice { transition:none; }
}

/* Compact, consistent across all languages without tiny touch targets. */
.shift-choice-grid .shift-choice {min-height:58px;gap:.42rem;padding:.5rem .57rem;}
.shift-choice-grid .shift-choice > svg {width:17px;height:17px;flex-basis:17px;}
.shift-choice-copy small {unicode-bidi:plaintext;overflow-wrap:anywhere;}
@media(max-width:380px){.shift-choice-grid{grid-template-columns:minmax(0,1fr);}.shift-choice{min-height:48px;}}
