/* Screen integration, not a colour overlay. Sources: passenger portal + Style 787 guide. */
.design-787 {--design-header:#123e6a;--design-border:#e1e5ea;--design-ink:#162330;--design-muted:#5b646f;background:#f3f5f8;color:var(--design-ink);}
.design-787 button {min-height:44px;}
.design-787 .design-brand-mark {display:grid;place-items:center;width:30px;height:30px;background:#ffffff29;color:#fff;font:700 11px var(--font-ui);border-radius:7px;letter-spacing:0;flex:none;}
.design-787 .guest-header,.design-787 .cabinet-header {background:var(--design-header);min-height:60px;height:60px;padding:0 28px;gap:14px;}
.design-787 .guest-header .brand,.design-787 .cabinet-logo {display:flex;gap:14px;align-items:center;}
.design-787 .brand>span:last-child,.design-787 .cabinet-logo>span:last-child {font-size:13px;letter-spacing:.08em;color:var(--gold);}
.design-787 .header-qr,.design-787 .header-install {height:36px;min-height:36px;border:0;border-radius:9px;background:#ffffff29;}
.design-787 .header-qr {width:36px;padding:0;}
.design-787 .guest-main {width:calc(100% - 56px);max-width:1060px;grid-template-columns:minmax(0,1fr) 440px;column-gap:64px;row-gap:24px;margin:64px auto 36px;padding:0;}
.design-787 .guest-hero {align-self:center;padding:0;}
.design-787 .guest-hero h1 {font-size:30px;line-height:1.3;font-weight:600;color:var(--design-ink);margin:12px 0 16px;}
.design-787 .guest-hero>p {font-size:14px;line-height:1.6;color:var(--design-muted);max-width:470px;}
.design-787 .guest-hero>.eyebrow {font-size:10px;}
.design-787 .guest-benefits {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;}
.design-787 .guest-benefits>div {background:white;border:1px solid var(--design-border);border-radius:12px;padding:14px;}
.design-787 .guest-benefits span {font:22px var(--font-data);color:var(--blue);display:block;margin-bottom:8px;}
.design-787 .guest-benefits strong {font-size:13px;}
.design-787 .guest-benefits p {font-size:12px;margin:6px 0 0;line-height:1.5;}
.design-787 .auth-card {width:100%;padding:26px;border-radius:14px;border:1px solid var(--design-border);box-shadow:none;}
.design-787 .auth-card .eyebrow {margin:0 0 8px;}
.design-787 .auth-section-title {font-size:22px;margin:0 0 20px;}
.design-787 .auth-tabs {display:flex;background:#ebf5ff;border-radius:10px;padding:4px;gap:4px;margin:0 0 16px;}
.design-787 .auth-tabs button {flex:1;border:0;background:transparent;color:var(--design-muted);font-size:13px;min-height:44px;border-radius:8px;padding:8px;}
.design-787 .auth-tabs button[aria-selected=true] {color:var(--blue);background:#fff;box-shadow:none;}
.design-787 #auth-intro {font-size:13px;line-height:1.5;margin:0 0 18px;}
.design-787 .auth-card form {display:grid;gap:10px;}
.design-787 .auth-card form label {font-size:12px;font-weight:600;}
.design-787 .auth-card form input:not([type=checkbox]) {width:100%;margin:0 0 6px;font-family:var(--font-data);}
.design-787 .auth-card form button[type=submit] {width:100%;background:var(--orange);min-height:46px;}
.design-787 #show-registration,.design-787 #show-pin-login {background:transparent;color:var(--blue);border:0;font-size:12px;font-weight:400;margin:0;padding:6px;}
.design-787 .legal-consent {font-weight:400!important;font-size:12px!important;line-height:1.5;}
.design-787 .install-card {display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:14px;}
.design-787 .install-card h2 {font-size:15px;margin:0 0 6px;}
.design-787 .install-card p {margin:0 0 8px;font-size:13px;}
.design-787 .install-card .button {font-size:12px;min-height:40px;padding:8px 12px;}
.design-787 .install-card-mark {display:grid;place-items:center;border:1px solid var(--design-border);background:var(--blue-soft);border-radius:12px;width:70px;height:70px;font:36px var(--font-data);color:var(--blue);flex:none;}
.design-787 .install-card figure {margin:0 0 0 auto;}
.design-787 .install-card figure:has(img[hidden]) {display:none;}
.design-787 #guest-footer {font-size:12px;padding:16px;line-height:1.5;}
.design-787 .field-error:empty {display:none;}
/* T11: поля маршрута с ошибкой видны сразу все. */
.design-787 #trip-form [aria-invalid="true"] {border-color:#b3261e !important;box-shadow:0 0 0 2px rgba(179,38,30,.18);}
.design-787 #trip-form button.booking-sheet-trigger[aria-invalid="true"] {box-shadow:inset 0 0 0 2px #b3261e !important;}
.design-787 #cabinet .cabinet-main {max-width:none;width:auto;margin:24px 28px 100px;}
.design-787 .order-workspace {max-width:1384px;margin:0 auto;padding:0;border:0;background:transparent;}
.design-787 .order-editor {display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:18px 24px;align-items:start;}
.design-787 .booking-heading {grid-column:1/-1;display:flex;align-items:center;gap:16px;}
.design-787 .booking-heading h2 {font-size:22px;line-height:1.35;margin:0;font-weight:600;}

.design-787 .booking-form,.design-787 #trip-form {display:block;margin:0;max-width:none;}
.design-787 #booking-inputs {border:0;margin:0;padding:0;min-width:0;display:grid;gap:14px;}
.design-787 .booking-form [disabled] {cursor:not-allowed;}
.design-787 .direction-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.design-787 .direction-tabs button {padding:12px 14px;background:#fff;border:1px solid var(--design-border);border-radius:12px;color:#404952;font-size:14px;text-align:left;min-height:48px;}
.design-787 .direction-tabs button[aria-pressed=true] {background:#0e4f86;color:#fff;border-color:transparent;}
.design-787 .booking-card {background:#fff;border:1px solid var(--design-border);border-radius:14px;padding:15px 17px;min-width:0;}
.design-787 .booking-addresses,.design-787 .booking-details {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;}
.design-787 .field-eyebrow {font:500 10px var(--font-data);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;color:var(--design-muted);}
.design-787 .booking-form label {font-size:12px;font-weight:600;display:grid;gap:6px;}
.design-787 .booking-form input:not([type=radio]):not([type=checkbox]),.design-787 .booking-form select,.design-787 .booking-form textarea {width:100%;min-width:0;margin:0;font-size:14px;padding:11px 12px;border-radius:10px;}
.design-787 .booking-form input[type=datetime-local],.design-787 #passenger-count {font-family:var(--font-data);}
.design-787 .booking-form .address-with-entrance {display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
.design-787 .booking-form .entrance-field {margin:0;}
.design-787 .booking-form .entrance-label {font-size:11px;font-weight:400;color:var(--design-muted);}
.design-787 .booking-form .entrance-label small {font:inherit;}
.design-787 .booking-form .entrance-hint {display:none;}
.design-787 .booking-form .form-hint {font-size:12px;line-height:1.5;margin:7px 0 0;color:var(--design-muted);}
.design-787 .booking-location {display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.design-787 .booking-location button {background:transparent;border:0;color:var(--blue);padding:0;font-size:12px;min-height:36px;}
.design-787 #location-status {flex:1;min-width:160px;font-size:12px;margin:0;color:var(--design-muted);}
.design-787 .passenger-counter {display:flex;align-items:center;gap:12px;margin-top:12px;}
.design-787 .passenger-counter button {min-width:46px;min-height:46px;padding:0;background:#fff;font:22px var(--font-data);}
.design-787 #passenger-count {width:68px;text-align:center;font-size:20px;appearance:none;min-height:46px;}
.design-787 #pickup-mode-field {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;padding:0;border:0;}
.design-787 #pickup-mode-field legend {font-size:12px;margin-bottom:8px;}
.design-787 #pickup-mode-field label {padding:8px;background:#fff;border:1px solid var(--design-border);border-radius:10px;display:flex;align-items:center;gap:6px;}
.design-787 #pickup-mode-field label span {display:grid;gap:3px;}
.design-787 #pickup-mode-field small {font-size:11px;font-weight:400;}
.design-787 .booking-ride-options {display:grid;gap:10px;border:0;margin:0;padding:0;min-width:0;}
.design-787 .booking-ride-options label {display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid var(--design-border);border-radius:14px;min-height:78px;cursor:pointer;}
.design-787 .booking-ride-options label:has(:checked) {border-color:#1f74bf;background:#f4f9fe;}
.design-787 .booking-ride-options label:has(:disabled) {opacity:.6;cursor:not-allowed;}
.design-787 .booking-ride-options input {width:16px;height:16px;accent-color:var(--blue);flex:none;}
.design-787 .ride-option-main {display:grid;gap:6px;flex:1;min-width:0;}
.design-787 .ride-option-main strong {font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.design-787 .ride-option-main em {font-style:normal;background:#d9f7e5;color:var(--success);padding:2px 6px;border-radius:6px;font-size:10px;}
.design-787 .ride-option-main small {font-size:12px;font-weight:400;color:var(--design-muted);}
.design-787 .ride-option-price {display:grid;text-align:right;gap:4px;font:500 19px var(--font-data);min-width:100px;}
.design-787 .ride-option-price small {font:400 11px var(--font-ui);color:var(--design-muted);}
.design-787 .booking-extras {display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.6fr);gap:14px;}
.design-787 .booking-favorites {padding:12px 16px;background:#fff;border:1px solid var(--design-border);border-radius:12px;}
.design-787 .booking-favorites>summary {cursor:pointer;min-height:32px;align-content:center;font-size:14px;font-weight:500;}
.design-787 .booking-favorites button {font-size:12px;}
.design-787 .booking-sidebar {position:sticky;top:84px;display:grid;gap:14px;min-width:0;}
.design-787 .booking-route-map {min-height:190px;display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid var(--design-border);border-radius:14px;background:repeating-linear-gradient(135deg,#e7ecf0 0 10px,#eff2f6 10px 20px);gap:12px;}
.design-787 .booking-route-map .field-eyebrow {margin:0;}
.design-787 .booking-route-map>small {font-size:11px;color:var(--design-muted);}
.design-787 .route-point {display:flex;gap:12px;align-items:center;background:#fff;padding:10px;border-radius:8px;min-height:42px;}
.design-787 .route-point strong {font-size:13px;font-weight:500;overflow-wrap:anywhere;}
.design-787 .route-point i {width:8px;height:8px;border:2px solid var(--blue);border-radius:50%;flex:none;}
.design-787 .route-point.destination i {background:var(--blue);}
.design-787 .booking-summary {display:grid;gap:10px;padding:17px;border:1px solid var(--design-border);border-radius:14px;background:#fff;}
.design-787 .booking-summary h3 {font-size:15px;font-weight:600;margin:0 0 4px;}
.design-787 .booking-summary dl {display:grid;gap:10px;margin:0;}
.design-787 .booking-summary dl>div,.design-787 .booking-review dl>div {display:flex;justify-content:space-between;gap:14px;font-size:13px;}
.design-787 dt {color:var(--design-muted);}
.design-787 dd {margin:0;text-align:right;}
.design-787 .booking-total {display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:1px solid var(--design-border);padding-top:12px;font-size:15px;font-weight:600;}
.design-787 #quote-amount {font:700 24px var(--font-data);color:var(--design-ink);letter-spacing:-.025em;}
.design-787 #quote-details {margin:0;font-size:12px;line-height:1.5;color:var(--design-muted);}
.design-787 #quote-explanation,.design-787 #quote-expiry {margin:0;font-size:11px;color:var(--design-muted);line-height:1.5;}
.design-787 .booking-summary button {width:100%;min-height:46px;padding:12px;border-radius:12px;}
.design-787 #calculate-trip {background:#fff;color:var(--blue);font-size:13px;min-height:40px;padding:8px;}
.design-787 #confirm-trip {background:var(--orange);font-size:15px;}
.design-787 .booking-payment-note {font-size:11px;line-height:1.5;text-align:center;color:var(--design-muted);}
.design-787 .booking-review {width:min(520px,calc(100vw - 24px));max-height:calc(calc(var(--app-vh, 1vh) * 100) - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:1px solid var(--design-border);border-radius:20px;background:#fff;color:var(--design-ink);box-shadow:0 24px 60px rgba(10,18,36,.32);}
.design-787 .booking-review::backdrop {background:rgba(14,22,40,.5);}
.design-787 .booking-review header {display:flex;gap:16px;justify-content:space-between;}
.design-787 .booking-review h2 {margin:0;font-size:20px;}
.design-787 .booking-review header p {font-size:12px;color:var(--design-muted);}
.design-787 .booking-review header button {min-width:44px;align-self:flex-start;font-size:20px;}
.design-787 .review-route {background:var(--blue-soft);border:1px solid var(--design-border);border-radius:12px;padding:12px;margin:14px 0;}
.design-787 .review-route p {font-size:14px;margin:6px 0;}
.design-787 .review-route button {background:transparent;color:var(--blue);border:0;font-size:12px;padding:0;}
.design-787 .booking-review dl {display:grid;gap:12px;}
.design-787 .booking-review dt {min-width:70px;}
.design-787 .booking-review dd {overflow-wrap:anywhere;}
.design-787 .review-total {display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--design-border);}
.design-787 .review-total strong {font:700 24px var(--font-data);}
.design-787 .booking-review footer {display:flex;gap:10px;padding-top:14px;position:sticky;bottom:-22px;background:white;}
.design-787 .booking-review footer button {flex:1;min-height:46px;}
.design-787 #confirm-order-final {background:var(--orange);}
.design-787 .nav-symbol {font:22px var(--font-data);}
.design-787 .cabinet-header .design-profile {display:flex;align-items:center;gap:8px;background:#ffffff20;border:0;border-radius:24px;padding:5px 10px 5px 5px;color:#fff;min-height:36px;}
.design-787 .design-profile i {width:26px;height:26px;border-radius:50%;background:#cd632d;display:grid;place-items:center;font:600 11px var(--font-ui);}
.design-787 .design-profile span {font-size:13px;}
@media(min-width:1100px) {
  .design-787 .cabinet-header>#page-title {display:none;}
  .design-787 .cabinet-header #bottom-nav {position:static;display:flex;flex:1;width:auto;max-width:none;transform:none;left:auto;background:transparent;border:0;margin:0 14px;padding:0;gap:4px;justify-content:flex-start;box-shadow:none;}
  .design-787 .cabinet-header #bottom-nav button {flex:initial;min-width:0;width:auto;color:#ffffffb3;background:transparent;padding:8px 12px;min-height:44px;}
  .design-787 .cabinet-header #bottom-nav button.active {color:#fff;background:#ffffff14;}
  .design-787 .cabinet-header #bottom-nav .nav-label {font-size:14px;}
  .design-787 .cabinet-header #bottom-nav .nav-symbol {display:none;}
  .design-787 #cabinet .cabinet-main {margin-bottom:32px;}
}
@media(max-width:1099px) {
  .design-787 #cabinet .cabinet-main {width:calc(100% - 28px);max-width:560px;margin:20px auto 260px;}
  .design-787 .order-editor {display:flex;flex-direction:column;gap:16px;}
  .design-787 .booking-heading,.design-787 .booking-form {width:100%;}
  .design-787 .booking-heading h2 {font-size:20px;}
  .design-787 .booking-sidebar {display:contents;}
  .design-787 .booking-route-map {width:100%;min-height:150px;}
  .design-787 .booking-summary {position:fixed;z-index:110;bottom:calc(66px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 24px));padding:12px 14px;grid-template-columns:minmax(0,1fr) minmax(124px,.6fr);gap:6px 14px;box-shadow:0 -2px 16px #142b4410;}
  .design-787 .booking-summary h3,.design-787 .booking-summary-details,.design-787 #quote-explanation,.design-787 #quote-expiry,.design-787 .booking-payment-note {display:none;}
  .design-787 .booking-total {grid-column:1;grid-row:1;padding:0;border:0;display:block;}
  .design-787 .booking-total>span {display:none;}
  .design-787 #quote-amount {font-size:22px;}
  .design-787 #quote-details {grid-column:1;grid-row:2;font-size:12px;}
  .design-787 #calculate-trip {grid-column:1;grid-row:3;justify-self:start;width:auto;border:0;text-align:left;padding:2px 0;min-height:28px;font-size:12px;}
  .design-787 #confirm-trip {grid-column:2;grid-row:1/span 3;align-self:center;min-height:48px;}
  .design-787 #trip-error,.design-787 #trip-coverage-support {grid-column:1/-1;margin:0;font-size:12px;max-height:100px;overflow:auto;}
  .design-787 .cabinet-header {padding:0 18px;}
  .design-787 .cabinet-header #page-title {font-size:16px;margin-right:auto;}
  .design-787 .design-profile span {display:none;}
  .design-787 .cabinet-logo>span:last-child {display:none;}
  .design-787 .cabinet-logo .design-brand-mark {display:grid;}
  .design-787 #bottom-nav {max-width:100%;left:0;transform:none;border-radius:0;min-height:66px;gap:0;}
  .design-787 #bottom-nav button {flex:1;min-width:0;padding:6px 2px;}
  .design-787 #bottom-nav .nav-label {font-size:12px;}
  .design-787 .guest-main {max-width:560px;display:block;margin:30px auto;width:calc(100% - 32px);}
  .design-787 .guest-benefits {display:none;}
  .design-787 .guest-hero {margin-bottom:24px;}
  .design-787 .guest-hero h1 {font-size:26px;}
  .design-787 .auth-card {max-width:none;margin:0 0 20px;}
  .design-787 .install-card {display:flex;}
  .design-787 .booking-form select,.design-787 .booking-form input:not([type=checkbox]):not([type=radio]),.design-787 .booking-form textarea {font-size:16px;}
  .design-787 .booking-review footer {bottom:-18px;}
}
@media(max-width:599px) {
  .design-787 .guest-header,.design-787 .cabinet-header {padding:0 14px;}
  .design-787 .guest-main {margin-top:22px;}
  .design-787 .guest-hero {margin-bottom:20px;}
  .design-787 .guest-hero>p:not(.eyebrow) {font-size:13px;}
  .design-787 .guest-hero h1 {font-size:24px;}
  .design-787 .auth-card {padding:20px;}
  .design-787 .auth-card form input {font-size:16px!important;}
  .design-787 .install-card {padding:16px;gap:14px;}
  .design-787 .install-card-mark {width:48px;height:48px;font-size:28px;}
  .design-787 .direction-tabs {gap:6px;}
  .design-787 .direction-tabs button {padding:10px 8px;font-size:12px;text-align:center;min-height:48px;}
  .design-787 .booking-addresses {grid-template-columns:minmax(0,1fr);gap:10px;}
  .design-787 .booking-details {grid-template-columns:minmax(0,1.3fr) minmax(122px,1fr);gap:10px;}
  .design-787 .booking-card {padding:14px;}
  .design-787 .passenger-counter {gap:5px;justify-content:space-between;}
  .design-787 .passenger-counter button {min-width:32px;min-height:44px;}
  .design-787 #passenger-count {width:38px;padding:0;font-size:18px;}
  .design-787 .booking-extras {grid-template-columns:minmax(0,1fr);}
  .design-787 .booking-ride-options label {padding:14px 12px;gap:8px;}
  .design-787 .ride-option-main strong {font-size:13px;}
  .design-787 .ride-option-main em {font-size:10px;}
  .design-787 .ride-option-price {font-size:17px;min-width:77px;}
  .design-787 .ride-option-main small {font-size:12px;}

  .design-787 .booking-review {padding:18px;}
  .design-787 .booking-review h2 {font-size:18px;}
  .design-787 #pickup-mode-field {grid-template-columns:1fr;}
}
/* Respect the existing viewport/keyboard logic; keep fields visible while typing. */
.design-787.keyboard-open .booking-summary {position:static;width:100%;transform:none;box-shadow:none;}
/* Suggestion list belongs above the sticky total; it must remain clickable. */
.design-787 .booking-card:has(.address-suggestion-menu:not([hidden])) {position:relative;z-index:140;}
.design-787 .booking-form .address-suggestion-menu {z-index:145;max-height:260px;overflow:auto;}
/* Remove legacy grid/width constraints, not just its colours. */
.design-787 .cabinet-header {display:flex;}
.design-787 .cabinet-header .cabinet-logo {background:transparent;padding:0;box-shadow:none;}
.design-787.role-passenger #order-wizard {max-width:none;width:100%;}
.design-787 #cabinet .cabinet-main {padding:0;}
.design-787 .cabinet-head-actions {margin-left:auto;flex:none;}
.design-787 .booking-form .entrance-field {padding:0;border:0;background:transparent;}
.design-787 .notification-onboarding {max-width:none;align-self:stretch;margin:14px 28px 0;padding:10px 14px;}
.design-787 .notification-onboarding #notification-enable {background:white;border:1px solid var(--design-border);color:var(--blue);}
.design-787 .notification-onboarding .notification-diagnostics {margin-top:4px;}
.design-787 #shared-candidates {background:#fff;border:1px solid var(--design-border);border-radius:12px;padding:14px;}
.design-787 #shared-candidates .shared-candidate {background:white;color:var(--design-ink);border:1px solid var(--design-border);font-size:13px;}
.design-787 #shared-candidates .shared-candidate.selected {background:var(--blue-soft);color:var(--blue);border-color:var(--blue);}
/* Карточка кандидата: окно подачи и районы слева, цена справа; не ломается на 390 px. */
.design-787 #shared-candidates .shared-candidate {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;width:100%;min-height:44px;padding:10px 12px;text-align:left;}
.design-787 #shared-candidates .shared-candidate strong {grid-column:1;white-space:nowrap;}
.design-787 #shared-candidates .shared-candidate small {grid-column:1;line-height:1.35;}
.design-787 #shared-candidates .shared-candidate b {grid-column:2;grid-row:1 / span 2;white-space:nowrap;text-align:right;}
.design-787 #shared-candidates:has(.shared-candidate:only-child) {display:none;}
@media(min-width:1100px){.design-787 .cabinet-header #bottom-nav {order:0;}.design-787 .cabinet-head-actions {order:1;}}
@media(max-width:1099px){.design-787 .notification-onboarding {width:calc(100% - 28px);max-width:560px;margin:12px auto 0;}}

.design-787 .booking-sheet-trigger {display:none;}
.design-787 #shared-candidates.no-shared-candidates {display:none;}
.design-787 .notification-onboarding {width:auto;}
.design-787 .notification-onboarding .notification-diagnostics {background:transparent;border:0;padding:0;}
@media(max-width:1099px){
  .design-787 .booking-summary .booking-summary-details {display:none;}
  .design-787 #bottom-nav .nav-label {font-size:0;}
  .design-787 #bottom-nav .nav-label::after {content:attr(data-short);font-size:12px;}
}
@media(max-width:599px){
  .design-787 .endpoint-card {padding:0;}
  .design-787 .endpoint-card>.field-eyebrow,.design-787 .endpoint-card>.address-with-entrance,.design-787 .endpoint-card>label,.design-787 .booking-pickup>#booking-time-editor {display:none;}
  .design-787 .booking-sheet-trigger {display:grid;gap:6px;background:#fff;color:var(--design-ink);border:0;text-align:left;width:100%;padding:14px;min-height:72px;}
  .design-787 .booking-sheet-trigger span {font-size:12px;font-weight:400;color:var(--design-muted);}
  .design-787 .booking-sheet-trigger strong {font-size:14px;line-height:1.45;font-weight:500;}
  .design-787 .booking-sheet-trigger small {font-size:12px;font-weight:400;color:var(--design-muted);}
  .design-787 .booking-sheet-trigger small:empty {display:none;}
  .design-787 .booking-pickup {padding:0;align-content:center;}
  .design-787 .booking-details {grid-template-columns:minmax(0,1fr) 174px;}
  .design-787 .passenger-counter button {min-width:44px;min-height:44px;}
  .design-787 .booking-sheet {position:fixed;inset:0;width:100%;height:calc(var(--app-vh, 1vh) * 100);height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--background);color:var(--design-ink);}
  .design-787 .booking-sheet::backdrop {background:#101a26b3;}
  .design-787 .booking-sheet header {background:var(--design-header);color:#fff;display:flex;align-items:center;gap:12px;min-height:60px;padding:0 14px;}
  .design-787 .booking-sheet h2 {font-size:16px;margin:0;}
  .design-787 .booking-sheet header button {width:44px;color:white;background:transparent;border:0;font-size:28px;}
  .design-787 #booking-sheet-content {padding:20px 14px 100px;}
  .design-787 #booking-sheet-content>.address-with-entrance {display:grid;gap:14px;}
  .design-787 .booking-sheet footer {position:fixed;bottom:0;left:0;right:0;background:#fff;padding:14px 14px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--design-border);}
  .design-787 .booking-sheet footer button {width:100%;min-height:48px;}
  .design-787 #booking-sheet-content .address-suggestion-menu {max-height:45vh;}
  .design-787 .booking-location {display:none;}
}

@media(max-width:599px){.design-787 .booking-sheet .booking-location {display:flex;gap:10px;}.design-787 .booking-sheet .booking-location button {min-height:44px;}}
@media(max-width:599px){
  .design-787 .booking-heading {display:none;}
  .design-787 .booking-sheet-trigger {justify-content:stretch;justify-items:start;align-content:center;gap:4px;padding:12px 14px;min-height:70px;}
  .design-787 .booking-details .booking-card>.form-hint {display:none;}
  .design-787 .booking-details .booking-card {min-height:96px;}
  .design-787 .booking-details .booking-pickup {min-height:96px;}
  .design-787 .booking-details .passenger-counter {margin-top:8px;}
  .design-787 .booking-ride-options label {min-height:78px;}
}
/* Desktop fare comparison follows the two-card composition in the supplied frame. */
@media(min-width:1100px){
  .design-787 .booking-ride-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .design-787 .booking-ride-options label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px 12px;align-items:start;min-height:126px;}
  .design-787 .booking-ride-options input{grid-column:1;grid-row:1;margin-top:4px;}
  .design-787 .ride-option-main{grid-column:2;grid-row:1;}
  .design-787 .ride-option-price{grid-column:2;grid-row:2;display:flex;gap:8px;align-items:baseline;text-align:left;}
}

/* The supplied compact endpoint/time cards open the real editor on every viewport. */
.design-787 .endpoint-card,.design-787 .booking-pickup {padding:0;overflow:hidden;}
.design-787 .endpoint-card>.field-eyebrow,.design-787 .endpoint-card>.address-with-entrance,.design-787 .endpoint-card>label,.design-787 .booking-pickup>#booking-time-editor {display:none;}
.design-787 .booking-sheet-trigger {display:grid;justify-content:stretch;justify-items:start;align-content:center;gap:5px;background:#fff;color:var(--design-ink);border:0;text-align:left;width:100%;padding:15px 17px;min-height:88px;border-radius:14px;}
.design-787 .booking-sheet-trigger span,.design-787 .booking-sheet-trigger small {font-size:12px;font-weight:400;color:var(--design-muted);}
.design-787 .booking-sheet-trigger strong {font-size:15px;line-height:1.45;font-weight:500;}
.design-787 .booking-sheet-trigger small:empty {display:none;}
.design-787 .booking-details .booking-card>.form-hint {display:none;}
.design-787 .booking-location {display:none;}
.design-787 .booking-sheet .booking-location {display:flex;margin-top:14px;}
.design-787 .booking-details .passenger-counter {margin-top:8px;}
.design-787 .booking-pickup {display:grid;align-items:stretch;}
@media(min-width:600px){
 .design-787 .booking-sheet {padding:0;border:1px solid var(--design-border);border-radius:18px;max-height:calc(calc(var(--app-vh, 1vh) * 100) - 48px);max-height:calc(100dvh - 48px);width:min(560px,calc(100% - 40px));background:#fff;box-shadow:0 20px 60px #101a2640;color:var(--design-ink);overflow:auto;}
 .design-787 .booking-sheet::backdrop{background:#101a2680;}
 .design-787 .booking-sheet header {display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--design-header);color:white;}
 .design-787 .booking-sheet header h2{font-size:18px;margin:0;}
 .design-787 .booking-sheet header button{min-width:44px;background:transparent;color:white;border:0;font-size:26px;}
 .design-787 #booking-sheet-content{padding:22px;min-height:260px;}
 .design-787 #booking-sheet-content>.address-with-entrance{display:grid;gap:18px;}
 .design-787 .booking-sheet footer{padding:16px 22px;border-top:1px solid var(--design-border);background:white;position:sticky;bottom:0;display:flex;justify-content:flex-end;}
 .design-787 .booking-sheet footer button{min-width:150px;min-height:46px;}
 .design-787 #booking-sheet-content .address-suggestion-menu{position:relative;max-height:260px;}
}
@media(min-width:1100px){
 .design-787 .booking-heading{grid-column:1;grid-row:1;}
 .design-787 .booking-form{grid-column:1;grid-row:2;}
 .design-787 .booking-sidebar{grid-column:2;grid-row:1/span 2;}
 .design-787 .booking-details{grid-template-columns:minmax(0,1fr) 220px;}
 .design-787 .booking-details .booking-card{padding:12px 17px;}
 .design-787 .booking-details .booking-pickup{padding:0;}
 .design-787 .booking-details .passenger-counter{justify-content:space-between;gap:6px;}
 .design-787 .booking-route-map{min-height:230px;}
 .design-787 .booking-ride-options label{min-height:112px;padding:14px 16px;}
 .design-787 #passenger-count{width:52px;border:0;}
}
@media(max-width:599px){.design-787 .booking-sheet-trigger{padding:12px 14px;min-height:70px;}.design-787 .booking-sheet-trigger strong{font-size:14px;}}
/* Keep the footer still when autocomplete results disappear during pointerdown. */
@media(min-width:600px){
 .design-787 .booking-sheet{height:min(620px,calc(calc(var(--app-vh, 1vh) * 100) - 48px));height:min(620px,calc(100dvh - 48px));}
 .design-787 .booking-sheet[open]{display:flex;flex-direction:column;}
 .design-787 .booking-sheet header,.design-787 .booking-sheet footer{flex:none;}
 .design-787 #booking-sheet-content{min-height:0;flex:1;overflow:auto;}
}
