/* src/fare-manager.css */
.fare-manager {
  padding: 20px;
}
.fare-tools {
  display: flex;
  align-items: end;
  gap: 20px;
  justify-content: space-between;
  flex-wrap: wrap;
}
.fare-tools > .field {
  min-width: 250px;
  margin: 0;
}
.fare-downloads {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.fare-sync-button { box-shadow: 0 8px 18px rgba(24, 96, 76, .16); }
.fare-scope-help {
  margin: 10px 0 2px;
  padding: 10px 13px;
  border-left: 3px solid #78b59f;
  border-radius: 0 8px 8px 0;
  background: #f1f8f5;
  color: #49685d;
  font-size: 13px;
  line-height: 1.45;
}
.fare-manager .panel-note {
  padding: 12px 0;
  color: #60746b;
  line-height: 1.6;
}
.fare-manager .panel-heading {
  padding-left: 0;
  padding-right: 0;
  flex-wrap: wrap;
  gap: 12px;
}
.fare-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
  margin: 4px 0 18px;
}
.fare-overview > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid #d9e6e0;
  border-radius: 12px;
  background: #f7faf8;
}
.fare-overview strong { font-size: 22px; line-height: 1; color: #183d33; }
.fare-overview span { font-size: 12px; color: #667d73; }
.fare-overview .fare-overview-active { background: #edf7f2; border-color: #bcdacb; }
.fare-destination-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 3px 2px 12px;
  scrollbar-width: thin;
}
.fare-filter-block { margin: 6px 0 8px; }
.fare-filter-block > strong { display: block; margin: 0 0 7px 3px; color: #466459; font-size: 12px; letter-spacing: .02em; }
.fare-region-tabs button { border-color: #c6dbd1; }
.fare-destination-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid #d4e1dc;
  border-radius: 999px;
  background: #fff;
  color: #31584b;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.fare-destination-tabs button span {
  min-width: 22px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #edf3f0;
  font-size: 11px;
  text-align: center;
}
.fare-destination-tabs button:hover { border-color: #8eb5a5; }
.fare-destination-tabs button.active { border-color: #286f5a; background: #1f614e; color: #fff; }
.fare-destination-tabs button.active span { background: #ffffff2b; color: #fff; }
.fare-manager > .table-wrap { max-height: min(62vh, 720px); overflow: auto; border: 1px solid #e0e9e5; border-radius: 12px; }
.fare-manager > .table-wrap table { margin: 0; }
.fare-manager > .table-wrap thead th { position: sticky; top: 0; z-index: 1; background: #f4f8f6; box-shadow: 0 1px #dce7e2; }
.fare-manager > .table-wrap tbody tr:nth-child(even) { background: #fbfdfc; }
.fare-manager > .table-wrap tbody tr:hover { background: #f0f7f3; }
.fare-source {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #eef3f1;
  color: #62776e;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.fare-source.own { background: #e3f3eb; color: #176748; }
.public-price-sync {
  padding: 82px max(24px, calc((100vw - 1180px) / 2));
  background: linear-gradient(145deg, #eff7f3 0%, #fff 58%, #f8f2e8 100%);
}
.price-sync-demo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) 34px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 34px;
}
.price-sync-demo article {
  position: relative;
  min-height: 190px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 28px;
  border: 1px solid #d6e5de;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(20, 60, 48, .08);
}
.price-sync-demo article > span {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e6f2ec;
  color: #21634f;
  font-weight: 900;
}
.price-sync-demo article > svg { width: 29px; height: 29px; color: #a36d25; }
.price-sync-demo article strong { color: #183d33; font-size: 18px; }
.price-sync-demo article small { color: #60756d; font-size: 14px; line-height: 1.55; }
.price-sync-arrow { color: #7da594; justify-self: center; }
.price-sync-plan {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 24px auto 0;
  color: #183d33;
}
.price-sync-plan svg { color: #1f7358; }
.price-sync-plan a { color: #9a6524; font-weight: 800; }
.fare-import-preview {
  background: #f2f8f5;
  border: 1px solid #c8ded3;
  border-radius: 12px;
  padding: 18px;
  margin: 16px 0;
}
.fare-import-preview h3 {
  margin-top: 0;
}
.fare-import-preview > .row-actions {
  margin-top: 16px;
}
.fare-success {
  color: #176748;
  background: #eaf6ef;
  border-radius: 8px;
  padding: 12px;
}
.fare-dialog {
  width: min(480px, calc(100vw - 24px));
  box-sizing: border-box;
  max-height: calc(100dvh - 32px);
  overflow: auto;
  border: 1px solid #d5e3dc;
  border-radius: 16px;
  padding: 24px;
  color: #203d32;
  box-shadow: 0 24px 80px #0003;
}
.fare-dialog::backdrop {
  background: #102c2599;
}
.fare-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.fare-dialog h2 {
  margin: 0;
}
.fare-dialog input[readonly],
.fare-dialog select:disabled {
  background: #f2f5f3;
  color: #435a50;
}
.fare-manager .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
@media (max-width: 760px) {
  .fare-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fare-tools > .field { min-width: 100%; }
  .fare-downloads .btn { flex: 1 1 auto; }
  .public-price-sync { padding: 58px 20px; }
  .price-sync-demo { grid-template-columns: 1fr; }
  .price-sync-arrow { transform: rotate(90deg); }
  .price-sync-plan { align-items: flex-start; flex-wrap: wrap; justify-content: flex-start; }
}

.report-period-panel { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:18px; background:linear-gradient(135deg,#f2f8f5,#fffaf2); }
.report-period-panel h2 { margin:0 0 7px; }
.report-period-panel p { margin:0; max-width:700px; color:var(--muted); }
.report-reset-controls { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.report-reset-controls .field { min-width:190px; }
.report-scope-tabs { display:flex; gap:8px; margin:0 0 18px; flex-wrap:wrap; }
.report-scope-tabs button { border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:10px 14px; font:inherit; font-weight:700; cursor:pointer; }
.report-scope-tabs button span { margin-left:7px; color:var(--muted); font-weight:600; }
.report-scope-tabs button.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.report-scope-tabs button.active span { color:#d6e5df; }
.report-period-summary { width:100%; display:flex; align-items:center; justify-content:space-between; text-align:left; color:var(--ink); cursor:pointer; margin-bottom:18px; }
.report-period-summary > span { display:flex; align-items:center; gap:13px; }
.report-period-summary strong,.report-period-summary small { display:block; }
.report-period-summary small { color:var(--muted); margin-top:3px; }
.business-insights { margin-bottom:18px; }
.business-insight-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.business-insight-grid article { border:1px solid var(--line); border-radius:14px; padding:16px; background:#fbfdfc; min-width:0; }
.business-insight-grid article > span { display:block; color:var(--muted); font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; margin-bottom:9px; }
.business-insight-grid article > strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.business-insight-grid article small { color:var(--muted); }
.business-insight-grid article p { display:flex; justify-content:space-between; gap:10px; margin:6px 0; }
.insight-customer-actions { display:flex; align-items:center; gap:7px; }
.insight-customer-actions button { border:0; background:transparent; color:var(--accent); padding:0; font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }
.driver-report-filters { margin:20px 0 14px; }
.driver-summary-table { margin-bottom:8px; }
.smart-combination { border-color:#b9cec5; background:#f3f8f5; color:#204b3f; }
.smart-suggestions { margin:16px 0; padding:18px; border:1px solid #cddfd7; border-radius:16px; background:linear-gradient(145deg,#f6faf8,#fff); }
.smart-suggestion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.smart-suggestion-grid article { border:1px solid #d8e4df; border-left:4px solid #789b8d; border-radius:13px; padding:15px; background:#fff; }
.smart-suggestion-grid article.comfortable { border-left-color:#4f7f6b; background:#f5faf7; }
.smart-suggestion-grid article > span { display:block; color:#55756a; font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.smart-suggestion-grid article strong { display:block; margin:6px 0; color:#173f34; }
.smart-suggestion-grid article p { margin:5px 0; color:#49635a; }
.smart-suggestion-grid article small { display:block; margin-bottom:12px; color:#6b7e77; }
@media (max-width:900px){.business-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.report-period-panel{align-items:stretch;flex-direction:column}.report-reset-controls{align-items:stretch}.report-reset-controls .field,.report-reset-controls .btn{width:100%}.business-insight-grid,.smart-suggestion-grid{grid-template-columns:1fr}}

/* src/ride-route.css */
.ordered-route {
  min-width: 0;
  width: 100%;
  color: #244d3e;
}
.ordered-route ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}
.ordered-route ol li {
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.45;
}
.ordered-route ol li > b {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5f0;
  color: var(--green,#197564);
  font-size: 10px;
  font-weight: 650;
}
.ordered-route ol li > span {
  overflow-wrap: anywhere;
}
.ordered-route > small {
  display: block;
  font-size: 10px;
  line-height: 16px;
  margin-top: 7px;
  color: #65796e;
}
.ordered-route .maps-attribution {
  font-size: 10px;
}
.booking-gateway .booking-fare-route.has-stops {
  display: block;
}
.booking-fare-route.has-stops .fare-stop-cities {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 22px;
}
.booking-fare-route.has-stops .fare-stop-cities strong {
  min-width: 0;
  flex: 0 1 auto;
  font-size: 12px;
}
.booking-fare-route.has-stops .fare-stop-cities b {
  font-size: 12px;
  color: #728c7b;
}
.booking-payment-fee {
  font-size: 11px;
  line-height: 1.5;
  color: #536c60;
  margin: 0;
}
@media (max-width:600px) {
  .booking-fare-route.has-stops .fare-stop-cities {
    flex-wrap: wrap;
    gap: 0 5px;
    line-height: 15px;
  }
  .booking-fare-route.has-stops .fare-stop-cities strong {
    line-height: 15px;
    font-size: 10px;
  }
}
@media (min-width:601px) {
  .public-booking.booking-gateway .booking .booking-fields .booking-final-review {
    padding: 8px 12px !important;
    gap: 6px;
  }
  .booking-gateway .booking-final-review .ordered-route ol {
    gap: 3px;
  }
  .booking-gateway .booking-final-review .ordered-route li {
    grid-template-columns: 18px minmax(0, 1fr);
    font-size: 12px;
    line-height: 18px;
  }
  .booking-gateway .booking-final-review .ordered-route li > b {
    width: 18px;
    height: 18px;
    font-size: 9px;
  }
  .booking-gateway .booking-final-review .ordered-route > small {
    margin-top: 4px;
    font-size: 9px;
    line-height: 12px;
  }
  .booking-gateway .booking-final-review .ordered-route .maps-attribution {
    font-size: 9px;
  }
  .booking-gateway .booking-final-review .review-facts {
    padding: 4px 0;
    gap: 4px 12px;
  }
  .booking-gateway .booking-final-review .review-facts span {
    font-size: 10px;
    line-height: 14px;
  }
  .booking-gateway .booking-final-review .review-policies {
    font-size: 9px;
    line-height: 12px;
  }
  .public-booking.booking-gateway .booking-final-review p.booking-payment-fee {
    font-size: 10px;
    line-height: 14px;
    margin: 0;
  }
}

/* src/booking-launcher.css */
.booking-launcher {
  width: min(640px, 100%);
  margin: 0 auto;
  padding: 28px;
  position: relative;
  isolation: isolate;
  overflow: clip;
  container-type: inline-size;
  border: 1px solid #ffffff24;
  border-radius: 18px;
  background: var(--banner-background);
  color: var(--banner-ink);
  box-shadow: 0 14px 30px -20px #143d3355, inset 0 0 0 1px #ffffff08;
}
.booking-launcher-content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  column-gap: 24px;
  row-gap: 26px;
  align-items: center;
}
.booking-launcher .booking-launcher-eyebrow {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--banner-ink);
  font-size: 12px;
  line-height: 18px;
  font-weight: 450;
}
.booking-launcher .booking-launcher-eyebrow > .booking-company-logo {
  width: 32px;
  height: 26px;
  object-fit: contain;
}
.booking-launcher .booking-launcher-title {
  margin: 0;
  min-width: 0;
  color: var(--banner-ink);
  font-size: 30px;
  line-height: 1.12;
  font-weight: 600;
  letter-spacing: -1px;
  overflow-wrap: anywhere;
}
.booking-launcher-title > span {
  display: block;
  margin-top: 4px;
  color: var(--banner-highlight);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 43px;
  line-height: 1.02;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -1.4px;
}
.booking-launcher .booking-launcher-action {
  min-width: 0;
  align-self: center;
}
.booking-launcher .booking-launcher-action > p {
  font-size: 12px;
  line-height: 1.55;
  font-weight: 400;
  margin: 0;
  color: var(--banner-ink);
}
.booking-launcher .booking-launcher-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 42px;
  margin-top: 16px;
  padding: 10px 16px;
  border: 1px solid #ffffff30;
  border-radius: 999px;
  background: var(--banner-button);
  color: var(--banner-button-ink);
  font-size: 13px;
  font-weight: 650;
  line-height: 20px;
  text-align: center;
  transition: box-shadow .18s ease;
}
.booking-launcher-button svg {
  flex: 0 0 18px;
}
.booking-launcher .booking-launcher-button:hover {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--banner-button) 20%, transparent);
}
.booking-launcher .booking-launcher-button:focus-visible {
  outline: 2px solid var(--banner-ink);
  outline-offset: 4px;
}
.booking-launcher .booking-launcher-benefits {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 0;
}
.booking-launcher-benefits > span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--banner-soft-ink);
  font-size: 11px;
  line-height: 18px;
  font-weight: 400;
}
.booking-launcher-benefits svg {
  color: var(--banner-highlight);
  stroke-width: 2.3;
  flex-shrink: 0;
}
.booking-launcher-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: clip;
  border-radius: inherit;
  pointer-events: none;
}
.booking-launcher-art .booking-brand-shape {
  position: absolute;
  right: -95px;
  top: 12px;
  width: 220px;
  height: 243px;
  opacity: .09;
  pointer-events: none;
}
@container (max-width:520px) {
  .booking-launcher-content {
    column-gap: 18px;
    row-gap: 22px;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  }
  .booking-launcher .booking-launcher-title {
    font-size: 26px;
    letter-spacing: -.7px;
  }
  .booking-launcher-title > span {
    font-size: 35px;
    letter-spacing: -1px;
  }
  .booking-launcher .booking-launcher-action > p {
    font-size: 11px;
  }
  .booking-launcher .booking-launcher-button {
    padding-inline: 10px;
    font-size: 12px;
    gap: 8px;
  }
}
@container (max-width:400px) {
  .booking-launcher-content {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }
  .booking-launcher .booking-launcher-action {
    max-width: 280px;
  }
  .booking-launcher .booking-launcher-button {
    width: auto;
    min-width: 180px;
  }
  .booking-launcher .booking-launcher-title {
    font-size: 28px;
  }
  .booking-launcher-title > span {
    font-size: 38px;
  }
  .booking-launcher-art .booking-brand-shape {
    right: -125px;
    top: 30px;
    width: 250px;
    height: 276px;
  }
}
.booking-banner-editor {
  margin: 24px 0;
}
.booking-banner-editor > h4 {
  margin: 0 0 12px;
}
.booking-banner-preview {
  margin: 0 0 18px;
}
.booking-banner-editor .banner-color-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.booking-banner-editor .banner-color-control {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid #d5e2db;
  border-radius: 9px;
  background: #fff;
}
.studio-editor .banner-color-control input[type=color] {
  width: 44px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: none;
  cursor: pointer;
}
.banner-color-control output {
  font: 12px ui-monospace, monospace;
  color: #415b4d;
}
.studio-editor .booking-banner-editor input[type=range] {
  width: 100%;
  height: 26px;
  min-height: 26px;
  padding: 0;
  accent-color: #197564;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.banner-softness-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.banner-softness-heading output {
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.booking-banner-editor .banner-softness-hint {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.5;
}
@media (prefers-reduced-motion:reduce) {
  .booking-launcher .booking-launcher-button {
    transition: none;
  }
}

/* src/portal.css */
.portal-login {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(
      ellipse at top left,
      #c9e1d8,
      transparent 65%),
    #f1f6f3;
}
.portal-login > section {
  width: 440px;
  max-width: 100%;
  padding: 36px;
  background: #fff;
  border: 1px solid #dbe6e0;
  border-radius: 20px;
  box-shadow: 0 24px 70px #15392d10;
}
.portal-brand {
  display: block;
  font-size: 30px;
  font-weight: 750;
  letter-spacing: -1px;
  color: #173e32;
}
.portal-brand > span {
  color: #40b58c;
}
.portal-brand small {
  display: block;
  font-size: 9px;
  letter-spacing: 2px;
  margin-top: 6px;
  color: #709286;
}
.portal-login-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #eaf4ee;
  color: #22785b;
  margin: 28px 0 20px;
}
.portal-login h1 {
  font-size: 28px;
}
.portal-login p {
  font-size: 13px;
  line-height: 1.7;
}
.portal-login form {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}
.portal-login .field input {
  font-size: 16px;
  min-height: 46px;
}
.portal-login > section > a {
  display: block;
  font-size: 12px;
  margin-top: 22px;
  color: #537365;
}
.portal-login .btn {
  white-space: normal;
}
.platform-shell {
  min-height: 100dvh;
  display: flex;
  background: #f4f7f5;
}
.platform-sidebar {
  width: 238px;
  flex-shrink: 0;
  background: #153c32;
  color: #d9ebe2;
  padding: 32px 22px;
  display: flex;
  flex-direction: column;
  position: fixed;
  inset: 0 auto 0 0;
}
.platform-sidebar .portal-brand {
  color: #fff;
  font-size: 29px;
}
.platform-sidebar .portal-brand small {
  color: #9cbbad;
}
.platform-sidebar nav {
  display: grid;
  gap: 7px;
  margin-top: 42px;
}
.platform-sidebar nav button {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: none;
  color: #b4cebf;
  padding: 13px 12px;
  border-radius: 9px;
  text-align: left;
  font-size: 13px;
}
.platform-sidebar nav button[aria-current=page] {
  background: #ffffff16;
  color: white;
  font-weight: 650;
}
.platform-sidebar nav b {
  margin-left: auto;
  font-size: 10px;
  padding: 3px 6px;
  border-radius: 5px;
  background: #2d8065;
  color: white;
}
.platform-user {
  margin-top: auto;
  border-top: 1px solid #ffffff1c;
  padding-top: 20px;
  overflow-wrap: anywhere;
}
.platform-user strong,
.platform-user small {
  display: block;
  font-size: 12px;
}
.platform-user small {
  font-size: 10px;
  color: #a9c3b7;
  margin-top: 6px;
}
.platform-user button {
  display: flex;
  align-items: center;
  gap: 9px;
  background: none;
  border: 0;
  padding: 18px 0 0;
  color: #c4d9ce;
  font-size: 12px;
}
.platform-main {
  width: calc(100% - 238px);
  margin-left: 238px;
  padding: 36px;
  min-width: 0;
  max-width: 1600px;
}
.platform-heading,
.portal-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.platform-heading h1 {
  font-size: 30px;
  margin-bottom: 8px;
}
.platform-heading p:last-child {
  font-size: 13px;
  margin-bottom: 0;
}
.portal-section-heading h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 20px;
}
.portal-section-heading p {
  font-size: 12px;
  margin: 0;
}
.portal-card {
  padding: 24px;
  border: 1px solid #e0e8e2;
  border-radius: 15px;
  background: #fff;
  min-width: 0;
}
.portal-card h2 {
  font-size: 18px;
  margin-bottom: 20px;
}
.platform-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 26px;
}
.platform-stats > button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  text-align: left;
  background: #fff;
  border: 1px solid #dde7e0;
  border-radius: 14px;
}
.platform-stats svg {
  position: absolute;
  right: 20px;
  top: 22px;
  color: #3f8b6c;
  width: 21px;
}
.platform-stats span {
  font-size: 12px;
  color: #687e72;
  padding-right: 24px;
}
.platform-stats strong {
  font-size: 40px;
  line-height: 1.2;
  margin: 18px 0 8px;
  color: #1b4938;
  letter-spacing: -1px;
}
.platform-stats small {
  font-size: 11px;
}
.platform-dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.platform-shortcut {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  border: 0;
  border-top: 1px solid #eaf0eb;
  background: #fff;
  padding: 21px 0;
  text-align: left;
  color: #2c5f49;
}
.platform-shortcut > svg:last-child {
  margin-left: auto;
  width: 17px;
}
.platform-shortcut div {
  min-width: 0;
}
.platform-shortcut strong,
.platform-shortcut small {
  display: block;
  font-size: 13px;
}
.platform-shortcut small {
  font-size: 11px;
  line-height: 1.5;
  margin-top: 5px;
}
.platform-activity article {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid #edf1ee;
}
.platform-activity article > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #55a683;
  margin-top: 5px;
  flex-shrink: 0;
}
.platform-activity strong,
.platform-activity small {
  display: block;
  font-size: 12px;
}
.platform-activity small {
  font-size: 10px;
  margin-top: 5px;
  line-height: 1.5;
}
.workspace-search {
  max-width: 470px;
  margin: 22px 0 8px;
}
.workspace-confirm {
  border: 1px solid #e6c9a3;
  background: #fff9ed;
  padding: 20px;
  border-radius: 10px;
  margin: 18px 0;
}
.workspace-confirm p {
  font-size: 13px;
  line-height: 1.7;
}
.workspace-confirm > div {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.platform-main .workspace-create {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.platform-main .workspace-demo-choice {
  grid-column: 1/-1;
}
.platform-main .workspace-create > .btn {
  grid-column: 1/-1;
  justify-self: start;
}
.platform-main .workspace-list article {
  flex-wrap: wrap;
}
.platform-main .workspace-list article > div {
  min-width: 180px;
  flex: 1;
}
.workspace-list .badge {
  white-space: nowrap;
}
.settings-main > .support-panel {
  padding: 24px;
}
.support-compose {
  display: grid;
  gap: 16px;
  max-width: 760px;
}
.support-compose textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.6;
}
.support-compose > .btn {
  justify-self: start;
}
.support-compose > small {
  font-size: 11px;
}
.support-toolbar {
  display: flex;
  gap: 14px;
  align-items: end;
  justify-content: space-between;
  margin: 20px 0;
}
.support-toolbar .field {
  width: 240px;
  max-width: 65%;
}
.support-list > button {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: white;
  border: 0;
  border-top: 1px solid #e2eae5;
  padding: 20px 0;
  text-align: left;
}
.support-list > button:hover {
  background: #f8fbf9;
}
.support-list strong,
.support-list small {
  display: block;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.support-list small {
  font-size: 11px;
  margin-top: 7px;
  color: #788d80;
}
.support-status {
  display: inline-block;
  flex-shrink: 0;
  padding: 6px 9px;
  border-radius: 6px;
  font-size: 10px;
  white-space: nowrap;
  color: #456c5a;
  background: #edf4ef;
}
.support-status.open {
  color: #946b2a;
  background: #fff5df;
}
.support-status.in_progress {
  color: #386b92;
  background: #eaf4fb;
}
.support-status.waiting_customer {
  color: #845b99;
  background: #f6eef9;
}
.support-status.resolved {
  color: #36735a;
  background: #e7f5ed;
}
.support-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  font-size: 11px;
  color: #758779;
}
.support-ticket-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}
.support-ticket-heading h3 {
  font-size: 21px;
  line-height: 1.3;
  margin: 7px 0;
  overflow-wrap: anywhere;
}
.support-messages {
  display: grid;
  gap: 16px;
  margin: 24px 0;
}
.support-messages article {
  border: 1px solid #e3eae6;
  border-radius: 10px;
  padding: 18px;
  background: #fafcfb;
}
.support-messages article.from-platform {
  background: #eff7f2;
  border-color: #d5e8dc;
}
.support-messages header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}
.support-messages time {
  font-size: 10px;
  color: #75877b;
}
.support-messages p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 13px;
  color: #3d5548;
  line-height: 1.7;
  margin: 13px 0 0;
}
.portal-empty {
  padding: 36px;
  text-align: center;
  color: #597b68;
}
.portal-empty h3 {
  margin: 15px 0 8px;
}
.portal-empty p {
  font-size: 12px;
}
@media (max-width:1000px) {
  .platform-sidebar {
    width: 200px;
    padding: 24px 16px;
  }
  .platform-main {
    margin-left: 200px;
    width: calc(100% - 200px);
    padding: 24px;
  }
  .platform-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .platform-main .workspace-create {
    grid-template-columns: 1fr;
  }
  .platform-stats {
    gap: 12px;
  }
  .platform-stats > button {
    padding: 18px;
  }
  .platform-stats span {
    padding: 0;
  }
  .platform-stats svg {
    display: none;
  }
}
@media (max-width:700px) {
  .platform-shell {
    display: block;
  }
  .platform-sidebar {
    position: static;
    width: 100%;
    padding: 18px;
  }
  .platform-sidebar .portal-brand {
    font-size: 24px;
  }
  .platform-sidebar nav {
    display: flex;
    gap: 5px;
    margin-top: 20px;
    flex-wrap: wrap;
  }
  .platform-sidebar nav button {
    font-size: 11px;
    padding: 10px;
    gap: 6px;
  }
  .platform-sidebar nav button svg {
    width: 16px;
  }
  .platform-user {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding-top: 14px;
  }
  .platform-user small {
    display: none;
  }
  .platform-user button {
    margin-left: auto;
    padding: 0;
  }
  .platform-main {
    width: 100%;
    margin: 0;
    padding: 20px 14px;
  }
  .platform-heading {
    align-items: flex-start;
  }
  .platform-heading h1 {
    font-size: 26px;
  }
  .platform-heading .btn {
    font-size: 11px;
    padding: 9px;
  }
  .platform-stats {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .platform-stats > button {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px;
    padding: 16px;
  }
  .platform-stats strong {
    grid-column: 2;
    grid-row: 1/3;
    font-size: 28px;
    margin: 0;
  }
  .platform-stats small {
    grid-column: 1;
  }
  .portal-card {
    padding: 18px;
  }
  .portal-section-heading {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .portal-section-heading h2 {
    font-size: 18px;
  }
  .support-list > button {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .support-messages header {
    flex-wrap: wrap;
  }
  .support-ticket-heading {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .support-compose .two-col {
    grid-template-columns: 1fr;
  }
  .support-compose input,
  .support-compose select,
  .support-compose textarea {
    font-size: 16px;
  }
  .portal-login {
    padding: 16px;
  }
  .portal-login > section {
    padding: 26px;
  }
  .platform-main .workspace-management {
    padding: 18px;
  }
  .workspace-list article > div {
    flex-basis: 100%;
  }
  .settings-main > .support-panel {
    padding: 18px;
  }
}
.platform-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.platform-rides-chart,
.platform-sites {
  margin-bottom: 22px;
}
.ride-volume-chart {
  display: grid;
  grid-template-columns: repeat(14, minmax(0, 1fr));
  gap: 8px;
  align-items: end;
  height: 160px;
}
.ride-volume-chart > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  height: 100%;
}
.ride-volume-chart strong {
  font-size: 10px;
  color: #54705f;
}
.ride-volume-chart span {
  display: block;
  background: #348869;
  border-radius: 4px 4px 0 0;
  width: 70%;
  max-width: 40px;
}
.ride-volume-chart small {
  font-size: 10px;
}
.site-warning {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px;
  background: #fff7e8;
  color: #8b602b;
  border: 1px solid #ecdcbe;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.6;
}
.site-warning svg {
  flex-shrink: 0;
}
.site-status-list article {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 16px 0;
  border-top: 1px solid #e7ede8;
}
.site-status-list article > div {
  min-width: 0;
  flex: 1;
}
.site-status-list strong,
.site-status-list small,
.site-status-list a {
  display: block;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.site-status-list a {
  margin-top: 6px;
  color: #438566;
}
.site-status-list a svg {
  margin-left: 6px;
}
.site-status-list small {
  font-size: 10px;
  margin-top: 6px;
  line-height: 1.6;
}
.site-state {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  font-size: 11px;
  padding: 6px 9px;
  border-radius: 6px;
  background: #eff3f1;
  color: #60776a;
}
.site-state.up {
  background: #e5f4ec;
  color: #347450;
}
.site-state.down {
  background: #fff0ec;
  color: #a04d38;
}
.site-state.checking,
.site-state.blocked {
  background: #fff6e3;
  color: #926d28;
}
.workspace-details > .portal-section-heading {
  margin-top: 24px;
}
.workspace-details > .portal-card {
  margin-top: 22px;
}
.workspace-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.workspace-metrics > span {
  padding: 18px;
  border: 1px solid #e0e8e2;
  border-radius: 10px;
  background: #fff;
  font-size: 11px;
  color: #6c8274;
}
.workspace-metrics strong {
  display: block;
  font-size: 27px;
  color: #24533f;
  margin-bottom: 8px;
}
.platform-form-install {
  padding: 18px 0;
  border-top: 1px solid #e5ece7;
}
.platform-form-install h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
}
.platform-form-install p {
  font-size: 12px;
  line-height: 1.6;
}
.platform-form-install details {
  padding: 15px 0;
}
.platform-form-install summary {
  font-size: 12px;
  cursor: pointer;
  color: #347057;
}
.platform-form-install textarea {
  font-family: monospace;
  font-size: 11px;
  line-height: 1.6;
}
.platform-form-install details .field {
  margin: 14px 0;
}
.platform-form-install .btn {
  margin-top: 10px;
}
@media (max-width:1100px) {
  .platform-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:700px) {
  .platform-stats {
    grid-template-columns: 1fr;
  }
  .workspace-metrics {
    grid-template-columns: 1fr 1fr;
  }
  .site-status-list article {
    flex-direction: column;
    gap: 10px;
  }
  .ride-volume-chart {
    gap: 3px;
  }
  .platform-rides-chart > .portal-section-heading > strong {
    font-size: 12px;
  }
  .platform-form-install h3 {
    flex-wrap: wrap;
  }
}
.customer-account-bar {
  max-width: 1080px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.customer-account-bar small {
  display: block;
  color: var(--muted);
}
.customer-account-bar > div {
  display: flex;
  gap: 8px;
}
.customer-account-notice {
  max-width: 1000px;
  margin: 0 auto;
  padding: 16px;
  background: #fff;
}
.customer-costs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 18px 0;
}
.customer-costs > div {
  padding: 20px;
  background: #fff;
  border: 1px solid #dce7e1;
  border-radius: 14px;
}
.customer-costs small {
  display: block;
  color: #60796e;
}
.customer-costs strong {
  display: block;
  font-size: 24px;
  margin-top: 8px;
}
@media (max-width:600px) {
  .customer-account-bar {
    padding: 12px;
    align-items: flex-start;
    flex-direction: column;
  }
  .customer-costs {
    grid-template-columns: 1fr;
  }
  .customer-costs > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px;
  }
  .customer-costs strong {
    margin: 0;
    font-size: 20px;
  }
}
.holiday-dashboard {
  padding: 22px;
  margin-bottom: 22px;
}
.holiday-dashboard h2 {
  display: flex;
  align-items: center;
  gap: 9px;
}
.holiday-dashboard .panel-heading p {
  margin-bottom: 0;
}
.holiday-delivery-state {
  padding: 12px 16px;
  background: #fff5df;
  border: 1px solid #e7d4a5;
  border-radius: 10px;
  font-size: 13px;
  color: #705223;
}
.holiday-countdowns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 16px 0;
}
.holiday-countdowns article {
  padding: 18px;
  border: 1px solid #d6e6dc;
  border-radius: 14px;
  background:
    linear-gradient(
      145deg,
      #f2f8f4,
      #fff);
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.holiday-countdowns article > div {
  display: flex;
  gap: 8px;
  align-items: center;
}
.holiday-countdowns b {
  font-size: 25px;
  line-height: 1.25;
  color: #174e3f;
}
.holiday-countdowns span {
  font-size: 13px;
}
.holiday-countdowns small,
.holiday-plan-list small {
  display: block;
  color: #687d72;
  font-size: 12px;
  line-height: 1.6;
}
.holiday-plan-list article {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-top: 1px solid #e3eae6;
}
.holiday-optin {
  grid-column: 1/-1;
  font-size: 12px;
  line-height: 1.5;
}
.holiday-optin .field {
  margin-top: 10px;
}
.holiday-optin .check-line {
  align-items: flex-start;
}
.holiday-preferences {
  margin: 20px 0;
  padding: 18px;
  border: 1px solid #dce7e1;
  border-radius: 12px;
}
.holiday-preferences summary {
  cursor: pointer;
  font-weight: 600;
}
@media (max-width:680px) {
  .holiday-countdowns {
    grid-template-columns: 1fr;
  }
  .holiday-countdowns article {
    padding: 15px;
  }
  .holiday-dashboard {
    padding: 16px;
  }
  .holiday-plan-list article {
    align-items: flex-start;
    flex-direction: column;
  }
  .holiday-dashboard .panel-heading {
    flex-wrap: wrap;
    gap: 10px;
  }
}
.platform-operations,
.platform-billing {
  display: grid;
  gap: 20px;
}
.platform-operations h2,
.platform-billing h2 {
  display: flex;
  gap: 10px;
  align-items: center;
}
.platform-plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.platform-plans article {
  padding: 22px;
  border: 1px solid #d5e4dc;
  border-radius: 16px;
  background: white;
}
.platform-plans strong {
  font-size: 28px;
}
.platform-plans strong small {
  font-size: 13px;
  margin-left: 7px;
}
.platform-billing-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 18px;
}
.platform-billing .platform-stats > div {
  display: grid;
  gap: 8px;
  padding: 22px;
  background: white;
  border: 1px solid #dce6e0;
  border-radius: 16px;
}
.platform-billing .platform-stats > div strong {
  font-size: 28px;
}
.platform-invoice-list article {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 1px solid #e1e9e4;
  padding: 16px 0;
}
.platform-invoice-list article > div {
  flex: 1;
  min-width: 230px;
}
.platform-invoice-list small {
  display: block;
  font-size: 12px;
  color: #688176;
  margin-top: 4px;
}
.platform-payment-form {
  padding: 18px;
  background: #f3f8f5;
  border: 1px solid #bbd4c7;
  border-radius: 12px;
  margin: 18px 0;
  display: grid;
  gap: 12px;
}
.platform-company-overview article {
  padding: 18px 0;
  border-bottom: 1px solid #e4ebe6;
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
}
.platform-company-overview h3 {
  margin: 0;
}
.platform-company-overview p,
.platform-company-overview span {
  font-size: 13px;
}
.platform-company-overview ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.platform-company-overview li {
  display: flex;
  align-items: center;
  gap: 5px;
  background: #fff5e7;
  color: #875b2f;
  padding: 6px 9px;
  border-radius: 6px;
  font-size: 12px;
}
.operations-ok {
  display: flex;
  gap: 6px;
  align-items: center;
  color: #267b60;
}
.installation-notes {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.workspace-details {
  display: grid;
  gap: 20px;
}
@media (max-width:700px) {
  .platform-billing-form,
  .platform-plans {
    grid-template-columns: 1fr;
  }
  .platform-company-overview article {
    flex-direction: column;
    align-items: stretch;
  }
  .platform-invoice-list article > div {
    flex-basis: 100%;
    min-width: 0;
  }
  .platform-billing .workspace-metrics strong {
    font-size: 22px;
  }
}
.portal-brand img {
  display: block;
  width: 188px;
  height: 67px;
  object-fit: cover;
  object-position: center;
  background: #fff;
  border-radius: 10px;
}
.platform-sidebar .portal-brand img {
  width: 180px;
  height: 64px;
}
.portal-brand small {
  margin-top: 3px;
}
.taxidoc-powered {
  font-size: 11px;
  color: #176F5C;
  margin: 8px 0 0;
}
.platform-sidebar .taxidoc-lockup {
  display: flex;
  align-items: center;
  gap: 8px;
}
.platform-sidebar .taxidoc-wordmark {
  font-size: 24px;
  color: #fff;
}
.platform-sidebar .taxidoc-mark img {
  width: 260px;
  height: auto;
  max-width: none;
  object-fit: unset;
  object-position: initial;
  background: none;
  border-radius: 0;
}

/* src/mail-delivery.css */
.mail-delivery {
  display: grid;
  gap: 20px;
  min-width: 0;
}
.mail-delivery h2 {
  display: flex;
  gap: 9px;
  align-items: center;
}
.mail-delivery p {
  line-height: 1.6;
}
.mail-connection {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px;
  border-radius: 12px;
  background: #fff7e5;
  border: 1px solid #eadab2;
}
.mail-connection.connected {
  background: #eef7f2;
  border-color: #b9d5c8;
}
.mail-connection p {
  margin: 4px 0 0;
}
.mail-setup,
.mail-config {
  border: 1px solid var(--line,#dce6e0);
  border-radius: 14px;
  padding: 20px;
  min-width: 0;
}
.mail-setup li {
  margin-bottom: 8px;
}
.mail-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.mail-options {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}
.mail-limit {
  display: flex;
  align-items: end;
  gap: 12px;
  margin-top: 20px;
}
.mail-limit input {
  max-width: 170px;
}
.mail-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.mail-summary > div {
  display: grid;
  gap: 6px;
  background: #f3f7f5;
  border-radius: 12px;
  padding: 16px;
}
.mail-summary strong {
  font-size: 24px;
}
.mail-summary span {
  font-size: 12px;
}
.mail-log article {
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e3eae6;
  padding: 15px 0;
}
.mail-log article > div {
  min-width: 0;
  flex: 1;
}
.mail-log strong {
  overflow-wrap: anywhere;
}
.mail-log small {
  display: block;
  color: #658075;
  font-size: 12px;
  margin-top: 4px;
}
.mail-log p {
  font-size: 13px;
  margin: 5px 0;
}
.mail-status {
  font-size: 12px;
  border-radius: 6px;
  background: #edf2f5;
  color: #486175;
  padding: 6px 9px;
  white-space: nowrap;
}
.mail-status.failed,
.mail-status.unknown {
  background: #fff0e6;
  color: #9b5424;
}
.mail-status.delivered {
  background: #e7f4ed;
  color: #237252;
}
@media (max-width:650px) {
  .mail-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mail-fields {
    grid-template-columns: 1fr;
  }
  .mail-log article {
    flex-wrap: wrap;
  }
  .mail-log article > div {
    flex-basis: 100%;
  }
  .mail-limit {
    align-items: stretch;
    flex-direction: column;
  }
  .mail-setup,
  .mail-config {
    padding: 14px;
  }
  .mail-delivery .panel-heading {
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
  }
}
.mail-holiday-plan {
  padding: 18px;
  border: 1px solid #cbded4;
  background: #f3f8f5;
  border-radius: 12px;
}
.mail-holiday-plan h3 {
  display: flex;
  gap: 8px;
  align-items: center;
}
.mail-holiday-plan small {
  display: block;
  margin-top: 10px;
  color: #60766b;
  line-height: 1.6;
}

/* src/styles.css */
:root {
  font-family:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: #213731;
  background: #f5f7f6;
  font-synthesis: none;
  --green:#176f5c;
  --dark:#132f29;
  --muted:#798881;
  --border:#e5eae7;
  --radius:16px;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
  opacity: .55;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  color: inherit;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid #55bfa5;
  outline-offset: 3px;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1 {
  font-size: 32px;
  font-weight: 650;
  letter-spacing: -1.2px;
  line-height: 1.15;
}
h2 {
  font-size: 17px;
  letter-spacing: -.3px;
  font-weight: 650;
}
h3 {
  font-size: 15px;
}
p {
  line-height: 1.6;
  color: #73837c;
}
small {
  color: #83918b;
  font-size: 11px;
  line-height: 1.5;
}
button svg,
a svg {
  flex-shrink: 0;
}
strong {
  font-weight: 600;
}
.eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #799188;
  margin-bottom: 12px;
}
.muted {
  color: #98a29d;
  font-size: 12px;
}
.align-right {
  text-align: right !important;
}
.small-text {
  font-size: 12px;
  color: #7a8c83;
  line-height: 1.65;
}
.subtle {
  font-size: 12px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.spin {
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #dfe7e2;
  border-radius: 9px;
  background: white;
  color: #395348;
  padding: 11px 15px;
  line-height: 1.2;
  font-size: 12px;
  font-weight: 600;
  transition: background .15s, box-shadow .15s;
  min-height: 40px;
  white-space: nowrap;
}
.btn:hover {
  background: #f1f7f4;
}
.btn.primary {
  background: var(--green);
  color: white;
  border-color: var(--green);
  box-shadow: 0 3px 7px #153a2010;
}
.btn.primary:hover {
  background: #115947;
}
.btn.danger {
  color: #b25242;
  border-color: #f0d4cf;
}
.btn.full,
.full {
  width: 100%;
}
.btn.small {
  padding: 7px 10px;
  min-height: 32px;
}
.icon-btn {
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  min-width: 34px;
  color: #7a8b82;
}
.icon-btn:hover {
  background: #eaf0ed;
  color: #234b3c;
}
.text-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--green);
  border: 0;
  background: transparent;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 0;
}
.text-btn:hover {
  text-decoration: underline;
}
.pill,
.pill-light {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 1px;
  border-radius: 20px;
  padding: 8px 11px;
}
.pill {
  color: #a8ddca;
  background: #ffffff0c;
  border: 1px solid #ffffff16;
}
.pill > span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #86cdb3;
}
.pill-light {
  background: #ffffff72;
  font-size: 9px;
  color: #42725b;
}
.brand-symbol {
  height: 36px;
  width: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #b7e2ce;
  color: #173f32;
  border-radius: 10px;
  flex-shrink: 0;
}
.logo {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -1px;
  color: #eef7f1;
}
.logo-dot {
  color: #a4d1b9;
}
.logo > b {
  font-size: 9px;
  border: 1px solid #536b5b;
  color: #a8c6b0;
  border-radius: 5px;
  padding: 2px 4px;
  margin-top: -11px;
  letter-spacing: 0;
}
.workspace {
  display: flex;
  min-height: 100dvh;
}
.sidebar {
  background: var(--dark);
  width: 231px;
  flex: 0 0 231px;
  position: fixed;
  inset: 0 auto 0 0;
  padding: 28px 17px 15px;
  color: #9eafa4;
  display: flex;
  flex-direction: column;
  z-index: 30;
}
.sidebar > .logo {
  padding: 0 10px 28px;
}
.workspace-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 7px 19px;
  margin-bottom: 4px;
  border-top: 1px solid #ffffff0c;
  border-bottom: 1px solid #ffffff0c;
}
.company-avatar {
  width: 30px;
  height: 32px;
  border-radius: 7px;
  background: #395747;
  color: #cfdfd1;
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 600;
  flex-shrink: 0;
}
.workspace-switch > div:last-child {
  min-width: 0;
}
.workspace-switch strong {
  display: block;
  color: #e8efe9;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.workspace-switch small {
  font-size: 9px;
  color: #829e8f;
  display: block;
  margin-top: 3px;
}
.sidebar nav {
  overflow: auto;
  scrollbar-width: thin;
  flex: 1;
  padding-top: 10px;
}
.sidebar nav > button {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  border: 0;
  background: transparent;
  color: #a6b9ad;
  padding: 11px 12px;
  border-radius: 8px;
  text-align: left;
  font-size: 12px;
  margin: 2px 0;
}
.sidebar nav > button.active {
  background: #b7ddc8;
  color: #123c2c;
  font-weight: 650;
}
.sidebar nav > button:not(.active):hover {
  background: #ffffff0a;
  color: white;
}
.sidebar nav > button > b {
  margin-left: auto;
  background: #2a5d43;
  color: #d7efe0;
  min-width: 19px;
  text-align: center;
  padding: 2px 5px;
  border-radius: 4px;
  font-size: 10px;
}
.nav-label {
  font-size: 8px;
  color: #739582;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 22px 12px 5px;
  margin: 0;
}
.sidebar-bottom {
  padding: 16px 9px 0;
  border-top: 1px solid #ffffff0b;
}
.sidebar-bottom > button {
  border: 0;
  background: transparent;
  color: #a6b9ad;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  padding: 13px 0 4px;
}
.build-label {
  font-size: 8px;
  letter-spacing: 1px;
  color: #789887;
  display: flex;
  gap: 6px;
  align-items: center;
}
.build-label i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #99c59f;
}
.main-shell {
  margin-left: 231px;
  width: calc(100% - 231px);
}
.topbar {
  height: 75px;
  background: #ffffffd9;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 35px;
}
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #9aa69f;
  font-size: 11px;
  white-space: nowrap;
}
.breadcrumb strong {
  color: #60766a;
  font-size: 11px;
}
.topbar-actions {
  display: flex;
  gap: 19px;
  align-items: center;
}
.global-search {
  display: flex;
  gap: 9px;
  align-items: center;
  color: #92a197;
  background: #f5f7f5;
  padding: 9px 10px;
  border: 1px solid #ebefeb;
  border-radius: 8px;
}
.global-search input {
  width: 170px;
  background: none;
  border: 0;
  outline: none;
  font-size: 11px;
  color: #334c3e;
}
.global-search input::placeholder {
  color: #93a199;
}
.global-search kbd {
  font-family: inherit;
  font-size: 8px;
  color: #b0bcb3;
  border: 1px solid #dfe7df;
  border-radius: 3px;
  padding: 2px 4px;
}
.notification-btn {
  position: relative;
}
.notification-btn i {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cd9355;
  border: 2px solid white;
  right: 10px;
  top: 6px;
  box-sizing: content-box;
}
.top-avatar {
  height: 31px;
  width: 31px;
  border-radius: 50%;
  background: #ebeee4;
  color: #4c6250;
  border: 3px solid white;
  box-shadow: 0 0 0 1px #e2e7dd;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 600;
}
.main-content {
  padding: 31px 35px 20px;
  max-width: 1700px;
  margin: 0 auto;
}
.page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 27px;
}
.page-heading h1 {
  margin-bottom: 9px;
}
.page-heading p:last-child {
  margin-bottom: 0;
  font-size: 12px;
}
.page-heading .eyebrow {
  font-size: 8px;
  margin-bottom: 10px;
}
.greeting-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #bbd4a8;
  margin: 0 0 4px 9px;
}
.heading-actions {
  display: flex;
  gap: 9px;
  align-items: center;
}
.mobile-menu {
  display: none;
}
.demo-banner {
  padding: 9px 35px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  background: #e8eee2;
  border-bottom: 1px solid #dce6d5;
  font-size: 10px;
  color: #5b7553;
}
.demo-banner > span {
  display: flex;
  gap: 8px;
  align-items: center;
}
.demo-banner a {
  display: flex;
  gap: 5px;
  align-items: center;
  font-size: 10px;
  font-weight: 600;
}
.demo-banner a:hover {
  text-decoration: underline;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 26px;
}
.stat {
  background: white;
  border: 1px solid var(--border);
  border-radius: 13px;
  padding: 19px 20px;
}
.stat > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
  color: #75877a;
}
.stat > strong {
  font-size: 30px;
  letter-spacing: -1px;
  font-weight: 600;
  display: block;
  margin: 15px 0 8px;
  line-height: 1.1;
}
.stat > small {
  font-size: 9px;
  display: block;
}
.stat-icon {
  height: 34px;
  width: 34px;
  border-radius: 9px;
  display: grid;
  place-items: center;
}
.stat-icon.mint {
  background: #e7f3eb;
  color: #4d9573;
}
.stat-icon.amber {
  background: #fbf0de;
  color: #b9945c;
}
.stat-icon.blue {
  background: #e9f0f8;
  color: #7195b1;
}
.stat-icon.lavender {
  background: #eeedf8;
  color: #8b83ae;
}
.panel {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 22px;
  overflow: hidden;
  min-width: 0;
}
.panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 22px 24px;
}
.panel-heading h2 {
  margin: 0;
}
.panel-heading p {
  font-size: 11px;
  margin: 5px 0 0;
}
.panel-heading > span {
  color: #8c9a90;
  font-size: 11px;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 282px;
  gap: 22px;
}
.dashboard-side {
  min-width: 0;
}
.attention-card {
  border: 1px solid #d8e4c9;
  background:
    linear-gradient(
      120deg,
      #edf4e6,
      #e5eedb);
  border-radius: 16px;
  padding: 21px;
  margin-bottom: 20px;
}
.attention-card .panel-heading {
  padding: 0 0 21px;
}
.square-icon {
  display: grid;
  place-items: center;
  background: #f7fbef;
  width: 33px;
  height: 33px;
  border-radius: 9px;
  color: #4c7a48;
}
.attention-card h2 {
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -.7px;
  margin-bottom: 10px;
  color: #344f31;
}
.attention-card > p {
  font-size: 11px;
  line-height: 1.7;
  color: #74876a;
}
.attention-ride {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: #ffffff82;
  border: 1px solid #dae5cc;
  border-radius: 9px;
  padding: 12px;
  margin: 10px 0;
  text-align: left;
}
.attention-ride strong {
  font-size: 10px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.attention-ride span {
  display: block;
  font-size: 9px;
  color: #789172;
  margin-top: 6px;
}
.attention-ride > svg {
  color: #93a889;
}
.attention-card > .btn {
  width: 100%;
  margin-top: 12px;
  font-size: 10px;
  background: #395e3c;
  border-color: #395e3c;
  color: #f4faef;
}
.quick-actions {
  padding: 22px;
}
.quick-actions h2 {
  margin-bottom: 15px;
  font-size: 14px;
}
.quick-actions > button {
  width: 100%;
  border: 0;
  background: none;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid #f0f3ee;
  font-size: 10px;
  color: #6b7d6d;
  text-align: left;
}
.quick-actions > button svg:first-child {
  width: 16px;
  color: #79937e;
}
.quick-actions > button svg:last-child {
  margin-left: auto;
  width: 14px;
  color: #aab7aa;
}
.quick-actions > button:hover {
  color: #1c623f;
}
.daily-footer {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font-size: 9px;
  color: #8ea08f;
  padding-top: 3px;
}
.daily-footer > span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.table-wrap {
  width: 100%;
  overflow: auto;
}
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  white-space: nowrap;
}
th {
  text-align: left;
  padding: 12px 20px;
  background: #f8faf8;
  border-top: 1px solid #edf1eb;
  border-bottom: 1px solid #edf1eb;
  color: #899a8d;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .2px;
}
td {
  padding: 17px 20px;
  border-bottom: 1px solid #eff2ed;
  color: #687e6d;
  font-size: 11px;
}
tr:last-child td {
  border-bottom: 0;
}
td strong {
  color: #405746;
}
td small {
  display: block;
  font-size: 9px;
  margin-top: 4px;
}
.ride-table th {
  padding-left: 18px;
  padding-right: 12px;
}
.ride-table td {
  padding: 19px 12px 19px 18px;
}
.ride-table tr:hover td {
  background: #fcfdf9;
}
.table-route {
  border: 0;
  background: none;
  text-align: left;
  padding: 0;
}
.table-route strong {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
}
.table-route strong svg {
  color: #9eafa2;
}
.table-route > span {
  display: block;
  font-size: 9px;
  color: #94a397;
  margin-top: 7px;
}
.table-route i {
  font-style: normal;
  color: #bac4b9;
  padding: 0 4px;
}
.pickup-time {
  font-weight: 650;
  color: #3d6b52;
  font-size: 13px;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  padding: 5px 7px;
  border-radius: 5px;
  white-space: nowrap;
  font-weight: 500;
}
.badge i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
}
.badge.new {
  color: #af864b;
  background: #faf2e4;
}
.badge.assigned {
  color: #648da4;
  background: #eef5fa;
}
.badge.completed {
  color: #69936a;
  background: #edf5ea;
}
.badge.cancelled,
.badge.no_show {
  background: #f9eeeb;
  color: #b27666;
}
.driver-cell {
  display: flex;
  gap: 6px;
  align-items: center;
  white-space: nowrap;
  font-size: 9px;
  color: #7c8f7e;
}
.driver-cell b {
  width: 21px;
  height: 21px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 8px;
  color: #64866b;
  background: #edf1e8;
  border: 1px solid #dee7d8;
}
.empty {
  text-align: center;
  padding: 55px 25px;
  color: #a0b5a3;
}
.empty > svg {
  color: #a0b5a3;
  margin-bottom: 10px;
}
.empty h3 {
  color: #5f7965;
  margin-bottom: 8px;
}
.empty p {
  font-size: 12px;
  margin: 0 auto;
  max-width: 370px;
  color: #95a396;
}
.empty .btn {
  margin-top: 15px;
}
.agenda-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 19px 22px;
  border-bottom: 1px solid var(--border);
}
.date-nav {
  display: flex;
  align-items: center;
  gap: 7px;
}
.date-nav label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #82927c;
}
.date-nav input {
  font-size: 12px;
  border: 0;
  background: none;
  color: #4d674f;
  font-weight: 600;
  max-width: 145px;
}
.segmented {
  padding: 3px;
  background: #f0f4ee;
  border: 1px solid #e5ecdf;
  border-radius: 8px;
  display: flex;
  gap: 2px;
}
.segmented button {
  border: 0;
  background: none;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  color: #83947c;
  font-size: 10px;
  border-radius: 6px;
}
.segmented button.active {
  background: white;
  box-shadow: 0 1px 4px #1f4d1212;
  color: #3a6640;
}
.agenda-filters {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 16px 22px 0;
  flex-wrap: wrap;
}
.status-tabs {
  display: flex;
  gap: 13px;
  align-items: center;
}
.status-tabs button {
  font-size: 11px;
  padding: 8px 1px 12px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  color: #8a9b86;
  display: flex;
  gap: 6px;
  align-items: center;
}
.status-tabs button.active {
  color: #397445;
  border-color: #43895b;
  font-weight: 600;
}
.status-tabs button b {
  font-size: 9px;
  min-width: 18px;
  padding: 2px 4px;
  border-radius: 4px;
  background: #f1f5ed;
  color: #91a088;
}
.status-tabs button.active b {
  background: #e4f1df;
  color: #3e8549;
}
.filter-selects {
  display: flex;
  gap: 7px;
}
.filter-selects select {
  font-size: 10px;
  padding: 8px;
  background: white;
  color: #76876d;
  border: 1px solid #e2eade;
  border-radius: 6px;
}
.agenda-caption {
  font-size: 10px;
  margin: 13px 23px 17px;
  color: #a0ad98;
}
.timeline-scroll {
  overflow: auto;
  max-height: 610px;
  border-top: 1px solid #e9eee4;
  scrollbar-width: thin;
}
.timeline-head {
  display: flex;
  height: 45px;
  background: #f8faf5;
  border-bottom: 1px solid #e4ecdd;
  position: sticky;
  top: 0;
  z-index: 3;
}
.lane-label {
  width: 180px;
  flex-shrink: 0;
  position: sticky;
  left: 0;
  background: #fff;
  border-right: 1px solid #e3eadc;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  z-index: 2;
}
.timeline-head .lane-label {
  font-size: 9px;
  color: #94a189;
  background: #f8faf5;
}
.lane-label strong {
  font-size: 10px;
  white-space: normal;
}
.lane-label small {
  display: block;
  font-size: 9px;
  margin-top: 5px;
  color: #9ead96;
}
.lane-avatar {
  flex-shrink: 0;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #f0f3e9;
  border: 1px solid #e4e9d9;
  color: #9ba88d;
  display: grid;
  place-items: center;
  font-size: 11px;
}
.hour-row {
  display: flex;
  align-items: center;
}
.hour-row span {
  flex-shrink: 0;
  font-size: 9px;
  color: #9aab8e;
  padding-left: 10px;
}
.timeline-lane {
  display: flex;
  height: 115px;
  border-bottom: 1px solid #eaf0e4;
}
.lane-track {
  position: relative;
  background:
    repeating-linear-gradient(
      to right,
      #fff 0px,
      #fff 149px,
      #edf1e8 149px,
      #edf1e8 150px);
  flex-shrink: 0;
}
.ride-block {
  position: absolute;
  top: 14px;
  height: 86px;
  border-radius: 9px;
  padding: 11px 12px;
  text-align: left;
  overflow: hidden;
  border: 1px solid;
  box-shadow: 0 2px 3px #182f1203;
}
.ride-block.green {
  background: #e0efdc;
  border-color: #c4ddbd;
  color: #4c774b;
}
.ride-block.blue {
  background: #e0edf5;
  border-color: #bed9e9;
  color: #557f9b;
}
.ride-block > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ride-block b {
  font-size: 12px;
}
.ride-block strong {
  font-size: 11px;
}
.ride-block > span {
  font-size: 9px;
  display: block;
  opacity: .75;
  margin: 5px 0 9px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ride-block-bottom {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 9px;
}
.ride-block-bottom em {
  font-style: normal;
  font-size: 10px;
  font-weight: 700;
  background: #ffffff9c;
  border-radius: 3px;
  padding: 3px 5px;
}
.ride-block-bottom > span {
  display: flex;
  gap: 3px;
  align-items: center;
}
.ride-block.urgent {
  border: 1.5px solid #d2917d;
  box-shadow: 0 0 0 2px #e5b9a726;
}
.ride-block.urgent em {
  color: #b25e42;
}
.ride-block.urgent::after {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 5px;
  height: 5px;
  background: #b9775a;
  border-radius: 50%;
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  50% {
    box-shadow: 0 0 0 4px #c2845d25;
  }
}
.agenda-legend {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px 22px;
  font-size: 9px;
  color: #9ca991;
  flex-wrap: wrap;
}
.agenda-legend > span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.agenda-legend > span:last-child {
  margin-left: auto;
}
.agenda-legend i {
  height: 6px;
  width: 6px;
  border-radius: 2px;
}
.legend-green {
  background: #b9dcb5;
}
.legend-urgent {
  background: #d69f80;
}
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: #10281f72;
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  padding: 26px;
}
.modal {
  width: 530px;
  max-width: 100%;
  max-height: calc(100dvh - 52px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 30px 100px #0c1e2555;
  overflow: auto;
  outline: none;
}
.modal.wide {
  width: 960px;
}
.modal > header {
  position: sticky;
  top: 0;
  background: #ffffffed;
  backdrop-filter: blur(10px);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  border-bottom: 1px solid var(--border);
  padding: 19px 26px;
}
.modal > header p {
  font-size: 8px;
  margin-bottom: 7px;
}
.modal > header h2 {
  font-size: 19px;
  margin: 0;
}
.modal-note {
  padding: 22px 26px 0;
  font-size: 12px;
}
.modal-footer {
  padding: 20px 25px;
  display: flex;
  justify-content: flex-end;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 11px;
  color: #677f6b;
  min-width: 0;
}
.field > span {
  font-weight: 600;
}
.field input,
.field select,
.field textarea,
.assignment > select {
  width: 100%;
  border: 1px solid #dde7df;
  border-radius: 8px;
  background: #fff;
  padding: 12px 13px;
  color: #374f3e;
  font-size: 13px;
  min-height: 42px;
}
.field input::placeholder {
  color: #b1bdb2;
}
.field input[type=color] {
  height: 45px;
  padding: 4px;
}
.field small {
  font-weight: 400;
  font-size: 10px;
}
.field.inline {
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.editor-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 19px;
  padding: 25px 28px;
}
.editor-form > .btn {
  margin-top: 8px;
  justify-self: start;
  min-width: 130px;
}
.check-line {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 12px;
  color: #69806b;
}
.check-line input {
  width: 17px;
  height: 17px;
  accent-color: var(--green);
}
.check-line > span {
  order: 2;
}
.error {
  padding: 13px 17px;
  background: #fff1ed;
  border: 1px solid #f2d8d0;
  color: #a85342;
  border-radius: 9px;
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 14px;
}
.error button {
  border: 0;
  background: none;
  text-decoration: underline;
  color: inherit;
}
.notice {
  padding: 17px 20px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #f1f3e9;
  border: 1px solid #e5e8d7;
  color: #899069;
  border-radius: 11px;
  font-size: 11px;
  line-height: 1.7;
  margin-bottom: 22px;
}
.notice svg {
  flex-shrink: 0;
  margin-top: 1px;
}
.toast {
  position: fixed;
  bottom: 28px;
  left: calc(50% + 80px);
  transform: translateX(-50%);
  z-index: 150;
  display: flex;
  gap: 10px;
  align-items: center;
  background: #1c4738;
  color: #f3fbf2;
  box-shadow: 0 6px 22px #1d3e2b33;
  border: 1px solid #628e6c;
  padding: 14px 18px;
  border-radius: 10px;
  font-size: 12px;
  max-width: calc(100% - 40px);
  min-width: 270px;
}
.toast.bad {
  background: #853e32;
  border-color: #bd7b68;
}
.toast > button {
  margin-left: auto;
  background: none;
  border: 0;
  color: inherit;
}
.ride-detail {
  padding: 24px 27px;
}
.detail-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.detail-top > strong {
  font-size: 10px;
  color: #9aac96;
}
.detail-route {
  margin: 25px 0;
  display: grid;
  gap: 25px;
  position: relative;
}
.detail-route:before {
  position: absolute;
  content: "";
  top: 20px;
  bottom: 25px;
  left: 9px;
  border-left: 1px dashed #c6d9c1;
}
.detail-route > div {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.detail-route svg {
  width: 19px;
  height: 19px;
  color: #6f9a65;
  background: white;
  z-index: 1;
}
.detail-route b {
  display: block;
  font-size: 18px;
  letter-spacing: -.5px;
}
.detail-route small {
  display: block;
  margin-top: 5px;
}
.detail-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.detail-pills > span {
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 10px;
  padding: 8px 10px;
  background: #f3f6ef;
  border-radius: 6px;
  color: #839573;
}
.detail-list {
  margin: 23px 0;
}
.detail-list > div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #eff3e9;
  font-size: 12px;
}
.detail-list dt {
  color: #95a586;
  font-size: 11px;
}
.detail-list dd {
  margin: 0;
  color: #5b7450;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.detail-list a {
  text-decoration: underline;
  text-decoration-color: #b9cbaa;
}
.detail-price {
  background: #ebf3e3;
  border: 1px solid #dbe9cd;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px;
  font-size: 12px;
  color: #6e8c50;
}
.detail-price strong {
  font-size: 25px;
  color: #45824b;
  letter-spacing: -.7px;
}
.assignment {
  margin-top: 24px;
  padding: 20px;
  background: #f7f9f3;
  border: 1px solid #e6eddc;
  border-radius: 12px;
}
.assignment h3 {
  font-size: 13px;
  margin-bottom: 14px;
}
.assignment > .btn {
  margin-top: 10px;
}
.assignment p {
  font-size: 9px;
  line-height: 1.6;
  margin: 10px 0 0;
}
.detail-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.detail-actions .btn {
  flex: 1;
}
.share-line {
  margin-top: 20px;
  border-top: 1px solid #e9efe0;
  padding-top: 20px;
}
.share-line p {
  font-size: 10px;
  margin: 11px 0;
}
.share-line .notice {
  margin: 10px 0 0;
}
.alert-item {
  display: flex;
  width: calc(100% - 50px);
  margin: 12px 25px;
  gap: 13px;
  align-items: center;
  text-align: left;
  border: 1px solid #eee0c8;
  background: #fffbf3;
  border-radius: 10px;
  padding: 16px;
  color: #a38c62;
}
.alert-item div {
  flex: 1;
}
.alert-item strong {
  font-size: 12px;
  display: block;
}
.alert-item span {
  font-size: 11px;
  display: block;
  margin-top: 5px;
}
.list-search {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #93a486;
}
.list-search input {
  border: 0;
  background: transparent;
  font-size: 12px;
  outline: none;
  color: #546e47;
  max-width: 180px;
}
.availability {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  white-space: nowrap;
  font-size: 10px;
  background: #f2f3ee;
  color: #9aa28e;
  padding: 6px 8px;
  border-radius: 6px;
}
.availability.yes {
  background: #eaf3e4;
  color: #7ba15a;
}
.availability i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.row-actions {
  display: flex;
  gap: 3px;
}
.panel-note {
  font-size: 10px;
  line-height: 1.7;
  padding: 18px 24px;
  background: #fcfdf9;
  border-top: 1px solid #edf1e7;
  margin: 0;
}
.section-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 23px;
  color: #92a285;
  font-size: 12px;
}
.forms-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.form-card {
  padding: 23px;
}
.form-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
.form-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: #edf4e4;
  border-radius: 10px;
  color: #7ca062;
}
.form-card h2 {
  font-size: 18px;
  margin-bottom: 8px;
}
.form-card p {
  font-size: 11px;
}
.form-preview {
  background: #f1f5e9;
  border: 1px solid #e0e8d4;
  border-radius: 10px;
  padding: 15px 20px;
  margin: 20px 0;
  color: #80936c;
  min-height: 165px;
}
.form-preview > div {
  display: flex;
  gap: 3px;
  margin-bottom: 20px;
}
.form-preview > div > span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #c4d3b4;
}
.form-preview strong {
  font-size: 11px;
  display: block;
  margin-bottom: 15px;
}
.form-preview > i {
  height: 14px;
  display: block;
  background: white;
  border: 1px solid #e4ecd8;
  border-radius: 3px;
  margin: 5px 0;
}
.form-preview button {
  border: 0;
  background: #a6b78d;
  color: white;
  font-size: 8px;
  padding: 5px 12px;
  border-radius: 3px;
  pointer-events: none;
  margin-top: 7px;
}
.form-card code {
  font-size: 10px;
  color: #97a785;
  display: block;
  margin-bottom: 15px;
}
.form-card-actions {
  display: flex;
  gap: 7px;
  margin-bottom: 12px;
}
.form-card-actions .btn {
  font-size: 10px;
  padding: 9px 10px;
}
.form-card > .text-btn {
  font-size: 9px;
  font-weight: 400;
  color: #9b9e87;
}
.settings-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
  gap: 25px;
}
.settings-layout .editor-form {
  grid-template-columns: 1fr 1fr;
}
.settings-layout .editor-form > .btn,
.settings-layout .editor-form > .error {
  grid-column: 1/-1;
}
.settings-note {
  padding: 26px;
}
.settings-note > svg {
  color: #86a269;
  margin-bottom: 15px;
}
.settings-note h2 {
  font-size: 17px;
  margin-bottom: 13px;
}
.settings-note p {
  font-size: 12px;
  line-height: 1.8;
  margin-bottom: 13px;
}
.settings-note p:last-child {
  margin-bottom: 0;
}
.integration-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.integration-card {
  padding: 25px;
}
.integration-card > svg {
  color: #8a9f6e;
  margin-bottom: 23px;
}
.integration-card h2 {
  font-size: 17px;
  margin-bottom: 10px;
}
.integration-card p {
  font-size: 12px;
  line-height: 1.8;
  min-height: 62px;
}
.invoice-groups > div {
  padding: 20px 25px;
  border-top: 1px solid #edf1e7;
  display: flex;
  gap: 20px;
  align-items: center;
  font-size: 12px;
}
.invoice-groups > div > span {
  flex: 1;
}
.invoice-groups small {
  display: block;
  margin-top: 5px;
}
.invoice-paper {
  padding: 40px;
  color: #45583a;
}
.invoice-paper .logo {
  color: #446239;
  font-size: 21px;
  margin-bottom: 30px;
}
.invoice-paper .logo > b {
  display: none;
}
.invoice-paper h1 {
  font-size: 23px;
  letter-spacing: -.3px;
}
.invoice-paper p {
  font-size: 12px;
}
.invoice-paper > .two-col {
  margin: 25px 0;
}
.invoice-paper table {
  white-space: normal;
}
.invoice-paper td {
  padding: 15px;
}
.invoice-total {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;
  margin: 25px 0;
  font-size: 13px;
}
.invoice-total strong {
  font-size: 25px;
}
.source-bars {
  padding: 5px 25px 28px;
}
.source-bars > div {
  display: grid;
  grid-template-columns: 180px 1fr 35px;
  align-items: center;
  gap: 20px;
  font-size: 12px;
  margin: 21px 0;
  color: #738667;
}
.source-bars > div > div {
  height: 12px;
  background: #f1f5eb;
  border-radius: 5px;
  overflow: hidden;
}
.source-bars i {
  display: block;
  height: 100%;
  background: #a1bc83;
  border-radius: 5px;
}
.loading {
  min-height: 80dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
  font-size: 13px;
  color: #7c9869;
}
.loading .logo {
  color: #365b38;
}
.login {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: white;
}
.login-story {
  padding: 50px 65px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background:
    radial-gradient(
      ellipse at 30% 80%,
      #335340 0,
      transparent 70%),
    #16352b;
  color: #e6eee2;
  position: relative;
  overflow: hidden;
}
.login-story:after {
  content: "";
  position: absolute;
  right: -160px;
  bottom: -100px;
  width: 550px;
  height: 550px;
  border: 1px solid #ceddb412;
  border-radius: 50%;
  box-shadow: 0 0 0 60px #ceddb404, 0 0 0 120px #ceddb403;
  pointer-events: none;
}
.login-story h1 {
  font-size: clamp(32px, 3.4vw, 55px);
  line-height: 1.12;
  letter-spacing: -2px;
  margin: 30px 0 22px;
  font-weight: 550;
  position: relative;
  z-index: 1;
}
.login-story h1 em {
  font-style: normal;
  color: #b2d0a6;
}
.login-story > div > p {
  font-size: 14px;
  color: #88a48c;
  max-width: 380px;
  line-height: 1.9;
}
.story-features {
  display: flex;
  flex-direction: column;
  gap: 19px;
  margin-top: 40px;
}
.story-features > span {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: #9bb89a;
}
.story-features svg {
  width: 18px;
  color: #a1c28f;
}
.login-story > small {
  font-size: 10px;
  color: #6c8b6e;
}
.login-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px;
}
.login-panel > div {
  max-width: 365px;
  width: 100%;
}
.login-panel h2 {
  font-size: 30px;
  letter-spacing: -1px;
  margin-bottom: 12px;
}
.login-panel p {
  font-size: 12px;
}
.login-panel form {
  margin-top: 33px;
  display: grid;
  gap: 20px;
}
.login-panel form > .btn {
  margin-top: 10px;
  width: 100%;
  padding: 14px;
}
.login-password-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.login-password-heading label {
  font-weight: 600;
}
.login-forgot-link {
  border: 0;
  background: none;
  padding: 0;
  color: #376b4b;
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  white-space: nowrap;
}
.login-forgot-link:hover {
  color: #1f5034;
}
.login-forgot-link:focus-visible {
  outline: 2px solid #376b4b;
  outline-offset: 3px;
  border-radius: 2px;
}
.login-divider {
  font-size: 10px;
  color: #a0ae96;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 27px 0 20px;
}
.login-divider:before,
.login-divider:after {
  content: "";
  height: 1px;
  background: #ebefe5;
  flex: 1;
}
.login-panel p.login-note {
  font-size: 10px;
  line-height: 1.7;
  text-align: center;
  margin: 24px 0 0;
  color: #a5af9b;
}
.public-booking {
  min-height: 100dvh;
  background: #f4f6ef;
  padding: 30px 35px 55px;
}
.booking {
  max-width: 1030px;
  margin: 0 auto;
}
.booking-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 5px 0 30px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 650;
}
.brand small {
  display: block;
  font-size: 9px;
  font-weight: 400;
  margin-top: 4px;
}
.languages {
  display: flex;
  border: 1px solid #dce5d4;
  border-radius: 7px;
  padding: 3px;
  background: white;
  gap: 2px;
}
.languages button {
  border: 0;
  background: none;
  font-size: 10px;
  padding: 7px 10px;
  border-radius: 4px;
  color: #8f9c82;
}
.languages button.active {
  background: #e9f0e0;
  color: #3f6940;
  font-weight: 650;
}
.booking-intro {
  text-align: center;
  margin: 15px 0 35px;
}
.booking-intro h1 {
  font-size: 36px;
  letter-spacing: -1.4px;
}
.booking-intro p {
  font-size: 13px;
}
.booking-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 25px;
  align-items: start;
}
.booking-main {
  background: white;
  border: 1px solid #e1e8d8;
  border-radius: 17px;
  overflow: hidden;
}
.steps {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #ebf0e3;
  padding: 22px 28px;
}
.steps > span {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 11px;
  color: #aab59b;
}
.steps b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #e4ebdb;
  background: #f8faf5;
  border-radius: 50%;
  font-size: 10px;
}
.steps > span.active {
  color: #538443;
}
.steps > span.active b {
  background: #eaf1df;
  border-color: #c9ddad;
}
.booking-fields {
  padding: 27px 30px 10px;
  display: grid;
  gap: 20px;
}
.booking-fields h2 {
  font-size: 22px;
  letter-spacing: -.8px;
  margin: 0 0 3px;
}
.booking-fields .subtle {
  margin: 4px 0 0;
  color: #9ba88a;
  font-size: 10px;
}
.booking-fields .field > span {
  font-size: 11px;
}
.booking-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 22px 30px 27px;
}
.booking-actions > .primary {
  min-width: 150px;
}
.booking-main form > .error {
  margin: 15px 30px 0;
}
.booking-aside {
  position: sticky;
  top: 25px;
  border: 1px solid #d6e5c7;
  background: #eaf1df;
  border-radius: 17px;
  padding: 25px;
}
.booking-aside .eyebrow {
  font-size: 9px;
  color: #93a37b;
  margin-bottom: 25px;
}
.price-label {
  font-size: 11px;
  color: #7d9264;
}
.booking-price {
  font-size: 39px;
  color: #4b7c42;
  letter-spacing: -1.5px;
  margin: 8px 0 5px;
  font-weight: 600;
}
.booking-price > span {
  font-size: 22px;
  letter-spacing: -.4px;
}
.booking-aside > small {
  font-size: 9px;
  color: #9aa888;
}
.route-line {
  display: grid;
  gap: 25px;
  margin: 28px 0;
  padding: 24px 0;
  border-top: 1px solid #d8e4c9;
  border-bottom: 1px solid #d8e4c9;
  position: relative;
}
.route-line:before {
  content: "";
  position: absolute;
  border-left: 1px dashed #bbcca4;
  left: 8px;
  top: 41px;
  bottom: 37px;
}
.route-line > div {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
}
.route-line svg {
  color: #809e61;
  background: #eaf1df;
}
.route-line span {
  font-size: 13px;
  font-weight: 600;
  color: #627c4c;
}
.route-line small {
  font-size: 10px;
  color: #9cab88;
  font-weight: 400;
  display: block;
  margin-top: 5px;
}
.vehicle-chip {
  display: flex;
  gap: 13px;
  align-items: center;
  background: #ffffff60;
  border: 1px solid #dce8ca;
  border-radius: 9px;
  padding: 13px;
  margin-bottom: 20px;
  color: #739557;
  font-size: 12px;
}
.vehicle-chip small {
  display: block;
  font-size: 9px;
  margin-top: 5px;
  color: #9baa88;
}
.booking-aside .subtle {
  font-size: 10px;
  color: #95a780;
  line-height: 1.6;
}
.booking-aside .subtle:last-child {
  margin-bottom: 0;
}
.booking.compact {
  padding: 20px 24px 24px;
}
.booking.compact .booking-top {
  padding: 0 0 20px;
}
.booking.compact .booking-grid {
  grid-template-columns: minmax(0, 1fr) 255px;
  gap: 20px;
}
.booking.compact .booking-fields {
  padding: 22px;
}
.booking.compact .steps {
  padding: 18px 22px;
}
.booking.compact .booking-aside {
  top: 86px;
}
.city-field {
  position: relative;
}
.suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #dfe8d3;
  border-radius: 8px;
  z-index: 10;
  box-shadow: 0 8px 17px #47562c15;
  padding: 6px;
  margin-top: 4px;
}
.suggestions > button {
  background: none;
  border: 0;
  padding: 10px;
  display: flex;
  gap: 8px;
  align-items: center;
  color: #69854d;
  width: 100%;
  text-align: left;
  font-size: 12px;
  border-radius: 5px;
}
.suggestions > button:hover {
  background: #f1f6e9;
}
.suggestions p {
  padding: 8px;
  font-size: 11px;
  margin: 0;
}
.counters {
  gap: 10px;
}
.counter {
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #e6ecdc;
  background: #fafcf7;
  padding: 11px;
  border-radius: 7px;
  color: #7d9864;
}
.counter > span {
  font-size: 10px;
  flex: 1;
}
.counter > input {
  width: 44px;
  padding: 5px;
  border: 1px solid #dce5d0;
  border-radius: 5px;
  background: white;
  color: #597740;
  font-size: 12px;
}
.review-card {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 12px;
  background: #f6f9f0;
  border: 1px solid #e8efde;
  border-radius: 9px;
  padding: 18px;
  color: #889c74;
}
.review-card strong {
  color: #577840;
}
.booking-fields > .detail-list {
  margin: 0;
}
.booking-fields .detail-list > div {
  grid-template-columns: 125px 1fr;
}
.booking-fields > .small-text {
  margin: 0;
}
.demo-inline {
  padding: 9px 13px;
  background: #f8f0db;
  border: 1px solid #eee3c1;
  border-radius: 6px;
  color: #a29977;
  font-size: 10px;
  text-align: center;
  margin-bottom: 17px;
}
.booking-success {
  max-width: 640px;
  margin: 30px auto;
  text-align: center;
  background: white;
  border: 1px solid #e0e9d4;
  border-radius: 18px;
  padding: 45px 35px;
}
.booking-success > svg {
  color: #8eb578;
  margin-bottom: 26px;
}
.booking-success h1 {
  font-size: 31px;
}
.booking-success p {
  font-size: 13px;
}
.booking-success .reference {
  display: block;
  font-size: 21px;
  letter-spacing: 1px;
  color: #6d9652;
  padding: 19px;
  background: #f1f6e8;
  border-radius: 8px;
  margin: 17px 0 22px;
}
.booking-success a {
  display: block;
  color: #59793e;
  margin-bottom: 15px;
}
.booking-success > .btn {
  margin-top: 15px;
}
@media (min-width:1600px) {
  .sidebar {
    width: 248px;
    flex-basis: 248px;
  }
  .main-shell {
    margin-left: 248px;
    width: calc(100% - 248px);
  }
  .main-content {
    padding-top: 42px;
  }
  .dashboard-grid {
    grid-template-columns: minmax(0, 1fr) 325px;
  }
  .ride-table td {
    padding-top: 23px;
    padding-bottom: 23px;
  }
  .stat {
    padding: 23px;
  }
  .page-heading h1 {
    font-size: 37px;
  }
  .stats-grid {
    gap: 22px;
  }
  .stat > strong {
    font-size: 36px;
  }
}
@media (max-width:1250px) {
  .sidebar {
    width: 207px;
    flex-basis: 207px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .main-shell {
    margin-left: 207px;
    width: calc(100% - 207px);
  }
  .main-content {
    padding: 25px 23px;
  }
  .topbar {
    padding: 0 23px;
  }
  .demo-banner {
    padding-left: 23px;
    padding-right: 23px;
  }
  .dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .dashboard-side {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .dashboard-side > .panel,
  .dashboard-side > .attention-card {
    margin-bottom: 0;
  }
  .attention-card > p {
    max-width: 500px;
  }
  .dashboard-side .attention-ride {
    display: inline-flex;
    width: calc(50% - 5px);
    vertical-align: top;
  }
  .attention-card .attention-ride ~ .attention-ride {
    margin-left: 10px;
  }
  .attention-ride strong {
    font-size: 9px;
  }
  .quick-actions {
    padding: 24px;
  }
  .quick-actions > button {
    font-size: 12px;
    padding: 19px 0;
  }
  .daily-footer {
    margin-top: 25px;
  }
  .stat {
    padding: 16px;
  }
  .stat > strong {
    font-size: 26px;
  }
  .stat > div {
    font-size: 10px;
  }
  .stat-icon {
    width: 30px;
    height: 30px;
  }
  .forms-grid {
    grid-template-columns: 1fr 1fr;
  }
  .integration-grid {
    grid-template-columns: 1fr 1fr;
  }
  .settings-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .settings-layout > aside {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .page-heading h1 {
    font-size: 29px;
  }
  .heading-actions .btn {
    font-size: 10px;
  }
  .login-story {
    padding: 40px;
  }
  .login-panel {
    padding: 35px;
  }
  .login-story h1 {
    font-size: 39px;
  }
}
@media (max-width:900px) {
  .sidebar {
    width: 198px;
    flex-basis: 198px;
  }
  .main-shell {
    margin-left: 198px;
    width: calc(100% - 198px);
  }
  .topbar {
    height: 64px;
    padding: 0 20px;
  }
  .main-content {
    padding: 24px 20px;
  }
  .global-search {
    display: none;
  }
  .topbar-actions {
    gap: 13px;
  }
  .demo-banner {
    padding: 8px 20px;
    font-size: 9px;
  }
  .demo-banner > span > span {
    display: none;
  }
  .demo-banner a {
    font-size: 9px;
  }
  .page-heading {
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 23px;
  }
  .page-heading h1 {
    font-size: 26px;
  }
  .page-heading p:last-child {
    font-size: 11px;
  }
  .heading-actions > .btn:not(.primary) {
    display: none;
  }
  .heading-actions > .btn {
    padding: 10px;
  }
  .stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .stat > strong {
    font-size: 30px;
  }
  .stat > div {
    font-size: 11px;
  }
  .stat > small {
    font-size: 10px;
  }
  .dashboard-side {
    display: block;
  }
  .dashboard-side .attention-card {
    margin-bottom: 20px;
  }
  .attention-card .panel-heading {
    padding-bottom: 10px;
  }
  .attention-card h2 {
    font-size: 22px;
  }
  .quick-actions > button {
    font-size: 11px;
    padding: 15px 0;
  }
  .daily-footer > span:last-child {
    display: none;
  }
  .forms-grid {
    grid-template-columns: 1fr;
  }
  .settings-layout > aside {
    display: block;
  }
  .settings-layout .editor-form {
    grid-template-columns: 1fr;
  }
  .integration-grid {
    grid-template-columns: 1fr 1fr;
    gap: 13px;
  }
  .integration-card {
    padding: 20px;
  }
  .integration-card h2 {
    font-size: 14px;
  }
  .integration-card p {
    font-size: 11px;
  }
  .agenda-toolbar {
    padding: 15px;
    flex-wrap: wrap;
  }
  .agenda-filters {
    padding: 12px 15px 0;
  }
  .status-tabs {
    gap: 12px;
  }
  .status-tabs button {
    font-size: 10px;
  }
  .agenda-caption {
    margin-left: 15px;
    font-size: 9px;
  }
  .date-nav {
    gap: 3px;
  }
  .date-nav input {
    font-size: 11px;
  }
  .table-route > span {
    font-size: 10px;
  }
  .modal-backdrop {
    padding: 18px;
  }
  .modal {
    max-height: calc(100dvh - 36px);
  }
  .booking-grid,
  .booking.compact .booking-grid {
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 16px;
  }
  .booking-aside {
    padding: 20px;
  }
  .booking-fields {
    padding: 23px;
  }
  .booking-intro h1 {
    font-size: 31px;
  }
  .booking.compact {
    padding: 17px;
  }
  .booking.compact .booking-grid {
    grid-template-columns: 1fr;
  }
  .booking.compact .booking-aside {
    position: static;
    order: -1;
    padding: 15px 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .booking.compact .booking-aside > * {
    display: none;
  }
  .booking.compact .booking-aside > .price-label,
  .booking.compact .booking-aside > .booking-price {
    display: block;
    margin: 0;
  }
  .booking.compact .booking-price {
    font-size: 27px;
  }
  .booking.compact .booking-price > span {
    font-size: 20px;
  }
  .login {
    grid-template-columns: 1fr;
  }
  .login-story {
    padding: 25px 35px;
    min-height: 0;
  }
  .login-story > div:not(.logo) {
    display: none;
  }
  .login-story > small {
    display: none;
  }
  .login-panel {
    padding: 45px 25px;
    align-items: flex-start;
  }
  .login-story .logo {
    font-size: 25px;
  }
  .login-panel > div {
    max-width: 400px;
  }
  .login-panel h2 {
    font-size: 28px;
  }
}
@media (max-width:650px) {
  :root {
    font-size: 14px;
  }
  .sidebar {
    transform: translateX(-100%);
    transition: transform .2s;
    width: 240px;
    z-index: 70;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .sidebar-scrim {
    position: fixed;
    inset: 0;
    background: #16301f80;
    border: 0;
    z-index: 60;
  }
  .main-shell {
    margin-left: 0;
    width: 100%;
  }
  .mobile-menu {
    display: flex;
  }
  .topbar {
    padding: 0 16px;
    height: 62px;
  }
  .breadcrumb {
    gap: 8px;
    font-size: 10px;
  }
  .breadcrumb > span {
    display: none;
  }
  .breadcrumb > svg {
    display: none;
  }
  .breadcrumb strong {
    font-size: 12px;
  }
  .topbar-actions {
    gap: 7px;
  }
  .demo-banner {
    padding: 9px 16px;
    font-size: 9px;
    gap: 10px;
  }
  .demo-banner a {
    font-size: 8px;
  }
  .demo-banner b {
    font-weight: 500;
  }
  .main-content {
    padding: 24px 16px;
  }
  .page-heading {
    gap: 10px;
    flex-wrap: wrap;
  }
  .page-heading h1 {
    font-size: 28px;
    letter-spacing: -1px;
    margin-bottom: 8px;
  }
  .page-heading p:last-child {
    font-size: 11px;
  }
  .page-heading .eyebrow {
    font-size: 8px;
  }
  .heading-actions {
    width: 100%;
    justify-content: flex-end;
    margin-top: 2px;
  }
  .heading-actions > .btn:not(.primary) {
    display: flex;
    margin-right: auto;
  }
  .hide-mobile {
    display: none;
  }
  .stats-grid {
    gap: 10px;
    margin-bottom: 19px;
  }
  .stat {
    padding: 14px;
  }
  .stat > div {
    font-size: 10px;
    gap: 4px;
  }
  .stat-icon {
    width: 28px;
    height: 28px;
  }
  .stat-icon svg {
    width: 16px;
  }
  .stat > strong {
    font-size: 28px;
    margin: 13px 0 7px;
  }
  .stat > small {
    font-size: 8px;
  }
  .dashboard-grid {
    gap: 0;
  }
  .panel {
    border-radius: 12px;
    margin-bottom: 18px;
  }
  .panel-heading {
    padding: 18px;
  }
  .panel-heading h2 {
    font-size: 14px;
  }
  .panel-heading .text-btn {
    font-size: 10px;
  }
  .panel-heading p {
    font-size: 10px;
  }
  .panel-heading > span {
    font-size: 9px;
  }
  .ride-table {
    min-width: 620px;
  }
  .ride-table th {
    font-size: 9px;
  }
  .ride-table td {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .dashboard-side .attention-card {
    margin-bottom: 18px;
  }
  .attention-card h2 {
    font-size: 24px;
  }
  .quick-actions {
    padding: 21px;
  }
  .quick-actions > button {
    font-size: 12px;
    padding: 16px 0;
  }
  .agenda-toolbar {
    gap: 12px;
  }
  .segmented {
    margin-left: auto;
  }
  .date-nav {
    width: 100%;
    justify-content: space-between;
  }
  .date-nav label {
    flex: 1;
    justify-content: center;
  }
  .date-nav input {
    font-size: 13px;
    max-width: 150px;
  }
  .status-tabs {
    width: 100%;
    justify-content: space-between;
    gap: 8px;
  }
  .status-tabs button {
    font-size: 9px;
    gap: 3px;
  }
  .status-tabs button b {
    font-size: 8px;
    min-width: 15px;
  }
  .filter-selects {
    width: 100%;
  }
  .filter-selects select {
    flex: 1;
    font-size: 11px;
    padding: 10px;
    min-width: 0;
  }
  .agenda-caption {
    font-size: 9px;
    margin-right: 15px;
  }
  .lane-label {
    width: 135px;
    padding: 12px;
  }
  .lane-label strong {
    font-size: 9px;
  }
  .lane-avatar {
    display: none;
  }
  .timeline-lane {
    height: 115px;
  }
  .agenda-legend {
    padding: 15px;
    gap: 13px;
    font-size: 9px;
  }
  .agenda-legend > span:last-child {
    width: 100%;
    margin: 0;
    font-size: 8px;
  }
  .section-action {
    font-size: 10px;
    flex-wrap: wrap;
  }
  .section-action > .btn {
    margin-left: auto;
  }
  .forms-grid {
    gap: 10px;
  }
  .form-card {
    padding: 22px;
  }
  .form-card h2 {
    font-size: 19px;
  }
  .form-card p {
    font-size: 12px;
  }
  .form-card-actions .btn {
    flex: 1;
    font-size: 11px;
  }
  .list-search input {
    width: 110px;
    font-size: 11px;
  }
  .panel-heading > .btn {
    font-size: 10px;
    padding: 9px;
  }
  .integration-grid {
    grid-template-columns: 1fr;
  }
  .integration-card {
    padding: 25px;
  }
  .integration-card h2 {
    font-size: 19px;
  }
  .integration-card p {
    font-size: 13px;
    min-height: 0;
  }
  .integration-card > svg {
    margin-bottom: 18px;
  }
  .settings-note {
    padding: 23px;
  }
  .editor-form {
    padding: 24px;
    gap: 20px;
  }
  .field > span {
    font-size: 12px;
  }
  .field input,
  .field select {
    font-size: 16px;
    min-height: 45px;
  }
  .field small {
    font-size: 10px;
  }
  .notice {
    font-size: 11px;
    padding: 16px;
  }
  .modal-backdrop {
    padding: 10px;
  }
  .modal {
    max-height: calc(100dvh - 20px);
    border-radius: 14px;
  }
  .modal > header {
    padding: 17px 20px;
  }
  .modal > header h2 {
    font-size: 19px;
  }
  .modal > header .icon-btn {
    background: #f5f8ef;
  }
  .modal.wide {
    width: 100%;
  }
  .toast {
    left: 50%;
    bottom: 20px;
    font-size: 11px;
    max-width: calc(100% - 24px);
    min-width: 290px;
  }
  .ride-detail {
    padding: 20px;
  }
  .detail-list > div {
    grid-template-columns: 110px 1fr;
  }
  .detail-list dt {
    font-size: 10px;
  }
  .detail-list dd {
    font-size: 11px;
  }
  .detail-pills {
    gap: 5px;
  }
  .detail-pills > span {
    font-size: 9px;
  }
  .assignment {
    padding: 17px;
  }
  .detail-actions .btn {
    font-size: 11px;
  }
  .invoice-groups > div {
    padding: 17px;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 11px;
  }
  .invoice-groups > div > .btn {
    margin-left: auto;
    font-size: 10px;
  }
  .invoice-paper {
    padding: 22px;
  }
  .invoice-paper h1 {
    font-size: 20px;
  }
  .invoice-paper td {
    font-size: 10px;
    padding: 10px;
  }
  .invoice-paper > .two-col {
    gap: 10px;
  }
  .invoice-paper p {
    font-size: 11px;
    overflow-wrap: anywhere;
  }
  .source-bars {
    padding: 5px 20px 20px;
  }
  .source-bars > div {
    grid-template-columns: 100px 1fr 20px;
    gap: 10px;
    font-size: 10px;
  }
  .public-booking {
    padding: 20px 14px 35px;
  }
  .booking-top {
    padding-bottom: 18px;
  }
  .brand {
    font-size: 11px;
    gap: 7px;
    max-width: 68%;
  }
  .brand-symbol {
    width: 32px;
    height: 32px;
    border-radius: 8px;
  }
  .brand small {
    font-size: 8px;
  }
  .languages button {
    font-size: 9px;
    padding: 6px 7px;
  }
  .booking-intro {
    margin: 12px 0 22px;
  }
  .booking-intro h1 {
    font-size: 28px;
    letter-spacing: -1px;
  }
  .booking-intro p {
    font-size: 12px;
  }
  .booking-grid,
  .booking.compact .booking-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
  }
  .booking-aside,
  .booking.compact .booking-aside {
    order: -1;
    position: sticky;
    top: 0;
    z-index: 6;
    border-radius: 10px;
    padding: 13px 18px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    box-shadow: 0 4px 10px #17291606;
  }
  .booking-aside > *,
  .booking.compact .booking-aside > * {
    display: none;
  }
  .booking-aside > .price-label,
  .booking-aside > .booking-price,
  .booking.compact .booking-aside > .price-label,
  .booking.compact .booking-aside > .booking-price {
    display: block;
    margin: 0;
  }
  .booking-price {
    font-size: 29px;
  }
  .booking-price > span {
    font-size: 19px;
  }
  .steps {
    padding: 20px;
    gap: 10px;
  }
  .steps > span {
    font-size: 10px;
    gap: 6px;
  }
  .steps b {
    height: 22px;
    width: 22px;
    font-size: 9px;
  }
  .booking-fields,
  .booking.compact .booking-fields {
    padding: 23px 20px 10px;
    gap: 20px;
  }
  .booking-fields h2 {
    font-size: 23px;
  }
  .booking-fields > .two-col:not(.counters) {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .booking-fields .field > span {
    font-size: 12px;
  }
  .booking-fields .field input,
  .booking-fields .field select {
    font-size: 16px;
  }
  .counter {
    gap: 6px;
    padding: 10px;
  }
  .counter > span {
    font-size: 10px;
  }
  .counter > svg {
    width: 16px;
  }
  .counter > input {
    font-size: 16px;
    width: 40px;
  }
  .booking-actions {
    padding: 25px 20px;
  }
  .booking-main form > .error {
    margin-left: 20px;
    margin-right: 20px;
  }
  .booking.compact {
    padding: 16px 12px;
  }
  .booking.compact .booking-top {
    padding: 0 0 17px;
  }
  .booking.compact .steps {
    padding: 18px;
  }
  .booking.compact .booking-aside {
    position: static;
  }
  .booking-fields .detail-list > div {
    grid-template-columns: 95px 1fr;
    gap: 10px;
  }
  .booking-success {
    padding: 35px 23px;
    margin: 10px auto;
  }
  .booking-success h1 {
    font-size: 27px;
  }
  .booking-success p {
    font-size: 12px;
  }
  .reference {
    font-size: 18px !important;
  }
  .login-panel .field input {
    font-size: 16px;
  }
}
@media (prefers-reduced-motion:reduce) {
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  body {
    background: white;
  }
  .workspace > .sidebar,
  .main-shell,
  .toast,
  .modal > header,
  .modal-footer {
    display: none !important;
  }
  .modal-backdrop {
    position: static;
    display: block;
    padding: 0;
    background: none;
    backdrop-filter: none;
  }
  .modal {
    width: 100%;
    max-height: none;
    border: 0;
    box-shadow: none;
    overflow: visible;
  }
  .invoice-paper {
    padding: 0;
  }
  .invoice-paper table {
    white-space: normal;
  }
  a {
    color: inherit;
  }
}
.form-studio {
  min-width: 0;
}
.studio-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.studio-intro h2 {
  font-size: 30px;
  letter-spacing: -1px;
  margin: 8px 0;
}
.studio-intro p {
  max-width: 640px;
  color: var(--muted);
}
.studio-create {
  padding: 24px;
  margin-bottom: 20px;
  display: flex;
  gap: 12px;
  align-items: end;
  flex-wrap: wrap;
}
.studio-create .field {
  flex: 1;
  min-width: 220px;
}
.studio-selector {
  max-width: 540px;
  margin-bottom: 20px;
}
.studio-shell {
  overflow: hidden;
  padding: 0;
}
.studio-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 24px;
  border-bottom: 1px solid var(--line);
}
.studio-toolbar h2 {
  margin: 0 0 6px;
}
.studio-dirty {
  color: #9a5c08;
  font-size: 12px;
}
.studio-saved {
  color: #23745b;
  font-size: 12px;
}
.studio-tabs {
  display: flex;
  gap: 6px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--line);
  overflow: auto;
}
.studio-tabs button {
  border: 0;
  background: none;
  padding: 11px 16px;
  border-radius: 8px;
  white-space: nowrap;
  color: #53635e;
}
.studio-tabs .active {
  background: #e9f3ee;
  color: #145441;
  font-weight: 700;
}
.studio-layout {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}
.studio-editor {
  padding: 24px;
  border-right: 1px solid var(--line);
  min-width: 0;
}
.studio-editor fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.studio-editor h3 {
  font-size: 22px;
  line-height: 1.25;
  margin: 8px 0 20px;
}
.studio-editor .field {
  margin-bottom: 18px;
}
.studio-editor textarea {
  width: 100%;
  resize: vertical;
  min-height: 80px;
}
.studio-editor small {
  display: block;
  line-height: 1.6;
  color: #697a72;
}
.studio-note {
  display: flex;
  gap: 12px;
  background: #eff6f2;
  padding: 16px;
  border-radius: 12px;
  font-size: 13px;
  margin-top: 24px;
}
.studio-note svg {
  flex-shrink: 0;
}
.studio-note p {
  margin: 0;
}
.studio-field-card {
  padding: 16px;
  border: 1px solid #dde6df;
  border-radius: 12px;
  margin: 16px 0;
  background: #fbfdfb;
}
.studio-field-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 14px;
}
.studio-field-actions strong {
  flex: 1;
}
.studio-preview {
  background: #edf1ed;
  min-width: 0;
  padding: 22px;
}
.studio-preview > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.studio-preview small {
  display: block;
  font-size: 11px;
  color: #6c7b72;
  max-width: 330px;
  margin-top: 5px;
}
.studio-device {
  display: flex;
  gap: 4px;
}
.studio-device button {
  border: 1px solid #d9e3da;
  background: white;
  border-radius: 8px;
  padding: 9px;
}
.studio-device .active {
  background: #d4e7db;
  color: #195f48;
}
.studio-preview-frame {
  max-height: 900px;
  overflow: auto;
  container-type: inline-size;
  overscroll-behavior: contain;
  border: 1px solid #d9e3da;
  border-radius: 18px;
  background: white;
  margin: auto;
}
.studio-preview-frame.mobile {
  max-width: 390px;
}
.studio-preview-frame .booking {
  padding: 20px;
}
.studio-preview-frame .booking-grid {
  grid-template-columns: minmax(0, 1fr);
}
.studio-preview-frame .booking-intro h1 {
  font-size: 30px;
}
.studio-preview-frame .booking-aside {
  position: static;
}
.studio-preview-frame .booking-top {
  flex-wrap: wrap;
  gap: 16px;
}
.studio-preview-frame .booking-intro {
  margin: 24px 0;
}
.studio-preview-frame .steps {
  font-size: 12px;
  gap: 8px;
}
.embed-code {
  font-family: ui-monospace, monospace;
  font-size: 11px;
  line-height: 1.6;
  background: #f8faf8;
}
.install-steps {
  padding-left: 20px;
  color: #586a60;
  line-height: 1.7;
}
.install-steps li {
  padding-bottom: 12px;
}
.booking-review {
  margin: 18px 0;
}
.booking-review summary {
  font-weight: 700;
  cursor: pointer;
  padding: 12px 0;
}
.booking .field textarea {
  padding: 12px;
  border: 1px solid #d9e3da;
  border-radius: 10px;
  min-height: 100px;
}
.booking .booking-fields ~ .field {
  margin: 18px 0;
}
.booking .field > input[type=checkbox] {
  width: 20px;
  height: 20px;
}
.public-booking:has(.compact) {
  padding: 0;
}
.public-booking .booking.compact {
  padding: 20px;
  min-height: 0;
}
.booking-success {
  min-height: 400px;
}
@container (max-width:450px) {
  .studio-preview-frame .two-col {
    grid-template-columns: 1fr;
  }
  .studio-preview-frame .booking {
    padding: 16px;
  }
  .studio-preview-frame .booking-top .brand {
    font-size: 16px;
  }
  .studio-preview-frame .steps span {
    font-size: 11px;
  }
  .studio-preview-frame .booking-intro h1 {
    font-size: 26px;
  }
}
@media (max-width:1100px) {
  .studio-layout {
    grid-template-columns: 1fr;
  }
  .studio-editor {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .studio-preview-frame.desktop {
    max-width: 760px;
  }
  .studio-preview-frame.desktop .booking-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:600px) {
  .studio-intro,
  .studio-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .studio-toolbar,
  .studio-editor,
  .studio-preview {
    padding: 16px;
  }
  .studio-tabs {
    padding: 10px;
  }
  .studio-preview > header {
    align-items: start;
  }
  .studio-preview-frame .booking {
    padding: 12px;
  }
  .studio-preview-frame .steps span {
    font-size: 10px;
  }
  .studio-intro h2 {
    font-size: 26px;
  }
  .studio-editor .two-col {
    grid-template-columns: 1fr;
  }
}
.public-booking:has(.compact) {
  min-height: 0;
}
.booking:has(.languages) {
  --accent:var(--green);
}
.booking .btn.primary {
  background: var(--green);
  border-color: var(--green);
}
.booking .steps > span.active {
  color: var(--green);
}
.booking .steps > span.active b {
  color: var(--green);
  background: color-mix(in srgb, var(--green) 10%, white);
  border-color: color-mix(in srgb, var(--green) 30%, white);
}
.booking .booking-aside {
  background: color-mix(in srgb, var(--green) 7%, white);
  border-color: color-mix(in srgb, var(--green) 20%, white);
}
.booking .booking-price,
.booking .vehicle-chip,
.booking .route-line span {
  color: var(--green);
}
.booking .languages button.active {
  color: var(--green);
  background: color-mix(in srgb, var(--green) 10%, white);
}
.booking-main form > .field {
  margin: 16px 28px;
}
.studio-preview-frame .steps {
  padding: 18px 14px;
}
.studio-preview-frame .booking-fields {
  padding: 22px 18px;
}
.studio-preview-frame .booking-actions {
  padding: 18px;
}
.studio-preview-frame.mobile .two-col {
  grid-template-columns: 1fr;
}
.booking .booking-main {
  border-radius: 24px;
  box-shadow: 0 14px 45px #183d3710;
  overflow: hidden;
}
.booking .booking-intro {
  max-width: 670px;
}
.booking .booking-intro h1 {
  letter-spacing: -1.8px;
  line-height: 1.1;
}
.booking .booking-fields h2 {
  letter-spacing: -.6px;
}
.booking .field input,
.booking .field select {
  min-height: 48px;
  background: #fcfdfc;
}
.booking .field input:focus,
.booking .field select:focus {
  outline: 3px solid color-mix(in srgb, var(--green) 18%, transparent);
  border-color: var(--green);
}
.booking .booking-aside {
  border-radius: 24px;
}
.return-card {
  border: 1px solid #d9e4dd;
  border-radius: 16px;
  padding: 18px;
  margin: 22px 0;
  background: #f8faf8;
}
.return-card.selected {
  border-color: var(--green);
  background: color-mix(in srgb, var(--green) 4%, white);
}
.return-card .check-line {
  align-items: flex-start;
  margin: 0;
}
.return-card input[type=checkbox] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  accent-color: var(--green);
}
.return-card small {
  display: block;
  line-height: 1.5;
  color: #63776b;
  margin-top: 5px;
}
.return-fields {
  display: grid;
  gap: 16px;
  padding-top: 20px;
}
.payment-methods {
  border: 0;
  padding: 0;
  margin: 22px 0;
}
.payment-methods legend {
  font-weight: 700;
  margin-bottom: 12px;
}
.payment-methods > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.payment-methods label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid #d9e4dd;
  border-radius: 12px;
  font-size: 14px;
}
.payment-methods label.selected {
  border-color: var(--green);
  background: color-mix(in srgb, var(--green) 7%, white);
}
.payment-methods input {
  accent-color: var(--green);
}
.payment-methods .unavailable {
  grid-column: 1/-1;
  color: #7b857f;
  background: #f3f5f3;
}
.booking .booking-review {
  padding: 0 16px;
  background: #f8faf8;
  border-radius: 14px;
}
.booking .booking-actions .btn.primary {
  min-height: 48px;
  border-radius: 12px;
}
@media (max-width:500px) {
  .booking .booking-intro h1 {
    font-size: 32px;
  }
  .booking .booking-fields {
    padding: 22px 18px;
  }
  .payment-methods label {
    padding: 12px 9px;
  }
  .return-card {
    padding: 14px;
  }
}
.drawer-backdrop {
  justify-content: flex-end !important;
  align-items: stretch !important;
  padding: 0 !important;
}
.modal.ride-drawer {
  margin: 0 !important;
  width: min(600px, 100vw);
  max-width: 100vw;
  max-height: 100dvh;
  height: 100dvh;
  border-radius: 24px 0 0 24px;
  animation: drawer-in .22s ease-out;
  overflow: auto;
}
.ride-drawer > header {
  position: sticky;
  top: 0;
  z-index: 4;
  background: white;
  border-bottom: 1px solid #e3e9e5;
}
.drawer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0;
}
.drawer-editor {
  padding: 20px;
  border: 1px solid #dce5de;
  background: #f8faf8;
  border-radius: 16px;
  margin: 20px 0;
}
.drawer-editor h3 {
  margin-top: 0;
}
.billing-attention {
  padding: 22px;
  margin-bottom: 24px;
}
.alert-item small {
  display: block;
  color: #67766e;
  margin-top: 5px;
}
.status-tabs {
  flex-wrap: wrap;
}
.share-line a[aria-disabled=true] {
  opacity: .45;
  pointer-events: none;
}
@keyframes drawer-in {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@media (prefers-reduced-motion:reduce) {
  .modal.ride-drawer {
    animation: none;
  }
}
@media (max-width:600px) {
  .modal.ride-drawer {
    border-radius: 0;
    width: 100vw;
  }
  .drawer-actions .btn {
    width: 100%;
  }
}
.sidebar-scrim {
  background: rgba(255, 255, 255, .32) !important;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.ride-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 110;
  background: transparent;
}
.ride-context-menu {
  position: absolute;
  width: 250px;
  padding: 8px;
  background: white;
  border: 1px solid #e0e6e2;
  border-radius: 14px;
  box-shadow: 0 18px 60px #12251a30;
  max-height: 90dvh;
  overflow: auto;
}
.ride-context-menu button {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: white;
  border-radius: 8px;
  padding: 12px 14px;
}
.ride-context-menu button:hover,
.ride-context-menu button:focus {
  background: #f0f4f1;
}
.ride-block,
.table-route {
  -webkit-touch-callout: none;
  user-select: none;
}
.ride-context-menu {
  min-height: 0;
}
.driver-portal {
  max-width: 680px;
  margin: auto;
  padding: 24px 18px 80px;
  min-height: 100dvh;
  background: #f8faf9;
}
.driver-portal > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e0e6e2;
  padding-bottom: 20px;
  margin-bottom: 28px;
}
.driver-portal > header strong {
  font-size: 26px;
  color: #193d32;
}
.driver-portal small {
  display: block;
  color: #65776d;
}
.driver-portal h1 {
  font-size: 36px;
  letter-spacing: -1px;
}
.driver-trip {
  width: 100%;
  text-align: left;
  background: white;
  border: 1px solid #dbe5de;
  border-radius: 18px;
  padding: 20px;
  margin: 10px 0;
  display: grid;
  gap: 10px;
}
.driver-trip > span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #59705f;
}
.driver-trip > strong {
  font-size: 19px;
}
.driver-trip > b {
  color: #17634b;
  font-size: 12px;
}
.driver-trip.done {
  background: #edf2ee;
}
.driver-detail {
  margin-top: 24px;
  background: white;
  border: 1px solid #dbe5de;
  border-radius: 20px;
  padding: 22px;
}
.driver-contact {
  display: flex;
  gap: 12px;
}
.driver-contact a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #eef5f0;
  border-radius: 12px;
  text-decoration: none;
  color: #1c6149;
}
.driver-detail textarea {
  width: 100%;
  min-height: 90px;
}
.driver-detail .notice {
  white-space: pre-wrap;
}
.modal.ride-drawer {
  width: min(440px, 100vw);
  border-radius: 16px 0 0 16px;
}
.ride-drawer > header {
  padding: 14px 18px;
}
.ride-drawer > header p {
  display: none;
}
.ride-drawer > header h2 {
  font-size: 19px;
}
.ride-drawer .ride-detail {
  padding: 16px 18px;
}
.ride-drawer .detail-top {
  margin-bottom: 12px;
  gap: 8px;
  font-size: 11px;
  flex-wrap: wrap;
}
.ride-action-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin: 0 0 18px;
}
.ride-action-grid .btn {
  width: 100%;
  min-height: 38px;
  padding: 9px 10px;
  font-size: 12px;
  justify-content: flex-start;
  border: 1px solid #dce3df;
  border-radius: 8px;
  gap: 7px;
  background: #fff;
  box-shadow: none;
}
.ride-action-grid .btn.whatsapp-action {
  grid-column: 1/-1;
  background: #eaf6ee;
  border-color: #c9e6d2;
  color: #176137;
  justify-content: center;
}
.ride-action-grid .btn:disabled {
  opacity: .38;
}
.ride-drawer .detail-route {
  margin: 14px 0;
  gap: 12px;
}
.ride-drawer .detail-route b {
  font-size: 17px;
}
.ride-drawer .detail-route small {
  font-size: 12px;
}
.ride-drawer .detail-route > div {
  gap: 10px;
}
.ride-drawer .detail-pills {
  gap: 5px;
  margin: 12px 0;
}
.ride-drawer .detail-pills > span {
  font-size: 10px;
  padding: 6px 8px;
}
.ride-drawer .detail-list {
  margin: 12px 0;
}
.ride-drawer .detail-list > div {
  grid-template-columns: 90px 1fr;
  padding: 7px 0;
  gap: 10px;
}
.ride-drawer .detail-list dt,
.ride-drawer .detail-list dd {
  font-size: 12px;
  line-height: 1.45;
}
.ride-drawer .detail-price {
  padding: 12px 0;
  margin: 8px 0;
}
.ride-drawer .detail-price strong {
  font-size: 22px;
}
.ride-drawer .assignment,
.ride-drawer .drawer-editor {
  padding: 14px;
  margin: 12px 0;
  border-radius: 10px;
}
.ride-drawer .drawer-editor .editor-form {
  padding: 0;
  gap: 14px;
}
.ride-drawer .assignment h3,
.ride-drawer .drawer-editor h3 {
  font-size: 15px;
}
.ride-drawer .assignment p,
.ride-drawer .drawer-editor p,
.compact-note {
  font-size: 12px;
  line-height: 1.5;
  color: #64736b;
}
.ride-drawer .assignment .btn {
  margin-top: 8px;
}
.ride-drawer .drawer-editor .field input,
.ride-drawer .drawer-editor .field select {
  min-height: 40px;
}
@media (max-width:440px) {
  .modal.ride-drawer {
    border-radius: 0;
  }
  .ride-drawer .ride-detail {
    padding: 14px;
  }
}
.whatsapp-phone {
  grid-column: 1/-1;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  border: 1px solid #dce3df;
  border-radius: 8px;
  padding: 8px 10px;
  font: inherit;
  font-size: 12px;
  background: white;
}
.ride-drawer .drawer-editor > .btn {
  margin-top: 10px;
}
.ride-drawer .drawer-editor > .text-btn {
  margin-top: 12px;
}
.drawer-backdrop {
  background: rgba(255, 255, 255, .28);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.agenda-combine-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 16px 20px;
  background: #edf5f0;
  border-block: 1px solid #d8e7dd;
}
.agenda-combine-bar > div {
  flex: 1;
  min-width: 180px;
}
.agenda-combine-bar p,
.agenda-combination p {
  font-size: 12px;
  margin: 5px 0 0;
  color: #63756b;
}
.agenda-combine-bar .btn {
  font-size: 12px;
}
.agenda-combinations {
  display: grid;
  gap: 8px;
  padding: 0 20px;
}
.agenda-combination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  margin-top: 10px;
  border: 1px solid #c8ded2;
  border-left: 4px solid #276f50;
  border-radius: 9px;
  background: #f5faf7;
  font-size: 13px;
}
.ride-block.selectable {
  cursor: pointer;
}
.ride-block.selected {
  outline: 3px solid #1a7750;
  outline-offset: 2px;
  background: #d6eddf !important;
}
.agenda-combine-list {
  padding: 16px;
  display: grid;
  gap: 8px;
}
.agenda-combine-list label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid #dce7df;
  border-radius: 9px;
}
.agenda-combine-list input {
  width: 20px;
  height: 20px;
  accent-color: #1a7750;
}
.agenda-combine-list small {
  display: block;
  margin-top: 5px;
  color: #617366;
}
.combination-start {
  white-space: nowrap;
}
.share-option-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}
.share-option-buttons .btn {
  font-size: 11px;
  padding: 10px 7px;
  gap: 5px;
}
.generated-ride-link {
  border-top: 1px solid #dbe3de;
  margin-top: 14px;
  padding-top: 12px;
}
.generated-ride-link .btn {
  margin-top: 8px;
}
.generated-ride-link input {
  font-size: 12px !important;
}
.booking {
  max-width: 960px;
  margin-inline: auto;
}
.public-booking {
  padding: 22px 20px 40px;
}
.booking .booking-top {
  padding-bottom: 16px;
}
.booking .booking-intro {
  margin: 22px 0 24px;
  max-width: 640px;
}
.booking .booking-intro h1 {
  font-size: 34px;
  letter-spacing: -1px;
  line-height: 1.15;
  margin: 8px 0 10px;
}
.booking .booking-intro p {
  font-size: 14px;
  line-height: 1.5;
}
.booking .booking-grid {
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 20px;
}
.booking .booking-main,
.booking .booking-aside {
  border-radius: 16px;
}
.booking .steps {
  padding: 18px 22px;
  font-size: 12px;
}
.booking .booking-fields,
.booking.compact .booking-fields {
  padding: 22px 24px 6px;
  gap: 16px;
}
.booking .booking-fields h2 {
  font-size: 23px;
  margin: 0 0 6px;
}
.booking .field > span {
  font-size: 12px;
  margin-bottom: 6px;
}
.booking .field input,
.booking .field select {
  min-height: 42px;
  padding: 10px 12px;
  font-size: 14px;
  border-radius: 8px;
}
.booking .field small {
  font-size: 11px;
  line-height: 1.45;
  margin-top: 5px;
}
.booking .booking-actions {
  padding: 20px 24px;
}
.booking .booking-actions .btn {
  min-height: 42px;
  padding: 11px 18px;
  border-radius: 9px;
  font-size: 13px;
}
.booking .booking-aside {
  padding: 22px;
}
.booking .booking-price {
  font-size: 36px;
  letter-spacing: -1px;
  margin: 10px 0;
}
.booking .route-line {
  margin: 20px 0;
  gap: 16px;
}
.booking .vehicle-chip {
  padding: 12px;
}
.booking .payment-methods {
  margin: 14px 0;
}
.booking .payment-methods label {
  padding: 11px;
  font-size: 12px;
}
.booking .return-card {
  margin: 12px 0;
  padding: 14px;
  border-radius: 10px;
}
.booking .counter {
  padding: 10px;
}
.street-field {
  position: relative;
  min-width: 0;
}
.street-suggestions {
  position: absolute;
  top: calc(100% - 22px);
  left: 0;
  right: 0;
  z-index: 25;
  padding: 5px;
  background: white;
  border: 1px solid #d2ded7;
  border-radius: 10px;
  box-shadow: 0 12px 30px #13291c18;
  max-height: 250px;
  overflow: auto;
}
.street-suggestions button {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  padding: 10px 9px;
  border: 0;
  background: white;
  text-align: left;
  font-size: 13px;
  border-radius: 6px;
}
.street-suggestions button:hover,
.street-suggestions button[aria-selected=true] {
  background: #edf5f0;
}
.street-suggestions svg {
  flex-shrink: 0;
}
.booking .booking-main {
  overflow: visible;
}
@media (max-width:700px) {
  .booking .booking-grid,
  .booking.compact .booking-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .public-booking {
    padding: 16px 14px 28px;
  }
  .booking .booking-intro {
    margin: 16px 0 18px;
  }
  .booking .booking-intro h1 {
    font-size: 27px;
  }
  .booking .booking-intro p {
    font-size: 12px;
  }
  .booking .booking-fields,
  .booking.compact .booking-fields {
    padding: 18px 16px 4px;
    gap: 14px;
  }
  .booking .booking-fields h2 {
    font-size: 21px;
  }
  .booking .booking-aside {
    order: -1;
    position: static;
    padding: 12px 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 5px;
  }
  .booking .booking-aside > * {
    display: none;
  }
  .booking .booking-aside > .price-label,
  .booking .booking-aside > .booking-price {
    display: block;
    margin: 0;
  }
  .booking .booking-price {
    font-size: 27px;
  }
  .booking .steps {
    padding: 15px 16px;
  }
  .booking .field input,
  .booking .field select {
    font-size: 16px;
    min-height: 42px;
  }
  .booking .booking-actions {
    padding: 18px 16px;
  }
  .booking .booking-fields > .two-col:not(.counters) {
    gap: 14px;
  }
  .street-suggestions {
    top: 100%;
  }
}
.settings-workspace {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.settings-tabs {
  display: grid;
  gap: 5px;
  position: sticky;
  top: 90px;
}
.settings-tabs button,
.settings-tabs a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  padding: 12px 13px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #4e6659;
  font: inherit;
  font-size: 13px;
  text-decoration: none;
}
.settings-tabs .active {
  background: #e4efe7;
  color: #193e2a;
  font-weight: 700;
}
.settings-tabs a {
  font-size: 12px;
  border-top: 1px solid #e0e7e2;
  border-radius: 0;
}
.settings-main .panel-heading {
  padding: 22px 24px;
}
.settings-main .panel-heading p {
  max-width: 640px;
  line-height: 1.6;
}
.settings-main .editor-form {
  padding: 22px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.settings-main .editor-form > .btn,
.settings-main .editor-form > .error {
  grid-column: 1/-1;
}
.settings-main .check-line {
  background: #f6f9f6;
  border: 1px solid #e3e9e4;
  border-radius: 9px;
  padding: 12px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  font-size: 12px;
  line-height: 1.5;
}
.settings-main textarea {
  min-height: 110px;
  width: 100%;
  padding: 12px;
  font: inherit;
  font-size: 13px;
  border: 1px solid #dce4de;
  border-radius: 8px;
  resize: vertical;
}
.settings-shortcuts {
  padding: 0 24px 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.completion-time {
  display: block;
  color: #7a887f;
  margin-top: 3px;
}
.policy-link {
  margin-left: 14px;
}
.booking-review > a {
  font-size: 12px;
}
.driver-detail input {
  width: 100%;
  padding: 12px;
  border: 1px solid #d5e1d9;
  border-radius: 8px;
  font: inherit;
}
@media (max-width:850px) {
  .settings-workspace {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .settings-tabs {
    position: static;
    display: flex;
    overflow: auto;
    padding-bottom: 6px;
  }
  .settings-tabs button,
  .settings-tabs a {
    white-space: nowrap;
    gap: 10px;
    flex-shrink: 0;
  }
  .settings-main .editor-form {
    padding: 18px;
  }
  .settings-main .panel-heading {
    padding: 18px;
  }
}
@media (max-width:540px) {
  .settings-main .editor-form {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .settings-main .field input,
  .settings-main .field select,
  .settings-main textarea {
    font-size: 16px;
  }
}
.modal.ride-drawer {
  box-shadow: -12px 0 48px #162c4420;
  border-left: 1px solid #d8e2e9;
  background: #fff;
}
.ride-drawer > header {
  background:
    linear-gradient(
      115deg,
      #f2f7fc,
      #fff);
  padding: 16px 20px;
  border-top: 3px solid #197564;
  border-bottom: 1px solid #dfe7ec;
}
.ride-drawer > header h2 {
  font-size: 20px;
  font-weight: 750;
  letter-spacing: -.5px;
  color: #16364a;
}
.ride-drawer > header .icon-btn {
  background: white;
  border: 1px solid #dce5ea;
  border-radius: 10px;
  box-shadow: 0 2px 5px #18304508;
}
.ride-drawer .detail-top {
  padding: 2px 0 5px;
}
.ride-drawer .detail-top > strong {
  font-size: 11px;
  letter-spacing: .5px;
  color: #496575;
}
.ride-drawer .badge {
  font-size: 11px;
  padding: 6px 9px;
  border: 1px solid #e0e7de;
}
.ride-action-grid {
  gap: 8px;
  margin-bottom: 16px;
}
.ride-action-grid .btn {
  background: #f7f9fc;
  border-color: #dbe4eb;
  color: #274558;
  font-weight: 650;
  box-shadow: 0 1px 2px #1830430a;
  transition: background .15s, border-color .15s;
}
.ride-action-grid .btn:hover:not(:disabled) {
  background: #edf4f7;
  border-color: #9dbcb0;
}
.ride-action-grid .btn svg {
  color: #347b64;
}
.ride-action-grid .btn.whatsapp-action {
  min-height: 42px;
  background:
    linear-gradient(
      110deg,
      #17654f,
      #21836a);
  border-color: #17654f;
  color: white;
  box-shadow: 0 3px 8px #19756424;
}
.ride-action-grid .btn.whatsapp-action svg {
  color: white;
}
.ride-action-grid .btn.whatsapp-action:hover:not(:disabled) {
  background: #145942;
  border-color: #145942;
}
.ride-drawer .detail-route {
  background:
    linear-gradient(
      110deg,
      #f0f6fb,
      #f5faf7);
  border: 1px solid #d8e7ed;
  border-radius: 12px;
  padding: 16px;
  margin: 16px 0 12px;
}
.ride-drawer .detail-route b {
  color: #163e57;
  font-size: 18px;
  letter-spacing: -.4px;
}
.ride-drawer .detail-route > div > svg {
  color: #287957;
  background: white;
  box-sizing: content-box;
  padding: 6px;
  border-radius: 8px;
  border: 1px solid #dbe9df;
  width: 17px;
  height: 17px;
}
.ride-drawer .detail-route small {
  color: #5a7180;
}
.ride-drawer .detail-pills > span {
  background: #f0f4f8;
  border: 1px solid #e0e8ee;
  color: #38546b;
  font-weight: 550;
  border-radius: 7px;
}
.ride-drawer .detail-list {
  border-top: 1px solid #edf1f4;
}
.ride-drawer .detail-list > div {
  padding: 9px 0;
  border-bottom: 1px solid #edf1f4;
}
.ride-drawer .detail-list dt {
  color: #67808e;
  font-size: 11px;
}
.ride-drawer .detail-list dd {
  color: #213e50;
  font-size: 12px;
}
.ride-drawer .detail-list > div:first-child dd {
  font-weight: 700;
  font-size: 14px;
}
.ride-drawer .detail-list a {
  color: #17654f;
  text-decoration: none;
  font-weight: 550;
}
.ride-drawer .detail-price {
  border: 1px solid #d6e7de;
  border-radius: 10px;
  background: #eef7f2;
  padding: 14px;
  margin-top: 15px;
  color: #20543d;
}
.ride-drawer .detail-price strong {
  font-size: 24px;
  letter-spacing: -.5px;
}
.ride-drawer .drawer-editor,
.ride-drawer .assignment {
  background: #f6f9fc;
  border-color: #dce6ef;
}
.ride-drawer .drawer-editor h3,
.ride-drawer .assignment h3 {
  color: #21475e;
}
.share-ride-picker {
  font-size: 12px;
  margin: 12px 0;
}
.share-ride-picker summary {
  cursor: pointer;
  font-weight: 600;
  color: #315b48;
}
.share-ride-picker > div {
  max-height: 220px;
  overflow: auto;
  padding-top: 8px;
}
.share-ride-picker label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid #dfe8e2;
}
.share-ride-picker label strong {
  display: block;
  font-size: 11px;
  margin-top: 3px;
}
.driver-v2 {
  max-width: 800px;
  padding: 20px 22px 36px;
  background: #f6f8fb;
}
.driver-v2 > header {
  padding-bottom: 14px;
  margin-bottom: 22px;
}
.driver-v2 > header strong {
  font-size: 23px;
}
.driver-welcome {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 24px;
}
.driver-company-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: #1a6550;
  color: #fff;
  border-radius: 14px;
  font-size: 24px;
  font-weight: 700;
  box-shadow: 0 4px 12px #17654f20;
}
.driver-welcome h1 {
  font-size: 25px;
  margin: 0 0 5px;
  color: #183d4c;
  letter-spacing: -.6px;
}
.driver-welcome p {
  margin: 0;
  color: #5f7280;
  font-size: 14px;
}
.driver-filter {
  display: flex;
  gap: 5px;
  background: #eaf0f4;
  border-radius: 10px;
  padding: 5px;
  margin-bottom: 12px;
}
.driver-filter button {
  flex: 1;
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  padding: 10px 5px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #607686;
  font-size: 12px;
}
.driver-filter button.active {
  background: white;
  color: #1d5c46;
  box-shadow: 0 1px 4px #19304814;
  font-weight: 700;
}
.driver-filter b {
  font-size: 11px;
  padding: 2px 5px;
  background: #e7f1eb;
  border-radius: 5px;
}
.driver-search {
  display: flex;
  gap: 8px;
  align-items: center;
  border: 1px solid #dce5eb;
  border-radius: 9px;
  background: white;
  padding: 0 12px;
  color: #79909d;
}
.driver-search input {
  border: 0;
  background: transparent;
  outline: none;
  padding: 12px 0;
  width: 100%;
  font: inherit;
  font-size: 13px;
}
.driver-day-list h2 {
  font-size: 12px;
  text-transform: capitalize;
  letter-spacing: .3px;
  color: #617b89;
  margin: 22px 0 9px;
}
.driver-ride-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  background: white;
  border: 1px solid #dfe7ec;
  border-radius: 10px;
  margin-bottom: 7px;
  padding: 14px 12px;
  text-align: left;
  color: #264857;
  box-shadow: 0 1px 3px #19344806;
}
.driver-time {
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  color: #1a634c;
}
.driver-row-info {
  flex: 1;
  min-width: 0;
}
.driver-row-info > strong {
  display: block;
  font-size: 13px;
  line-height: 1.4;
}
.driver-row-info small {
  font-size: 11px;
  margin-top: 4px;
  line-height: 1.4;
}
.driver-row-status {
  font-size: 10px;
  padding: 5px 7px;
  border-radius: 6px;
  background: #eef3f7;
  white-space: nowrap;
}
.driver-row-status.completed {
  background: #e9f5ee;
  color: #27724b;
}
.driver-row-status.cancelled {
  background: #f9eded;
  color: #9b5252;
}
.driver-back {
  display: flex;
  gap: 8px;
  align-items: center;
  border: 0;
  background: transparent;
  color: #315b70;
  padding: 0 0 14px;
  font-size: 13px;
  font-weight: 600;
}
.driver-v2 .driver-detail {
  margin: 0;
  border-radius: 14px;
  padding: 20px;
  border-color: #dae5ec;
}
.driver-detail-heading {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 11px;
  color: #708895;
}
.driver-route {
  background: #f1f7fa;
  border: 1px solid #e1ebf0;
  border-radius: 10px;
  padding: 14px;
  margin: 16px 0;
}
.driver-route h2 {
  font-size: 20px;
  color: #19435a;
  line-height: 1.35;
  margin: 0 0 12px;
}
.driver-route h2 span {
  color: #709785;
}
.driver-route p {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 7px 0;
  color: #547182;
  font-size: 13px;
}
.driver-v2 .driver-detail h3 {
  font-size: 17px;
}
.driver-v2 .driver-contact a {
  padding: 10px 13px;
  font-size: 13px;
}
.driver-contact-text {
  font-size: 12px;
  line-height: 1.6;
  color: #6a808b;
}
.driver-facts {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.driver-facts > span {
  padding: 7px 9px;
  background: #eef3f7;
  color: #446376;
  border-radius: 6px;
  font-size: 11px;
}
.driver-notes {
  padding: 13px;
  border-left: 3px solid #8dbaa3;
  background: #f2f8f4;
  margin-top: 16px;
  font-size: 13px;
  white-space: pre-wrap;
}
.driver-notes p {
  margin: 7px 0 0;
  line-height: 1.6;
}
.driver-actions {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}
.driver-actions .btn {
  flex: 1;
  min-height: 42px;
  font-size: 13px;
}
.driver-confirm {
  border-top: 1px solid #e1e9ed;
  margin-top: 20px;
  padding-top: 12px;
}
.driver-status-done {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #27734d;
  padding: 14px;
  background: #eaf5ee;
  border-radius: 8px;
}
.driver-footer {
  display: grid;
  gap: 12px;
  margin-top: 26px;
  color: #83949e;
  font-size: 11px;
}
.driver-footer a {
  display: flex;
  gap: 7px;
  align-items: center;
  color: #2b6952;
  text-decoration: none;
  font-size: 12px;
}
.driver-empty {
  padding: 30px 12px;
  color: #758995;
  text-align: center;
  font-size: 13px;
}
@media (max-width:500px) {
  .driver-v2 {
    padding: 16px 12px 28px;
  }
  .driver-welcome {
    gap: 10px;
  }
  .driver-welcome h1 {
    font-size: 22px;
  }
  .driver-filter button {
    font-size: 11px;
  }
  .driver-ride-row {
    gap: 8px;
    padding: 12px 10px;
  }
  .driver-row-status {
    display: none;
  }
  .driver-v2 .driver-detail {
    padding: 16px;
  }
  .driver-search input {
    font-size: 16px;
  }
}
.booking.mobile {
  max-width: 480px;
  width: 100%;
  margin-inline: auto;
  padding: 12px;
}
.booking.mobile .booking-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.booking.mobile .booking-intro {
  margin: 16px 0;
}
.booking.mobile .booking-intro h1 {
  font-size: 26px;
  line-height: 1.15;
}
.booking.mobile .booking-intro p {
  font-size: 12px;
}
.booking.mobile .booking-aside {
  order: -1;
  position: static;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 12px 14px;
}
.booking.mobile .booking-aside > * {
  display: none;
}
.booking.mobile .booking-aside > .price-label,
.booking.mobile .booking-aside > .booking-price {
  display: block;
  margin: 0;
}
.booking.mobile .booking-price {
  font-size: 27px;
}
.booking.mobile .booking-fields {
  padding: 18px 16px 4px;
  gap: 14px;
}
.booking.mobile .booking-fields h2 {
  font-size: 21px;
}
.booking.mobile .booking-fields > .two-col:not(.counters) {
  grid-template-columns: 1fr;
  gap: 14px;
}
.booking.mobile .field input,
.booking.mobile .field select {
  font-size: 16px;
  min-height: 44px;
}
.booking.mobile .steps {
  padding: 15px 16px;
  gap: 12px;
}
.booking.mobile .steps > span {
  font-size: 11px;
  gap: 6px;
}
.booking.mobile .booking-actions {
  padding: 18px 16px;
}
.booking.mobile .booking-actions .btn {
  min-height: 44px;
}
.mobile-install {
  border-top: 1px solid #dce6df;
  padding-top: 20px;
  margin-top: 24px;
}
.mobile-install h3 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mobile-install > p {
  font-size: 13px;
  color: #698073;
  line-height: 1.6;
}
.mobile-install .field {
  margin: 16px 0;
}
.booking.mobile .brand {
  font-size: 12px;
}
.booking.mobile .brand-symbol {
  width: 32px;
  height: 32px;
}
.booking.mobile .brand small {
  font-size: 9px;
}
.booking.mobile .languages button {
  padding: 6px;
  font-size: 10px;
}
.booking.mobile .counter {
  gap: 5px;
}
.booking.mobile .counter > span {
  font-size: 11px;
}
.booking.mobile .counter > input {
  font-size: 16px;
  width: 44px;
}
.central-overview {
  padding: 18px 22px 22px;
}
.central-intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.central-intro > span {
  font-size: 13px;
  font-weight: 650;
  color: #244e40;
}
.central-intro p {
  font-size: 11px;
  color: #71858f;
  margin: 0;
  text-transform: capitalize;
}
.central-counts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.central-counts > div {
  position: relative;
  display: grid;
  gap: 5px;
  padding: 17px 18px;
  background:
    linear-gradient(
      120deg,
      #eaf4ee,
      #f6faf7);
  border: 1px solid #d7e9df;
  border-radius: 12px;
  color: #245d43;
}
.central-counts > div.billing {
  background:
    linear-gradient(
      120deg,
      #edf3fb,
      #f8faff);
  border-color: #d9e4f2;
  color: #3a6389;
}
.central-counts svg {
  position: absolute;
  right: 15px;
  top: 17px;
  opacity: .7;
}
.central-counts strong {
  font-size: 35px;
  letter-spacing: -1px;
  line-height: 1;
}
.central-counts span {
  font-size: 12px;
  font-weight: 600;
}
.central-counts small {
  font-size: 12px;
  opacity: .75;
}
.central-overview > section {
  margin-bottom: 20px;
}
.central-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  gap: 10px;
}
.central-section-heading h3 {
  font-size: 13px;
  margin: 0;
  color: #2c4d5d;
}
.central-section-heading .text-btn {
  font-size: 11px;
  gap: 5px;
}
.central-ride {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 11px 0;
  background: none;
  border: 0;
  border-bottom: 1px solid #edf1f4;
  text-align: left;
  color: #375668;
}
.central-ride > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.central-ride strong {
  font-size: 12px;
  display: block;
  line-height: 1.4;
}
.central-ride small {
  display: block;
  font-size: 10px;
  color: #81909a;
  margin-top: 4px;
}
.central-ride-time {
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #296148;
  min-width: 39px;
}
.central-ride b {
  font-size: 12px;
  white-space: nowrap;
}
.central-invoice-icon {
  padding: 8px;
  background: #eef3fb;
  color: #517799;
  border-radius: 8px;
}
.central-more {
  font-size: 11px;
  color: #7d8f99;
  margin: 10px 0;
}
.central-overview > .btn {
  min-height: 42px;
}
.central-clear {
  text-align: center;
  padding: 20px;
  color: #427257;
}
.central-clear p {
  font-size: 13px;
}
@media (max-width:500px) {
  .central-overview {
    padding: 14px 16px 18px;
  }
  .central-counts {
    grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  }
  .central-intro {
    align-items: flex-start;
    flex-direction: column;
  }
  .central-counts strong {
    font-size: 31px;
  }
}
.booking-final-review {
  grid-column: 1/-1 !important;
  background: #f1f8f5 !important;
  border: 2px solid #237363 !important;
  border-radius: 16px !important;
  padding: 22px !important;
  box-shadow: 0 5px 20px #123c3310;
}
.booking-final-review h3 {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 0 0 8px;
  font-size: 22px;
  color: #154c40;
}
.booking-final-review > p {
  font-size: 14px;
  line-height: 1.6;
}
.booking-final-review .detail-list {
  margin: 16px 0;
}
.booking-final-review .detail-list dd {
  font-size: 15px;
  color: #163d33;
}
.online-confirmation-note {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 12px;
  background: #fff;
  border-radius: 10px;
}
.booking-aside {
  border: 1px solid #cbded5 !important;
  box-shadow: 0 8px 25px #17443812 !important;
}
.payment-fee-note {
  padding: 11px 14px;
  background: #eaf5ef;
  border-radius: 9px;
  font-weight: 700;
  color: #205d4e;
  font-size: 13px;
}
.booking-celebration {
  max-width: 680px;
  margin: 28px auto !important;
  padding: 32px !important;
  background:
    radial-gradient(
      circle at 90% 0%,
      #dbedbd80,
      transparent 38%),
    linear-gradient(
      155deg,
      #f3faf6,
      #fff 45%) !important;
  border: 1px solid #d6e5dd;
  border-radius: 24px;
  box-shadow: 0 15px 50px #193d3310;
}
.success-brand {
  display: flex;
  justify-content: space-between;
  font-weight: 800;
  font-size: 20px;
  color: #163e33;
}
.success-brand small {
  font-size: 11px;
  font-weight: 500;
  color: #637f72;
}
.success-orbit {
  width: 90px;
  height: 90px;
  margin: 28px auto 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dff2e4;
  box-shadow: 0 0 0 10px #edf7ed, 0 0 0 20px #f5faf3;
  color: #226e4f;
}
.booking-celebration h1 {
  font-size: 34px;
  line-height: 1.18;
  letter-spacing: -1px;
  margin-top: 10px;
  color: #153e32;
}
.booking-celebration h1 span {
  color: #65a875;
}
.success-intro {
  font-size: 16px !important;
  line-height: 1.7;
  max-width: 500px;
  margin: 15px auto 22px !important;
}
.success-ticket {
  text-align: left;
  border: 1px solid #d6e5dc;
  border-radius: 16px;
  background: white;
  padding: 4px 20px;
  margin: 22px 0;
}
.success-ticket > div {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid #e9efec;
}
.success-ticket > div:last-child {
  border: 0;
}
.success-ticket > div:first-child {
  justify-content: space-between;
  font-size: 12px;
}
.success-ticket span {
  flex: 1;
  line-height: 1.6;
}
.success-ticket span b {
  display: block;
  color: #669381;
}
.success-primary {
  display: flex !important;
  justify-content: center;
  padding: 17px !important;
  font-size: 15px !important;
  white-space: normal !important;
}
.success-help {
  font-size: 13px !important;
  line-height: 1.6;
  color: #597165;
}
.success-contact {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  border-top: 1px solid #deebe2;
  padding-top: 20px;
  margin-top: 22px;
  font-size: 14px;
}
.customer-shell {
  max-width: 1060px;
  margin: auto;
  padding: 22px;
  color: #203b32;
}
.customer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0 24px;
  border-bottom: 1px solid #dce8e1;
}
.customer-header > a {
  display: flex;
  gap: 12px;
  align-items: center;
  color: inherit;
  text-decoration: none;
  font-size: 20px;
  font-weight: 800;
}
.customer-header small {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: #6a8075;
  margin-top: 3px;
}
.customer-welcome {
  padding: 35px 0 28px;
}
.customer-welcome h1 {
  font-size: 36px;
  letter-spacing: -1px;
  margin: 9px 0;
}
.customer-welcome p {
  color: #607a6d;
  line-height: 1.6;
}
.customer-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin: 16px 0;
}
.customer-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 22px;
  align-items: start;
}
.customer-rides h2 {
  font-size: 17px;
}
.customer-rides h2 span {
  color: #778d82;
}
.customer-ride-option {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  text-align: left;
  background: white;
  border: 1px solid #e0e9e3;
  border-radius: 12px;
  padding: 16px 12px;
  margin: 9px 0;
  color: #254638;
  cursor: pointer;
}
.customer-ride-option.selected {
  border: 2px solid #347c61;
  background: #f1f8f2;
}
.customer-ride-option > span:nth-child(2) {
  flex: 1;
}
.customer-ride-option b,
.customer-ride-option small,
.customer-ride-option strong {
  display: block;
}
.customer-ride-option small {
  font-size: 11px;
  color: #748a7a;
  margin-top: 6px;
}
.customer-ride-option b {
  font-size: 10px;
}
.customer-ride-option strong {
  font-size: 13px;
}
.customer-card {
  background: white;
  border: 1px solid #dce7df;
  border-radius: 18px;
  padding: 26px;
  box-shadow: 0 5px 22px #234b3610;
}
.customer-trip-title {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #5d7968;
}
.customer-trip h2 {
  font-size: 25px;
  margin: 22px 0 5px;
}
.customer-trip h2 span {
  color: #277055;
}
.customer-route {
  display: flex;
  gap: 15px;
  padding: 15px 0;
}
.customer-route small,
.customer-route strong {
  display: block;
}
.customer-route small {
  color: #748a7b;
  font-size: 11px;
  margin-bottom: 5px;
}
.customer-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 15px 0;
}
.customer-facts span {
  font-size: 12px;
  border-radius: 7px;
  background: #eef5f0;
  padding: 8px;
}
.customer-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 18px;
  background: #eff7f1;
  border-radius: 12px;
  margin: 20px 0;
}
.customer-total strong {
  font-size: 24px;
}
.customer-total small {
  display: block;
  font-size: 11px;
  color: #6c8375;
  margin-top: 5px;
}
.customer-editor {
  border-top: 2px solid #d5e5da;
  margin-top: 22px;
  padding-top: 20px;
  display: grid;
  gap: 14px;
}
.customer-editor p {
  font-size: 13px;
  line-height: 1.6;
  color: #597566;
}
.customer-message,
.enroute-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: #e7f6e9;
  color: #225f3f;
  border-radius: 12px;
  line-height: 1.5;
}
.enroute-notice {
  margin-top: 20px;
  border: 1px solid #a9d0ae;
}
.enroute-notice p {
  margin: 4px 0;
  font-size: 12px;
}
.customer-footer {
  padding: 32px 0;
  color: #688171;
  font-size: 12px;
  line-height: 1.8;
}
.customer-footer > div {
  display: flex;
  gap: 18px;
  margin: 12px 0;
}
.customer-footer a {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #226647;
}
.review-stars {
  display: flex;
  color: #bb861d;
  gap: 6px;
}
.review-stars button {
  border: 0;
  background: transparent;
  color: #bf8a21;
  padding: 9px;
  cursor: pointer;
}
.loyalty-card {
  background:
    linear-gradient(
      140deg,
      #e6f2e6,
      #fff);
  margin-bottom: 24px;
}
.loyalty-card p {
  line-height: 1.7;
}
.loyalty-card .check-line {
  margin: 20px 0;
  align-items: flex-start;
}
.loyalty-card .btn {
  white-space: normal;
}
.personal-intro {
  margin: 25px 0;
  background: #eaf5eb;
  padding: 22px;
  border-radius: 14px;
}
.customer-reviews {
  margin: 20px 0;
}
.customer-reviews h2 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.customer-reviews article {
  border-top: 1px solid #e2ebe5;
  padding: 16px 0;
  display: grid;
  gap: 7px;
}
.customer-reviews article small {
  color: #7d8c83;
}
.customer-reviews article p {
  margin: 0;
  white-space: pre-wrap;
}
.confirmation-draft {
  margin: 16px 0;
}
.draft-content iframe {
  width: 100%;
  height: 620px;
  border: 1px solid #dce7df;
  border-radius: 12px;
  margin-top: 16px;
}
.draft-content h3 {
  font-size: 15px;
}
.driver-revenue {
  margin-bottom: 22px;
}
.backup-status {
  margin-top: 22px;
}
.agenda-search-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 0 20px 18px;
}
.agenda-search-bar input {
  flex: 1;
  min-width: 170px;
  border: 1px solid #d5e3da;
  border-radius: 9px;
  padding: 11px 14px;
}
.agenda-toolbar > select {
  border: 1px solid #d5e3da;
  border-radius: 9px;
  padding: 9px;
}
.completed-actor {
  display: block !important;
  color: #21634a !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin: 5px 0;
}
.driver-ride-row .driver-row-status {
  display: inline-flex;
}
@media (max-width:700px) {
  .customer-shell {
    padding: 15px;
  }
  .customer-layout {
    grid-template-columns: 1fr;
  }
  .customer-rides {
    display: flex;
    gap: 8px;
    overflow: auto;
    align-items: center;
    padding-bottom: 8px;
  }
  .customer-rides h2 {
    display: none;
  }
  .customer-ride-option {
    min-width: 245px;
    margin: 0;
  }
  .customer-card {
    padding: 20px;
  }
  .customer-welcome h1 {
    font-size: 29px;
  }
  .customer-trip h2 {
    font-size: 22px;
  }
  .customer-actions .btn {
    flex: 1;
    justify-content: center;
  }
  .customer-welcome {
    padding-top: 25px;
  }
  .booking-celebration {
    margin: 12px !important;
    padding: 24px 18px !important;
  }
  .booking-celebration h1 {
    font-size: 29px;
  }
  .success-brand {
    font-size: 17px;
  }
  .success-ticket {
    padding: 4px 14px;
  }
  .success-ticket > div:first-child {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .booking-final-review {
    padding: 17px !important;
  }
  .booking-final-review .detail-list div {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }
  .booking-final-review .detail-list dd {
    font-size: 15px !important;
  }
  .customer-actions .btn,
  .agenda-search-bar .btn {
    white-space: normal;
  }
  .driver-revenue .panel-heading {
    flex-wrap: wrap;
  }
  .driver-revenue input {
    max-width: 100%;
  }
}
.modal.ride-drawer {
  width: min(400px, 100vw);
}
.ride-drawer > header {
  padding: 10px 16px;
}
.ride-drawer > header h2 {
  font-size: 15px;
}
.ride-drawer .ride-detail {
  padding: 15px;
}
.ride-summary-card {
  margin-bottom: 15px;
}
.summary-reference {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 10px;
  color: #668076;
}
.summary-reference .badge {
  font-size: 10px;
  padding: 4px 7px;
}
.ride-summary-card h3 {
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.6px;
  margin: 12px 0 14px;
  color: #183b31;
}
.ride-datetime {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #edf6f1;
  border: 1px solid #cfe2d6;
  border-radius: 12px;
  padding: 13px 12px;
  text-align: left;
  color: #194b39;
  cursor: pointer;
}
.ride-datetime > span {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 16px;
  font-weight: 650;
}
.ride-datetime > strong {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 31px;
  font-weight: 800;
  letter-spacing: -1px;
  white-space: nowrap;
}
.ride-datetime:disabled {
  cursor: default;
  opacity: 1;
}
.ride-datetime:disabled > strong svg {
  display: none;
}
.ride-datetime:hover:not(:disabled) {
  border-color: #6eab8b;
  background: #e2f1e8;
}
.summary-route {
  padding: 16px 2px 8px;
}
.summary-route > div {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 3px 0 10px;
}
.summary-route b {
  display: block;
  font-size: 15px;
  color: #244a3b;
}
.summary-route small {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: #72877b;
  margin-top: 3px;
}
.route-dot {
  width: 9px;
  height: 9px;
  border: 2px solid #41846a;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 4px;
}
.route-dot.destination {
  background: #41846a;
}
.summary-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 12px;
  border-bottom: 1px solid #e1eae4;
}
.summary-price span {
  font-size: 12px;
  color: #476452;
}
.summary-price small {
  display: block;
  font-size: 10px;
  color: #7a8b80;
  margin-top: 4px;
}
.summary-price strong {
  font-size: 25px;
  color: #1c503b;
  letter-spacing: -.6px;
}
.summary-completed {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
  background: #eef8ee;
  border-radius: 8px;
  padding: 10px;
  font-size: 11px;
  color: #2b6a43;
}
.summary-executor {
  font-size: 11px;
  color: #5b7565;
  margin: 9px 0;
}
.ride-action-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 12px;
}
.ride-action-grid .btn {
  font-size: 11px;
  padding: 8px 6px;
  min-height: 34px;
  gap: 5px;
  justify-content: center;
  white-space: normal;
}
.ride-action-grid .btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.ride-action-grid .btn.whatsapp-action {
  min-height: 36px;
  font-size: 12px;
}
.ride-more-details {
  border-top: 1px solid #e3ebe5;
  margin-top: 14px;
  padding-top: 12px;
}
.ride-more-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 650;
  color: #446855;
  cursor: pointer;
  list-style: none;
}
.ride-more-details[open] > summary svg {
  transform: rotate(90deg);
}
.ride-more-details .confirmation-draft {
  margin: 12px 0 0;
}
.ride-more-details .confirmation-draft > .btn {
  font-size: 11px;
  padding: 10px;
}
.quick-time-editor {
  background: #f5f9f6;
  border: 1px solid #d9e6dd;
  border-radius: 10px;
  padding: 12px;
  margin-top: 8px;
}
.quick-time-editor .editor-form {
  padding: 0;
  gap: 10px;
}
.quick-time-editor p {
  font-size: 10px;
  line-height: 1.5;
  color: #728477;
}
.quick-time-editor .btn {
  font-size: 12px;
}
.ride-drawer .drawer-editor {
  padding: 12px;
}
.ride-drawer .compact-note {
  font-size: 10px;
  margin: 7px 0;
}
.ride-drawer .detail-list > div:first-child dd {
  font-size: 12px;
}
.ride-drawer .share-option-buttons .btn {
  font-size: 11px;
  padding: 9px 6px;
}
@media (max-width:380px) {
  .ride-datetime {
    flex-wrap: wrap;
  }
  .ride-datetime > span {
    font-size: 15px;
  }
  .ride-summary-card h3 {
    font-size: 23px;
  }
  .ride-drawer .ride-detail {
    padding: 12px;
  }
}
.agenda-panel .ride-table tbody tr:nth-child(odd) td {
  background: #fff;
}
.agenda-panel .ride-table tbody tr:nth-child(even) td {
  background: #f2f4f7;
}
.agenda-panel .ride-table tbody td {
  border-bottom: 1px solid #dfe4e9;
}
.agenda-panel .ride-table tbody tr:hover td,
.agenda-panel .ride-table tbody tr:focus-within td {
  background: #eaf0f6;
}
.agenda-combine-list > label:nth-child(even),
.timeline-lane:nth-child(odd) {
  background-color: #f2f4f7;
}
.ride-table .driver-cell {
  font-size: 12px;
  color: #33465a;
  font-weight: 650;
  gap: 8px;
  white-space: normal;
  min-width: 110px;
  max-width: 200px;
  line-height: 1.4;
}
.ride-table .driver-cell b {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  background: #e8edf3;
  border-color: #d8e0e9;
  color: #51677d;
}
.ride-price {
  display: inline-block;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.3px;
  color: #20364a;
}
.summary-price > strong {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.6px;
  line-height: 1.2;
}
.ride-summary-card .summary-executor {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  margin: 10px 0 0;
  border: 1px solid #dce4ee;
  border-radius: 9px;
  background: #f1f5fa;
  color: #566b80;
  font-size: 11px;
}
.summary-executor strong {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  color: #263e55;
}
.agenda-ride-cards {
  border-top: 1px solid #dfe4e9;
}
.agenda-ride-card {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 20px 22px;
  border: 0;
  border-bottom: 1px solid #dfe4e9;
  background: #fff;
  text-align: left;
  color: #263b4c;
  cursor: pointer;
}
.agenda-ride-card:nth-child(even) {
  background: #f2f4f7;
}
.agenda-ride-card:hover,
.agenda-ride-card:focus-visible {
  background: #eaf0f6;
}
.agenda-card-time {
  display: grid;
  gap: 6px;
  border-right: 1px solid #d9e1e8;
  padding-right: 15px;
}
.agenda-card-time strong {
  font-size: 27px;
  font-weight: 750;
  letter-spacing: -.7px;
  font-variant-numeric: tabular-nums;
  color: #233f50;
}
.agenda-card-time small {
  font-size: 12px;
  color: #657b8c;
}
.agenda-card-trip {
  display: grid;
  gap: 6px;
  min-width: 0;
  line-height: 1.4;
}
.agenda-card-trip > strong {
  font-size: 15px;
}
.agenda-card-trip > span {
  font-size: 13px;
}
.agenda-card-trip > small {
  font-size: 11px;
  color: #71818c;
}
.agenda-card-driver {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #3b5e7a;
  font-weight: 650;
}
.agenda-card-status {
  display: grid;
  justify-items: end;
  gap: 12px;
}
@media (max-width:600px) {
  .agenda-ride-card {
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 16px 12px;
  }
  .agenda-card-time strong {
    font-size: 24px;
  }
  .agenda-card-time small {
    font-size: 10px;
  }
  .agenda-card-time {
    padding-right: 8px;
  }
  .agenda-ride-card > svg {
    display: none;
  }
  .agenda-card-trip > strong {
    font-size: 13px;
  }
  .agenda-card-trip > span {
    font-size: 11px;
  }
  .agenda-card-status .badge {
    font-size: 9px;
  }
  .agenda-card-status .ride-price {
    font-size: 15px;
  }
}
.invoice-tabs {
  padding: 16px 20px;
  border-bottom: 1px solid #e0e6ed;
  overflow: auto;
}
.invoice-row-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.invoice-groups small {
  line-height: 1.7;
}
.invoice-groups > div:nth-child(even) {
  background: #f2f4f7;
}
@media (max-width:600px) {
  .invoice-row-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .invoice-groups > div {
    flex-wrap: wrap;
    gap: 12px;
  }
}
.flight-info {
  display: grid !important;
  gap: 5px;
  margin: 10px 0;
  padding: 10px 12px;
  border-radius: 9px;
  background: #eaf2fa;
  color: #375d79;
  font-size: 12px;
  line-height: 1.5;
}
.flight-info > span {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
.flight-info small {
  font-size: 11px !important;
  color: inherit !important;
}
.flight-info.attention {
  background: #fff3df;
  color: #88591d;
}
.flight-info.compact {
  padding: 6px 8px;
  font-size: 10px;
  margin: 5px 0;
}
.flight-integration {
  padding: 22px;
  margin-bottom: 20px;
}
.flight-integration h2 {
  display: flex;
  gap: 10px;
}
.flight-integration p {
  font-size: 13px;
  line-height: 1.7;
  max-width: 800px;
}
.review-summary {
  display: flex;
  gap: 35px;
  padding: 20px 0;
  border-top: 1px solid #e2e8ed;
  border-bottom: 1px solid #e2e8ed;
}
.review-average {
  display: grid;
  gap: 9px;
  min-width: 190px;
}
.review-average > strong {
  font-size: 38px;
  color: #203f34;
  line-height: 1.2;
}
.review-average strong small {
  font-size: 17px;
  color: #7c8d83;
  margin-left: 8px;
}
.review-average > small {
  font-size: 11px;
  color: #718478;
}
.rating-meter {
  position: relative;
  display: block;
  width: max-content;
  font-size: 24px;
  letter-spacing: 3px;
  line-height: 1.2;
}
.rating-meter > span:first-child {
  color: #dfe5df;
}
.rating-meter > span:last-child {
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
  overflow: hidden;
  color: #bb861d;
}
.review-distribution {
  flex: 1;
  max-width: 440px;
  display: grid;
  gap: 8px;
}
.review-distribution > div {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
}
.review-distribution > div > span:first-child {
  width: 32px;
}
.review-bar {
  height: 7px;
  background: #ecf0eb;
  flex: 1;
  border-radius: 8px;
  overflow: hidden;
}
.review-bar i {
  display: block;
  height: 100%;
  background: #bb9a40;
  border-radius: 8px;
}
.review-distribution b {
  width: 28px;
  text-align: right;
}
.review-score {
  color: #94701a;
  white-space: nowrap;
}
.review-controls,
.review-pagination {
  display: flex;
  align-items: center;
  gap: 12px;
}
.review-pagination {
  justify-content: flex-end;
  margin-top: 18px;
  font-size: 12px;
}
.customer-reviews article p {
  line-height: 1.65;
}
.customer-reviews > h3 {
  margin-top: 24px;
}
@media (max-width:600px) {
  .review-summary {
    flex-direction: column;
    gap: 20px;
  }
  .review-controls {
    flex-wrap: wrap;
  }
  .customer-reviews .panel-heading {
    flex-wrap: wrap;
    gap: 12px;
  }
}
.agenda-panel .ride-table {
  border-collapse: separate;
  border-spacing: 0 5px;
  background: #edf1f5;
}
.agenda-panel .ride-table thead th {
  background: #edf1f5;
  color: #465c70;
  padding-top: 12px;
  padding-bottom: 12px;
}
.agenda-panel .ride-table tbody tr:nth-child(odd) td {
  background: #fff;
}
.agenda-panel .ride-table tbody tr:nth-child(even) td {
  background: #e0e7ef;
}
.agenda-panel .ride-table tbody td {
  border-top: 1px solid #c1cdda;
  border-bottom: 1px solid #c1cdda;
  color: #263b4c;
}
.agenda-panel .ride-table tbody td:first-child {
  border-left: 4px solid #b6c5d5;
}
.agenda-panel .ride-table tbody tr:nth-child(even) td:first-child {
  border-left-color: #7e96ae;
}
.agenda-panel .ride-table tbody tr:hover td,
.agenda-panel .ride-table tbody tr:focus-within td {
  background: #cfdde9;
}
.agenda-panel .ride-table .table-route strong {
  font-size: 13px;
  color: #263f4d;
}
.agenda-panel .ride-table .table-route > span {
  font-size: 12px;
  color: #526576;
}
.agenda-panel .ride-table td small,
.agenda-panel .ride-table .muted {
  color: #536779;
}
.agenda-panel .pickup-time {
  font-size: 18px;
  font-weight: 750;
  color: #274a51;
}
.agenda-ride-cards {
  display: grid;
  gap: 6px;
  background: #edf1f5;
  padding: 6px;
}
.agenda-ride-card {
  border: 1px solid #becbd8;
  border-left: 4px solid #b6c5d5;
  border-radius: 8px;
}
.agenda-ride-card:nth-child(even) {
  background: #e0e7ef;
  border-left-color: #7e96ae;
}
.agenda-ride-card:hover,
.agenda-ride-card:focus-visible {
  background: #cfdde9;
}
.agenda-combine-list > label:nth-child(even) {
  background: #e0e7ef;
}
.agenda-panel .ride-table tbody tr:nth-child(odd) {
  background:
    linear-gradient(
      110deg,
      #fff 0%,
      #f4f8f5 65%,
      #e6f1eb 100%);
}
.agenda-panel .ride-table tbody tr:nth-child(even) {
  background:
    linear-gradient(
      110deg,
      #dce9f6 0%,
      #e5edf5 55%,
      #ccdcea 100%);
}
.agenda-panel .ride-table tbody tr:nth-child(odd) td,
.agenda-panel .ride-table tbody tr:nth-child(even) td {
  background: transparent;
}
.agenda-panel .ride-table tbody tr:hover,
.agenda-panel .ride-table tbody tr:focus-within {
  background:
    linear-gradient(
      110deg,
      #d3e5ee,
      #c4d9e8);
}
.agenda-panel .ride-table tbody td:first-child {
  border-left-color: #8daf9d;
}
.agenda-panel .ride-table tbody tr:nth-child(even) td:first-child {
  border-left-color: #6c91b4;
}
.agenda-panel .ride-price {
  background: #ffffffc9;
  padding: 8px 11px;
  border: 1px solid #ffffff;
  border-radius: 9px;
  box-shadow: 0 2px 5px #243e5510;
}
.agenda-ride-card:nth-child(odd) {
  background:
    linear-gradient(
      110deg,
      #fff,
      #f4f8f5 65%,
      #e6f1eb);
}
.agenda-ride-card:nth-child(even) {
  background:
    linear-gradient(
      110deg,
      #dce9f6,
      #e5edf5 55%,
      #ccdcea);
}
.agenda-ride-card:hover,
.agenda-ride-card:focus-visible {
  background:
    linear-gradient(
      110deg,
      #d3e5ee,
      #c4d9e8);
}
.customer-reviews .review-summary {
  padding: 20px;
}
.customer-reviews > h3,
.customer-reviews > .small-text {
  margin-left: 20px;
  margin-right: 20px;
}
.customer-reviews > article {
  padding: 18px 20px;
}
.customer-reviews .review-pagination {
  padding: 0 20px 18px;
}
.agenda-total {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-right: auto;
}
.agenda-total > span {
  font-size: 14px;
  font-weight: 650;
  color: #345446;
}
.agenda-total > strong {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 7px 12px;
  background:
    linear-gradient(
      120deg,
      #e0efe5,
      #f2f8ed);
  border: 1px solid #c6dccb;
  border-radius: 10px;
  font-size: 24px;
  line-height: 1.1;
  color: #1e533c;
  font-variant-numeric: tabular-nums;
}
.agenda-total small {
  font-size: 12px;
  font-weight: 500;
}
.agenda-caption {
  font-size: 12px;
  color: #526a5c;
}
.agenda-caption strong {
  color: #254b38;
}
@media (max-width:600px) {
  .agenda-total {
    width: 100%;
    justify-content: space-between;
  }
  .agenda-total > strong {
    font-size: 23px;
  }
}
.agenda-filters .status-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  overflow: visible;
  border: 0;
  padding: 0;
  min-width: 0;
}
.agenda-filters .status-tabs button {
  --filter-color:#405971;
  --filter-soft:#edf1f6;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid color-mix(in srgb, var(--filter-color) 35%, white);
  border-radius: 10px;
  background: var(--filter-soft);
  color: var(--filter-color);
  padding: 9px 12px;
  font-size: 12px;
  font-weight: 650;
  min-height: 39px;
  white-space: nowrap;
  box-shadow: 0 1px 2px #1b344508;
}
.agenda-filters .status-tabs button::after {
  display: none;
}
.agenda-filters .status-tabs button b {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 23px;
  border-radius: 6px;
  padding: 0 5px;
  background: #ffffffbd;
  color: inherit;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.agenda-filters .status-tabs button.active {
  background: var(--filter-color);
  border-color: var(--filter-color);
  color: white;
  box-shadow: 0 3px 7px #1b344525;
}
.agenda-filters .status-tabs button.active b {
  background: #ffffff2e;
  color: white;
}
.agenda-filters .status-tabs button:hover {
  box-shadow: 0 2px 6px #1b344525;
}
.agenda-filters .status-tabs button:focus-visible {
  outline: 2px solid #294858;
  outline-offset: 3px;
}
.agenda-filters .status-tabs [data-filter=new] {
  --filter-color:#976226;
  --filter-soft:#fff4e3;
}
.agenda-filters .status-tabs [data-filter=urgent] {
  --filter-color:#b04827;
  --filter-soft:#fff0e8;
}
.agenda-filters .status-tabs [data-filter=assigned] {
  --filter-color:#326b9d;
  --filter-soft:#eaf3fc;
}
.agenda-filters .status-tabs [data-filter=completed] {
  --filter-color:#3c7853;
  --filter-soft:#edf6ed;
}
.agenda-filters .status-tabs [data-filter=invoiced] {
  --filter-color:#75519c;
  --filter-soft:#f3edf9;
}
.agenda-filters .status-tabs [data-filter=paid] {
  --filter-color:#217666;
  --filter-soft:#e5f5ef;
}
.agenda-filters .status-tabs [data-filter=transferred] {
  --filter-color:#56629d;
  --filter-soft:#eef0fb;
}
.agenda-filters .status-tabs [data-filter=cancelled] {
  --filter-color:#a74f59;
  --filter-soft:#fceef0;
}
.agenda-filters {
  gap: 14px;
  align-items: flex-start;
}
.agenda-filters .filter-selects {
  margin-left: auto;
}
@media (max-width:600px) {
  .agenda-filters .status-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  .agenda-filters .status-tabs button {
    justify-content: space-between;
    padding: 9px 10px;
  }
  .agenda-filters .filter-selects {
    margin: 0;
    width: 100%;
  }
}
.street-control {
  position: relative;
  min-width: 0;
}
.street-control .street-suggestions {
  top: calc(100% + 4px);
  max-height: 220px;
  overscroll-behavior: contain;
}
.street-suggestions button {
  overflow-wrap: anywhere;
  min-height: 40px;
}
.booking .street-hint {
  display: block;
  font-size: 10px;
  line-height: 1.4;
  margin-top: 4px;
  color: #60786b;
}
.booking .address-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 8px;
  align-items: start;
  min-width: 0;
}
.booking .address-fields > * {
  min-width: 0;
}
.booking .house-number-field input {
  padding-inline: 10px;
}
.booking .address-fields .street-suggestions {
  min-width: calc(100% + 96px);
}
.public-booking {
  padding: 20px 14px;
  background: #f5f7f8;
}
.public-booking:has(.compact) {
  padding: 8px;
  background: transparent;
  min-height: 0;
}
.booking,
.booking.compact,
.public-booking .booking.compact {
  max-width: 660px;
  width: 100%;
  padding: 20px;
  margin-inline: auto;
  background: white;
  border: 1px solid #d5e2dc;
  border-radius: 16px;
  box-shadow: 0 8px 28px #183d370a;
}
.booking .booking-top {
  padding: 0 0 12px;
  gap: 10px;
  flex-wrap: nowrap;
}
.booking .brand {
  font-size: 13px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.booking .brand-symbol {
  width: 32px;
  height: 32px;
}
.booking .brand small {
  font-size: 10px;
  margin-top: 2px;
}
.booking .languages {
  flex-shrink: 0;
}
.booking .languages button {
  min-height: 32px;
  padding: 6px 9px;
  font-size: 10px;
}
.booking .demo-inline {
  margin: 0 0 12px;
  padding: 5px 9px;
  font-size: 10px;
  line-height: 1.4;
  text-align: left;
}
.booking .booking-intro {
  margin: 0 0 12px;
  text-align: left;
  max-width: none;
}
.booking .booking-intro .eyebrow {
  display: none;
}
.booking .booking-intro h1 {
  font-size: 22px;
  letter-spacing: -.6px;
  line-height: 1.25;
  margin: 0 0 4px;
}
.booking .booking-intro p {
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
}
.booking .booking-grid,
.booking.compact .booking-grid {
  display: block;
}
.booking .booking-main {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  background: transparent;
  min-width: 0;
}
.booking .steps {
  padding: 8px 0 12px;
  gap: 10px;
  border-bottom: 1px solid #e1e9e4;
}
.booking .steps > span {
  font-size: 11px;
  gap: 6px;
}
.booking .steps b {
  width: 23px;
  height: 23px;
}
.booking .booking-fields,
.booking.compact .booking-fields {
  padding: 14px 0 0;
  gap: 12px;
  min-width: 0;
}
.booking .booking-fields h2 {
  font-size: 17px;
  letter-spacing: -.3px;
  margin: 0;
  line-height: 1.3;
}
.booking .field {
  min-width: 0;
  gap: 5px;
}
.booking .field input,
.booking .field select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 11px;
  font-size: 14px;
  background: #fafcfb;
  border-radius: 8px;
}
.booking .field > span {
  font-size: 11px;
  margin-bottom: 0;
  color: #536c60;
}
.booking .two-col {
  gap: 12px;
}
.booking .field small {
  font-size: 10px;
  line-height: 1.4;
  margin-top: 4px;
}
.booking .field input::placeholder {
  color: #86958d;
}
.booking .booking-route-fields {
  grid-template-columns: minmax(0, 1fr);
}
.booking-direction {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  background: #f0f4f2;
  border: 1px solid #e1e8e4;
  border-radius: 10px;
}
.booking-direction button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #5b7267;
  font-size: 12px;
  line-height: 1.3;
}
.booking-direction button[aria-pressed=true] {
  color: var(--green);
  background: white;
  border-color: color-mix(in srgb, var(--green) 25%, white);
  font-weight: 650;
  box-shadow: 0 1px 4px #183d3710;
}
.booking-direction button svg {
  flex-shrink: 0;
}
.booking-route-endpoints,
.booking-address-vehicle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}
.booking-route-endpoints > *,
.booking-address-vehicle > * {
  min-width: 0;
}
.booking .booking-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  margin-top: 16px;
  border: 1px solid color-mix(in srgb, var(--green) 18%, white);
  border-radius: 10px;
  background: color-mix(in srgb, var(--green) 5%, white);
}
.booking-total-route {
  min-width: 0;
}
.booking-total-route > span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.booking-total-route svg {
  flex-shrink: 0;
  color: var(--green);
}
.booking-total-route small {
  display: block;
  font-size: 10px;
  line-height: 1.4;
  color: #60786b;
  margin-top: 3px;
}
.booking-total-price {
  text-align: right;
  flex-shrink: 0;
  max-width: 55%;
  color: var(--green);
}
.booking-total-price > span {
  display: block;
  font-size: 10px;
  line-height: 1.4;
  color: #536c60;
}
.booking-total-price > strong {
  display: block;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -.7px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  margin-top: 2px;
}
.booking-total-price > strong.on-request {
  font-size: 15px;
  letter-spacing: 0;
  white-space: normal;
}
.booking .booking-actions {
  padding: 12px 0 0;
}
.booking .booking-actions .btn,
.booking .booking-actions .btn.primary {
  min-height: 42px;
  padding: 10px 16px;
  font-size: 12px;
  border-radius: 8px;
}
.booking .booking-actions > .primary {
  min-width: 120px;
}
.booking-main form > .field {
  margin: 12px 0;
}
.booking .booking-main form > .error {
  margin: 12px 0 0;
}
.booking .booking-contact-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.booking-contact-fields > h2,
.booking-contact-fields > .field:first-of-type,
.booking-contact-fields > .payment-methods,
.booking-contact-fields > .booking-final-review {
  grid-column: 1/-1;
}
.booking .payment-methods {
  margin: 4px 0;
}
.booking .payment-methods legend {
  font-size: 12px;
  margin-bottom: 8px;
}
.booking .payment-methods label {
  padding: 9px;
  font-size: 11px;
  gap: 7px;
}
.booking .payment-methods > div {
  gap: 7px;
}
.booking .return-card {
  padding: 11px;
  margin: 4px 0;
  border-radius: 10px;
}
.booking .return-fields {
  padding-top: 12px;
  gap: 10px;
}
.booking .return-card small {
  font-size: 10px;
}
.booking .counter {
  padding: 9px;
  gap: 7px;
  font-size: 11px;
  min-width: 0;
}
.booking .counter input {
  min-height: 36px;
}
.booking .booking-final-review {
  padding: 13px !important;
  border-width: 1px !important;
  border-radius: 10px !important;
  margin: 7px 0 0;
  box-shadow: none;
}
.booking .booking-final-review h3 {
  font-size: 17px;
}
.booking .booking-final-review > p {
  font-size: 11px;
  line-height: 1.5;
  margin: 7px 0;
}
.booking .booking-final-review .detail-list {
  margin: 10px 0;
}
.booking .booking-final-review .detail-list > div {
  padding: 5px 0;
  gap: 8px;
  grid-template-columns: 110px minmax(0, 1fr) !important;
}
.booking .booking-final-review .detail-list dt,
.booking .booking-final-review .detail-list dd {
  font-size: 12px !important;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.booking .online-confirmation-note {
  padding: 9px;
}
.booking.mobile,
.public-booking .booking.mobile {
  max-width: 480px;
  width: 100%;
  padding: 14px;
}
.booking.mobile .booking-address-vehicle,
.booking.mobile .booking-contact-fields {
  grid-template-columns: minmax(0, 1fr);
}
.booking.mobile .field input,
.booking.mobile .field select {
  font-size: 16px;
  min-height: 44px;
}
.booking.mobile .booking-direction button {
  min-height: 40px;
  font-size: 11px;
}
@media (max-width:540px) {
  .public-booking {
    padding: 10px;
  }
  .booking,
  .booking.compact,
  .public-booking .booking.compact {
    padding: 14px;
    border-radius: 12px;
  }
  .booking .booking-intro h1 {
    font-size: 20px;
  }
  .booking .field input,
  .booking .field select {
    font-size: 16px;
    min-height: 44px;
  }
  .booking .booking-address-vehicle,
  .booking .booking-contact-fields {
    grid-template-columns: minmax(0, 1fr);
  }
  .booking .booking-fields > .two-col:not(.counters) {
    grid-template-columns: minmax(0, 1fr);
  }
  .booking-direction button {
    min-height: 40px;
    font-size: 11px;
    gap: 5px;
  }
  .booking .booking-total {
    gap: 10px;
    padding: 11px;
  }
  .booking-total-route > span {
    font-size: 12px;
    gap: 5px;
  }
  .booking-total-price > strong {
    font-size: 23px;
  }
  .booking .booking-actions .btn,
  .booking .booking-actions .btn.primary {
    min-height: 44px;
  }
  .booking .booking-final-review .detail-list > div {
    grid-template-columns: 90px minmax(0, 1fr) !important;
  }
}
@container (max-width:540px) {
  .studio-preview-frame .booking {
    padding: 14px;
  }
  .studio-preview-frame .booking .booking-intro h1 {
    font-size: 20px;
  }
  .studio-preview-frame .booking .booking-address-vehicle,
  .studio-preview-frame .booking .booking-contact-fields {
    grid-template-columns: minmax(0, 1fr);
  }
  .studio-preview-frame .booking .field input,
  .studio-preview-frame .booking .field select {
    font-size: 16px;
    min-height: 44px;
  }
}
@media (max-width:360px) {
  .booking .booking-route-endpoints {
    grid-template-columns: minmax(0, 1fr);
  }
  .booking-direction button {
    flex-direction: column;
    gap: 4px;
  }
  .booking .brand {
    font-size: 12px;
  }
  .booking .languages button {
    padding: 6px;
  }
  .booking .steps > span {
    font-size: 10px;
  }
}
.agenda-filters .status-tabs [data-filter=today] {
  --filter-color:#927126;
  --filter-soft:#fff7df;
}
.agenda-filters .status-tabs button[data-filter] {
  background: #fff;
  color: #465566;
  border: 1px solid #cbd3dc;
  border-radius: 7px;
  box-shadow: none;
  font-weight: 600;
}
.agenda-filters .status-tabs button[data-filter] b {
  background: #eef1f4;
  color: #526273;
  border-radius: 4px;
}
.agenda-filters .status-tabs button[data-filter].active {
  background: #263d4c;
  border-color: #263d4c;
  color: #fff;
  box-shadow: none;
}
.agenda-filters .status-tabs button[data-filter].active b {
  background: #ffffff24;
  color: #fff;
}
.agenda-filters .status-tabs button[data-filter]:hover {
  border-color: #6c7f90;
}
.agenda-total > strong {
  background: #edf1f4;
  border-color: #d4dde4;
  color: #263d4c;
  border-radius: 7px;
}
.agenda-panel .ride-table tbody tr:nth-child(odd),
.agenda-ride-card:nth-child(odd) {
  background: #fff;
}
.agenda-panel .ride-table tbody tr:nth-child(even),
.agenda-ride-card:nth-child(even) {
  background: #e6ebf1;
}
.agenda-panel .ride-table tbody tr td:first-child,
.agenda-panel .agenda-ride-card {
  border-left: 1px solid #c6d0da;
}
.agenda-panel .ride-table tbody tr:hover,
.agenda-panel .agenda-ride-card:hover {
  background: #dce5ed;
}
.agenda-panel .ride-price {
  background: none;
  padding: 0;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  color: #263d4c;
  font-size: 17px;
}
.agenda-ride-card {
  border-radius: 7px;
}
.return-mail-preview,
.full-grid {
  grid-column: 1/-1;
}
.return-mail-preview {
  border: 1px solid #d6dfe5;
  border-radius: 9px;
  padding: 12px;
  margin-bottom: 10px;
}
.return-mail-preview h3 {
  font-size: 16px;
  margin: 0 0 8px;
}
.return-mail-preview p {
  font-size: 12px;
  line-height: 1.5;
}
.return-mail-preview iframe {
  width: 100%;
  height: 360px;
  border: 1px solid #e0e6eb;
  border-radius: 7px;
}
.return-mail-preview .customer-actions {
  gap: 7px;
}
.completion-time {
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: #596e7e;
  margin-top: 3px;
  line-height: 1.4;
}
.summary-completed {
  align-items: flex-start;
}
.summary-completed .completion-time {
  font-size: 12px;
}
.billing-summary {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  text-align: left;
  cursor: pointer;
  color: #263d4c;
  margin-bottom: 22px;
  border: 1px solid #d9e1e7;
  background: #fff;
}
.billing-summary:hover {
  border-color: #8ca9a0;
  background: #f8faf9;
}
.billing-summary-icon {
  padding: 12px;
  border-radius: 12px;
  background: #edf3f0;
  color: #197564;
  display: grid;
  place-items: center;
}
.billing-summary > span:nth-child(2) {
  display: grid;
  gap: 3px;
  flex: 1;
}
.billing-summary strong {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 30px;
  line-height: 1.1;
}
.billing-summary strong small {
  font-size: 13px;
  font-weight: 500;
  color: #62747e;
}
.central-counts > button.billing {
  border: 1px solid #dbe3ed;
  border-radius: 14px;
  background: #f2f5fa;
  padding: 18px;
  text-align: left;
  color: #263d4c;
  display: grid;
  gap: 6px;
  cursor: pointer;
}
.central-counts > button.billing strong {
  font-size: 32px;
  line-height: 1;
}
.central-counts > button.billing > span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.billing-filter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.billing-result-count {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0;
  color: #61717c;
  font-size: 13px;
}
.billing-customer {
  border: 1px solid #dce3e8;
  border-radius: 12px;
  overflow: hidden;
  margin-top: 16px;
}
.billing-customer > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  background: #f1f4f6;
  padding: 15px 18px;
}
.billing-customer h3 {
  margin: 0 0 4px;
  font-size: 15px;
}
.billing-customer header small {
  color: #657681;
  overflow-wrap: anywhere;
}
.billing-customer header > span {
  text-align: right;
  white-space: nowrap;
  font-size: 12px;
}
.billing-customer header strong {
  display: block;
  font-size: 17px;
  margin-top: 4px;
}
.billing-customer-ride {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 18px;
  text-align: left;
  background: white;
  border: 0;
  border-top: 1px solid #e1e7eb;
  color: #263d4c;
  cursor: pointer;
}
.billing-customer-ride:hover {
  background: #f7f9fa;
}
.billing-customer-ride > span {
  display: grid;
  gap: 4px;
  flex: 1;
}
.billing-customer-ride small {
  font-size: 12px;
  color: #697985;
}
.billing-customer-ride > b {
  white-space: nowrap;
}
@media (max-width:600px) {
  .billing-filter {
    grid-template-columns: 1fr;
  }
  .billing-customer > header,
  .billing-customer-ride {
    padding: 12px;
  }
  .billing-summary {
    padding: 16px;
  }
}
.flight-info {
  background: #fff0ca;
  color: #553407;
  border: 1px solid #edce88;
  border-left: 4px solid #d69014;
  box-shadow: 0 2px 5px #92620b08;
  font-size: 13px !important;
  line-height: 1.5;
}
.flight-info.compact {
  font-size: 12px !important;
  padding: 8px 10px;
}
.flight-info small {
  font-size: 12px !important;
  font-weight: 500;
}
.flight-info strong {
  font-weight: 800;
}
.flight-info.landed {
  background: #dcf3e5;
  color: #145a37;
  border-color: #a7d8b9;
  border-left-color: #24935b;
}
.flight-info.disrupted {
  background: #ffe8df;
  color: #822d1c;
  border-color: #edb49f;
  border-left-color: #d35130;
}
.flight-info.unavailable {
  background: #fff0da;
  color: #684419;
  border-color: #e3c395;
  border-left-color: #a77528;
}
.summary-baggage {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0;
}
.summary-baggage > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #f0f4f2;
  border: 1px solid #d5e3da;
  border-radius: 8px;
  padding: 6px 9px;
  font-size: 12px;
  color: #284d3c;
}
.summary-baggage > .child-seat {
  background: #fff0d7;
  border-color: #edcc96;
  color: #744417;
}
.summary-baggage b {
  font-weight: 800;
}
.agenda-panel .ride-table tbody tr:nth-child(odd),
.agenda-ride-card:nth-child(odd) {
  background: #ffffff;
}
.agenda-panel .ride-table tbody tr:nth-child(even),
.agenda-ride-card:nth-child(even) {
  background: #dff0e9;
}
.agenda-panel .ride-table tbody tr td {
  border-bottom: 2px solid #bdd8cb;
}
.agenda-panel .ride-table tbody tr td:first-child,
.agenda-panel .agenda-ride-card {
  border-left: 4px solid #409579;
}
.agenda-panel .ride-table tbody tr:hover,
.agenda-panel .agenda-ride-card:hover {
  background: #cce8dc;
}
.agenda-panel .pickup-time,
.agenda-panel .agenda-card-time strong {
  color: #155b46;
  font-weight: 800;
}
.agenda-panel .ride-price {
  color: #164f3e;
}
.agenda-ride-card {
  border: 1px solid #b8d6c7;
  border-radius: 10px;
  box-shadow: 0 2px 5px #164f3e0a;
}
.ride-table .clickable-ride {
  cursor: pointer;
}
.ride-table .clickable-ride:focus-within {
  outline: 2px solid #258366;
  outline-offset: -2px;
}
.agenda-panel .ride-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  padding: 10px 15px;
  border: 1px solid #bad6c9;
  border-radius: 10px;
  background: #fff;
  color: #124d3b;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.6px;
  box-shadow: 0 2px 4px #164f3e0a;
  font-variant-numeric: tabular-nums;
}
.agenda-panel .ride-table td.align-right {
  width: 145px;
}
.agenda-panel .ride-table tbody tr:hover .ride-price {
  border-color: #79af99;
  box-shadow: 0 3px 8px #164f3e15;
}
@media (max-width:600px) {
  .agenda-panel .ride-price {
    font-size: 23px;
    min-width: 87px;
    padding: 9px 11px;
  }
  .agenda-panel .ride-table td.align-right {
    width: 110px;
  }
}
.summary-fare {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px 12px;
  margin: 14px 0 16px;
  padding: 14px 16px;
  background: #e4f3eb;
  border: 1px solid #b7d8c6;
  border-radius: 12px;
  color: #164f3e;
}
.summary-fare-label {
  display: block;
  font-size: 11px;
  font-weight: 650;
  margin-bottom: 3px;
  color: #47705e;
}
.summary-fare > div > strong {
  display: block;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -.8px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.summary-payment {
  background: #fff;
  border: 1px solid #c3ddcf;
  border-radius: 7px;
  padding: 7px 9px;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  max-width: 145px;
}
.summary-passengers {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  border-top: 1px solid #c1dccd;
  padding-top: 10px;
  font-size: 12px;
}
.summary-passengers > span {
  color: #466c5b;
}
.agenda-panel .ride-table tbody tr {
  height: 156px;
}
.agenda-panel .ride-table tbody td {
  vertical-align: middle;
}
.agenda-panel .ride-table tbody tr:hover,
.agenda-panel .ride-table tbody tr:hover td,
.agenda-panel .agenda-ride-card:hover {
  background: #fff1cf;
}
.agenda-panel .ride-table tbody tr:hover .ride-price {
  border-color: #d5b66b;
  background: #fffdf6;
}
.agenda-ride-cards {
  grid-auto-rows: 1fr;
}
.agenda-ride-cards > .agenda-ride-card {
  height: 100%;
  min-height: 156px;
  box-sizing: border-box;
}
.ride-table thead th,
.agenda-panel .ride-table thead th {
  background: #163f35;
  color: #fff;
  border-top: 0;
  border-bottom: 3px solid #60bc95;
  padding-top: 18px;
  padding-bottom: 18px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  vertical-align: middle;
}
.ride-column-heading {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  line-height: 1.3;
}
.ride-column-heading > svg {
  color: #a2e7c5;
  flex-shrink: 0;
  stroke-width: 2;
}
.ride-table thead th.align-right .ride-column-heading {
  min-width: 110px;
  justify-content: center;
}
@media (max-width:600px) {
  .ride-table thead th,
  .agenda-panel .ride-table thead th {
    font-size: 12px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .ride-column-heading {
    gap: 7px;
  }
}
.workspace-management {
  padding: 24px;
  margin-bottom: 24px;
}
.workspace-management h2 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.workspace-create {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 14px;
  align-items: end;
}
.workspace-create .field {
  margin: 0;
}
.workspace-invitation {
  padding: 18px;
  background: #e8f5ee;
  border: 1px solid #badbca;
  border-radius: 12px;
  margin: 20px 0;
}
.workspace-invitation h3 {
  margin-top: 0;
}
.workspace-invitation p {
  font-size: 13px;
  line-height: 1.6;
}
.workspace-list article {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px 0;
  border-top: 1px solid #e1e9e5;
}
.workspace-list article > div {
  flex: 1;
}
.workspace-list small {
  display: block;
  margin-top: 5px;
  color: #67796f;
}
.workspace-welcome {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: #eef5f1;
  padding: 24px;
}
.workspace-welcome > .panel {
  width: 100%;
  max-width: 500px;
  padding: 32px;
}
.workspace-welcome h1 {
  font-size: 27px;
  line-height: 1.2;
}
.workspace-welcome p {
  line-height: 1.65;
}
.workspace-brand {
  display: block;
  color: #185842;
  font-size: 28px;
  margin-bottom: 25px;
}
.workspace-welcome .field {
  margin-bottom: 18px;
}
@media (max-width:900px) {
  .workspace-create {
    grid-template-columns: 1fr 1fr;
  }
  .workspace-list article {
    flex-wrap: wrap;
  }
}
@media (max-width:600px) {
  .workspace-create {
    grid-template-columns: 1fr;
  }
  .workspace-management,
  .workspace-welcome > .panel {
    padding: 20px;
  }
  .workspace-list article > div {
    flex-basis: 100%;
  }
}
.workspace-demo-choice {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: #275743;
}
.workspace-demo-choice input {
  accent-color: #206656;
  width: 17px;
  height: 17px;
}
.summary-trip-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 12px 0 0;
}
.summary-trip-meta .summary-passengers {
  border: 0;
  padding: 0;
  gap: 6px;
  color: #244e3d;
}
.summary-trip-meta .summary-payment {
  background: #f0f6f3;
}
.summary-fare {
  grid-template-columns: 1fr;
}
.quick-ride-action > .ride-summary-card,
.quick-ride-action > .ride-action-grid,
.quick-ride-action > .ride-more-details,
.quick-ride-action > .return-mail-preview,
.quick-ride-action > p.compact-note {
  display: none;
}
.quick-ride-caption {
  margin: 0 0 16px;
  color: #476356;
  font-size: 13px;
}
.quick-ride-action .drawer-editor {
  margin-top: 0;
}
.ride-context-menu button:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.agenda-panel .ride-price,
.agenda-panel .ride-table tbody tr:hover .ride-price {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  min-width: 110px;
  justify-content: flex-end;
  font-size: 29px;
  font-weight: 800;
  letter-spacing: -.7px;
  color: #183e32;
  line-height: 1.2;
}
.agenda-panel .ride-table td.align-right {
  padding-right: 18px;
}
.agenda-panel .ride-table thead th.align-right .ride-column-heading {
  justify-content: flex-end;
  padding-right: 6px;
}
@media (max-width:600px) {
  .agenda-panel .ride-price,
  .agenda-panel .ride-table tbody tr:hover .ride-price {
    font-size: 25px;
    min-width: 85px;
  }
}
.completed-toggle {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border: 1px solid #c8dcd1;
  border-radius: 10px;
  color: #25563f;
  background: #f6faf7;
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
}
.completed-toggle input {
  width: 17px;
  height: 17px;
  accent-color: #206656;
}
.completed-toggle span {
  display: grid;
  gap: 2px;
}
.completed-toggle small {
  font-size: 10px;
  font-weight: 500;
  color: #5e776a;
}
.completed-toggle b {
  padding: 3px 7px;
  background: #e0eee5;
  border-radius: 5px;
}
.completed-toggle:has(input:checked) {
  background: #dcefe3;
  border-color: #4b9a75;
}
.agenda-filters {
  flex-wrap: wrap;
}
.agenda-panel .ride-price,
.agenda-panel .ride-table tbody tr:hover .ride-price {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 6px;
  min-width: 100px;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  color: #203c32;
  line-height: 1.1;
}
.ride-price-currency {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  color: #547464;
}
.ride-price-amount {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.8px;
  font-variant-numeric: tabular-nums lining-nums;
}
.agenda-panel .ride-table td.align-right {
  width: 135px;
  padding-right: 20px;
}
.agenda-panel .ride-table thead th.align-right .ride-column-heading {
  padding-right: 8px;
  min-width: 100px;
}
@media (max-width:600px) {
  .agenda-panel .ride-price {
    min-width: 78px;
    gap: 4px;
  }
  .ride-price-amount {
    font-size: 24px;
  }
  .ride-price-currency {
    font-size: 13px;
  }
}
.agenda-panel .ride-price,
.agenda-panel .ride-table tbody tr:hover .ride-price {
  gap: 5px;
  align-items: baseline;
  min-width: 104px;
  color: #223b34;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -.25px;
  font-weight: 650;
}
.ride-price-currency,
.ride-price-amount {
  font-size: 22px;
  font-weight: 650;
  letter-spacing: -.25px;
  line-height: 1.25;
  color: inherit;
  font-variant-numeric: tabular-nums;
}
.summary-fare {
  display: flex;
  align-items: center;
  margin: 12px 0 16px;
  padding: 12px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid #dce5df;
  border-bottom: 1px solid #dce5df;
  border-radius: 0;
  box-shadow: none;
}
.summary-fare > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}
.summary-fare-label {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: #607368;
}
.summary-fare > div > strong {
  font-size: 28px;
  font-weight: 650;
  letter-spacing: -.4px;
  line-height: 1.2;
  color: #223b34;
}
@media (max-width:600px) {
  .agenda-panel .ride-price {
    min-width: 82px;
    gap: 4px;
  }
  .ride-price-currency,
  .ride-price-amount {
    font-size: 21px;
  }
  .summary-fare > div > strong {
    font-size: 27px;
  }
}
.summary-price-payment {
  display: grid;
  justify-items: end;
  gap: 5px;
}
.summary-price-payment > strong {
  font-size: 28px;
  font-weight: 650;
  letter-spacing: -.4px;
  line-height: 1.2;
  color: #223b34;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.summary-price-payment .summary-payment {
  background: none;
  border: 0;
  padding: 0;
  border-radius: 0;
  max-width: none;
  font-size: 12px;
  font-weight: 500;
  color: #607368;
}
.summary-fare > div {
  align-items: center;
}
@media (max-width:600px) {
  .summary-price-payment > strong {
    font-size: 27px;
  }
}
.agenda-panel .ride-table tbody tr {
  height: 104px;
}
.agenda-panel .ride-table tbody td {
  padding-top: 8px;
  padding-bottom: 8px;
}
.ride-table .table-route > span:not(.flight-info) {
  margin-top: 4px;
}
.ride-table .completed-actor {
  margin-top: 3px;
  line-height: 1.35;
}
.ride-table .completed-actor .completion-time {
  display: inline;
  margin-left: 7px;
  font-size: 10px;
  line-height: 1.35;
}
.flight-info.compact,
.ride-table .table-route > .flight-info.compact {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  padding: 3px 7px;
  margin: 4px 0 0;
  border-left-width: 3px;
  border-radius: 5px;
  font-size: 11px !important;
  line-height: 1.35;
  box-shadow: none;
  width: auto;
  max-width: 100%;
}
.flight-info.compact > span {
  display: inline;
  margin: 0;
}
.flight-info.compact > b {
  font-weight: 700;
}
.flight-info.compact > svg {
  flex-shrink: 0;
}
.agenda-ride-cards > .agenda-ride-card {
  min-height: 104px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.flight-info.compact,
.ride-table .table-route > .flight-info.compact {
  flex-direction: row;
  flex-wrap: nowrap;
  white-space: nowrap;
  min-height: 0;
}
.flight-info.compact > span {
  flex: 0 1 auto;
}
.billing-settings-block {
  margin-top: 28px;
  padding: 24px 0 0;
  border-top: 1px solid #dce6df;
}
.billing-settings-block > h3 {
  margin: 0 0 8px;
  font-size: 18px;
}
.billing-settings-block > p {
  font-size: 13px;
  color: #61766b;
  line-height: 1.6;
}
.invoice-template-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 1fr);
  gap: 22px;
  align-items: start;
}
.invoice-template-preview {
  background: white;
  border: 1px solid #dce6df;
  border-radius: 8px;
  padding: 24px;
  font-size: 12px;
  line-height: 1.6;
  color: #52675c;
  box-shadow: 0 6px 22px #183d3708;
}
.invoice-template-preview h2,
.invoice-template-preview h3,
.invoice-template-preview > strong {
  color: var(--invoice-accent);
  overflow-wrap: anywhere;
}
.invoice-template-preview h2 {
  font-size: 25px;
  margin: 12px 0 0;
}
.invoice-template-preview h3 {
  font-size: 15px;
  margin-bottom: 4px;
}
.invoice-logo {
  display: flex;
  margin: 12px 0;
}
.invoice-logo.right {
  justify-content: flex-end;
}
.invoice-logo img {
  max-width: 150px;
  max-height: 64px;
  object-fit: contain;
}
.invoice-preview-line,
.invoice-preview-total {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 14px 0;
  border-top: 1px solid #dce6df;
}
.invoice-preview-total {
  color: var(--invoice-accent);
  font-weight: 700;
}
.billing-schedule-summary {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #c8ded2;
  border-radius: 9px;
  background: #f4f9f6;
  font-size: 13px;
}
.billing-schedule-summary span {
  color: #5d7467;
}
@media (max-width:900px) {
  .invoice-template-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
.booking,
.booking.compact,
.public-booking .booking.compact {
  display: flex;
  flex-direction: column;
  height: min(640px, calc(100svh - 40px));
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.booking.compact,
.public-booking .booking.compact {
  height: min(584px, calc(100svh - 16px));
}
.booking > .booking-top,
.booking > .demo-inline,
.booking > .booking-intro,
.booking .steps {
  flex-shrink: 0;
}
.booking .booking-grid,
.booking.compact .booking-grid,
.booking .booking-main,
.booking .booking-main > form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  min-width: 0;
}
.booking .booking-form-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
  padding: 0 4px 4px 0;
}
.booking .booking-form-body > .field {
  margin: 12px 0;
}
.booking .booking-form-body > .error {
  margin: 12px 0 0;
}
.booking .booking-total,
.booking .booking-actions {
  flex-shrink: 0;
}
.booking .booking-total {
  margin-top: 10px;
}
.booking.booking-complete > .booking-success {
  flex: 1;
  min-height: 0;
  max-width: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  margin: 0 !important;
  padding: 16px !important;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}
@media (max-width:540px) {
  .booking {
    height: min(640px, calc(100svh - 20px));
  }
  .booking.compact,
  .public-booking .booking.compact {
    height: min(584px, calc(100svh - 16px));
  }
}
.form-studio .studio-intro {
  margin-bottom: 20px;
  gap: 16px;
}
.studio-intro h2 {
  font-size: 25px;
  letter-spacing: -.6px;
}
.studio-intro p {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 0;
}
.studio-selector {
  max-width: 100%;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #dce6df;
  border-radius: 12px;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
}
.studio-selector > span {
  white-space: nowrap;
  font-size: 12px;
}
.studio-selector > select {
  max-width: 460px;
  min-width: 0;
  background: #f8faf9;
}
.studio-toolbar {
  padding: 18px 22px;
  gap: 12px;
  flex-wrap: wrap;
}
.studio-toolbar > div {
  flex: 1;
  min-width: 160px;
}
.studio-toolbar h2 {
  font-size: 19px;
  overflow-wrap: anywhere;
}
.studio-toolbar .btn {
  font-size: 12px;
  min-height: 40px;
}
.studio-tabs {
  padding: 8px 16px;
  gap: 4px;
  flex-wrap: wrap;
  overflow: visible;
}
.studio-tabs button {
  padding: 10px 14px;
  font-size: 12px;
}
.studio-layout {
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
}
.studio-editor {
  padding: 24px;
  min-height: 440px;
  border: 0;
}
.studio-editor h3 {
  font-size: 20px;
  margin-bottom: 20px;
}
.studio-editor .field {
  max-width: 620px;
  margin-bottom: 16px;
}
.studio-editor .field input,
.studio-editor .field select {
  min-height: 42px;
  padding: 10px 12px;
}
.studio-editor .studio-note {
  font-size: 12px;
  line-height: 1.6;
  border: 1px solid #dbe7df;
  background: #f5f9f6;
  margin-top: 20px;
}
.studio-editor .studio-note svg {
  width: 18px;
}
.studio-preview-compact {
  min-width: 0;
  padding: 20px;
  margin: 20px 20px 20px 0;
  border: 1px solid #e0e7e2;
  border-radius: 12px;
  background: #f8faf9;
}
.studio-preview-compact > header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 16px;
}
.studio-preview-compact h3 {
  font-size: 13px;
  line-height: 1.5;
  margin: 6px 0 0;
}
.studio-preview-compact .eyebrow {
  font-size: 9px;
  letter-spacing: 1px;
}
.studio-preview-dot {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  color: #376b58;
  white-space: nowrap;
}
.studio-preview-dot:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #368567;
}
.studio-thumbnail {
  position: relative;
  background: white;
  border: 1px solid #d7e2da;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 3px 10px #1a382c08;
}
.studio-thumbnail-window {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.studio-thumbnail-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 880px;
  height: 640px;
  transform-origin: top left;
  pointer-events: none;
  container-type: inline-size;
}
.studio-thumbnail-content .booking {
  height: 640px;
  max-height: 640px;
  margin: 0;
  border: 0;
}
.studio-thumbnail-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  display: grid;
  place-items: center;
}
.studio-thumbnail-cover span {
  display: flex;
  gap: 6px;
  align-items: center;
  background: #183d37ed;
  border-radius: 6px;
  padding: 8px 10px;
  color: white;
  font-size: 11px;
  opacity: 0;
}
.studio-thumbnail-cover:hover span,
.studio-thumbnail-cover:focus-visible span {
  opacity: 1;
}
.studio-open-preview {
  width: 100%;
  margin-top: 14px;
  background: white;
  font-size: 12px;
  justify-content: center;
}
.studio-open-preview svg:last-child {
  margin-left: auto;
  color: #7c9287;
}
.studio-preview-compact > p {
  font-size: 11px;
  line-height: 1.65;
  color: #6a8073;
  margin: 12px 0 16px;
}
.studio-form-summary {
  margin: 0;
  border-top: 1px solid #dfe7e2;
  padding-top: 6px;
}
.studio-form-summary > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  font-size: 11px;
}
.studio-form-summary dt {
  color: #708478;
}
.studio-form-summary dd {
  margin: 0;
  font-weight: 600;
  color: #324e42;
}
.studio-preview-hint {
  font-size: 11px;
  line-height: 1.6;
  padding: 10px;
  margin-top: 12px;
  background: #fff8e8;
  border-radius: 7px;
  color: #886527;
}
.studio-shell > .notice {
  margin: 14px 22px 0;
}
.studio-preview-dialog {
  border: 0;
  padding: 0;
  border-radius: 16px;
  width: min(1080px, calc(100vw - 48px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  background: white;
  color: #183d37;
  box-shadow: 0 28px 100px #122b2940;
  overflow: hidden;
}
.studio-preview-dialog::backdrop {
  background: #142e2b80;
  backdrop-filter: blur(4px);
}
.studio-dialog-surface {
  max-height: calc(100dvh - 40px);
  display: flex;
  flex-direction: column;
}
.studio-dialog-surface > header {
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid #dce6df;
  flex-shrink: 0;
}
.studio-dialog-surface > header > div:first-child {
  flex: 1;
  min-width: 0;
}
.studio-dialog-surface h2 {
  font-size: 18px;
  margin: 4px 0;
  overflow-wrap: anywhere;
}
.studio-dialog-surface header p {
  font-size: 11px;
  margin: 0;
  color: #6a8073;
}
.studio-dialog-surface .eyebrow {
  font-size: 9px;
}
.studio-dialog-surface .studio-device button {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  min-height: 40px;
}
.studio-dialog-canvas {
  padding: 18px;
  background: #eef3f0;
  overflow: auto;
  min-height: 0;
  overscroll-behavior: contain;
}
.studio-dialog-booking {
  max-width: 920px;
  margin: auto;
  container-type: inline-size;
}
.studio-dialog-booking.mobile {
  max-width: 390px;
}
.studio-dialog-booking .booking {
  width: 100%;
  height: min(640px, calc(100dvh - 166px));
  max-height: 640px;
  margin: 0;
  min-height: 320px;
  box-shadow: 0 5px 20px #244d3510;
}
.studio-dialog-booking .booking-form-body {
  overscroll-behavior: contain;
}
.studio-editor .embed-code {
  min-height: 115px;
}
@media (max-width:1100px) and (min-width:781px) {
  .studio-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
  .studio-editor {
    padding: 20px;
  }
  .studio-preview-compact {
    padding: 15px;
    margin-right: 16px;
  }
  .studio-editor {
    border-bottom: 0;
  }
}
@media (max-width:780px) {
  .studio-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .studio-preview-compact {
    margin: 0 20px 20px;
    padding: 16px;
    display: grid;
    grid-template-columns: minmax(130px, 200px) minmax(0, 1fr);
    gap: 0 20px;
  }
  .studio-preview-compact > header {
    grid-column: 1/-1;
  }
  .studio-thumbnail {
    grid-row: 2/6;
  }
  .studio-open-preview {
    margin-top: 0;
    align-self: start;
  }
  .studio-preview-compact > p {
    margin: 10px 0;
  }
  .studio-form-summary {
    grid-column: 2;
  }
  .studio-preview-hint {
    grid-column: 1/-1;
  }
  .studio-selector {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }
  .studio-selector > select {
    max-width: none;
  }
  .studio-intro {
    align-items: flex-start;
  }
  .studio-intro h2 {
    font-size: 22px;
  }
  .studio-intro .btn {
    font-size: 11px;
  }
  .studio-dialog-surface > header {
    padding: 12px;
    gap: 8px;
    flex-wrap: wrap;
  }
  .studio-dialog-surface > header > div:first-child {
    flex-basis: calc(100% - 50px);
  }
  .studio-dialog-surface > header > .icon-btn {
    position: absolute;
    right: 12px;
    top: 15px;
  }
  .studio-dialog-surface > header > div:first-child {
    padding-right: 30px;
  }
  .studio-dialog-canvas {
    padding: 10px;
  }
  .studio-preview-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    border-radius: 12px;
  }
  .studio-dialog-surface {
    max-height: calc(100dvh - 16px);
  }
  .studio-dialog-booking .booking {
    height: calc(100dvh - 174px);
    min-height: 280px;
  }
  .studio-dialog-booking.mobile {
    width: 100%;
  }
  .studio-toolbar > div {
    flex-basis: 100%;
  }
}
@media (max-width:480px) {
  .studio-preview-compact {
    grid-template-columns: minmax(0, 1fr);
    margin: 0 14px 14px;
  }
  .studio-thumbnail {
    grid-row: auto;
    max-width: 280px;
    width: 100%;
    justify-self: center;
  }
  .studio-open-preview {
    margin-top: 12px;
  }
  .studio-form-summary {
    grid-column: 1;
  }
  .studio-preview-compact > header {
    grid-column: 1;
  }
  .studio-editor {
    padding: 18px;
  }
  .studio-toolbar {
    padding: 16px;
  }
  .studio-intro {
    flex-wrap: wrap;
  }
  .studio-tabs {
    padding: 8px;
  }
  .studio-tabs button {
    flex: 1;
    padding: 10px 8px;
  }
  .studio-editor .two-col {
    grid-template-columns: minmax(0, 1fr);
  }
}
.studio-dialog-booking .booking,
.studio-thumbnail-content .booking {
  max-width: none;
}
.studio-intro .eyebrow,
.studio-intro h2 {
  display: none;
}
.studio-intro > div > p:last-child {
  margin: 0;
  max-width: 650px;
}
.form-studio .studio-intro {
  margin-bottom: 14px;
}
.studio-selector > span {
  white-space: normal;
}
.studio-dialog-surface .studio-device button:focus-visible,
.studio-thumbnail-cover:focus-visible {
  outline: 3px solid #458571;
  outline-offset: -3px;
}
.webbooker {
  --booker-accent:#197564;
  --green:var(--booker-accent);
  width: min(760px, 100%);
  min-height: 100dvh;
  margin: auto;
  background: #fff;
  position: relative;
  padding: 0 28px 95px;
  box-shadow: 0 0 70px #173d3710;
  color: #213f35;
}
.booker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 24px 0;
  border-bottom: 1px solid #e7ede8;
}
.booker-brand {
  display: flex;
  gap: 11px;
  align-items: center;
  text-align: left;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
}
.booker-brand > span {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border-radius: 13px;
  background: color-mix(in srgb, var(--booker-accent) 12%, white);
  color: var(--booker-accent);
}
.booker-brand img {
  max-width: 130px;
  max-height: 52px;
  object-fit: contain;
}
.booker-brand strong {
  font-size: 16px;
  overflow-wrap: anywhere;
}
.booker-brand small {
  display: block;
  font-size: 10px;
  font-weight: 400;
  margin-top: 5px;
  color: #7b8e83;
}
.booker-by {
  font-size: 9px;
  color: #809287;
  white-space: nowrap;
}
.booker-demo {
  background: #fff7e3;
  border: 1px solid #eee2be;
  border-radius: 8px;
  font-size: 11px;
  text-align: center;
  padding: 9px;
  color: #8d7542;
  margin: 14px 0 0;
}
.booker-hero {
  position: relative;
  padding: 30px 0 24px;
  overflow: hidden;
}
.booker-kicker {
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 11px;
  letter-spacing: .1px;
  color: var(--booker-accent);
}
.booker-hero h1 {
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -1.4px;
  margin: 15px 0 13px;
  max-width: 490px;
}
.booker-hero h1 em {
  font-style: normal;
  color: var(--booker-accent);
}
.booker-hero > p {
  font-size: 14px;
  line-height: 1.65;
  color: #6a7d72;
  max-width: 420px;
  margin: 0;
}
.booker-hero-route {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 165px;
  color: var(--booker-accent);
  margin-top: 24px;
}
.booker-hero-route span {
  height: 1px;
  flex: 1;
  border-top: 2px dotted #c6d8cc;
}
.booker-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0 0 20px;
}
.booker-action {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #d7e5dc;
  background: #f7faf8;
  color: #244c3c;
  padding: 22px 16px;
  border-radius: 15px;
  text-align: left;
  cursor: pointer;
  min-width: 0;
  transition: transform .15s, box-shadow .15s;
}
.booker-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px #123c3514;
}
.booker-action.main {
  background: var(--booker-accent);
  color: white;
  border-color: var(--booker-accent);
}
.booker-action > svg {
  margin-left: auto;
  flex-shrink: 0;
}
.booker-action-icon {
  flex-shrink: 0;
}
.booker-action strong {
  display: block;
  font-size: 15px;
  line-height: 1.3;
}
.booker-action small {
  display: block;
  font-size: 10px;
  margin-top: 7px;
  opacity: .75;
  line-height: 1.4;
}
.booker-shortcuts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
}
.booker-shortcuts > button,
.booker-shortcuts > a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid #e0e9e3;
  border-radius: 12px;
  background: #fff;
  padding: 18px 15px;
  color: #385748;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
}
.booker-shortcuts svg {
  color: var(--booker-accent);
}
.booker-shortcuts strong {
  font-size: 13px;
}
.booker-shortcuts small {
  font-size: 10px;
  color: #758a7c;
  line-height: 1.4;
}
.booker-reassurance {
  display: flex;
  justify-content: center;
  gap: 7px;
  align-items: center;
  margin: 24px 0;
  font-size: 11px;
  color: #7c9082;
  text-align: center;
}
.booker-form-choice {
  margin: 0 0 16px;
}
.booker-nav {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(760px, 100%);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 10px 18px max(12px, env(safe-area-inset-bottom));
  background: #ffffffed;
  backdrop-filter: blur(14px);
  border-top: 1px solid #e1e9e4;
  z-index: 30;
}
.booker-nav button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 8px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #819287;
  font-size: 10px;
  cursor: pointer;
}
.booker-nav button[aria-current=page] {
  background: color-mix(in srgb, var(--booker-accent) 8%, white);
  color: var(--booker-accent);
  font-weight: 700;
}
.booker-back {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 0;
  padding: 16px 0;
  color: var(--booker-accent);
  font-size: 12px;
  cursor: pointer;
}
.webbooker .booking.compact {
  height: min(584px, calc(100svh - 240px));
  min-height: 320px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 14px;
  box-shadow: none;
}
.booker-personal {
  padding: 35px 0;
}
.booker-section-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--booker-accent) 10%, white);
  color: var(--booker-accent);
  border-radius: 16px;
}
.booker-personal h1 {
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -.7px;
  margin: 20px 0 12px;
}
.booker-personal p {
  font-size: 14px;
  color: #6f8276;
  line-height: 1.7;
  max-width: 510px;
}
.booker-personal form {
  display: grid;
  gap: 16px;
  margin: 25px 0;
  max-width: 500px;
}
.booker-personal form small {
  font-size: 11px;
  color: #7c8c80;
  line-height: 1.6;
}
.booker-personal > .btn {
  margin: 15px 10px 10px 0;
}
.booker-personal .booker-private-note {
  display: flex;
  gap: 9px;
  border-top: 1px solid #e0e8e1;
  padding-top: 18px;
  margin-top: 26px;
  font-size: 11px;
}
.booker-private-note svg {
  flex-shrink: 0;
  margin-top: 3px;
}
.webbooker-loading {
  padding: 80px 24px;
  max-width: 600px;
  margin: auto;
  text-align: center;
  color: #406151;
}
.webbooker-loading h1 {
  font-size: 23px;
}
.booker-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  padding: 30px;
}
.booker-settings {
  padding: 0 24px 24px;
}
.booker-settings section {
  padding: 22px 0;
  border-bottom: 1px solid #e3eae5;
}
.booker-settings h3 {
  font-size: 17px;
  margin: 0 0 18px;
}
.booker-settings .field {
  margin: 14px 0;
}
.booker-settings .check-line {
  margin: 14px 0;
}
.booker-settings form > .btn {
  margin-top: 24px;
}
.booker-settings .notice {
  margin: 16px 0 0;
}
.booker-settings .two-col {
  gap: 16px;
}
.booker-logo-setting {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.booker-logo-setting img {
  max-height: 66px;
  max-width: 220px;
  object-fit: contain;
}
.booker-install p {
  font-size: 12px;
  color: #6f8276;
  line-height: 1.6;
}
.booker-install textarea {
  min-height: 75px;
}
.booker-extra-forms {
  padding-left: 18px;
}
.webbooker .btn.primary {
  background: var(--booker-accent);
  border-color: var(--booker-accent);
}
@media (max-width:600px) {
  .webbooker {
    padding: 0 18px 92px;
  }
  .booker-header {
    padding: 18px 0;
  }
  .booker-by {
    display: none;
  }
  .booker-hero {
    padding: 26px 0 22px;
  }
  .booker-hero h1 {
    font-size: 38px;
  }
  .booker-options {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .booker-action {
    padding: 19px 18px;
  }
  .booker-action-icon {
    padding: 10px;
    border-radius: 12px;
    background: #ffffff16;
  }
  .booker-action strong {
    font-size: 16px;
  }
  .booker-action small {
    font-size: 12px;
    margin-top: 4px;
  }
  .booker-hero-route {
    display: none;
  }
  .booker-shortcuts {
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
  }
  .booker-shortcuts > button,
  .booker-shortcuts > a {
    padding: 14px 11px;
  }
  .booker-shortcuts strong {
    font-size: 12px;
  }
  .booker-shortcuts small {
    font-size: 10px;
    overflow-wrap: anywhere;
  }
  .booker-reassurance {
    font-size: 10px;
  }
  .booker-settings {
    padding: 0 18px 18px;
  }
  .booker-settings .two-col {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .booker-personal h1 {
    font-size: 27px;
  }
  .webbooker .booking.compact {
    padding: 12px;
  }
  .booker-personal input {
    font-size: 16px;
  }
}
.mail-template-settings {
  padding: 20px 24px;
}
.mail-template-settings > .notice {
  font-size: 12px;
  margin-bottom: 16px;
}
.mail-template-settings > .studio-tabs {
  padding: 0 0 12px;
  margin-bottom: 22px;
}
.mail-template-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
}
.mail-template-layout form {
  min-width: 0;
}
.mail-template-layout .field {
  margin-bottom: 16px;
}
.mail-template-layout .small-text {
  line-height: 1.7;
}
.mail-template-preview {
  border: 1px solid #dce6df;
  border-radius: 10px;
  overflow: hidden;
}
.mail-template-preview header {
  padding: 14px 16px;
  background: #f8faf8;
}
.mail-template-preview header strong {
  font-size: 12px;
}
.mail-template-preview header p {
  font-size: 11px;
  color: #718377;
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}
.mail-template-preview iframe {
  width: 100%;
  height: 560px;
  display: block;
  border: 0;
  background: #f1f4f2;
}
@media (max-width:1100px) {
  .mail-template-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .mail-template-preview {
    max-width: 600px;
  }
}
@media (max-width:540px) {
  .mail-template-settings {
    padding: 18px;
  }
  .mail-template-preview iframe {
    height: 420px;
  }
}
.booker-notifications {
  margin: 18px 0 0;
}
.booker-notifications article {
  display: flex;
  gap: 13px;
  padding: 17px;
  border: 1px solid color-mix(in srgb, var(--booker-accent) 24%, white);
  border-radius: 12px;
  background: color-mix(in srgb, var(--booker-accent) 8%, white);
  color: var(--booker-accent);
}
.booker-notifications article > svg {
  flex-shrink: 0;
  margin-top: 2px;
}
.booker-notifications strong {
  font-size: 15px;
}
.booker-notifications p {
  font-size: 12px;
  line-height: 1.6;
  margin: 7px 0;
}
.booker-notifications a {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  color: inherit;
}
.booker-notification-error {
  padding: 12px;
  font-size: 12px;
  background: #fff8e6;
  border-radius: 8px;
  line-height: 1.6;
  color: #816c36;
}
.booker-action.main strong,
.booker-action.main small {
  color: white;
}
.booker-action.main small {
  opacity: .85;
}
.booker-settings .booker-link-card {
  margin: 20px 0 4px;
  padding: 20px;
  border: 1px solid #cfe1d7;
  border-radius: 14px;
  background: #f6faf7;
  min-width: 0;
}
.booker-link-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.booker-link-heading h3 {
  margin: 0 0 7px;
}
.booker-link-heading p,
.booker-activation p {
  font-size: 12px;
  line-height: 1.6;
  color: #63776b;
  margin: 0;
}
.booker-link-status {
  padding: 5px 9px;
  border: 1px solid #e7dac2;
  border-radius: 20px;
  background: #fff8e9;
  color: #8b6a28;
  font-size: 10px;
  white-space: nowrap;
}
.booker-link-status.ready {
  background: #e7f4eb;
  border-color: #cae2d2;
  color: #24694c;
}
.booker-share {
  min-width: 0;
}
.booker-share .field {
  margin: 16px 0 12px;
}
.booker-share input {
  width: 100%;
  min-width: 0;
  font-size: 13px;
  background: #fff;
}
.booker-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.booker-share-actions .btn {
  font-size: 12px;
  min-height: 40px;
}
.booker-activation {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #dbe6de;
}
.booker-activation p {
  flex: 1;
  min-width: 180px;
}
.booker-share-message {
  font-size: 12px;
  line-height: 1.6;
  color: #267054;
  margin: 12px 0 0;
}
.booker-settings .booker-install {
  margin-top: 24px;
  border-top: 1px solid #e0e8e2;
  padding-top: 18px;
}
.booker-install summary,
.booker-public-share summary {
  cursor: pointer;
  font-size: 12px;
  color: #37654d;
  font-weight: 600;
}
.booker-public-share {
  margin: 20px 0 0;
  border: 1px solid #dce7df;
  border-radius: 10px;
  padding: 13px 15px;
}
.booker-public-share summary {
  display: flex;
  align-items: center;
  gap: 8px;
}
.booker-public-share .field {
  font-size: 12px;
}
.booker-public-share .booker-share-actions .btn {
  flex: 1;
}
.booker-link-card .error {
  margin-top: 14px;
}
@media (max-width:600px) {
  .booker-settings .booker-link-card {
    padding: 15px;
    margin-top: 16px;
  }
  .booker-link-heading {
    flex-wrap: wrap;
    gap: 9px;
  }
  .booker-share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .booker-share-actions > .primary {
    grid-column: 1/-1;
  }
  .booker-share-actions .btn {
    justify-content: center;
    padding: 10px 8px;
    min-width: 0;
  }
  .booker-share input {
    font-size: 16px;
  }
  .booker-activation {
    align-items: stretch;
  }
  .booker-activation > .btn {
    width: 100%;
    justify-content: center;
  }
  .booker-link-card .error {
    overflow-wrap: anywhere;
  }
}
.settings-platform .workspace-management,
.settings-platform .backup-status {
  border: 0;
  box-shadow: none;
  border-radius: 0;
  margin: 0;
}
.settings-platform .backup-status {
  border-top: 1px solid #e0e8e2;
}
.settings-platform .workspace-create {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.settings-platform .workspace-list article {
  flex-wrap: wrap;
}
.settings-platform .workspace-list article > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width:700px) {
  .settings-platform .workspace-create {
    grid-template-columns: minmax(0, 1fr);
  }
}
.booker-header-tools {
  flex-shrink: 0;
}
.booker-header-tools .languages {
  padding: 2px;
  gap: 0;
}
.booker-header-tools .languages button {
  min-width: 36px;
  min-height: 40px;
  padding: 6px;
  font-size: 11px;
}
.webbooker.is-booking {
  height: 100dvh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: env(safe-area-inset-top, 0px) 18px 0;
  overflow: hidden;
}
.webbooker.is-booking .booker-header {
  flex-shrink: 0;
  padding: 10px 0;
  gap: 8px;
}
.webbooker.is-booking .booker-brand {
  min-width: 0;
  gap: 8px;
  text-align: left;
}
.webbooker.is-booking .booker-brand > span {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
}
.webbooker.is-booking .booker-brand img {
  max-width: 70px;
  max-height: 34px;
}
.webbooker.is-booking .booker-brand strong {
  font-size: 14px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.webbooker.is-booking .booker-brand small {
  font-size: 9px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.webbooker.is-booking .booker-demo {
  flex-shrink: 0;
  margin: 5px 0 0;
  padding: 4px 7px;
  font-size: 10px;
  line-height: 1.4;
}
.webbooker.is-booking > .error {
  flex-shrink: 0;
  margin: 5px 0;
  padding: 6px 10px;
}
.webbooker.is-booking .booker-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.webbooker.is-booking .booker-notifications {
  flex-shrink: 0;
  max-height: 20dvh;
  overflow: auto;
}
.webbooker.is-booking .booker-notification-error {
  flex-shrink: 0;
}
.webbooker .booker-booking:not([hidden]) {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  min-width: 0;
}
.webbooker .booking.embedded {
  flex: 1;
  height: auto;
  min-height: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.webbooker .booking.embedded .steps {
  padding: 9px 0;
  gap: 8px;
}
.webbooker .booking.embedded .steps b {
  width: 21px;
  height: 21px;
}
.webbooker .booking.embedded .booking-fields {
  padding: 12px 0 6px;
  gap: 12px;
}
.webbooker .booking.embedded .booking-form-body {
  padding: 0 0 4px;
  scrollbar-gutter: auto;
  scroll-padding-block: 8px;
}
.booking-footer {
  flex-shrink: 0;
}
.webbooker .booking.embedded .booking-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 0;
  border-top: 1px solid #dce6df;
  background: white;
}
.webbooker .booking.embedded .booking-total {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  border-radius: 0;
}
.webbooker .booking.embedded .booking-total-route {
  display: none;
}
.webbooker .booking.embedded .booking-total-price {
  max-width: none;
  flex-shrink: 1;
  text-align: left;
}
.webbooker .booking.embedded .booking-total-price > strong {
  font-size: 24px;
}
.webbooker .booking.embedded .booking-total-price > strong.on-request {
  font-size: 14px;
}
.webbooker .booking.embedded .booking-actions {
  padding: 0;
  gap: 6px;
}
.webbooker .booking.embedded .booking-actions > span {
  display: none;
}
.webbooker .booking.embedded .booking-actions .btn {
  min-height: 44px;
  padding: 10px 14px;
}
.webbooker .booking.embedded .booking-actions > .primary {
  min-width: 0;
}
.webbooker .booking.embedded .booking-actions > .booking-previous {
  width: 44px;
  padding: 10px;
}
.webbooker.is-booking .booker-nav {
  position: static;
  transform: none;
  width: 100%;
  flex-shrink: 0;
  padding: 6px 0 max(6px, env(safe-area-inset-bottom));
  gap: 4px;
}
.webbooker.is-booking .booker-nav button {
  padding: 5px 3px;
  min-height: 44px;
  gap: 3px;
}
@media (max-width:600px) {
  .webbooker.is-booking {
    padding-inline: 14px;
  }
  .webbooker .booking.embedded .field input,
  .webbooker .booking.embedded .field select {
    font-size: 16px;
    min-height: 44px;
    padding: 9px 10px;
  }
  .webbooker .booking.embedded .booking-route-endpoints {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .webbooker .booking.embedded .booking-address-vehicle {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .webbooker .booking.embedded .booking-direction button {
    flex-direction: row;
    min-height: 42px;
    font-size: 11px;
    gap: 5px;
  }
  .webbooker .booking.embedded .booking-direction {
    padding: 3px;
  }
  .webbooker .booking.embedded .booking-fields h2 {
    font-size: 17px;
  }
  .webbooker .booking.embedded .field > span {
    font-size: 11px;
    line-height: 1.3;
  }
  .webbooker .booking.embedded .street-hint {
    font-size: 10px;
    line-height: 1.3;
  }
}
@media (max-width:360px) {
  .webbooker.is-booking {
    padding-inline: 10px;
  }
  .webbooker.is-booking .booker-brand small {
    display: none;
  }
  .webbooker .booking.embedded .booking-direction button {
    font-size: 10px;
    gap: 4px;
  }
  .webbooker .booking.embedded .booking-direction svg {
    width: 15px;
  }
  .webbooker .booking.embedded .booking-total-price > strong.on-request {
    font-size: 12px;
  }
  .webbooker .booking.embedded .booking-actions .btn {
    padding-inline: 10px;
  }
}
@media (max-width:600px) and (max-height:640px) {
  .webbooker.is-booking .booker-header {
    padding-block: 6px;
  }
  .webbooker.is-booking .booker-demo {
    padding-block: 2px;
  }
  .webbooker .booking.embedded .steps {
    padding-block: 6px;
  }
  .webbooker .booking.embedded .booking-fields {
    padding-top: 8px;
    gap: 6px;
  }
  .webbooker .booking.embedded .booking-address-vehicle {
    gap: 8px;
  }
  .webbooker .booking.embedded .booking-footer {
    padding-block: 6px;
  }
  .webbooker.is-booking .booker-nav {
    padding-top: 4px;
    padding-bottom: max(4px, env(safe-area-inset-bottom));
  }
}
.webbooker .booking.embedded .booking-route-endpoints {
  align-items: end;
}
.webbooker:not(.is-booking) {
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
}
.webbooker:not(.is-booking) .booker-content {
  flex: 1;
}
.webbooker:not(.is-booking) .booker-nav {
  position: sticky;
  left: auto;
  transform: none;
  flex-shrink: 0;
  width: auto;
  margin: 0 -28px;
}
.webbooker:not(.is-booking) .booker-reassurance {
  margin-bottom: 16px;
}
@media (max-width:600px) {
  .webbooker:not(.is-booking) .booker-nav {
    margin-inline: -18px;
  }
}
.street-suggestions button,
.suggestions > button {
  touch-action: manipulation;
}
.studio-save-error {
  padding: 16px 20px;
  margin: 14px 20px;
  border: 1px solid #ecc9bd;
  background: #fff5f0;
  border-radius: 9px;
  color: #914534;
  outline: none;
}
.studio-save-error strong {
  font-size: 14px;
}
.studio-save-error p {
  color: inherit;
  font-size: 13px;
  margin: 7px 0;
}
.studio-save-error small {
  color: #95695b;
}
.logo {
  width: auto;
  background: transparent;
  border-radius: 0;
  overflow: visible;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.sidebar > .logo {
  padding: 0;
  margin: 0 0 23px;
  width: 100%;
  box-sizing: border-box;
}
.login-story .logo {
  width: auto;
}
.taxidoc-mark {
  display: block;
  position: relative;
  overflow: hidden;
  width: 43px;
  height: 48px;
  flex: 0 0 43px;
}
.taxidoc-mark img {
  display: block;
  position: absolute;
  width: 260px;
  max-width: none;
  height: auto;
  left: -32px;
  top: -28px;
  object-fit: unset;
}
.taxidoc-wordmark {
  display: block;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1;
  color: #fff;
}
.driver-logo {
  display: block;
  width: 160px;
  height: 54px;
  object-fit: cover;
  object-position: center;
}
.workspace-brand-image {
  display: block;
  width: 220px;
  height: 78px;
  object-fit: cover;
  object-position: center;
  margin-bottom: 20px;
  background: #fff;
  border-radius: 10px;
}
.taxidoc-footer-logo {
  display: block;
  width: 155px;
  height: 54px;
  object-fit: cover;
  object-position: center;
  margin-bottom: 12px;
}
.public-site {
  min-height: 100vh;
  background: #f5f7f6;
  color: #123029;
  overflow: hidden;
}
.public-site .logo {
  color: #fff;
}
.public-nav {
  height: 78px;
  padding: 0 clamp(24px, 6vw, 92px);
  display: flex;
  align-items: center;
  gap: 28px;
  background: #0e3b32;
  color: #fff;
}
.public-brand {
  text-decoration: none;
}
.public-nav nav {
  display: flex;
  gap: 22px;
  margin-left: auto;
}
.public-nav nav a,
.public-footer a {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
  font-size: 13px;
}
.public-nav nav a:hover {
  text-decoration: underline;
}
.public-nav .public-login {
  margin-left: 10px;
  background: #fff;
  color: #123b33;
  border: 0;
}
.public-hero {
  padding: clamp(64px, 8vw, 118px) clamp(24px, 7vw, 112px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: clamp(45px, 8vw, 120px);
  align-items: center;
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(91, 190, 161, .2),
      transparent 30%),
    linear-gradient(
      135deg,
      #0e3b32,
      #0b2c26);
  color: #fff;
}
.public-kicker,
.public-heading > span,
.public-personas article span,
.public-security > div > span,
.public-cta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #83d5bd;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
}
.public-hero h1 {
  font-size: clamp(50px, 6vw, 82px);
  line-height: .98;
  letter-spacing: -.055em;
  margin: 22px 0;
}
.public-hero h1 em {
  color: #8bddc4;
  font-style: normal;
}
.public-hero > div > p {
  font-size: 19px;
  line-height: 1.7;
  color: #d3e4df;
  max-width: 680px;
}
.public-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 30px 0;
}
.public-actions .btn:not(.primary),
.public-cta .btn:not(.primary) {
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
  background: rgba(255, 255, 255, .06);
}
.public-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 13px;
  color: #c4d9d3;
}
.public-proof span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.public-proof svg {
  width: 16px;
  color: #8bddc4;
}
.public-visual {
  position: relative;
}
.public-visual:before {
  content: "";
  position: absolute;
  inset: -22px;
  background:
    linear-gradient(
      135deg,
      rgba(141, 222, 198, .28),
      transparent 60%);
  border-radius: 42px;
  transform: rotate(3deg);
}
.public-window {
  position: relative;
  background: #fff;
  color: #17342d;
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 35px 80px rgba(0, 0, 0, .32);
}
.public-window-head {
  display: flex;
  align-items: center;
  gap: 7px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e8efec;
}
.public-window-head span {
  width: 9px;
  height: 9px;
  background: #cedbd7;
  border-radius: 50%;
}
.public-window-head b {
  margin-left: auto;
  font-size: 13px;
}
.public-window-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 18px 0;
}
.public-window-stats article {
  background: #eff5f2;
  padding: 15px;
  border-radius: 14px;
}
.public-window-stats small {
  display: block;
  color: #658078;
}
.public-window-stats strong {
  font-size: 25px;
}
.public-window-rides {
  display: grid;
  gap: 10px;
}
.public-window-rides article {
  display: flex;
  align-items: center;
  gap: 11px;
  border: 1px solid #e3ebe8;
  border-radius: 14px;
  padding: 13px;
}
.public-window-rides i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #3baa89;
}
.public-window-rides div {
  display: grid;
  gap: 3px;
  margin-right: auto;
}
.public-window-rides small {
  color: #70877f;
}
.public-window-rides article > span {
  font-size: 11px;
  font-weight: 800;
  background: #e7f5ef;
  color: #19755f;
  padding: 6px 8px;
  border-radius: 99px;
}
.public-strip {
  padding: 24px clamp(24px, 7vw, 112px);
  display: flex;
  justify-content: center;
  gap: 40px;
  background: #8bddc4;
  color: #103b32;
  font-size: 15px;
}
.public-section,
.public-flow,
.public-security,
.public-cta,
.public-pricing {
  padding: clamp(72px, 9vw, 128px) clamp(24px, 7vw, 112px);
}
.public-heading {
  max-width: 760px;
  margin-bottom: 44px;
}
.public-heading > span {
  color: #19755f;
}
.public-heading h2,
.public-personas h2,
.public-security h2,
.public-cta h2,
.public-flight h2 {
  font-size: clamp(34px, 4.5vw, 58px);
  line-height: 1.08;
  letter-spacing: -.045em;
  margin: 14px 0;
}
.public-heading p,
.public-feature-grid p,
.public-steps p,
.public-personas p,
.public-security p,
.public-cta p {
  color: #5d766f;
  line-height: 1.7;
}
.public-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.public-feature-grid article {
  background: #fff;
  border: 1px solid #e0e9e5;
  border-radius: 20px;
  padding: 27px;
}
.public-feature-grid article > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #dff3ec;
  color: #16725d;
}
.public-feature-grid h3,
.public-steps h3 {
  font-size: 19px;
  margin: 22px 0 8px;
}
.public-flight {
  padding: clamp(70px, 8vw, 115px) clamp(24px, 7vw, 112px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .75fr);
  gap: clamp(40px, 8vw, 110px);
  align-items: center;
  background: #102f29;
  color: white;
}
.public-flight > div:first-child > p {
  font-size: 17px;
  line-height: 1.75;
  color: #c6d9d3;
  max-width: 700px;
}
.public-flight ul {
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  display: grid;
  gap: 13px;
}
.public-flight li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #e3efeb;
}
.public-flight li svg {
  color: #85dcc1;
  width: 17px;
}
.flight-showcase {
  background: #fff;
  color: #17342d;
  border-radius: 25px;
  padding: 30px;
  box-shadow: 0 30px 70px #06181380;
}
.flight-route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #176b59;
  font-weight: 900;
  letter-spacing: .08em;
}
.flight-route svg {
  color: #c08a29;
}
.flight-showcase > strong {
  display: block;
  font-size: 30px;
  margin: 32px 0 7px;
}
.flight-showcase > p {
  color: #247250;
  margin: 0 0 28px;
}
.flight-showcase > div:not(.flight-route) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.flight-showcase > div:not(.flight-route) > span {
  background: #eff5f2;
  padding: 13px;
  border-radius: 12px;
  color: #658078;
  font-size: 12px;
}
.flight-showcase b {
  display: block;
  color: #17342d;
  font-size: 17px;
  margin-top: 3px;
}
.flight-showcase small {
  display: block;
  margin-top: 22px;
  color: #71877f;
}
.public-flow {
  background: #fff;
}
.public-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #dbe6e2;
  border: 1px solid #dbe6e2;
  border-radius: 22px;
  overflow: hidden;
}
.public-steps article {
  background: #fff;
  padding: 30px;
  min-height: 230px;
}
.public-steps b {
  color: #1d8069;
  font-size: 28px;
}
.public-personas {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.public-personas article {
  padding: clamp(55px, 7vw, 100px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 25px;
  background: #143e35;
  color: #fff;
}
.public-personas article + article {
  background: #1a6d5b;
}
.public-personas article > svg {
  width: 38px;
  height: 38px;
  color: #8bddc4;
}
.public-personas p {
  color: #d2e3de;
}
.public-pricing {
  background: #eef3f1;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: stretch;
}
.pricing-grid article {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #dce6e2;
  border-radius: 22px;
  padding: 30px;
}
.pricing-grid article.popular {
  border: 2px solid #1b7b65;
  box-shadow: 0 20px 50px #133d3118;
  transform: translateY(-8px);
}
.price-badge {
  position: absolute;
  top: -14px;
  right: 24px;
  background: #1b7b65;
  color: white;
  border-radius: 99px;
  padding: 7px 11px;
  font-size: 10px;
  letter-spacing: .12em;
}
.pricing-grid h3 {
  font-size: 24px;
  margin: 3px 0 8px;
}
.pricing-grid article > p {
  min-height: 50px;
  color: #687d76;
  line-height: 1.6;
}
.plan-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 20px 0;
  border-bottom: 1px solid #e6ece9;
}
.plan-price strong {
  font-size: 42px;
  letter-spacing: -.04em;
}
.plan-price span {
  color: #70827c;
}
.pricing-grid ul {
  list-style: none;
  padding: 18px 0;
  margin: 0 0 10px;
  display: grid;
  gap: 12px;
}
.pricing-grid li {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
}
.pricing-grid li svg {
  width: 16px;
  color: #1b8068;
}
.pricing-grid .btn {
  margin-top: auto;
  justify-content: center;
}
.pricing-note {
  text-align: center;
  color: #63756f;
  margin: 32px 0 0;
}
.pricing-note a {
  color: #176b59;
  font-weight: 800;
}
.public-security {
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: 90px;
  align-items: center;
}
.public-security > div > svg {
  width: 48px;
  height: 48px;
  color: #19755f;
  margin-bottom: 22px;
}
.public-security ul {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 14px;
}
.public-security li {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid #dce8e4;
  border-radius: 14px;
  padding: 18px;
  font-weight: 800;
}
.public-security li svg {
  color: #1e8a70;
}
.public-cta {
  display: flex;
  justify-content: space-between;
  gap: 55px;
  align-items: center;
  background: #0e3b32;
  color: #fff;
}
.public-cta > div:first-child {
  max-width: 800px;
}
.public-cta p {
  color: #d2e3de;
}
.public-cta > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.public-footer {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 30px clamp(24px, 7vw, 112px);
  background: #092921;
  color: #d8e7e3;
}
.public-footer p {
  margin-right: auto;
}
.public-footer nav {
  display: flex;
  gap: 22px;
}
@media (max-width:1100px) {
  .public-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .public-nav nav {
    gap: 14px;
  }
}
@media (max-width:900px) {
  .public-nav nav {
    display: none;
  }
  .public-nav {
    padding: 0 20px;
  }
  .public-login {
    margin-left: auto !important;
  }
  .public-hero,
  .public-flight {
    grid-template-columns: 1fr;
    padding-top: 65px;
  }
  .public-visual,
  .flight-showcase {
    max-width: 650px;
  }
  .public-strip {
    justify-content: flex-start;
    overflow: auto;
  }
  .public-steps {
    grid-template-columns: 1fr 1fr;
  }
  .public-personas {
    grid-template-columns: 1fr;
  }
  .pricing-grid {
    grid-template-columns: 1fr;
    max-width: 650px;
    margin: auto;
  }
  .pricing-grid article.popular {
    transform: none;
  }
  .public-security {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .public-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width:580px) {
  .public-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .public-hero h1 {
    font-size: 46px;
  }
  .public-visual {
    display: none;
  }
  .public-proof {
    display: grid;
  }
  .public-feature-grid,
  .public-steps {
    grid-template-columns: 1fr;
  }
  .public-personas article {
    grid-template-columns: 1fr;
    padding: 48px 24px;
  }
  .public-flight {
    padding: 60px 24px;
  }
  .flight-showcase {
    padding: 23px;
  }
  .flight-showcase > strong {
    font-size: 25px;
  }
  .public-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .public-footer p {
    margin: 0;
  }
  .public-footer nav {
    flex-wrap: wrap;
  }
}
.policy-page {
  min-height: 100vh;
  background: #f5f7f6;
}
.policy-document {
  width: min(860px, calc(100% - 32px));
  margin: 48px auto 72px;
  padding: 48px 56px;
  background: #fff;
  border: 1px solid #dfe8e3;
  border-radius: 24px;
  box-shadow: 0 18px 60px rgba(20, 57, 45, .08);
}
.policy-document h1 {
  margin: 12px 0 4px;
  font-size: clamp(2.1rem, 6vw, 4rem);
  letter-spacing: -.045em;
  color: #15382e;
}
.policy-date {
  color: #708079;
  margin-bottom: 36px;
}
.policy-back {
  display: inline-flex;
  color: #21634f;
  font-weight: 750;
  text-decoration: none;
}
.policy-copy {
  display: grid;
  gap: 30px;
}
.policy-copy section {
  padding-top: 2px;
}
.policy-copy h2 {
  margin: 0 0 8px;
  font-size: 1.18rem;
  color: #173d31;
}
.policy-copy p {
  margin: 0;
  color: #4b5f57;
  line-height: 1.72;
}
.policy-copy a {
  color: #167253;
  font-weight: 700;
}
@media (max-width:700px) {
  .policy-document {
    width: calc(100% - 20px);
    margin: 18px auto 48px;
    padding: 28px 20px;
    border-radius: 18px;
  }
  .policy-document h1 {
    font-size: 2.2rem;
  }
}
@media (max-width:600px) {
  .webbooker input,
  .webbooker select,
  .webbooker textarea,
  .booking input,
  .booking select,
  .booking textarea {
    font-size: 16px !important;
  }
  .webbooker .booking.embedded .booking-form-body {
    scrollbar-gutter: stable;
  }
  .webbooker .booking.embedded .booking-fields {
    gap: 12px;
  }
  .webbooker .booking.embedded .field {
    gap: 5px;
  }
  .webbooker .booking.embedded .booking-footer {
    contain: layout;
  }
}
@media (max-width:420px) {
  .webbooker .booking.embedded .booking-route-endpoints,
  .webbooker .booking.embedded .booking-address-vehicle {
    grid-template-columns: 1fr;
  }
}
.studio-preview-dialog {
  width: min(820px, calc(100vw - 32px));
}
.studio-dialog-canvas {
  padding: 14px;
}
.studio-dialog-booking.desktop {
  max-width: 680px;
}
.studio-dialog-booking.desktop .booking {
  max-width: 660px !important;
  height: min(610px, calc(100dvh - 155px));
  margin-inline: auto;
}
.studio-dialog-booking.desktop .booking-route-endpoints {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.studio-dialog-booking.desktop .booking-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.studio-dialog-booking.desktop .booking-actions {
  padding-left: 12px;
}
@media (max-width:780px) {
  .studio-preview-dialog {
    width: calc(100vw - 16px);
  }
  .studio-dialog-canvas {
    padding: 8px;
  }
}
.workspace-onboarding-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 20px 24px;
  border-top: 1px solid #e4ebe6;
}
.workspace-onboarding-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid #dce7df;
  border-radius: 14px;
  background: #f8fbf9;
}
.workspace-onboarding-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 7px;
  font-size: 15px;
  color: #244d3d;
}
.workspace-onboarding-card > p {
  font-size: 11px;
  line-height: 1.55;
  color: #6b7f74;
  margin: 0 0 15px;
}
.workspace-onboarding-card .workspace-create {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}
.workspace-onboarding-card .workspace-create .btn {
  min-height: 42px;
}
.paid-order-list {
  display: grid;
  gap: 9px;
}
.paid-order-list article {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px;
  background: white;
  border: 1px solid #e1e9e4;
  border-radius: 9px;
}
.paid-order-list article > div {
  flex: 1;
  min-width: 0;
}
.paid-order-list strong,
.paid-order-list small {
  display: block;
  overflow-wrap: anywhere;
}
.paid-order-list small {
  font-size: 10px;
  margin-top: 3px;
  color: #718279;
}
@media (max-width:850px) {
  .workspace-onboarding-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .workspace-onboarding-card .workspace-create {
    grid-template-columns: minmax(0, 1fr);
  }
}
.public-flow-page {
  min-height: 100vh;
  background: #f5f7f6;
}
.sales-page {
  width: min(1120px, calc(100% - 32px));
  margin: 64px auto 88px;
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1fr);
  gap: 64px;
  align-items: start;
}
.sales-intro {
  position: sticky;
  top: 32px;
}
.sales-intro h1,
.faq-page h1,
.order-status h1 {
  margin: 14px 0 18px;
  color: #15382e;
  font-size: clamp(2.35rem, 6vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.sales-intro > p {
  font-size: 1.1rem;
  line-height: 1.65;
  color: #52675f;
  max-width: 620px;
}
.sales-form {
  background: #fff;
  border: 1px solid #dfe8e3;
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 18px 55px rgba(20, 57, 45, .09);
  display: grid;
  gap: 18px;
}
.sales-form h2 {
  margin: 0 0 4px;
  color: #173d31;
}
.sales-form label:not(.check-line) {
  display: grid;
  gap: 7px;
  font-weight: 750;
  color: #27493e;
}
.sales-form input,
.sales-form select,
.sales-form textarea {
  width: 100%;
  border: 1px solid #cad8d2;
  border-radius: 12px;
  background: #fbfcfc;
  padding: 13px 14px;
  font: inherit;
  color: #183b30;
  outline: none;
}
.sales-form textarea {
  resize: vertical;
  min-height: 130px;
}
.sales-form input:focus,
.sales-form select:focus,
.sales-form textarea:focus {
  border-color: #278365;
  box-shadow: 0 0 0 3px rgba(39, 131, 101, .13);
}
.sales-form .two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.sales-form .btn {
  justify-content: center;
  min-height: 50px;
}
.sales-form small {
  color: #6d7d77;
  line-height: 1.5;
}
.sales-form small a,
.sales-form .check-line a {
  color: #167253;
  font-weight: 700;
}
.sales-trap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
}
.contact-options {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}
.contact-options a {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 16px;
  border: 1px solid #d9e5df;
  border-radius: 15px;
  background: #fff;
  color: #264b3e;
  text-decoration: none;
}
.contact-options a svg {
  width: 20px;
}
.contact-options a strong {
  margin-left: auto;
}
.order-summary {
  margin: 28px 0;
  padding: 24px;
  border-radius: 19px;
  background: #143b30;
  color: #fff;
}
.order-summary > span {
  display: block;
  font-weight: 800;
  margin-bottom: 10px;
}
.order-summary strong {
  font-size: 2.4rem;
}
.order-summary strong small {
  font-size: .9rem;
  font-weight: 600;
  opacity: .75;
}
.order-summary p {
  margin: 8px 0;
  color: #d7e9e2;
}
.order-summary a {
  color: #fff;
  font-weight: 750;
}
.order-trust {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 10px;
  color: #325649;
}
.order-trust li {
  display: flex;
  gap: 9px;
  align-items: center;
}
.order-trust svg {
  width: 18px;
  color: #16825e;
}
.sales-success,
.order-status {
  width: min(680px, calc(100% - 32px));
  margin: 80px auto;
  padding: 52px;
  background: #fff;
  border: 1px solid #dce7e2;
  border-radius: 24px;
  text-align: center;
  box-shadow: 0 18px 55px rgba(20, 57, 45, .09);
}
.sales-success > svg,
.order-status > svg {
  width: 54px;
  height: 54px;
  color: #16825e;
}
.order-status > .spin {
  margin: auto;
}
.order-status > .lucide-triangle-alert {
  color: #b57a1d;
}
.sales-success h2 {
  color: #173d31;
}
.sales-success p,
.order-status p {
  color: #5b6d66;
  line-height: 1.6;
}
.faq-page {
  width: min(860px, calc(100% - 32px));
  margin: 64px auto 90px;
}
.faq-page > div {
  display: grid;
  gap: 12px;
  margin-top: 36px;
}
.faq-page details {
  background: #fff;
  border: 1px solid #dce7e2;
  border-radius: 16px;
  padding: 0 20px;
}
.faq-page summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  color: #1b4034;
  font-weight: 800;
}
.faq-page summary::-webkit-details-marker {
  display: none;
}
.faq-page summary svg {
  width: 19px;
  transition: .2s;
}
.faq-page details[open] summary svg {
  transform: rotate(45deg);
}
.faq-page details p {
  margin: -4px 0 22px;
  color: #586b64;
  line-height: 1.65;
}
.faq-contact {
  margin-top: 34px;
  padding: 28px;
  border-radius: 20px;
  background: #e8f2ee;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.faq-contact h2 {
  margin: 0;
  color: #173d31;
}
@media (max-width:850px) {
  .sales-page {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 28px;
  }
  .sales-intro {
    position: static;
  }
  .sales-form {
    padding: 25px;
  }
}
@media (max-width:600px) {
  .sales-page {
    width: calc(100% - 20px);
  }
  .sales-form {
    padding: 20px;
    border-radius: 18px;
  }
  .sales-form .two-col {
    grid-template-columns: 1fr;
  }
  .sales-form input,
  .sales-form select,
  .sales-form textarea {
    font-size: 16px;
  }
  .faq-contact {
    align-items: flex-start;
    flex-direction: column;
  }
  .public-flow-page .public-nav nav {
    display: none;
  }
}
.subscription-page {
  display: grid;
  gap: 24px;
}
.subscription-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 28px;
  padding: 32px;
  border-radius: 22px;
  background:
    linear-gradient(
      135deg,
      #103d33,
      #196b59);
  color: #fff;
  box-shadow: 0 18px 48px #0e392d22;
}
.subscription-hero.attention {
  background:
    linear-gradient(
      135deg,
      #433319,
      #785720);
}
.subscription-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #93e1c9;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
}
.subscription-hero h2 {
  font-size: 34px;
  letter-spacing: -.035em;
  margin: 11px 0 8px;
}
.subscription-hero p {
  color: #d8e9e4;
  line-height: 1.55;
}
.subscription-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.subscription-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border-radius: 99px;
  background: #ffffff14;
  border: 1px solid #ffffff20;
  font-size: 12px;
  font-weight: 750;
}
.subscription-warning {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff2cf !important;
  background: #ffffff12;
  padding: 11px 13px;
  border-radius: 10px;
}
.subscription-hero-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 24px;
  border-radius: 17px;
  background: #ffffff12;
  border: 1px solid #ffffff20;
}
.subscription-hero-action .btn {
  width: 100%;
  justify-content: center;
  background: #fff;
  color: #17493e;
}
.subscription-hero-action small {
  color: #cce1db;
}
.subscription-usage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.subscription-usage {
  background: #fff;
  border: 1px solid #dce6e2;
  border-radius: 16px;
  padding: 19px;
}
.subscription-usage > span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #657b74;
  font-size: 13px;
}
.subscription-usage > strong {
  display: block;
  font-size: 28px;
  margin: 14px 0;
}
.subscription-usage > strong small {
  font-size: 13px;
  color: #758981;
  font-weight: 700;
}
.subscription-usage > div {
  height: 7px;
  background: #e9efec;
  border-radius: 99px;
  overflow: hidden;
}
.subscription-usage i {
  display: block;
  height: 100%;
  background: #24816b;
  border-radius: 99px;
}
.subscription-history {
  padding: 0;
  overflow: hidden;
}
.subscription-history .panel-heading {
  padding: 23px 25px;
  margin: 0;
  border-bottom: 1px solid #e4ebe8;
}
.subscription-table {
  display: grid;
}
.subscription-table > div {
  display: grid;
  grid-template-columns: 130px minmax(220px, 1fr) 140px 130px 110px;
  gap: 15px;
  align-items: center;
  padding: 15px 25px;
  border-bottom: 1px solid #edf1ef;
  font-size: 13px;
}
.subscription-table.invoices > div {
  grid-template-columns: 150px 130px 130px 120px 100px 90px;
}
.subscription-table > div:last-child {
  border-bottom: 0;
}
.subscription-table-head {
  background: #f7f9f8;
  color: #70827c;
  font-size: 11px !important;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.subscription-table small {
  display: block;
  color: #809089;
  margin-top: 3px;
}
.payment-state {
  display: inline-flex;
  padding: 6px 9px;
  border-radius: 99px;
  background: #eef2f0;
  color: #566b64;
  font-size: 11px;
}
.payment-state.paid {
  background: #e2f5ed;
  color: #12694f;
}
.payment-state.failed,
.payment-state.canceled,
.payment-state.expired,
.payment-state.overdue {
  background: #fff0e8;
  color: #9b492c;
}
.payment-state.pending,
.payment-state.open {
  background: #fff7de;
  color: #8a6715;
}
.subscription-empty {
  display: grid;
  justify-items: center;
  text-align: center;
  padding: 45px 22px;
  color: #687c75;
}
.subscription-empty strong {
  color: #213d35;
  margin-top: 10px;
}
.subscription-empty p {
  margin: 7px 0 0;
}
.subscription-error {
  text-align: center;
  padding: 40px;
}
.subscription-error svg {
  color: #ac6b31;
}
.subscription-error .btn {
  margin-top: 15px;
}
@media (max-width:900px) {
  .subscription-hero {
    grid-template-columns: 1fr;
  }
  .subscription-usage-grid {
    grid-template-columns: 1fr;
  }
  .subscription-table {
    overflow-x: auto;
  }
  .subscription-table > div {
    min-width: 760px;
  }
  .subscription-table.invoices > div {
    min-width: 820px;
  }
}
@media (max-width:560px) {
  .subscription-hero {
    padding: 24px;
  }
  .subscription-hero h2 {
    font-size: 28px;
  }
  .subscription-meta {
    display: grid;
  }
  .subscription-meta span {
    border-radius: 10px;
  }
}
.smart-vehicle {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid #dce7e2;
  border-radius: 13px;
  background: #f8fbf9;
}
.smart-vehicle-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.smart-vehicle-heading > span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #21483e;
}
.smart-vehicle-heading small {
  max-width: 390px;
  text-align: right;
  color: #6d817a;
  line-height: 1.4;
}
.vehicle-options {
  display: grid;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  gap: 8px;
}
.vehicle-options button {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 9px 11px;
  border: 1px solid #d9e4df;
  border-radius: 10px;
  background: #fff;
  color: #23483e;
  text-align: left;
}
.vehicle-options button > span {
  display: grid;
  gap: 1px;
  font-size: 12px;
  font-weight: 800;
}
.vehicle-options button small {
  font-size: 10px;
  color: #768981;
  font-weight: 650;
}
.vehicle-options button > svg:last-child {
  margin-left: auto;
  color: #19745f;
}
.vehicle-options button.selected {
  border-color: var(--green);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--green) 13%, transparent);
  background: color-mix(in srgb, var(--green) 5%, white);
}
.vehicle-options button:disabled {
  opacity: .42;
  cursor: not-allowed;
}
@media (max-width:650px) {
  .smart-vehicle-heading {
    display: grid;
    gap: 5px;
  }
  .smart-vehicle-heading small {
    text-align: left;
  }
  .vehicle-options {
    grid-template-columns: 1fr 1fr;
  }
  .vehicle-options button {
    min-height: 56px;
  }
}
.booking-compact-selects {
  align-items: end;
}
.booking-compact-selects .field > span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.booking-compact-selects select {
  font-weight: 600;
}
.booking-footer {
  margin-top: 8px;
  border-top: 1px solid #e1e9e4;
  background: #fff;
}
.booking-footer .booking-actions {
  width: 100%;
  padding: 14px 0 0;
}
.booking-footer .booking-actions > .primary span {
  white-space: nowrap;
}
.webbooker .booking.embedded .booking-footer {
  justify-content: flex-end;
  padding: 8px 0 0;
}
.webbooker .booking.embedded .booking-actions {
  width: 100%;
}
@media (max-width:600px) {
  .booking-footer {
    margin-top: 4px;
  }
  .booking-footer .booking-actions {
    padding-top: 10px;
  }
}
@media (min-width:601px) {
  .webbooker.is-booking {
    width: min(580px, 100%);
    height: min(540px, 100dvh);
    min-height: 0;
    padding-inline: 16px;
    box-shadow: 0 10px 34px #173d3712;
  }
  .webbooker.is-booking .booker-header {
    padding-block: 7px;
  }
  .webbooker.is-booking .booker-demo {
    margin-top: 3px;
    padding-block: 3px;
  }
  .webbooker .booking.embedded .steps {
    padding-block: 6px;
  }
  .webbooker .booking.embedded .booking-fields {
    padding-top: 9px;
    gap: 9px;
  }
  .webbooker .booking.embedded .booking-direction button {
    min-height: 38px;
  }
  .webbooker .booking.embedded .field input,
  .webbooker .booking.embedded .field select {
    min-height: 40px;
    padding: 8px 10px;
  }
  .webbooker .booking.embedded .booking-actions .btn {
    min-height: 40px;
    padding-block: 8px;
  }
  .webbooker.is-booking .booker-nav {
    width: min(580px, 100%);
    padding-block: 4px;
  }
  .studio-preview-dialog {
    width: min(720px, calc(100vw - 40px));
  }
  .studio-dialog-canvas {
    padding: 12px;
  }
  .studio-dialog-booking {
    max-width: 580px;
  }
  .studio-dialog-booking .booking {
    height: min(540px, calc(100dvh - 150px));
    max-height: 540px;
  }
}
@media (min-width:601px) {
  .public-booking .booking {
    max-width: 580px;
    height: min(540px, calc(100svh - 28px));
    padding: 16px;
  }
  .public-booking {
    padding: 14px 18px 28px;
  }
  .public-booking .booking .steps {
    padding: 14px 16px;
  }
  .public-booking .booking .booking-fields {
    padding: 16px 16px 6px;
    gap: 11px;
  }
  .public-booking .booking .booking-actions {
    padding: 12px 16px 15px;
  }
  .studio-dialog-booking.desktop {
    max-width: 580px;
  }
  .studio-dialog-booking.desktop .booking {
    max-width: 580px !important;
    height: min(540px, calc(100dvh - 150px));
  }
}
@media (min-width:601px) {
  .public-booking .booking-top {
    padding-bottom: 8px;
  }
  .public-booking .demo-inline {
    margin-bottom: 8px;
    padding-block: 6px;
  }
  .public-booking .booking-intro {
    margin: 4px 0 10px;
  }
  .public-booking .booking-intro h1 {
    font-size: 25px;
    letter-spacing: -.6px;
    margin-bottom: 4px;
  }
  .public-booking .booking-intro p {
    font-size: 11px;
    margin: 0;
  }
  .public-booking .booking .steps {
    padding-block: 9px;
  }
  .public-booking .booking .booking-fields {
    padding-top: 11px;
    gap: 8px;
  }
  .public-booking .booking .booking-fields h2 {
    font-size: 18px;
  }
}
@media (min-width:601px) {
  .public-booking .booking-route-fields {
    padding-top: 7px;
    gap: 6px;
  }
  .public-booking .booking-direction button {
    min-height: 36px;
  }
  .public-booking .booking-route-fields .field input,
  .public-booking .booking-route-fields .field select {
    min-height: 38px;
    padding-block: 7px;
  }
  .public-booking .booking-route-fields .street-hint {
    line-height: 1.2;
  }
}
@media (min-width:601px) {
  .public-booking .booking .booking-actions {
    padding-bottom: 9px;
  }
}
.booking-route-price {
  margin-top: 0 !important;
  box-shadow: 0 5px 16px color-mix(in srgb, var(--green) 8%, transparent);
}
.booking-route-price .booking-total-price > strong {
  font-size: 22px;
}
.booking-review-step {
  align-content: start;
}
.booking-review-step > .payment-methods,
.booking-review-step > .booking-final-review {
  min-width: 0;
}
.contact-confirmation-note {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 2px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--green) 7%, white);
  color: #315f50;
  font-size: 12px;
  line-height: 1.45;
}
.contact-confirmation-note svg {
  flex-shrink: 0;
  color: var(--green);
}
@media (max-width:540px) {
  .booking .steps > span {
    gap: 4px;
    font-size: 9px;
  }
  .booking .steps {
    gap: 6px;
  }
  .booking-route-price {
    padding: 10px 11px !important;
  }
}
.booking-footer.route-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}
.booking-footer.route-footer .booking-route-price {
  margin: 0 !important;
  border: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
}
.booking-footer.route-footer .booking-total-route {
  display: none;
}
.booking-footer.route-footer .booking-total-price {
  max-width: none;
  text-align: left;
}
.booking-footer.route-footer .booking-total-price > span {
  font-size: 9px;
}
.booking-footer.route-footer .booking-total-price > strong {
  font-size: 21px;
}
.booking-footer.route-footer .booking-actions {
  width: auto;
  padding-top: 0;
}
@media (max-width:400px) {
  .booking-footer.route-footer .booking-total-price > strong {
    font-size: 18px;
  }
  .booking-footer.route-footer .booking-actions .primary {
    min-width: 120px;
  }
}
.booking.booking-next {
  --surface:#fff;
  --soft:#f3f7f5;
  --ink:#153b32;
  --muted:#6b8078;
  width: min(600px, 100%);
  height: min(560px, calc(100svh - 28px));
  padding: 0;
  border: 1px solid #dce7e2;
  border-radius: 22px;
  background: var(--surface);
  box-shadow: 0 18px 55px #173d3718;
  overflow: hidden;
  color: var(--ink);
}
.booking-next .booking-next-head {
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  border-bottom: 1px solid #e7eeea;
  background: #fff;
  flex-shrink: 0;
}
.booking-next-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.booking-next-brand .brand-symbol {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--green) 12%, white);
  color: var(--green);
}
.booking-next-brand > span:last-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.booking-next-brand strong {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.booking-next-brand small {
  font-size: 9px;
  color: #82928b;
  letter-spacing: .02em;
}
.booking-next .languages {
  border: 0;
  background: var(--soft);
  padding: 3px;
}
.booking-next .languages button {
  color: #71847c;
}
.booking-next .languages button.active {
  background: #fff;
  color: var(--green);
  box-shadow: 0 1px 4px #153b3214;
}
.booking-next .demo-inline {
  margin: 7px 18px 0;
  padding: 4px 10px;
  border: 0;
  border-radius: 99px;
  font-size: 9px;
}
.booking-next-title {
  padding: 15px 22px 10px;
  flex-shrink: 0;
}
.booking-next-title p {
  margin: 0 0 4px;
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.booking-next-title strong {
  display: block;
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -.45px;
}
.booking-next .booking-grid,
.booking-next .booking-main {
  border: 0;
  border-radius: 0;
  background: #fff;
}
.booking-next .steps {
  position: relative;
  padding: 0 22px 12px;
  border-bottom: 1px solid #e8efeb;
  gap: 0;
}
.booking-next .steps:before {
  content: "";
  position: absolute;
  left: 34px;
  right: 34px;
  top: 11px;
  height: 2px;
  background: #e3ebe7;
}
.booking-next .steps > span {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 4px;
  flex: 1;
  color: #95a39d;
  font-size: 9px;
  font-style: normal;
}
.booking-next .steps b {
  width: 23px;
  height: 23px;
  border: 2px solid #e3ebe7;
  background: #fff;
  color: #84958e;
}
.booking-next .steps em {
  font-style: normal;
  font-weight: 700;
}
.booking-next .steps > span.current,
.booking-next .steps > span.complete {
  color: var(--green);
}
.booking-next .steps > span.current b {
  border-color: var(--green);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--green) 9%, white);
}
.booking-next .steps > span.complete b {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
}
.booking-next .booking-form-body {
  padding: 0 22px;
}
.booking-next .booking-fields,
.booking-next.compact .booking-fields {
  padding: 12px 0 0;
  gap: 9px;
}
.booking-next .booking-direction {
  padding: 3px;
  border: 0;
  background: var(--soft);
  border-radius: 11px;
}
.booking-next .booking-direction button {
  min-height: 39px;
  border-radius: 8px;
  color: #60766e;
}
.booking-next .booking-direction button[aria-pressed=true] {
  background: #fff;
  color: var(--green);
  box-shadow: 0 2px 8px #183d3712;
}
.booking-next .field > span {
  margin-bottom: 5px;
  font-size: 10px;
  color: #4f6960;
  font-weight: 750;
}
.booking-next .field input,
.booking-next .field select {
  min-height: 42px;
  border: 1px solid #d9e5df;
  border-radius: 10px;
  background: #fff;
  padding: 8px 11px;
  color: #173d33;
  box-shadow: none;
}
.booking-next .field input:focus,
.booking-next .field select:focus {
  outline: 3px solid color-mix(in srgb, var(--green) 13%, transparent);
  border-color: var(--green);
}
.booking-next .street-hint {
  font-size: 9px;
  min-height: 11px;
}
.booking-next .booking-route-endpoints {
  gap: 10px;
}
.booking-next .address-fields {
  gap: 8px;
}
.booking-next .booking-footer {
  margin: 0;
  padding: 9px 22px 14px;
  border-top: 1px solid #e6ede9;
  background: #fff;
}
.booking-next .booking-footer.route-footer {
  grid-template-columns: minmax(105px, 1fr) auto;
}
.booking-next .booking-actions {
  padding: 0;
}
.booking-next .booking-actions .btn {
  min-height: 42px;
  border-radius: 10px;
}
.booking-next .booking-actions .primary {
  background: var(--green);
  border-color: var(--green);
  box-shadow: 0 7px 17px color-mix(in srgb, var(--green) 22%, transparent);
}
.booking-next .booking-footer.route-footer .booking-total-price > span {
  color: #70837b;
}
.booking-next .booking-footer.route-footer .booking-total-price > strong {
  font-size: 22px;
  color: var(--ink);
}
.booking-next .counter {
  min-height: 46px;
  border: 1px solid #dce6e1;
  border-radius: 10px;
  background: #fff;
  color: var(--green);
  padding: 8px 10px;
}
.booking-next .counter > span {
  color: #526c62;
}
.booking-next .booking-compact-selects select {
  font-weight: 650;
}
.booking-next .return-card {
  border-radius: 11px;
  padding: 10px;
}
.booking-next .check-line {
  font-size: 11px;
}
.booking-next .payment-methods {
  margin: 0;
}
.booking-next .payment-methods > div {
  gap: 7px;
}
.booking-next .payment-methods label {
  border-radius: 9px;
  padding: 9px 10px;
}
.booking-next .booking-final-review {
  margin: 0 !important;
  background: var(--soft);
  border: 0 !important;
}
.booking-next .booking-final-review .detail-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 14px;
}
.booking-next .booking-final-review .detail-list > div {
  grid-template-columns: 75px 1fr !important;
}
.booking-next .contact-confirmation-note {
  border-radius: 10px;
  border: 0;
}
.booking-next .error {
  font-size: 10px;
  padding: 9px 11px;
}
@media (max-width:600px) {
  .booking.booking-next {
    height: min(590px, calc(100svh - 16px));
    border-radius: 16px;
  }
  .booking-next .booking-next-head {
    height: 58px;
    padding: 0 15px;
  }
  .booking-next-title {
    padding: 12px 16px 8px;
  }
  .booking-next-title strong {
    font-size: 19px;
  }
  .booking-next .steps {
    padding: 0 14px 10px;
  }
  .booking-next .steps em {
    display: none;
  }
  .booking-next .booking-form-body {
    padding: 0 15px;
  }
  .booking-next .booking-footer {
    padding: 8px 15px 12px;
  }
  .booking-next .booking-fields,
  .booking-next.compact .booking-fields {
    padding-top: 10px;
    gap: 8px;
  }
  .booking-next .field input,
  .booking-next .field select {
    font-size: 16px;
  }
  .booking-next .booking-final-review .detail-list {
    grid-template-columns: 1fr;
  }
  .booking-next .booking-final-review .detail-list > div {
    grid-template-columns: 82px 1fr !important;
  }
}
.booking-next .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.booking-next .counters {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.booking-next .counters .counter {
  min-width: 0;
}
.booking-next .counters .counter > span {
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.booking-next .counters .counter > svg {
  width: 16px;
}
.booking-next .field > small {
  display: none;
}
.booking-extras {
  border: 1px solid #dde7e2;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.booking-extras > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  padding: 8px 11px;
  cursor: pointer;
  color: #49655b;
  font-size: 11px;
  font-weight: 800;
}
.booking-extras > summary::-webkit-details-marker {
  display: none;
}
.booking-extras > summary:after {
  content: "+";
  font-size: 17px;
  color: var(--green);
}
.booking-extras[open] > summary:after {
  content: "\2212";
}
.booking-extras > summary span:not(:empty) {
  order: 2;
  display: grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  margin-left: auto;
  margin-right: 9px;
  border-radius: 99px;
  background: color-mix(in srgb, var(--green) 11%, white);
  color: var(--green);
  font-size: 9px;
}
.booking-extras > div {
  display: grid;
  gap: 9px;
  padding: 10px;
  border-top: 1px solid #e5ece8;
  background: #fafcfb;
}
.booking-extras .field {
  margin: 0;
}
@media (max-width:430px) {
  .booking-next .counters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .booking-next .counter {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .booking-next .counter > input {
    grid-column: 1/-1;
    width: 100%;
  }
}
.booking-next .booking-review-step {
  gap: 8px;
}
.booking-next .booking-payment-select {
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
  gap: 8px;
}
.booking-next .booking-payment-select > span {
  margin: 0;
}
.booking-next .booking-payment-select > small {
  grid-column: 2;
  display: block;
  font-size: 9px;
}
.booking-next .booking-final-review {
  display: grid;
  gap: 10px;
  padding: 13px !important;
}
.booking-next .review-route {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
}
.booking-next .review-route span:last-child {
  text-align: right;
}
.booking-next .review-route b {
  color: var(--green);
}
.booking-next .review-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px 12px;
  padding: 10px 0;
  border-block: 1px solid #dfe8e3;
}
.booking-next .review-facts span {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: #557067;
  font-size: 10px;
  overflow-wrap: anywhere;
}
.booking-next .review-facts svg {
  flex-shrink: 0;
  color: var(--green);
}
.booking-next .review-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.booking-next .review-total span {
  font-size: 10px;
  color: #61776f;
}
.booking-next .review-total small {
  display: block;
  margin-top: 3px;
}
.booking-next .review-total strong {
  font-size: 22px;
  color: var(--ink);
}
.booking-next .review-policies {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #74877f;
  font-size: 8px;
  line-height: 1.35;
}
.booking-next .review-policies > span {
  margin-right: auto;
}
.booking-next .review-policies a {
  color: var(--green);
  font-weight: 750;
  white-space: nowrap;
}
.booking-next .booking-final-review > .check-line {
  margin: 0;
}
@media (max-width:430px) {
  .booking-next .booking-payment-select {
    grid-template-columns: 1fr;
  }
  .booking-next .booking-payment-select > small {
    grid-column: 1;
  }
  .booking-next .review-facts {
    grid-template-columns: 1fr;
  }
  .booking-next .review-policies > span {
    display: none;
  }
}
@media (min-width:421px) {
  .public-booking .booking.booking-next,
  .studio-dialog-booking.desktop .booking.booking-next,
  .webbooker .booking.booking-next {
    width: 411px !important;
    max-width: 411px !important;
    height: 397px !important;
    max-height: 397px !important;
  }
}
.booking.booking-next {
  width: min(411px, 100%);
  height: min(397px, calc(100svh - 16px));
  border-radius: 15px;
}
.booking-next .booking-next-head {
  height: 44px;
  padding: 0 14px;
}
.booking-next-brand {
  gap: 8px;
}
.booking-next-brand .brand-symbol {
  width: 29px;
  height: 29px;
  border-radius: 8px;
}
.booking-next-brand .brand-symbol svg {
  width: 16px;
}
.booking-next-brand strong {
  font-size: 12px;
}
.booking-next-brand small {
  font-size: 7px;
}
.booking-next .languages button {
  font-size: 8px;
  padding: 5px 7px;
}
.booking-next-title {
  padding: 8px 15px 6px;
}
.booking-next-title p {
  font-size: 7px;
  margin-bottom: 2px;
}
.booking-next-title strong {
  font-size: 16px;
  letter-spacing: -.2px;
}
.booking-next .steps {
  padding: 0 12px 7px;
}
.booking-next .steps:before {
  left: 24px;
  right: 24px;
  top: 8px;
}
.booking-next .steps > span {
  gap: 2px;
  font-size: 7px;
}
.booking-next .steps b {
  width: 17px;
  height: 17px;
  border-width: 1px;
  font-size: 8px;
}
.booking-next .steps > span.current b {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--green) 9%, white);
}
.booking-next .booking-form-body {
  padding: 0 14px;
}
.booking-next .booking-fields,
.booking-next.compact .booking-fields {
  padding-top: 7px;
  gap: 5px;
}
.booking-next .booking-direction {
  padding: 2px;
}
.booking-next .booking-direction button {
  min-height: 31px;
  font-size: 9px;
}
.booking-next .booking-direction svg {
  width: 14px;
}
.booking-next .booking-route-endpoints {
  gap: 7px;
}
.booking-next .address-fields {
  gap: 6px;
}
.booking-next .field > span {
  font-size: 8px;
  margin-bottom: 3px;
}
.booking-next .field input,
.booking-next .field select {
  min-height: 33px;
  padding: 5px 8px;
  border-radius: 7px;
  font-size: 12px;
}
.booking-next .street-hint {
  font-size: 7px;
  min-height: 8px;
  line-height: 1;
}
.booking-next .house-number-field {
  max-width: 82px;
}
.booking-next .counter {
  min-height: 36px;
  padding: 5px 6px;
  border-radius: 7px;
  gap: 4px;
}
.booking-next .counter > span {
  font-size: 7px;
}
.booking-next .counter > input {
  width: 34px;
  padding: 3px;
  font-size: 11px;
}
.booking-next .booking-compact-selects {
  gap: 7px;
}
.booking-extras > summary {
  min-height: 31px;
  padding: 5px 8px;
  font-size: 9px;
}
.booking-extras > div {
  gap: 6px;
  padding: 7px;
}
.booking-next .check-line {
  font-size: 9px;
}
.booking-next .return-card {
  padding: 7px;
}
.booking-next .return-card small {
  font-size: 7px;
}
.booking-next .booking-footer {
  padding: 6px 14px 8px;
}
.booking-next .booking-footer.route-footer {
  grid-template-columns: minmax(90px, 1fr) auto;
  gap: 7px;
}
.booking-next .booking-actions .btn {
  min-height: 34px;
  padding: 6px 10px;
  font-size: 10px;
  border-radius: 8px;
}
.booking-next .booking-actions > .primary {
  min-width: 104px;
}
.booking-next .booking-footer.route-footer .booking-total-price > span {
  font-size: 7px;
}
.booking-next .booking-footer.route-footer .booking-total-price > strong {
  font-size: 17px;
}
.booking-next .contact-confirmation-note {
  padding: 8px 10px;
  font-size: 9px;
}
.booking-next .contact-confirmation-note svg {
  width: 15px;
}
.booking-next .booking-payment-select {
  grid-template-columns: 67px 1fr;
  gap: 6px;
}
.booking-next .booking-final-review {
  gap: 6px;
  padding: 8px !important;
}
.booking-next .review-route {
  font-size: 9px;
  gap: 5px;
}
.booking-next .review-facts {
  gap: 4px 8px;
  padding: 6px 0;
}
.booking-next .review-facts span {
  font-size: 8px;
}
.booking-next .review-facts svg {
  width: 12px;
}
.booking-next .review-total span {
  font-size: 8px;
}
.booking-next .review-total strong {
  font-size: 17px;
}
.booking-next .review-policies {
  font-size: 6px;
}
.booking-next .booking-final-review > .check-line {
  font-size: 8px;
}
.public-booking {
  padding: 8px 10px 18px;
}
.public-booking .booking.booking-next {
  padding: 0;
}
.public-booking .booking.booking-next .steps {
  padding-top: 0;
  padding-bottom: 7px;
}
.public-booking .booking.booking-next .booking-fields {
  padding: 7px 0 0;
  gap: 5px;
}
.public-booking .booking.booking-next .booking-actions {
  padding: 0;
}
@media (max-width:420px) {
  .booking.booking-next {
    width: 100%;
    height: min(397px, calc(100svh - 10px));
    border-radius: 12px;
  }
  .booking-next .steps em {
    display: none;
  }
  .booking-next .field input,
  .booking-next .field select {
    font-size: 16px;
    min-height: 35px;
  }
  .booking-next-title strong {
    font-size: 15px;
  }
  .booking-next .booking-form-body {
    padding-inline: 10px;
  }
  .booking-next .booking-footer {
    padding-inline: 10px;
  }
}
.booking-next .booking-address-vehicle {
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100%;
}
.booking-next .address-fields {
  grid-template-columns: minmax(0, 1fr) 58px !important;
}
.booking-next .house-number-field {
  width: 58px;
  max-width: 58px;
}
.booking-next .house-number-field input {
  padding-inline: 6px;
}
.return-booking-shell {
  max-width: 680px;
}
.return-booking-card {
  margin: 32px auto;
  padding: 28px;
}
.return-booking-card h1 {
  font-size: 29px;
  letter-spacing: -.6px;
  color: #175c49;
  margin: 8px 0;
}
.return-booking-card > p {
  color: #5b7267;
  line-height: 1.55;
}
.return-fixed-route {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px;
  margin: 20px 0;
  background: #f1f8f4;
  border: 1px solid #d2e6dc;
  border-radius: 12px;
}
.return-fixed-route small,
.return-fixed-route strong {
  display: block;
}
.return-fixed-route small {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #678075;
  margin-bottom: 5px;
}
.return-fixed-route strong {
  font-size: 15px;
  color: #195b49;
}
.return-fixed-route svg {
  color: #2b8066;
}
.return-booking-form {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 12px;
  align-items: end;
}
.return-booking-form .btn {
  min-height: 46px;
  grid-column: 1/-1;
  justify-content: center;
}
.return-booking-form .field small {
  display: block;
  color: #70867b;
  font-size: 10px;
  line-height: 1.4;
  margin-top: 5px;
}
@media (max-width:600px) {
  .return-booking-card {
    margin: 18px auto;
    padding: 20px;
  }
  .return-booking-card h1 {
    font-size: 25px;
  }
  .return-booking-form {
    grid-template-columns: 1fr;
  }
  .return-fixed-route {
    grid-template-columns: 1fr auto 1fr;
    padding: 13px;
    gap: 8px;
  }
  .return-fixed-route strong {
    font-size: 13px;
  }
}

/* src/dispatch.css */
.main-shell,
.main-content,
.dashboard-grid > *,
.page-heading > *,
.topbar-actions {
  min-width: 0;
}
.dispatch-wrap {
  container-type: inline-size;
  overflow: visible;
}
.ride-table.dispatch-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  white-space: normal;
}
.dispatch-table th:nth-child(1) {
  width: 84px;
}
.dispatch-table th:nth-child(3) {
  width: 112px;
}
.dispatch-table th:nth-child(4) {
  width: 132px;
}
.dispatch-table th:nth-child(5) {
  width: 104px;
}
.dispatch-table th:nth-child(6) {
  width: 40px;
}
.ride-table.dispatch-table thead th {
  padding: 12px 10px;
  font-size: 11px;
  border-bottom: 2px solid #61b89b;
}
.dispatch-table .ride-column-heading {
  gap: 5px;
  white-space: normal;
}
.dispatch-table .ride-column-heading svg {
  width: 14px;
  height: 14px;
}
.ride-table.dispatch-table thead th.align-right .ride-column-heading {
  min-width: 0;
  padding: 0;
  justify-content: flex-end;
}
.ride-table.dispatch-table tbody tr {
  height: auto;
}
.ride-table.dispatch-table tbody td {
  padding: 10px;
  border-top: 0;
  border-bottom: 1px solid #dce7e1;
  vertical-align: middle;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.ride-table.dispatch-table tbody tr td:first-child {
  border-left: 3px solid #8bb9a7;
}
.ride-table.dispatch-table tbody tr:nth-child(even) {
  background: #f0f7f3;
}
.ride-table.dispatch-table td.align-right {
  width: auto;
  padding-right: 10px;
}
.dispatch-table .pickup-time {
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.dispatch-table td small {
  font-size: 11px;
  margin-top: 3px;
}
.dispatch-table .table-route {
  width: 100%;
  min-width: 0;
}
.ride-table.dispatch-table .table-route strong {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 12px;
  line-height: 1.4;
  color: #263f35;
}
.dispatch-route-end {
  min-width: 0;
  overflow-wrap: anywhere;
}
.dispatch-table .table-route strong svg {
  flex-shrink: 0;
  align-self: center;
}
.ride-table.dispatch-table .table-route > span:not(.flight-info) {
  font-size: 11px;
  line-height: 1.4;
  color: #617168;
  margin-top: 3px;
}
.dispatch-table .driver-cell {
  min-width: 0;
  max-width: none;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
}
.dispatch-table .driver-cell b {
  width: 22px;
  height: 22px;
}
.dispatch-table .muted {
  font-size: 11px;
}
.dispatch-table .badge {
  font-size: 10px;
  white-space: normal;
  line-height: 1.35;
}
.ride-money {
  display: inline-grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  column-gap: 7px;
  min-width: 0;
  color: #29483e;
  font-size: 14px;
  font-weight: 550;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums lining-nums;
}
.ride-money-currency {
  font-size: 12px;
  font-weight: 400;
  color: #71847c;
}
.ride-money-amount {
  text-align: right;
  font: inherit;
  font-variant-numeric: tabular-nums lining-nums;
}
.ride-money-fraction {
  color: #61776c;
  font-weight: 450;
}
.dispatch-table .ride-money {
  width: 100%;
  max-width: 90px;
}
.dispatch-table th:nth-child(5) {
  width: 114px;
}
.agenda-card-status .ride-money {
  font-size: 15px;
  min-width: 78px;
}
.summary-fare {
  margin: 12px 0 16px;
  padding: 13px 15px;
  background:
    linear-gradient(
      120deg,
      #f2f8f5,
      #e7f2ec);
  border: 1px solid #cfe2d7;
  border-radius: 12px;
  box-shadow: inset 0 1px 0 #ffffffb3;
}
.summary-fare > div {
  gap: 12px;
  min-width: 0;
  flex-wrap: wrap;
}
.summary-fare .summary-fare-label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  font-size: 12px;
  color: #3d6553;
  font-weight: 600;
}
.summary-fare-icon {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 1px solid #c9dfd2;
  border-radius: 9px;
  background: #e0eee6;
  color: #39765c;
  flex-shrink: 0;
}
.summary-price-payment {
  gap: 6px;
  margin-left: auto;
  min-width: 0;
  max-width: 100%;
}
.summary-price-payment .ride-money {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  column-gap: 7px;
  letter-spacing: -.4px;
  color: #1b513d;
  max-width: 100%;
}
.summary-price-payment .ride-money-currency {
  font-size: 16px;
  font-weight: 400;
  color: #70917f;
  letter-spacing: 0;
}
.summary-price-payment .ride-money-fraction {
  color: #507462;
  font-weight: 450;
}
.summary-price-payment .summary-payment {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #ffffffb3;
  border: 1px solid #d4e4db;
  border-radius: 5px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.3;
  color: #476957;
  white-space: normal;
}
.summary-price-payment .summary-payment svg {
  flex-shrink: 0;
}
.ride-table.dispatch-table .flight-info.compact {
  flex-wrap: wrap;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 10px !important;
  padding: 2px 5px;
  gap: 3px;
  line-height: 1.4;
}
.dispatch-table .completed-actor {
  white-space: normal;
  overflow-wrap: anywhere;
}
.agenda-panel .agenda-toolbar {
  padding: 12px 16px;
  gap: 10px;
  flex-wrap: wrap;
}
.agenda-panel .agenda-total {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.agenda-panel .agenda-total > strong {
  font-size: 19px;
  padding: 5px 9px;
  line-height: 1.2;
}
.agenda-panel .agenda-total > span {
  font-size: 12px;
}
.agenda-panel .agenda-search-bar {
  padding: 0 16px 12px;
  gap: 8px;
}
.agenda-panel .agenda-search-bar input {
  min-width: 0;
  padding: 9px 11px;
  font-size: 13px;
}
.agenda-panel .agenda-filters {
  padding: 0 16px;
  gap: 10px;
}
.agenda-panel .status-tabs button[data-filter] {
  min-height: 36px;
  padding: 7px 10px;
  font-size: 11px;
  gap: 6px;
}
.agenda-panel .status-tabs button[data-filter] b {
  height: 19px;
  min-width: 20px;
  font-size: 10px;
}
.agenda-panel .completed-toggle {
  padding: 7px 9px;
  font-size: 11px;
  gap: 7px;
}
.agenda-panel .agenda-caption {
  margin: 10px 16px 12px;
}
.agenda-panel .agenda-ride-cards {
  grid-auto-rows: auto;
  background: #f5f8f6;
  gap: 5px;
  padding: 5px;
}
.agenda-panel .agenda-ride-card {
  height: auto;
  min-height: 0;
  grid-template-columns: 78px minmax(0, 1fr) auto 16px;
  gap: 12px;
  padding: 12px;
  border-radius: 6px;
  box-shadow: none;
}
.agenda-card-time strong {
  font-size: 20px;
}
.agenda-card-time small {
  font-size: 10px;
}
.agenda-card-trip {
  overflow-wrap: anywhere;
  gap: 3px;
}
.agenda-card-trip > strong {
  font-size: 13px;
}
.agenda-card-trip > span {
  font-size: 12px;
}
.agenda-panel .agenda-card-status {
  gap: 7px;
}
.agenda-card-trip .flight-info.compact {
  white-space: normal;
  flex-wrap: wrap;
}
@container (max-width:740px) {
  .ride-table.dispatch-table {
    display: block;
  }
  .dispatch-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .dispatch-table tbody {
    display: block;
    width: 100%;
  }
  .ride-table.dispatch-table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 36px;
    gap: 7px 10px;
    padding: 12px;
    border-bottom: 1px solid #ccddd3;
    position: relative;
  }
  .ride-table.dispatch-table tbody tr > td {
    display: block;
    border: 0 !important;
    padding: 0;
    min-width: 0;
    background: transparent !important;
  }
  .dispatch-table td:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
    display: flex !important;
    align-items: baseline;
    gap: 7px;
  }
  .dispatch-table td:nth-child(1) small {
    margin: 0;
  }
  .dispatch-table td:nth-child(2) {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .dispatch-table td:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
    align-self: center;
  }
  .dispatch-table td:nth-child(4) {
    grid-column: 2/-1;
    grid-row: 3;
    justify-self: end;
    max-width: 100%;
    text-align: right;
  }
  .ride-table.dispatch-table td:nth-child(5) {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    padding: 0;
  }
  .dispatch-table td:nth-child(6) {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
  }
  .dispatch-table td:nth-child(6) .icon-btn {
    height: 36px;
    min-height: 36px;
    width: 36px;
    margin: -5px 0;
  }
  .ride-table.dispatch-table .table-route strong {
    font-size: 13px;
  }
  .ride-table.dispatch-table .table-route > span:not(.flight-info) {
    font-size: 12px;
    line-height: 1.5;
  }
}
@media (max-width:760px) {
  .workspace,
  .main-shell {
    width: 100%;
    min-width: 0;
  }
  .main-content {
    padding: 18px 12px;
    max-width: 100%;
  }
  .page-heading {
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
  }
  .page-heading h1 {
    font-size: 25px;
  }
  .heading-actions {
    flex-wrap: wrap;
    max-width: 100%;
  }
  .topbar {
    gap: 10px;
    padding-inline: 12px;
  }
  .topbar-actions {
    gap: 8px;
  }
  .global-search {
    min-width: 0;
    max-width: 100%;
  }
  .global-search input {
    min-width: 0;
    width: 100%;
  }
  .demo-banner {
    padding: 8px 12px;
    flex-wrap: wrap;
  }
  .agenda-panel .agenda-toolbar {
    padding: 12px;
    align-items: center;
  }
  .agenda-panel .agenda-total {
    flex: 1 1 100%;
    justify-content: space-between;
  }
  .agenda-panel .agenda-search-bar {
    padding: 0 12px 12px;
  }
  .agenda-panel .agenda-search-bar input {
    flex: 1 1 150px;
    font-size: 16px;
    max-width: 100%;
  }
  .agenda-panel .agenda-search-bar .btn {
    min-height: 44px;
  }
  .agenda-panel .agenda-filters {
    padding: 0 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .agenda-panel .status-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
  }
  .agenda-panel .status-tabs button[data-filter] {
    min-width: 0;
    min-height: 44px;
    white-space: normal;
    justify-content: space-between;
    font-size: 11px;
  }
  .agenda-panel .filter-selects {
    width: 100%;
    margin: 0;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .agenda-panel .filter-selects select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    font-size: 12px;
  }
  .agenda-panel .completed-toggle {
    min-height: 44px;
    justify-self: start;
  }
  .agenda-panel .agenda-ride-card {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 12px;
  }
  .agenda-panel .agenda-card-time {
    grid-column: 1;
    grid-row: 1;
    border: 0;
    padding: 0;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
  }
  .agenda-panel .agenda-card-time strong {
    font-size: 16px;
  }
  .agenda-panel .agenda-card-trip {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .agenda-panel .agenda-card-status {
    grid-column: 2;
    grid-row: 1;
    gap: 5px;
  }
  .agenda-panel .agenda-ride-card > svg {
    display: none;
  }
  .agenda-combine-bar,
  .agenda-combination {
    flex-wrap: wrap;
    min-width: 0;
  }
  .agenda-combine-list > label > span,
  .agenda-combination > div {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .modal.ride-drawer {
    width: min(440px, 100%);
    max-width: 100%;
    border-radius: 0;
  }
  .ride-drawer .detail-list > div {
    grid-template-columns: 86px minmax(0, 1fr);
  }
  .ride-drawer .detail-list dd,
  .ride-drawer .detail-route,
  .ride-summary-card {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .ride-drawer .field input,
  .ride-drawer .field select,
  .ride-drawer .field textarea {
    font-size: 16px;
    min-width: 0;
  }
}
.ride-table.dispatch-table tbody tr.urgent-ride,
.agenda-panel .agenda-ride-card.urgent-ride,
.agenda-combine-list > label.urgent-ride {
  outline: 0;
  background: #fffaf0;
}
.ride-table.dispatch-table tbody tr.urgent-ride > td:first-child {
  box-shadow: inset 4px 0 #d69a3e;
}
.agenda-panel .agenda-ride-card.urgent-ride,
.agenda-combine-list > label.urgent-ride {
  border-left: 4px solid #d69a3e;
}
.ride-table.dispatch-table tbody tr.overdue-ride,
.agenda-panel .agenda-ride-card.overdue-ride,
.agenda-combine-list > label.overdue-ride {
  background: #fff8f4;
}
.ride-table.dispatch-table tbody tr.overdue-ride > td:first-child {
  box-shadow: inset 4px 0 #c9795d;
}
.agenda-panel .agenda-ride-card.overdue-ride,
.agenda-combine-list > label.overdue-ride {
  border-left-color: #c9795d;
}
.ride-urgency-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: max-content;
  margin-top: 5px;
  padding: 3px 7px;
  border-radius: 6px;
  background: #fff0d5;
  color: #855319;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.overdue-ride .ride-urgency-tag {
  background: #fbe7df;
  color: #9d4c34;
}
.ride-booking-source {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #497566;
  font-size: 10px;
  line-height: 1.4;
  margin-top: 4px;
  overflow-wrap: anywhere;
}
.ride-booking-source svg {
  flex-shrink: 0;
}

/* src/booking-gateway.css */
.public-booking.booking-gateway {
  min-height: 100svh;
  padding: 32px 16px;
  display: block;
  container-type: inline-size;
  container-name: booking-gateway;
  background: #f3f6f4;
  color: #203b32;
}
.booking-gateway.is-closed .booking-expander,
.booking-gateway.is-open .booking-launcher {
  display: none;
}
.booking-gateway .booking-expander {
  width: min(720px, 100%);
  margin: 0 auto;
}
.public-booking.booking-gateway .booking {
  --ink:#203b32;
  --soft:#f3f7f5;
  width: 100% !important;
  max-width: none !important;
  height: min(616px, calc(100svh - 64px)) !important;
  max-height: none !important;
  margin: 0;
  padding: 0;
  border: 1px solid #dce6e0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 40px #1c3d300b;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--ink);
}
.public-booking.booking-gateway .booking-next-head {
  height: 66px;
  min-height: 66px;
  padding: 0 24px;
  gap: 12px;
  border-bottom: 1px solid #e9eeeb;
}
.booking-gateway .booking-next-brand {
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.booking-gateway .booking-next-brand .brand-symbol {
  width: 34px;
  height: 34px;
  border-radius: 10px;
}
.booking-gateway .booking-next-brand strong {
  font-size: 14px;
  font-weight: 650;
}
.booking-gateway .booking-next-brand small {
  font-size: 10px;
  letter-spacing: 0;
}
.booking-head-controls {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.booking-gateway .languages {
  height: 34px;
  padding: 3px;
  gap: 2px;
  background: #f2f6f3;
  border: 0;
}
.booking-gateway .languages button {
  width: 32px;
  padding: 3px;
  font-size: 10px;
}
.booking-gateway .languages button.active {
  background: #fff;
  box-shadow: 0 1px 3px #1c3d3010;
  color: var(--green);
}
.booking-dismiss {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border: 1px solid #dce6e0;
  border-radius: 8px;
  background: #fff;
  color: #587466;
  padding: 0;
}
.booking-dismiss:hover {
  background: #f3f7f5;
  color: var(--green);
}
.public-booking.booking-gateway .demo-inline {
  height: 22px;
  min-height: 22px;
  flex-shrink: 0;
  margin: 0;
  padding: 4px 20px;
  border: 0;
  border-radius: 0;
  background: #f8f7ef;
  color: #8a8058;
  font-size: 9px;
  line-height: 14px;
  text-align: center;
}
.booking-gateway .booking-next-title {
  height: 56px;
  flex: 0 0 56px;
  padding: 10px 24px 6px;
  overflow: hidden;
}
.booking-gateway .booking-next-title p {
  font-size: 9px;
  letter-spacing: .09em;
  line-height: 12px;
  margin: 0 0 5px;
}
.booking-gateway .booking-next-title strong {
  font-size: 22px;
  line-height: 26px;
  letter-spacing: -.55px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.public-booking.booking-gateway .booking-grid,
.public-booking.booking-gateway .booking-main,
.public-booking.booking-gateway .booking-main > form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  flex: 1;
  min-height: 0;
  width: 100%;
  max-width: none;
  min-width: 0;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.public-booking.booking-gateway .booking .steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  height: 46px;
  flex: 0 0 46px;
  padding: 0 24px 10px;
  gap: 8px;
  width: 100%;
  max-width: none;
  border-bottom: 1px solid #e9eeeb;
}
.booking-gateway .steps:before {
  display: none;
}
.public-booking.booking-gateway .booking .steps > span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 7px;
  font-size: 11px;
  line-height: 16px;
  color: #85968d;
}
.booking-gateway .steps b {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border: 1px solid #dce6e0;
  background: #f7faf8;
  font-size: 10px;
}
.booking-gateway .steps em {
  display: block;
  font-weight: 500;
}
.booking-gateway .steps > span.current {
  color: var(--green);
}
.booking-gateway .steps > span.current b {
  box-shadow: none;
  border-color: var(--green);
  background: #edf6f1;
}
.booking-gateway .steps > span.current em {
  font-weight: 650;
}
.booking-gateway .steps > span.complete b {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}
.public-booking.booking-gateway .booking-form-body {
  flex: 1;
  min-height: 0;
  width: 100%;
  padding: 16px 24px 8px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  overflow-anchor: none;
  overscroll-behavior: contain;
}
.public-booking.booking-gateway .booking .booking-fields {
  display: grid;
  gap: 12px;
  width: 100%;
  padding: 0;
  margin: 0;
  max-width: none;
}
.booking-gateway .booking-direction {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 40px;
  padding: 3px;
  background: #f0f5f2;
  border: 0;
  border-radius: 9px;
  gap: 4px;
}
.booking-gateway .booking-direction button {
  height: 34px;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 12px;
  border-radius: 7px;
  color: #668074;
}
.booking-gateway .booking-direction button[aria-pressed=true] {
  background: white;
  box-shadow: 0 1px 4px #173d3712;
  color: var(--green);
}
.booking-gateway .booking-direction svg {
  width: 16px;
  height: 16px;
}
.public-booking.booking-gateway .booking-route-endpoints {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.public-booking.booking-gateway .booking-address-vehicle {
  display: block;
  width: 100%;
}
.public-booking.booking-gateway .booking .address-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px !important;
  gap: 12px;
}
.public-booking.booking-gateway .booking .house-number-field {
  width: auto;
  max-width: none;
}
.public-booking.booking-gateway .booking .field {
  gap: 5px;
  margin: 0;
  min-width: 0;
}
.public-booking.booking-gateway .booking .field > span {
  font-size: 11px;
  line-height: 15px;
  font-weight: 600;
  color: #526f61;
  margin: 0;
  min-height: 15px;
}
.public-booking.booking-gateway .booking .field input,
.public-booking.booking-gateway .booking .field select,
.public-booking.booking-gateway .booking .field textarea {
  height: 42px;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #d3dfd8;
  border-radius: 8px;
  background: white;
  font-size: 14px;
  color: #243e32;
  box-shadow: none;
}
.booking-gateway .field input::placeholder {
  color: #99a89f;
}
.booking-gateway .street-hint {
  display: block;
  min-height: 13px;
  height: 13px;
  line-height: 13px;
  font-size: 9px;
  margin-top: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #788e80;
}
.booking-gateway .suggestions,
.booking-gateway .street-suggestions {
  z-index: 25;
  max-height: 170px;
  overflow: auto;
  border-color: #d3dfd8;
  top: 100%;
  border-radius: 9px;
  box-shadow: 0 10px 24px #173d3720;
}
.booking-gateway .suggestions button,
.booking-gateway .street-suggestions button {
  font-size: 12px;
  padding: 9px;
}
.public-booking.booking-gateway .booking-fields > .two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.public-booking.booking-gateway .booking-fields > .counters {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.booking-gateway .counter {
  display: flex;
  gap: 7px;
  height: 44px;
  min-height: 44px;
  padding: 6px 9px;
  border-radius: 8px;
  background: #fff;
}
.booking-gateway .counter > span {
  font-size: 10px;
  color: #526f61;
}
.booking-gateway .counter > input {
  width: 40px;
  padding: 4px;
  font-size: 14px;
  text-align: center;
}
.booking-gateway .counter > svg {
  width: 16px;
}
.booking-gateway .booking-extras {
  border-radius: 8px;
}
.booking-gateway .booking-extras > summary {
  min-height: 36px;
  padding: 7px 11px;
  font-size: 11px;
  font-weight: 550;
}
.booking-gateway .booking-extras > div {
  padding: 12px;
  gap: 12px;
}
.booking-gateway .check-line {
  font-size: 11px;
  line-height: 1.5;
}
.public-booking.booking-gateway .booking .booking-contact-fields {
  grid-template-columns: 1fr 1fr;
}
.booking-gateway .booking-contact-fields > .field:first-of-type,
.booking-gateway .contact-confirmation-note {
  grid-column: 1/-1;
}
.booking-gateway .contact-confirmation-note {
  margin: 4px 0 0;
  padding: 12px;
  font-size: 12px;
  line-height: 1.5;
  background: #f1f7f3;
  color: #526f61;
}
.public-booking.booking-gateway .booking .booking-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  flex: 0 0 132px;
  height: 132px;
  margin: 0;
  padding: 0 24px 16px;
  gap: 10px;
  border: 0;
  background: #fff;
  width: 100%;
  max-width: none;
}
.booking-fare-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px 14px;
  background: #f2f7f4;
  border: 1px solid #dce8df;
  border-radius: 10px;
}
.booking-fare-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}
.booking-fare-route span {
  min-width: 0;
}
.booking-fare-route small,
.booking-fare-value small {
  display: block;
  font-size: 9px;
  line-height: 14px;
  color: #728c7b;
  font-weight: 450;
  white-space: nowrap;
}
.booking-fare-route strong {
  display: block;
  font-size: 13px;
  line-height: 22px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #284f3c;
}
.booking-fare-route > svg {
  color: #709d85;
}
.booking-fare-value {
  text-align: right;
  flex: 0 0 170px;
  border-left: 1px solid #dce8df;
  padding-left: 16px;
}
.booking-fare-value strong {
  display: block;
  white-space: nowrap;
  font-size: 24px;
  line-height: 28px;
  letter-spacing: -.5px;
  color: var(--green);
  font-variant-numeric: tabular-nums;
}
.booking-fare-value strong.is-pending {
  font-size: 14px;
  font-weight: 550;
  letter-spacing: 0;
}
.booking-gateway .booking-fare-strip {
  height: 64px;
  flex: 0 0 64px;
}
.public-booking.booking-gateway .booking .booking-actions {
  display: flex;
  width: 100%;
  max-width: none;
  height: 42px;
  flex: 0 0 42px;
  padding: 0;
  margin: 0;
  justify-content: space-between;
  align-items: center;
}
.public-booking.booking-gateway .booking .booking-actions .btn {
  height: 42px;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 12px;
  box-shadow: none;
}
.public-booking.booking-gateway .booking .booking-actions .primary {
  width: 200px;
  min-width: 200px;
  justify-content: space-between;
  gap: 10px;
  background: var(--green);
  border-color: var(--green);
}
.booking-gateway .booking-actions .booking-previous {
  border-color: transparent;
  background: white;
  color: #708778;
  min-width: 80px;
  justify-content: flex-start;
}
.booking-gateway .booking-payment-select {
  grid-template-columns: 95px 1fr;
  gap: 12px;
}
.public-booking.booking-gateway .booking .booking-final-review {
  padding: 14px !important;
  border: 1px solid #e2ebe4 !important;
  box-shadow: none;
  border-radius: 10px;
  gap: 12px;
  background: #fafcfb;
}
.booking-gateway .review-route {
  font-size: 12px;
  line-height: 1.45;
}
.booking-gateway .review-facts {
  padding: 9px 0;
  gap: 8px 14px;
}
.booking-gateway .review-facts span {
  font-size: 11px;
  line-height: 1.5;
}
.booking-gateway .review-facts svg {
  width: 14px;
}
.booking-gateway .review-total {
  display: none;
}
.booking-gateway .review-policies {
  font-size: 9px;
}
.public-booking.booking-gateway .booking .booking-final-review > .check-line {
  font-size: 11px;
}
.public-booking.booking-gateway .booking .error {
  font-size: 11px;
  line-height: 1.45;
  margin: 10px 0 0;
  padding: 10px 12px;
}
.public-booking.booking-gateway .booking .field input[type=checkbox] {
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
}
@container booking-gateway (max-width:600px) {
  .booking-gateway .booking-launcher {
    display: none !important;
  }
  .booking-gateway.is-closed .booking-expander,
  .booking-gateway .booking-expander {
    display: block;
    width: 100%;
    margin: 0;
  }
  .public-booking.booking-gateway .booking {
    width: 100% !important;
    height: 100svh !important;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .booking-gateway .booking-dismiss {
    display: none;
  }
  .public-booking.booking-gateway .booking-next-head {
    height: 62px;
    min-height: 62px;
    padding: 0 16px;
    gap: 8px;
  }
  .booking-gateway .booking-next-brand strong {
    font-size: 12px;
  }
  .booking-gateway .booking-next-brand .brand-symbol {
    width: 30px;
    height: 30px;
  }
  .booking-gateway .booking-next-brand small {
    font-size: 9px;
  }
  .booking-gateway .languages button {
    width: 28px;
  }
  .booking-gateway .booking-next-title {
    padding-inline: 16px;
  }
  .booking-gateway .booking-next-title strong {
    font-size: 20px;
  }
  .public-booking.booking-gateway .booking .steps {
    padding-inline: 16px;
    gap: 6px;
  }
  .public-booking.booking-gateway .booking .steps > span {
    gap: 5px;
    font-size: 9px;
  }
  .booking-gateway .steps b {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
  .public-booking.booking-gateway .booking-form-body {
    padding: 16px 16px 12px;
  }
  .public-booking.booking-gateway .booking .field input,
  .public-booking.booking-gateway .booking .field select {
    font-size: 16px;
    height: 44px;
    min-height: 44px;
  }
  .public-booking.booking-gateway .booking-route-endpoints {
    gap: 10px;
  }
  .public-booking.booking-gateway .booking .address-fields {
    grid-template-columns: minmax(0, 1fr) 70px !important;
    gap: 10px;
  }
  .booking-gateway .booking-direction button {
    font-size: 10px;
    gap: 5px;
  }
  .booking-gateway .counter {
    gap: 4px;
    padding: 6px;
    display: grid;
    grid-template-columns: 1fr auto;
    height: 62px;
  }
  .booking-gateway .counter > svg {
    display: none;
  }
  .booking-gateway .counter > span {
    grid-column: 1/-1;
    font-size: 10px;
  }
  .booking-gateway .counter > input {
    grid-column: 1/-1;
    width: 100%;
    font-size: 16px;
    min-height: 28px;
  }
  .public-booking.booking-gateway .booking .booking-contact-fields {
    grid-template-columns: 1fr;
  }
  .public-booking.booking-gateway .booking .booking-footer {
    flex-basis: calc(142px + env(safe-area-inset-bottom));
    height: calc(142px + env(safe-area-inset-bottom));
    padding: 0 16px calc(16px + env(safe-area-inset-bottom));
  }
  .booking-gateway .booking-fare-strip {
    height: 70px;
    flex-basis: 70px;
    padding: 10px;
    gap: 10px;
  }
  .booking-gateway .booking-fare-value {
    flex: 0 0 114px;
    padding-left: 10px;
  }
  .booking-gateway .booking-fare-value strong {
    font-size: 22px;
  }
  .booking-gateway .booking-fare-value strong.is-pending {
    font-size: 11px;
  }
  .booking-gateway .booking-fare-route {
    gap: 4px;
    grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr);
  }
  .booking-gateway .booking-fare-route > svg {
    width: 14px;
  }
  .booking-gateway .booking-fare-route strong {
    font-size: 11px;
  }
  .public-booking.booking-gateway .booking .booking-actions {
    height: 46px;
    flex-basis: 46px;
  }
  .public-booking.booking-gateway .booking .booking-actions .btn {
    height: 46px;
    min-height: 46px;
  }
  .public-booking.booking-gateway .booking .booking-actions .primary {
    width: 190px;
    min-width: 190px;
    font-size: 12px;
  }
}
.booking-result-toolbar {
  height: 52px;
  flex: 0 0 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  border-bottom: 1px solid #e9eeeb;
  font-size: 12px;
  color: #577466;
}
@container booking-gateway (min-width:601px) {
  .booking-gateway.is-open .booking-expander {
    animation: booking-reveal .28s cubic-bezier(.2, .8, .2, 1) both;
    transform-origin: 50% 0;
  }
}
@keyframes booking-reveal {
  from {
    opacity: 0;
    transform: translateY(8px) scaleX(.94);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion:reduce) {
  .booking-gateway.is-open .booking-expander {
    animation: none;
  }
}
.booking-company-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.public-booking.booking-gateway {
  position: relative;
  isolation: isolate;
}
.booking-route-extra .check-line {
  min-height: 28px;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.booking-route-extra .check-line input {
  width: 16px;
  height: 16px;
  accent-color: var(--green);
}
.booking-route-extra .extra-stop-price {
  font-size: 11px;
  margin-left: auto;
  font-weight: 600;
  color: var(--green);
  white-space: nowrap;
}
.booking-extra-address {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 12px 0 0;
}
@container booking-gateway (min-width:601px) {
  .public-booking.booking-gateway .booking .booking-route-fields {
    gap: 8px;
  }
  .public-booking.booking-gateway .booking .booking-route-fields > .field input {
    height: 36px;
    min-height: 36px;
    padding: 7px 11px;
  }
  .booking-extra-address {
    grid-template-columns: 1fr;
  }
}
@container booking-gateway (min-width:601px) {
  .public-booking.booking-gateway .booking-route-endpoints.with-flight {
    grid-template-columns: 1fr .8fr 1fr;
  }
  .public-booking.booking-gateway .booking .booking-route-fields .field input,
  .public-booking.booking-gateway .booking .booking-route-fields .field select {
    height: 36px;
    min-height: 36px;
    padding: 7px 10px;
  }
  .booking-gateway .booking-route-fields .street-hint {
    display: none;
  }
  .booking-gateway .booking-extra-address {
    padding-top: 6px;
  }
}
@container booking-gateway (max-width:600px) {
  .public-booking.booking-gateway .booking-route-endpoints.with-flight {
    grid-template-columns: 1fr 1fr;
  }
  .booking-route-endpoints.with-flight > .field:last-child {
    grid-column: 1/-1;
  }
}
.platform-grant-card {
  padding: 18px;
  border: 1px solid #cddfd4;
  border-radius: 12px;
  background: #f5faf7;
  margin: 16px 0;
}
.platform-grant-card h4 {
  margin: 0 0 8px;
}
.platform-grant-card p {
  font-size: 13px;
}
.booking-gateway .street-suggestions {
  top: auto;
  bottom: 100%;
  max-height: 125px;
}
.extra-stop-settings {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #dce6e0;
}
.extra-stop-settings form {
  display: grid;
  gap: 16px;
}
.extra-stop-rate-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.extra-stop-example {
  padding: 16px;
  border-radius: 10px;
  background: #f3f7f5;
  display: grid;
  gap: 12px;
}
.extra-stop-example .field {
  max-width: 220px;
}
.extra-stop-quote-status {
  min-height: 20px;
  font-size: 11px;
  line-height: 16px;
  padding-top: 3px;
  color: #536c60;
}
.extra-stop-quote-status .text-btn {
  font: inherit;
  line-height: inherit;
  padding: 0 0 0 4px;
  min-height: 0;
  display: inline;
  color: var(--green);
}
.maps-attribution {
  font-size: 12px;
  color: #5e5e5e;
  font-weight: 400;
  white-space: nowrap;
  letter-spacing: normal;
  font-style: normal;
}
@media (min-width:601px) {
  .public-booking.booking-gateway .booking-form-body:has(.by-distance) {
    padding-top: 10px;
    padding-bottom: 4px;
  }
  .booking-gateway .booking-extra-address.by-distance {
    grid-template-columns: 1fr 2fr;
    gap: 10px;
  }
  .booking-gateway .booking-route-extra:has(.by-distance) > .check-line {
    min-height: 24px;
  }
  .booking-gateway .booking-route-fields:has(.by-distance) {
    gap: 6px !important;
  }
  .booking-gateway .booking-route-extra:has(.by-distance) .extra-stop-quote-status {
    font-size: 10px;
  }
}
@media (max-width:760px) {
  .extra-stop-rate-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:600px) {
  .public-booking.booking-gateway {
    padding: 0;
    background: white;
    min-height: 100svh;
  }
}
.studio-preview-dialog {
  width: min(790px, calc(100vw - 32px));
}
.studio-dialog-booking.desktop {
  max-width: 720px;
}
.studio-dialog-booking.mobile {
  max-width: 390px;
}
.public-booking.booking-gateway.booking-gateway-preview {
  padding: 0;
  min-height: 0;
  background: transparent;
}
.studio-dialog-booking .public-booking.booking-gateway .booking.booking-next {
  width: 100% !important;
  height: min(616px, calc(100dvh - 154px)) !important;
  min-height: 320px;
  max-height: none !important;
  max-width: none !important;
}
.booking-gateway.is-mobile-link .booking-launcher {
  display: none !important;
}
.booking-gateway.is-mobile-link .booking-expander {
  display: block;
}
.booking-gateway.is-mobile-link .booking-dismiss {
  display: none;
}
.public-booking.booking-gateway.is-embedded {
  padding: 0;
  min-height: 0;
  background: transparent;
}
html:has(.booking-gateway.is-embedded.is-launcher-only),
body:has(.booking-gateway.is-embedded.is-launcher-only) {
  background: transparent !important;
}
.booking-gateway.is-embedded.is-launcher-only .booking-launcher {
  display: block !important;
  width: 100%;
  margin: 0;
}
.booking-gateway.is-embedded.is-launcher-only .booking-expander {
  display: none !important;
}
.public-booking.booking-gateway.is-embedded:not(.is-launcher-only) .booking {
  height: 100svh !important;
  max-height: none !important;
  border: 0;
  border-radius: 0;
}
.booking-gateway.is-embedded:not(.is-launcher-only) .booking-dismiss {
  display: none;
}
.booking-mobile-fare {
  display: none;
}
.booking-desktop-fare {
  min-width: 0;
}
@container booking-gateway (max-width:600px) {
  .public-booking.booking-gateway:not(.is-launcher-only) .booking {
    height: 100dvh !important;
    background: #f5f7fa;
  }
  .public-booking.booking-gateway .booking-next-head {
    height: 60px;
    min-height: 60px;
    padding: 0 16px;
    background: #fff;
  }
  .booking-gateway .booking-next-brand strong {
    font-size: 13px;
    font-weight: 700;
  }
  .booking-gateway .booking-next-brand small {
    font-size: 9px;
    color: #809087;
  }
  .booking-gateway .booking-next-brand .brand-symbol {
    width: 32px;
    height: 32px;
    border-radius: 11px;
  }
  .booking-gateway .languages {
    border-radius: 11px;
    background: #f3f5f6;
  }
  .booking-gateway .languages button {
    border-radius: 8px;
  }
  .booking-gateway .booking-next-title {
    flex-basis: 56px;
    height: 56px;
    padding: 12px 16px 6px;
    background: #fff;
  }
  .booking-gateway .booking-next-title p {
    font-size: 9px;
    line-height: 12px;
    margin-bottom: 5px;
  }
  .booking-gateway .booking-next-title strong {
    font-size: 20px;
    letter-spacing: -.55px;
    line-height: 25px;
  }
  .public-booking.booking-gateway .booking .steps {
    height: 46px;
    flex-basis: 46px;
    padding: 4px 16px 12px;
    background: #fff;
    border-bottom-color: #e7ebef;
  }
  .booking-gateway .steps b {
    border-radius: 7px;
    border-color: #e0e7e4;
    background: #f7f9fa;
  }
  .public-booking.booking-gateway .steps > span.current b {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
    box-shadow: 0 2px 5px #163b3512;
  }
  .public-booking.booking-gateway .booking-form-body {
    padding: 16px 16px 20px;
    background: #f5f7fa;
    scrollbar-gutter: auto;
  }
  .public-booking.booking-gateway .booking .booking-fields {
    gap: 14px;
  }
  .booking-gateway .booking-direction {
    height: 44px;
    padding: 3px;
    border-radius: 12px;
    background: #eaf0ee;
  }
  .booking-gateway .booking-direction button {
    height: 38px;
    min-height: 38px;
    border-radius: 9px;
    font-size: 10px;
  }
  .booking-gateway .booking-direction button[aria-pressed=true] {
    border-color: color-mix(in srgb, var(--green) 24%, white);
    box-shadow: 0 2px 6px #1c353810;
  }
  .public-booking.booking-gateway .booking .field input,
  .public-booking.booking-gateway .booking .field select,
  .public-booking.booking-gateway .booking .field textarea {
    font-size: 16px;
    height: 46px;
    min-height: 46px;
    border-radius: 11px;
    background: #fff;
    border-color: #d7e0df;
    box-shadow: 0 1px 2px #193b3004;
  }
  .public-booking.booking-gateway .booking .field input:focus,
  .public-booking.booking-gateway .booking .field select:focus {
    border-color: var(--green);
    outline: 2px solid color-mix(in srgb, var(--green) 12%, transparent);
    outline-offset: 1px;
  }
  .booking-gateway .booking-route-extra > .check-line {
    min-height: 34px;
    margin: 0;
    font-size: 12px;
  }
  .booking-gateway .booking-route-extra input[type=checkbox] {
    width: 18px;
    height: 18px;
  }
  .booking-gateway .booking-desktop-fare {
    display: none;
  }
  .booking-gateway .booking-mobile-fare {
    display: block;
    margin-top: 18px;
  }
  .booking-gateway .booking-mobile-fare .booking-fare-strip {
    height: auto;
    min-height: 78px;
    padding: 14px 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid color-mix(in srgb, var(--green) 18%, #e3e9e6);
    box-shadow: 0 3px 12px #243b3506;
  }
  .booking-gateway .booking-mobile-fare .booking-fare-route strong {
    font-size: 12px;
    line-height: 22px;
  }
  .booking-gateway .booking-mobile-fare .booking-fare-value {
    flex-basis: 116px;
    border-color: #e7ece9;
  }
  .booking-gateway .booking-mobile-fare .booking-fare-value strong {
    font-size: 25px;
    line-height: 30px;
    font-weight: 750;
  }
  .booking-gateway .booking-mobile-fare .booking-fare-value strong.is-pending {
    font-size: 12px;
    font-weight: 600;
    line-height: 24px;
  }
  .public-booking.booking-gateway .booking .booking-footer {
    height: auto;
    flex: 0 0 auto;
    padding: 12px 16px calc(14px + env(safe-area-inset-bottom));
    gap: 0;
    border-top: 1px solid #e8edeb;
    background: #fff;
    box-shadow: 0 -6px 24px #263a3505;
  }
  .public-booking.booking-gateway .booking .booking-actions {
    height: 50px;
    flex: 0 0 50px;
    gap: 10px;
  }
  .public-booking.booking-gateway .booking .booking-actions > span:empty {
    display: none;
  }
  .public-booking.booking-gateway .booking .booking-actions .primary {
    width: auto;
    min-width: 0;
    flex: 1;
    height: 50px;
    min-height: 50px;
    padding: 0 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 650;
    box-shadow: 0 3px 9px #123d3010;
  }
  .public-booking.booking-gateway .booking .booking-actions .booking-previous {
    width: 50px;
    min-width: 50px;
    height: 50px;
    padding: 0;
    justify-content: center;
    border: 1px solid #dce5df;
    border-radius: 12px;
    font-size: 0;
    background: #f6f9f7;
  }
  .booking-gateway .booking-actions .booking-previous svg {
    width: 19px;
    height: 19px;
  }
}

.journey-tickets{display:grid;gap:16px;width:100%;padding:2px 0 8px}
.journey-ticket{overflow:hidden;border:1px solid #dce4e1;border-radius:16px;background:#fff;box-shadow:0 4px 16px #10234708;color:#193e38}
.journey-ticket .journey-ticket-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 20px;background:#102347;color:#faf6e9}
.journey-ticket-head>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.journey-ticket-head>small{font-size:11px;color:#e3d2ac}
.journey-ticket .journey-ticket-route{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:14px;padding:18px 20px 12px}
.journey-ticket-route>div{display:flex;flex-direction:column;gap:4px;min-width:0}.journey-ticket-route>div:last-child{text-align:right}
.journey-ticket-route>div>span,.journey-ticket dt{font-size:10px;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:#6b7e78}
.journey-ticket-route>div>strong{font-size:25px;line-height:1.15;letter-spacing:-.7px;font-weight:700;overflow-wrap:anywhere}
.journey-ticket-route>div>small{font-size:11px;line-height:1.5;color:#6b7e78;overflow-wrap:anywhere}
.journey-ticket-arrow{display:grid;place-items:center;color:#a17835;border-top:1px solid #e3d8c3;border-bottom:1px solid #e3d8c3;padding:6px 0}
.journey-ticket .journey-ticket-schedule,.journey-ticket .journey-ticket-passenger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:8px 20px 17px}
.journey-ticket dd{margin:4px 0 0;font-size:14px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}.journey-ticket dd small{display:block;font-size:11px;font-weight:400;color:#6b7e78;margin-top:3px}
.journey-ticket .journey-ticket-flight{font-family:ui-monospace,monospace;letter-spacing:1px;color:#946a2c}
.journey-ticket .journey-ticket-perforation{position:relative;margin:0 12px;border-top:1px dashed #c8d4cc}
.journey-ticket-perforation:before,.journey-ticket-perforation:after{content:'';position:absolute;width:16px;height:16px;top:-9px;border:1px solid #dce4e1;border-radius:50%;background:#fff}.journey-ticket-perforation:before{left:-21px}.journey-ticket-perforation:after{right:-21px}
.journey-ticket .journey-ticket-passenger{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);padding-top:13px;background:#f7faf8}
.journey-tickets-policies{font-size:11px;line-height:1.5;color:#6b7e78}.journey-tickets-policies a{margin-left:8px}
@media(max-width:540px){.journey-ticket .journey-ticket-head{padding:10px 14px}.journey-ticket-head>small{display:none}.journey-ticket .journey-ticket-route{padding:14px;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:8px}.journey-ticket-route>div>strong{font-size:21px}.journey-ticket .journey-ticket-schedule,.journey-ticket .journey-ticket-passenger{padding-left:14px;padding-right:14px}.journey-ticket dd{font-size:13px}}

.booking-options-visible,.booking-options-visible>div{display:grid;gap:16px}.booking-options-visible{grid-column:1/-1}.booking-final-review:has(.journey-tickets){background:transparent;border:0;padding:0}.return-fields{animation:return-reveal .22s ease-out}@keyframes return-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.return-fields{animation:none}}

.calendar-connect{display:inline-flex}.calendar-dialog{position:fixed;inset:0;margin:auto;width:min(560px,calc(100vw - 28px));max-height:90dvh;overflow:auto;box-sizing:border-box;border:1px solid #dce4e1;border-radius:20px;padding:24px;background:#fff;color:#193e38;box-shadow:0 24px 80px #10234744}.calendar-dialog::backdrop{background:#10234799;backdrop-filter:blur(3px)}.calendar-dialog header{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-dialog h2{font-size:23px;margin:0}.calendar-dialog p{font-size:14px;line-height:1.6}.calendar-dialog .calendar-hint{color:#647b73;font-size:12px}.calendar-setup{display:grid;gap:12px}.calendar-setup a{justify-content:center}.calendar-setup p{margin:0}.calendar-setup small,.calendar-single small{font-size:12px;color:#647b73;line-height:1.5}.calendar-disconnect{margin-top:18px}.calendar-single>summary{list-style:none;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.calendar-single>summary::-webkit-details-marker{display:none}.calendar-single>div{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px}.calendar-single small{flex-basis:100%}.customer-shell>.calendar-connect,.driver-portal>.calendar-connect{margin-bottom:12px}
/* Taxidoc usability upgrade: history, fare filters and driver acquisition banner. */
.history-filters,.fare-quick-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}.history-filters .list-search{flex:1 1 320px}.history-filters select,.history-filters input[type=month],.fare-quick-filters select{min-height:42px;border:1px solid #d4e1dc;border-radius:10px;background:#fff;color:#183d33;padding:0 12px;font:inherit}.fare-quick-filters{justify-content:flex-end;flex:1 1 360px}.history-archive .panel-heading p{margin:4px 0 0;color:#6a7f77}.driver-taxidoc-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:22px;margin:28px 0 18px;padding:24px;border-radius:20px;color:#fff;background:linear-gradient(125deg,#0d2e56 0%,#174a66 48%,#b78332 100%);box-shadow:0 18px 44px rgba(10,43,72,.2)}.driver-taxidoc-banner:after{content:"";position:absolute;right:-60px;top:-85px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.08)}.driver-taxidoc-banner div,.driver-taxidoc-banner a{position:relative;z-index:1}.driver-taxidoc-banner span{display:block;margin-bottom:7px;font-size:11px;font-weight:800;letter-spacing:.13em;color:#f3d69f}.driver-taxidoc-banner strong{display:block;max-width:540px;font-size:22px;line-height:1.2}.driver-taxidoc-banner p{margin:8px 0 0;max-width:560px;color:#e7f0f2;line-height:1.5}.driver-taxidoc-banner a{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:12px 16px;border-radius:999px;background:#fff;color:#123554;font-weight:800;text-decoration:none}.driver-taxidoc-banner a:hover{transform:translateY(-1px)}@media(max-width:700px){.history-filters>*{width:100%}.fare-quick-filters{justify-content:stretch}.fare-quick-filters select{flex:1 1 100%}.driver-taxidoc-banner{align-items:flex-start;flex-direction:column;padding:21px}.driver-taxidoc-banner strong{font-size:19px}.driver-taxidoc-banner a{width:100%;justify-content:center}}


/* Vaste prijzen: compacte, taakgerichte zoek- en filterweergave */
.fare-command-center {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid #d7e4de;
  border-radius: 16px;
  background: #f7faf8;
}
.fare-search-hero {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 68px;
  padding: 10px 15px;
  border: 2px solid #8ebdac;
  border-radius: 14px;
  background: #fff;
  color: #1f614e;
  box-shadow: 0 5px 16px rgba(22, 73, 57, .07);
}
.fare-search-hero:focus-within { border-color: #1f755c; box-shadow: 0 0 0 4px rgba(31, 117, 92, .12); }
.fare-search-hero > span { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 2px; }
.fare-search-hero small { color: #4f6e63; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.fare-search-hero input { width: 100%; padding: 0; border: 0; outline: 0; background: transparent; color: #173e33; font: inherit; font-size: 16px; }
.fare-search-hero input::placeholder { color: #84978f; }
.fare-search-clear { border: 0; background: transparent; color: #1f614e; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.fare-filter-grid { display: grid; grid-template-columns: 1fr 1.35fr 1fr .7fr; gap: 10px; margin-top: 14px; }
.fare-filter-grid label { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.fare-filter-grid label > span { color: #4b675d; font-size: 11px; font-weight: 800; }
.fare-filter-grid select { width: 100%; min-height: 44px; padding: 0 36px 0 12px; border: 1px solid #ccdcd5; border-radius: 10px; background-color: #fff; color: #21493d; font: inherit; }
.fare-filter-result { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; margin-top: 10px; color: #5a7269; font-size: 13px; }
.fare-filter-result strong { color: #194c3e; }
.fare-list-heading { align-items: center; border-top: 1px solid #e1e9e5; }
.fare-list-heading > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.fare-list-heading small { color: #72877e; }
@media (max-width: 900px) {
  .fare-filter-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .fare-manager { padding: 14px; }
  .fare-overview { grid-template-columns: 1fr 1fr; }
  .fare-filter-grid { grid-template-columns: 1fr; }
  .fare-search-hero { align-items: flex-start; min-height: 74px; }
  .fare-filter-result { align-items: flex-start; flex-direction: column; }
}


/* Driver access: scoped spacing and a separate reset area. */
.driver-access-dialog{padding:24px;display:grid;gap:24px;color:#173f35}.driver-access-person{display:flex;gap:14px;align-items:center}.driver-access-avatar{width:48px;height:48px;flex:0 0 48px;background:#e8f3ee;border:1px solid #d9e9e1;border-radius:16px;display:grid;place-items:center;color:#197760}.driver-access-person h3{font-size:20px;line-height:1.3;margin:0 0 5px}.driver-access-person p,.driver-access-dialog p{font-size:14px;line-height:1.6;margin:0;color:#60756c}.driver-access-section{display:grid;gap:9px}.driver-access-section>label{font-size:13px;font-weight:700}.driver-access-link{display:flex;gap:8px}.driver-access-link input{min-width:0;flex:1;width:100%;border:1px solid #d5e3dc;border-radius:10px;background:#fafcfb;padding:12px;font-size:14px;color:#25473b}.driver-access-link .btn{flex-shrink:0;min-height:44px}.driver-access-dialog .driver-access-note{font-size:12px}.driver-access-security{padding:18px;border:1px solid #dce8e1;border-radius:14px;background:#f5f9f7;display:grid;gap:12px}.driver-access-security-heading{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.driver-access-security-heading strong{display:flex;gap:8px;align-items:center;font-size:15px}.driver-access-status{font-size:11px;font-weight:650;padding:5px 9px;border-radius:20px;background:#e4eee8;color:#37654d}.driver-access-security>.btn{justify-self:start}.driver-access-code{font-size:12px;font-weight:650;display:grid;gap:6px}.driver-access-code input{font-size:25px;font-weight:700;letter-spacing:.25em;text-align:center;width:100%;padding:12px;border:1px solid #c7dbce;border-radius:10px;color:#155c42;background:white}.driver-pin-reset{border-top:1px solid #d4e1d9;padding-top:14px;display:grid;gap:10px}.driver-access-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.driver-access-dialog .btn{font-size:13px}.driver-taxidoc-banner a{white-space:nowrap}
@media(max-width:520px){.driver-access-dialog{padding:18px;gap:20px}.driver-access-link{flex-wrap:wrap}.driver-access-link input{flex-basis:100%;font-size:16px}.driver-access-link .btn{width:100%}.driver-access-person h3{font-size:18px}.driver-access-security{padding:14px}.driver-access-actions .btn{flex:1}.driver-access-code input{font-size:24px}}

/* Report controls: consistent spacing, alignment and smaller copy. */
.panel.report-period-panel{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;background:#fff;border:1px solid #dfe8e3;border-radius:16px;margin-bottom:20px;box-shadow:0 2px 8px #173f3504}
.panel.report-period-panel h2{font-size:18px;line-height:1.3;margin:0 0 7px}.panel.report-period-panel p{font-size:14px;line-height:1.6;max-width:540px;color:#687b71;margin:0}.report-period-panel .report-reset-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:nowrap;padding-left:24px;border-left:1px solid #e4ece7}.report-period-panel .field.inline{display:grid;gap:6px;margin:0;min-width:170px}.report-period-panel .field.inline span{font-size:12px;color:#647a6d}.report-period-panel input{height:44px;min-height:44px;font-size:14px}.report-period-panel .btn{height:44px;min-height:44px;white-space:nowrap;font-size:13px}.report-period-panel+ .report-scope-tabs{margin-top:0}
@media(max-width:1100px){.panel.report-period-panel{grid-template-columns:1fr;gap:18px}.report-period-panel .report-reset-controls{padding:16px 0 0;border-left:0;border-top:1px solid #e4ece7;justify-content:flex-start}.report-period-panel .field.inline{min-width:180px}}
@media(max-width:520px){.panel.report-period-panel{padding:18px}.report-period-panel .report-reset-controls{display:grid;grid-template-columns:1fr;gap:12px}.report-period-panel .field.inline{min-width:0}.report-period-panel .btn{width:100%}.report-period-panel input{font-size:16px}}

/* Driver revenue follows the shared report period. */
.panel.driver-turnover{padding:0;margin-bottom:22px;overflow:hidden}.driver-turnover .panel-heading{padding:20px 22px 16px;margin:0;border:0}.driver-turnover .panel-heading h2{font-size:18px;margin:0 0 6px}.driver-turnover .panel-heading p{font-size:12px;line-height:1.5;color:#6d8076;margin:0}
.driver-turnover-wrap{padding:0 22px}.driver-turnover-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.driver-turnover-table th,.driver-turnover-table td{font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none;background:transparent;padding:12px 14px;border-bottom:1px solid #e7ede9;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.driver-turnover-table th:first-child{width:52%;text-align:left;padding-left:0}.driver-turnover-table th:last-child,.driver-turnover-table td:last-child{padding-right:0}.driver-turnover-table thead th{color:#718478;font-size:11px;font-weight:550;padding-top:0;padding-bottom:9px}.driver-turnover-table tbody th{font-weight:600;color:#2b4c3e}.driver-turnover-table tbody td:last-child{font-weight:600;color:#215a46}.driver-turnover-table tfoot{background:#f2f7f4;color:#194d39;font-weight:700}.driver-turnover-table tfoot th,.driver-turnover-table tfoot td{font-weight:700;color:#194d39}.driver-turnover-table tfoot th:first-child{padding-left:12px}.driver-turnover-table tfoot td:last-child{padding-right:12px}.driver-turnover-table .driver-turnover-empty{padding:20px 0;text-align:left;color:#789083;font-size:13px}
.driver-turnover-note{padding:10px 22px 14px;margin:0;color:#7b8b82;font-size:11px;line-height:1.5}.driver-turnover-details{border-top:1px solid #e7ede9}.driver-turnover-details>summary{padding:13px 22px;font-size:12px;font-weight:600;color:#4b6d5b;cursor:pointer}.driver-turnover-details .driver-report-filters{padding:8px 22px;margin:0 0 10px}.driver-turnover-details .table-wrap{padding:0 22px 16px}.driver-turnover-details .panel-note{padding:0 22px 16px}
@media(max-width:600px){.driver-turnover .panel-heading{padding:16px}.driver-turnover-wrap{padding:0 16px}.driver-turnover-table{font-size:13px}.driver-turnover-table th,.driver-turnover-table td{padding:10px 8px}.driver-turnover-table th:first-child{width:42%}.driver-turnover-note{padding:10px 16px 14px}.driver-turnover-details>summary{padding:13px 16px}}

/* Preserve the compact dispatch rows and strengthen the date hierarchy. */
.agenda-panel .dispatch-table th:first-child{width:116px}
.agenda-panel .dispatch-table .pickup-time{font-size:15px;font-weight:650;line-height:1.3;color:#17604f}
.agenda-panel .dispatch-table .pickup-date,.agenda-panel .agenda-card-time small{display:block;width:max-content;margin-top:4px;color:#203e62;font-size:14px;font-weight:800;line-height:1.2;letter-spacing:.015em;font-variant-numeric:tabular-nums}
@container (max-width:740px){.agenda-panel .dispatch-table .pickup-date{margin-top:0}.agenda-panel .dispatch-table td:first-child{gap:12px}}

/* Administration is one workspace, with quiet navigation and dense records. */
.administration-nav{display:flex;gap:4px;padding:5px;margin-bottom:20px;border:1px solid #dce5e0;border-radius:12px;background:#edf2ef;overflow-x:auto}
.administration-nav a{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:11px 15px;border-radius:8px;color:#536b61;text-decoration:none;font-size:13px;font-weight:600}
.administration-nav a.active{background:white;color:#175746;box-shadow:0 1px 4px #153a3012}.administration-nav a:hover{color:#123f32;background:#ffffff90}
.administration-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.administration-shortcuts>a{display:flex;gap:12px;align-items:center;padding:17px;border:1px solid #dee7e1;border-radius:12px;text-decoration:none;background:#fff;color:#23634e;min-width:0}
.administration-shortcuts>a>span{display:grid;gap:4px;flex:1}.administration-shortcuts strong{font-size:13px;line-height:1.4;font-weight:650}.administration-shortcuts small{font-size:11px;color:#728279;line-height:1.5}.administration-shortcuts svg{flex-shrink:0}
.panel.administration-rides{padding:0;overflow:hidden}.administration-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 22px 18px}.administration-heading h2{font-size:18px;margin:0 0 5px}.administration-heading p{font-size:13px;color:#6b7e73;margin:0}.administration-heading .btn{font-size:13px;white-space:nowrap;min-height:40px}
.administration-filters{display:grid;grid-template-columns:minmax(220px,1fr) 165px 170px auto;gap:12px;padding:0 22px 16px;align-items:end}.administration-filters label,.administration-extra-filters label{display:grid;gap:7px;min-width:0}.administration-filters label>span,.administration-extra-filters label>span{font-size:11px;font-weight:650;color:#506a5e}
.administration-filters input,.administration-filters select,.administration-extra-filters select{width:100%;min-width:0;height:40px;min-height:40px;background:#fff;border:1px solid #d7e2db;border-radius:7px;color:#284c3e;padding:8px 10px;font:inherit;font-size:13px}.administration-search>div{position:relative}.administration-search svg{position:absolute;top:12px;left:12px;color:#86988e}.administration-search input{padding-left:38px}.administration-filters .btn{height:40px;min-height:40px;white-space:nowrap;font-size:12px}
.administration-extra-filters{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:12px;padding:0 22px 16px}
.administration-results{padding:12px 22px;border-top:1px solid #e6ece8;background:#f9fbfa;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#577162}.administration-results>div{display:flex;gap:14px;align-items:center}.administration-results small{font-size:11px;color:#849389}.administration-results .text-btn{font-size:12px}
.administration-table-wrap{overflow:auto;max-width:100%;overscroll-behavior-x:contain}.administration-table{width:100%;min-width:1010px;border-collapse:collapse;table-layout:fixed}.administration-table th,.administration-table td{padding:14px 16px;text-align:left;line-height:1.45;font-size:12px;letter-spacing:0;text-transform:none;border-bottom:1px solid #e6ede8;vertical-align:middle;background:transparent;color:#395648;overflow-wrap:anywhere}.administration-table thead{background:#eef4f0}.administration-table th{font-size:11px;font-weight:650;color:#4a6b59;white-space:nowrap;padding-top:13px;padding-bottom:13px}.administration-table th button{font:inherit;background:none;padding:0;border:0;color:inherit;cursor:pointer}.administration-table th:nth-child(1){width:123px}.administration-table th:nth-child(2){width:20%}.administration-table th:nth-child(3){width:23%}.administration-table th:nth-child(4){width:13%}.administration-table th:nth-child(5){width:118px}.administration-table th:nth-child(6){width:125px}.administration-table th:nth-child(7){width:90px;text-align:right}.administration-table td strong,.administration-table td small,.administration-table td>span{display:block}.administration-table td strong{font-size:12px;font-weight:600}.administration-table td small{font-size:11px;color:#748a7b;margin-top:4px;line-height:1.5}.administration-table .administration-date strong{color:#234766;font-size:13px;font-weight:750}.administration-date span{margin-top:3px;font-variant-numeric:tabular-nums;color:#567465}.administration-table tbody tr:nth-child(even){background:#fafcfb}.administration-table tbody tr:hover{background:#f2f7f4}.administration-ride-link{font:inherit;font-size:11px;background:none;border:0;padding:0;color:#1c7961;cursor:pointer;font-weight:650;margin-bottom:4px}.administration-ride-link:hover{text-decoration:underline}.administration-table td.administration-price{font-weight:700;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.administration-status{font-size:11px}.administration-status.new{color:#91620c}.administration-status.completed,.administration-table small.paid{color:#1f7054}.administration-table .administration-empty{padding:40px;text-align:center;color:#698073}.administration-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 22px;font-size:12px;color:#6b8073}.administration-pagination label,.administration-pagination>div{display:flex;align-items:center;gap:10px}.administration-pagination select{padding:6px;border:1px solid #dce5df;border-radius:6px;font:inherit;background:white;color:#365c47}.administration-pagination .btn{min-height:32px;padding:7px 12px;font-size:12px}
.panel.latest-subscription-invoice{display:flex;align-items:center;gap:16px;padding:18px 22px;margin-bottom:22px;border-radius:12px}.latest-invoice-icon{width:44px;height:44px;display:grid;place-items:center;background:#eef5f1;color:#24735b;border-radius:10px;flex-shrink:0}.latest-invoice-copy{flex:1;min-width:0}.latest-invoice-copy h2{margin:0 0 5px;font-size:14px;font-weight:650}.latest-invoice-copy p{margin:0;color:#7b8d81;font-size:12px;line-height:1.5}.latest-invoice-amount{display:grid;gap:5px;text-align:right}.latest-invoice-amount strong{font-size:18px;font-variant-numeric:tabular-nums}.latest-invoice-amount span{font-size:11px;color:#647e6e}.latest-invoice-amount .paid{color:#287858}.latest-invoice-amount .overdue{color:#a45d29}.latest-invoice-actions{display:grid;justify-items:end;gap:7px;margin-left:10px}.latest-invoice-actions .btn{min-height:36px;padding:8px 13px;font-size:12px}.latest-invoice-actions .text-btn{font-size:11px}
@media(max-width:1200px){.administration-filters{grid-template-columns:1fr 1fr}.administration-shortcuts{grid-template-columns:1fr}.administration-shortcuts>a{padding:13px 17px}.administration-shortcuts>a>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.latest-subscription-invoice{flex-wrap:wrap}.latest-invoice-copy{flex-basis:60%}.latest-invoice-actions{margin-left:auto}.administration-extra-filters{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.administration-heading{align-items:flex-start;flex-direction:column;padding:18px}.administration-heading p{line-height:1.5}.administration-filters,.administration-extra-filters{padding-left:18px;padding-right:18px;grid-template-columns:minmax(0,1fr)}.administration-filters input,.administration-filters select,.administration-extra-filters select{font-size:16px;height:44px}.administration-results{align-items:flex-start;flex-direction:column;padding:13px 18px}.administration-shortcuts>a>span{display:grid}.administration-shortcuts small{font-size:12px}.administration-pagination{padding:14px 18px;flex-wrap:wrap}.panel.latest-subscription-invoice{padding:16px;gap:12px}.latest-invoice-copy{flex-basis:65%}.latest-invoice-amount{text-align:left}.latest-invoice-actions{margin-left:auto}.latest-invoice-icon{width:36px;height:36px}.administration-nav a{padding:10px 12px}}

/* CSV import: choose, review, confirm. */
.panel.ride-import-start{padding:24px;margin-bottom:20px}.ride-import-intro{display:flex;align-items:center;gap:14px}.ride-import-intro>div{flex:1}.ride-import-intro h2{font-size:18px;margin:0 0 5px}.ride-import-intro p{font-size:13px;line-height:1.5;color:#718277;margin:0}.ride-import-intro .btn{font-size:12px;white-space:nowrap}.ride-import-steps{list-style:none;display:flex;gap:25px;padding:20px 0;margin:18px 0;border-top:1px solid #e5ece7;border-bottom:1px solid #e5ece7}.ride-import-steps li{display:flex;align-items:center;gap:9px;color:#86968b;font-size:12px}.ride-import-steps b{width:26px;height:26px;border:1px solid #dce7df;border-radius:50%;display:grid;place-items:center;font-size:12px}.ride-import-steps .active{color:#1c694f;font-weight:650}.ride-import-steps .active b{background:#e0eee5;border-color:#c9dfd1}.ride-import-upload{padding:24px;border:1px dashed #bbd4c5;border-radius:12px;background:#f6faf7;display:grid;gap:13px;justify-items:start}.ride-import-upload label{font-size:14px;font-weight:650}.ride-import-upload input{font-size:13px;max-width:100%;width:100%;color:#3a5b47}.ride-import-upload input::file-selector-button{font:inherit;color:#285f44;background:white;border:1px solid #c8dacf;border-radius:7px;padding:10px 16px;margin-right:12px;cursor:pointer}.ride-import-upload p{font-size:12px;color:#718477;margin:0}.ride-import-upload .btn{font-size:13px;min-height:40px}.ride-import-help{margin-top:22px;color:#57725f;font-size:13px}.ride-import-help summary{cursor:pointer;font-weight:650;padding:8px 0}.ride-import-help p{font-size:12px;line-height:1.8}.ride-import-mail-note{margin:16px 0 0;color:#708476;font-size:12px;line-height:1.6}.panel.ride-import-review{padding:0;overflow:hidden}.ride-import-review .error,.ride-import-unsupported{display:flex;align-items:center;gap:10px;margin:0 22px 18px;font-size:13px;line-height:1.5}.ride-import-unsupported input{flex-shrink:0}.import-count{font-size:12px;color:#587d66}.ride-import-table{width:100%;min-width:740px;border-collapse:collapse}.ride-import-table th,.ride-import-table td{text-align:left;padding:14px;font-size:12px;text-transform:none;letter-spacing:0;border-bottom:1px solid #e2ebe5;background:transparent;color:#365841;line-height:1.6}.ride-import-table th{font-size:11px;background:#eff5f1}.ride-import-table td small,.ride-import-table td strong{display:block}.ride-import-table td small{font-size:11px;font-weight:400;color:#78927e}.ride-import-table .import-error{color:#a63d31}.ride-import-table .import-warning{color:#92611c}.ride-import-table .import-ok{color:#267653}.ride-import-confirm{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:#65826d}.ride-import-confirm .btn{font-size:13px;white-space:nowrap}.panel.ride-import-complete{padding:28px;text-align:center}.ride-import-complete>svg{color:#258157}.ride-import-complete h2{font-size:20px}.ride-import-complete p{color:#647c6c;font-size:13px}.ride-import-complete>div{display:flex;gap:12px;justify-content:center;margin-top:18px}
.ride-price-edit{font-size:12px;justify-content:flex-end;width:100%;padding:9px 0 14px}.ride-price-editor .field{margin:14px 0}.ride-price-editor p{font-size:13px;line-height:1.6}.ride-price-editor input{font-size:16px}.ride-price-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
@media(max-width:1000px){.ride-import-intro{flex-wrap:wrap}.ride-import-intro>div{flex-basis:75%}.ride-import-intro .btn{margin-top:6px}.ride-import-steps{gap:12px;justify-content:space-between}.ride-import-steps li{font-size:11px;gap:6px}.ride-import-steps b{flex-shrink:0}.ride-import-confirm{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.panel.ride-import-start{padding:18px}.ride-import-upload{padding:18px}.ride-import-steps li{flex-direction:column;flex:1;text-align:center}.ride-import-steps{gap:8px}.ride-import-upload input{font-size:16px}.ride-import-complete>div{flex-direction:column}}
/* Dashboard: concise operating figures, upcoming rides and readable insights. */
.dashboard-overview{display:grid;gap:20px}.dashboard-overview .panel{margin:0;border-radius:14px;border:1px solid #dfe8e3;box-shadow:none}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-metric{padding:20px 22px;border:1px solid #dfe8e3;border-radius:14px;background:#fff;color:#234a3d;text-decoration:none;display:grid;gap:12px;min-width:0}.dashboard-metric>span{font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600}.dashboard-metric>span svg{color:#658f7c;flex-shrink:0}.dashboard-metric>strong{font-size:32px;font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.dashboard-metric>small{font-size:11px;color:#75867d;line-height:1.5}.dashboard-metric.primary{background:#174e40;border-color:#174e40;color:#fff}.dashboard-metric.primary>small,.dashboard-metric.primary svg{color:#c1dfd0}.dashboard-metric:hover{border-color:#93b8a5;box-shadow:0 3px 12px #183e3010}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(245px,1fr);gap:20px;align-items:start}.dashboard-upcoming,.dashboard-insights{padding:0;overflow:hidden}.dashboard-overview section>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid #e7ede9}.dashboard-overview h2{font-size:16px;line-height:1.4;letter-spacing:-.015em;margin:0;font-weight:700}.dashboard-overview header p{margin:4px 0 0;font-size:12px;color:#778b80;line-height:1.5}.dashboard-overview .text-btn{font-size:12px;white-space:nowrap;text-decoration:none}.dashboard-upcoming-list>button{display:grid;grid-template-columns:65px minmax(0,1fr) minmax(90px,130px) 80px 16px;gap:14px;align-items:center;width:100%;text-align:left;padding:16px 22px;background:#fff;border:0;border-bottom:1px solid #edf1ee;color:#315548;font:inherit;cursor:pointer}.dashboard-upcoming-list>button:last-child{border-bottom:0}.dashboard-upcoming-list>button:hover{background:#f6faf7}.dashboard-ride-date{display:grid;gap:4px;font-variant-numeric:tabular-nums}.dashboard-ride-date strong{font-size:16px;color:#1c4c3e;font-weight:750}.dashboard-ride-date small{font-size:12px;color:#274666;font-weight:750}.dashboard-ride-route{display:grid;gap:4px;min-width:0}.dashboard-ride-route strong{font-size:13px;line-height:1.4;font-weight:650;overflow-wrap:anywhere}.dashboard-ride-route small{font-size:12px;color:#75887b;overflow-wrap:anywhere}.dashboard-ride-assignment{font-size:11px;color:#668273;line-height:1.4;overflow-wrap:anywhere}.dashboard-ride-assignment.new{color:#996c28}.dashboard-ride-price{font-size:13px;font-weight:650;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-urgent{display:flex;gap:8px;align-items:center;background:#fff8e9;padding:10px 22px;color:#8c6425;font-size:12px;line-height:1.5}.dashboard-empty{padding:24px;font-size:13px;color:#708577;line-height:1.6}.dashboard-shortcuts{padding:20px}.dashboard-shortcuts h2{margin-bottom:10px}.dashboard-shortcuts>a{display:flex;align-items:center;gap:13px;padding:17px 0;color:#2e6e56;text-decoration:none;border-bottom:1px solid #e7ede9}.dashboard-shortcuts>a:last-child{border-bottom:0;padding-bottom:2px}.dashboard-shortcuts>a>span{flex:1;display:grid;gap:4px}.dashboard-shortcuts>a strong{font-size:13px;font-weight:650}.dashboard-shortcuts>a small{font-size:11px;color:#7a8b80;line-height:1.5}.dashboard-shortcuts>a:hover strong{color:#15906d}.dashboard-insights-grid{display:grid;grid-template-columns:1fr 1fr;padding:0 22px;column-gap:32px}.dashboard-insight-row{padding:19px 0;display:grid;grid-template-columns:minmax(100px, .8fr) minmax(0,1.2fr);gap:18px;align-items:start;border-bottom:1px solid #e9efeb;font-size:12px;line-height:1.6}.dashboard-insight-row:nth-last-child(-n+2){border-bottom:0}.dashboard-insight-row>span{color:#7b8b80}.dashboard-insight-row strong{font-size:13px;font-weight:600;display:block;white-space:normal;overflow-wrap:anywhere;color:#294e3e}.dashboard-insight-row small{display:block;color:#809083;font-size:11px}.dashboard-customer-insight{position:relative;margin-bottom:5px}.dashboard-insight-hide{background:none;border:0;padding:0;color:#7c8d82;font-size:10px;cursor:pointer;text-decoration:underline}.dashboard-overview .latest-subscription-invoice{padding:18px 22px}
@media(max-width:1250px){.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.dashboard-shortcuts h2{grid-column:1/-1}.dashboard-shortcuts>a{padding:14px 0}.dashboard-insight-row{grid-template-columns:1fr;gap:3px}}
@media(max-width:650px){.dashboard-overview{gap:14px}.dashboard-metrics{gap:10px}.dashboard-metric{padding:16px;gap:10px}.dashboard-metric>span{font-size:12px;align-items:flex-start}.dashboard-metric>span svg{display:none}.dashboard-metric>strong{font-size:28px}.dashboard-metric>small{font-size:10px}.dashboard-overview section>header{padding:16px;align-items:flex-start}.dashboard-overview h2{font-size:15px}.dashboard-overview header .text-btn{font-size:11px}.dashboard-upcoming-list>button{grid-template-columns:48px minmax(0,1fr) auto;gap:10px;padding:14px 16px}.dashboard-ride-assignment{display:none}.dashboard-upcoming-list>button>svg{display:none}.dashboard-ride-route strong{font-size:12px}.dashboard-ride-route small{font-size:11px}.dashboard-ride-price{font-size:12px}.dashboard-shortcuts{padding:16px;gap:0 16px}.dashboard-shortcuts>a{gap:8px}.dashboard-shortcuts>a>svg:last-child{display:none}.dashboard-insights-grid{grid-template-columns:1fr;padding:0 16px}.dashboard-insight-row{grid-template-columns:1fr 1.1fr;gap:16px;padding:15px 0}.dashboard-insight-row:nth-last-child(2){border-bottom:1px solid #e9efeb}}

/* Customer mail: compact settings and searchable delivery records. */
.mail-delivery{padding:22px!important;display:grid;gap:20px}.mail-delivery>.panel-heading{padding:0;margin:0;gap:16px}.mail-delivery .panel-heading h2{font-size:18px}.mail-delivery .panel-heading p{font-size:13px;margin:6px 0 0}.mail-delivery .btn{font-size:12px;min-height:36px}.mail-delivery .mail-connection{padding:14px 16px;border-radius:10px;margin:0;gap:12px}.mail-delivery .mail-connection>svg{width:20px;flex-shrink:0}.mail-delivery .mail-connection strong{font-size:13px}.mail-delivery .mail-connection p{font-size:12px;line-height:1.5;margin:4px 0 0}.mail-history{border:1px solid #dfe8e2;border-radius:12px;overflow:hidden;background:#fff}.mail-history>header{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;gap:15px}.mail-history h3{font-size:16px;margin:0 0 5px}.mail-history header p{font-size:12px;color:#7c8d81;line-height:1.5;margin:0}.mail-history header>span{font-size:11px;color:#7c8d81;white-space:nowrap}.mail-delivery-totals{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #e4ece6;border-bottom:1px solid #e4ece6;background:#f8faf9}.mail-delivery-totals>button{border:0;border-right:1px solid #e4ece6;padding:14px 8px;background:none;color:#647d6d;font:inherit;display:grid;gap:5px;text-align:center;cursor:pointer;min-width:0}.mail-delivery-totals>button:last-child{border-right:0}.mail-delivery-totals strong{font-size:22px;color:#2e5743;line-height:1.2;font-weight:650}.mail-delivery-totals span{font-size:11px;line-height:1.4}.mail-delivery-totals .active{background:#e5f1e9;box-shadow:inset 0 -2px #217253}.mail-history-filters{display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:14px;padding:16px 20px}.mail-history-filters label{display:grid;gap:6px;font-size:11px;color:#67816f;font-weight:600}.mail-history-filters input,.mail-history-filters select{height:38px;min-height:38px;width:100%;min-width:0;border:1px solid #d8e4dc;border-radius:7px;padding:8px 10px;font:inherit;font-size:12px;color:#3c604a;background:#fff}.mail-history-table-wrap{max-width:100%;overflow:auto}.mail-history-table{width:100%;border-collapse:collapse;min-width:570px;table-layout:fixed}.mail-history-table th,.mail-history-table td{padding:13px 18px;text-align:left;font-size:12px;border-bottom:1px solid #e8eee9;background:transparent;color:#355940;text-transform:none;letter-spacing:0;vertical-align:middle;line-height:1.5}.mail-history-table th{background:#f5f8f6;font-size:11px;font-weight:600;color:#73907a}.mail-history-table th:nth-child(1){width:44%}.mail-history-table th:nth-child(2){width:125px}.mail-history-table th:nth-child(3){width:140px}.mail-history-table th:nth-child(4){width:85px}.mail-history-table strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.mail-history-table small{display:block;font-size:11px;color:#819084;margin-top:3px}.mail-history-table tr:nth-child(even){background:#fcfdfc}.mail-history-table .mail-status{font-size:10px;font-weight:600;padding:5px 9px;border-radius:6px;white-space:nowrap;display:inline-block}.mail-history-table .mail-status:before{content:'●';font-size:8px;margin-right:5px}.mail-history-table .text-btn{font-size:11px}.mail-history-table .mail-history-empty{padding:28px;text-align:center;color:#748779}.mail-error-details{font-size:11px;color:#a64836;margin-top:5px}.mail-error-details summary{cursor:pointer}.mail-error-details p{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.mail-history>footer{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:25px}.mail-history footer p{font-size:11px;line-height:1.6;margin:0;color:#809084;max-width:570px}.mail-history footer>div{display:flex;gap:10px;align-items:center;font-size:11px;color:#738a78;flex-shrink:0}.mail-history footer .btn{min-height:30px;padding:6px 9px;font-size:11px}.mail-settings-disclosure{border:1px solid #dfe8e2;border-radius:12px;background:#fff;overflow:hidden}.mail-settings-disclosure>summary{padding:18px 20px;font-size:14px;font-weight:650;color:#28573f;cursor:pointer}.mail-settings-disclosure .mail-config{border:0;border-top:1px solid #e5ece7;border-radius:0;padding:20px;margin:0}.mail-settings-disclosure .mail-config h3{font-size:14px}.mail-settings-disclosure .mail-config p{font-size:12px;line-height:1.7}.mail-settings-disclosure .check-line{padding:12px;font-size:12px;min-height:0}.mail-settings-disclosure .check-line strong{font-size:12px}.mail-settings-disclosure .mail-holiday-plan{padding:16px}.mail-settings-disclosure .field input{font-size:14px;min-height:40px}.mail-settings-disclosure .field>span{font-size:12px}.mail-settings-disclosure .mail-options{gap:10px}
@media(max-width:1150px){.mail-history>footer{flex-wrap:wrap;gap:12px}.mail-history>footer>div{margin-left:auto}.mail-history-filters{grid-template-columns:1fr 145px}.mail-history>header{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:650px){.mail-delivery{padding:14px!important;gap:16px}.mail-delivery>.panel-heading{flex-wrap:wrap}.mail-history>header{padding:16px}.mail-history-filters{padding:14px;grid-template-columns:1fr}.mail-history-filters input,.mail-history-filters select{font-size:16px;height:42px}.mail-delivery-totals span{font-size:10px}.mail-delivery-totals strong{font-size:18px}.mail-history>footer{padding:14px}.mail-settings-disclosure>summary{font-size:13px;padding:16px}.mail-settings-disclosure .mail-config{padding:16px}}

/* Payment preferences: compact rows and a clear settlement choice. */
.payment-settings{padding:0 24px 24px}.payment-methods-table{overflow:auto;border:1px solid #dce7e2;border-radius:14px}.payment-methods-table table{width:100%;border-collapse:collapse;font-size:13px}.payment-methods-table th,.payment-methods-table td{padding:13px 14px;text-align:left;border-bottom:1px solid #e7eeea}.payment-methods-table thead th{background:#f2f7f4;color:#536e61;font-size:11px;text-transform:uppercase;letter-spacing:.045em}.payment-methods-table tbody th{font-weight:650;min-width:155px}.payment-methods-table small{display:block;color:#7b8d84;font-weight:400;font-size:11px;margin-top:3px}.payment-methods-table tr:last-child th,.payment-methods-table tr:last-child td{border-bottom:0}.payment-methods-table input[type=checkbox],.payment-settlement input{width:18px;height:18px;accent-color:#197564}.payment-number{display:flex;align-items:center;gap:7px;color:#6b8074;min-width:92px;max-width:135px}.payment-number input{width:100%;min-width:68px;height:38px;border:1px solid #dce7e2;border-radius:8px;background:#fff;padding:8px;font-size:13px}.payment-free,.payment-unavailable{color:#71877b;font-size:12px}.payment-settings .compact-note{font-size:12px;line-height:1.6;margin:12px 0 20px}.payment-settlement{border:1px solid #dce7e2;border-radius:12px;padding:17px;background:#f8fbf9}.payment-settlement label{display:flex;align-items:center;gap:10px;font-size:13px}.payment-settlement p{font-size:12px;color:#708478;line-height:1.6;margin:8px 0 13px}.payment-calculation-example{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid #e0e9e3;padding-top:11px;font-size:12px}.payment-calculation-example strong{color:#17634f}.payment-child-seat{max-width:300px;margin:20px 0}.payment-settings-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px}@media(max-width:700px){.payment-settings{padding:0 14px 18px}.payment-methods-table th,.payment-methods-table td{padding:11px 9px}.payment-methods-table tbody th{min-width:125px}.payment-number{min-width:80px}}
.payment-methods-table tbody th{font-size:13px;letter-spacing:0;text-transform:none;background:#fff;color:#213f34}

/* Direct driver access, explicit acceptance and completion reminders. */
.driver-confirmation-state{display:flex;align-items:flex-start;gap:10px;margin:18px 0 12px;padding:14px 16px;border-radius:12px;background:#f8f3e8;border:1px solid #eadbc0;color:#70531f}
.driver-confirmation-state>svg{flex-shrink:0;margin-top:1px}.driver-confirmation-state strong{font-size:14px}.driver-confirmation-state p{margin:5px 0 0;font-size:13px;line-height:1.5;color:inherit}
.driver-confirmation-state.accepted{background:#edf7f2;border-color:#cfe6d9;color:#19624a}
.driver-finish-reminder{margin:0 0 20px;padding:18px;border:1px solid #e5d5b1;border-radius:16px;background:#fffbf2;color:#5d471f}
.driver-finish-heading{display:flex;gap:10px;align-items:flex-start}.driver-finish-heading>svg{flex-shrink:0;margin-top:2px}.driver-finish-heading h2{margin:0;font-size:16px;line-height:1.4;color:inherit}.driver-finish-heading p{margin:4px 0 14px;font-size:13px;line-height:1.5;color:#786544}
.driver-finish-ride{width:100%;display:flex;align-items:center;gap:12px;border:0;border-top:1px solid #e9ddc5;padding:12px 0;text-align:left;background:transparent;color:inherit;cursor:pointer}.driver-finish-ride:last-child{padding-bottom:0}.driver-finish-ride>span{min-width:0;flex:1;display:grid;gap:5px}.driver-finish-ride strong{font-size:14px}.driver-finish-ride small{font-size:12px;line-height:1.5}.driver-finish-ride>b{font-size:12px;white-space:nowrap}.driver-finish-ride>svg{flex-shrink:0}.driver-finish-ride:focus-visible{outline:2px solid #19765e;outline-offset:4px;border-radius:4px}
.driver-finish-note{padding:13px 15px;margin:12px 0;background:#fffbf2;border-left:3px solid #c09137;border-radius:6px;color:#70531f}.driver-finish-note strong{font-size:14px}.driver-finish-note p{font-size:13px;line-height:1.5;margin:5px 0 0}
.driver-row-status.accepted{background:#e4f2e9;color:#216246}.driver-row-status.unconfirmed{background:#fbefda;color:#76531f}
.dispatch-confirmation{display:block!important;margin-top:5px;font-size:11px!important;font-weight:500;color:#8a6327!important;line-height:1.4}.dispatch-confirmation.accepted{color:#1d7454!important}
@media(max-width:520px){.driver-finish-reminder{padding:14px}.driver-finish-ride>b{display:none}.driver-actions{gap:8px}.driver-actions .btn{font-size:13px;min-height:44px}.driver-confirmation-state{padding:12px}}

/* Compact dispatch overview based on the approved visual reference. */
.agenda-reference{overflow:hidden;border:1px solid #d8e3df;border-radius:15px;background:#fff;box-shadow:0 3px 18px #173c3207}
.agenda-reference-header{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:0 18px;min-height:64px;background:#123f36;color:#f3faf7}
.agenda-reference-header h2{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:650;color:inherit;margin:0;white-space:nowrap}
.agenda-date-tabs{display:flex;align-self:stretch;gap:4px}
.agenda-date-tabs button{display:flex;align-items:center;gap:6px;min-height:64px;border:0;border-bottom:3px solid transparent;padding:0 12px;background:transparent;color:#d6e5df;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}
.agenda-date-tabs button:hover{background:#ffffff0b;color:#fff}.agenda-date-tabs button.active{color:#fff;border-bottom-color:#36c798;background:#ffffff08}
.agenda-reference-search{display:flex;align-items:center;gap:8px;flex:1;min-width:150px;max-width:320px;margin-left:auto;padding:0 11px;border:1px solid #ffffff25;border-radius:10px;background:#ffffff0b;color:#c7ded3;min-height:38px}
.agenda-reference-search input{width:100%;min-width:0;background:transparent;border:0!important;outline:none;color:#fff;padding:9px 0;font-size:12px;box-shadow:none!important}.agenda-reference-search input::placeholder{color:#c1d5cc}.agenda-reference-search:focus-within{outline:2px solid #63cfa8;outline-offset:1px}
.agenda-reference .agenda-new-ride{font-size:12px;min-height:38px;padding:9px 12px;white-space:nowrap;background:#228064;border:1px solid #399677;box-shadow:none}
.agenda-reference-header button:focus-visible{outline:2px solid #b6e9d4;outline-offset:-4px}
.agenda-planning-tools{border-bottom:1px solid #e9efec}.agenda-planning-tools>summary{padding:10px 18px;font-size:11px;font-weight:600;color:#5b736b;cursor:pointer;list-style-position:inside;text-align:right}.agenda-planning-tools[open]>summary{background:#f7faf8}
.agenda-reference .agenda-toolbar{padding:12px 18px;border-top:1px solid #e6ede9;gap:10px;flex-wrap:wrap}.agenda-reference .agenda-toolbar .btn,.agenda-reference .agenda-toolbar .segmented button{font-size:11px;min-height:34px}.agenda-reference .agenda-total{font-size:12px}.agenda-reference .agenda-total strong{font-size:16px;padding:5px 8px}.agenda-reference .agenda-total small{font-size:11px}
.agenda-reference .agenda-filters{padding:0 18px 12px;margin:0;gap:10px;align-items:center;flex-wrap:wrap}.agenda-reference .agenda-filters select{font-size:12px;padding:8px 10px;min-height:36px;width:auto;max-width:220px}.agenda-reference .completed-toggle{padding:6px 10px;gap:8px;min-height:36px;border-radius:8px;font-size:11px}.agenda-reference .completed-toggle small{font-size:10px}.agenda-reference .completed-toggle input{width:15px;height:15px}.agenda-reference .completed-toggle b{padding:2px 6px;font-size:11px}
.agenda-reference-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 18px;font-size:11px;color:#65796f;background:#fff}.agenda-reference-caption strong{color:#244e40}.agenda-reference-caption .text-btn{font-size:11px;padding:0}
.agenda-chosen-date{display:flex;align-items:center;gap:12px;padding:12px 18px;background:#f5faf7;border-bottom:1px solid #e0ebe4;font-size:13px;font-weight:600;color:#315a4c}.agenda-chosen-date input{width:155px;font-size:14px;min-height:38px}
.agenda-reference-wrap{container-type:inline-size;overflow:visible}
.agenda-reference-table{width:100%;table-layout:fixed;border-collapse:collapse;white-space:normal;background:white}
.agenda-reference-table thead th{padding:11px 18px;background:#f0f5f5;border:0;border-bottom:1px solid #e6eeea;font-size:12px;font-weight:600;color:#536b79;text-align:left}
.agenda-reference-table th:nth-child(1){width:94px}.agenda-reference-table th:nth-child(2){width:108px}.agenda-reference-table th:nth-child(4){width:110px}.agenda-reference-table th:nth-child(5){width:160px}.agenda-reference-table th:nth-child(6){width:116px;text-align:right}.agenda-reference-table th:nth-child(7){width:61px}
.agenda-reference-table tbody tr{background:white;cursor:pointer}.agenda-reference-table tbody tr:hover{background:#f5faf7}.agenda-reference-table tbody tr.agenda-attention{background:#fff8e5}.agenda-reference-table tbody tr.agenda-attention:hover{background:#fff2ce}
.agenda-reference-table tbody td{padding:13px 18px;border:0;border-bottom:1px solid #e9efed;vertical-align:middle;font-size:13px;overflow-wrap:anywhere}.agenda-reference-table tbody tr:last-child td{border-bottom:0}
.agenda-date-cell time{display:grid;gap:4px;font-size:12px;line-height:1.4;font-weight:700;color:#284f49;text-transform:uppercase;white-space:nowrap}.agenda-date-cell strong{font-size:13px;font-weight:750}.agenda-time-cell>div{display:flex;align-items:center;gap:12px}.agenda-time-cell time{font-size:19px;line-height:1.3;font-weight:750;color:#193344;font-variant-numeric:tabular-nums;white-space:nowrap}
.agenda-state-dot{display:block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#8a98a1}.agenda-state-dot.pending{background:#d49226}.agenda-state-dot.confirmed,.agenda-state-dot.done{background:#199168}
.agenda-route-content{display:grid;gap:4px}.agenda-route-heading{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.35;font-weight:700;color:#183745;flex-wrap:wrap}.agenda-route-heading svg{color:#79928a;flex-shrink:0}.agenda-passenger{display:flex;align-items:center;gap:7px;flex-wrap:wrap;line-height:1.4;font-size:12px;color:#647b7e}.agenda-passenger>svg{flex-shrink:0;color:#799087}.agenda-passenger i{font-style:normal;color:#a4b2af}
.agenda-reference-table .ride-source{font-size:11px;line-height:1.4;color:#557287;white-space:normal;overflow-wrap:anywhere}.agenda-assignee{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#536f67;font-size:11px;line-height:1.4}.agenda-assignee.pending>span{color:#94651f}.agenda-assignee.confirmed>span{color:#247e5c}.agenda-row-urgency{font-size:10px;font-weight:600;color:#92712e}
.agenda-reference-table .agenda-price-cell{text-align:right;color:#1a5444;font-size:16px;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:8px;padding-right:12px}
.agenda-reference-table .agenda-open-cell{padding-left:8px;padding-right:18px}.agenda-open-ride{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:#edf3f3;color:#33556a;cursor:pointer}.agenda-open-ride:hover{background:#daeae2}.agenda-open-ride:focus-visible{outline:2px solid #177657;outline-offset:2px}
@media(max-width:1350px){.agenda-reference-header{gap:10px;padding:0 14px}.agenda-reference-header h2{font-size:15px;gap:7px}.agenda-date-tabs button{padding:0 9px;font-size:11px}.agenda-reference-search{max-width:none;min-width:135px}.agenda-reference .agenda-new-ride{font-size:11px}.agenda-reference-table tbody td{padding:12px 14px}.agenda-reference-table th:nth-child(1){width:84px}.agenda-reference-table th:nth-child(2){width:95px}}
@media(max-width:1100px){.agenda-reference-header{padding-top:12px;padding-bottom:12px}.agenda-date-tabs{order:3;width:100%;justify-content:space-between}.agenda-date-tabs button{min-height:40px;flex:1;justify-content:center}.agenda-reference-search{flex:1}.agenda-reference-header h2{font-size:16px}}
@container(max-width:640px){.agenda-reference-table,.agenda-reference-table tbody{display:block}.agenda-reference-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.agenda-reference-table tbody tr{display:grid;grid-template-columns:76px minmax(0,1fr) auto 34px;column-gap:8px;row-gap:9px;padding:14px;border-bottom:1px solid #e7eeea}.agenda-reference-table tbody td{display:block;border:0;padding:0;min-width:0}.agenda-reference-table .agenda-date-cell{grid-column:1;grid-row:1;align-self:center}.agenda-date-cell time{display:flex;gap:6px;flex-wrap:wrap;font-size:11px}.agenda-date-cell strong{font-size:11px}.agenda-reference-table .agenda-time-cell{grid-column:2;grid-row:1;align-self:center}.agenda-time-cell>div{gap:8px}.agenda-time-cell time{font-size:17px}.agenda-reference-table .agenda-route-cell{grid-column:1/-1;grid-row:2;padding-right:0}.agenda-reference-table .agenda-price-cell{grid-column:3;grid-row:1;padding:0;align-self:center;font-size:15px}.agenda-reference-table .agenda-open-cell{grid-column:4;grid-row:1;padding:0;align-self:center}.agenda-route-heading{font-size:14px}.agenda-reference-table tr:last-child{border-bottom:0}}
@media(max-width:520px){.agenda-reference-header{gap:10px}.agenda-reference-header h2{flex:1}.agenda-reference .agenda-new-ride{order:1;font-size:12px}.agenda-reference-search{order:2;flex-basis:100%;min-width:0}.agenda-reference-search input{font-size:16px}.agenda-date-tabs{order:3;gap:0}.agenda-date-tabs button{font-size:11px;padding:0 6px}.agenda-date-tabs svg{display:none}.agenda-reference .agenda-filters{gap:8px}.agenda-reference .filter-selects{flex-wrap:wrap}.agenda-reference .agenda-filters select{max-width:100%;font-size:14px}}

.agenda-visible-filters{display:flex;flex-wrap:wrap;gap:18px;padding:12px 18px 0}.agenda-visible-filters label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#49685d}.agenda-visible-filters select{width:auto;max-width:230px;min-height:34px;padding:6px 30px 6px 10px;font-size:12px;border-radius:8px}.agenda-reference-table .agenda-vehicle-cell{color:#49685d;font-size:12px}.agenda-assignee-cell>div{display:grid;gap:5px}.agenda-assignee-cell strong{font-size:12px;font-weight:600;color:#284e43}.agenda-assignee-cell .muted{font-size:12px}.agenda-assignee-cell .agenda-assignee{font-size:10px}
@container(max-width:900px){.agenda-reference-table th:nth-child(4){width:90px}.agenda-reference-table th:nth-child(5){width:120px}.agenda-reference-table th:nth-child(6){width:100px}.agenda-reference-table th:nth-child(7){width:44px}.agenda-reference-table tbody td,.agenda-reference-table thead th{padding-left:10px;padding-right:10px}}
@container(max-width:640px){.agenda-reference-table .agenda-vehicle-cell{grid-column:1/3;grid-row:3;padding:0}.agenda-vehicle-cell:before{content:"Auto · ";color:#81938a}.agenda-reference-table .agenda-assignee-cell{grid-column:3/-1;grid-row:3;padding:0;text-align:right}.agenda-assignee-cell .agenda-assignee{justify-content:flex-end}}
@media(max-width:600px){.agenda-visible-filters{gap:10px}.agenda-visible-filters label{flex:1;display:grid;gap:5px}.agenda-visible-filters select{max-width:100%;width:100%;font-size:14px}}


/* Keep the fare and payment method beside the route in list and detail. */
.driver-route-top,.driver-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}
.driver-route-top>h2,.driver-row-top>strong{flex:1;min-width:0;overflow-wrap:anywhere}
.driver-route-top>h2{margin:0}
.driver-route-price{flex:0 0 auto;display:grid;gap:3px;max-width:44%;text-align:right;line-height:1.35}
.driver-route-price>strong{font-size:24px;font-weight:750;color:#176148;font-variant-numeric:tabular-nums;white-space:nowrap}
.driver-route-price>small{font-size:12px;color:#476455;margin:0;line-height:1.4}
.driver-route-price>.driver-price-paid{font-size:11px;color:#176148;max-width:170px}
.driver-row-top{gap:12px}.driver-row-top>strong{font-size:13px;line-height:1.4}
.driver-route-price.compact>strong{font-size:17px}.driver-route-price.compact>small{font-size:11px;margin:0}
.driver-row-info>small{display:block}
@media(max-width:500px){.driver-route-top{gap:12px}.driver-route-top>h2{font-size:18px}.driver-route-price>strong{font-size:21px}.driver-row-top{gap:9px}.driver-route-price.compact>strong{font-size:16px}.driver-route-price.compact{max-width:43%}}

/* Driver cards: clear hierarchy and actions that fit every phone. */
.driver-v2{background:#edf3f0;width:100%;min-width:0}
.driver-v2 *, .driver-v2 *::before, .driver-v2 *::after{box-sizing:border-box}
.driver-welcome>div{min-width:0}.driver-welcome h1{font-size:21px;overflow-wrap:anywhere}
.driver-welcome .driver-greeting-name{margin:10px 0 4px;color:#30574c;font-size:18px;line-height:1.35}
.driver-greeting-name strong{color:#08674f;font-weight:750}.driver-greeting>p:last-child{font-size:13px;color:#4f675e;line-height:1.5}
.driver-day-list h2{color:#31564b;font-size:13px;font-weight:750;margin:22px 0 10px}
.driver-ride-row{border:1px solid #9bbdaf;border-left:4px solid #08765a;background:#fff;box-shadow:0 4px 12px #143c2b12;padding:16px 13px;gap:14px;border-radius:12px}
.driver-ride-row:hover{background:#f7fffb;border-color:#17815d;box-shadow:0 5px 15px #143c2b20}
.driver-ride-row:focus-visible{outline:3px solid #18b77f;outline-offset:3px}
.driver-ride-row:not(.is-open){border-left-color:#91a89c;box-shadow:none}
.driver-time{color:#104c3b;font-size:18px;font-weight:750}.driver-row-top>strong{color:#193c32;font-size:14px;font-weight:750}
.driver-row-info small{color:#526b60}.driver-route-price>strong{color:#086046}.driver-route-price>span{color:#47675a}
.driver-v2 .driver-detail{border:1px solid #9bbdaf;box-shadow:0 4px 16px #143c2b10;min-width:0}
.driver-route{background:#eaf5ef;border-color:#a5c8b8}.driver-route p{align-items:flex-start;overflow-wrap:anywhere}
.driver-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;min-width:0}
.driver-actions .btn{min-width:0;width:100%;padding:12px 8px;min-height:46px;white-space:normal;line-height:1.35;justify-content:center;overflow-wrap:anywhere}
.driver-contact{flex-wrap:wrap}.driver-contact-text,.driver-contact-text a{overflow-wrap:anywhere}
.driver-confirmation-state{min-width:0}.driver-confirmation-state>div{min-width:0}
@media(max-width:600px){
 .driver-v2{padding:16px 12px 28px}.driver-welcome{align-items:flex-start;gap:12px}.driver-company-mark{width:42px;height:42px;font-size:20px;border-radius:12px}.driver-welcome h1{font-size:20px}.driver-welcome .driver-greeting-name{font-size:19px}
 .driver-ride-row{display:grid;grid-template-columns:52px minmax(0,1fr) 16px;gap:8px 10px;padding:14px 11px}
 .driver-ride-row>.driver-time{grid-column:1;grid-row:1;align-self:start;padding-top:1px}
 .driver-ride-row>.driver-row-info{grid-column:2;grid-row:1;min-width:0}
 .driver-ride-row>.driver-row-status{grid-column:2;grid-row:2;justify-self:start;margin:0;font-size:10px}
 .driver-ride-row>svg{grid-column:3;grid-row:1/3;align-self:center;width:16px}
 .driver-row-top{gap:8px}.driver-row-top>strong{font-size:13px}.driver-route-price.compact{max-width:42%}.driver-route-price.compact>strong{font-size:17px;white-space:nowrap}
 .driver-v2 .driver-detail{padding:14px}.driver-route{padding:12px}.driver-route-top>h2{font-size:17px}.driver-actions{gap:8px}.driver-actions .btn{font-size:12px}
 .driver-taxidoc-banner{margin-top:24px}
}
/* Assignment stays visible; filters are one-click buttons. */
.agenda-visible-filters{display:grid;gap:10px;padding:13px 18px}
.agenda-filter-buttons,.agenda-assignee-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.agenda-filter-buttons button,.agenda-assignee-buttons button{border:1px solid #c9d9d2;border-radius:8px;background:#fff;color:#3d5c50;font-size:12px;font-weight:650;padding:8px 12px;min-height:36px;cursor:pointer}
.agenda-filter-buttons button:hover,.agenda-assignee-buttons button:hover{border-color:#3c8c71;background:#f0f9f4}
.agenda-filter-buttons button.active{background:#1a4f40;border-color:#1a4f40;color:#fff}
.agenda-assignee-buttons>span{font-size:11px;font-weight:650;color:#557267;margin-right:3px}
.agenda-assignee-buttons button{font-size:11px;min-height:32px;padding:6px 10px}
.agenda-assignee-buttons button.active{color:#075f43;border-color:#54bb91;background:#e2f5eb}
.agenda-filter-buttons button:focus-visible,.agenda-assignee-buttons button:focus-visible{outline:2px solid #13976a;outline-offset:2px}
.agenda-reference-table tbody tr.agenda-confirmed:not(.agenda-attention){background:#f2f8f5}
.agenda-reference-table tbody tr.agenda-confirmed:not(.agenda-attention):hover{background:#eaf4ee}
.agenda-reference-table tbody tr.agenda-confirmed>td:first-child{box-shadow:inset 3px 0 #39816a}
.agenda-assignee.confirmed>span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid #c0ddce;border-radius:6px;background:#e0f0e7;color:#236047;font-size:11px;font-weight:700;white-space:nowrap}
.agenda-assignee.confirmed>span>svg{flex-shrink:0;stroke-width:2.5}
.agenda-assignee-cell strong{color:#1755a0;font-weight:750}
@container(max-width:640px){.agenda-reference-table tbody tr.agenda-confirmed{box-shadow:inset 3px 0 #39816a}.agenda-reference-table tbody tr.agenda-confirmed>td:first-child{box-shadow:none}}
.public-pricing{scroll-margin-top:28px}

/* The workspace uses the regular booking form, with a full-screen mobile layout. */
.modal-backdrop.booking-fullscreen-backdrop{padding:0;align-items:stretch;overflow:hidden}
.modal.booking-fullscreen{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0;overflow:hidden;box-shadow:none}
.modal.booking-fullscreen>header{display:none}
.workspace-ride-booking.public-booking.booking-gateway{padding:0;min-height:0;background:#f5f7fa}
.workspace-ride-booking.public-booking.booking-gateway .booking{border:0;border-radius:0;box-shadow:none}
.workspace-ride-desktop.public-booking.booking-gateway .booking{height:min(660px,calc(100dvh - 148px))!important}
.workspace-ride-mobile.public-booking.booking-gateway{height:100%}
.workspace-ride-mobile.public-booking.booking-gateway .booking{height:100%!important}
.workspace-ride-booking.booking-gateway .booking-dismiss{display:grid}
.workspace-ride-booking.booking-gateway .booking-head-controls{gap:8px}
.workspace-ride-booking.booking-gateway .booking-next-head{padding-top:env(safe-area-inset-top);height:calc(60px + env(safe-area-inset-top));min-height:calc(60px + env(safe-area-inset-top))}
.workspace-ride-booking.booking-gateway .booking-next-brand strong{white-space:normal;line-height:1.25}
.workspace-ride-booking.booking-gateway .booking-complete{overflow-y:auto}
.workspace-ride-booking .booking-result-toolbar{flex-shrink:0}
.flight-info.compact:has(.flight-compact-details){align-items:center;white-space:normal;gap:6px}
.flight-info.compact>.flight-compact-details{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;min-width:0}
.flight-compact-details .flight-arrival-time{white-space:nowrap}
.flight-compact-details .flight-arrival-time strong{font-size:12px;font-variant-numeric:tabular-nums}
.flight-compact-details .flight-arrival-state{font-size:10px}
.flight-compact-details .flight-arrival-delay{font-weight:700;white-space:nowrap}

/* Keep sign-out visible above mobile browser controls. */
.workspace > .sidebar {height:100vh;height:100dvh;box-sizing:border-box;padding-bottom:max(15px,env(safe-area-inset-bottom));}
.workspace > .sidebar nav {min-height:0;}
.workspace > .sidebar > .logo,.workspace > .sidebar > .workspace-switch,.workspace > .sidebar > .sidebar-bottom {flex-shrink:0;}
.workspace .sidebar-bottom {padding:12px 0 0;}
.workspace .sidebar-bottom .build-label {padding:0 10px;margin-bottom:9px;}
.workspace .sidebar-bottom > .workspace-logout {width:100%;min-height:44px;justify-content:center;padding:11px 14px;border:1px solid #ffffff35;border-radius:9px;background:#ffffff0f;color:#fff;font-size:13px;font-weight:600;cursor:pointer;}
.workspace .sidebar-bottom > .workspace-logout:hover {background:#ffffff22;border-color:#ffffff65;}
.workspace .sidebar-bottom > .workspace-logout:focus-visible {outline:2px solid #b7ddc8;outline-offset:3px;}
.workspace .sidebar-bottom > .workspace-logout:disabled {opacity:.55;cursor:wait;}

/* Compact contact and route information in the ride drawer. */
.ride-contact-section{margin-top:22px;padding:18px;border:1px solid #dce7e2;border-radius:14px;background:#fff;min-width:0}
.ride-contact-section>header{display:flex;align-items:center;gap:9px;color:#236652}
.ride-contact-section>header h3{margin:0;font-size:15px;font-weight:700;color:#203b34}
.ride-contact-section .ride-contact-name{margin:7px 0 14px;font-size:13px;color:#526c63}
.ride-contact-actions{display:grid;gap:8px}
.ride-contact-actions>a{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e0e9e5;border-radius:9px;color:#245846;background:#f8fbf9;text-decoration:none;min-width:0;transition:background .15s,border-color .15s}
.ride-contact-actions>a:hover{background:#ecf5ef;border-color:#a7c9b8}
.ride-contact-actions>a:focus-visible{outline:2px solid #23765c;outline-offset:3px}
.ride-contact-actions>a>svg{flex-shrink:0}
.ride-contact-actions>a>svg:last-child{margin-left:auto;color:#789286}
.ride-contact-actions>a>span{display:grid;gap:3px;min-width:0}
.ride-contact-actions small{font-size:11px;font-weight:500;color:#637c70}
.ride-contact-actions strong{font-size:13px;font-weight:650;overflow-wrap:anywhere;line-height:1.45}
.ride-contact-missing{margin:0;padding:10px 0;color:#6c7d75;font-size:12px}
.ride-contact-note{margin-top:14px;padding:12px 14px;border-left:3px solid #b89552;border-radius:0 8px 8px 0;background:#faf7ef}
.ride-contact-note h4{margin:0 0 5px;font-size:12px;font-weight:700;color:#735b2b}
.ride-contact-note p{margin:0;font-size:13px;line-height:1.55;color:#493f2c;white-space:pre-wrap;overflow-wrap:anywhere}
.ride-contact-section .ride-secondary-details{margin-top:16px;padding-top:15px}
.ride-contact-section .ride-secondary-details>summary{font-size:12px;min-height:24px;color:#3f6152}
.ride-contact-section .detail-list{margin:12px 0 0;border:0}
.ride-contact-section .detail-list>div{grid-template-columns:minmax(100px,34%) minmax(0,1fr);padding:10px 0}
.ride-contact-section .detail-list dt{font-size:12px;color:#627769}
.ride-contact-section .detail-list dd,.ride-contact-section .detail-list>div:first-child dd{font-size:12px;font-weight:500;color:#2b443b}
.ride-contact-mail{margin-top:15px;padding-top:15px;border-top:1px solid #e5ece8}
.ride-contact-mail .confirmation-draft{margin:0;padding:0}
.ride-contact-mail .confirmation-draft>summary{font-size:12px;color:#3f6152}
.quick-ride-action>.ride-contact-section{display:none}
.ride-source-panel{display:flex;align-items:center;gap:10px;margin:13px 0;padding:12px 14px;border:1px solid #d7e7e0;border-radius:10px;background:#f0f7f3;color:#27644f;min-width:0}
.ride-source-panel>svg{flex-shrink:0}
.ride-source-panel>div{display:grid;gap:4px;min-width:0}
.ride-source-panel small{font-size:11px;color:#5c7567;line-height:1.3}
.ride-source-panel strong{font-size:13px;font-weight:650;color:#204e3d;line-height:1.45;overflow-wrap:anywhere}
.ride-booking-source{color:#355f52;line-height:1.5;gap:6px;white-space:normal}
.ride-booking-source>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.ride-contact-section{padding:15px;margin-top:17px}.ride-contact-actions>a{min-height:56px}.ride-source-panel{padding:11px 12px}}

.ride-completion-form{padding:22px 26px 26px}
.ride-completion-intro{margin:0 0 16px;font-size:14px;line-height:1.6;color:#546b61}
.ride-completion-summary{display:grid;gap:5px;margin-bottom:19px;padding:14px 16px;background:#f1f7f3;border:1px solid #dce8e0;border-radius:10px;color:#2b5444;overflow-wrap:anywhere}
.ride-completion-summary strong{font-size:14px}.ride-completion-summary span{font-size:13px}.ride-completion-summary small{font-size:12px;color:#587064}
.ride-completion-form .field{margin:0}.ride-completion-form input{width:100%;min-height:46px;font-size:16px}
.ride-completion-help{margin:9px 0 20px;font-size:12px;line-height:1.5;color:#62756b}
.ride-completion-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
@media(max-width:600px){.ride-completion-form{padding:18px}.ride-completion-actions{display:grid;grid-template-columns:1fr}.ride-completion-actions .primary{grid-row:1}}

/* Vehicle types stay readable in the list and ride details, including mobile. */
.ride-vehicle-badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;width:fit-content;padding:0;border:0;border-radius:0;background:transparent;color:#355d4f;font-size:13px;font-weight:600;line-height:1.4;box-sizing:border-box}
.ride-vehicle-badge>svg{width:15px;height:15px;flex-shrink:0;color:#6f897d}.ride-vehicle-badge>span{min-width:0;overflow-wrap:normal}
.agenda-reference-table .agenda-vehicle-cell:before{content:none}.agenda-reference-table th:nth-child(4){width:150px}
.summary-passengers .ride-vehicle-badge{font-size:13px;color:#355d4f;font-weight:600}
.ride-return-date{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:16px}.ride-return-form .field{min-width:0}.ride-return-form input{min-width:0;box-sizing:border-box}.ride-return-action{border-color:#b5d4c4;background:#f0f7f3;color:#225b43}
@container(max-width:900px){.agenda-reference-table th:nth-child(4){width:145px}}
@media(max-width:600px){.ride-vehicle-badge{font-size:13px;min-height:20px}.ride-return-form input{max-width:100%}}

/* Operations: calm, compact notices and verified price synchronization. */
.operational-attention{padding:22px!important}.operational-attention>header,.website-sync-panel>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.operational-attention h2,.website-sync-panel h2{font-size:19px;margin:0 0 5px}.operational-attention header p,.website-sync-panel header p{font-size:13px;color:#60766c;margin:0}.attention-count{background:#e7f2ed;color:#175541;padding:5px 10px;border-radius:8px;white-space:nowrap;font-size:13px;font-weight:700}.attention-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;min-width:0}.attention-columns>div{min-width:0}.attention-columns h3,.website-sync-panel h3{font-size:15px;margin:0}.attention-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.attention-heading .text-btn{font-size:12px}.attention-item{border:1px solid #dce6e1;border-left:3px solid #bf883a;border-radius:10px;padding:14px;margin-top:12px;overflow-wrap:anywhere}.attention-item.cancelled{border-left-color:#b46c5f}.attention-item-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:14px}.attention-item-title>span{font-size:11px;font-weight:700;color:#8a5828;white-space:nowrap}.attention-item p{font-size:13px;margin:7px 0;color:#415b51}.attention-item small{font-size:12px;color:#60766c}.attention-item details{font-size:13px;margin:10px 0}.attention-item summary{cursor:pointer;color:#1a6653;font-weight:600}.attention-item .btn{margin-top:8px}.attention-empty{font-size:13px;color:#60766c;background:#f4f8f6;padding:14px;border-radius:8px}.attention-note{display:block;font-size:12px!important;color:#63736c!important;line-height:1.5}.attention-diff{margin:8px 0}.attention-diff>div{padding:8px 0;border-top:1px solid #e4ebe7}.attention-diff dt{font-weight:700}.attention-diff dd{margin:3px 0;color:#52665c}.central-overview .attention-columns{grid-template-columns:1fr}.website-sync-panel{margin:18px 0 24px;padding:18px;border:1px solid #dce6e1;border-radius:12px;background:#fbfcfb}.website-sync-panel.compact{margin:0;padding:20px}.website-sync-panel.compact>header{margin:0}.sync-actions{display:flex;gap:8px;flex-wrap:wrap}.sync-site-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sync-site-list article{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e1e9e4;border-radius:8px;background:#fff;font-size:13px;min-width:0}.sync-site-list article>div{min-width:0;flex:1;overflow-wrap:anywhere}.sync-site-list strong{display:block;font-size:13px}.sync-site-list small{display:block;font-size:11px;color:#63736c;margin-top:5px}.sync-site-list p{margin:7px 0 0;font-size:12px;color:#63736c}.sync-status{display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700;background:#fbefdb;color:#80591f}.sync-status.success{background:#e2f1e9;color:#215f49}.sync-status.pending{background:#e8eff5;color:#375874}@media(max-width:900px){.sync-site-list{grid-template-columns:1fr}.attention-columns{grid-template-columns:1fr}}@media(max-width:600px){.operational-attention{padding:16px!important}.operational-attention>header,.website-sync-panel>header{align-items:flex-start;flex-wrap:wrap}.sync-actions{width:100%}.sync-actions .btn{flex:1;white-space:normal}.attention-item-title{flex-wrap:wrap;gap:4px}.website-sync-panel{padding:12px}.sync-site-list article{flex-direction:column}.attention-columns{gap:16px}}

.attention-columns>div:only-child{grid-column:1/-1}

/* Named price lists */
.price-list-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 20px}.price-list-editor{margin:0 24px 20px;padding:22px;border:1px solid #cadbd5;border-radius:16px;background:#f3f8f5;display:grid;gap:16px;max-width:620px}.price-list-editor h3{margin:0}.price-list-links{margin:0 24px 16px;padding:16px 20px;border-left:3px solid #2d7767;background:#f3f8f5;border-radius:8px}.price-list-links p{margin:6px 0 0;overflow-wrap:anywhere}.price-list-choice{margin-top:20px;padding-top:20px;border-top:1px solid #dae4e0}.price-list-actions .btn{white-space:normal}@media(max-width:600px){.price-list-editor,.price-list-links{margin-left:16px;margin-right:16px}.price-list-actions{padding-left:16px;padding-right:16px}}

/* New reservations: calm contrast without changing the confirmation indicator. */
.agenda-reference-table tbody tr.agenda-unseen,.agenda-ride-card.agenda-unseen{background:#edf5ff}
.agenda-reference-table tbody tr.agenda-unseen:hover,.agenda-ride-card.agenda-unseen:hover{background:#e3efff}
.agenda-reference-table tbody tr.agenda-unseen.agenda-attention{background:linear-gradient(90deg,#edf5ff 0%,#edf5ff 72%,#fff7e4 100%)}
.agenda-new-label{display:inline-flex;align-items:center;flex:0 0 auto;width:fit-content;border:1px solid #b8d4f3;border-radius:5px;background:#dcecff;color:#205384;font-size:10px;font-weight:700;line-height:1.4;padding:2px 6px;vertical-align:middle;white-space:nowrap;letter-spacing:.01em}
.agenda-route-heading .agenda-new-label{margin-left:4px}

/* Price management: one workspace, clearly scoped to a website or list. */
.fare-manager{padding:24px;min-width:0}
.fare-workspace-toolbar{display:grid;gap:22px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e0e8e3}
.fare-list-select-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px 24px}
.fare-list-select-row>.field{flex:1 1 300px;max-width:540px;min-width:0;margin:0}
.fare-list-select-row select{min-height:46px;font-size:14px}
.fare-list-create-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:1px}
.fare-primary-actions{display:flex;flex-wrap:wrap;gap:12px}
.fare-primary-actions .btn{min-height:44px;white-space:normal;text-align:center}
.fare-toolbar-help{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;color:#637c70;font-size:12px;line-height:1.5}
.fare-toolbar-help .text-btn{font-size:12px;text-decoration:underline;text-underline-offset:3px}
.price-list-editor{margin:0 0 22px;max-width:620px;box-sizing:border-box}
.price-list-links{margin:0 0 16px;padding:12px 16px;border:1px solid #e2e9e5;background:#f8faf9;font-size:12px;line-height:1.6}
.price-list-links strong{color:#315d4e}.price-list-links p{margin:4px 0 0}
.fare-website-context{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:18px;border:1px solid #bdd9cc;border-radius:12px;background:#f0f7f3}
.fare-website-context>div{min-width:0}.fare-website-context strong{font-size:15px;color:#224e3f}.fare-website-context p{font-size:13px;line-height:1.6;margin:5px 0 0;max-width:72ch}.fare-website-context .btn{flex-shrink:0}
.fare-link-form{padding:24px;display:grid;gap:20px}.fare-link-form p{margin:0;font-size:14px;line-height:1.6}.fare-link-summary{display:grid;gap:6px;padding:16px;border:1px solid #dae6df;border-radius:10px;background:#f5f9f6;font-size:13px;line-height:1.55}.fare-link-form .form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:0}
.fare-sync-disclosure{margin-top:24px;border:1px solid #e0e8e3;border-radius:12px}.fare-sync-disclosure>summary{padding:16px 20px;color:#355e4f;cursor:pointer;font-weight:600;font-size:14px}.fare-sync-disclosure .website-sync-panel{margin:0;border:0}
.fare-upload-help{font-size:12px}.fare-manager .fare-overview{margin-top:12px}
@media(max-width:700px){.fare-manager{padding:16px}.fare-list-select-row>.field{flex-basis:100%;max-width:none}.fare-primary-actions{display:grid;grid-template-columns:minmax(0,1fr)}.fare-primary-actions .btn{width:100%;justify-content:center}.fare-website-context{align-items:stretch;flex-direction:column}.fare-link-form{padding:20px}.fare-link-form .form-actions>.btn{flex:1 1 140px}.price-list-editor{margin:0 0 20px;padding:16px}.price-list-links{margin:0 0 16px}.fare-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Keep accessible labels anchored inside horizontally scrolling fare tables. */
.fare-manager .btn{position:relative}

/* Connected payment accounts */
.online-payment-settings{padding:24px;border:1px solid #d9e7df;border-radius:16px;margin-bottom:24px;background:#f8fbf9}.online-payment-settings h3{margin:8px 0;font-size:22px}.online-payment-settings p{line-height:1.55;max-width:70ch}.online-payment-status{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:20px 0}.online-payment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.platform-payment-config{border-top:1px solid #d9e7df;margin-top:24px;padding-top:18px}.platform-payment-config summary{cursor:pointer;font-weight:650}.platform-payment-config form{display:grid;gap:12px;max-width:650px}.booking-payment-next{display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center;padding:40px 24px;margin:auto;max-width:540px}.booking-payment-next strong{font-size:28px}.booking-payment-next .btn{width:100%;justify-content:center}@media(max-width:600px){.online-payment-settings{padding:16px}.online-payment-status{align-items:flex-start;flex-direction:column}.online-payment-actions .btn{width:100%}}

.fare-paste-panel{padding:20px;border:1px solid #d5e3dc;border-radius:12px;background:#f7faf8;margin:0 0 24px;display:grid;gap:12px;min-width:0}.fare-paste-panel h3,.fare-paste-panel p{margin:0}.fare-paste-panel textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:150px;resize:vertical;white-space:pre;overflow:auto;font-size:14px}.fare-paste-panel .row-actions{flex-wrap:wrap}

/* Ordered price lists: compact rows, clear ownership and mobile controls. */
.price-list-selection { min-width:0; }
.price-list-selection h3 { margin:0 0 8px; }
.price-list-selection p { margin:0 0 16px; font-size:14px; line-height:1.6; }
.price-list-priority { list-style:none; margin:0 0 16px; padding:0; display:grid; gap:8px; }
.price-list-priority li { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid #d6e5df; border-radius:12px; background:#fff; min-width:0; }
.price-list-priority li:first-child { background:#f0f8f4; border-color:#7cac99; }
.price-list-rank { flex:0 0 26px; font-weight:700; color:#197564; text-align:center; }
.price-list-description { flex:1; min-width:0; overflow-wrap:anywhere; }
.price-list-description strong,.price-list-description small { display:block; }
.price-list-description small { color:#60786e; margin-top:4px; }
.price-list-order-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.price-list-order-actions .btn { min-width:36px; min-height:36px; padding:6px 10px; }
.price-list-available { border-top:1px solid #d6e5df; padding-top:12px; }
.price-list-available summary { cursor:pointer; color:#197564; font-weight:650; padding:6px 0; }
.price-list-available>div { display:grid; gap:10px; padding-top:12px; }
.price-list-available label { display:flex; align-items:center; gap:10px; min-width:0; }
.price-list-available label span { flex:1; overflow-wrap:anywhere; }
.price-list-available input { width:18px; height:18px; }
.fare-link-form { padding:24px; min-width:0; }
.fare-link-form>.field { margin-bottom:24px; }
.fare-link-form .form-actions { margin-top:24px; }
.platform-payment-config { margin-top:24px; padding-top:20px; border-top:1px solid #d6e5df; }
.platform-payment-config summary { cursor:pointer; font-size:18px; font-weight:700; padding-bottom:12px; }
.platform-payment-config form { display:grid; gap:16px; max-width:680px; }
@media(max-width:600px){.price-list-priority li{flex-wrap:wrap}.price-list-order-actions{width:100%;justify-content:flex-end}.fare-link-form{padding:16px}.price-list-available label small{font-size:11px}}

.platform-loading { min-height:100dvh; display:grid; place-items:center; background:#f4f7f5; color:#476459; }
.platform-access { grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); }
.platform-access-brand { display:flex; align-items:center; justify-content:space-between; gap:16px; position:relative; z-index:1; }
.platform-access-brand>span { border:1px solid #b2d0a633; border-radius:100px; padding:7px 11px; color:#bed1c1; font-size:10px; letter-spacing:.07em; white-space:nowrap; }
.platform-access .login-story>div>p { color:#b3c5b7; font-size:15px; line-height:1.75; }
.platform-access .story-features>span { font-size:13px; color:#c1d1c1; }
.platform-access .login-panel>div { max-width:390px; }
.platform-access .login-panel .eyebrow { color:#507363; font-size:10px; }
.platform-access .platform-login-intro { color:#6c7f75; font-size:14px; line-height:1.7; }
.platform-access .field input { min-height:50px; font-size:16px; background:#fafcfb; border-radius:10px; }
.platform-access .login-password-heading { font-size:13px; flex-wrap:wrap; gap:4px 12px; }
.platform-access .login-forgot-link { font-size:12px; }
.platform-password-input { position:relative; }
.platform-password-input input { width:100%; padding-right:78px; }
.platform-password-input button { position:absolute; right:5px; top:5px; bottom:5px; min-width:64px; padding:0 9px; background:none; border:0; border-radius:6px; color:#59776a; font:inherit; font-size:12px; cursor:pointer; }
.platform-password-input button:hover { background:#eaf1ed; }
.platform-access .btn.primary { min-height:50px; border-radius:10px; }
.platform-access .platform-access-note { display:flex; align-items:center; justify-content:center; gap:7px; font-size:11px; color:#728279; margin:24px 0 0; }
.platform-access-note svg { flex-shrink:0; }
.platform-access .platform-login-footer { display:block; padding-top:24px; margin-top:28px; border-top:1px solid #e5ebe7; text-align:center; font-size:12px; color:#587467; }
.platform-access .error { font-size:13px; line-height:1.5; margin:0; }
@media(max-width:800px){
  .platform-access { grid-template-columns:1fr; grid-template-rows:auto 1fr; }
  .platform-access .login-story { padding:22px 24px; }
  .platform-access .login-story>div,.platform-access .login-story>small { display:none; }
  .platform-access .login-panel { padding:40px 24px 28px; align-items:flex-start; }
  .platform-access .login-panel h2 { font-size:28px; }
  .platform-access .login-panel form { margin-top:28px; gap:20px; }
}
@media(max-width:360px){.platform-access-brand>span{font-size:9px;padding:6px 8px}.platform-access .login-story{padding:18px}.platform-access .login-panel{padding:32px 18px}}

/* Subscription terms beside checkout and pricing. */
.subscription-payment-summary{list-style:none;margin:24px 0;padding:0;display:grid;gap:16px;text-align:left}
.subscription-payment-summary li{display:flex;align-items:flex-start;gap:12px;min-width:0}
.subscription-payment-step{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e9f1ee;color:#244f43;font-size:12px;font-weight:700}
.subscription-payment-summary strong{display:block;color:#193e33;font-size:15px;line-height:1.5}
.subscription-payment-summary p{margin:3px 0 0!important;font-size:13px!important;line-height:1.6!important;color:#586b64;overflow-wrap:anywhere}
.public-pricing>.subscription-payment-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:22px;border:1px solid #dce6e0;border-radius:16px;background:#f6f9f7;margin:28px 0 36px}
.subscription-sepa-status{padding:16px;border:1px solid #dce6e0;border-radius:12px;margin:16px 0;background:#f6f9f7}
.subscription-sepa-status p{font-size:14px;line-height:1.6}
.sales-form .check-line{align-items:flex-start;line-height:1.6}
.sales-form .check-line input[type=checkbox]{flex-shrink:0;margin-top:4px}
@media(max-width:680px){.public-pricing>.subscription-payment-summary{grid-template-columns:1fr;padding:18px;gap:18px}.subscription-payment-summary{margin:20px 0}.subscription-sepa-status .online-payment-actions{flex-wrap:wrap}}
/* Booking extras and registered payments by method. */
.success-ticket>.success-detail-row{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.3fr);align-items:start;gap:14px}
.success-detail-row>span{font-size:14px;color:#64786c}
.success-detail-row>strong{text-align:right;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.payment-method-report{padding:24px;overflow:hidden}
.payment-method-report>header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}
.payment-method-report h2{margin:5px 0 8px;font-size:21px}
.payment-method-report p{font-size:13px;line-height:1.65;color:#687c70;margin:0}
.payment-report-total{display:grid;gap:4px;text-align:right;flex-shrink:0}
.payment-report-total>strong{color:#14644e;font-size:30px;line-height:1.3;font-variant-numeric:tabular-nums}
.payment-report-total small,.payment-report-total span{font-size:12px;color:#637e6c}
.payment-report-rows{border:1px solid #dfe8e2;border-radius:12px;overflow:hidden}
.payment-report-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.7fr) minmax(210px,1fr);gap:16px;padding:17px 20px;background:#fff;align-items:center}
.payment-report-row+.payment-report-row{border-top:1px solid #e5ece7}
.payment-report-row:nth-child(even){background:#f7faf8}
.payment-report-row>div{display:grid;gap:5px;min-width:0}
.payment-report-row small{font-size:11px;color:#6d8075;line-height:1.4}
.payment-report-row strong{font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.payment-report-received,.payment-report-open{text-align:right}
.payment-report-received strong{color:#14644e}
.payment-report-open strong{font-weight:500;color:#647569}
.payment-method-report footer{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:18px}
.payment-method-report footer p{max-width:740px;font-size:12px}
.payment-method-report footer button{flex-shrink:0}
.payment-report-empty{text-align:center;padding:24px;background:#f7faf8;border-radius:12px}
.payment-report-note{padding:12px;margin-top:14px!important;border-radius:8px;background:#fbf4e9}
@media(max-width:680px){.payment-method-report{padding:18px}.payment-method-report>header{display:grid;gap:14px}.payment-report-total{text-align:left}.payment-report-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px;gap:10px}.payment-report-method{grid-column:1/-1}.payment-report-received{text-align:left}.payment-method-report footer{display:grid;gap:14px}.payment-method-report footer button{justify-self:start}.success-ticket>.success-detail-row{gap:10px}}

/* Management idle-session warning */
.session-expiry-notice{position:fixed;z-index:12000;left:50%;bottom:24px;transform:translateX(-50%);width:min(680px,calc(100% - 32px));display:flex;align-items:center;gap:20px;background:#fff9ea;color:#493716;border:1px solid #d5b268;border-radius:14px;padding:18px 20px;box-shadow:0 12px 44px #163a2930}.session-expiry-notice strong{font-size:16px}.session-expiry-notice p{margin:5px 0 0;font-size:14px;line-height:1.5}.session-expiry-notice .btn{flex-shrink:0;min-height:44px}@media(max-width:560px){.session-expiry-notice{bottom:12px;gap:12px;align-items:stretch;flex-direction:column;padding:15px}.session-expiry-notice .btn{width:100%}}

/* Functional cookie information and legal documents. */
.cookie-information{position:fixed;left:18px;bottom:18px;z-index:1200;width:min(440px,calc(100vw - 36px));box-sizing:border-box;padding:16px 18px;background:#fff;color:#193d34;border:1px solid #cadbd3;border-radius:16px;box-shadow:0 8px 36px #193d3422;display:flex;align-items:center;gap:16px;text-align:left;font-size:13px;line-height:1.5}.cookie-information strong{font-size:14px}.cookie-information p{font-size:13px;line-height:1.5;margin:4px 0 0;color:#486258}.cookie-information a{color:#176953;text-decoration:underline}.cookie-information button{flex-shrink:0;background:#193d34;color:#fff;padding:10px 12px;border:0;border-radius:9px;font-weight:650;min-height:44px;cursor:pointer}.cookie-information button:focus-visible,.cookie-information a:focus-visible{outline:3px solid #43ac90;outline-offset:3px}.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:24px;font-size:12px}.legal-links a{color:#486258;text-decoration:underline;text-underline-offset:3px}.legal-provider{display:flex;flex-direction:column;gap:4px;font-style:normal;font-size:14px;line-height:1.6;color:#486258;margin:24px 0}.legal-provider strong{color:#193d34;font-size:16px}.legal-provider a{color:inherit}.policy-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.policy-actions .btn{font-size:13px;min-height:42px}.policy-scope{padding:16px 20px;background:#eff5f1;border-left:3px solid #28775d;border-radius:0 10px 10px 0;line-height:1.7}.cookie-storage-list{list-style:none;padding:0!important;display:grid;gap:12px}.cookie-storage-list li{margin:0;padding:20px;border:1px solid #d9e4de;border-radius:12px;min-width:0}.cookie-storage-list h3{margin:0 0 6px;font-size:17px}.cookie-storage-list code{font-size:12px;overflow-wrap:anywhere;color:#486258}.cookie-storage-list p{margin:10px 0!important}.cookie-storage-list small{display:block;line-height:1.7;color:#486258}.policy-document{overflow-wrap:anywhere}@media(max-width:480px){.cookie-information{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:13px;gap:12px;font-size:12px}.cookie-information p{font-size:12px}.policy-actions .btn{padding:10px 12px}.cookie-storage-list li{padding:15px}}@media print{.policy-page .public-nav,.policy-page .public-footer,.public-flow-page .public-nav,.public-flow-page .public-footer,.policy-back,.policy-actions,.cookie-information{display:none!important}.policy-document{max-width:none!important;padding:0!important;margin:0!important;background:white!important;box-shadow:none!important}.policy-copy section,.cookie-storage-list li{break-inside:avoid}.public-site{background:white!important}}
.policy-document .policy-back{display:block;margin-bottom:16px}.policy-document .public-kicker{display:block}

/* Company privacy agreements */
.dpa-fingerprint{font-size:12px;overflow-wrap:anywhere}.privacy-settings{display:grid;gap:18px;max-width:850px;min-width:0}.privacy-settings>.btn{justify-self:start}.dpa-status,.dpa-retention{border:1px solid var(--border,#dce6e2);border-radius:14px;padding:20px}.dpa-status{background:#f4f8f6;display:grid;gap:12px}.dpa-status h3,.dpa-retention h3{margin:0 0 10px}.dpa-status p{margin:0}.dpa-status .btn{justify-self:start}.dpa-retention dl{margin:0}.dpa-retention dl>div{padding:12px 0;border-bottom:1px solid #e3ebe7}.dpa-retention dt{font-weight:650}.dpa-retention dd{margin:5px 0 0;color:#567068;line-height:1.55}.dpa-status .check-line{align-items:start}.dpa-status input[type=checkbox]{width:18px;min-width:18px;height:18px}.workspace-welcome .check-line{display:flex;gap:12px;align-items:start;margin:18px 0;font-size:14px;line-height:1.5}.workspace-welcome .check-line input{width:18px;min-width:18px;height:18px}.policy-article h1{overflow-wrap:anywhere}@media(max-width:600px){.dpa-status,.dpa-retention{padding:16px}.privacy-settings{gap:14px}}
.settings-main>.privacy-settings{padding:0 24px 24px;box-sizing:border-box}@media(max-width:600px){.settings-main>.privacy-settings{padding:0 16px 16px}}
