:root {
    --black: #050505;
    --charcoal: #0e0d0b;
    --gold: #d4af37;
    --gold-light: #f2d37b;
    --cream: #f8f1df;
    --muted: #bdb4a0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Inter, system-ui, sans-serif;
    background: radial-gradient(circle at top, #17120a 0, #050505 42%);
    color: var(--cream);
    letter-spacing: .01em;
}

.luxury-nav {
    background: rgba(5, 5, 5, .82);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(212, 175, 55, .22);
}

.brand-logo {
    width: 154px;
    height: auto;
}

.navbar-toggler {
    border-color: rgba(212, 175, 55, .45);
    filter: invert(1);
}

.nav-link {
    color: rgba(248, 241, 223, .78) !important;
    font-size: .92rem;
}

.nav-link.active,
.nav-link:hover {
    color: var(--gold-light) !important;
}

.btn-gold {
    background: linear-gradient(135deg, var(--gold), var(--gold-light));
    border: 0;
    color: #111;
    font-weight: 700;
    border-radius: 999px;
    box-shadow: 0 14px 30px rgba(212, 175, 55, .18);
}

.btn-outline-gold {
    border: 1px solid rgba(212, 175, 55, .68);
    color: var(--gold-light);
    border-radius: 999px;
}

.btn-outline-gold:hover {
    background: var(--gold);
    color: #111;
}

.hero {
    min-height: 82vh;
    display: flex;
    align-items: center;
    padding: 118px 0 58px;
    background:
        linear-gradient(90deg, rgba(5, 5, 5, .92), rgba(5, 5, 5, .72)),
        url('../img/luxury-rove-logo.png') right 8% center / 420px auto no-repeat;
}

.eyebrow {
    font-family: Cinzel, serif;
    color: var(--gold-light);
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: .78rem;
}

.display-luxury,
.section-title {
    font-family: Cinzel, serif;
}

.display-luxury {
    font-weight: 700;
    line-height: 1.03;
}

.section-title {
    color: #fff;
}

.lead-luxury {
    color: #ded4bf;
    font-size: 1.12rem;
    line-height: 1.65;
    margin-bottom: 0;
}

.section-pad {
    padding: 64px 0;
}

/* Tighten the space between page subtitles and the first content block. */
.page-hero + .section-pad {
    padding-top: 44px;
}

.text-soft {
    color: var(--muted);
}

.card-luxury,
.glass-panel {
    border: 1px solid rgba(212, 175, 55, .22);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .24);
}

.card-luxury {
    height: 100%;
    padding: 30px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
}

.glass-panel {
    padding: 34px;
    border-radius: 34px;
    background: rgba(255, 255, 255, .045);
}

.icon-gold {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(212, 175, 55, .12);
    color: var(--gold-light);
    font-size: 1.35rem;
}

.icon-gold i {
    line-height: 1;
}

.icon-large {
    width: 72px;
    height: 72px;
    font-size: 2rem;
}


.divider-gold {
    width: 84px;
    height: 1px;
    margin: 18px 0;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.form-control,
.form-select,
textarea {
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(212, 175, 55, .28) !important;
    color: #fff !important;
    border-radius: 16px !important;
    padding: 13px 15px !important;
}

.form-control::placeholder,
textarea::placeholder {
    color: #8f8676;
}

.form-select option {
    color: #111;
}

.form-label {
    color: #eadcba;
}

.qr-box {
    background: #fff;
    border-radius: 22px;
    padding: 16px;
    text-align: center;
}

.qr-box img {
    max-width: 180px;
    width: 100%;
}

.footer-luxury {
    background: #030303;
    border-top: 1px solid rgba(212, 175, 55, .2);
}

.footer-logo {
    width: 170px;
}

.footer-luxury a {
    color: var(--gold-light);
    text-decoration: none;
}

.border-gold-soft {
    border-color: rgba(212, 175, 55, .2) !important;
}

.mini-stat {
    border-left: 1px solid rgba(212, 175, 55, .3);
    padding-left: 18px;
}

.page-hero {
    padding: 128px 0 34px;
    background: linear-gradient(180deg, #0d0b07, #050505);
}

@media (max-width: 991px) {
    .hero {
        min-height: auto;
        padding-top: 120px;
        background: linear-gradient(180deg, rgba(5, 5, 5, .96), rgba(5, 5, 5, .8));
    }

    .brand-logo {
        width: 136px;
    }

    .section-pad {
        padding: 52px 0;
    }

    .page-hero + .section-pad {
        padding-top: 34px;
    }

    .display-luxury {
        font-size: 2.35rem;
    }

    .glass-panel {
        padding: 24px;
    }

    .navbar-collapse {
        padding: 18px 0;
    }
}

@media print {
    .luxury-nav,
    .footer-luxury,
    .no-print {
        display: none !important;
    }

    body {
        background: #fff;
        color: #111;
    }

    .glass-panel,
    .card-luxury {
        border: 1px solid #ddd;
        color: #111;
        box-shadow: none;
    }

    .text-soft {
        color: #444;
    }

    .page-hero {
        padding: 20px 0;
        background: #fff;
    }
}

/* =========================================================
   One-page itinerary / PDF print layout
   ========================================================= */
.itinerary-page {
    max-width: 960px;
    margin: 0 auto;
}

.itinerary-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(212, 175, 55, .28);
}

.itinerary-logo {
    width: 170px;
    height: auto;
}

.itinerary-title-block {
    text-align: right;
}

.itinerary-title-block h1 {
    font-family: var(--font-heading);
    font-size: clamp(1.7rem, 3vw, 2.45rem);
    margin: 4px 0 8px;
}

.itinerary-title-block p {
    color: var(--text-soft);
    margin: 0;
}

.itinerary-band {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 22px 0;
    padding: 14px 18px;
    background: rgba(212, 175, 55, .08);
    border: 1px solid rgba(212, 175, 55, .2);
    border-radius: 16px;
    color: var(--gold-light);
    font-size: .92rem;
    letter-spacing: .03em;
}

.itinerary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

.itinerary-item,
.route-box,
.special-box,
.pricing-strip > div {
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
}

.itinerary-item {
    padding: 15px;
}

.itinerary-item small,
.route-box small,
.special-box small,
.pricing-strip small {
    display: block;
    color: var(--gold-light);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .7rem;
    margin-bottom: 6px;
}

.itinerary-item strong {
    font-weight: 500;
    color: #fff;
}

.route-box {
    padding: 18px;
    margin-bottom: 18px;
}

.route-box p,
.special-box p {
    margin: 0;
    color: var(--text-soft);
}

.route-arrow {
    color: var(--gold);
    margin: 10px 0;
}

.special-box {
    padding: 18px;
    margin-bottom: 18px;
}

.pricing-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin: 18px 0;
}

.pricing-strip > div {
    padding: 16px;
    min-height: 88px;
}

.pricing-strip strong {
    display: block;
    font-size: 1.25rem;
    color: #fff;
}

.pricing-strip .total-box {
    border-color: rgba(212, 175, 55, .45);
    background: rgba(212, 175, 55, .09);
}

.itinerary-footer-note {
    color: var(--text-soft);
    font-size: .85rem;
    padding-top: 16px;
    border-top: 1px solid rgba(212, 175, 55, .22);
}

@media (max-width: 767px) {
    .itinerary-header,
    .itinerary-band {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .itinerary-title-block {
        text-align: left;
    }

    .itinerary-grid,
    .pricing-strip {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: letter;
        margin: .35in;
    }

    html,
    body {
        width: 100%;
        background: #fff !important;
        color: #111 !important;
        font-size: 10.5pt;
    }

    .no-print-hero,
    .luxury-nav,
    .footer-luxury,
    .no-print {
        display: none !important;
    }

    .section-pad.print-pad {
        padding: 0 !important;
    }

    .container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .itinerary-page {
        max-width: none;
        padding: 18px !important;
        border: 1px solid #d9d0b5 !important;
        box-shadow: none !important;
        background: #fff !important;
        color: #111 !important;
        page-break-inside: avoid;
    }

    .itinerary-header {
        padding-bottom: 12px;
        gap: 14px;
        border-bottom-color: #d9d0b5;
    }

    .itinerary-logo {
        width: 130px;
    }

    .itinerary-title-block h1 {
        font-size: 20pt;
        color: #111 !important;
        margin: 2px 0 4px;
    }

    .itinerary-title-block p,
    .itinerary-footer-note,
    .route-box p,
    .special-box p {
        color: #333 !important;
    }

    .eyebrow,
    .itinerary-item small,
    .route-box small,
    .special-box small,
    .pricing-strip small {
        color: #8a6c12 !important;
    }

    .itinerary-band {
        margin: 12px 0;
        padding: 9px 12px;
        color: #8a6c12 !important;
        background: #faf6e8 !important;
        border-color: #e2d6a9 !important;
    }

    .itinerary-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
        margin-bottom: 10px;
    }

    .itinerary-item,
    .route-box,
    .special-box,
    .pricing-strip > div {
        border-color: #ddd !important;
        background: #fff !important;
        border-radius: 8px;
    }

    .itinerary-item {
        padding: 9px;
    }

    .itinerary-item strong,
    .pricing-strip strong {
        color: #111 !important;
    }

    .route-box,
    .special-box {
        padding: 10px;
        margin-bottom: 10px;
    }

    .route-arrow {
        margin: 5px 0;
        color: #8a6c12 !important;
    }

    .pricing-grid {
        gap: 8px;
        margin: 10px 0;
    }

    .pricing-strip {
        gap: 8px;
        margin: 0;
    }

    .pricing-strip-four {
        grid-template-columns: repeat(4, 1fr);
    }

    .pricing-strip > div {
        padding: 10px;
        min-height: 60px;
    }

    .pricing-strip .total-box {
        background: #faf6e8 !important;
        border-color: #d9c77b !important;
    }

    .itinerary-footer-note {
        padding-top: 10px;
        border-top-color: #d9d0b5;
    }
}

/* v12 Reservation Platform */
.compact-hero { padding-bottom: 1.5rem !important; }
.metric-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(212,175,55,.22);
    border-radius: 18px;
    padding: 22px;
}
.metric-card span { display:block; color: var(--muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.metric-card strong { display:block; color: #fff; font-size: 1.8rem; margin-top: 4px; }
.admin-table { --bs-table-bg: transparent; }
.quote-grid-web { display: grid; gap: 12px; }
.quote-grid-row { display: grid; gap: 12px; }
.quote-grid-row.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.quote-grid-row.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.quote-grid-row.columns-1 { grid-template-columns: 1fr; }
.quote-grid-box {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    padding: 16px;
    min-height: 82px;
}
.quote-grid-box span {
    display:block;
    font-size:.72rem;
    text-transform: uppercase;
    letter-spacing:.08em;
    color: var(--muted);
    margin-bottom: 8px;
}
.quote-grid-box strong { color:#fff; font-size: 1rem; line-height: 1.35; }
.quote-grid-box.total-box { border-color: var(--gold); background: rgba(212,175,55,.09); }
.quote-grid-box.total-box strong { color: var(--gold); font-size: 1.25rem; }
@media (max-width: 767px) {
    .quote-grid-row.columns-4, .quote-grid-row.columns-3, .quote-grid-row.columns-2, .quote-grid-row.columns-1 { grid-template-columns: 1fr; }
}

.portal-back-bar {
  padding-top: 104px;
  margin-bottom: -36px;
  position: relative;
  z-index: 5;
}
.portal-back-bar .btn { box-shadow: 0 8px 22px rgba(0,0,0,.25); }
@media (max-width: 991px) {
  .portal-back-bar { padding-top: 96px; margin-bottom: -24px; }
}


/* =========================================================
   v27.1 UI polish: spacing, dashboards, footer, chauffeur app feel
   ========================================================= */
body { padding-top: 0; }
main { min-height: 62vh; }
.luxury-nav { min-height: 78px; }
.navbar .btn { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; }

.page-hero { padding-top: 118px; padding-bottom: 42px; }
.compact-hero { padding-top: 104px !important; padding-bottom: 34px !important; }
.auth-section { padding-top: 128px !important; padding-bottom: 72px !important; min-height: calc(100vh - 220px); display: flex; align-items: center; }
.auth-panel, .form-panel { max-width: 620px; margin-left: auto; margin-right: auto; }

.portal-back-bar {
  padding-top: 92px;
  padding-bottom: 14px;
  margin-bottom: 0;
  position: relative;
  z-index: 10;
}
.portal-back-bar + .page-hero { padding-top: 36px !important; }
.portal-back-bar .btn {
  min-height: 42px;
  min-width: 118px;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: 0 10px 26px rgba(0,0,0,.28);
}
.portal-back-bar .btn::first-letter { text-transform: uppercase; }

.card-luxury, .glass-panel, .metric-card { margin-bottom: 18px; }
.glass-panel { padding: clamp(22px, 3vw, 34px); }
.card-luxury { padding: clamp(22px, 3vw, 30px); }
.btn { min-height: 42px; padding-left: 18px; padding-right: 18px; }
.btn-sm { min-height: 36px; padding-left: 14px; padding-right: 14px; }
.form-control, .form-select, textarea { min-height: 48px; }
form.row, .row.g-3, .row.g-4 { --bs-gutter-y: 1rem; }
.table .btn { white-space: nowrap; }

.footer-luxury { background: radial-gradient(circle at top, rgba(212,175,55,.08), transparent 34%), #030303; }
.footer-luxury h6 { color: #fff; font-family: Cinzel, serif; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; margin-bottom: 14px; }
.footer-mobile-links { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.footer-mobile-links a {
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 999px;
  padding: 9px 14px;
  background: rgba(255,255,255,.035);
  min-width: 132px;
  text-align: center;
}
.footer-tagline { max-width: 540px; }

.chauffeur-shell { max-width: 980px; margin: 0 auto; }
.chauffeur-top-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-bottom:18px; }
.chauffeur-trip-list { display:grid; gap:16px; }
.chauffeur-trip-card {
  border: 1px solid rgba(212,175,55,.24);
  border-radius: 28px;
  padding: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.028));
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}
.chauffeur-trip-card .trip-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:14px; }
.chauffeur-trip-card .trip-name { font-size:1.2rem; color:#fff; font-weight:750; margin:0; }
.chauffeur-trip-card .trip-number { color:var(--muted); font-size:.85rem; }
.chauffeur-route { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:stretch; margin:16px 0; }
.chauffeur-route > div { border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:14px; background:rgba(255,255,255,.04); }
.chauffeur-route small, .chauffeur-meta small { display:block; color:var(--gold-light); text-transform:uppercase; font-size:.68rem; letter-spacing:.08em; margin-bottom:6px; }
.chauffeur-route strong, .chauffeur-meta strong { color:#fff; }
.chauffeur-route .route-arrow { display:grid; place-items:center; color:var(--gold); font-size:1.4rem; }
.chauffeur-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.chauffeur-actions .btn { flex: 1 1 150px; }
.chauffeur-action-panel {
  position: static;
  top: auto;
  z-index: auto;
  border-color: rgba(212,175,55,.38);
  background: linear-gradient(180deg, rgba(18,16,10,.96), rgba(8,8,8,.92));
}
.chauffeur-action-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:12px; }
.chauffeur-action-grid .btn { width:100%; min-height:56px; font-size:1rem; }
.status-pill-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.status-pill-row span { border:1px solid rgba(212,175,55,.2); border-radius:999px; padding:7px 10px; color:var(--muted); font-size:.8rem; }
.status-pill-row span.active { color:#111; background:linear-gradient(135deg, var(--gold), var(--gold-light)); font-weight:700; }

@media (max-width: 991px) {
  .luxury-nav { min-height: 72px; }
  .page-hero { padding-top: 104px; padding-bottom: 32px; }
  .compact-hero { padding-top: 92px !important; }
  .auth-section { padding-top: 106px !important; align-items: flex-start; }
  .portal-back-bar { padding-top: 84px; padding-bottom: 12px; }
  .portal-back-bar + .page-hero { padding-top: 26px !important; }
  .portal-back-bar .btn { min-width: calc(50% - 6px); }
  .section-pad { padding: 44px 0; }
  .page-hero + .section-pad, .section-pad.pt-4 { padding-top: 28px !important; }
  .footer-luxury { text-align:center; padding-top: 48px !important; }
  .footer-logo { width: 150px; }
  .footer-tagline { margin-left:auto; margin-right:auto; }
  .footer-mobile-links { justify-content:center; margin-top:12px; }
  .footer-mobile-links a { min-width: 46%; padding: 11px 12px; }
  .footer-luxury .border-top { justify-content:center !important; text-align:center; }
  .chauffeur-top-actions { justify-content:stretch; }
  .chauffeur-top-actions .btn { flex:1 1 48%; }
  .chauffeur-action-panel { position: relative; top: auto; }
}

@media (max-width: 767px) {
  .container { padding-left: 18px; padding-right: 18px; }
  .brand-logo { width: 128px; }
  .display-luxury, .section-title.display-5 { font-size: 2rem; }
  .glass-panel { border-radius: 24px; padding: 20px; }
  .card-luxury { border-radius: 24px; }
  .btn, .btn-sm { width: 100%; min-height: 46px; }
  .d-flex.flex-wrap.gap-2 .btn { width: auto; flex: 1 1 auto; }
  .portal-back-bar { padding-top: 78px; }
  .portal-back-bar .btn { width: auto; flex: 1 1 calc(50% - 6px); }
  .chauffeur-trip-card { border-radius: 24px; padding: 18px; }
  .chauffeur-trip-card .trip-head { flex-direction:column; }
  .chauffeur-route { grid-template-columns:1fr; }
  .chauffeur-route .route-arrow { transform: rotate(90deg); padding: 0; }
  .chauffeur-actions .btn { flex-basis: 100%; }
  .chauffeur-action-grid { grid-template-columns: 1fr; }
  .status-pill-row span { flex: 1 1 45%; text-align:center; }
  .footer-mobile-links a { min-width:100%; }
}


/* v30 client profile / CRM tags */
.tag-check {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .75rem .9rem;
    border: 1px solid rgba(212,175,55,.25);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
    color: rgba(255,255,255,.88);
    min-height: 48px;
}
.tag-check input { accent-color: #D4AF37; }
.crm-tag {
    display:inline-flex;
    align-items:center;
    padding:.28rem .55rem;
    border-radius:999px;
    border:1px solid rgba(212,175,55,.35);
    color:#D4AF37;
    background:rgba(212,175,55,.08);
    font-size:.76rem;
    margin:.08rem .1rem .08rem 0;
    white-space:nowrap;
}

/* =========================================================
   v31 UI polish: consistent buttons, mobile spacing and cards
   ========================================================= */
.btn,
button.btn,
a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: .4rem;
    line-height: 1.2;
    white-space: normal;
    min-height: 44px;
}

.btn-sm {
    min-height: 36px;
    padding-top: .45rem;
    padding-bottom: .45rem;
}

.btn-gold,
.btn-outline-gold,
.btn-outline-light {
    min-width: 0;
}

.card-luxury,
.glass-panel {
    overflow-wrap: anywhere;
}

.card-luxury h1,
.card-luxury h2,
.card-luxury h3,
.card-luxury h4,
.glass-panel h1,
.glass-panel h2,
.glass-panel h3,
.glass-panel h4 {
    overflow-wrap: normal;
    word-break: normal;
}

.form-control,
.form-select,
textarea {
    width: 100%;
    min-height: 48px;
}

textarea.form-control,
textarea {
    min-height: 112px;
}

.services-airport-links,
.card-luxury .d-flex.flex-wrap.gap-2 {
    align-items: center;
}

.portal-back-bar {
    padding-top: 104px;
    margin-bottom: -70px;
    position: relative;
    z-index: 4;
}

@media (max-width: 991px) {
    .page-hero {
        padding-top: 112px;
        padding-bottom: 30px;
    }

    .section-pad {
        padding: 44px 0;
    }

    .card-luxury {
        padding: 24px;
        border-radius: 24px;
    }

    .glass-panel {
        padding: 22px;
        border-radius: 26px;
    }

    .navbar-nav .btn {
        width: auto;
        align-self: flex-start;
    }

    .portal-back-bar {
        padding-top: 94px;
        margin-bottom: -56px;
    }
}

@media (max-width: 575px) {
    .hero {
        padding-top: 112px;
        padding-bottom: 46px;
    }

    .display-luxury {
        font-size: 2rem;
    }

    .lead-luxury {
        font-size: 1rem;
        line-height: 1.55;
    }

    .card-luxury,
    .glass-panel {
        padding: 20px;
        border-radius: 22px;
    }

    .btn {
        min-height: 44px;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .d-flex.flex-wrap.gap-2 > .btn,
    .d-flex.flex-wrap.gap-3 > .btn {
        flex: 0 1 auto;
    }

    #quoteWizardForm .d-flex.justify-content-between {
        align-items: stretch;
    }

    #quoteWizardForm .d-flex.justify-content-between .btn {
        flex: 1 1 0;
    }

    .footer-mobile-links {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        width: 100%;
        text-align: center;
    }

    .footer-mobile-links a {
        border: 1px solid rgba(212, 175, 55, .28);
        border-radius: 999px;
        padding: 11px 14px;
        background: rgba(212, 175, 55, .06);
    }
}

/* v31.1 request wizard spacing + button polish */
.btn, .btn-gold, .btn-outline-gold, .btn-outline-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: .35rem;
    white-space: normal;
    line-height: 1.2;
}

#quoteWizardForm {
    scroll-margin-top: 170px;
}

.quote-wizard-actions {
    position: relative;
    z-index: 2;
    flex-wrap: wrap;
    padding-top: 8px;
}

.quote-wizard-actions .btn {
    min-width: 150px;
}

@media (max-width: 991px) {
    #quoteWizardForm {
        scroll-margin-top: 150px;
    }

    .quote-wizard-actions {
        margin-top: 1.5rem !important;
        padding-bottom: 8px;
    }
}

@media (max-width: 575px) {
    .quote-wizard-actions {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 10px !important;
        align-items: stretch !important;
    }

    .quote-wizard-actions .btn {
        width: 100%;
        min-width: 0;
        flex: none !important;
    }
}


/* =========================================================
   v32: Authenticated page spacing and CRM controls
   ========================================================= */
.portal-back-bar {
  padding-top: 124px !important;
  padding-bottom: 16px !important;
  margin-bottom: 0 !important;
  z-index: 20 !important;
}
.portal-back-bar + .page-hero {
  padding-top: 28px !important;
}
.vip-check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(212,175,55,.26);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  color: var(--cream);
}
.vip-check input { width: 18px; height: 18px; accent-color: var(--gold); }
@media (max-width: 991px) {
  .portal-back-bar {
    padding-top: 112px !important;
  }
}
@media (max-width: 767px) {
  .portal-back-bar {
    padding-top: 104px !important;
    padding-bottom: 14px !important;
  }
  .portal-back-bar .btn {
    flex: 1 1 calc(50% - 6px);
  }
}


