/* Taxi UX v2: shared all-tenant visual layer. */
:root {
  --ux-ink: #17263f;
  --ux-muted: #617188;
  --ux-border: #dfe7f0;
  --ux-soft: #f3f8ff;
  --ux-shadow: 0 5px 16px rgba(17, 33, 59, .055);
}
[hidden], .taxi-bottom-nav [hidden] { display: none !important; }
main.container { max-width: 1680px; padding-block: .85rem !important; }
main .card { border: 1px solid var(--ux-border); box-shadow: var(--ux-shadow) !important; }
main .card-body { padding: .8rem; }
main .btn svg, main a.btn svg { width: 15px; height: 15px; flex: 0 0 15px; vertical-align: -.14em; }
main .btn { font-weight: 750; touch-action: manipulation; }
main .btn-sm { font-size: .81rem; padding: .3rem .56rem; }
main .btn-lg { padding: .56rem .82rem; }
main h1, main h2, main h3 { color: var(--ux-ink); }
main a:focus-visible, main button:focus-visible, main input:focus-visible,
main select:focus-visible, .taxi-main-navbar a:focus-visible,
.taxi-bottom-nav a:focus-visible { outline: 2px solid #2876d1; outline-offset: 2px; }
/* Desktop has one row; small screens collapse and use bottom shortcuts. */
.taxi-app-header { position: sticky; top: 0; z-index: 1040; }
.taxi-main-navbar {
  min-height: 53px; padding-block: .28rem;
  background: linear-gradient(95deg,#172238,#263b57) !important;
  box-shadow: 0 3px 14px rgba(10,20,38,.1);
}
.taxi-nav-container { display: flex; align-items: center; flex-wrap: wrap; gap: .33rem; }
.taxi-main-navbar .taxi-brand {
  flex: 0 1 auto; min-width: 0; margin-right: .6rem;
  max-width: min(55vw, 260px); gap: .42rem;
  white-space: nowrap; color: white; font-size: .99rem;
}
.taxi-brand img { width: 23px; height: 23px; flex: 0 0 23px; }
.taxi-brand-name { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.taxi-navbar, .taxi-nav-primary, .taxi-nav-secondary { min-width: 0; }
.taxi-nav-primary, .taxi-nav-secondary { align-items: center; gap: .12rem; }
.taxi-main-navbar .taxi-primary-link, .taxi-main-navbar .taxi-nav-secondary .nav-link {
  display: inline-flex; align-items: center; justify-content: flex-start; gap: .32rem;
  padding: .47rem .53rem; border-radius: 8px; color: rgba(255,255,255,.86);
  font-size: .82rem; line-height: 1.2; white-space: nowrap; text-decoration: none;
}
.taxi-main-navbar .nav-link svg, .taxi-main-navbar .dropdown-item svg {
  width: 15px; height: 15px; flex: 0 0 15px;
}
.taxi-main-navbar .nav-link:hover, .taxi-main-navbar .nav-link:focus-visible,
.taxi-main-navbar .nav-link.is-active { background: rgba(255,255,255,.13); color: white; }
.taxi-main-navbar .nav-link.is-active { box-shadow: inset 0 -2px 0 #92c7ff; }
.taxi-main-navbar .taxi-menu-panel {
  min-width: 216px; padding: .35rem; border: 1px solid var(--ux-border);
  border-radius: 11px; box-shadow: 0 15px 32px rgba(10,24,42,.16);
}
.taxi-menu-panel .dropdown-item {
  display: flex; align-items: center; gap: .49rem;
  border-radius: 7px; padding: .55rem .62rem; font-size: .83rem; font-weight: 700;
}
.taxi-user-label { display: inline-block; max-width: 115px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.taxi-main-navbar .navbar-tools { display: flex; align-items: center; gap: .2rem; margin-left: auto; }
.taxi-main-navbar .navbar-toggler { padding: .25rem .42rem; border-color: rgba(255,255,255,.3); }
.taxi-main-navbar .navbar-toggler-icon { width: 1.12em; height: 1.12em; }
.taxi-bottom-nav a.is-active { background: rgba(115,171,242,.25); box-shadow: inset 0 0 0 1px rgba(176,210,255,.3); }
/* Home overview: compact intro, optional help and immediate actions. */
.driver-start-panel.taxi-home-intro {
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center;
  gap: .5rem .9rem; padding: .77rem .87rem; margin-bottom: .6rem;
  border-radius: 12px; background: linear-gradient(115deg,#fff,#f0f6ff); box-shadow: var(--ux-shadow);
}
.taxi-home-intro .driver-kicker { padding: .12rem .42rem; font-size: .63rem; background: #e8f2ff; color: #245b91; }
.taxi-home-intro .driver-start-copy h1 {
  margin: .24rem 0 .2rem; font-size: clamp(1.18rem,1.4vw + .87rem,1.8rem);
  font-weight: 900; line-height: 1.14; letter-spacing: -.025em; max-width: none;
}
.taxi-home-intro .driver-start-copy p { font-size: .83rem; line-height: 1.35; color: #607087; font-weight: 580; }
.taxi-home-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .38rem; }
.taxi-home-actions .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .3rem;
  padding: .34rem .6rem; min-height: 38px; font-size: .8rem; white-space: nowrap;
}
.taxi-howto { grid-column: 1 / -1; min-width: 0; }
.taxi-howto summary {
  display: inline-flex; align-items: center; gap: .3rem; padding: .1rem 0;
  cursor: pointer; color: #3e678f; font-size: .75rem; font-weight: 800;
}
.taxi-howto summary svg { width: 13px; height: 13px; }
.taxi-howto[open] summary { margin-bottom: .35rem; }
.taxi-howto .driver-steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; }
.taxi-howto .driver-step {
  min-height: 55px; padding: .37rem .5rem; border-radius: 8px;
  grid-template-columns: auto minmax(0,1fr); grid-template-rows: auto auto; gap: .05rem .4rem;
}
.taxi-howto .driver-step > strong { grid-row: span 2; width: 23px; height: 23px; font-size: .72rem; }
.taxi-howto .driver-step span { font-size: .8rem; }
.taxi-howto .driver-step small { grid-column: 2; font-size: .71rem; }
.my-shift-panel { padding: .7rem .78rem; margin-bottom: .6rem; gap: .45rem; border-radius: 11px; }
.my-shift-panel .driver-kicker { padding: .11rem .38rem; font-size: .62rem; }
.my-shift-panel h2 { margin: .18rem 0 !important; font-size: clamp(1rem,1.35vw,1.22rem); }
.my-shift-panel p { font-size: .79rem; line-height: 1.3; }
.my-shift-list { gap: .35rem; }
.my-shift-item { padding: .46rem .6rem; border-radius: 8px; }
.taxi-date-pill { font-size: .77rem !important; padding: .24rem .45rem; }
/* Compact vehicle schedules and instant filters. */
.dashboard-day-controls { gap: .4rem !important; }
.dashboard-date-form { gap: .36rem !important; }
.schedule-panel-head { padding: .61rem .72rem; }
.schedule-panel-head h2 { font-size: .99rem; }
.vehicle-card { border-radius: 11px; }
.vehicle-card-head { padding: .6rem .73rem; gap: .4rem; }
.vehicle-help { padding: .5rem .7rem; }
.vehicle-head-actions { flex: 0 1 auto; align-items: center; gap: .28rem; }
.vehicle-title { flex: 0 1 auto; }
.vehicle-title .car-ico { width: 15px !important; height: 15px !important; margin-right: .2rem; }
.taxi-location-chip, .taxi-station-chip {
  display: inline-flex; align-items: center; gap: .24rem;
  padding: .22rem .44rem; border-radius: 999px;
  color: #245e9b; background: #eaf3ff; font-weight: 800;
  font-size: .73rem; white-space: normal;
}
.taxi-location-chip svg, .taxi-station-chip svg { width: 12px; height: 12px; flex: 0 0 12px; }
.booking-card { padding: .54rem .62rem; gap: .38rem; }
.booking-actions { gap: .32rem; }
.booking-actions .btn { padding: .28rem .47rem; font-size: .79rem; }
.taxi-list-toolbar, .taxi-record-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: .44rem;
  padding: .53rem .68rem; background: #fff;
  border: 1px solid var(--ux-border); border-radius: 10px;
}
.taxi-record-toolbar { border: 0; border-bottom: 1px solid var(--ux-border); border-radius: 0; }
.taxi-list-search { position: relative; display: flex; flex: 1 1 205px; max-width: 440px; align-items: center; min-width: 0; }
.taxi-list-search > svg, .taxi-list-search > i {
  position: absolute; left: .59rem; width: 15px; height: 15px;
  z-index: 1; color: #7588a1; pointer-events: none;
}
.taxi-list-search input { padding-left: 1.9rem; min-width: 0; font-size: .84rem; background: #fcfdff; }
.taxi-list-select { margin: 0; flex: 0 1 175px; min-width: 127px; }
.taxi-list-select select { font-size: .83rem; }
.taxi-list-count { color: #60738b; margin-left: auto; font-size: .76rem; font-weight: 850; white-space: nowrap; }
.taxi-filter-empty {
  display: flex; flex-direction: column; align-items: center; gap: .36rem;
  padding: 1.5rem .7rem; border: 1px dashed #d2dfed; border-radius: 10px;
  color: var(--ux-muted); background: #fff; text-align: center; font-size: .84rem;
}
.taxi-filter-empty svg { width: 23px; height: 23px; color: #9aacc5; }
.taxi-filter-empty strong { color: #25405e; }
.taxi-table-empty { margin: .6rem; }
/* Common admin hierarchy and concise actions. */
.taxi-page-heading {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: .55rem .9rem; margin-bottom: .75rem; padding: .77rem .89rem;
  border: 1px solid var(--ux-border); border-radius: 12px;
  background: linear-gradient(115deg,#fff,#f2f7ff); box-shadow: var(--ux-shadow);
}
.taxi-page-heading h1 {
  margin: .15rem 0 .2rem; font-size: clamp(1.16rem,1.2vw + .85rem,1.53rem);
  font-weight: 900; line-height: 1.2;
}
.taxi-page-heading p { margin: 0; max-width: 690px; color: var(--ux-muted); font-size: .83rem; line-height: 1.42; }
.taxi-page-eyebrow { display: inline-flex; align-items: center; gap: .3rem; color: #336cae; text-transform: uppercase; letter-spacing: .045em; font-size: .67rem; font-weight: 900; }
.taxi-page-eyebrow svg { width: 13px; height: 13px; }
.taxi-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.taxi-page-actions .btn { display: inline-flex; align-items: center; gap: .28rem; }
.taxi-heading-slim { padding: .67rem .76rem; }
.taxi-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; margin-bottom: .7rem; }
.taxi-stat {
  display: grid; grid-template-columns: auto minmax(0,1fr); grid-template-rows: auto auto;
  align-items: center; gap: .1rem .53rem; min-width: 0; padding: .65rem .76rem;
  border: 1px solid var(--ux-border); border-radius: 11px; background: #fff; box-shadow: var(--ux-shadow);
}
.taxi-stat-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: #286cbd; background: #eaf3ff; }
.taxi-stat-icon svg { width: 17px; height: 17px; }
.taxi-stat-value { color: #192d49; font-size: clamp(1.19rem,1.4vw,1.67rem); line-height: 1.14; font-weight: 950; font-variant-numeric: tabular-nums; }
.taxi-stat-value small { color: #8a99aa; font-size: .73rem; font-weight: 650; }
.taxi-stat-label { color: #63758b; font-size: .74rem; line-height: 1.22; font-weight: 750; }
.taxi-admin-panels { display: grid; grid-template-columns: 1.05fr .95fr; gap: .65rem; align-items: start; }
.taxi-panel { padding: .74rem .8rem; border: 1px solid var(--ux-border); border-radius: 11px; background: #fff; box-shadow: var(--ux-shadow); min-width: 0; }
.taxi-panel-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .43rem; margin-bottom: .5rem; }
.taxi-panel-head h2 { margin: 0; font-size: .99rem; font-weight: 900; }
.taxi-panel-head a { display: inline-flex; align-items: center; gap: .22rem; color: #1968c4; font-size: .76rem; font-weight: 800; text-decoration: none; }
.taxi-panel-head a svg { width: 13px; height: 13px; }
.taxi-muted { color: #748297; font-size: .76rem; }
.taxi-action-list { display: grid; gap: .16rem; }
.taxi-action-list a { display: grid; grid-template-columns: 31px minmax(0,1fr) 14px; gap: .48rem; align-items: center; border-radius: 8px; padding: .45rem .42rem; text-decoration: none; color: #1a304e; }
.taxi-action-list a:hover, .taxi-action-list a:focus-visible { background: #eff6ff; }
.taxi-action-list a > span:nth-child(2) { display: grid; gap: .07rem; }
.taxi-action-list a strong { font-size: .84rem; line-height: 1.2; font-weight: 870; }
.taxi-action-list a small { color: #6a7d92; font-size: .72rem; line-height: 1.2; }
.taxi-action-list a > svg { width: 14px; height: 14px; color: #9aabc0; }
.taxi-action-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: #edf5ff; color: #3375c1; }
.taxi-action-icon svg { width: 16px; height: 16px; }
.taxi-upcoming-list { display: grid; gap: .08rem; }
.taxi-upcoming-item {
  display: grid; grid-template-columns: 51px minmax(0,1fr) auto;
  align-items: center; gap: .5rem; padding: .46rem .32rem; border-bottom: 1px solid #edf1f5;
  border-radius: 7px; text-decoration: none; min-width: 0;
}
.taxi-upcoming-item:hover, .taxi-upcoming-item:focus-visible { background: #f1f7ff; }
.taxi-upcoming-date { color: #2d6caf; font-size: .75rem; font-weight: 900; line-height: 1.25; }
.taxi-upcoming-details { display: grid; gap: .08rem; min-width: 0; }
.taxi-upcoming-details strong { color: #273c59; font-size: .82rem; font-weight: 850; overflow-wrap: anywhere; }
.taxi-upcoming-details small { color: #718097; font-size: .72rem; }
.taxi-upcoming-city { color: #3577bc; background: #ecf5ff; border-radius: 999px; padding: .14rem .4rem; font-size: .7rem; font-weight: 800; }
.taxi-panel-empty { color: #718096; text-align: center; font-size: .83rem; padding: 1.45rem .45rem; }
.taxi-stations-panel { margin-top: .65rem; }
.taxi-stations-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.taxi-station-chip { padding: .28rem .5rem; border-radius: 8px; }
.taxi-station-chip strong { color: #204061; font-size: .7rem; }
.taxi-admin-help-link { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; margin: .58rem 0 0; color: #708096; font-size: .78rem; }
.taxi-admin-help-link > svg { width: 14px; height: 14px; }
.taxi-admin-help-link a { color: #196fc9; font-weight: 820; }
/* Compact admin table on desktop; readable cards on mobile. */
.taxi-responsive-bookings td, .taxi-responsive-bookings th { overflow-wrap: anywhere; }
.taxi-responsive-bookings .taxi-booking-id { color: #2362a6; font-weight: 900; }
.taxi-responsive-bookings .taxi-booking-time { font-size: .82rem; font-variant-numeric: tabular-nums; }
.taxi-booking-row-actions .btn { margin: .08rem; white-space: nowrap; }
.taxi-bookings-table-wrap { scrollbar-width: thin; }
.taxi-record-toolbar .taxi-list-search { max-width: none; }
.taxi-record-toolbar + .table-responsive .table > :not(caption) > * > * { padding: .48rem .55rem; }
.city-station-form { gap: .35rem; }
.admin-car-create {
  grid-template-columns: minmax(10rem,1.2fr) minmax(9rem,.8fr) minmax(12rem,1fr) auto;
  flex: 1 1 830px; align-items: start;
}
.admin-car-create-city { min-width: 0; }
.taxi-page-title-inline h1 { margin-block: .13rem; }
@media (min-width: 1200px) {
  .taxi-main-navbar .taxi-navbar { display: flex !important; flex-basis: auto !important; align-items: center; }
  .taxi-main-navbar .taxi-nav-container { flex-wrap: nowrap; }
  .taxi-main-navbar .taxi-nav-secondary { margin-left: auto; }
}
@media (max-width: 1199.98px) {
  .taxi-main-navbar .navbar-collapse { flex-basis: 100%; }
  .taxi-main-navbar .taxi-nav-primary, .taxi-main-navbar .taxi-nav-secondary { align-items: stretch; padding: .2rem 0; }
  .taxi-main-navbar .taxi-nav-primary { border-top: 1px solid rgba(255,255,255,.14); margin-top: .38rem; }
  .taxi-main-navbar .nav-link { padding: .58rem .65rem; }
  .taxi-main-navbar .dropdown-menu { position: static; width: 100%; margin-top: .2rem; box-shadow: none; }
  .driver-start-panel.taxi-home-intro { grid-template-columns: minmax(0,1fr); }
  .taxi-home-actions { justify-content: flex-start; }
  .taxi-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .taxi-admin-panels { grid-template-columns: 1fr; }
  .admin-car-create { grid-template-columns: repeat(2,minmax(0,1fr)); flex: 1 1 100%; }
}
@media (max-width: 767.98px) {
  main.container { padding-block: .65rem !important; }
  .taxi-main-navbar { min-height: 50px; }
  .taxi-main-navbar .taxi-brand { margin-right: 0; max-width: min(58vw,245px); font-size: .94rem; }
  .taxi-main-navbar .navbar-tools { gap: .14rem; }
  .driver-start-panel.taxi-home-intro { padding: .61rem .68rem; gap: .39rem; margin-bottom: .5rem; }
  .taxi-home-intro .driver-start-copy h1 { font-size: clamp(1.12rem,4vw,1.38rem); }
  .taxi-home-intro .driver-start-copy p { font-size: .8rem; }
  .taxi-home-actions { flex-wrap: wrap; }
  .taxi-home-actions .btn { flex: 1 1 auto; min-height: 40px; padding: .38rem .48rem; }
  .taxi-howto .driver-steps { grid-template-columns: 1fr; gap: .28rem; }
  .taxi-howto .driver-step { min-height: 0; padding: .32rem .4rem; }
  .my-shift-panel { padding: .64rem .69rem; margin-bottom: .5rem; }
  .taxi-list-toolbar, .taxi-record-toolbar { padding: .48rem; gap: .4rem; }
  .taxi-list-search { flex: 1 1 100%; max-width: none; }
  .taxi-list-select { flex: 1 1 auto; }
  .taxi-list-count { flex: 0 0 auto; font-size: .72rem; }
  .taxi-page-heading { padding: .65rem; align-items: stretch; }
  .taxi-page-heading h1 { font-size: 1.16rem; }
  .taxi-page-heading p { font-size: .78rem; }
  .taxi-page-actions { width: 100%; }
  .taxi-page-actions .btn { flex: 1 1 45%; justify-content: center; font-size: .77rem; }
  .taxi-stat-grid { gap: .45rem; }
  .taxi-stat { padding: .53rem .6rem; gap: .05rem .4rem; }
  .taxi-stat-icon { width: 29px; height: 29px; border-radius: 8px; }
  .taxi-stat-icon svg { width: 15px; height: 15px; }
  .taxi-stat-value { font-size: 1.18rem; }
  .taxi-stat-label { font-size: .69rem; }
  .taxi-panel { padding: .64rem; }
  .taxi-action-list a { padding: .4rem .28rem; }
  .taxi-upcoming-item { grid-template-columns: 43px minmax(0,1fr); }
  .taxi-upcoming-city { grid-column: 2; width: fit-content; }
  .taxi-bookings-table-wrap { overflow: visible; }
  .taxi-responsive-bookings, .taxi-responsive-bookings tbody {
    display: block; width: 100%; min-width: 0 !important;
  }
  .taxi-responsive-bookings thead { display: none; }
  .taxi-responsive-bookings tbody tr {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .27rem .55rem;
    padding: .69rem; margin: .44rem;
    border: 1px solid var(--ux-border); border-radius: 10px; background: #fff;
  }
  .taxi-responsive-bookings tbody tr[hidden] { display: none !important; }
  .taxi-responsive-bookings tbody td {
    display: grid; align-content: start; gap: .13rem; min-width: 0;
    padding: .12rem 0 !important; border: 0 !important;
    font-size: .79rem; text-align: left !important; overflow-wrap: anywhere;
  }
  .taxi-responsive-bookings tbody td::before {
    content: attr(data-label); color: #78889c; font-size: .68rem; font-weight: 900;
  }
  .taxi-responsive-bookings .taxi-booking-id { grid-column: 1 / -1; font-size: .9rem; }
  .taxi-responsive-bookings .taxi-booking-id::before { display: none; }
  .taxi-responsive-bookings .taxi-booking-row-actions {
    grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap;
    gap: .35rem; margin-top: .2rem; padding-top: .45rem !important;
    border-top: 1px solid #edf1f7 !important;
  }
  .taxi-responsive-bookings .taxi-booking-row-actions::before { flex: 0 0 100%; }
  .taxi-responsive-bookings .taxi-booking-row-actions > .btn,
  .taxi-responsive-bookings .taxi-booking-row-actions form { flex: 1 1 42%; margin: 0; }
  .taxi-responsive-bookings .taxi-booking-row-actions form .btn { width: 100%; margin: 0; }
  .admin-car-create { grid-template-columns: minmax(0,1fr); }
  .taxi-bottom-nav.mobile-quick-nav {
    display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    align-items: stretch; left: max(.5rem,env(safe-area-inset-left,0px));
    right: max(.5rem,env(safe-area-inset-right,0px));
    bottom: max(.5rem,env(safe-area-inset-bottom,0px));
    gap: .18rem; padding: .26rem; border-radius: 13px;
  }
  .taxi-bottom-nav.mobile-quick-nav:has(a:nth-child(5)) { grid-template-columns: repeat(5,minmax(0,1fr)) !important; }
  .taxi-bottom-nav.mobile-quick-nav a { display: grid; align-content: center; min-width: 0; min-height: 50px; gap: .1rem; }
  .taxi-bottom-nav.mobile-quick-nav svg { width: 17px; height: 17px; }
  .taxi-bottom-nav.mobile-quick-nav span { display: block !important; font-size: .64rem; font-weight: 800; line-height: 1.1; white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }
  body:has(.taxi-bottom-nav) { padding-bottom: calc(5.3rem + env(safe-area-inset-bottom,0px)); }
}
@media (max-width: 389px) {
  .taxi-home-actions .btn { flex: 1 1 44%; font-size: .73rem; }
  .taxi-bottom-nav.mobile-quick-nav span { font-size: .6rem; }
  .taxi-page-actions .btn { font-size: .72rem; }
}
@media (min-width: 1600px) {
  .taxi-main-navbar .taxi-nav-container { max-width: 1800px; }
  .taxi-page-heading { padding: .87rem 1.1rem; }
  .taxi-admin-panels { grid-template-columns: 1.07fr .93fr; }
}
@media (prefers-reduced-motion: reduce) {
  .taxi-app-header *, .taxi-home-intro *, .taxi-bottom-nav * {
    scroll-behavior: auto !important;
    transition-duration: 0ms !important;
    animation-duration: 0ms !important;
  }
}

/* More direct mobile messaging: open conversation first, inbox one tap away. */
.pm-thread-header-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.pm-mobile-back { display: none; align-items: center; gap: .25rem; font-size: .77rem; font-weight: 850; color: #1a68bd; text-decoration: none; }
.pm-mobile-back svg { width: 13px; height: 13px; }
.taxi-collapsible-metrics { border: 1px solid var(--ux-border); border-radius: 10px; background: #fff; }
.taxi-collapsible-metrics summary { display: flex; align-items: center; gap: .42rem; padding: .56rem .7rem; color: #385d89; font-size: .83rem; font-weight: 870; cursor: pointer; }
.taxi-collapsible-metrics summary svg { width: 15px; height: 15px; }
.taxi-collapsible-metrics summary span { margin-left: auto; color: #74869d; font-size: .73rem; font-weight: 650; }
.taxi-collapsible-content { padding: 0 .65rem .65rem; }
@media (max-width: 767.98px) {
  .pm-layout.has-active-thread .pm-conversation { order: -1; }
  .pm-layout.has-active-thread .pm-sidebar { order: 1; }
  .pm-layout.is-new-chat .pm-sidebar { display: flex; flex-direction: column; }
  .pm-layout.is-new-chat .pm-new-thread { order: -1; }
  .pm-layout.is-new-chat .pm-inbox { order: 1; }
  .pm-mobile-back { display: inline-flex; }
  .pm-message-scroll { max-height: 49vh; }
  .pm-conversation-header { align-items: flex-start; }
  .pm-thread-header-actions { justify-content: flex-end; }
}
.taxi-guide-shortcuts { display: flex; flex-wrap: wrap; align-items: center; gap: .38rem; padding: .55rem .65rem; border: 1px solid var(--ux-border); border-radius: 10px; background: #f6faff; margin-bottom: .85rem; }
.taxi-guide-shortcuts > strong { color: #3b608e; font-size: .78rem; margin-right: .12rem; }
.taxi-guide-shortcuts > a { display: inline-flex; align-items: center; gap: .27rem; padding: .34rem .55rem; border: 1px solid #dde9f7; border-radius: 7px; background: #fff; color: #205f9f; font-size: .77rem; font-weight: 760; text-decoration: none; }
.taxi-guide-shortcuts > a:hover { background: #e7f2ff; }
.taxi-guide-shortcuts svg { width: 13px; height: 13px; }
@media (max-width: 575.98px) {
  .taxi-guide-shortcuts { gap: .3rem; }
  .taxi-guide-shortcuts > strong { flex: 0 0 100%; }
  .taxi-guide-shortcuts > a { flex: 1 1 43%; justify-content: center; text-align: center; font-size: .72rem; }
}


/* Keep interactive edit/delete buttons accessible even in compact rows. */
.car-schedule-title .car-ico { width: 19px !important; height: 19px !important; }
.taxi-responsive-bookings .taxi-booking-row-actions .btn { min-height: 36px; }
@media (max-width: 767.98px) {
  .taxi-responsive-bookings .taxi-booking-row-actions .btn { min-height: 41px; }
}

/* Locale control: stays beside account on desktop, beside menu toggle on mobile.
   Accessible compact globe + ISO language code, without a large white button. */
.taxi-app-header .taxi-main-navbar .taxi-brand { order: 1; }
.taxi-app-header .taxi-main-navbar .taxi-navbar { order: 2; }
.taxi-app-header .taxi-main-navbar .navbar-tools {
  order: 3 !important;
  margin-inline-start: .35rem !important;
  margin-inline-end: 0;
  flex: 0 0 auto;
  gap: .22rem;
  z-index: 3;
}
.taxi-app-header .taxi-main-navbar .language-switcher { display: block; flex: 0 0 auto; }
.taxi-app-header .taxi-main-navbar .language-switcher .language-trigger {
  width: auto;
  min-width: 64px;
  height: 36px;
  min-height: 36px;
  padding: 0 .56rem;
  gap: .33rem;
  border-radius: 9px;
  border: 1px solid rgba(221,233,248,.46);
  background: rgba(255,255,255,.12);
  color: #fff;
  font: 800 .76rem/1 system-ui,sans-serif;
  box-shadow: none;
  transition: background .15s ease;
}
.taxi-app-header .taxi-main-navbar .language-switcher .language-trigger:hover,
.taxi-app-header .taxi-main-navbar .language-switcher[open] .language-trigger {
  background: rgba(255,255,255,.2);
  border-color: rgba(255,255,255,.7);
}
.taxi-app-header .taxi-main-navbar .language-switcher .language-trigger:focus-visible {
  outline: 2px solid #f5cf62;
  outline-offset: 2px;
}
.taxi-app-header .taxi-main-navbar .language-trigger > img {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  filter: brightness(0) invert(1);
}
.taxi-app-header .taxi-main-navbar .language-trigger::after {
  content: "▾";
  color: #c8e4ff;
  font-size: .7rem;
  margin-inline-start: .02rem;
}
.taxi-app-header .taxi-main-navbar .language-menu {
  width: 246px;
  border-radius: 13px;
  border-color: #dce7f4;
  box-shadow: 0 17px 38px rgba(15,23,42,.24);
  padding: .38rem;
}
.taxi-app-header .taxi-main-navbar .language-menu-heading {
  padding: .7rem .8rem;
  margin-bottom: .2rem;
  color: #263954;
}
.taxi-app-header .taxi-main-navbar .language-option {
  gap: .45rem;
  padding: .52rem .67rem;
  border-radius: 9px;
  min-height: 42px;
  font-size: .88rem;
}
.taxi-app-header .taxi-main-navbar .language-option[aria-current="true"] {
  background: #eaf4ff;
  color: #135c9f !important;
}
.taxi-app-header .taxi-main-navbar .language-option-code { font-size: .7rem; }
@media (max-width: 1199.98px) {
  .taxi-app-header .taxi-main-navbar .navbar-tools {
    order: 2 !important;
    margin-inline-start: auto !important;
  }
  .taxi-app-header .taxi-main-navbar .taxi-navbar { order: 3; }
  .taxi-app-header .taxi-main-navbar .language-switcher .language-trigger {
    min-width: 61px;
    height: 37px;
  }
}
@media (max-width: 575.98px) {
  .taxi-app-header .taxi-main-navbar .language-menu {
    width: min(244px, calc(100vw - 18px));
    max-height: calc(100dvh - 106px);
  }
  .taxi-app-header .taxi-main-navbar .language-switcher .language-trigger {
    height: 34px;
    min-height: 34px;
    min-width: 58px;
    padding: 0 .42rem;
  }
  .taxi-app-header .taxi-main-navbar .navbar-tools { gap: .18rem; }
  .taxi-app-header .taxi-main-navbar .language-switcher .language-trigger > img {
    width: 16px; height: 16px; flex-basis: 16px;
  }
}
/* Arabic/Persian read right-to-left, but language codes and input controls remain stable. */
html[dir="rtl"] .taxi-app-header .language-code,
html[dir="rtl"] .taxi-app-header .language-menu { direction: ltr; }
html[dir="rtl"] .taxi-app-header .taxi-navbar { direction: rtl; }
html[dir="rtl"] .taxi-list-search input,
html[dir="rtl"] [type="search"] { text-align: start; }