/* =========================================================
   v34: workflow, route, calendar and portal refinements
   ========================================================= */
html { color-scheme: dark; }
input[type="date"].form-control, input[type="date"].light-calendar { color-scheme: light; background:#fff !important; color:#111 !important; }
input[type="date"]::-webkit-calendar-picker-indicator { filter:none; opacity:1; cursor:pointer; }
.passenger-different { padding:18px; border:2px solid var(--gold); border-radius:22px; background:rgba(212,175,55,.10); }
.status-timeline-panel { width:100%; }
.status-stage-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:10px; width:100%; }
.status-stage-card { min-height:92px; padding:16px; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.035); display:flex; flex-direction:column; justify-content:center; gap:7px; }
.status-stage-card.is-done { border-color:rgba(212,175,55,.45); background:rgba(212,175,55,.08); }
.status-stage-card.is-active { border:2px solid var(--gold); background:linear-gradient(135deg,rgba(212,175,55,.28),rgba(212,175,55,.10)); box-shadow:0 0 0 3px rgba(212,175,55,.08); }
.status-stage-icon { color:var(--gold); font-size:1.05rem; }
.route-col { width:260px; min-width:220px; }
.route-cell { width:260px; min-width:220px; max-width:300px; white-space:normal !important; overflow-wrap:anywhere; line-height:1.25; }
.route-point { display:block; }
.route-down { display:block; color:var(--gold); font-size:1.15rem; line-height:1; margin:5px 0; }
.chauffeur-route { grid-template-columns:1fr !important; }
.chauffeur-route .route-arrow { transform:none !important; text-align:left; padding-left:8px; }
.admin-table { min-width:1050px; }
.portal-back-bar { position:relative; clear:both; }
@media (max-width:767px){ .status-stage-grid{grid-template-columns:1fr 1fr;} .route-col,.route-cell{min-width:190px;width:210px;} }
@media (max-width:480px){ .status-stage-grid{grid-template-columns:1fr;} }


/* =========================================================
   v34.1: permanent authenticated toolbar clearance
   The fixed primary navigation is removed from portal page flow.
   Reserve its full height on <main>, then render Back/Dashboard
   as a normal toolbar below it on every authenticated role page.
   ========================================================= */
body.portal-authenticated main {
  padding-top: 116px !important;
}
body.portal-authenticated .portal-back-bar {
  padding-top: 0 !important;
  padding-bottom: 16px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: relative !important;
  clear: both !important;
  z-index: 30 !important;
}
body.portal-authenticated .portal-back-bar + .page-hero {
  padding-top: 28px !important;
}
@media (max-width: 991px) {
  body.portal-authenticated main {
    padding-top: 102px !important;
  }
  body.portal-authenticated .portal-back-bar {
    padding-top: 0 !important;
  }
}
@media (max-width: 767px) {
  body.portal-authenticated main {
    padding-top: 94px !important;
  }
  body.portal-authenticated .portal-back-bar {
    padding-top: 0 !important;
    padding-bottom: 14px !important;
  }
}

/* =========================================================
   v35: Blacklane-inspired operations tables
   ========================================================= */
.luxury-table-wrap {
  border: 1px solid rgba(212,175,55,.22);
  border-radius: 18px;
  overflow-x: auto;
  background: #111311;
}
.operations-table {
  --bs-table-bg: transparent;
  --bs-table-color: #f7f2e7;
  table-layout: fixed;
  width: 100%;
  min-width: 1180px;
  margin: 0;
  font-size: .93rem;
}
.operations-table thead th {
  padding: 15px 14px;
  background: #202426;
  color: #f7f2e7;
  border-bottom: 1px solid rgba(255,255,255,.16);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
  vertical-align: bottom;
  white-space: normal;
}
.operations-table tbody td {
  padding: 17px 14px;
  border-bottom: 1px solid rgba(255,255,255,.09);
  vertical-align: middle;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.operations-table tbody tr:last-child td { border-bottom: 0; }
.operations-table tbody tr { transition: background-color .18s ease; }
.operations-table tbody tr:hover { background: rgba(255,255,255,.025); }
.operations-table .badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 30px;
  padding: 7px 10px;
  border-radius: 999px;
  line-height: 1.15;
  white-space: normal;
  text-align: left;
}
.operations-table .route-cell {
  min-width: 0;
  width: auto;
  max-width: none;
  padding-right: 20px;
}
.operations-table .route-point {
  font-weight: 600;
  font-size: .88rem;
  line-height: 1.35;
}
.operations-table .route-down {
  margin: 7px 0;
  font-size: 1.2rem;
}
.operations-table .chauffeur-cell { text-align: center; }
.assignment-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  max-width: 100%;
  padding: 7px 11px;
  border: 1px solid rgba(212,175,55,.34);
  border-radius: 999px;
  background: rgba(212,175,55,.08);
  color: #f2d675;
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.15;
  text-align: center;
}
.operations-table .money-cell {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: #fff;
}
.operations-table .actions-cell { text-align: right; }
.table-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
}
.table-actions .btn { width: 100%; white-space: nowrap; }
.client-operations-table .col-passenger { width: 9%; }
.client-operations-table .col-datetime { width: 12%; }
.client-operations-table .col-quote-stage { width: 18%; }
.client-operations-table .col-res-stage { width: 13%; }
.client-operations-table .col-route { width: 22%; }
.client-operations-table .col-chauffeur { width: 10%; }
.client-operations-table .col-total { width: 8%; }
.client-operations-table .col-actions { width: 8%; }
.admin-operations-table .col-number { width: 10%; }
.admin-operations-table .col-quote-stage { width: 17%; }
.admin-operations-table .col-res-stage { width: 14%; }
.admin-operations-table .col-passenger { width: 11%; }
.admin-operations-table .col-datetime { width: 12%; }
.admin-operations-table .col-route { width: 22%; }
.admin-operations-table .col-total { width: 8%; }
.admin-operations-table .col-actions { width: 6%; }
.gratuity-control .input-group-text {
  background: #191c1d;
  color: var(--gold);
  border-color: rgba(212,175,55,.28);
}
.gratuity-control .js-gratuity-amount[readonly] {
  background: rgba(255,255,255,.055);
  color: #f7f2e7;
}
@media (max-width: 767px) {
  .operations-table { min-width: 1060px; }
}


/* v36 live operations */
.live-bell{position:relative;min-width:38px}
.live-badge{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#c9a85d;color:#080808;font-size:.68rem;font-weight:800;border:2px solid #111}
.live-update-notice{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1090;display:flex;align-items:center;gap:.85rem;max-width:min(420px,calc(100vw - 2rem));padding:.8rem 1rem;border:1px solid rgba(201,168,93,.5);border-radius:10px;background:rgba(12,12,12,.96);box-shadow:0 18px 50px rgba(0,0,0,.38);color:#f5f2ea}
.live-update-notice[hidden],.live-badge[hidden]{display:none!important}
[data-live-region]{transition:opacity .18s ease}
@media(max-width:767px){.live-update-notice{left:1rem;right:1rem;bottom:1rem;justify-content:space-between}}


/* v36.2 pickup date/time presentation */
.pickup-datetime {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  white-space: nowrap;
  line-height: 1.2;
}
.pickup-datetime .pickup-date {
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.pickup-datetime .pickup-time {
  color: var(--gold);
  font-size: .86rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* v37 — Guest journey insights */
.client-insights { position: relative; }
.client-journey-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border: 1px solid rgba(201, 169, 98, .34);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(23,23,23,.98), rgba(10,10,10,.98));
  box-shadow: 0 20px 55px rgba(0,0,0,.24);
}
.client-journey-date { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.5rem, 3vw, 2.15rem); font-weight: 500; }
.client-journey-time { color: #d8bd7c; font-size: 1.05rem; letter-spacing: .08em; }
.client-journey-route { display: grid; gap: .3rem; max-width: 660px; color: rgba(255,255,255,.86); line-height: 1.4; }
.client-journey-route .route-down { color: #c9a962; padding-left: .25rem; }
.client-journey-status { min-width: 170px; text-align: right; display: grid; justify-items: end; gap: .65rem; }
.client-journey-status small { color: rgba(255,255,255,.58); }
.client-fact-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .85rem; }
.client-fact-card {
  min-height: 154px;
  padding: 1.1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}
.client-fact-card strong { color: #fff; font-size: 1.9rem; line-height: 1.05; }
.client-fact-card strong.client-fact-text { font-family: Georgia, 'Times New Roman', serif; font-size: 1.15rem; font-weight: 500; line-height: 1.2; }
.client-fact-label { color: #c9a962; text-transform: uppercase; letter-spacing: .11em; font-size: .69rem; font-weight: 700; }
.client-fact-card small { color: rgba(255,255,255,.5); line-height: 1.35; }
@media (max-width: 1199px) { .client-fact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .client-journey-card { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  .client-journey-status { min-width: 0; text-align: left; justify-items: start; }
  .client-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 440px) { .client-fact-grid { grid-template-columns: 1fr; } }
/* v38 relationship, partner and accounting foundation */
.accounting-mini-form{display:grid;gap:.4rem;min-width:230px}.accounting-mini-form .form-control,.accounting-mini-form .form-select{background:#111;border-color:#444;color:#fff}.payment-guidance{border-left:3px solid var(--gold,#c9a45c)}.private-experience-card{max-width:980px}.private-experience-card .form-check-label{line-height:1.35}.partner-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}@media(max-width:767px){.partner-summary{grid-template-columns:1fr 1fr}.accounting-mini-form{min-width:190px}}

/* v39 public navigation and footer refinement */
.footer-link-list { display:flex; flex-direction:column; gap:.55rem; }
.footer-link-list a { color:rgba(255,255,255,.72); text-decoration:none; }
.footer-link-list a:hover { color:#d4af37; }
.signin-choice { border:1px solid rgba(212,175,55,.22); border-radius:18px; padding:1.25rem; height:100%; background:rgba(255,255,255,.025); }
.signin-choice h2 { font-family:Cinzel,serif; font-size:1.05rem; }
.business-audience-card { border:1px solid rgba(212,175,55,.2); border-radius:18px; padding:1.25rem; height:100%; background:rgba(255,255,255,.025); }
@media (max-width: 991.98px){ .luxury-nav .navbar-nav { padding-bottom:1rem; } }

/* v39.1 business-solutions icon treatment */
.business-audience-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.4rem;
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}
.business-audience-card:hover {
  transform: translateY(-3px);
  border-color: rgba(212,175,55,.48);
  background: rgba(255,255,255,.04);
}
.business-audience-icon,
.partner-program-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(212,175,55,.38);
  border-radius: 50%;
  background: rgba(212,175,55,.08);
  color: var(--gold, #d4af37);
  font-size: 1.08rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.partner-program-panel { padding: 1.45rem; }
.partner-program-icon {
  width: 54px;
  height: 54px;
  font-size: 1.2rem;
}
@media (max-width: 575.98px) {
  .business-audience-card { gap: .85rem; padding: 1.15rem; }
  .business-audience-icon { width: 44px; height: 44px; }
  .partner-program-panel > .d-flex:first-child { align-items: flex-start !important; }
}

/* v39b footer hierarchy and visual consistency */
.footer-luxury {
  border-top: 1px solid rgba(212,175,55,.24);
}
.footer-section-heading {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1rem !important;
  color: var(--gold, #d4af37) !important;
  font-size: .86rem !important;
  font-weight: 700;
  letter-spacing: .11em !important;
  text-transform: uppercase;
}
.footer-section-heading i {
  color: var(--gold, #d4af37);
  font-size: .98rem;
  line-height: 1;
}
.footer-link-list a {
  position: relative;
  width: fit-content;
  transition: color .22s ease, transform .22s ease;
}
.footer-link-list a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -.18rem;
  width: 0;
  height: 1px;
  background: var(--gold, #d4af37);
  transition: width .22s ease;
}
.footer-link-list a:hover,
.footer-link-list a:focus-visible {
  color: var(--gold, #d4af37);
  transform: translateX(2px);
}
.footer-link-list a:hover::after,
.footer-link-list a:focus-visible::after {
  width: 100%;
}
.footer-positioning-line {
  color: rgba(255,255,255,.72);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.footer-positioning-line span {
  color: var(--gold, #d4af37);
  margin: 0 .35rem;
}
/* restrained global polish; no workflow or structural changes */
.card,
.modal-content,
.signin-choice,
.business-audience-card,
.client-fact-card,
.client-journey-card {
  border-radius: 12px;
}
.btn { border-radius: 10px; }
.badge { border-radius: 999px; }
@media (max-width: 991.98px) {
  .footer-section-heading { justify-content: center; }
  .footer-link-list { align-items: center; }
}
@media (max-width: 575.98px) {
  .footer-positioning-line { line-height: 1.8; }
}


/* v39c unified portal sign-in icons */
.portal-choice-grid .signin-choice {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.signin-choice-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.signin-choice-link:hover,
.signin-choice-link:focus-visible {
  color: inherit;
  transform: translateY(-4px);
  border-color: rgba(212,175,55,.72);
  background: rgba(212,175,55,.055);
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
  outline: none;
}
.signin-role-icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  border: 1px solid rgba(212,175,55,.38);
  border-radius: 50%;
  color: var(--gold, #d4af37);
  background: rgba(212,175,55,.055);
  transition: transform .22s ease, background .22s ease, border-color .22s ease;
}
.signin-role-icon i {
  font-size: 1.65rem;
  line-height: 1;
}
.signin-choice-link:hover .signin-role-icon,
.signin-choice-link:focus-visible .signin-role-icon {
  transform: scale(1.06);
  border-color: rgba(212,175,55,.8);
  background: rgba(212,175,55,.11);
}
.signin-choice-link .text-soft { flex-grow: 1; }
.signin-secondary-link {
  display: inline-block;
  margin-top: .65rem;
  color: rgba(255,255,255,.72);
  font-size: .82rem;
  text-decoration: underline;
  text-underline-offset: .2rem;
}
.signin-secondary-link:hover { color: var(--gold, #d4af37); }
.text-gold { color: var(--gold, #d4af37) !important; }

/* v40 fleet showcase */
.fleet-feature-panel {
    overflow: hidden;
}

.fleet-showcase-wrap {
    margin: -1.5rem -1.5rem 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(212, 175, 55, 0.28);
    background: #050505;
}

.fleet-showcase-image {
    display: block;
    width: 100%;
    height: auto;
}

.fleet-feature-list {
    padding-left: 1.15rem;
}

.fleet-feature-list li + li {
    margin-top: 0.7rem;
}

@media (min-width: 768px) {
    .fleet-showcase-wrap {
        margin: -2rem -2rem 0;
    }
}

/* v40a partner commission controls */
.partner-commission-preview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 12px;
  background: rgba(212,175,55,.055);
}
.partner-commission-preview strong {
  color: var(--gold, #d4af37);
  letter-spacing: .04em;
}
.partner-commission-preview span { color: var(--text-soft, #c8c2b7); }

/* v41 installable web app banner */
.contact-app-banner {
  padding-top: calc(5.5rem + env(safe-area-inset-top));
  background: linear-gradient(180deg, rgba(212,175,55,.10), rgba(5,5,5,0));
}
.contact-app-banner-inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 14px;
  background: rgba(12,12,12,.94);
  box-shadow: 0 16px 42px rgba(0,0,0,.28);
}
.contact-app-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--gold, #d4af37);
  border: 1px solid rgba(212,175,55,.42);
  background: rgba(212,175,55,.07);
  font-size: 1.35rem;
}
@media (max-width: 767.98px) {
  .contact-app-banner-inner { align-items: flex-start; flex-wrap: wrap; }
  .contact-app-banner-inner .btn { width: 100%; }
}

/* v41b homepage signature hero */
.home-visual-hero {
    padding-top: 92px;
    background: #030303;
    border-bottom: 1px solid rgba(212, 175, 55, .22);
}
.home-visual-hero picture,
.home-visual-hero-image {
    display: block;
    width: 100%;
}
.home-visual-hero-image {
    height: auto;
    object-fit: contain;
    background: #030303;
}
.home-visual-actions {
    padding: 22px 0 26px;
    background: linear-gradient(180deg, #030303, #090806);
    border-top: 1px solid rgba(212, 175, 55, .18);
}
@media (max-width: 991.98px) {
    .home-visual-hero { padding-top: 82px; }
}
@media (max-width: 575.98px) {
    .home-visual-hero { padding-top: 76px; }
    .home-visual-actions .btn { width: min(100%, 320px); }
}


/* v41c business solutions artwork and clickable QR cards */
.business-solutions-visual { background:#050505; padding-top: var(--nav-clearance, 92px); border-bottom:1px solid rgba(212,175,55,.28); }
.business-solutions-hero-image { display:block; width:100%; height:auto; max-height:none; object-fit:contain; background:#050505; }
.qr-link { display:block; text-align:center; text-decoration:none; border-radius:14px; padding:.35rem; color:inherit; transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.qr-link:hover, .qr-link:focus-visible { color:inherit; transform:translateY(-2px); background:rgba(212,175,55,.06); box-shadow:0 0 0 1px rgba(212,175,55,.3); outline:none; }
.qr-action-text { color:var(--gold,#d4af37); letter-spacing:.03em; }
@media (max-width: 767.98px) { .business-solutions-visual { padding-top:76px; } .business-solutions-hero-image { min-height:320px; object-fit:cover; object-position:center top; } }

/* v41d homepage promise and responsive visual artwork */
.home-promise-section {
    padding: clamp(3.5rem, 7vw, 6.5rem) 0;
    background:
        radial-gradient(circle at 84% 18%, rgba(212,175,55,.08), transparent 34%),
        linear-gradient(180deg, #070706 0%, #0b0907 100%);
    border-bottom: 1px solid rgba(212,175,55,.18);
}
.home-promise-title {
    max-width: 900px;
    margin: 0;
    color: #f5efe4;
    font-family: var(--font-display, Georgia, serif);
    font-size: clamp(2.6rem, 6vw, 5.75rem);
    line-height: .96;
    letter-spacing: -.025em;
    text-transform: uppercase;
}
.home-promise-copy {
    max-width: 850px;
    color: rgba(255,255,255,.82);
    font-size: clamp(1rem, 1.7vw, 1.23rem);
    line-height: 1.75;
}
.home-promise-panel {
    padding: clamp(1.35rem, 3vw, 2rem);
    border: 1px solid rgba(212,175,55,.28);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(212,175,55,.025));
    box-shadow: 0 25px 70px rgba(0,0,0,.24);
}
.home-promise-point {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    gap: 1rem;
    align-items: start;
    margin-bottom: 1.65rem;
    padding-bottom: 1.65rem;
    border-bottom: 1px solid rgba(212,175,55,.15);
}
.home-promise-point:last-child { border-bottom: 0; padding-bottom: 0; }
.home-promise-icon {
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(212,175,55,.48);
    border-radius: 50%;
    color: var(--gold, #d4af37);
    font-size: 1.15rem;
    background: rgba(212,175,55,.06);
}

/* Never crop approved hero artwork on smaller screens. */
.home-visual-hero picture,
.business-solutions-visual picture,
.fleet-showcase-wrap {
    display: block;
    width: 100%;
    overflow: hidden;
}
.home-visual-hero-image,
.business-solutions-hero-image,
.fleet-showcase-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}
.fleet-showcase-wrap { background: #050505; border-radius: 12px; }

@media (max-width: 767.98px) {
    .business-solutions-hero-image {
        min-height: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
    }
    .home-promise-section { padding: 3.35rem 0; }
    .home-promise-title { font-size: clamp(2.35rem, 12vw, 3.8rem); }
    .home-promise-copy { line-height: 1.65; }
    .home-promise-point { grid-template-columns: 44px minmax(0,1fr); gap: .85rem; }
    .home-promise-icon { width: 42px; height: 42px; font-size: 1rem; }
}

/* v41e business solutions introduction above responsive hero artwork */
.business-solutions-intro {
    padding: calc(var(--nav-clearance, 92px) + 2.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
    background:
        radial-gradient(circle at 88% 12%, rgba(212,175,55,.075), transparent 30%),
        linear-gradient(180deg, #050505 0%, #090806 100%);
    border-bottom: 1px solid rgba(212,175,55,.22);
}
.business-solutions-title {
    max-width: 1180px;
    margin: 0;
    color: #f5efe4;
    font-family: var(--font-display, Georgia, serif);
    font-size: clamp(2.5rem, 5vw, 5rem);
    line-height: 1.02;
    letter-spacing: -.025em;
    text-transform: uppercase;
}
.business-solutions-rule {
    width: 84px;
    height: 1px;
    margin: 1.55rem 0 1.35rem;
    background: linear-gradient(90deg, var(--gold, #d4af37), rgba(212,175,55,.08));
}
.business-solutions-copy,
.business-solutions-trust {
    max-width: 980px;
    color: rgba(255,255,255,.82);
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.72;
}
.business-solutions-trust {
    color: rgba(255,255,255,.63);
    font-size: clamp(.94rem, 1.25vw, 1.04rem);
    margin-top: .7rem;
}
.business-solutions-intro + .business-solutions-visual {
    padding-top: 0;
}
@media (max-width: 767.98px) {
    .business-solutions-intro {
        padding: calc(76px + 2rem) 0 2.65rem;
    }
    .business-solutions-title {
        font-size: clamp(2.2rem, 11vw, 3.65rem);
    }
    .business-solutions-copy,
    .business-solutions-trust {
        line-height: 1.6;
    }
    .business-solutions-intro .btn {
        width: min(100%, 340px);
    }
    .business-solutions-visual,
    .business-solutions-visual picture {
        width: 100%;
        overflow: hidden;
        background: #050505;
    }
    .business-solutions-hero-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
    }
}


/* v41f final homepage width and overflow polish */
:root {
    --luxury-page-max: 1536px;
}
.luxury-page-frame {
    width: min(100%, var(--luxury-page-max));
    margin-inline: auto;
    padding-inline: clamp(1rem, 3vw, 3rem);
    box-sizing: border-box;
}
.home-visual-hero > picture,
.business-solutions-visual > picture {
    width: min(100%, var(--luxury-page-max));
    margin-inline: auto;
}
.home-promise-inner {
    overflow: hidden;
}
.home-promise-title {
    width: 100%;
    max-width: 1180px;
    font-size: clamp(2.65rem, 6.3vw, 6rem);
    line-height: .98;
    text-wrap: balance;
    overflow-wrap: anywhere;
    word-break: normal;
}
.home-promise-copy {
    width: 100%;
    max-width: 920px;
    overflow-wrap: anywhere;
}
.home-promise-actions {
    max-width: 100%;
}
.business-solutions-intro > .container {
    width: min(100%, var(--luxury-page-max));
    max-width: var(--luxury-page-max);
    padding-inline: clamp(1rem, 3vw, 3rem);
}
@media (max-width: 767.98px) {
    .home-promise-title {
        font-size: clamp(2.35rem, 12vw, 4rem);
        line-height: 1;
    }
    .home-promise-actions .btn {
        width: min(100%, 340px);
    }
}
@media (max-width: 420px) {
    .home-promise-title {
        font-size: clamp(2.1rem, 11.5vw, 3rem);
    }
}


/* v43: keep Partner Portal native dropdowns readable on every browser. */
#partnerPickupTime {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 50px;
  background-color: #fff !important;
  color: #111 !important;
  color-scheme: light;
}
#partnerPickupTime option { background:#fff !important; color:#111 !important; }

/* v47b dynamic Google-assisted stop fields */
.stop-address-row .remove-stop-button{min-width:46px;height:46px;font-size:1.35rem;line-height:1;}
.btn-outline-gold{border:1px solid rgba(212,175,55,.7);color:#f3d77a;background:transparent;}
.btn-outline-gold:hover,.btn-outline-gold:focus{border-color:#f3d77a;color:#111;background:#f3d77a;}
@media (max-width:575.98px){.stop-address-row{align-items:stretch!important}.stop-address-row .remove-stop-button{height:auto}}


/* v47c route estimate */
.route-estimate-panel{border:1px solid rgba(212,175,55,.35);border-radius:18px;padding:1.25rem;background:rgba(255,255,255,.025)}
.route-pipeline{display:flex;align-items:stretch;gap:.65rem;overflow-x:auto;padding:.35rem 0 .75rem}
.route-node{min-width:210px;flex:1;position:relative;padding:1rem 1rem 1rem 1.15rem;border:1px solid rgba(212,175,55,.28);border-radius:14px;background:rgba(255,255,255,.035)}
.route-node small{display:block;color:var(--gold,#d4af37);font-size:.72rem;letter-spacing:.08em;margin-bottom:.35rem}.route-node strong{display:block;font-weight:600;line-height:1.35}.route-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--gold,#d4af37);left:-4px;top:1.25rem;box-shadow:0 0 0 4px rgba(212,175,55,.13)}
.route-line{display:flex;align-items:center;justify-content:center;min-width:42px;color:var(--gold,#d4af37);font-weight:700}.route-line span{white-space:nowrap}
.route-stat{height:100%;padding:1rem;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.route-stat small{display:block;color:rgba(255,255,255,.68);margin-bottom:.25rem}.route-stat strong{font-size:1.05rem}
@media(max-width:767.98px){.route-pipeline{display:grid;overflow:visible}.route-line{min-height:28px;transform:rotate(90deg)}.route-node{min-width:0;width:100%}}


/* v48 mobile navigation */
.luxury-toggler-lines { width:26px; display:flex; flex-direction:column; gap:5px; }
.luxury-toggler-lines span { display:block; height:2px; width:100%; background:var(--gold-light); border-radius:4px; }
.navbar-toggler { filter:none; padding:.55rem .65rem; }
.navbar-toggler:focus { box-shadow:0 0 0 .2rem rgba(212,175,55,.22); }
@media (max-width:991.98px) {
  .luxury-nav .container { position:relative; }
  .luxury-nav .navbar-collapse { position:absolute; top:calc(100% + 1px); left:12px; right:12px; padding:1rem; background:rgba(5,5,5,.98); border:1px solid rgba(212,175,55,.28); border-radius:0 0 18px 18px; box-shadow:0 22px 45px rgba(0,0,0,.48); max-height:calc(100vh - 92px); overflow-y:auto; }
  .luxury-nav .navbar-nav { align-items:stretch !important; gap:.25rem; }
  .luxury-nav .nav-link { padding:.8rem .75rem; border-bottom:1px solid rgba(255,255,255,.06); }
  .luxury-nav .btn { width:100%; margin:.45rem 0 0 !important; padding:.75rem 1rem; }
  body.mobile-nav-open { overflow:hidden; }
}

/* v48 contact page */
.contact-primary-card { display:flex; align-items:center; gap:1.5rem; padding:2rem; border:1px solid rgba(212,175,55,.3); border-radius:24px; background:linear-gradient(135deg,rgba(212,175,55,.1),rgba(255,255,255,.025)); box-shadow:0 24px 60px rgba(0,0,0,.28); }
.contact-primary-icon,.department-icon,.immediate-icon { flex:0 0 auto; width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:var(--gold-light); background:rgba(212,175,55,.1); border:1px solid rgba(212,175,55,.28); font-size:1.45rem; }
.contact-pill { display:inline-flex; align-items:center; gap:.65rem; padding:.7rem 1rem; border-radius:999px; border:1px solid rgba(212,175,55,.3); background:rgba(0,0,0,.22); text-decoration:none; color:var(--cream); }
.contact-pill:hover { color:var(--gold-light); border-color:var(--gold); }
.immediate-card { display:flex; align-items:center; gap:1.15rem; height:100%; padding:1.5rem; border-radius:22px; border:1px solid rgba(212,175,55,.24); background:rgba(255,255,255,.025); color:inherit; text-decoration:none; transition:.2s ease; }
.immediate-card:hover { transform:translateY(-3px); color:inherit; border-color:rgba(212,175,55,.55); box-shadow:0 18px 45px rgba(0,0,0,.28); }
.contact-qr { width:96px; height:96px; object-fit:contain; padding:5px; background:#fff; border-radius:12px; }
.contact-action,.department-email { color:var(--gold-light); font-weight:600; text-decoration:none; }
.department-card { padding:1.5rem; border:1px solid rgba(212,175,55,.2); border-radius:20px; background:rgba(255,255,255,.025); transition:.2s ease; }
.department-card:hover { transform:translateY(-3px); border-color:rgba(212,175,55,.48); }
.department-icon { width:50px; height:50px; margin-bottom:1rem; border-radius:15px; }
.department-email { display:inline-flex; align-items:center; gap:.5rem; overflow-wrap:anywhere; }
@media (max-width:767.98px) {
  .contact-primary-card { align-items:flex-start; flex-direction:column; padding:1.4rem; }
  .contact-primary-card > .btn { width:100%; }
  .immediate-card { align-items:flex-start; flex-wrap:wrap; }
  .contact-qr { width:82px; height:82px; margin-left:auto; }
}

/* Luxury Rove v52 premium interaction system */
.card-luxury,.glass-panel,.metric-card,.client-fact-card,.chauffeur-trip-card,.airport-card,.service-card,.fleet-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-color .28s ease;border:1px solid rgba(196,164,91,.16)}
.card-luxury:hover,.glass-panel.interactive:hover,.metric-card:hover,.client-fact-card:hover,.airport-card:hover,.service-card:hover,.fleet-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.28);border-color:rgba(212,181,104,.55)}
.footer-main-row{--bs-gutter-x:1.5rem}
.footer-portal-utility{max-width:100%}
.footer-portal-links{display:flex;flex-direction:row;align-items:center;gap:.35rem;width:100%;flex-wrap:nowrap}
.footer-portal-button{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:.28rem .48rem;border:1px solid rgba(212,175,55,.55);border-radius:7px;background:rgba(212,175,55,.035);color:rgba(255,255,255,.88);font-size:.68rem;font-weight:600;line-height:1.05;letter-spacing:.01em;text-align:center;text-decoration:none;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.12);transition:border-color .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}
.footer-portal-button:hover,.footer-portal-button:focus-visible{border-color:#d4af37;background:rgba(212,175,55,.11);color:#f4dc86;box-shadow:0 6px 14px rgba(0,0,0,.2);transform:translateY(-1px)}
.lr-workspace-tabs{position:sticky;top:76px;z-index:20;padding:.65rem;background:rgba(12,12,12,.94);backdrop-filter:blur(12px);border:1px solid rgba(212,181,104,.18);border-radius:.85rem}
.lr-workspace-tabs .nav-link{color:#d8d0c2;border-radius:.65rem;padding:.7rem 1rem}.lr-workspace-tabs .nav-link.active{background:linear-gradient(135deg,#c6a65b,#e1c77e);color:#111;box-shadow:0 8px 22px rgba(198,166,91,.2)}
.lr-reservation-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.lr-reservation-summary>div{padding:.75rem 1rem;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);border-radius:.7rem}.lr-reservation-summary small{display:block;color:#aaa}.lr-reservation-summary strong{display:block;margin-top:.15rem}
.lr-section-card{padding:1.25rem;border:1px solid rgba(212,181,104,.14);border-radius:.9rem;background:rgba(255,255,255,.018);margin-bottom:1rem}.lr-section-card h3{font-size:1rem;color:#d9bd72;text-transform:uppercase;letter-spacing:.08em}
.chauffeur-trip-card .trip-collapsible{display:none}.chauffeur-trip-card.is-open .trip-collapsible{display:block}.chauffeur-trip-card.is-open{border-color:rgba(212,181,104,.7);box-shadow:0 18px 42px rgba(0,0,0,.3)}.trip-toggle{cursor:pointer}.trip-toggle .bi-chevron-down{transition:transform .25s}.chauffeur-trip-card.is-open .trip-toggle .bi-chevron-down{transform:rotate(180deg)}
@media(max-width:991px){.lr-reservation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.lr-workspace-tabs{position:static}.footer-portal-links{flex-wrap:wrap}.footer-portal-button{flex:1 1 calc(50% - .35rem)}}

/* v52-6 footer layout */
.footer-main-row{--bs-gutter-x:1.35rem}
.footer-main-row .footer-link-list{display:flex;flex-direction:column;gap:.42rem}
.footer-portal-access{border-top:1px solid rgba(212,175,55,.22)}
.footer-portal-row{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap}
.footer-portal-heading{flex:0 0 auto;white-space:nowrap}
.footer-portal-row .footer-portal-links{display:flex;flex:1 1 auto;align-items:center;gap:.55rem;flex-wrap:nowrap;width:auto}
.footer-portal-row .footer-portal-button{min-width:122px;padding:.42rem .72rem}
@media (max-width:1199.98px){.footer-portal-row{align-items:flex-start;flex-direction:column}.footer-portal-row .footer-portal-links{width:100%;flex-wrap:wrap}}
@media (max-width:575.98px){.footer-portal-row .footer-portal-button{flex:1 1 100%;width:100%}}


/* v52-7 centered secure portal access */
.footer-portal-access{border-top:1px solid rgba(212,175,55,.22)}
.footer-portal-access .footer-portal-heading{display:flex;justify-content:center;align-items:center;text-align:center;width:100%;white-space:normal}
.footer-portal-access .footer-portal-links{display:flex;justify-content:center;align-items:center;gap:.65rem;flex-wrap:nowrap;width:100%;margin:0 auto}
.footer-portal-access .footer-portal-button{min-width:128px;padding:.45rem .8rem}
@media (max-width:767.98px){.footer-portal-access .footer-portal-links{flex-wrap:wrap}.footer-portal-access .footer-portal-button{flex:1 1 calc(50% - .65rem)}}
@media (max-width:575.98px){.footer-portal-access .footer-portal-button{flex:1 1 100%;width:100%}}

/* v52-8 airport directory */
.airports-hero {
  position: relative;
  overflow: hidden;
  padding: 152px 0 78px;
  background:
    linear-gradient(90deg, rgba(5,5,5,.96) 0%, rgba(5,5,5,.84) 58%, rgba(5,5,5,.6) 100%),
    url('../img/luxury-rove-home-hero.webp') center 52% / cover no-repeat;
  border-bottom: 1px solid rgba(212,175,55,.2);
}
.airports-hero::after { content:""; position:absolute; inset:auto 0 0; height:120px; background:linear-gradient(transparent,rgba(5,5,5,.7)); pointer-events:none; }
.airports-hero .container { position:relative; z-index:1; }
.airports-hero-note { padding:30px; border:1px solid rgba(212,175,55,.3); border-radius:28px; background:rgba(7,7,7,.72); backdrop-filter:blur(16px); box-shadow:0 24px 60px rgba(0,0,0,.35); }
.airports-hero-note > i { display:inline-grid; place-items:center; width:54px; height:54px; margin-bottom:18px; border-radius:50%; color:#111; background:linear-gradient(135deg,var(--gold),var(--gold-light)); font-size:1.35rem; }
.airports-intro-strip { padding-top:38px; padding-bottom:44px; }
.airport-feature { display:flex; gap:16px; align-items:flex-start; padding:22px; border:1px solid rgba(212,175,55,.16); border-radius:22px; background:rgba(255,255,255,.035); }
.airport-feature > i { color:var(--gold-light); font-size:1.25rem; margin-top:2px; }
.airport-directory-section { background:rgba(255,255,255,.018); border-top:1px solid rgba(212,175,55,.08); border-bottom:1px solid rgba(212,175,55,.08); }
.airport-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:24px; }
.airport-section-heading > i { color:rgba(212,175,55,.45); font-size:2.4rem; }
.airport-directory-card { display:flex; overflow:hidden; border:1px solid rgba(212,175,55,.18); border-radius:26px; background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025)); box-shadow:0 20px 45px rgba(0,0,0,.2); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.airport-directory-card:hover { transform:translateY(-4px); border-color:rgba(212,175,55,.5); box-shadow:0 26px 58px rgba(0,0,0,.32); }
.airport-code-chip { display:flex; align-items:center; justify-content:center; min-width:78px; padding:20px 12px; font-family:Cinzel,serif; font-weight:700; letter-spacing:.08em; color:#111; background:linear-gradient(180deg,var(--gold-light),var(--gold)); writing-mode:vertical-rl; transform:rotate(180deg); }
.airport-directory-body { display:flex; flex-direction:column; flex:1; padding:24px; }
.airport-location { display:flex; gap:7px; align-items:center; color:#d9cbaa; font-size:.88rem; }
.airport-card-link { display:inline-flex; align-items:center; gap:8px; margin-top:auto; color:var(--gold-light); font-weight:600; text-decoration:none; }
.airport-card-link:hover { color:#fff; }
.airport-coverage-note { display:flex; gap:12px; align-items:flex-start; padding:18px 20px; border-left:3px solid var(--gold); border-radius:0 16px 16px 0; color:var(--muted); background:rgba(212,175,55,.06); }
.airport-cta-panel { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:34px; border:1px solid rgba(212,175,55,.28); border-radius:30px; background:linear-gradient(135deg,rgba(212,175,55,.1),rgba(255,255,255,.035)); }
@media (max-width: 991.98px) {
  .airports-hero { padding:126px 0 62px; }
  .airport-section-heading { align-items:flex-start; }
  .airport-section-heading > i { font-size:1.8rem; }
  .airport-cta-panel { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 575.98px) {
  .airports-hero { padding:110px 0 50px; }
  .airport-directory-card { border-radius:22px; }
  .airport-code-chip { min-width:58px; }
  .airport-directory-body { padding:20px; }
  .airport-section-heading > i { display:none; }
}

/* Luxury Rove v54-2 — canonical sitewide footer and public hero system */
.footer-luxury {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 3rem 0 !important;
  background: radial-gradient(circle at top, rgba(212,175,55,.08), transparent 34%), #030303 !important;
  border-top: 1px solid rgba(212,175,55,.22);
  clear: both;
}
.footer-luxury > .container { width: min(100% - 2rem, 1320px); max-width: 1320px; margin-inline: auto; }
.footer-luxury .footer-main-row { align-items: flex-start !important; }
.footer-luxury .footer-logo { display:block; width:min(220px,100%); height:auto; object-fit:contain; }
.footer-luxury .footer-tagline { max-width:34rem; }
.footer-luxury .footer-section-heading { min-height:1.5rem; }
.footer-luxury .footer-link-list { display:flex; flex-direction:column; gap:.42rem; }
.footer-luxury .footer-portal-access,
.footer-luxury .footer-positioning-line,
.footer-luxury .border-top { width:100%; }
.footer-luxury a { text-decoration:none; }

/* Canonical public-page hero alignment. */
.home-visual-hero,
.business-solutions-visual { width:100%; overflow:hidden; background:#050505; }
.home-visual-hero > picture,
.business-solutions-visual > .container-fluid > picture,
.business-solutions-visual picture {
  display:block; width:min(100%,1536px); margin-inline:auto; aspect-ratio:3/2; overflow:hidden; background:#050505;
}
.home-visual-hero-image,
.business-solutions-hero-image {
  display:block; width:100%!important; height:100%!important; min-height:0!important; max-height:none!important;
  object-fit:cover!important; object-position:center center!important;
}
.page-hero,
.page-hero-sm,
.airports-hero { background-position:center center!important; }
.page-hero > .container,
.page-hero-sm > .container,
.airports-hero > .container { position:relative; z-index:1; }
.fleet-showcase-wrap { width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:1rem; background:#050505; }
.fleet-showcase-image { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }

@media (max-width:767.98px) {
  .footer-luxury { text-align:center; }
  .footer-luxury .footer-logo,
  .footer-luxury .footer-tagline { margin-inline:auto; }
  .home-visual-hero > picture,
  .business-solutions-visual > .container-fluid > picture,
  .business-solutions-visual picture { aspect-ratio:4/3; }
  .home-visual-hero-image,
  .business-solutions-hero-image { object-position:center center!important; }
  .fleet-showcase-wrap { aspect-ratio:4/3; }
}


/* Luxury Rove v56.5 — premium compact dashboard actions */
.admin-quick-actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.admin-action-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 88px;
  padding: 15px 16px;
  overflow: hidden;
  color: var(--cream);
  border: 1px solid rgba(212,175,55,.24);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(212,175,55,.09), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
  box-shadow: 0 12px 30px rgba(0,0,0,.2);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.admin-action-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, var(--gold-light), transparent);
  opacity: .76;
}
.admin-action-card:hover,
.admin-action-card:focus-visible {
  color: #fff;
  transform: translateY(-2px);
  border-color: rgba(242,211,123,.58);
  background:
    radial-gradient(circle at 100% 0, rgba(212,175,55,.14), transparent 44%),
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow: 0 18px 36px rgba(0,0,0,.3), 0 0 0 1px rgba(212,175,55,.06);
}
.admin-action-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  color: var(--gold-light);
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 12px;
  background: rgba(212,175,55,.075);
  font-size: 1.05rem;
}
.admin-action-copy { min-width: 0; display: flex; flex-direction: column; }
.admin-action-copy strong {
  font-family: Cinzel, serif;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .025em;
  line-height: 1.25;
}
.admin-action-copy small {
  display: block;
  margin-top: 4px;
  color: rgba(248,241,223,.58);
  font-size: .71rem;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-action-arrow {
  margin-left: auto;
  padding-left: 8px;
  color: rgba(212,175,55,.52);
  font-size: .82rem;
  transition: transform .22s ease, color .22s ease;
}
.admin-action-card:hover .admin-action-arrow { transform: translate(2px,-2px); color: var(--gold-light); }
@media (max-width: 1199.98px) { .admin-quick-actions { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 767.98px) {
  .admin-quick-actions { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .admin-action-card { min-height: 78px; padding: 12px; border-radius: 14px; }
  .admin-action-icon { width: 36px; height: 36px; margin-right: 10px; border-radius: 10px; }
  .admin-action-copy strong { font-size: .8rem; }
  .admin-action-copy small { font-size: .66rem; }
}
@media (max-width: 420px) {
  .admin-quick-actions { grid-template-columns: 1fr; }
  .admin-action-copy small { white-space: normal; }
}


/* Luxury Rove v56.6 — premium portal navigation and dashboard control placement */
.lr-admin-nav {
  background: linear-gradient(180deg, rgba(11,11,11,.98), rgba(5,5,5,.96));
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
}
.lr-admin-nav .container { gap: .6rem !important; padding-top: .7rem !important; padding-bottom: .7rem !important; }
.lr-admin-nav .small.text-soft {
  font-size: .78rem;
  letter-spacing: .035em;
  padding-right: .35rem;
}
.lr-admin-nav .btn {
  min-height: 38px;
  padding: .52rem .92rem;
  border: 1px solid rgba(212,175,55,.34);
  border-radius: 12px;
  color: #f4ead1;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 7px 18px rgba(0,0,0,.18);
  font-family: Cinzel, serif;
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: .025em;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, color .2s ease;
}
.lr-admin-nav .btn:hover,
.lr-admin-nav .btn:focus-visible {
  color: #fff;
  transform: translateY(-1px);
  border-color: rgba(242,211,123,.7);
  background: linear-gradient(145deg, rgba(212,175,55,.14), rgba(255,255,255,.035));
  box-shadow: 0 11px 24px rgba(0,0,0,.28), 0 0 0 1px rgba(212,175,55,.08);
}
.portal-dashboard-controls { margin-bottom: .15rem; }
.portal-control-btn {
  min-height: 36px;
  padding: .46rem .85rem;
  border-radius: 11px;
  font-family: Cinzel, serif;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .025em;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.portal-control-back {
  color: #f4ead1;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.035);
}
.portal-control-dashboard {
  color: #17120a;
  border: 1px solid rgba(242,211,123,.78);
  background: linear-gradient(135deg, #ead27c, #b99536);
  box-shadow: 0 8px 20px rgba(185,149,54,.18);
}
.portal-control-btn:hover,
.portal-control-btn:focus-visible { transform: translateY(-1px); }
.portal-control-back:hover,
.portal-control-back:focus-visible { color:#fff; border-color:rgba(212,175,55,.55); background:rgba(212,175,55,.08); }
.portal-control-dashboard:hover,
.portal-control-dashboard:focus-visible { color:#090806; box-shadow:0 12px 25px rgba(185,149,54,.28); }
.page-hero .portal-dashboard-controls { position:relative; z-index:2; }
@media (max-width: 767.98px) {
  .lr-admin-nav .container { gap: .45rem !important; }
  .lr-admin-nav .small.text-soft { width:100%; margin-bottom:.1rem; }
  .lr-admin-nav .btn { flex: 1 1 calc(50% - .45rem); text-align:center; font-size:.78rem; padding:.48rem .6rem; }
  .portal-dashboard-controls { gap:.5rem !important; }
  .portal-control-btn { min-height:34px; padding:.42rem .72rem; font-size:.73rem; }
}

/* Luxury Rove v56.7 — globally consistent authenticated account menu */
.lr-account-menu{border-color:rgba(201,168,76,.58)!important;color:#f6f0df!important;background:linear-gradient(180deg,rgba(24,24,24,.96),rgba(8,8,8,.96));font-weight:600;letter-spacing:.02em}
.lr-account-menu:hover,.lr-account-menu:focus{border-color:#c9a84c!important;color:#fff!important;box-shadow:0 8px 24px rgba(201,168,76,.13)}
.lr-account-dropdown{min-width:220px;padding:.55rem;background:#111;border:1px solid rgba(201,168,76,.38);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.42)}
.lr-account-dropdown .dropdown-item{color:#e9e4d8;border-radius:8px;padding:.68rem .78rem;font-size:.92rem}
.lr-account-dropdown .dropdown-item:hover,.lr-account-dropdown .dropdown-item:focus{background:rgba(201,168,76,.12);color:#fff}
.lr-account-dropdown .dropdown-divider{border-color:rgba(255,255,255,.12)}
@media(max-width:991.98px){.lr-account-menu{width:100%;margin-top:.35rem}.lr-account-dropdown{width:100%;box-shadow:none}}


/* Luxury Rove v57 foundation design system */
.lr-admin-nav-spacer{flex:1 1 auto}.lr-icon-only{width:42px!important;min-width:42px!important;padding:.5rem!important;display:inline-flex!important;align-items:center;justify-content:center}.lr-icon-only i{margin:0!important;font-size:1.05rem}.lr-admin-nav .btn i{vertical-align:middle}.lr-portal-heading{padding:2rem 0 .8rem;background:linear-gradient(180deg,rgba(13,13,13,.98),rgba(13,13,13,.78));border-bottom:1px solid rgba(201,168,76,.16)}.lr-portal-name{font-family:Cinzel,serif;color:#d8b85a;font-size:.85rem;letter-spacing:.18em;margin-bottom:.45rem}.lr-portal-heading h1{font-family:Cinzel,serif;font-size:clamp(1.75rem,3vw,2.55rem);margin:0;color:#fff}.lr-portal-heading p{color:#aaa;margin:.45rem 0 .8rem;max-width:760px}.lr-page-controls{display:flex;gap:.55rem;align-items:center}.lr-control-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.42rem .85rem;border-radius:10px;border:1px solid rgba(201,168,76,.45);background:#111;color:#f3ead3;text-decoration:none;font-size:.82rem}.lr-control-btn:hover{color:#fff;border-color:#d8b85a;background:rgba(201,168,76,.1)}.lr-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.lr-settings-card{display:block;padding:1.3rem;border:1px solid rgba(201,168,76,.28);border-radius:14px;background:linear-gradient(145deg,rgba(22,22,22,.96),rgba(10,10,10,.96));color:#fff;text-decoration:none;transition:.2s ease}.lr-settings-card:hover{transform:translateY(-2px);border-color:#d8b85a;color:#fff;box-shadow:0 15px 30px rgba(0,0,0,.25)}.lr-settings-card h2{font-family:Cinzel,serif;font-size:1.1rem}.lr-settings-card p{color:#aaa}.lr-settings-card span{color:#d8b85a}.lr-publish-row{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:1.25rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.lr-table-scroll,.table-responsive{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.lr-table-scroll table,.table-responsive table{min-width:max-content;width:100%;white-space:nowrap}.lr-table-scroll thead th,.table-responsive thead th{position:sticky;top:0;z-index:2;background:#151515;white-space:nowrap}.lr-table-scroll th,.lr-table-scroll td,.table-responsive th,.table-responsive td{min-width:120px;vertical-align:middle}.lr-table-scroll th:first-child,.lr-table-scroll td:first-child{min-width:180px}.lr-version-entry{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.08)}@media(max-width:767px){.lr-publish-row{grid-template-columns:1fr}.lr-admin-nav-spacer{display:none}.lr-icon-only{flex:0 0 42px!important}.lr-page-controls{flex-wrap:wrap}}


/* Luxury Rove v57.4 — compact app-style responsive data views */
:root {
  --lr-touch-height: 38px;
  --lr-card-border: rgba(201,168,76,.26);
}

/* Compact, consistent actions throughout every portal. */
.table-actions {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.4rem;
  min-width:112px;
}
.table-actions form { display:block!important; margin:0; }
.table-actions .btn,
.lr-compact-action {
  width:100%;
  min-height:var(--lr-touch-height)!important;
  height:auto;
  padding:.42rem .68rem!important;
  border-radius:9px!important;
  font-size:.78rem!important;
  line-height:1.15!important;
  font-weight:600;
  white-space:nowrap!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.32rem;
}

/* Desktop/tablet tables remain readable and scroll only inside their container. */
.table-responsive,
.luxury-table-wrap {
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible;
  scrollbar-gutter:stable;
  border-radius:12px;
}
.table-responsive > table,
.luxury-table-wrap > table {
  margin-bottom:0;
}
.operations-table th,
.operations-table td {
  padding:.72rem .78rem!important;
  line-height:1.35;
}
.operations-table .actions-cell {
  min-width:132px!important;
}

/* Generated app-style view. Hidden until the mobile breakpoint. */
.lr-mobile-data-list { display:none; }

@media (max-width: 767.98px) {
  body { font-size:.94rem; }
  .section-pad { padding-top:2.3rem; padding-bottom:2.3rem; }
  .page-hero.compact-hero { padding-top:1.55rem; padding-bottom:1.2rem; }
  .page-hero .section-title,
  .lr-portal-heading h1 { font-size:clamp(1.55rem,7vw,2rem)!important; }
  .lead-luxury,
  .lr-portal-heading p { font-size:.9rem; line-height:1.5; }

  /* Never let global mobile rules turn every button into a giant full-width block. */
  .btn,
  .btn-sm {
    width:auto;
    min-height:var(--lr-touch-height);
    padding:.44rem .72rem;
    border-radius:9px;
    font-size:.8rem;
    line-height:1.15;
  }
  .portal-dashboard-controls .btn { width:auto; }
  .d-flex.gap-2 > .btn,
  .d-flex.gap-2 > form,
  .d-flex.gap-2 > form > .btn { flex:0 0 auto; }

  /* Desktop table is replaced by a clean accordion-card experience. */
  .lr-has-mobile-cards > table { display:none!important; }
  .lr-has-mobile-cards { overflow:visible!important; border-radius:0; }
  .lr-mobile-data-list {
    display:grid;
    gap:.72rem;
    width:100%;
  }
  .lr-mobile-record {
    overflow:hidden;
    border:1px solid var(--lr-card-border);
    border-radius:14px;
    background:linear-gradient(150deg,rgba(25,25,25,.98),rgba(10,10,10,.98));
    box-shadow:0 8px 22px rgba(0,0,0,.2);
  }
  .lr-mobile-record-toggle {
    width:100%;
    min-height:64px;
    padding:.82rem .9rem;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.65rem;
    align-items:center;
    text-align:left;
    border:0;
    background:transparent;
    color:#fff;
  }
  .lr-mobile-record-title {
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-family:Cinzel,serif;
    font-size:.88rem;
    font-weight:600;
  }
  .lr-mobile-record-subtitle {
    display:block;
    margin-top:.2rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:rgba(248,241,223,.66);
    font-size:.76rem;
  }
  .lr-mobile-record-toggle .bi-chevron-down {
    color:#d8b85a;
    transition:transform .2s ease;
  }
  .lr-mobile-record.is-open .lr-mobile-record-toggle .bi-chevron-down { transform:rotate(180deg); }
  .lr-mobile-record-details {
    display:none;
    padding:0 .9rem .9rem;
    border-top:1px solid rgba(255,255,255,.07);
  }
  .lr-mobile-record.is-open .lr-mobile-record-details { display:block; }
  .lr-mobile-field {
    display:grid;
    grid-template-columns:minmax(88px,34%) minmax(0,1fr);
    gap:.72rem;
    padding:.65rem 0;
    border-bottom:1px solid rgba(255,255,255,.065);
  }
  .lr-mobile-field:last-of-type { border-bottom:0; }
  .lr-mobile-field-label {
    color:#d8b85a;
    font-size:.69rem;
    font-weight:700;
    letter-spacing:.045em;
    text-transform:uppercase;
  }
  .lr-mobile-field-value {
    min-width:0;
    overflow-wrap:anywhere;
    color:#f7f2e6;
    font-size:.84rem;
  }
  .lr-mobile-field-value .route-cell,
  .lr-mobile-field-value .route-point { max-width:none; white-space:normal; }
  .lr-mobile-field-value .badge { white-space:normal; text-align:left; }
  .lr-mobile-actions {
    padding-top:.75rem;
  }
  .lr-mobile-actions .table-actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    min-width:0;
    gap:.45rem;
  }
  .lr-mobile-actions .table-actions .btn {
    width:100%;
    min-height:38px!important;
    padding:.42rem .35rem!important;
    font-size:.73rem!important;
  }
  .lr-mobile-actions .table-actions form { min-width:0; }

  /* Keep dense dashboard/profile button groups neat instead of oversized. */
  .glass-panel .d-flex.flex-wrap.gap-2,
  .section-pad .d-flex.flex-wrap.gap-2 { gap:.45rem!important; }
}

@media (max-width: 390px) {
  .lr-mobile-actions .table-actions { grid-template-columns:1fr; }
  .lr-mobile-field { grid-template-columns:1fr; gap:.22rem; }
}

/* Render large below-the-fold panels efficiently without changing visual order. */
@supports (content-visibility:auto) {
  .section-pad .glass-panel,
  .section-pad .client-insights { content-visibility:auto; contain-intrinsic-size:1px 420px; }
}


/* v58 chauffeur PWA */
body.chauffeur-app-mode{padding-top:0;background:#050505;min-height:100vh}
body.chauffeur-app-mode main{padding-top:0}
body.chauffeur-app-mode .footer-luxury{display:none!important}
.chauffeur-install-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#1d180d 0,#090909 45%,#050505 100%)}
.chauffeur-install-card{width:min(520px,100%);padding:30px;border:1px solid rgba(214,177,65,.35);border-radius:24px;background:rgba(15,15,15,.96);box-shadow:0 24px 80px rgba(0,0,0,.55);text-align:center;display:grid;gap:16px}
.chauffeur-app-logo{width:210px;max-width:70%;margin:0 auto 6px}.chauffeur-install-card h1{font-family:Cinzel,serif;font-size:clamp(1.6rem,6vw,2.4rem);margin:0}.chauffeur-install-card p{color:#c9c3b7;margin:0}.chauffeur-install-card .btn{min-height:44px;border-radius:12px;font-weight:700}.chauffeur-install-help{padding:12px;border-radius:12px;background:#171717;color:#ddd;text-align:left}
body.chauffeur-app-mode .page-hero{padding-top:24px}.chauffeur-location-panel{border-color:rgba(214,177,65,.45)}
@media(max-width:767px){body.chauffeur-app-mode .section-pad{padding:18px 0}.chauffeur-shell{padding-inline:12px}.chauffeur-trip-card,.glass-panel{border-radius:16px}.chauffeur-actions .btn,.chauffeur-action-grid .btn{min-height:38px;padding:.5rem .75rem;font-size:.9rem}.chauffeur-top-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.chauffeur-top-actions .btn{padding:.45rem .35rem;font-size:.78rem}}


/* =========================================================
   v58.1: compact contextual guest reservation timeline
   ========================================================= */
.status-timeline-panel { padding:14px !important; }
.status-stage-grid {
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:8px;
}
.status-stage-card {
  flex:1 1 132px;
  min-width:118px;
  min-height:58px;
  padding:9px 11px;
  border-radius:11px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  justify-content:initial;
  gap:7px;
  line-height:1.2;
}
.status-stage-card strong { font-size:.86rem; font-weight:650; }
.status-stage-icon {
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  margin:0;
  font-size:.82rem;
  line-height:1;
}
.status-stage-card.is-active { border-width:1px; box-shadow:0 0 0 2px rgba(212,175,55,.08); }
@media (max-width:767px) {
  .status-stage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .status-stage-card { min-width:0; min-height:54px; padding:8px 9px; }
}
@media (max-width:420px) {
  .status-stage-grid { grid-template-columns:1fr; }
}


/* =========================================================
   v58.2: sitewide compact information surfaces + live map
   ========================================================= */
.metric-card {
  min-height: 0 !important;
  height: auto !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
  overflow-wrap: anywhere;
}
.metric-card span { font-size: .72rem !important; letter-spacing: .09em; line-height: 1.2; }
.metric-card strong { font-size: clamp(1rem, 1.45vw, 1.35rem) !important; line-height: 1.25 !important; }
.client-fact-card { min-height: 0 !important; padding: 14px 16px !important; border-radius: 14px !important; }
.client-fact-card strong { font-size: 1.25rem !important; }
.client-fact-card .client-fact-text { font-size: 1.05rem !important; }
.glass-panel { border-radius: 18px !important; }
.status-stage-grid { grid-template-columns: repeat(auto-fit,minmax(155px,1fr)) !important; gap: 8px !important; }
.status-stage-card { min-height: 54px !important; padding: 10px 12px !important; border-radius: 12px !important; flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; gap: 8px !important; }
.status-stage-icon { flex: 0 0 auto; font-size: .9rem !important; }
.status-stage-label { font-size: .9rem; line-height: 1.2; }
.live-journey-map-card { border:1px solid rgba(212,175,55,.4); border-radius:22px; padding:18px; background:linear-gradient(145deg,rgba(212,175,55,.09),rgba(255,255,255,.025)); }
.live-map-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:14px; }
.live-map-status { display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(212,175,55,.55); border-radius:999px; padding:6px 10px; font-size:.78rem; font-weight:700; white-space:nowrap; }
.live-dot { width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px rgba(212,175,55,.12); animation:lrLivePulse 1.8s infinite; }
@keyframes lrLivePulse { 50% { box-shadow:0 0 0 9px rgba(212,175,55,0); } }
.client-live-map { width:100%; height:390px; border-radius:16px; overflow:hidden; background:#181818; }
.live-map-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:10px; align-items:center; padding-top:14px; }
.live-map-summary > div { min-width:0; }
.live-map-summary span { display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; }
.live-map-summary strong { display:block; font-size:.92rem; overflow-wrap:anywhere; }
@media (max-width: 991px) {
  .live-map-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .live-map-summary .btn { grid-column:1/-1; justify-self:start; }
  .client-live-map { height:330px; }
}
@media (max-width: 575px) {
  .metric-card { padding:11px 13px !important; }
  .live-journey-map-card { padding:13px; border-radius:17px; }
  .live-map-heading { align-items:center; }
  .live-map-heading h2 { font-size:1.15rem; }
  .client-live-map { height:280px; border-radius:13px; }
  .live-map-summary { grid-template-columns:1fr 1fr; gap:9px; }
  .status-stage-grid { grid-template-columns:1fr !important; }
}

/* v58.3 chauffeur action timestamps */
.chauffeur-action-time{display:inline-flex;align-items:center;gap:.55rem;margin:0}.chauffeur-action-time time{font-variant-numeric:tabular-nums;font-weight:700;color:#f0cc58;background:rgba(240,204,88,.1);border:1px solid rgba(240,204,88,.3);border-radius:999px;padding:.35rem .6rem}.chauffeur-action-grid{display:flex;flex-wrap:wrap;gap:.65rem}.chauffeur-action-panel{padding:1rem!important}

/* v58.4 live operations map: always mounted and auto-refreshing */
.live-operations-panel{border:1px solid rgba(212,175,55,.24);border-radius:16px;background:rgba(10,12,16,.9);padding:16px;overflow:hidden}
.live-operations-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;margin-top:14px}
.live-operations-map{min-height:360px;border-radius:12px;overflow:hidden;background:#191c22}
.live-vehicle-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}
.live-vehicle-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.035);color:inherit}
.live-vehicle-item:hover{border-color:rgba(212,175,55,.5);background:rgba(212,175,55,.08)}
.live-vehicle-item span:first-child{display:flex;flex-direction:column;min-width:0}
.live-vehicle-item strong,.live-vehicle-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-vehicle-item small,.live-age{font-size:.76rem;color:var(--bs-secondary-color,#a9adb6)}
.live-empty-state{padding:14px;border:1px dashed rgba(255,255,255,.16);border-radius:10px;color:var(--bs-secondary-color,#a9adb6)}
.lr-map-popup{color:#1b1b1b;min-width:220px;line-height:1.45}.lr-map-popup a{font-weight:700}
@media(max-width:991.98px){.live-operations-layout{grid-template-columns:1fr}.live-operations-map{min-height:300px}.live-vehicle-list{max-height:none}}


/* v58.5 live fleet map */
.live-map-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.live-map-actions .btn{white-space:nowrap}
@media(max-width:575.98px){.live-map-actions{width:100%;justify-content:flex-start}.live-map-heading{flex-wrap:wrap}}


/* v60.1 live tracking refinements */
.lr-map-popup{position:relative;padding:2px 30px 2px 2px;max-width:420px}
.lr-map-popup-close{position:absolute;top:-4px;right:-5px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#1b1b1b;font-size:25px;line-height:25px;cursor:pointer}
.lr-map-popup-close:hover,.lr-map-popup-close:focus{background:rgba(0,0,0,.08)}
.live-status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--status-color,#d4af37);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color,#d4af37) 18%,transparent)}
.live-vehicle-item.is-selected{border-color:rgba(212,175,55,.78);background:rgba(212,175,55,.12)}

/* v60.2 accessibility: gold controls always use readable black text. */
.btn-gold, .btn-gold:hover, .btn-gold:focus, .btn-gold:active, a.btn-gold, button.btn-gold, .dropdown-menu .btn-gold, .portal-control-btn.btn-gold { color:#111 !important; }
/* v61 Enterprise Foundation */
.btn-gold,.btn-gold:hover,.btn-gold:focus,.btn-gold:active,.portal-control-dashboard{color:#090909!important}.btn{border-radius:9px;font-weight:600;letter-spacing:.015em}.btn-sm{padding:.42rem .78rem;font-size:.82rem}.lr-enterprise-nav{position:relative;z-index:1010;background:linear-gradient(180deg,#111,#090909);border-bottom:1px solid rgba(201,168,76,.3);box-shadow:0 10px 30px rgba(0,0,0,.2)}.lr-enterprise-top{display:flex;align-items:center;gap:24px;padding:12px 0 8px}.lr-portal-name{font-family:Cinzel,serif;color:#d7b65c;font-weight:700;white-space:nowrap}.lr-global-search{height:40px;max-width:760px;flex:1;display:flex;align-items:center;gap:10px;background:#171717;border:1px solid #343434;border-radius:12px;padding:0 12px}.lr-global-search input{flex:1;background:transparent;border:0;color:#fff;outline:0;min-width:120px}.lr-global-search kbd{font-size:.67rem;color:#aaa;background:#252525}.lr-global-search.standalone{max-width:none;height:48px}.lr-menu-row{display:flex;gap:4px;overflow-x:auto;padding-bottom:9px}.lr-menu-button{color:#e9e9e9;border:0;background:transparent;font-size:.8rem;padding:.38rem .62rem}.lr-menu-button:hover,.lr-menu-button:focus{background:#c9a84c;color:#090909}.lr-premium-menu{background:#101010;border:1px solid #383027;border-radius:12px;padding:7px;min-width:220px;box-shadow:0 18px 50px rgba(0,0,0,.45)}.lr-premium-menu .dropdown-item{color:#eee;border-radius:8px;padding:.55rem .7rem;font-size:.86rem}.lr-premium-menu .dropdown-item:hover{background:#c9a84c;color:#090909}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));border:1px solid #333;border-radius:14px;overflow:auto;background:#111}.calendar-head{padding:10px;text-align:center;color:#d8b65c;background:#171717;font-weight:700}.calendar-day{min-height:145px;padding:8px;border-top:1px solid #2d2d2d;border-right:1px solid #2d2d2d}.calendar-day.muted{opacity:.25}.calendar-date{font-weight:700;margin-bottom:6px}.calendar-event{font-size:.72rem;padding:6px 7px;margin-bottom:5px;border-radius:7px;background:#252525;border-left:3px solid #c9a84c}.calendar-event span{display:block;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-shell{display:grid;grid-template-columns:300px 1fr;min-height:610px;border:1px solid #343434;border-radius:16px;overflow:hidden;background:#0d0d0d}.message-list{padding:14px;border-right:1px solid #303030}.message-thread{display:block;color:#eee;text-decoration:none;padding:11px;border-radius:10px;margin-bottom:4px}.message-thread span{display:block;color:#999;font-size:.77rem}.message-thread.active,.message-thread:hover{background:#201c12}.message-panel{display:flex;flex-direction:column;min-width:0}.message-stream{flex:1;overflow:auto;padding:22px}.message-bubble{max-width:76%;background:#202020;border-radius:13px;padding:11px 13px;margin-bottom:12px}.message-bubble.mine{margin-left:auto;background:#3a3018}.message-meta{display:flex;gap:8px;align-items:center;font-size:.72rem;color:#aaa}.message-meta time{margin-left:auto}.message-bubble p{margin:.45rem 0 0}.message-compose{display:flex;gap:10px;border-top:1px solid #333;padding:14px}.message-compose textarea{min-height:52px}.stripe-readiness{display:flex;gap:15px;align-items:center;border:1px solid rgba(201,168,76,.35);background:rgba(201,168,76,.07);padding:15px;border-radius:12px}.stripe-readiness i{font-size:1.7rem;color:#d7b65c}.disabled-field{background:#191919!important;color:#888!important}.lifecycle-steps{display:grid;gap:10px}.lifecycle-steps>div{padding:12px;border:1px solid #333;border-radius:10px}.lifecycle-steps>div.done{border-color:#71602f}.lifecycle-steps span{margin-left:12px}.search-result{display:flex;align-items:center;gap:14px;padding:13px;text-decoration:none;color:#fff;border-bottom:1px solid #292929}.search-result:hover{background:#191919}.search-result div{flex:1}.search-result small{display:block;color:#999}@media(max-width:900px){.lr-enterprise-top{display:block}.lr-portal-name{margin-bottom:8px}.lr-global-search kbd{display:none}.message-shell{grid-template-columns:1fr}.message-list{border-right:0;border-bottom:1px solid #333}.message-bubble{max-width:92%}.calendar-grid{grid-template-columns:repeat(7,145px)}}

/* v61.2 Enterprise Portal Mode */
body.portal-authenticated{padding-top:0;background:#080808}
body.portal-authenticated main{padding-top:0;min-height:calc(100vh - 142px)}
.lr-portal-header{position:sticky;top:0;z-index:1040;background:rgba(8,8,8,.98);border-bottom:1px solid rgba(201,168,76,.28);box-shadow:0 12px 36px rgba(0,0,0,.34);backdrop-filter:blur(16px)}
.lr-portal-header-inner{min-height:72px;display:flex;align-items:center;gap:18px;padding:10px 24px}
.lr-portal-brand{display:flex;align-items:center;flex:0 0 auto}
.lr-portal-brand img{width:148px;max-height:48px;object-fit:contain}
.lr-portal-heading-block{display:flex;flex-direction:column;min-width:145px}
.lr-portal-heading{font-family:Cinzel,serif;color:#d7b65c;font-size:.92rem;font-weight:700;letter-spacing:.04em}
.lr-portal-user{font-size:.72rem;color:#999;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.lr-header-search{max-width:none;margin-left:auto}
.lr-portal-actions{display:flex;align-items:center;gap:8px}
.lr-header-icon,.lr-account-trigger{height:40px;border:1px solid #343434;background:#141414;color:#eee;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.lr-header-icon{width:40px;position:relative}
.lr-header-icon:hover,.lr-account-trigger:hover{border-color:#c9a84c;color:#d7b65c}
.lr-account-trigger{gap:8px;padding:0 12px}
.lr-account-trigger span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lr-enterprise-nav{position:sticky;top:72px;z-index:1030}
.lr-enterprise-nav .container-fluid{padding:0 24px}
.lr-menu-row{padding:8px 0;gap:5px}
.lr-application-footer{border-top:1px solid rgba(201,168,76,.22);background:#090909;color:#8e8e8e;font-size:.75rem;padding:13px 24px}
body.portal-authenticated .page-hero{margin-top:0}
@media(max-width:991.98px){
 .lr-portal-header-inner{flex-wrap:wrap;padding:9px 14px;gap:9px}
 .lr-portal-brand img{width:118px}
 .lr-portal-heading-block{min-width:0;flex:1}
 .lr-header-search{order:3;flex-basis:100%;height:38px}
 .lr-account-trigger span{display:none}
 .lr-enterprise-nav{top:118px}
 .lr-enterprise-nav .container-fluid{padding:0 10px}
 .lr-application-footer .container-fluid{justify-content:center!important;text-align:center}
}

/* v61.2.1 Portal navigation stabilization */
body.portal-authenticated main {
  padding-top: 0 !important;
  overflow: visible;
}
body.portal-authenticated .portal-back-bar {
  display: none !important;
}
.lr-enterprise-nav {
  position: sticky;
  top: 72px;
  z-index: 1035;
  overflow: visible;
}
.lr-enterprise-nav .container-fluid,
.lr-portal-menu-collapse,
.lr-menu-row,
.lr-menu-group {
  overflow: visible;
}
.lr-menu-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
}
.lr-menu-group {
  flex: 0 0 auto;
}
.lr-menu-button {
  min-height: 42px;
  padding: .58rem .82rem;
  font-size: .84rem;
  white-space: nowrap;
}
.lr-menu-button.active,
.lr-menu-button[aria-expanded="true"] {
  background: linear-gradient(135deg, #c9a84c, #e7ca74);
  color: #090909;
}
.lr-premium-menu {
  z-index: 1085;
  max-height: min(65vh, 520px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.lr-premium-menu .dropdown-item.active,
.lr-premium-menu .dropdown-item:active {
  background: rgba(201,168,76,.22);
  color: #f2d37b;
}
.lr-mobile-menu-bar {
  display: none;
}
@media (min-width: 992px) {
  .lr-portal-menu-collapse.collapse {
    display: block !important;
  }
}
@media (max-width: 991.98px) {
  .lr-enterprise-nav {
    top: 118px;
  }
  .lr-mobile-menu-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 52px;
  }
  .lr-mobile-dashboard-link,
  .lr-portal-menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: .5rem .72rem;
    border: 1px solid rgba(201,168,76,.34);
    border-radius: 9px;
    background: #121212;
    color: #f2d37b;
    text-decoration: none;
    font-weight: 700;
    font-size: .82rem;
  }
  .lr-portal-menu-toggle {
    margin-left: auto;
  }
  .lr-portal-menu-collapse {
    border-top: 1px solid rgba(201,168,76,.18);
  }
  .lr-menu-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 8px 0 12px;
  }
  .lr-menu-group,
  .lr-menu-button {
    width: 100%;
  }
  .lr-menu-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    background: #121212;
    border: 1px solid #2d2d2d;
  }
  .lr-premium-menu {
    position: static !important;
    transform: none !important;
    width: 100%;
    max-height: none;
    margin-top: 4px !important;
    box-shadow: none;
  }
}
@media (max-width: 575.98px) {
  .lr-menu-row {
    grid-template-columns: 1fr;
  }
  .lr-mobile-dashboard-link span {
    display: none;
  }
}


/* v61.2.2 Fixed portal header and navigation */
:root {
  --lr-portal-header-height: 72px;
  --lr-portal-nav-height: 59px;
}
body.portal-authenticated {
  padding-top: calc(var(--lr-portal-header-height) + var(--lr-portal-nav-height)) !important;
}
body.portal-authenticated .lr-portal-header {
  position: fixed !important;
  inset: 0 0 auto 0;
  height: var(--lr-portal-header-height);
  z-index: 1100;
}
body.portal-authenticated .lr-enterprise-nav {
  position: fixed !important;
  top: var(--lr-portal-header-height) !important;
  left: 0;
  right: 0;
  min-height: var(--lr-portal-nav-height);
  z-index: 1090;
  overflow: visible !important;
}
body.portal-authenticated main {
  padding-top: 0 !important;
  overflow: visible !important;
}
body.portal-authenticated .portal-dashboard-controls,
body.portal-authenticated .lr-page-controls,
body.portal-authenticated .portal-back-bar {
  display: none !important;
}
.lr-enterprise-nav .container-fluid,
.lr-portal-menu-collapse,
.lr-menu-row,
.lr-menu-group {
  overflow: visible !important;
}
.lr-menu-row {
  display: flex;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 4px;
  min-height: var(--lr-portal-nav-height);
  padding: 7px 0;
  white-space: nowrap;
}
.lr-menu-button {
  min-height: 40px;
  padding: .52rem .68rem;
  font-size: clamp(.72rem, .82vw, .84rem);
}
.lr-dashboard-icon-link {
  width: 42px;
  min-width: 42px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(201,168,76,.42);
  border-radius: 10px;
  background: linear-gradient(135deg,#c9a84c,#e7ca74);
  color: #090909;
  text-decoration: none;
  font-size: 1.05rem;
  flex: 0 0 42px;
}
.lr-dashboard-icon-link:hover,
.lr-dashboard-icon-link:focus {
  color: #090909;
  filter: brightness(1.07);
}
.lr-mobile-menu-bar .lr-dashboard-icon-link { display: none; }
.lr-premium-menu {
  z-index: 1200 !important;
  overflow-y: auto !important;
}
@media (max-width: 1199.98px) and (min-width: 992px) {
  .lr-enterprise-nav .container-fluid { padding: 0 12px; }
  .lr-menu-row { gap: 2px; }
  .lr-menu-button { padding-left: .5rem; padding-right: .5rem; font-size: .73rem; }
}
@media (max-width: 991.98px) {
  :root {
    --lr-portal-header-height: 118px;
    --lr-portal-nav-height: 52px;
  }
  body.portal-authenticated .lr-portal-header {
    height: var(--lr-portal-header-height);
  }
  body.portal-authenticated .lr-enterprise-nav {
    top: var(--lr-portal-header-height) !important;
  }
  .lr-mobile-menu-bar { display: flex; }
  .lr-mobile-menu-bar .lr-dashboard-icon-link { display: inline-flex; }
  .lr-desktop-dashboard-link { display: none; }
  .lr-menu-row {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    white-space: normal;
    min-height: 0;
    max-height: calc(100vh - var(--lr-portal-header-height) - var(--lr-portal-nav-height) - 12px);
    overflow-y: auto !important;
  }
  .lr-portal-menu-collapse {
    background: #0b0b0b;
    max-height: calc(100vh - var(--lr-portal-header-height) - var(--lr-portal-nav-height));
    overflow-y: auto !important;
  }
}
@media (max-width: 575.98px) {
  .lr-menu-row { grid-template-columns: 1fr; }
}

/* v61.2.4 menu clarity and icon alignment */
.lr-portal-user{display:none!important}
.lr-menu-button{display:inline-flex;align-items:center;gap:.2rem}
.lr-premium-menu .dropdown-item{display:flex;align-items:center;gap:.15rem}
.lr-premium-menu .dropdown-item i{width:1.15rem;text-align:center;color:#d7b65c}
.lr-premium-menu .dropdown-item.active i,.lr-premium-menu .dropdown-item:hover i{color:#090909}
.lr-menu-button i{color:#d7b65c}
.lr-menu-button.active i,.lr-menu-button[aria-expanded="true"] i,.lr-menu-button:hover i{color:#090909}

/* v61.2.5 Portal overlay clearance
   Keeps every modal, offcanvas panel, popover and floating input surface below
   the fixed portal header/navigation on every authenticated role dashboard. */
body.portal-authenticated {
  --lr-portal-fixed-clearance: calc(var(--lr-portal-header-height) + var(--lr-portal-nav-height));
}
body.portal-authenticated .modal {
  padding-top: calc(var(--lr-portal-fixed-clearance) + 14px) !important;
  padding-bottom: 14px !important;
  overflow-y: auto !important;
}
body.portal-authenticated .modal-dialog {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: auto !important;
}
body.portal-authenticated .modal-dialog-centered {
  min-height: calc(100vh - var(--lr-portal-fixed-clearance) - 28px) !important;
}
body.portal-authenticated .modal-content {
  max-height: calc(100vh - var(--lr-portal-fixed-clearance) - 28px);
  overflow: hidden;
}
body.portal-authenticated .modal-body {
  overflow-y: auto;
  overscroll-behavior: contain;
}
body.portal-authenticated .offcanvas-top {
  top: var(--lr-portal-fixed-clearance) !important;
  height: calc(100vh - var(--lr-portal-fixed-clearance)) !important;
}
body.portal-authenticated .offcanvas-start,
body.portal-authenticated .offcanvas-end {
  top: var(--lr-portal-fixed-clearance) !important;
  height: calc(100vh - var(--lr-portal-fixed-clearance)) !important;
}
body.portal-authenticated .toast-container.position-fixed.top-0,
body.portal-authenticated [data-bs-popper].popover,
body.portal-authenticated [data-bs-popper].tooltip {
  margin-top: var(--lr-portal-fixed-clearance) !important;
}
@media (max-width: 991.98px) {
  body.portal-authenticated .modal {
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-top: calc(var(--lr-portal-fixed-clearance) + 8px) !important;
  }
  body.portal-authenticated .modal-content {
    max-height: calc(100vh - var(--lr-portal-fixed-clearance) - 16px);
  }
  body.portal-authenticated .modal-dialog-centered {
    min-height: calc(100vh - var(--lr-portal-fixed-clearance) - 16px) !important;
  }
}

/* v61.2.6 — hard-lock portal navigation height.
   Dropdowns are overlays and can never participate in nav layout or push page content. */
:root {
  --lr-portal-header-height: 78px;
  --lr-portal-nav-height: 64px;
}
body.portal-authenticated {
  padding-top: calc(var(--lr-portal-header-height) + var(--lr-portal-nav-height)) !important;
  --lr-portal-fixed-clearance: calc(var(--lr-portal-header-height) + var(--lr-portal-nav-height)) !important;
}
body.portal-authenticated .lr-portal-header {
  height: var(--lr-portal-header-height) !important;
  min-height: var(--lr-portal-header-height) !important;
  max-height: var(--lr-portal-header-height) !important;
  overflow: visible !important;
}
body.portal-authenticated .lr-enterprise-nav {
  top: var(--lr-portal-header-height) !important;
  height: var(--lr-portal-nav-height) !important;
  min-height: var(--lr-portal-nav-height) !important;
  max-height: var(--lr-portal-nav-height) !important;
  overflow: visible !important;
}
body.portal-authenticated .lr-enterprise-nav > .container-fluid,
body.portal-authenticated .lr-portal-menu-collapse,
body.portal-authenticated .lr-menu-row {
  height: var(--lr-portal-nav-height) !important;
  min-height: var(--lr-portal-nav-height) !important;
  max-height: var(--lr-portal-nav-height) !important;
  overflow: visible !important;
}
body.portal-authenticated .lr-portal-menu-collapse {
  display: block !important;
  transition: none !important;
}
body.portal-authenticated .lr-menu-row {
  flex-wrap: nowrap !important;
  align-items: center !important;
  padding: 7px 0 !important;
}
body.portal-authenticated .lr-menu-group {
  position: relative !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}
body.portal-authenticated .lr-premium-menu.dropdown-menu {
  position: absolute !important;
  inset: 100% auto auto 0 !important;
  transform: none !important;
  margin-top: 7px !important;
  z-index: 5000 !important;
  max-height: min(65vh, 520px) !important;
  overflow-y: auto !important;
}
body.portal-authenticated main,
body.portal-authenticated .portal-main,
body.portal-authenticated .portal-content {
  margin-top: 0 !important;
}

@media (max-width: 991.98px) {
  :root {
    --lr-portal-header-height: 118px;
    --lr-portal-nav-height: 52px;
  }
  body.portal-authenticated .lr-enterprise-nav,
  body.portal-authenticated .lr-enterprise-nav > .container-fluid {
    height: var(--lr-portal-nav-height) !important;
    min-height: var(--lr-portal-nav-height) !important;
    max-height: var(--lr-portal-nav-height) !important;
  }
  body.portal-authenticated .lr-mobile-menu-bar {
    height: var(--lr-portal-nav-height) !important;
    min-height: var(--lr-portal-nav-height) !important;
  }
  body.portal-authenticated .lr-portal-menu-collapse {
    position: fixed !important;
    top: calc(var(--lr-portal-header-height) + var(--lr-portal-nav-height)) !important;
    left: 0 !important;
    right: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - var(--lr-portal-header-height) - var(--lr-portal-nav-height)) !important;
    overflow-y: auto !important;
    background: #0b0b0b !important;
    z-index: 4990 !important;
  }
  body.portal-authenticated .lr-portal-menu-collapse:not(.show) {
    display: none !important;
  }
  body.portal-authenticated .lr-portal-menu-collapse.show {
    display: block !important;
  }
  body.portal-authenticated .lr-menu-row {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 10px !important;
  }
  body.portal-authenticated .lr-menu-group {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.portal-authenticated .lr-premium-menu.dropdown-menu {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    margin-top: 4px !important;
  }
}

/* =========================================================
   v61.3 — Luxury Rove role web apps and chauffeur workspace
   ========================================================= */
.lr-portal-header-spacer{flex:1 1 auto;min-width:20px}
.lr-search-trigger{flex:0 0 auto}
.lr-search-modal .modal-content{background:linear-gradient(145deg,#171717,#0a0a0a);border:1px solid rgba(212,175,55,.35);border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.75)}
.lr-app-search-box{display:flex;align-items:center;gap:12px;border:1px solid rgba(212,175,55,.35);background:#090909;border-radius:16px;padding:14px 16px}
.lr-app-search-box i{color:#d4af37;font-size:1.2rem}.lr-app-search-box input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:1rem}
.lr-app-search-box input::placeholder{color:#7d7d7d}
.lr-mobile-app-nav{display:none}

.lr-role-app{min-height:100dvh;background:radial-gradient(circle at 85% 0,rgba(212,175,55,.11),transparent 28%),#050505;color:#fff;padding-bottom:92px}
.lr-app-topbar{position:sticky;top:0;z-index:1100;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:76px;padding:10px 18px;background:rgba(5,5,5,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(212,175,55,.22)}
.lr-app-logo img{width:76px;height:48px;object-fit:contain}.lr-app-topbar strong{display:block;font-family:'Cinzel',serif;color:#f7e7a5;font-size:.96rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lr-app-kicker{display:block;color:#d4af37;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;font-weight:700}
.lr-app-top-actions{display:flex;gap:8px}.lr-app-top-actions a{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.14);color:#fff;background:#111}
.lr-app-content{max-width:920px;margin:0 auto;padding:22px 16px 40px}
.lr-app-welcome{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.lr-app-welcome h1{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,7vw,2.8rem);line-height:1;margin:.25rem 0 0}.lr-availability-pill{display:flex;align-items:center;gap:7px;border:1px solid rgba(77,201,127,.35);background:rgba(77,201,127,.09);color:#8ee5ad;padding:8px 11px;border-radius:999px;font-size:.75rem;white-space:nowrap}.lr-availability-pill i{font-size:.48rem}
.lr-active-trip-card{background:linear-gradient(145deg,#202020,#0d0d0d);border:1px solid rgba(212,175,55,.42);border-radius:26px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.35);margin-bottom:18px;overflow:hidden;position:relative}.lr-active-trip-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#f3d46b,#9c761a)}
.lr-active-trip-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.lr-active-trip-top h2{font-family:'Cinzel',serif;color:#fff;font-size:1.25rem;margin:.25rem 0}.lr-active-trip-top small{color:#8f8f8f}.lr-trip-time-row{display:flex;align-items:center;gap:10px;padding:14px 0;margin-top:8px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.lr-trip-time-row i{color:#d4af37}.lr-trip-time-row span{margin-left:auto;color:#bbb;font-size:.8rem}
.lr-app-route{padding:17px 0}.lr-app-route>div:not(.lr-route-line){display:flex;gap:12px;align-items:flex-start}.lr-app-route i{color:#d4af37;margin-top:3px}.lr-app-route span{display:grid;gap:2px}.lr-app-route small{color:#858585;text-transform:uppercase;letter-spacing:.09em;font-size:.65rem}.lr-app-route strong{font-size:.9rem;line-height:1.35}.lr-route-line{height:23px;border-left:1px dashed rgba(212,175,55,.45);margin:3px 0 3px 7px}.lr-active-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}.lr-active-actions .btn{border-radius:14px;padding:12px;font-weight:700}
.lr-empty-active{display:flex;gap:16px;align-items:center;padding:22px;background:linear-gradient(145deg,#171717,#0b0b0b);border:1px solid rgba(255,255,255,.1);border-radius:24px;margin-bottom:18px}.lr-empty-active>i{font-size:2rem;color:#d4af37}.lr-empty-active h2{font-size:1.15rem;margin:.25rem 0}.lr-empty-active p{color:#999;margin:0;font-size:.85rem}
.lr-app-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}.lr-app-stats a{background:#111;border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:14px;color:#fff;text-decoration:none;display:flex;flex-direction:column;min-width:0}.lr-app-stats span,.lr-app-stats small{font-size:.68rem;color:#999}.lr-app-stats strong{font-size:1.35rem;color:#f5d76e;margin:2px 0}
.lr-app-section-head{display:flex;justify-content:space-between;align-items:end;margin:0 2px 12px}.lr-app-section-head h2{font-size:1.25rem;margin:.2rem 0 0}.lr-app-section-head a{color:#d4af37;font-size:.8rem;text-decoration:none}
.lr-app-trip-list{display:grid;gap:11px}.lr-app-trip-card{background:#101010;border:1px solid rgba(255,255,255,.09);border-radius:20px;overflow:hidden}.lr-app-trip-main{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:14px;text-decoration:none;color:#fff}.lr-trip-date{display:grid;place-items:center;background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.28);border-radius:14px;padding:8px 4px}.lr-trip-date strong{font-size:1.15rem}.lr-trip-date span{font-size:.58rem;color:#d4af37;letter-spacing:.1em}.lr-trip-summary{min-width:0}.lr-trip-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.lr-trip-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lr-trip-summary>small{color:#888}.lr-trip-summary p{font-size:.76rem;color:#bbb;margin:7px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lr-trip-summary p i{color:#d4af37;margin-right:5px}.lr-job-response{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px}.lr-job-response form,.lr-job-response button{width:100%}.lr-app-empty-list{display:grid;place-items:center;gap:8px;padding:30px;color:#888;background:#101010;border-radius:20px}.lr-app-empty-list i{font-size:1.7rem;color:#d4af37}.lr-app-empty-list p{margin:0}

@media(max-width:991.98px){
  body.portal-authenticated{padding-bottom:76px}
  .lr-portal-header-inner{grid-template-columns:auto 1fr auto auto!important}.lr-portal-heading-block{min-width:0}.lr-portal-heading{font-size:.82rem}.lr-search-trigger{display:grid!important}.lr-portal-header-spacer{display:none}
  .lr-mobile-app-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:1600;background:rgba(12,12,12,.96);backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,.28);border-radius:20px;padding:7px;box-shadow:0 20px 60px rgba(0,0,0,.65)}
  .lr-mobile-app-nav a{display:grid;place-items:center;gap:2px;color:#aaa;text-decoration:none;padding:7px 2px;border-radius:13px;font-size:.62rem}.lr-mobile-app-nav a i{font-size:1.05rem;color:#d4af37}.lr-mobile-app-nav a:active{background:rgba(212,175,55,.14);color:#fff}
  .lr-application-footer{display:none!important}
}
@media(max-width:575.98px){.lr-active-actions{grid-template-columns:1fr}.lr-app-welcome{align-items:center}.lr-app-stats a{padding:12px 9px}.lr-app-stats strong{font-size:1.12rem}.lr-app-content{padding-inline:12px}.lr-app-topbar{padding-inline:12px}.lr-app-logo img{width:66px}}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.lr-role-app{padding-top:env(safe-area-inset-top)}.lr-app-topbar{padding-top:max(10px,env(safe-area-inset-top))}}

/* =========================================================
   v61.3.1 — readable workflow menus + chauffeur app polish
   ========================================================= */
/* Make all tab/pill workflow menus readable in every portal. */
.lr-workspace-tabs,
.nav.nav-pills,
.nav.nav-tabs{
  gap:8px;
  flex-wrap:wrap;
}
.lr-workspace-tabs .nav-item,
.nav.nav-pills .nav-item,
.nav.nav-tabs .nav-item{
  display:flex;
}
.lr-workspace-tabs .nav-link,
.nav.nav-pills .nav-link,
.nav.nav-tabs .nav-link{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.72rem 1rem!important;
  border:1px solid rgba(212,175,55,.32)!important;
  border-radius:12px!important;
  background:#151515!important;
  color:#f4f0e7!important;
  font-weight:700!important;
  line-height:1.2;
  opacity:1!important;
  text-shadow:none!important;
  white-space:normal;
}
.lr-workspace-tabs .nav-link:hover,
.lr-workspace-tabs .nav-link:focus,
.nav.nav-pills .nav-link:hover,
.nav.nav-pills .nav-link:focus,
.nav.nav-tabs .nav-link:hover,
.nav.nav-tabs .nav-link:focus{
  background:#242018!important;
  border-color:#d4af37!important;
  color:#fff!important;
}
.lr-workspace-tabs .nav-link.active,
.nav.nav-pills .nav-link.active,
.nav.nav-tabs .nav-link.active{
  background:linear-gradient(135deg,#d4af37,#f2d675)!important;
  border-color:#f2d675!important;
  color:#111!important;
  box-shadow:0 8px 24px rgba(212,175,55,.22)!important;
}

/* Chauffeur launch/login should be compact, branded and immediately useful. */
.chauffeur-install-page{
  min-height:100dvh!important;
  place-items:start center!important;
  padding:max(22px,env(safe-area-inset-top)) 16px max(96px,env(safe-area-inset-bottom))!important;
}
.chauffeur-install-card{
  margin-top:0!important;
  padding:22px!important;
  gap:12px!important;
}
.chauffeur-app-logo{
  width:180px!important;
  max-width:64%!important;
  margin:0 auto!important;
}
.chauffeur-install-card h1{font-size:clamp(1.45rem,5.5vw,2.1rem)!important;line-height:1.08}
.chauffeur-install-card .btn{min-height:48px!important}

/* Keep all five bottom actions identical and stable on every chauffeur page. */
.lr-chauffeur-bottom-nav{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  min-height:68px;
}
.lr-chauffeur-bottom-nav a{
  min-width:0;
  min-height:54px;
  grid-template-rows:24px 16px;
  align-content:center;
  overflow:hidden;
}
.lr-chauffeur-bottom-nav a i{font-size:1.1rem!important;line-height:1}
.lr-chauffeur-bottom-nav a span{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.lr-chauffeur-bottom-nav a.is-active{
  color:#111!important;
  background:linear-gradient(135deg,#d4af37,#f2d675)!important;
}
.lr-chauffeur-bottom-nav a.is-active i{color:#111!important}

/* Compact chauffeur home: branded topbar and useful content without an empty hero gap. */
.lr-chauffeur-app .lr-app-content{padding-top:14px!important}
.lr-chauffeur-app .lr-app-welcome{margin-bottom:12px!important}
.lr-chauffeur-app .lr-app-welcome h1{font-size:clamp(1.55rem,6vw,2.25rem)!important}
.lr-chauffeur-app .lr-active-trip-card,
.lr-chauffeur-app .lr-empty-active{margin-bottom:12px!important}
.lr-chauffeur-app .lr-app-stats{margin-bottom:20px!important}

/* Clear date-aware operational timestamp strip. */
.lr-status-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.09)}
.lr-status-stamp{display:grid;gap:3px;min-height:62px;padding:10px 11px;border:1px solid rgba(212,175,55,.22);border-radius:12px;background:#111}
.lr-status-stamp span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:#aaa}
.lr-status-stamp strong{font-variant-numeric:tabular-nums;color:#f2d675;font-size:.88rem}
.lr-status-stamp.is-empty strong{color:#666}
@media(max-width:575.98px){
  .lr-status-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lr-workspace-tabs .nav-item,.nav.nav-pills .nav-item,.nav.nav-tabs .nav-item{flex:1 1 calc(50% - 8px)}
  .lr-workspace-tabs .nav-link,.nav.nav-pills .nav-link,.nav.nav-tabs .nav-link{width:100%;font-size:.82rem;padding:.62rem .7rem!important}
}

/* v61.3.2 role app install cards */
.lr-login-install-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(212,175,55,.5);border-radius:16px;background:linear-gradient(135deg,rgba(212,175,55,.10),rgba(255,255,255,.025));box-shadow:0 14px 30px rgba(0,0,0,.2)}
.lr-login-install-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#d4af37;color:#070707;font-size:1.25rem;flex:0 0 auto}
.lr-login-install-copy{display:flex;flex-direction:column;min-width:0;flex:1}.lr-login-install-copy strong{color:#f4d76a;font-family:Cinzel,serif;font-size:.92rem}.lr-login-install-copy span{color:#d7d7d7;font-size:.78rem;line-height:1.35}
.lr-login-install-button{flex:0 0 auto;color:#050505!important}
@media(max-width:575.98px){.lr-login-install-card{align-items:flex-start;flex-wrap:wrap}.lr-login-install-copy{width:calc(100% - 64px)}.lr-login-install-button{width:100%}}
.status-stage-card time{display:block;margin-top:5px;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:#f4d76a;font-variant-numeric:tabular-nums}

/* =========================================================
   v62.0.0 — Premium UI Foundation
   Global app typography, color clarity and uncompromised tables
   ========================================================= */
:root{
  --lr-app-bg:#080808;
  --lr-app-surface:#11110f;
  --lr-app-surface-soft:#171510;
  --lr-app-border:rgba(212,175,55,.22);
  --lr-app-border-strong:rgba(212,175,55,.38);
  --lr-app-text:#f8f1df;
  --lr-app-text-soft:#c9bea8;
  --lr-app-text-muted:#998f7b;
  --lr-app-focus:rgba(212,175,55,.24);
  --lr-app-radius:14px;
  --lr-app-shadow:0 18px 46px rgba(0,0,0,.34);
}

html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body,
button,
input,
select,
textarea,
.table{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
}
body{letter-spacing:-.006em}
body.portal-authenticated{
  background:radial-gradient(circle at top,#17120a 0,#080808 44%,#050505 100%);
  color:var(--lr-app-text);
}
body.portal-authenticated p,
body.portal-authenticated label,
body.portal-authenticated .text-soft{color:var(--lr-app-text-soft)}
body.portal-authenticated .glass-panel,
body.portal-authenticated .card{
  border-color:var(--lr-app-border);
  box-shadow:var(--lr-app-shadow);
}
body.portal-authenticated .form-control,
body.portal-authenticated .form-select{
  min-height:44px;
  border-color:var(--lr-app-border-strong);
  border-radius:11px;
  font-size:.92rem;
  font-weight:400;
  letter-spacing:-.005em;
}
body.portal-authenticated .form-control:focus,
body.portal-authenticated .form-select:focus{
  border-color:#c9a43a;
  box-shadow:0 0 0 4px var(--lr-app-focus);
}
body.portal-authenticated .btn{
  min-height:40px;
  border-radius:10px;
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.005em;
}

/* Every table gets its own non-compressing horizontal viewport. */
.lr-table-scroll,
.table-responsive,
.luxury-table-wrap,
.luxury-table-wrapper{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:#aab2bd transparent;
}
.lr-table-scroll::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar,
.luxury-table-wrap::-webkit-scrollbar,
.luxury-table-wrapper::-webkit-scrollbar{height:10px}
.lr-table-scroll::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track,
.luxury-table-wrap::-webkit-scrollbar-track,
.luxury-table-wrapper::-webkit-scrollbar-track{background:transparent}
.lr-table-scroll::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb,
.luxury-table-wrap::-webkit-scrollbar-thumb,
.luxury-table-wrapper::-webkit-scrollbar-thumb{
  background:#aab2bd;
  border:3px solid transparent;
  border-radius:999px;
  background-clip:padding-box;
}

/* Never sacrifice column readability to force a table into its card. */
.lr-table-scroll > table,
.table-responsive > table,
.luxury-table-wrap > table,
.luxury-table-wrapper > table{
  width:max-content!important;
  min-width:100%!important;
  table-layout:auto!important;
  margin-bottom:0;
}
table.table th,
table.table td{
  min-width:max-content;
  padding:.82rem 1rem;
  vertical-align:middle;
  line-height:1.35;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:.875rem;
  font-variant-numeric:tabular-nums;
}
table.table th{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.055em;
  text-transform:uppercase;
}
table.table td{font-weight:400}
table.table td strong{font-weight:600}
table.table .wrap-text,
table.table td[data-wrap="true"],
table.table .table-wrap-text{
  min-width:240px;
  max-width:420px;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
table.table th:last-child,
table.table td:last-child{padding-right:1.15rem}
table.table .btn{white-space:nowrap}

body.portal-authenticated table.table{
  --bs-table-bg:var(--lr-app-surface);
  --bs-table-color:var(--lr-app-text);
  --bs-table-border-color:var(--lr-app-border);
  --bs-table-hover-bg:#191711;
  --bs-table-hover-color:var(--lr-app-text);
  color:var(--lr-app-text)!important;
  background:var(--lr-app-surface)!important;
}
body.portal-authenticated table.table > thead > tr > th{
  position:sticky;
  top:0;
  z-index:2;
  color:#526071!important;
  background:#171510!important;
  border-bottom:1px solid var(--lr-app-border-strong)!important;
}
body.portal-authenticated table.table > tbody > tr > td{
  color:var(--lr-app-text)!important;
  background:var(--lr-app-surface)!important;
  border-color:var(--lr-app-border)!important;
}
body.portal-authenticated table.table > tbody > tr:hover > td{background:#191711!important}
body.portal-authenticated table.table a:not(.btn){color:#f2d675}
body.portal-authenticated table.table .text-soft{color:var(--lr-app-text-soft)!important}

/* Sensible floor widths for common operational data. */
table.table th:nth-child(1),table.table td:nth-child(1){min-width:150px}
table.table td a[href*="mailto:"],table.table td:has(a[href*="mailto:"]){min-width:230px}
table.table td a[href*="tel:"],table.table td:has(a[href*="tel:"]){min-width:155px}
table.table th:last-child,table.table td:last-child{min-width:112px}

/* Customer CRM specifically: keep every data point clean and scannable. */
body.portal-authenticated .operations-table th:nth-child(1),
body.portal-authenticated .operations-table td:nth-child(1){min-width:180px}
body.portal-authenticated .operations-table th:nth-child(2),
body.portal-authenticated .operations-table td:nth-child(2){min-width:245px}
body.portal-authenticated .operations-table th:nth-child(3),
body.portal-authenticated .operations-table td:nth-child(3){min-width:165px}
body.portal-authenticated .operations-table th:nth-child(4),
body.portal-authenticated .operations-table td:nth-child(4){min-width:210px}
body.portal-authenticated .operations-table th:nth-child(5),
body.portal-authenticated .operations-table td:nth-child(5){min-width:180px}

@media(max-width:767.98px){
  table.table th,table.table td{padding:.74rem .88rem;font-size:.84rem}
  table.table th{font-size:.69rem}
}


/* v62.0.2 premium regression hotfix */
body.portal-authenticated .page-hero h1,
body.portal-authenticated .section-title,
body.portal-authenticated .lr-portal-heading,
body.portal-authenticated .card-title,
body.portal-authenticated h1,
body.portal-authenticated h2,
body.portal-authenticated h3{font-family:Cinzel,serif;}
body.portal-authenticated .glass-panel,
body.portal-authenticated .card{background:linear-gradient(145deg,rgba(22,20,15,.97),rgba(10,10,9,.98));color:var(--cream);}
body.portal-authenticated .form-control,
body.portal-authenticated .form-select{background:#11110f;color:#f8f1df;}
body.portal-authenticated .form-control::placeholder{color:#8f8674;}


/* v63.2.0 Portal Foundation & Client Experience Refinement */
body.portal-authenticated .lr-dashboard-hero,
body.portal-authenticated .page-hero.compact-hero{padding:2.2rem 0 1.7rem!important;min-height:0!important;}
body.portal-authenticated .lr-dashboard-hero .section-title,
body.portal-authenticated .page-hero.compact-hero .section-title{margin-bottom:.5rem;font-size:clamp(1.75rem,3vw,2.8rem)}
body.portal-authenticated .page-hero .lead-luxury{max-width:780px;margin-bottom:0}
.lr-kpi-card{height:100%;padding:1.25rem 1.35rem;border:1px solid rgba(212,175,55,.28);border-radius:16px;background:linear-gradient(145deg,rgba(27,24,17,.98),rgba(11,11,10,.98));box-shadow:0 14px 30px rgba(0,0,0,.18)}
.lr-kpi-card span{display:block;color:#b9ad96;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;margin-bottom:.55rem}.lr-kpi-card strong{display:block;font-family:Cinzel,serif;color:#f5e7b4;font-size:1.4rem}.lr-kpi-card small{display:block;color:#a89f8f;margin-top:.3rem}
.lr-timeline{display:grid;gap:.75rem}.lr-timeline>div{display:flex;justify-content:space-between;gap:1rem;border-left:3px solid #d4af37;padding:.8rem 1rem;background:rgba(255,255,255,.025);border-radius:0 10px 10px 0}.lr-timeline span{color:#a89f8f}
.lr-notification-list{display:grid;gap:.75rem}.lr-notification-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.lr-notification-list i{color:#d4af37;font-size:1.2rem}.lr-notification-list time{color:#8f8674;font-size:.8rem}
@media(max-width:767.98px){body.portal-authenticated .lr-dashboard-hero,body.portal-authenticated .page-hero.compact-hero{padding:1.35rem 0 1.15rem!important}.lr-notification-list>div{grid-template-columns:auto 1fr}.lr-notification-list time{grid-column:2}}

/* v63.2.1 — Sleek client KPI cards */
.lr-kpi-card{
  min-height:0!important;
  padding:.85rem 1rem!important;
  border-radius:13px!important;
  box-shadow:0 8px 20px rgba(0,0,0,.14)!important;
}
.lr-kpi-card span{margin-bottom:.28rem!important;font-size:.66rem!important;line-height:1.15!important}
.lr-kpi-card strong{font-size:clamp(.98rem,1.2vw,1.18rem)!important;line-height:1.2!important;overflow-wrap:anywhere}
.lr-kpi-card small{margin-top:.18rem!important;font-size:.78rem!important;line-height:1.25!important}
@media (max-width:767.98px){
  .lr-kpi-card{padding:.78rem .88rem!important}
}

/* v63.3.0 compact portal metrics */
.compact-metric,.metric-card{min-height:88px!important;padding:14px 16px!important}.compact-metric strong,.metric-card strong{font-size:1.35rem!important}.compact-metric span,.metric-card span{font-size:.72rem!important}.page-hero.compact-hero{padding-top:2.25rem!important;padding-bottom:1.75rem!important}.message-shell{min-height:520px}


/* v63.3.3 — Cross-portal reservation consistency and sleek pricing */
body.portal-authenticated .metric-card,body.portal-authenticated .compact-metric,body.portal-authenticated .lr-kpi-card{min-height:68px!important;padding:10px 13px!important;border-radius:11px!important;margin-bottom:0!important;box-shadow:0 6px 16px rgba(0,0,0,.12)!important}
body.portal-authenticated .metric-card span,body.portal-authenticated .compact-metric span,body.portal-authenticated .lr-kpi-card span{font-size:.64rem!important;margin-bottom:.2rem!important;letter-spacing:.08em!important}
body.portal-authenticated .metric-card strong,body.portal-authenticated .compact-metric strong,body.portal-authenticated .lr-kpi-card strong{font-size:clamp(.95rem,1.15vw,1.12rem)!important;line-height:1.18!important}
.lr-reservation-table th,.lr-reservation-table td{padding:.72rem .78rem!important;vertical-align:middle!important}.lr-table-actions{display:flex;flex-wrap:wrap;gap:.4rem}.lr-table-actions .btn{min-width:62px}.route-stack{min-width:190px}.quote-approval-panel{max-width:1180px;margin-inline:auto}.quote-approval-panel .quote-summary-row .metric-card{height:100%}.quote-approval-panel .form-label{margin-bottom:.35rem}.quote-approval-panel .form-select,.quote-approval-panel .form-control,.quote-approval-panel .input-group-text{min-height:44px}
@media(max-width:767.98px){.lr-reservation-table{min-width:980px}.quote-approval-panel{padding:1rem!important}}

/* v63.3.4 — Cross-portal compact pricing tiles */
.quote-grid-row.pricing-tiles-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 8px;
    align-items: stretch;
}
.quote-grid-row.pricing-tiles-row .quote-grid-box,
.quote-summary-row .metric-card,
.portal-pricing-grid .metric-card {
    min-height: 64px;
    padding: 11px 13px;
    border-radius: 12px;
}
.quote-grid-row.pricing-tiles-row .quote-grid-box span,
.quote-summary-row .metric-card span,
.portal-pricing-grid .metric-card span {
    font-size: .66rem;
    line-height: 1.15;
    letter-spacing: .07em;
}
.quote-grid-row.pricing-tiles-row .quote-grid-box strong,
.quote-summary-row .metric-card strong,
.portal-pricing-grid .metric-card strong {
    font-size: 1.05rem;
    line-height: 1.2;
    margin-top: 3px;
}
.quote-grid-row.pricing-tiles-row .total-box {
    border-color: rgba(212,175,55,.55);
    background: rgba(212,175,55,.10);
}
@media (max-width: 767.98px) {
    .quote-grid-row.pricing-tiles-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }
    .quote-grid-row.pricing-tiles-row .quote-grid-box,
    .quote-summary-row .metric-card,
    .portal-pricing-grid .metric-card {
        min-height: 54px;
        padding: 8px 9px;
        border-radius: 10px;
    }
    .quote-grid-row.pricing-tiles-row .quote-grid-box span,
    .quote-summary-row .metric-card span,
    .portal-pricing-grid .metric-card span {
        font-size: .58rem;
        letter-spacing: .055em;
    }
    .quote-grid-row.pricing-tiles-row .quote-grid-box strong,
    .quote-summary-row .metric-card strong,
    .portal-pricing-grid .metric-card strong {
        font-size: .9rem;
    }
}

/* v63.3.9 Partner live view idle polling correction */
.partner-live-view-bottom{scroll-margin-top:90px}
.partner-live-view-bottom .live-operations-panel{margin-bottom:0}

/* =========================================================
   v63.4.3 — Cross-portal owner-style typography and tables
   ========================================================= */
body.portal-authenticated,
body.chauffeur-app-mode {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--cream);
}
body.portal-authenticated h1,
body.portal-authenticated h2,
body.portal-authenticated h3,
body.portal-authenticated h4,
body.portal-authenticated h5,
body.portal-authenticated h6,
body.portal-authenticated .section-title,
body.portal-authenticated .lr-portal-heading h1,
body.chauffeur-app-mode h1,
body.chauffeur-app-mode h2,
body.chauffeur-app-mode h3 {
  font-family: Cinzel, Georgia, serif;
  letter-spacing: .012em;
}
body.portal-authenticated .table-responsive,
body.portal-authenticated .luxury-table-wrap,
body.chauffeur-app-mode .table-responsive {
  border: 1px solid rgba(212,175,55,.22);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(19,18,15,.98), rgba(10,10,10,.98));
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
}
body.portal-authenticated table.table,
body.chauffeur-app-mode table.table {
  --bs-table-bg: transparent;
  --bs-table-color: #f7f2e7;
  margin-bottom: 0;
  font-size: .92rem;
}
body.portal-authenticated table.table thead th,
body.chauffeur-app-mode table.table thead th {
  background: #20201d;
  color: #f7f2e7;
  border-bottom: 1px solid rgba(212,175,55,.28);
  padding: 14px 13px;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}
body.portal-authenticated table.table tbody td,
body.chauffeur-app-mode table.table tbody td {
  padding: 15px 13px;
  border-bottom: 1px solid rgba(255,255,255,.075);
  vertical-align: middle;
  line-height: 1.4;
}
body.portal-authenticated table.table tbody tr:hover,
body.chauffeur-app-mode table.table tbody tr:hover {
  background: rgba(212,175,55,.035);
}
.route-stack {
  display: inline-grid;
  gap: 4px;
  min-width: 0;
  white-space: normal;
  text-align: left;
}
.route-stack .route-point {
  display: block;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.route-stack .route-down {
  display: block;
  width: 1.25rem;
  text-align: center;
  color: var(--gold-light);
  font-size: 1.05rem;
  line-height: 1;
}

/* v63.5.0 shared record-type and status consistency */
.lr-record-reservation{background:rgba(27,114,170,.13)!important;border-left:3px solid #4da3d9}
.lr-record-quote{background:rgba(196,144,35,.12)!important;border-left:3px solid #d8ab4e}
.lr-record-internal-event{background:rgba(128,90,168,.13)!important;border-left:3px solid #a77bd2}
.lr-record-operational-event{background:rgba(31,139,104,.13)!important;border-left:3px solid #58b992}
.lr-record-hold{background:rgba(160,77,77,.13)!important;border-left:3px solid #cf7777}
.lr-record-legend{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.82rem}.lr-record-legend span{display:inline-flex;align-items:center;gap:.35rem}.lr-record-legend i{width:.7rem;height:.7rem;border-radius:3px;display:inline-block}

/* v63.6.0 dispatcher QA consistency */
.message-thread small{display:block;margin-top:.25rem;color:var(--bs-secondary-color);font-size:.76rem;line-height:1.25}
.badge.assignment-assigned{background:#1f7a55;color:#fff}.badge.assignment-unassigned{background:#5f6670;color:#fff}

/* v63.7.5 compact chauffeur PWA bottom navigation */
.lr-chauffeur-bottom-nav{bottom:0!important;min-height:54px!important;padding:4px 8px calc(4px + env(safe-area-inset-bottom))!important;border-radius:16px 16px 0 0!important}.lr-chauffeur-bottom-nav a{min-height:42px!important;padding:4px 6px!important;font-size:.66rem!important;gap:2px!important}.lr-chauffeur-bottom-nav a i{font-size:1rem!important}
