/* TuneBooker Pro — SaaS frontend booking UI, built on Bootstrap 5 and scoped to the shortcode wrapper. */
.tbp-booking-wrap,
.tbp-booking-wrap * { box-sizing: border-box; }

.tbp-booking-wrap {
    width: min(100%, var(--tb-form-width, 1220px));
    margin: clamp(14px, 4vw, 42px) auto;
    padding: clamp(10px, 2.4vw, 22px);
    font-family: var(--tb-font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
    color: var(--tb-text, #0f172a);
    background:
        radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--tb-primary, #e11d48) 26%, transparent), transparent 34%),
        radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--tb-accent, #2563eb) 26%, transparent), transparent 30%),
        linear-gradient(135deg, #020617 0%, #0f172a 58%, #111827 100%);
    border-radius: calc(var(--tb-radius, 22px) + 12px);
    box-shadow: 0 32px 100px rgba(2, 6, 23, .30);
    overflow: hidden;
    isolation: isolate;
}

.tbp-booking-wrap .d-none { display: none !important; }
.tbp-booking-wrap .mt-3 { margin-top: 1rem !important; }
.tbp-booking-wrap .mt-4 { margin-top: 1.5rem !important; }
.tbp-booking-wrap .mb-0 { margin-bottom: 0 !important; }
.tbp-booking-wrap .spinner-border-sm { width: 1rem; height: 1rem; border-width: .16em; }

.tbp-shell {
    display: grid;
    grid-template-columns: minmax(280px, var(--tb-sidebar-width, 360px)) minmax(0, 1fr);
    min-height: 720px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--tb-radius, 22px);
    overflow: hidden;
    backdrop-filter: blur(18px);
}

.tbp-sidebar {
    position: relative;
    padding: clamp(22px, 3vw, 34px);
    color: #fff;
    background:
        linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.04)),
        linear-gradient(135deg, rgba(15,23,42,.76), rgba(2,6,23,.36));
    border-right: 1px solid rgba(255,255,255,.14);
}

.tbp-brand-block { display: flex; align-items: center; gap: 14px; margin-bottom: clamp(28px, 4vw, 44px); }
.tbp-brand-logo { width: 58px; height: 58px; object-fit: contain; border-radius: 18px; background: rgba(255,255,255,.12); padding: .4rem; border: 1px solid rgba(255,255,255,.15); }
.tbp-brand-mark { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)); box-shadow: 0 18px 38px rgba(0,0,0,.25); font-size: 1.5rem; }
.tbp-brand-block span { display: block; color: rgba(255,255,255,.68); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.tbp-brand-block strong { display: block; color: #fff; font-size: 1rem; font-weight: 900; margin-top: 2px; }

.tbp-sidebar-copy { margin-bottom: clamp(24px, 4vw, 42px); }
.tbp-kicker { display: inline-flex; align-items: center; gap: .35rem; margin: 0 0 .65rem; color: color-mix(in srgb, var(--tb-primary, #e11d48) 72%, #fff); text-transform: uppercase; letter-spacing: .11em; font-size: .73rem; font-weight: 950; }
.tbp-sidebar-copy h2 { margin: 0 0 .8rem; color: #fff; font-size: clamp(2rem, 4vw, var(--tb-h1-size, 3.35rem)); line-height: .96; letter-spacing: -.055em; font-weight: var(--tb-heading-weight, 950); }
.tbp-sidebar-copy p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.65; font-size: var(--tb-paragraph-size, .98rem); }

.tbp-stepper { display: grid; gap: .8rem; }
.tbp-step {
    width: 100%;
    appearance: none;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.075);
    border-radius: 18px;
    padding: .82rem .9rem;
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: .72rem;
    text-align: left;
    color: rgba(255,255,255,.78);
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.tbp-step span { grid-row: span 2; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,255,255,.11); color: #fff; font-weight: 950; }
.tbp-step strong { color: #fff; font-size: var(--tb-card-title-size, .98rem); line-height: 1.1; }
.tbp-step small { color: rgba(255,255,255,.58); font-size: var(--tb-small-text-size, .78rem); }
.tbp-step.active { background: rgba(255,255,255,.15); border-color: color-mix(in srgb, var(--tb-primary, #e11d48) 55%, #fff); box-shadow: 0 18px 38px rgba(0,0,0,.18); transform: translateY(-1px); }
.tbp-step.active span,
.tbp-step.complete span { background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)); }
.tbp-step.complete { border-color: rgba(34,197,94,.35); }

.tbp-trust-stack { display: grid; gap: .7rem; margin-top: clamp(24px, 4vw, 42px); }
.tbp-trust-stack div { display: flex; align-items: center; gap: .65rem; padding: .72rem .85rem; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.78); font-size: var(--tb-small-text-size, .88rem); font-weight: 750; }
.tbp-trust-stack i { color: color-mix(in srgb, var(--tb-primary, #e11d48) 65%, #fff); }

.tbp-main-panel { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98)); }
.tbp-booking-form { min-height: 100%; display: flex; flex-direction: column; }
.tbp-alert-slot { display: none; margin: clamp(18px, 2vw, 26px) clamp(18px, 3vw, 34px) 0; }
.tbp-booking-wrap .alert { border-radius: 16px; border: 1px solid transparent; font-weight: 750; }

.tbp-step-panel { padding: clamp(22px, 4vw, 42px); flex: 1 1 auto; }
.tbp-section-heading { margin-bottom: 1.35rem; }
.tbp-section-heading h3 { margin: 0 0 .45rem; color: #0f172a; font-size: clamp(1.55rem, 3vw, var(--tb-section-title-size, 2.25rem)); line-height: 1.05; letter-spacing: -.035em; font-weight: var(--tb-heading-weight, 950); }
.tbp-section-heading p { margin: 0; max-width: 760px; color: #64748b; line-height: 1.65; font-size: var(--tb-paragraph-size, 1rem); }

.tbp-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.tbp-service-card {
    position: relative;
    min-height: 210px;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    padding: 1.05rem;
    border-radius: 22px;
    background: linear-gradient(180deg, #fff, #fbfdff);
    border: 1px solid #e2e8f0;
    box-shadow: 0 16px 35px rgba(15,23,42,.07);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    overflow: hidden;
}
.tbp-service-card:before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--svc-color, var(--tb-primary, #e11d48)), var(--tb-accent, #2563eb)); opacity: .95; }
.tbp-service-card input { position: absolute; opacity: 0; pointer-events: none; }
.tbp-service-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--tb-primary, #e11d48) 35%, #e2e8f0); box-shadow: 0 24px 45px rgba(15,23,42,.11); }
.tbp-service-card.is-selected { border-color: var(--tb-primary, #e11d48); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tb-primary, #e11d48) 14%, transparent), 0 26px 55px rgba(15,23,42,.14); }
.tbp-service-top { display: flex; align-items: center; justify-content: space-between; }
.tbp-service-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 16px; background: color-mix(in srgb, var(--svc-color, var(--tb-primary, #e11d48)) 13%, #fff); color: var(--svc-color, var(--tb-primary, #e11d48)); font-size: 1.25rem; }
.tbp-selected-check { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)); opacity: 0; transform: scale(.8); transition: .18s ease; }
.tbp-service-card.is-selected .tbp-selected-check { opacity: 1; transform: scale(1); }
.tbp-service-title { color: #0f172a; font-size: var(--tb-card-title-size, 1.08rem); line-height: 1.2; font-weight: var(--tb-heading-weight, 950); }
.tbp-service-desc { color: #64748b; line-height: 1.55; font-size: var(--tb-paragraph-size, .9rem); flex: 1 1 auto; }
.tbp-service-meta { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding-top: .75rem; border-top: 1px solid #edf2f7; color: #64748b; font-size: .88rem; }
.tbp-service-meta strong { color: #0f172a; font-size: 1.05rem; }

.tbp-mini-heading { margin: 0 0 .85rem; }
.tbp-mini-heading h4 { margin: 0; color: #0f172a; font-weight: 950; }
.tbp-mini-heading p { margin: .15rem 0 0; color: #64748b; }
.tbp-addons-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .85rem; }
.tbp-addon-card { display: flex; justify-content: space-between; gap: .8rem; border: 1px solid #e2e8f0; border-radius: 18px; padding: .9rem; background: #fff; cursor: pointer; }
.tbp-addon-card strong { display: block; color: #0f172a; }
.tbp-addon-card small { display: block; color: #64748b; margin-top: .15rem; }
.tbp-addon-card em { color: var(--tb-primary, #e11d48); font-style: normal; font-weight: 900; }

.tbp-date-time-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 1.1rem; }
.tbp-calendar-card,
.tbp-times-card,
.tbp-summary-card,
.tbp-payment-card,
.tbp-vehicle-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 24px; box-shadow: 0 18px 42px rgba(15,23,42,.075); padding: clamp(16px, 2.5vw, 24px); }
.tbp-calendar-header { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-bottom: 1rem; }
.tbp-cal-month-label { color: #0f172a; font-size: 1.05rem; font-weight: 950; }
.tbp-weekdays,
.tbp-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: .55rem; }
.tbp-weekdays { margin-bottom: .65rem; }
.tbp-weekdays span { text-align: center; color: #64748b; font-size: .75rem; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.tbp-cal-spacer { min-height: 46px; }
.tbp-cal-date { min-height: 48px; border-radius: 15px !important; border: 1px solid #e2e8f0 !important; background: #f8fafc !important; color: #334155 !important; font-weight: 900 !important; }
.tbp-cal-date.has-slots { background: #fff !important; border-color: color-mix(in srgb, var(--tb-primary, #e11d48) 35%, #e2e8f0) !important; color: #0f172a !important; }
.tbp-cal-date.has-slots:after { content: ""; width: 5px; height: 5px; border-radius: 999px; background: var(--tb-primary, #e11d48); position: absolute; bottom: 7px; left: 50%; transform: translateX(-50%); }
.tbp-cal-date.active { background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important; color: #fff !important; border-color: transparent !important; box-shadow: 0 14px 28px color-mix(in srgb, var(--tb-primary, #e11d48) 25%, transparent); }
.tbp-cal-date.is-disabled { opacity: .42; cursor: not-allowed; }

.tbp-times-head { display: flex; align-items: flex-start; gap: .9rem; margin-bottom: 1rem; }
.tbp-times-head > i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 15px; color: var(--tb-primary, #e11d48); background: color-mix(in srgb, var(--tb-primary, #e11d48) 12%, #fff); }
.tbp-times-head h4 { margin: 0; color: #0f172a; font-weight: 950; }
.tbp-times-head p { margin: .2rem 0 0; color: #64748b; font-size: .9rem; }
.tbp-time-slots { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; }
.tbp-time-slot { border-radius: 15px !important; min-height: 48px; background: #f8fafc !important; border: 1px solid #e2e8f0 !important; color: #0f172a !important; font-weight: 900 !important; }
.tbp-time-slot:hover,
.tbp-time-slot.active { background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important; color: #fff !important; border-color: transparent !important; }
.tbp-empty-times,
.tbp-loading-times { grid-column: 1 / -1; display: grid; gap: .25rem; place-items: center; text-align: center; min-height: 170px; padding: 1rem; color: #64748b; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 18px; }
.tbp-empty-times strong,
.tbp-loading-times strong { color: #0f172a; }
.tbp-empty-times small,
.tbp-loading-times small { color: #64748b; }

.tbp-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.tbp-form-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 1rem; }
.tbp-field { min-width: 0; }
.tbp-field.tbp-full { grid-column: 1 / -1; }
.tbp-booking-wrap .form-label { display: block; margin-bottom: .45rem; color: #334155; font-size: .86rem; font-weight: 900; }
.tbp-booking-wrap .form-control { width: 100%; min-height: 50px; border-radius: 16px; border: 1px solid #dbe3ef; background: #fff; color: #0f172a; font-size: .96rem; padding: .78rem .95rem; box-shadow: none; }
.tbp-booking-wrap .form-control:focus { border-color: var(--tb-primary, #e11d48); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tb-primary, #e11d48) 14%, transparent); }
.tbp-booking-wrap .form-control.is-invalid { border-color: #dc2626; box-shadow: 0 0 0 4px rgba(220,38,38,.1); }
.tbp-booking-wrap textarea.form-control { min-height: 118px; resize: vertical; }
.tbp-vehicle-card { margin-top: 1rem; }
.tbp-vehicle-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; }
.tbp-vehicle-header h4 { margin: 0; color: #0f172a; font-weight: 950; }
.tbp-api-badge { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .7rem; border-radius: 999px; background: #ecfdf5; color: #047857; font-size: .78rem; font-weight: 900; }
.tbp-vrm-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .8rem; align-items: end; }
.tbp-vrm-status { margin-top: .75rem; padding: .75rem .9rem; border-radius: 16px; background: #f8fafc; border: 1px solid #e2e8f0; color: #64748b; display: none; }
.tbp-vrm-status.success { display: block; background: #ecfdf5; border-color: #a7f3d0; color: #065f46; }
.tbp-vrm-status.error { display: block; background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.tbp-vrm-status.loading { display: block; background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }

.tbp-review-layout { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: 1.1rem; }
.tbp-summary-card h4,
.tbp-payment-card h4 { margin: 0 0 1rem; color: #0f172a; font-weight: 950; }
.tbp-summary-card > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #edf2f7; }
.tbp-summary-card span { color: #64748b; font-weight: 800; }
.tbp-summary-card strong { color: #0f172a; text-align: right; }
.tbp-summary-total strong { font-size: 1.25rem; color: var(--tb-primary, #e11d48); }
.tbp-gateway-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }
.tbp-gateway-card { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .9rem; border: 1px solid #e2e8f0; border-radius: 18px; background: #fff; cursor: pointer; transition: .18s ease; }
.tbp-gateway-card input { position: absolute; opacity: 0; pointer-events: none; }
.tbp-gateway-card span { color: #0f172a; font-weight: 950; }
.tbp-gateway-card small { color: #64748b; font-weight: 800; }
.tbp-gateway-card.is-selected { border-color: var(--tb-primary, #e11d48); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tb-primary, #e11d48) 12%, transparent); }
.tbp-terms { display: flex; align-items: flex-start; gap: .55rem; margin-top: 1rem; color: #475569; }

.tbp-actions { display: flex; align-items: center; justify-content: space-between; gap: .85rem; padding: clamp(16px, 3vw, 26px) clamp(22px, 4vw, 42px); border-top: 1px solid #e2e8f0; background: rgba(255,255,255,.72); backdrop-filter: blur(12px); }
.tbp-actions .btn { min-height: 50px; font-size: var(--tb-button-text-size, 15px); border-radius: 999px; padding: .75rem 1.25rem; font-weight: 950; }
.tbp-actions .btn-primary,
.tbp-booking-wrap .btn-primary { color: var(--tb-btn-text, #fff) !important; background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important; border-color: transparent !important; box-shadow: 0 16px 30px color-mix(in srgb, var(--tb-primary, #e11d48) 22%, transparent); }
.tbp-actions .btn-primary:hover,
.tbp-booking-wrap .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 20px 38px color-mix(in srgb, var(--tb-primary, #e11d48) 28%, transparent); }
.tbp-booking-wrap .btn-outline-secondary,
.tbp-booking-wrap .btn-light { color: #0f172a !important; background: #fff !important; border: 1px solid #e2e8f0 !important; }

.tbp-success-panel { text-align: center; padding-top: clamp(50px, 8vw, 90px); padding-bottom: clamp(50px, 8vw, 90px); }
.tbp-success-icon { width: 78px; height: 78px; margin: 0 auto 1rem; display: grid; place-items: center; border-radius: 28px; color: #fff; background: linear-gradient(135deg, #10b981, #22c55e); box-shadow: 0 18px 40px rgba(16,185,129,.25); font-size: 2.2rem; }
.tbp-success-panel h3 { margin: 0 0 .6rem; color: #0f172a; font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 950; }
.tbp-success-panel p { color: #64748b; }

@media (max-width: 1100px) {
    .tbp-shell { grid-template-columns: 1fr; }
    .tbp-sidebar { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
    .tbp-sidebar-copy h2 { max-width: 760px; }
    .tbp-stepper { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .tbp-step { grid-template-columns: 34px 1fr; }
    .tbp-step span { width: 34px; height: 34px; border-radius: 12px; }
    .tbp-trust-stack { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 920px) {
    .tbp-services-grid,
    .tbp-addons-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tbp-date-time-layout,
    .tbp-review-layout { grid-template-columns: 1fr; }
    .tbp-form-grid,
    .tbp-form-grid-4 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
    .tbp-booking-wrap { margin: 0 auto; padding: 0; border-radius: 0; }
    .tbp-shell { border-radius: 0; min-height: 0; }
    .tbp-sidebar { padding: 20px; }
    .tbp-sidebar-copy { margin-bottom: 1rem; }
    .tbp-stepper { grid-template-columns: 1fr 1fr; gap: .55rem; }
    .tbp-step { padding: .65rem; }
    .tbp-step small { display: none; }
    .tbp-trust-stack { grid-template-columns: 1fr; }
    .tbp-step-panel { padding: 20px; }
    .tbp-services-grid,
    .tbp-addons-grid,
    .tbp-form-grid,
    .tbp-form-grid-4,
    .tbp-gateway-list { grid-template-columns: 1fr; }
    .tbp-vrm-row { grid-template-columns: 1fr; }
    .tbp-time-slots { grid-template-columns: 1fr; }
    .tbp-actions { position: sticky; bottom: 0; z-index: 5; padding: 14px 20px; background: rgba(255,255,255,.92); }
    .tbp-actions .btn { flex: 1 1 auto; }
}

/* === Final SaaS frontend responsive foundation === */
.tbp-booking-wrap {
    container-type: inline-size;
    width: 100% !important;
    max-width: var(--tb-form-width, 1280px) !important;
    min-width: 0 !important;
}
.tbp-shell,
.tbp-main-panel,
.tbp-sidebar,
.tbp-step-panel,
.tbp-services-grid,
.tbp-service-card,
.tbp-date-time-layout,
.tbp-review-layout,
.tbp-form-grid,
.tbp-addons-grid { min-width: 0 !important; }
.tbp-service-title,
.tbp-service-desc,
.tbp-sidebar-copy h2,
.tbp-section-heading h3 {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}
.tbp-services-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)) !important;
    align-items: stretch;
}
.tbp-service-card { width: 100%; min-height: 0; }
.tbp-addons-step {
    margin-bottom: 1.2rem;
    padding: clamp(16px,2.4vw,24px);
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    background: linear-gradient(180deg,#ffffff,#f8fafc);
    box-shadow: 0 18px 42px rgba(15,23,42,.07);
}
.tbp-addons-step[hidden] { display: none !important; }
.tbp-addon-card {
    position: relative;
    align-items: flex-start;
    min-height: 92px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tbp-addon-card input { margin-top: .25rem; }
.tbp-addon-card:has(input:checked),
.tbp-addon-card.is-selected {
    border-color: var(--tb-primary, #e11d48);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--tb-primary, #e11d48) 12%, transparent);
}
.tbp-addon-card:hover { transform: translateY(-2px); }
.tbp-date-time-layout { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); }
.tbp-cal-date,
.tbp-time-slot,
.tbp-actions .btn,
.tbp-booking-wrap .btn { touch-action: manipulation; }

@container (max-width: 980px) {
    .tbp-shell { grid-template-columns: 1fr !important; min-height: 0 !important; }
    .tbp-sidebar { border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14) !important; }
    .tbp-sidebar-copy h2 { font-size: clamp(2rem, 8cqw, 3rem) !important; max-width: 100% !important; }
    .tbp-stepper { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
    .tbp-step { grid-template-columns: 34px minmax(0,1fr) !important; }
    .tbp-step span { width: 34px !important; height: 34px !important; }
    .tbp-trust-stack { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
    .tbp-date-time-layout,
    .tbp-review-layout { grid-template-columns: 1fr !important; }
    .tbp-form-grid,
    .tbp-form-grid-4 { grid-template-columns: 1fr 1fr !important; }
}

@container (max-width: 680px) {
    .tbp-booking-wrap { padding: 0 !important; margin: 0 auto !important; border-radius: 0 !important; }
    .tbp-shell { border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; }
    .tbp-sidebar { padding: 20px !important; }
    .tbp-brand-block { margin-bottom: 20px !important; }
    .tbp-stepper { grid-template-columns: 1fr 1fr !important; gap: .55rem !important; }
    .tbp-step { padding: .65rem !important; }
    .tbp-step small { display: none !important; }
    .tbp-trust-stack { grid-template-columns: 1fr !important; }
    .tbp-step-panel { padding: 20px !important; }
    .tbp-services-grid,
    .tbp-addons-grid,
    .tbp-form-grid,
    .tbp-form-grid-4,
    .tbp-gateway-list { grid-template-columns: 1fr !important; }
    .tbp-vrm-row { grid-template-columns: 1fr !important; }
    .tbp-time-slots { grid-template-columns: 1fr !important; }
    .tbp-weekdays,
    .tbp-calendar-days { gap: .35rem !important; }
    .tbp-cal-date { min-height: 42px !important; border-radius: 12px !important; padding: .35rem !important; }
    .tbp-actions { position: sticky !important; bottom: 0 !important; z-index: 5 !important; padding: 14px 20px !important; background: rgba(255,255,255,.94) !important; }
    .tbp-actions .btn { flex: 1 1 auto !important; min-width: 0 !important; }
}

/* === 2026 SaaS frontend tidy pass: readable, spacious, responsive, package-ready === */
.tbp-booking-wrap {
    width: min(100%, var(--tb-form-width, 1280px)) !important;
    max-width: 1280px !important;
    margin: clamp(16px, 4vw, 42px) auto !important;
    padding: clamp(12px, 2vw, 20px) !important;
    font-family: Inter, var(--tb-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
    background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 45%, #fff7ed 100%) !important;
    color: var(--tb-text, #0f172a) !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.tbp-shell {
    grid-template-columns: minmax(245px, 315px) minmax(0, 1fr) !important;
    min-height: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 28px !important;
    box-shadow: 0 24px 70px rgba(15,23,42,.12) !important;
    backdrop-filter: none !important;
}
.tbp-sidebar {
    background: linear-gradient(180deg, #0f172a 0%, #111827 100%) !important;
    padding: clamp(22px, 3vw, 32px) !important;
}
.tbp-main-panel { background: #fff !important; }
.tbp-step-panel { padding: clamp(24px, 4vw, 44px) !important; }
.tbp-sidebar-copy h2 { font-size: clamp(1.85rem, 3vw, 3rem) !important; letter-spacing: -.04em !important; line-height: 1.02 !important; }
.tbp-sidebar-copy p,
.tbp-section-heading p,
.tbp-service-desc,
.tbp-mini-heading p { font-size: clamp(.95rem, 1.1vw, 1rem) !important; line-height: 1.62 !important; }
.tbp-section-heading { margin-bottom: 1.5rem !important; }
.tbp-section-heading h3 { font-size: clamp(1.55rem, 2.6vw, 2.35rem) !important; letter-spacing: -.03em !important; }
.tbp-choice-group { margin-top: 1.2rem !important; }
.tbp-choice-group:first-of-type { margin-top: 0 !important; }
.tbp-choice-group-head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin: 0 0 .75rem !important;
    padding: 0 .1rem !important;
}
.tbp-choice-group-head span { color: #0f172a !important; font-size: .92rem !important; font-weight: 900 !important; letter-spacing: -.01em !important; }
.tbp-choice-group-head small { color: #64748b !important; font-weight: 650 !important; text-align: right !important; }
.tbp-services-grid,
.tbp-packages-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)) !important;
    gap: clamp(14px, 2vw, 18px) !important;
    align-items: stretch !important;
}
.tbp-service-card {
    min-height: 188px !important;
    padding: clamp(18px, 2.2vw, 24px) !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 12px 34px rgba(15,23,42,.07) !important;
}
.tbp-service-card:hover { transform: translateY(-2px) !important; box-shadow: 0 20px 45px rgba(15,23,42,.12) !important; }
.tbp-service-card.is-selected { border-color: var(--tb-primary, #e11d48) !important; box-shadow: 0 0 0 4px rgba(225,29,72,.10), 0 22px 50px rgba(15,23,42,.13) !important; }
.tbp-service-icon { background: #f1f5f9 !important; color: var(--svc-color, var(--tb-primary, #e11d48)) !important; }
.tbp-package-pill {
    display: inline-flex !important;
    align-self: flex-start !important;
    padding: .25rem .55rem !important;
    border-radius: 999px !important;
    background: rgba(37,99,235,.10) !important;
    color: #1d4ed8 !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
.tbp-service-title { font-size: clamp(1.02rem, 1.25vw, 1.2rem) !important; letter-spacing: -.015em !important; }
.tbp-service-meta { font-size: .92rem !important; }
.tbp-service-meta strong { font-size: 1.15rem !important; }
.tbp-date-time-layout,
.tbp-review-layout { gap: clamp(16px, 2vw, 22px) !important; }
.tbp-calendar-card,
.tbp-times-card,
.tbp-summary-card,
.tbp-payment-card,
.tbp-vehicle-card,
.tbp-addons-step {
    border-radius: 24px !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 14px 40px rgba(15,23,42,.07) !important;
}
.tbp-form-grid { gap: 1rem !important; }
.tbp-booking-wrap .form-control,
.tbp-booking-wrap .form-select {
    min-height: 52px !important;
    border-radius: 16px !important;
    border-color: #dbe3ef !important;
    font-size: 1rem !important;
}
.tbp-booking-wrap .btn,
.tbp-actions .btn {
    min-height: 48px !important;
    border-radius: 16px !important;
    font-weight: 850 !important;
    letter-spacing: -.005em !important;
}
.tbp-actions {
    border-top: 1px solid #edf2f7 !important;
    background: rgba(255,255,255,.96) !important;
}
.tbp-time-slots { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important; }
.tbp-time-slot { background: #f8fafc !important; border: 1px solid #e2e8f0 !important; color: #0f172a !important; }
.tbp-time-slot.active { background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important; color: #fff !important; border-color: transparent !important; }
.tbp-cal-date.has-slots { background: #eff6ff !important; color: #1d4ed8 !important; border-color: #bfdbfe !important; }
.tbp-cal-date.active { background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important; color: #fff !important; }
@media (min-width: 1180px) {
    .tbp-services-grid,
    .tbp-packages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 980px) {
    .tbp-booking-wrap { max-width: 100% !important; padding: 8px !important; }
    .tbp-shell { grid-template-columns: 1fr !important; border-radius: 24px !important; }
    .tbp-sidebar { border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14) !important; }
    .tbp-stepper { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .tbp-trust-stack { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .tbp-date-time-layout,
    .tbp-review-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
    .tbp-booking-wrap { margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
    .tbp-shell { border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; }
    .tbp-sidebar { padding: 18px !important; }
    .tbp-stepper { grid-template-columns: 1fr 1fr !important; }
    .tbp-trust-stack { display: none !important; }
    .tbp-step-panel { padding: 18px !important; }
    .tbp-services-grid,
    .tbp-packages-grid,
    .tbp-addons-grid,
    .tbp-form-grid,
    .tbp-form-grid-4,
    .tbp-gateway-list { grid-template-columns: 1fr !important; }
    .tbp-choice-group-head { display: block !important; }
    .tbp-choice-group-head small { display: block !important; text-align: left !important; margin-top: .15rem !important; }
    .tbp-actions { padding: 12px 14px !important; gap: .65rem !important; }
    .tbp-actions .btn { flex: 1 1 0 !important; }
}

/* === 2026 streamlined SaaS booking flow: packages vs single services === */
.tbp-booking-wrap {
    width: 100% !important;
    max-width: min(1440px, calc(100vw - 28px)) !important;
    box-sizing: border-box !important;
    font-family: Inter, var(--tb-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
}
.tbp-booking-wrap *,
.tbp-booking-wrap *::before,
.tbp-booking-wrap *::after { box-sizing: border-box !important; }
.tbp-shell {
    grid-template-columns: minmax(230px, 300px) minmax(0, 1fr) !important;
    align-items: stretch !important;
}
.tbp-main-panel { min-width: 0 !important; }
.tbp-section-heading {
    display: grid !important;
    gap: .28rem !important;
    margin-bottom: clamp(16px, 2vw, 24px) !important;
}
.tbp-section-heading h3 {
    margin: 0 !important;
    max-width: 840px !important;
}
.tbp-section-heading p {
    max-width: 760px !important;
    margin: 0 !important;
    color: #64748b !important;
}
.tbp-choice-router {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 8px !important;
    margin: 0 0 20px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 22px !important;
    background: #f8fafc !important;
}
.tbp-choice-toggle {
    appearance: none !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    text-align: left !important;
    padding: 13px 14px !important;
    border: 1px solid transparent !important;
    border-radius: 17px !important;
    background: transparent !important;
    color: #0f172a !important;
    cursor: pointer !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
}
.tbp-choice-toggle:hover { transform: translateY(-1px) !important; background: #fff !important; }
.tbp-choice-toggle.is-active {
    background: #fff !important;
    border-color: color-mix(in srgb, var(--tb-primary, #e11d48) 35%, #e2e8f0) !important;
    box-shadow: 0 12px 32px rgba(15,23,42,.08), 0 0 0 4px color-mix(in srgb, var(--tb-primary, #e11d48) 10%, transparent) !important;
}
.tbp-choice-icon {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--tb-primary, #e11d48) 15%, #fff), #eef2ff) !important;
    color: var(--tb-primary, #e11d48) !important;
    font-size: 1.15rem !important;
}
.tbp-choice-toggle strong {
    display: block !important;
    color: #0f172a !important;
    font-size: .98rem !important;
    font-weight: 950 !important;
    letter-spacing: -.015em !important;
}
.tbp-choice-toggle small {
    display: block !important;
    margin-top: 1px !important;
    color: #64748b !important;
    font-size: .78rem !important;
    font-weight: 750 !important;
}
.tbp-choice-group[hidden] { display: none !important; }
.tbp-choice-group-head {
    margin-bottom: 10px !important;
    align-items: center !important;
}
.tbp-services-grid,
.tbp-packages-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)) !important;
    gap: 12px !important;
}
.tbp-service-card {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) auto !important;
    grid-template-areas:
        "icon title price"
        "icon desc price"
        "icon meta price" !important;
    align-items: center !important;
    column-gap: 13px !important;
    row-gap: 3px !important;
    min-height: 118px !important;
    padding: 15px !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    overflow: hidden !important;
}
.tbp-service-card input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.tbp-service-top {
    grid-area: icon !important;
    align-self: center !important;
    display: block !important;
}
.tbp-service-icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 15px !important;
    font-size: 1.1rem !important;
}
.tbp-selected-check {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 999px !important;
    opacity: 0 !important;
    transform: scale(.88) !important;
}
.tbp-service-card.is-selected .tbp-selected-check {
    opacity: 1 !important;
    transform: scale(1) !important;
}
.tbp-package-pill {
    grid-column: 2 / 3 !important;
    width: fit-content !important;
    margin-bottom: 2px !important;
    padding: .18rem .46rem !important;
    font-size: .66rem !important;
}
.tbp-service-title {
    grid-area: title !important;
    min-width: 0 !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
}
.tbp-service-desc {
    grid-area: desc !important;
    min-width: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #64748b !important;
    font-size: .84rem !important;
    line-height: 1.38 !important;
}
.tbp-service-meta {
    grid-area: meta !important;
    display: flex !important;
    gap: .65rem !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #475569 !important;
    font-size: .82rem !important;
}
.tbp-service-meta strong {
    grid-area: price !important;
    align-self: center !important;
    justify-self: end !important;
    color: #0f172a !important;
    font-size: 1.05rem !important;
    white-space: nowrap !important;
}
.tbp-date-time-layout {
    grid-template-columns: minmax(0, 1fr) minmax(285px, 360px) !important;
}
.tbp-calendar-card,
.tbp-times-card,
.tbp-addons-step,
.tbp-vehicle-card,
.tbp-summary-card,
.tbp-payment-card {
    border-radius: 22px !important;
}
.tbp-time-slots {
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)) !important;
}
.tbp-time-slot,
.tbp-cal-date {
    border-radius: 14px !important;
}
.tbp-actions {
    justify-content: flex-end !important;
}
.tbp-actions .tbp-back { margin-right: auto !important; }
.tbp-actions .btn {
    min-width: 130px !important;
}
@media (max-width: 1100px) {
    .tbp-shell { grid-template-columns: 1fr !important; }
    .tbp-sidebar-copy h2 { font-size: clamp(1.65rem, 5vw, 2.45rem) !important; }
}
@media (max-width: 780px) {
    .tbp-booking-wrap { max-width: 100% !important; margin: 0 auto !important; padding: 0 !important; }
    .tbp-choice-router { grid-template-columns: 1fr !important; }
    .tbp-service-card {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        grid-template-areas:
            "icon title"
            "icon desc"
            "icon meta" !important;
    }
    .tbp-service-meta { justify-content: space-between !important; }
    .tbp-service-meta strong { margin-left: auto !important; }
    .tbp-date-time-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 520px) {
    .tbp-step-panel { padding: 16px !important; }
    .tbp-services-grid,
    .tbp-packages-grid { grid-template-columns: 1fr !important; }
    .tbp-service-card { min-height: 104px !important; padding: 13px !important; }
    .tbp-service-icon { width: 40px !important; height: 40px !important; }
    .tbp-actions { display: grid !important; grid-template-columns: 1fr 1fr !important; }
    .tbp-actions .tbp-next,
    .tbp-actions .tbp-submit { grid-column: 2 !important; }
    .tbp-actions .tbp-back { grid-column: 1 !important; margin-right: 0 !important; }
    .tbp-actions .btn { min-width: 0 !important; width: 100% !important; }
}


/* Payment methods — clear, visible, and synced from Settings > Payments */
.tbp-gateway-list[data-gateway-count="1"] { grid-template-columns: 1fr !important; }
.tbp-gateway-card { position: relative; min-height: 72px; }
.tbp-gateway-card:has(input:checked) { border-color: var(--tb-primary, #e11d48); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tb-primary, #e11d48) 12%, transparent); }
.tbp-gateway-card small { max-width: 58%; text-align: right; line-height: 1.25; }
@media (max-width: 700px) { .tbp-gateway-card small { max-width: none; text-align: left; } }


/* Vehicle details visibility hardening — keeps the manual fields visible even when a theme/page builder adds broad form styles. */
.tbp-booking-wrap .tbp-vehicle-card[data-tbp-vehicle-section="1"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #ffffff !important;
    color: #0f172a !important;
}
.tbp-booking-wrap .tbp-vehicle-card .tbp-vehicle-header,
.tbp-booking-wrap .tbp-vehicle-card .tbp-vrm-row {
    display: flex !important;
    visibility: visible !important;
}
.tbp-booking-wrap .tbp-vehicle-card .tbp-vrm-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}
.tbp-booking-wrap .tbp-vehicle-card .tbp-vehicle-manual-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)) !important;
    gap: 1rem !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.tbp-booking-wrap .tbp-vehicle-card .tbp-field,
.tbp-booking-wrap .tbp-vehicle-card label,
.tbp-booking-wrap .tbp-vehicle-card input,
.tbp-booking-wrap .tbp-vehicle-card .form-control {
    visibility: visible !important;
}
.tbp-booking-wrap .tbp-vehicle-card .form-label {
    color: #334155 !important;
}
.tbp-booking-wrap .tbp-vehicle-card .form-control {
    color: #0f172a !important;
    background: #ffffff !important;
    opacity: 1 !important;
}
.tbp-booking-wrap .tbp-vehicle-help {
    margin: .8rem 0 0 !important;
    color: #64748b !important;
    font-size: .88rem !important;
    font-weight: 650 !important;
}
@media (max-width: 620px) {
    .tbp-booking-wrap .tbp-vehicle-card .tbp-vrm-row { grid-template-columns: 1fr !important; }
    .tbp-booking-wrap .tbp-vehicle-card .tbp-vrm-lookup { width: 100% !important; }
}


/* v1.5.4 frontend vehicle white-screen hard fix */
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-force,
.tbp-booking-wrap [data-panel="3"] [data-tbp-force-vehicle="1"],
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-rebuilt {
    display: block !important;
    min-height: 220px !important;
    padding: clamp(16px, 2.5vw, 24px) !important;
    margin-top: 1rem !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 24px !important;
    color: #0f172a !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-force *,
.tbp-booking-wrap [data-panel="3"] [data-tbp-force-vehicle="1"] *,
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-rebuilt * {
    visibility: visible !important;
    opacity: 1 !important;
}
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-force label,
.tbp-booking-wrap [data-panel="3"] [data-tbp-force-vehicle="1"] label,
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-rebuilt label {
    display: block !important;
    color: #334155 !important;
}
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-force input,
.tbp-booking-wrap [data-panel="3"] [data-tbp-force-vehicle="1"] input,
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-rebuilt input,
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-force .form-control,
.tbp-booking-wrap [data-panel="3"] [data-tbp-force-vehicle="1"] .form-control,
.tbp-booking-wrap [data-panel="3"] .tbp-vehicle-card-rebuilt .form-control {
    display: block !important;
    width: 100% !important;
    min-height: 50px !important;
    color: #0f172a !important;
    background: #ffffff !important;
    border: 1px solid #dbe3ef !important;
    pointer-events: auto !important;
}


/* v1.5.8 DVLA model fallback: DVLA does not normally supply model, so make missing manual fields obvious. */
.tbp-booking-wrap .tbp-missing-field,
.tbp-booking-wrap input.tbp-missing-field {
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, .18) !important;
    background: #fff7ed !important;
    color: #111827 !important;
}

/* v1.5.9 SaaS customer portal */
.tb-customer-portal{--tbp-portal-bg:#0f172a;--tbp-portal-card:#ffffff;--tbp-portal-ink:#0f172a;--tbp-portal-muted:#64748b;--tbp-portal-line:#e2e8f0;--tbp-portal-primary:var(--tb-primary,#e63946);font-family:var(--tb-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);color:var(--tbp-portal-ink);max-width:1180px;margin:30px auto;padding:0 16px}.tb-customer-portal *{box-sizing:border-box}.tb-portal-hero{display:grid;grid-template-columns:1fr minmax(220px,320px);gap:22px;align-items:stretch;background:radial-gradient(circle at top left,rgba(230,57,70,.25),transparent 36%),linear-gradient(135deg,#0f172a,#111827 56%,#1e293b);border-radius:28px;padding:clamp(24px,4vw,42px);color:#fff;box-shadow:0 24px 70px rgba(15,23,42,.25);margin-bottom:22px}.tb-portal-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.tb-portal-hero h2{font-size:clamp(30px,5vw,52px);line-height:1.02;margin:14px 0 10px;color:#fff;font-weight:900}.tb-portal-hero p{max-width:780px;color:rgba(255,255,255,.78);font-size:16px;margin:0}.tb-portal-hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:22px;display:flex;flex-direction:column;justify-content:center;backdrop-filter:blur(10px)}.tb-portal-hero-card strong{font-size:24px;color:#fff}.tb-portal-hero-card span{color:rgba(255,255,255,.76)}.tb-portal-card{background:var(--tbp-portal-card);border:1px solid var(--tbp-portal-line);border-radius:24px;padding:22px;box-shadow:0 16px 50px rgba(15,23,42,.08);margin-bottom:18px}.tb-portal-card h3{font-size:20px;font-weight:850;margin:0 0 16px;color:#0f172a}.tb-portal-grid{display:grid;grid-template-columns:1fr;gap:18px}.tb-portal-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-portal-grid.compact{gap:14px}.tb-portal-grid .wide{grid-column:1/-1}.tb-portal-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.tb-portal-metrics>div{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:18px;box-shadow:0 10px 35px rgba(15,23,42,.06)}.tb-portal-metrics span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px}.tb-portal-metrics strong{display:block;color:#0f172a;font-size:18px;line-height:1.2}.tb-portal-tabs{display:flex;flex-wrap:wrap;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:8px;margin-bottom:18px}.tb-portal-tabs button{appearance:none;border:0;background:transparent;color:#475569;padding:11px 15px;border-radius:14px;font-weight:800;cursor:pointer}.tb-portal-tabs button.active{background:#0f172a;color:#fff;box-shadow:0 8px 22px rgba(15,23,42,.18)}.tb-portal-panel{display:none}.tb-portal-panel.active{display:block}.tb-portal-dl{display:grid;grid-template-columns:minmax(130px,.8fr) 1fr;gap:11px 14px;margin:0}.tb-portal-dl dt{color:#64748b;font-size:13px;font-weight:800}.tb-portal-dl dd{margin:0;color:#0f172a;font-weight:750}.tb-portal-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.tb-portal-badge.status-cancelled,.tb-portal-badge.status-payment_failed{background:#fee2e2;color:#991b1b}.tb-portal-badge.status-confirmed,.tb-portal-badge.status-completed{background:#dcfce7;color:#166534}.tb-portal-badge.status-payment_pending{background:#fef3c7;color:#92400e}.tb-portal-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tb-portal-btn{appearance:none;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:14px;padding:12px 16px;font-weight:850;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.tb-portal-btn:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(15,23,42,.12)}.tb-portal-btn.primary{background:var(--tbp-portal-primary);border-color:var(--tbp-portal-primary);color:#fff}.tb-portal-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.tb-portal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.tb-customer-portal label{display:block;color:#334155;font-weight:800;font-size:13px;margin-bottom:10px}.tb-customer-portal input,.tb-customer-portal textarea,.tb-customer-portal select{display:block;width:100%;min-height:48px;border:1px solid #dbe3ef;border-radius:14px;background:#fff;color:#0f172a;padding:12px 14px;font-size:15px;margin-top:7px;box-shadow:none}.tb-customer-portal textarea{min-height:110px;resize:vertical}.tb-customer-portal input:focus,.tb-customer-portal textarea:focus{outline:none;border-color:var(--tbp-portal-primary);box-shadow:0 0 0 4px rgba(230,57,70,.12)}.tb-portal-alert{border-radius:16px;padding:14px 16px;margin:14px 0;font-weight:800}.tb-portal-alert-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.tb-portal-alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.tb-portal-alert-info{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}.tb-portal-muted{color:#64748b}.tb-portal-slots{margin:12px 0 16px}.tb-portal-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.tb-portal-slot{border:1px solid #dbe3ef;background:#fff;border-radius:14px;padding:11px 12px;cursor:pointer;font-weight:800;color:#0f172a}.tb-portal-slot.selected{background:#0f172a;color:#fff;border-color:#0f172a}.tb-portal-record-list{display:grid;gap:12px}.tb-portal-record-item{border:1px solid #e2e8f0;background:#f8fafc;border-radius:18px;padding:14px}.tb-portal-record-item>div{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.tb-portal-record-item strong{display:block;color:#0f172a}.tb-portal-record-item span{display:block;color:#64748b;font-size:12px;font-weight:750}.tb-portal-record-item p{margin:9px 0 0;color:#334155}.tb-portal-record-item.small{padding:12px}.tb-portal-history-list{display:grid;gap:10px}.tb-portal-history-item{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:13px}.tb-portal-history-item strong,.tb-portal-history-item span{display:block}.tb-portal-history-item span{color:#64748b}.tb-portal-history-item em{font-style:normal;font-size:12px;font-weight:900;color:#334155;text-transform:uppercase}.tb-portal-dyno-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.tb-portal-dyno-card{background:#0f172a;color:#fff;border-radius:18px;padding:16px}.tb-portal-dyno-card strong,.tb-portal-dyno-card span{display:block}.tb-portal-dyno-card span{color:#cbd5e1;font-size:12px;margin-bottom:10px}.tb-portal-lookup-form{max-width:860px;margin-inline:auto}@media(max-width:860px){.tb-portal-hero,.tb-portal-grid.two,.tb-portal-metrics{grid-template-columns:1fr}.tb-portal-dl{grid-template-columns:1fr}.tb-portal-record-item>div,.tb-portal-history-item{flex-direction:column;align-items:flex-start}.tb-portal-tabs{overflow:auto;flex-wrap:nowrap}.tb-portal-tabs button{white-space:nowrap}}

/* v1.6.0: customer portal clickability hardening */
.tb-customer-portal,
.tb-customer-portal .tb-portal-tabs,
.tb-customer-portal .tb-portal-panel,
.tb-customer-portal .tb-portal-card,
.tb-customer-portal form { position: relative; z-index: 1; }
.tb-customer-portal button,
.tb-customer-portal input,
.tb-customer-portal textarea,
.tb-customer-portal select,
.tb-customer-portal a { pointer-events: auto !important; }
.tb-customer-portal .tb-portal-tabs button,
.tb-customer-portal .tb-portal-btn,
.tb-customer-portal .tb-portal-slot { cursor: pointer !important; }

/* v1.6.1 portal vehicle record additions */
.tb-portal-readonly-mini{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px;color:#334155}.tb-portal-readonly-mini strong{grid-column:1/-1;color:#0f172a}.tb-portal-readonly-mini span{font-size:13px}.tb-portal-vehicle-record-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin:0 0 14px}.tb-portal-vehicle-record-summary>div{border:1px solid rgba(148,163,184,.25);background:#f8fafc;border-radius:14px;padding:12px}.tb-portal-vehicle-record-summary span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800}.tb-portal-vehicle-record-summary strong{display:block;color:#0f172a;margin-top:4px;font-size:14px}.tbp-hidden-vehicle-meta[hidden]{display:none!important}.tbp-booking-wrap input[type="hidden"]{display:none!important}


/* v1.6.2 customer portal vehicle reminders */
.tb-portal-reminder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;}
.tb-portal-reminder-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px;}
.tb-portal-reminder-grid span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.tb-portal-reminder-grid strong{display:block;color:#0f172a;font-size:18px;margin:5px 0;}
.tb-portal-reminder-grid small{color:#64748b;}

/* v1.6.3 customer portal login + booking sidebar sign-in */
.tbp-sidebar-login-card{margin:18px 0;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08);box-shadow:0 12px 35px rgba(0,0,0,.16);color:#fff;backdrop-filter:blur(10px)}
.tbp-sidebar-login-head{display:flex;align-items:center;gap:9px;margin-bottom:8px;font-weight:900;color:#fff}
.tbp-sidebar-login-card p{margin:0 0 12px;color:rgba(255,255,255,.76);font-size:13px;line-height:1.45}
.tbp-sidebar-login-form{display:grid;gap:9px}
.tbp-sidebar-login-form input{width:100%;min-height:42px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.94);color:#0f172a;padding:9px 11px;font-size:13px;box-shadow:none}
.tbp-sidebar-login-form input::placeholder{color:#64748b}
.tbp-sidebar-login-form button{appearance:none;border:0;border-radius:12px;background:linear-gradient(135deg,var(--tb-primary,#e63946),var(--tb-accent,#2563eb));color:#fff;min-height:42px;font-weight:900;cursor:pointer;box-shadow:0 12px 25px rgba(0,0,0,.18)}
.tbp-success-portal-login{display:grid;gap:6px;margin:18px auto;padding:16px;border-radius:18px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;max-width:560px;text-align:left}
.tbp-success-portal-login strong{font-size:16px;color:#1e3a8a}.tbp-success-portal-login span{display:block;color:#1e3a8a}.tbp-success-portal-login small{color:#475569}.tbp-success-portal-link{margin:4px 8px 12px}.tb-portal-dashboard .tb-portal-hero-card a{margin-top:14px;color:#fff;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.28)}
.tb-portal-login .tb-portal-card.tb-portal-muted{max-width:860px;margin-inline:auto;background:#f8fafc;color:#64748b}


/* v1.6.4 portal hardening */
.tb-wp-sample-placeholder-hidden{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important;}
.tb-customer-portal{position:relative!important;z-index:2!important;isolation:isolate;}
.tb-customer-portal .tb-portal-tabs button,.tb-customer-portal .tb-portal-btn,.tb-customer-portal .tb-portal-slot{pointer-events:auto!important;cursor:pointer!important;position:relative!important;z-index:5!important;color:inherit;}
.tb-customer-portal .tb-portal-btn.primary,.tb-customer-portal .tb-portal-btn.danger{color:#fff!important;}
.tb-customer-portal .tb-portal-tabs button.active{color:#fff!important;}

/* v1.6.5 commercial portal add-ons */
.tb-portal-actions.compact{gap:8px;margin-top:12px}.tb-portal-actions.compact .tb-portal-btn{padding:9px 11px;border-radius:12px;font-size:13px}.tb-portal-inline-form{display:grid;gap:10px}.tb-portal-files,.tb-portal-activity{display:grid;gap:10px}.tb-portal-file-item,.tb-portal-activity-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:12px}.tb-portal-file-item strong,.tb-portal-activity-item strong{display:block;color:#0f172a}.tb-portal-file-item span,.tb-portal-activity-item span{display:block;color:#64748b;font-size:12px}.tb-portal-upload-card input[type="file"]{padding:10px;background:#fff}.tb-portal-payment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.tb-portal-dashboard .tb-portal-card .tb-portal-btn{margin-top:4px}


/* v1.6.7 appearance settings wiring */
.tbp-services-layout-list .tbp-services-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
.tbp-services-layout-list .tbp-service-card{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:14px!important;min-height:92px!important;}
.tbp-services-layout-list .tbp-service-card .tbp-service-top{grid-row:1 / span 3!important;}
.tbp-services-layout-list .tbp-service-card .tbp-service-desc{margin-top:0!important;}
.tbp-services-layout-grid .tbp-services-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;}
.tbp-hide-prices .tbp-service-meta strong{display:none!important;}
.tbp-hide-duration .tbp-service-meta span{display:none!important;}
.tbp-form-layout-single-page .tbp-stepper{display:none!important;}
.tbp-form-layout-single-page .tbp-step-panel{display:block!important;border-bottom:1px solid var(--tb-border,#e5e7eb)!important;}
.tbp-form-layout-single-page .tbp-step-panel[data-panel="success"]{display:none!important;}
.tbp-form-layout-single-page .tbp-actions{position:sticky!important;bottom:0!important;z-index:10!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)!important;border-top:1px solid var(--tb-border,#e5e7eb)!important;}
.tbp-form-layout-single-page .tbp-next,.tbp-form-layout-single-page .tbp-back{display:none!important;}
.tbp-form-layout-single-page .tbp-submit{display:inline-flex!important;}
.tbp-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:18px}.tbp-setup-card{position:relative}.tbp-setup-status{display:inline-flex;border-radius:999px;padding:4px 10px;font-weight:800;font-size:11px;background:#fee2e2;color:#991b1b}.tbp-setup-card.is-ready .tbp-setup-status{background:#dcfce7;color:#166534}.tbp-check-list{display:grid;gap:8px;margin-left:0}.tbp-check-list li{list-style:none;position:relative;padding-left:24px}.tbp-check-list li:before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:900}.tbp-pipeline-board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:16px;overflow-x:auto;padding-bottom:18px}.tbp-pipeline-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:12px;min-width:230px}.tbp-pipeline-column header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tbp-pipeline-column h3{margin:0;font-size:14px}.tbp-pipeline-column header span{background:#0f172a;color:#fff;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.tbp-pipeline-list{display:grid;gap:10px}.tbp-pipeline-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px;box-shadow:0 8px 22px rgba(15,23,42,.07)}.tbp-pipeline-card-top,.tbp-pipeline-meta{display:flex;justify-content:space-between;gap:8px}.tbp-pipeline-card h4{margin:8px 0 4px;font-size:14px}.tbp-pipeline-card p{margin:0 0 8px;color:#475569}.tbp-pipeline-actions{display:flex;gap:6px;align-items:center}.tbp-pipeline-actions select{max-width:135px}.tbp-pipeline-view{display:block;margin-top:8px;font-weight:800;text-decoration:none}.tbp-pipeline-empty{padding:20px;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b;text-align:center;background:#fff}.tbp-email-preview{background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;padding:16px;margin-top:10px}.tbp-email-preview h4{margin:0 0 8px}.tbp-shortcode-pill{display:inline-flex;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:4px 9px;margin:2px;font-family:monospace;font-size:12px}
@media (max-width:1200px){.tbp-pipeline-board{grid-template-columns:repeat(5,260px)}}


/* v1.7.4 — frontend theme presets + portal reset sizing */
.tbp-theme-performance_dark .tbp-sidebar{background:radial-gradient(circle at top left,rgba(230,57,70,.35),transparent 34%),linear-gradient(160deg,#0f172a,#111827 52%,#7f1d1d)!important}.tbp-theme-clean_light .tbp-sidebar{background:radial-gradient(circle at top left,rgba(14,165,233,.22),transparent 38%),linear-gradient(160deg,#f8fafc,#e0f2fe)!important;color:#0f172a!important}.tbp-theme-clean_light .tbp-sidebar *{color:#0f172a!important}.tbp-theme-motorsport_red .tbp-sidebar{background:radial-gradient(circle at top left,rgba(249,115,22,.32),transparent 35%),linear-gradient(160deg,#111827,#450a0a)!important}.tbp-theme-electric_blue .tbp-sidebar{background:radial-gradient(circle at top left,rgba(34,211,238,.35),transparent 34%),linear-gradient(160deg,#082f49,#0f172a)!important}.tbp-theme-premium_graphite .tbp-sidebar{background:radial-gradient(circle at top left,rgba(212,175,55,.28),transparent 34%),linear-gradient(160deg,#111827,#020617)!important}.tbp-theme-sunset_orange .tbp-sidebar{background:radial-gradient(circle at top left,rgba(236,72,153,.30),transparent 34%),linear-gradient(160deg,#312e81,#9a3412)!important}.tbp-theme-premium_graphite .tbp-next,.tbp-theme-premium_graphite .tbp-submit,.tbp-theme-premium_graphite .tbp-vrm-lookup{color:#111827!important}.tb-portal-login .tb-portal-reset-card{max-width:860px;margin-left:auto;margin-right:auto}.tb-portal-login .tb-portal-reset-card .tb-portal-inline-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.tb-portal-login .tb-portal-reset-card .tb-portal-inline-form input{margin-top:0}.tb-portal-login .tb-portal-reset-card .tb-portal-inline-form .tb-portal-btn{min-height:48px;white-space:nowrap}@media(max-width:720px){.tb-portal-login .tb-portal-reset-card .tb-portal-inline-form{grid-template-columns:1fr}.tb-portal-login .tb-portal-reset-card .tb-portal-inline-form .tb-portal-btn{width:100%}}

/* v1.7.8 production responsive + portal hotfix
   Keeps shortcode layouts readable inside narrow page-builder columns and mobile embeds. */
.tbp-booking-wrap,
.tbp-booking-wrap * {
    max-width: 100%;
}
.tbp-booking-wrap {
    min-width: 0 !important;
    overflow-x: clip !important;
}
.tbp-shell,
.tbp-sidebar,
.tbp-main-panel,
.tbp-step,
.tbp-step strong,
.tbp-step small,
.tbp-sidebar-copy,
.tbp-sidebar-copy h2,
.tbp-sidebar-copy p {
    min-width: 0 !important;
}
.tbp-sidebar-copy h2 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
}
.tbp-sidebar-copy p,
.tbp-kicker,
.tbp-step strong,
.tbp-step small {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
.tbp-step {
    align-items: center !important;
    overflow: hidden !important;
}
.tbp-step strong,
.tbp-step small {
    display: block !important;
    line-height: 1.18 !important;
}
.tbp-step small {
    margin-top: 2px !important;
}

@container (max-width: 820px) {
    .tbp-shell {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }
    .tbp-sidebar {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.14) !important;
    }
    .tbp-sidebar-copy h2 {
        font-size: clamp(2rem, 8.2cqw, 3rem) !important;
        line-height: 1.02 !important;
        letter-spacing: -.045em !important;
    }
    .tbp-stepper {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .tbp-date-time-layout,
    .tbp-review-layout,
    .tbp-form-grid,
    .tbp-form-grid-4 {
        grid-template-columns: 1fr !important;
    }
}
@container (max-width: 520px) {
    .tbp-booking-wrap {
        padding: 0 !important;
        border-radius: 0 !important;
    }
    .tbp-shell {
        border-radius: 0 !important;
    }
    .tbp-sidebar {
        padding: 18px !important;
    }
    .tbp-brand-block {
        margin-bottom: 18px !important;
    }
    .tbp-sidebar-copy h2 {
        font-size: clamp(1.72rem, 11.8cqw, 2.18rem) !important;
        line-height: 1.06 !important;
        letter-spacing: -.035em !important;
    }
    .tbp-sidebar-copy p {
        font-size: .95rem !important;
        line-height: 1.55 !important;
    }
    .tbp-stepper {
        grid-template-columns: 1fr !important;
        gap: .55rem !important;
    }
    .tbp-step {
        grid-template-columns: 34px minmax(0, 1fr) !important;
        padding: .68rem .75rem !important;
        border-radius: 14px !important;
    }
    .tbp-step span {
        width: 34px !important;
        height: 34px !important;
        border-radius: 12px !important;
        font-size: .92rem !important;
    }
    .tbp-step small {
        display: block !important;
        font-size: .74rem !important;
    }
    .tbp-trust-stack {
        display: none !important;
    }
    .tbp-step-panel {
        padding: 16px !important;
    }
    .tbp-actions {
        grid-template-columns: 1fr 1fr !important;
        padding: 12px 14px !important;
    }
}
@media (max-width: 520px) {
    .tbp-sidebar-copy h2 {
        font-size: clamp(1.72rem, 11.8vw, 2.18rem) !important;
        line-height: 1.06 !important;
    }
    .tbp-stepper {
        grid-template-columns: 1fr !important;
    }
    .tbp-step small {
        display: block !important;
    }
}

/* Customer portal production reset: prevent theme/page-builder form styles from greying inputs or squashing forms. */
.tb-customer-portal {
    width: min(100%, 1180px) !important;
    max-width: 100% !important;
    overflow-x: clip !important;
}
.tb-customer-portal,
.tb-customer-portal * {
    box-sizing: border-box !important;
}
.tb-customer-portal .tb-portal-hero,
.tb-customer-portal .tb-portal-card,
.tb-customer-portal .tb-portal-hero-card {
    min-width: 0 !important;
}
.tb-customer-portal .tb-portal-hero h2 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
}
.tb-customer-portal input,
.tb-customer-portal textarea,
.tb-customer-portal select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 14px !important;
    opacity: 1 !important;
    box-shadow: none !important;
    line-height: 1.25 !important;
}
.tb-customer-portal input::placeholder,
.tb-customer-portal textarea::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    opacity: 1 !important;
}
.tb-customer-portal input:disabled,
.tb-customer-portal textarea:disabled,
.tb-customer-portal select:disabled {
    background: #f8fafc !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}
.tb-customer-portal .tb-portal-btn {
    min-height: 50px !important;
    white-space: normal !important;
    text-align: center !important;
}
.tb-portal-login .tb-portal-lookup-form,
.tb-portal-login .tb-portal-reset-card,
.tb-portal-login .tb-portal-card.tb-portal-muted {
    width: min(100%, 860px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.tb-portal-login .tb-portal-lookup-form .tb-portal-btn {
    margin-top: 10px !important;
}
@media (max-width: 860px) {
    .tb-customer-portal {
        margin: 14px auto !important;
        padding: 0 10px !important;
    }
    .tb-customer-portal .tb-portal-hero {
        grid-template-columns: 1fr !important;
        border-radius: 22px !important;
        padding: 22px !important;
    }
    .tb-customer-portal .tb-portal-hero h2 {
        font-size: clamp(2rem, 8vw, 3rem) !important;
        line-height: 1.06 !important;
    }
    .tb-customer-portal .tb-portal-grid.two,
    .tb-customer-portal .tb-portal-metrics {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 520px) {
    .tb-customer-portal {
        padding: 0 8px !important;
    }
    .tb-customer-portal .tb-portal-hero {
        padding: 18px !important;
        border-radius: 18px !important;
    }
    .tb-customer-portal .tb-portal-hero h2 {
        font-size: clamp(1.7rem, 10vw, 2.25rem) !important;
    }
    .tb-customer-portal .tb-portal-card {
        padding: 16px !important;
        border-radius: 18px !important;
    }
    .tb-customer-portal .tb-portal-inline-form {
        grid-template-columns: 1fr !important;
    }
    .tb-customer-portal .tb-portal-tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
    }
    .tb-customer-portal .tb-portal-tabs button {
        white-space: nowrap !important;
        flex: 0 0 auto !important;
    }
}

/* v1.7.9 — Professional frontend redesign + portal production hardening */
.tbp-booking-wrap {
    container-type: inline-size;
    width: min(100%, var(--tb-form-width, 1240px)) !important;
    max-width: 100% !important;
    margin: clamp(16px, 3vw, 44px) auto !important;
    padding: clamp(10px, 1.8vw, 18px) !important;
    border-radius: clamp(22px, 2.5vw, 34px) !important;
    background:
        radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--tb-primary, #e11d48) 30%, transparent), transparent 30%),
        radial-gradient(circle at 96% 0%, color-mix(in srgb, var(--tb-accent, #2563eb) 26%, transparent), transparent 30%),
        linear-gradient(135deg, #020617 0%, #0b1120 46%, #111827 100%) !important;
    box-shadow: 0 30px 100px rgba(2, 6, 23, .32) !important;
    overflow: hidden !important;
}
.tbp-booking-wrap,
.tbp-booking-wrap * {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}
.tbp-shell {
    grid-template-columns: minmax(340px, 390px) minmax(0, 1fr) !important;
    min-height: 720px !important;
    background: rgba(255,255,255,.09) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: clamp(18px, 2vw, 28px) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.tbp-sidebar {
    padding: clamp(24px, 2.6vw, 38px) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
        radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--tb-primary, #e11d48) 34%, transparent), transparent 34%),
        linear-gradient(155deg, #0f172a 0%, #020617 70%) !important;
}
.tbp-brand-block {
    margin-bottom: clamp(24px, 3.2vw, 38px) !important;
}
.tbp-brand-logo,
.tbp-brand-mark {
    width: 54px !important;
    height: 54px !important;
    border-radius: 18px !important;
}
.tbp-sidebar-copy {
    margin-bottom: clamp(20px, 3vw, 32px) !important;
}
.tbp-kicker {
    letter-spacing: .12em !important;
    line-height: 1.3 !important;
    color: color-mix(in srgb, var(--tb-primary, #e11d48) 70%, #fff) !important;
}
.tbp-sidebar-copy h2 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 3.6vw, 3.15rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
}
.tbp-sidebar-copy p {
    max-width: 36rem !important;
    color: rgba(255,255,255,.78) !important;
    font-size: clamp(.96rem, 1vw, 1.04rem) !important;
}
.tbp-sidebar-login-card {
    border-radius: 22px !important;
    padding: 18px !important;
    background: rgba(15,23,42,.48) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 20px 48px rgba(0,0,0,.18) !important;
    backdrop-filter: blur(14px) !important;
    margin-bottom: clamp(18px, 3vw, 30px) !important;
}
.tbp-sidebar-login-head {
    font-size: .98rem !important;
}
.tbp-sidebar-login-form input {
    min-height: 46px !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    font-weight: 700 !important;
}
.tbp-sidebar-login-form button {
    min-height: 46px !important;
    border-radius: 14px !important;
    color: #fff !important;
}
.tbp-stepper {
    gap: .72rem !important;
}
.tbp-step {
    min-height: 68px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .8rem !important;
    padding: .78rem .86rem !important;
    background: rgba(255,255,255,.075) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
}
.tbp-step span {
    width: 42px !important;
    height: 42px !important;
    grid-row: 1 / span 2 !important;
}
.tbp-step strong,
.tbp-step small {
    width: 100% !important;
    display: block !important;
    white-space: normal !important;
    min-width: 0 !important;
}
.tbp-step strong {
    font-size: .94rem !important;
    line-height: 1.12 !important;
}
.tbp-step small {
    margin-top: .08rem !important;
    font-size: .77rem !important;
    line-height: 1.2 !important;
    color: rgba(255,255,255,.66) !important;
}
.tbp-main-panel {
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--tb-accent, #2563eb) 9%, transparent), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}
.tbp-step-panel {
    padding: clamp(22px, 3.2vw, 42px) !important;
}
.tbp-section-heading h3 {
    font-size: clamp(1.6rem, 2.6vw, 2.35rem) !important;
    line-height: 1.08 !important;
    text-wrap: balance !important;
}
.tbp-services-grid,
.tbp-addons-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)) !important;
    gap: clamp(.85rem, 1.4vw, 1.05rem) !important;
}
.tbp-service-card,
.tbp-addon-card,
.tbp-calendar-card,
.tbp-times-card,
.tbp-summary-card,
.tbp-payment-card,
.tbp-vehicle-card {
    border-radius: 24px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 18px 44px rgba(15,23,42,.075) !important;
}
.tbp-service-card {
    min-height: 190px !important;
}
.tbp-date-time-layout,
.tbp-review-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(290px, .85fr) !important;
}
.tbp-form-grid,
.tbp-form-grid-4 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)) !important;
}
.tbp-booking-wrap .form-control,
.tbp-booking-wrap .form-select,
.tbp-booking-wrap input[type="text"],
.tbp-booking-wrap input[type="email"],
.tbp-booking-wrap input[type="tel"],
.tbp-booking-wrap input[type="number"],
.tbp-booking-wrap textarea,
.tbp-booking-wrap select {
    min-height: 52px !important;
    border-radius: 16px !important;
    background: #fff !important;
    border: 1px solid #cbd5e1 !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    opacity: 1 !important;
}
.tbp-actions {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 20 !important;
    background: rgba(255,255,255,.88) !important;
    backdrop-filter: blur(16px) !important;
}
.tbp-actions .btn,
.tbp-booking-wrap .btn,
.tbp-booking-wrap button {
    white-space: normal !important;
}

@container (max-width: 980px) {
    .tbp-shell {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }
    .tbp-sidebar {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.16) !important;
    }
    .tbp-sidebar-copy h2 {
        font-size: clamp(2rem, 8cqw, 3.05rem) !important;
        max-width: 760px !important;
    }
    .tbp-stepper {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
    .tbp-sidebar-login-card {
        max-width: 680px !important;
    }
    .tbp-date-time-layout,
    .tbp-review-layout {
        grid-template-columns: 1fr !important;
    }
}
@container (max-width: 680px) {
    .tbp-booking-wrap {
        padding: 8px !important;
        border-radius: 22px !important;
    }
    .tbp-shell {
        border-radius: 18px !important;
    }
    .tbp-sidebar {
        padding: 20px !important;
    }
    .tbp-sidebar-copy h2 {
        font-size: clamp(1.95rem, 10.5cqw, 2.45rem) !important;
        line-height: 1.06 !important;
        letter-spacing: -.035em !important;
    }
    .tbp-stepper {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .tbp-step {
        min-height: 74px !important;
    }
    .tbp-step-panel {
        padding: 18px !important;
    }
}
@container (max-width: 440px) {
    .tbp-booking-wrap {
        margin: 0 auto !important;
        padding: 0 !important;
        border-radius: 0 !important;
    }
    .tbp-shell {
        border-radius: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }
    .tbp-sidebar-copy h2 {
        font-size: clamp(1.72rem, 12cqw, 2.08rem) !important;
    }
    .tbp-stepper {
        grid-template-columns: 1fr !important;
    }
    .tbp-sidebar-login-card {
        padding: 15px !important;
    }
    .tbp-actions {
        grid-template-columns: 1fr !important;
        display: grid !important;
    }
    .tbp-actions .btn {
        width: 100% !important;
    }
}
@media (max-width: 980px) {
    .tbp-shell { grid-template-columns: 1fr !important; }
    .tbp-date-time-layout,
    .tbp-review-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 520px) {
    .tbp-booking-wrap { margin: 0 auto !important; padding: 0 !important; border-radius: 0 !important; }
    .tbp-stepper { grid-template-columns: 1fr !important; }
}

/* Customer portal v2 */
.tb-customer-portal {
    --tbp-portal-primary: var(--tb-primary, #e11d48);
    --tbp-portal-accent: var(--tb-accent, #2563eb);
    width: min(100%, 1180px) !important;
    margin: clamp(16px, 3vw, 42px) auto !important;
    padding: 0 clamp(10px, 2vw, 18px) !important;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    color: #0f172a !important;
}
.tb-customer-portal,
.tb-customer-portal * {
    box-sizing: border-box !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}
.tb-customer-portal .tb-portal-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px) !important;
    gap: clamp(18px, 3vw, 28px) !important;
    align-items: stretch !important;
    border-radius: clamp(24px, 3vw, 34px) !important;
    padding: clamp(24px, 4vw, 46px) !important;
    margin-bottom: 22px !important;
    background:
        radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--tbp-portal-primary) 34%, transparent), transparent 34%),
        radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--tbp-portal-accent) 26%, transparent), transparent 30%),
        linear-gradient(135deg, #020617 0%, #111827 58%, #172033 100%) !important;
    color: #fff !important;
    box-shadow: 0 28px 90px rgba(2, 6, 23, .28) !important;
}
.tb-customer-portal .tb-portal-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    max-width: 100% !important;
    padding: 7px 13px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    color: #fff !important;
}
.tb-customer-portal .tb-portal-hero h2 {
    max-width: 880px !important;
    font-size: clamp(2rem, 5.2vw, 3.55rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.045em !important;
    color: #fff !important;
    text-wrap: balance !important;
}
.tb-customer-portal .tb-portal-hero p {
    max-width: 780px !important;
    color: rgba(255,255,255,.78) !important;
    line-height: 1.6 !important;
}
.tb-customer-portal .tb-portal-hero-card {
    border-radius: 24px !important;
    padding: 22px !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.tb-customer-portal .tb-portal-hero-card strong,
.tb-customer-portal .tb-portal-hero-card span {
    color: #fff !important;
}
.tb-customer-portal .tb-portal-card,
.tb-customer-portal .tb-portal-metrics > div,
.tb-customer-portal .tb-portal-record-item,
.tb-customer-portal .tb-portal-history-item {
    border-radius: 24px !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    box-shadow: 0 18px 50px rgba(15,23,42,.08) !important;
}
.tb-customer-portal .tb-portal-card {
    padding: clamp(18px, 2.5vw, 26px) !important;
}
.tb-customer-portal .tb-portal-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.tb-customer-portal .tb-portal-metrics {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
}
.tb-customer-portal .tb-portal-lookup-form {
    width: min(100%, 900px) !important;
    max-width: 100% !important;
}
.tb-customer-portal .tb-portal-lookup-form .tb-portal-grid.two,
.tb-customer-portal .tb-portal-reset-card .tb-portal-inline-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: end !important;
}
.tb-customer-portal label {
    color: #334155 !important;
    font-weight: 900 !important;
}
.tb-customer-portal input,
.tb-customer-portal textarea,
.tb-customer-portal select {
    appearance: none !important;
    min-height: 52px !important;
    margin-top: 8px !important;
    border-radius: 16px !important;
    background: #fff !important;
    border: 1px solid #cbd5e1 !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    opacity: 1 !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
.tb-customer-portal input:focus,
.tb-customer-portal textarea:focus,
.tb-customer-portal select:focus {
    outline: none !important;
    border-color: var(--tbp-portal-primary) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp-portal-primary) 15%, transparent) !important;
}
.tb-customer-portal input::placeholder,
.tb-customer-portal textarea::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    opacity: 1 !important;
}
.tb-customer-portal .tb-portal-btn {
    min-height: 52px !important;
    border-radius: 16px !important;
    padding: 12px 18px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    white-space: normal !important;
}
.tb-customer-portal .tb-portal-btn.primary {
    background: linear-gradient(135deg, var(--tbp-portal-primary), var(--tbp-portal-accent)) !important;
    border-color: transparent !important;
    color: #fff !important;
}
.tb-customer-portal .tb-portal-tabs {
    border-radius: 22px !important;
    padding: 8px !important;
    background: #f8fafc !important;
}
.tb-customer-portal .tb-portal-tabs button.active {
    background: linear-gradient(135deg, #0f172a, #1e293b) !important;
    color: #fff !important;
}
.tb-customer-portal .tb-portal-record-list {
    gap: 14px !important;
}
.tb-customer-portal .tb-portal-actions.compact {
    display: flex !important;
    flex-wrap: wrap !important;
}
@media (max-width: 860px) {
    .tb-customer-portal .tb-portal-hero,
    .tb-customer-portal .tb-portal-grid.two,
    .tb-customer-portal .tb-portal-lookup-form .tb-portal-grid.two,
    .tb-customer-portal .tb-portal-reset-card .tb-portal-inline-form {
        grid-template-columns: 1fr !important;
    }
    .tb-customer-portal .tb-portal-hero h2 {
        font-size: clamp(1.9rem, 8vw, 2.8rem) !important;
    }
}
@media (max-width: 520px) {
    .tb-customer-portal {
        padding: 0 8px !important;
    }
    .tb-customer-portal .tb-portal-hero {
        padding: 20px !important;
        border-radius: 22px !important;
    }
    .tb-customer-portal .tb-portal-hero h2 {
        font-size: clamp(1.65rem, 10vw, 2.18rem) !important;
        letter-spacing: -.03em !important;
    }
    .tb-customer-portal .tb-portal-card {
        padding: 16px !important;
        border-radius: 20px !important;
    }
    .tb-customer-portal .tb-portal-btn {
        width: 100% !important;
    }
}

/* v1.7.10 — Portal/front-end hard UI lock
   Purpose: keep all public shortcode UI readable and independent from the active WordPress theme. */
.tbp-booking-wrap,
.tb-customer-portal {
    --tbp-ui-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    --tbp-ui-ink: #0f172a;
    --tbp-ui-muted: #475569;
    --tbp-ui-soft: #f8fafc;
    --tbp-ui-line: #dbe4ef;
    --tbp-ui-panel: #ffffff;
    --tbp-ui-dark: #020617;
    --tbp-ui-dark-2: #111827;
    --tbp-ui-primary: #e63946;
    --tbp-ui-primary-dark: #be123c;
    --tbp-ui-accent: #457b9d;
    --tbp-ui-success: #16a34a;
    --tbp-ui-danger: #dc2626;
    font-family: var(--tbp-ui-font) !important;
}

/* Booking front end package/service tabs */
.tbp-booking-wrap .tbp-choice-router {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 8px !important;
    margin: 0 0 20px !important;
    border: 1px solid var(--tbp-ui-line) !important;
    border-radius: 22px !important;
    background: #eef3f8 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
}
.tbp-booking-wrap .tbp-choice-toggle {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    min-height: 76px !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px !important;
    border: 1px solid transparent !important;
    border-radius: 18px !important;
    background: transparent !important;
    color: var(--tbp-ui-ink) !important;
    text-align: left !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.tbp-booking-wrap .tbp-choice-toggle:hover {
    background: rgba(255,255,255,.72) !important;
    border-color: #cbd5e1 !important;
}
.tbp-booking-wrap .tbp-choice-toggle.is-active {
    background: #ffffff !important;
    border-color: color-mix(in srgb, var(--tb-primary, var(--tbp-ui-primary)) 42%, #cbd5e1) !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.10) !important;
    transform: translateY(-1px) !important;
}
.tbp-booking-wrap .tbp-choice-icon {
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--tb-primary, var(--tbp-ui-primary)), var(--tb-accent, var(--tbp-ui-accent))) !important;
    color: #ffffff !important;
    font-size: 1.2rem !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.16) !important;
}
.tbp-booking-wrap .tbp-choice-toggle span:not(.tbp-choice-icon) {
    min-width: 0 !important;
    display: block !important;
}
.tbp-booking-wrap .tbp-choice-toggle strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: var(--tbp-ui-ink) !important;
    font-size: 1rem !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
}
.tbp-booking-wrap .tbp-choice-toggle small {
    display: block !important;
    color: var(--tbp-ui-muted) !important;
    font-size: .82rem !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
}
.tbp-booking-wrap .tbp-choice-group[hidden] {
    display: none !important;
}
.tbp-booking-wrap .tbp-choice-group.is-active {
    display: block !important;
}
.tbp-booking-wrap .tbp-choice-group-head {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
    padding: 0 2px !important;
}
.tbp-booking-wrap .tbp-choice-group-head span {
    display: block !important;
    color: var(--tbp-ui-ink) !important;
    font-size: 1.08rem !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
}
.tbp-booking-wrap .tbp-choice-group-head small {
    display: block !important;
    color: var(--tbp-ui-muted) !important;
    font-weight: 750 !important;
}
.tbp-booking-wrap .tbp-package-pill {
    align-self: flex-start !important;
    display: inline-flex !important;
    width: fit-content !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: #eef2ff !important;
    color: #3730a3 !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}
.tbp-booking-wrap button,
.tbp-booking-wrap .btn,
.tbp-booking-wrap a.btn,
.tbp-booking-wrap input,
.tbp-booking-wrap select,
.tbp-booking-wrap textarea {
    font-family: var(--tbp-ui-font) !important;
}
.tbp-booking-wrap .tbp-next,
.tbp-booking-wrap .tbp-submit,
.tbp-booking-wrap .tbp-vrm-lookup,
.tbp-booking-wrap .tbp-restart-booking,
.tbp-booking-wrap .btn-primary {
    background: linear-gradient(135deg, var(--tb-primary, var(--tbp-ui-primary)), var(--tb-accent, var(--tbp-ui-accent))) !important;
    border-color: transparent !important;
    color: var(--tb-btn-text, #ffffff) !important;
    -webkit-text-fill-color: var(--tb-btn-text, #ffffff) !important;
    font-weight: 950 !important;
}
.tbp-booking-wrap .tbp-back,
.tbp-booking-wrap .btn-outline-secondary {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: var(--tbp-ui-ink) !important;
    -webkit-text-fill-color: var(--tbp-ui-ink) !important;
    font-weight: 900 !important;
}

/* Customer portal full redesign skin */
.tb-customer-portal {
    --tbp-portal-primary: #e63946;
    --tbp-portal-primary-dark: #be123c;
    --tbp-portal-accent: #457b9d;
    --tbp-portal-ink: #0f172a;
    --tbp-portal-muted: #475569;
    --tbp-portal-subtle: #64748b;
    --tbp-portal-panel: #ffffff;
    --tbp-portal-bg: #f8fafc;
    --tbp-portal-line: #dbe4ef;
    --tbp-portal-success: #16a34a;
    --tbp-portal-danger: #dc2626;
    container-type: inline-size !important;
    width: min(100%, 1180px) !important;
    margin: clamp(18px, 3vw, 46px) auto !important;
    padding: clamp(10px, 1.8vw, 18px) !important;
    color: var(--tbp-portal-ink) !important;
    isolation: isolate !important;
    text-rendering: geometricPrecision !important;
}
.tb-customer-portal,
.tb-customer-portal * {
    box-sizing: border-box !important;
    font-family: var(--tbp-ui-font) !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}
.tb-customer-portal :where(h1,h2,h3,h4,h5,h6,p,span,strong,small,em,dt,dd,label,li,a,button) {
    font-family: var(--tbp-ui-font) !important;
}
.tb-customer-portal h2,
.tb-customer-portal h3,
.tb-customer-portal h4,
.tb-customer-portal strong,
.tb-customer-portal dt,
.tb-customer-portal label {
    color: var(--tbp-portal-ink) !important;
}
.tb-customer-portal p,
.tb-customer-portal span,
.tb-customer-portal small,
.tb-customer-portal dd,
.tb-customer-portal .tb-portal-muted {
    color: var(--tbp-portal-muted) !important;
}
.tb-customer-portal .tb-portal-hero {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 330px) !important;
    align-items: stretch !important;
    gap: clamp(18px, 3vw, 28px) !important;
    padding: clamp(26px, 4vw, 48px) !important;
    margin: 0 0 22px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: clamp(26px, 3vw, 38px) !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(230,57,70,.38), transparent 30%),
        radial-gradient(circle at 100% 0%, rgba(69,123,157,.42), transparent 32%),
        linear-gradient(135deg, #020617 0%, #101827 55%, #172033 100%) !important;
    box-shadow: 0 28px 95px rgba(2, 6, 23, .32) !important;
    overflow: hidden !important;
}
.tb-customer-portal .tb-portal-hero:before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 42%) !important;
    pointer-events: none !important;
}
.tb-customer-portal .tb-portal-hero > * {
    position: relative !important;
    z-index: 1 !important;
}
.tb-customer-portal .tb-portal-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 7px 13px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}
.tb-customer-portal .tb-portal-hero h2 {
    max-width: 850px !important;
    margin: 0 0 12px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(2rem, 5.2vw, 3.55rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.048em !important;
    font-weight: 950 !important;
    text-wrap: balance !important;
}
.tb-customer-portal .tb-portal-hero p {
    max-width: 780px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.82) !important;
    -webkit-text-fill-color: rgba(255,255,255,.82) !important;
    font-size: clamp(.98rem, 1.5vw, 1.12rem) !important;
    line-height: 1.62 !important;
    font-weight: 700 !important;
}
.tb-customer-portal .tb-portal-hero-card {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 24px !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.13) !important;
    border: 1px solid rgba(255,255,255,.23) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 18px 40px rgba(0,0,0,.12) !important;
    backdrop-filter: blur(16px) !important;
}
.tb-customer-portal .tb-portal-hero-card strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(1.4rem, 3vw, 2.05rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
}
.tb-customer-portal .tb-portal-hero-card span {
    color: rgba(255,255,255,.80) !important;
    -webkit-text-fill-color: rgba(255,255,255,.80) !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
    font-weight: 750 !important;
}
.tb-customer-portal .tb-portal-card,
.tb-customer-portal .tb-portal-metrics > div,
.tb-customer-portal .tb-portal-record-item,
.tb-customer-portal .tb-portal-history-item,
.tb-customer-portal .tb-portal-dyno-card {
    min-width: 0 !important;
    border: 1px solid var(--tbp-portal-line) !important;
    background: var(--tbp-portal-panel) !important;
    border-radius: 26px !important;
    box-shadow: 0 18px 50px rgba(15,23,42,.075) !important;
}
.tb-customer-portal .tb-portal-card {
    padding: clamp(18px, 2.4vw, 28px) !important;
    margin-bottom: 18px !important;
}
.tb-customer-portal .tb-portal-card h3 {
    margin: 0 0 14px !important;
    color: var(--tbp-portal-ink) !important;
    font-size: clamp(1.18rem, 2vw, 1.45rem) !important;
    line-height: 1.16 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
}
.tb-customer-portal .tb-portal-login .tb-portal-card,
.tb-customer-portal.tb-portal-login .tb-portal-card {
    margin-bottom: 18px !important;
}
.tb-customer-portal .tb-portal-lookup-form {
    width: min(100%, 900px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.tb-customer-portal .tb-portal-grid {
    display: grid !important;
    gap: 16px !important;
}
.tb-customer-portal .tb-portal-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.tb-customer-portal .tb-portal-grid.compact {
    gap: 13px !important;
}
.tb-customer-portal .tb-portal-grid .wide {
    grid-column: 1 / -1 !important;
}
.tb-customer-portal .tb-portal-metrics {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
    gap: 14px !important;
    margin: 0 0 20px !important;
}
.tb-customer-portal .tb-portal-metrics > div {
    display: grid !important;
    gap: 7px !important;
    padding: 18px !important;
}
.tb-customer-portal .tb-portal-metrics span {
    color: var(--tbp-portal-subtle) !important;
    font-size: .78rem !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}
.tb-customer-portal .tb-portal-metrics strong {
    min-width: 0 !important;
    color: var(--tbp-portal-ink) !important;
    font-size: clamp(1.05rem, 2vw, 1.45rem) !important;
    line-height: 1.14 !important;
    font-weight: 950 !important;
    overflow-wrap: anywhere !important;
}
.tb-customer-portal .tb-portal-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 20px !important;
    padding: 8px !important;
    border: 1px solid var(--tbp-portal-line) !important;
    border-radius: 22px !important;
    background: #edf2f7 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.80) !important;
}
.tb-customer-portal .tb-portal-tabs button {
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 1 1 160px !important;
    min-height: 50px !important;
    padding: 12px 16px !important;
    border: 1px solid transparent !important;
    border-radius: 16px !important;
    background: transparent !important;
    color: var(--tbp-portal-muted) !important;
    -webkit-text-fill-color: var(--tbp-portal-muted) !important;
    box-shadow: none !important;
    font-size: .92rem !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    text-align: center !important;
    cursor: pointer !important;
}
.tb-customer-portal .tb-portal-tabs button.active,
.tb-customer-portal .tb-portal-tabs button:hover {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: var(--tbp-portal-ink) !important;
    -webkit-text-fill-color: var(--tbp-portal-ink) !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.09) !important;
}
.tb-customer-portal .tb-portal-panel {
    display: none !important;
}
.tb-customer-portal .tb-portal-panel.active {
    display: block !important;
}
.tb-customer-portal label {
    display: block !important;
    margin: 0 0 12px !important;
    color: var(--tbp-portal-ink) !important;
    font-size: .88rem !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
}
.tb-customer-portal input,
.tb-customer-portal textarea,
.tb-customer-portal select {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    margin: 8px 0 0 !important;
    padding: 13px 15px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: var(--tbp-portal-ink) !important;
    -webkit-text-fill-color: var(--tbp-portal-ink) !important;
    opacity: 1 !important;
    font-size: 1rem !important;
    line-height: 1.3 !important;
    font-weight: 750 !important;
    box-shadow: none !important;
    outline: none !important;
}
.tb-customer-portal textarea {
    min-height: 118px !important;
    resize: vertical !important;
}
.tb-customer-portal input::placeholder,
.tb-customer-portal textarea::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    opacity: 1 !important;
}
.tb-customer-portal input:focus,
.tb-customer-portal textarea:focus,
.tb-customer-portal select:focus {
    border-color: var(--tbp-portal-primary) !important;
    box-shadow: 0 0 0 4px rgba(230,57,70,.14) !important;
}
.tb-customer-portal input:disabled,
.tb-customer-portal textarea:disabled,
.tb-customer-portal select:disabled {
    background: #f1f5f9 !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    opacity: 1 !important;
}
.tb-customer-portal .tb-portal-btn,
.tb-customer-portal a.tb-portal-btn,
.tb-customer-portal button.tb-portal-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 50px !important;
    min-width: 0 !important;
    padding: 12px 18px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: var(--tbp-portal-ink) !important;
    -webkit-text-fill-color: var(--tbp-portal-ink) !important;
    font-size: .92rem !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    cursor: pointer !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.06) !important;
}
.tb-customer-portal .tb-portal-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 30px rgba(15,23,42,.10) !important;
}
.tb-customer-portal .tb-portal-btn.primary,
.tb-customer-portal a.tb-portal-btn.primary,
.tb-customer-portal button.tb-portal-btn.primary {
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--tbp-portal-primary), var(--tbp-portal-accent)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.tb-customer-portal .tb-portal-btn.danger,
.tb-customer-portal button.tb-portal-btn.danger {
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--tbp-portal-danger), #991b1b) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.tb-customer-portal .tb-portal-inline-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: end !important;
}
.tb-customer-portal .tb-portal-inline-form input {
    margin-top: 0 !important;
}
.tb-customer-portal .tb-portal-record-list,
.tb-customer-portal .tb-portal-history-list {
    display: grid !important;
    gap: 13px !important;
}
.tb-customer-portal .tb-portal-record-item,
.tb-customer-portal .tb-portal-history-item {
    display: grid !important;
    gap: 7px !important;
    padding: 15px !important;
    box-shadow: none !important;
}
.tb-customer-portal .tb-portal-record-item strong,
.tb-customer-portal .tb-portal-history-item strong {
    color: var(--tbp-portal-ink) !important;
    font-weight: 950 !important;
    line-height: 1.22 !important;
}
.tb-customer-portal .tb-portal-record-item span,
.tb-customer-portal .tb-portal-history-item span,
.tb-customer-portal .tb-portal-record-item p {
    color: var(--tbp-portal-muted) !important;
    line-height: 1.45 !important;
}
.tb-customer-portal .tb-portal-actions,
.tb-customer-portal .tb-portal-actions.compact {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: 14px !important;
}
.tb-customer-portal .tb-portal-actions.compact .tb-portal-btn {
    min-height: 44px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    font-size: .86rem !important;
}
.tb-customer-portal .tb-portal-dl {
    display: grid !important;
    grid-template-columns: minmax(120px, .55fr) minmax(0, 1fr) !important;
    gap: 10px 16px !important;
    margin: 0 !important;
}
.tb-customer-portal .tb-portal-dl dt {
    color: var(--tbp-portal-subtle) !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}
.tb-customer-portal .tb-portal-dl dd {
    margin: 0 !important;
    color: var(--tbp-portal-ink) !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}
.tb-customer-portal .tb-portal-badge {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: #eef2ff !important;
    color: #3730a3 !important;
    -webkit-text-fill-color: #3730a3 !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}
.tb-customer-portal .tb-portal-badge.status-completed,
.tb-customer-portal .tb-portal-badge.status-confirmed {
    background: #dcfce7 !important;
    color: #166534 !important;
    -webkit-text-fill-color: #166534 !important;
}
.tb-customer-portal .tb-portal-badge.status-cancelled,
.tb-customer-portal .tb-portal-badge.status-failed {
    background: #fee2e2 !important;
    color: #991b1b !important;
    -webkit-text-fill-color: #991b1b !important;
}
.tb-customer-portal .tb-portal-alert {
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    border: 1px solid #bfdbfe !important;
    background: #eff6ff !important;
    color: #1e3a8a !important;
    -webkit-text-fill-color: #1e3a8a !important;
    font-weight: 850 !important;
}
.tb-customer-portal .tb-portal-alert-error {
    border-color: #fecaca !important;
    background: #fef2f2 !important;
    color: #991b1b !important;
    -webkit-text-fill-color: #991b1b !important;
}
.tb-customer-portal .tb-portal-alert-success {
    border-color: #bbf7d0 !important;
    background: #f0fdf4 !important;
    color: #166534 !important;
    -webkit-text-fill-color: #166534 !important;
}
.tb-customer-portal .tb-portal-reminder-grid,
.tb-customer-portal .tb-portal-vehicle-record-summary,
.tb-customer-portal .tb-portal-dyno-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
    gap: 12px !important;
}
.tb-customer-portal .tb-portal-reminder-grid > div,
.tb-customer-portal .tb-portal-vehicle-record-summary > div,
.tb-customer-portal .tb-portal-dyno-card {
    padding: 15px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
}
.tb-customer-portal .tb-portal-reminder-grid span,
.tb-customer-portal .tb-portal-vehicle-record-summary span,
.tb-customer-portal .tb-portal-dyno-card span {
    display: block !important;
    color: var(--tbp-portal-subtle) !important;
    font-size: .74rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
}
.tb-customer-portal .tb-portal-reminder-grid strong,
.tb-customer-portal .tb-portal-vehicle-record-summary strong,
.tb-customer-portal .tb-portal-dyno-card strong {
    display: block !important;
    margin-top: 5px !important;
    color: var(--tbp-portal-ink) !important;
    font-size: 1.04rem !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
}
.tb-customer-portal .tb-portal-slots {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 14px 0 !important;
}
.tb-customer-portal .tb-portal-slot {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: var(--tbp-portal-ink) !important;
    -webkit-text-fill-color: var(--tbp-portal-ink) !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}
.tb-customer-portal .tb-portal-slot.selected,
.tb-customer-portal .tb-portal-slot:hover {
    background: linear-gradient(135deg, var(--tbp-portal-primary), var(--tbp-portal-accent)) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.tb-customer-portal .tb-portal-readonly-mini {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
    padding: 13px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
}
.tb-customer-portal .tb-portal-readonly-mini strong {
    width: 100% !important;
}
.tb-customer-portal .tb-portal-readonly-mini span {
    color: var(--tbp-portal-muted) !important;
    font-size: .86rem !important;
    font-weight: 800 !important;
}

@container (max-width: 860px) {
    .tbp-booking-wrap .tbp-choice-router,
    .tb-customer-portal .tb-portal-grid.two,
    .tb-customer-portal .tb-portal-lookup-form .tb-portal-grid.two,
    .tb-customer-portal .tb-portal-reset-card .tb-portal-inline-form,
    .tb-customer-portal .tb-portal-inline-form {
        grid-template-columns: 1fr !important;
    }
    .tb-customer-portal .tb-portal-hero {
        grid-template-columns: 1fr !important;
    }
    .tb-customer-portal .tb-portal-hero h2 {
        font-size: clamp(1.95rem, 8cqw, 3rem) !important;
    }
    .tb-customer-portal .tb-portal-hero-card {
        max-width: 100% !important;
    }
}
@container (max-width: 520px) {
    .tb-customer-portal {
        padding: 8px !important;
        margin: 10px auto !important;
    }
    .tb-customer-portal .tb-portal-hero {
        padding: 20px !important;
        border-radius: 22px !important;
    }
    .tb-customer-portal .tb-portal-hero h2 {
        font-size: clamp(1.72rem, 10cqw, 2.25rem) !important;
        letter-spacing: -.032em !important;
    }
    .tb-customer-portal .tb-portal-card,
    .tb-customer-portal .tb-portal-metrics > div,
    .tb-customer-portal .tb-portal-record-item,
    .tb-customer-portal .tb-portal-history-item {
        border-radius: 20px !important;
        padding: 16px !important;
    }
    .tb-customer-portal .tb-portal-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
    }
    .tb-customer-portal .tb-portal-tabs button {
        flex: 0 0 auto !important;
        min-width: 150px !important;
        scroll-snap-align: start !important;
    }
    .tb-customer-portal .tb-portal-dl {
        grid-template-columns: 1fr !important;
        gap: 3px 0 !important;
    }
    .tb-customer-portal .tb-portal-dl dd {
        margin-bottom: 8px !important;
    }
    .tb-customer-portal .tb-portal-btn,
    .tb-customer-portal a.tb-portal-btn,
    .tb-customer-portal button.tb-portal-btn {
        width: 100% !important;
    }
    .tbp-booking-wrap .tbp-choice-toggle {
        min-height: 68px !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        padding: 12px !important;
    }
    .tbp-booking-wrap .tbp-choice-icon {
        width: 42px !important;
        height: 42px !important;
    }
}
@media (max-width: 860px) {
    .tbp-booking-wrap .tbp-choice-router,
    .tb-customer-portal .tb-portal-grid.two,
    .tb-customer-portal .tb-portal-lookup-form .tb-portal-grid.two,
    .tb-customer-portal .tb-portal-reset-card .tb-portal-inline-form,
    .tb-customer-portal .tb-portal-inline-form,
    .tb-customer-portal .tb-portal-hero {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 520px) {
    .tb-customer-portal .tb-portal-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
    }
    .tb-customer-portal .tb-portal-tabs button {
        flex: 0 0 auto !important;
    }
}

/* ===== Customer Portal Redesign v1.7.11 ===== */
.tbp-cp-shell,
.tbp-cp-shell *{box-sizing:border-box}
.tbp-cp-shell{--tbcp-bg:#050b16;--tbcp-panel:#0a1424;--tbcp-panel-2:#101c30;--tbcp-border:rgba(130,164,214,.16);--tbcp-line:rgba(96,124,171,.18);--tbcp-text:#eef4ff;--tbcp-muted:#8ea3c5;--tbcp-accent:var(--tb-primary,#2563eb);--tbcp-accent-2:var(--tb-accent,#38bdf8);--tbcp-success:#22c55e;max-width:1680px;margin:24px auto;padding:0 16px;color:var(--tbcp-text)!important;font-family:var(--tb-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)!important}
.tbp-cp-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.tbp-cp-sidebar{position:sticky;top:18px;background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 32%),linear-gradient(180deg,#071120,#091726 55%,#07111d);border:1px solid var(--tbcp-border);border-radius:28px;padding:20px;box-shadow:0 18px 55px rgba(0,0,0,.28)}
.tbp-cp-main{min-width:0}
.tbp-cp-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--tbcp-line)}
.tbp-cp-brand img{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;padding:6px}
.tbp-cp-brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--tbcp-accent),var(--tbcp-accent-2));font-weight:900;font-size:22px;color:#fff}
.tbp-cp-brand strong,.tbp-cp-brand span{display:block;color:#fff!important;line-height:1.2}
.tbp-cp-brand span{font-size:12px;color:var(--tbcp-muted)!important;margin-top:4px}
.tbp-cp-nav{display:grid;gap:8px}
.tbp-cp-nav button{appearance:none;border:1px solid transparent;background:transparent;color:#d7e7ff!important;border-radius:16px;padding:14px 15px;text-align:left;font-weight:800;cursor:pointer;transition:.2s ease;box-shadow:none}
.tbp-cp-nav button:hover,.tbp-cp-nav button.is-active{background:linear-gradient(180deg,rgba(37,99,235,.28),rgba(14,23,39,.75));border-color:rgba(94,155,255,.28);color:#fff!important}
.tbp-cp-sidebar-card{margin-top:18px;padding:18px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid var(--tbcp-line)}
.tbp-cp-sidebar-card strong,.tbp-cp-sidebar-card p{display:block;color:#fff!important}
.tbp-cp-sidebar-card p{margin:10px 0 14px;color:var(--tbcp-muted)!important;font-size:14px;line-height:1.55}
.tbp-cp-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 34%),linear-gradient(135deg,#08111f,#091728 58%,#0b1322);border:1px solid var(--tbcp-border);border-radius:28px;padding:26px 28px;box-shadow:0 18px 55px rgba(0,0,0,.24);margin-bottom:18px}
.tbp-cp-topbar h1{margin:0 0 8px;font-size:clamp(28px,4vw,48px);line-height:1.04;color:#fff!important;font-weight:900}
.tbp-cp-topbar p{margin:0;color:var(--tbcp-muted)!important;font-size:16px;max-width:740px}
.tbp-cp-topbar-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.tbp-cp-user-chip{padding:12px 16px;border-radius:18px;border:1px solid var(--tbcp-line);background:rgba(255,255,255,.04);min-width:220px}
.tbp-cp-user-chip strong,.tbp-cp-user-chip span{display:block;color:#fff!important}
.tbp-cp-user-chip span{margin-top:4px;font-size:12px;color:var(--tbcp-muted)!important}
.tbp-cp-btn,.tbp-cp-shell .tbp-cp-btn,.tbp-cp-shell a.tbp-cp-btn,.tbp-cp-shell button.tbp-cp-btn,.tbp-sidebar-portal-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;appearance:none;text-decoration:none!important;border:1px solid rgba(126,167,255,.25)!important;background:linear-gradient(180deg,rgba(13,25,43,.88),rgba(8,16,28,.95))!important;color:#eef4ff!important;border-radius:14px;padding:12px 16px;font-weight:850;line-height:1.1;cursor:pointer;transition:.18s ease;box-shadow:none!important}
.tbp-cp-btn:hover,.tbp-sidebar-portal-link:hover{transform:translateY(-1px);background:linear-gradient(180deg,rgba(23,43,73,.96),rgba(10,18,31,.98))!important;color:#fff!important}
.tbp-cp-btn-primary{background:linear-gradient(135deg,var(--tbcp-accent),var(--tbcp-accent-2))!important;border-color:transparent!important;color:#fff!important}
.tbp-cp-panel{display:none}
.tbp-cp-panel.is-active{display:block}
.tbp-cp-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.tbp-cp-stat-card,.tbp-cp-panel-card,.tbp-cp-auth-card{background:linear-gradient(180deg,#0b1729,#0a1321 58%,#09111d);border:1px solid var(--tbcp-border);border-radius:24px;padding:20px;box-shadow:0 14px 40px rgba(0,0,0,.22)}
.tbp-cp-stat-card span,.tbp-cp-kv-grid span,.tbp-cp-product-meta span,.tbp-cp-file-item span,.tbp-cp-list-row span,.tbp-cp-timeline-item span,.tbp-cp-section-title-row p,.tbp-cp-auth-card p,.tbp-cp-panel-card p,.tbp-cp-auth-copy p,.tbp-cp-feature-list li{color:var(--tbcp-muted)!important}
.tbp-cp-stat-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:8px}
.tbp-cp-stat-card strong{display:block;color:#fff!important;font-size:24px;line-height:1.2;margin-bottom:6px}
.tbp-cp-stat-card small{display:block;color:#c8d7ef!important;font-size:13px}
.tbp-cp-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-child(1),.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-child(2){grid-column:span 6}
.tbp-cp-panel-card-span-two{grid-column:span 12}
.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-last-child(3),.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-last-child(2),.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-last-child(1){grid-column:span 4}
.tbp-cp-section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.tbp-cp-section-title-row h3{margin:0;color:#fff!important;font-size:24px;font-weight:850}.tbp-cp-section-title-row a,.tbp-cp-section-title-row button{background:none;border:0;padding:0;color:#7fb0ff!important;font-weight:800;cursor:pointer;text-decoration:none}
.tbp-cp-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tbp-cp-kv-grid>div{padding:14px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid var(--tbcp-line)}
.tbp-cp-kv-grid strong,.tbp-cp-booking-highlight strong,.tbp-cp-product-card h4,.tbp-cp-service-item strong,.tbp-cp-file-item strong,.tbp-cp-list-row strong,.tbp-cp-timeline-item strong,.tbp-cp-feature-list,.tbp-cp-auth-copy h2,.tbp-cp-auth-card h3,.tbp-cp-panel-card h3{color:#fff!important}
.tbp-cp-kv-grid span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.tbp-cp-booking-highlight{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center}
.tbp-cp-date-box{padding:16px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid var(--tbcp-line);text-align:center}
.tbp-cp-date-box span,.tbp-cp-date-box small{display:block;color:#9cc3ff!important;font-weight:800;text-transform:uppercase}
.tbp-cp-date-box strong{display:block;color:#fff!important;font-size:42px;line-height:1;margin:8px 0}
.tbp-cp-status-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.24);color:#9ef0b4!important;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-top:10px}
.tbp-cp-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tbp-cp-card-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tbp-cp-product-card{background:linear-gradient(180deg,#0d1a2d,#0b1627);border:1px solid var(--tbcp-border);border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.tbp-cp-product-card h4{margin:0;font-size:24px;line-height:1.15}.tbp-cp-product-card p{margin:0;line-height:1.55;color:var(--tbcp-muted)!important}.tbp-cp-product-meta{display:flex;justify-content:space-between;gap:14px;align-items:center}.tbp-cp-product-meta strong{font-size:28px;color:#fff!important}
.tbp-cp-service-list,.tbp-cp-file-list,.tbp-cp-list-stack,.tbp-cp-timeline{display:grid;gap:12px}
.tbp-cp-service-item,.tbp-cp-file-item,.tbp-cp-list-row,.tbp-cp-timeline-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid var(--tbcp-line)}
.tbp-cp-service-item span{font-weight:800;color:#fff!important}
.tbp-cp-file-item div,.tbp-cp-list-row div{min-width:0}.tbp-cp-file-item strong,.tbp-cp-list-row strong{display:block}.tbp-cp-file-item span,.tbp-cp-list-row span{display:block;font-size:12px;margin-top:4px}.tbp-cp-icon-link{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(37,99,235,.18);border:1px solid rgba(108,154,255,.22);color:#fff!important;text-decoration:none!important;font-weight:900}.tbp-cp-list-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.tbp-cp-timeline-item{display:block;position:relative;padding-left:18px}.tbp-cp-timeline-item:before{content:"";position:absolute;left:0;top:20px;width:8px;height:8px;border-radius:999px;background:var(--tbcp-accent);box-shadow:0 0 0 4px rgba(37,99,235,.14)}.tbp-cp-timeline-item strong{display:block}.tbp-cp-timeline-item span{display:block;font-size:12px;margin:5px 0 8px}.tbp-cp-timeline-item p{margin:0;line-height:1.55;color:#dce8fb!important}
.tbp-cp-auth-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}
.tbp-cp-auth-sidebar{min-height:100%}
.tbp-cp-auth-copy{padding:4px 0 6px}.tbp-cp-eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#dce8fb!important;margin-bottom:12px}.tbp-cp-auth-copy h2{margin:0 0 10px;font-size:34px;line-height:1.08;font-weight:900}.tbp-cp-feature-list{margin:12px 0 0;padding-left:18px;line-height:1.7}
.tbp-cp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tbp-cp-form-grid label{display:block;color:#dce8fb!important;font-size:13px;font-weight:800}.tbp-cp-form-grid .tbp-cp-form-actions{grid-column:1/-1}
.tbp-cp-inline-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}
.tbp-cp-auth-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.tbp-cp-shell input,.tbp-cp-shell textarea,.tbp-cp-shell select,.tb-customer-portal.tbp-cp-shell input,.tb-customer-portal.tbp-cp-shell textarea,.tb-customer-portal.tbp-cp-shell select{width:100%;min-height:48px;border:1px solid rgba(150,178,226,.18)!important;border-radius:14px!important;background:#0c1728!important;color:#eef4ff!important;padding:12px 14px!important;box-shadow:none!important;margin-top:8px}
.tbp-cp-shell input::placeholder,.tbp-cp-shell textarea::placeholder{color:#7f96b8!important;opacity:1}
.tbp-cp-shell input:focus,.tbp-cp-shell textarea:focus,.tbp-cp-shell select:focus{outline:none!important;border-color:rgba(96,165,250,.45)!important;box-shadow:0 0 0 4px rgba(59,130,246,.12)!important}
.tbp-cp-shell .tb-portal-alert{margin-bottom:16px}
.tbp-sidebar-portal-card{margin:16px 0;padding:16px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.08);box-shadow:0 12px 35px rgba(0,0,0,.16);backdrop-filter:blur(10px);color:#fff}
.tbp-sidebar-portal-card p{margin:0 0 12px;color:rgba(255,255,255,.78)!important;font-size:13px;line-height:1.45}
.tbp-sidebar-portal-link{width:100%}
@media (max-width: 1280px){.tbp-cp-layout,.tbp-cp-auth-layout{grid-template-columns:1fr}.tbp-cp-sidebar{position:relative;top:auto}.tbp-cp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-child(1),.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-child(2),.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-last-child(3),.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-last-child(2),.tbp-cp-dashboard-grid>.tbp-cp-panel-card:nth-last-child(1),.tbp-cp-panel-card-span-two{grid-column:span 12}.tbp-cp-card-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 860px){.tbp-cp-topbar,.tbp-cp-topbar-actions,.tbp-cp-auth-support-grid,.tbp-cp-form-grid,.tbp-cp-card-grid,.tbp-cp-card-grid-three,.tbp-cp-kv-grid,.tbp-cp-inline-form,.tbp-cp-stat-grid{grid-template-columns:1fr!important;display:grid}.tbp-cp-topbar{padding:22px}.tbp-cp-topbar-actions{display:flex;flex-direction:column;align-items:stretch}.tbp-cp-booking-highlight{grid-template-columns:1fr}.tbp-cp-service-item,.tbp-cp-file-item,.tbp-cp-list-row{flex-direction:column;align-items:flex-start}.tbp-cp-list-actions{justify-content:flex-start}.tbp-cp-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.tbp-cp-nav button{text-align:center}.tbp-cp-sidebar-card{margin-top:12px}}
@media (max-width: 560px){.tbp-cp-shell{padding:0 10px}.tbp-cp-sidebar,.tbp-cp-stat-card,.tbp-cp-panel-card,.tbp-cp-auth-card{padding:16px;border-radius:22px}.tbp-cp-topbar{padding:18px;border-radius:22px}.tbp-cp-topbar h1{font-size:32px}.tbp-cp-auth-copy h2{font-size:28px}.tbp-cp-nav{grid-template-columns:1fr}.tbp-cp-user-chip{min-width:0;width:100%}}

/* ===== Customer Portal Polish v1.7.12 ===== */
.tbp-cp-shell-v1712{width:min(1920px,calc(100vw - 32px))!important;max-width:none!important;margin-top:24px!important;margin-bottom:24px!important;margin-left:calc(50% - min(960px,calc(50vw - 16px)))!important;margin-right:auto!important;padding:0!important}
.tbp-cp-shell-v1712 .tbp-cp-layout{grid-template-columns:300px minmax(0,1fr);gap:20px;width:100%}
.tbp-cp-shell-v1712 .tbp-cp-main{width:100%;min-width:0}
.tbp-cp-icon{width:1.2em;height:1.2em;display:inline-block;vertical-align:-.18em;flex:0 0 auto;color:currentColor}
.tbp-cp-shell-v1712 .tbp-cp-nav button{display:flex!important;align-items:center;gap:12px;text-align:left!important;min-height:52px}
.tbp-cp-shell-v1712 .tbp-cp-nav button .tbp-cp-icon{width:22px;height:22px;opacity:.92}
.tbp-cp-shell-v1712 .tbp-cp-topbar{position:relative;overflow:hidden;background:radial-gradient(circle at 64% 0,rgba(59,130,246,.22),transparent 32%),radial-gradient(circle at 90% 20%,rgba(14,165,233,.14),transparent 26%),linear-gradient(135deg,#070d17,#091728 54%,#0c1829)!important}
.tbp-cp-shell-v1712 .tbp-cp-topbar:after{content:"";position:absolute;right:90px;top:-70px;width:260px;height:260px;border-radius:50%;border:18px solid rgba(76,104,148,.08);box-shadow:inset 0 0 0 12px rgba(255,255,255,.025);pointer-events:none}
.tbp-cp-shell-v1712 .tbp-cp-stat-card{position:relative;overflow:hidden;padding-left:84px;min-height:128px}.tbp-cp-shell-v1712 .tbp-cp-stat-icon{position:absolute;left:20px;top:26px;display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,rgba(37,99,235,.38),rgba(56,189,248,.16));border:1px solid rgba(115,166,255,.26);color:#9dc4ff}.tbp-cp-shell-v1712 .tbp-cp-stat-icon .tbp-cp-icon{width:25px;height:25px}
.tbp-cp-shell-v1712 .tbp-cp-stat-card strong{font-size:clamp(18px,1.35vw,24px)}
.tbp-cp-shell-v1712 .tbp-cp-dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}.tbp-cp-shell-v1712 .tbp-cp-dashboard-grid>.tbp-cp-panel-card{height:100%}
.tbp-cp-shell-v1712 .tbp-cp-vehicle-card-inner{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:center}.tbp-cp-shell-v1712 .tbp-cp-vehicle-avatar{display:grid;place-items:center;min-height:150px;border-radius:24px;background:radial-gradient(circle at 55% 40%,rgba(59,130,246,.2),transparent 44%),linear-gradient(145deg,#0e1e34,#07111f);border:1px solid rgba(126,167,255,.18);color:#82b7ff}.tbp-cp-shell-v1712 .tbp-cp-vehicle-avatar .tbp-cp-icon{width:78px;height:78px;filter:drop-shadow(0 12px 22px rgba(37,99,235,.18))}.tbp-cp-shell-v1712 .tbp-cp-vehicle-list-card .tbp-cp-vehicle-card-inner{grid-template-columns:120px minmax(0,1fr)}.tbp-cp-shell-v1712 .tbp-cp-vehicle-list-card .tbp-cp-vehicle-avatar{min-height:126px}.tbp-cp-shell-v1712 .tbp-cp-vehicle-list-card .tbp-cp-vehicle-avatar .tbp-cp-icon{width:60px;height:60px}
.tbp-cp-shell-v1712 .tbp-cp-upcoming-card{background:radial-gradient(circle at 100% 0,rgba(37,99,235,.18),transparent 36%),linear-gradient(180deg,#0b1729,#0a1321 58%,#09111d)!important}.tbp-cp-shell-v1712 .tbp-cp-date-box{background:linear-gradient(180deg,rgba(37,99,235,.18),rgba(255,255,255,.03))!important}.tbp-cp-shell-v1712 .tbp-cp-date-box-small{width:112px;min-width:112px}.tbp-cp-shell-v1712 .tbp-cp-booking-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.tbp-cp-shell-v1712 .tbp-cp-booking-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;background:linear-gradient(180deg,#0b1729,#091221);border:1px solid var(--tbcp-border);border-radius:24px;padding:18px;box-shadow:0 14px 40px rgba(0,0,0,.22)}.tbp-cp-shell-v1712 .tbp-cp-booking-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.tbp-cp-shell-v1712 .tbp-cp-booking-card h4{margin:0;color:#fff!important;font-size:22px;line-height:1.15}.tbp-cp-shell-v1712 .tbp-cp-booking-card p{margin:5px 0;color:var(--tbcp-muted)!important}.tbp-cp-shell-v1712 .tbp-cp-booking-actions{margin-top:12px}
.tbp-cp-shell-v1712 .tbp-cp-product-card{position:relative;overflow:hidden}.tbp-cp-shell-v1712 .tbp-cp-product-card:before{content:"";position:absolute;inset:auto -30px -60px auto;width:160px;height:160px;border-radius:50%;background:rgba(37,99,235,.08);pointer-events:none}.tbp-cp-shell-v1712 .tbp-cp-product-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,rgba(37,99,235,.32),rgba(20,184,166,.16));border:1px solid rgba(115,166,255,.24);color:#9dc4ff}.tbp-cp-shell-v1712 .tbp-cp-product-icon .tbp-cp-icon{width:23px;height:23px}.tbp-cp-shell-v1712 .tbp-cp-service-item{display:grid;grid-template-columns:auto 1fr auto}.tbp-cp-shell-v1712 .tbp-cp-service-item .tbp-cp-icon{width:22px;height:22px;color:#9dc4ff}
.tbp-cp-file-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}.tbp-cp-file-title-wrap>div{min-width:0}.tbp-cp-file-badge{display:grid;place-items:center;width:48px;height:48px;min-width:48px;border-radius:14px;color:#fff!important;font-size:12px;font-weight:950;letter-spacing:.05em;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.tbp-cp-file-badge-pdf{background:linear-gradient(135deg,#dc2626,#f97316)}.tbp-cp-file-badge-image{background:linear-gradient(135deg,#2563eb,#06b6d4)}.tbp-cp-file-badge-tune{background:linear-gradient(135deg,#16a34a,#22c55e)}.tbp-cp-file-badge-data{background:linear-gradient(135deg,#7c3aed,#a855f7)}.tbp-cp-file-badge-log{background:linear-gradient(135deg,#475569,#94a3b8)}.tbp-cp-file-badge-file{background:linear-gradient(135deg,#334155,#64748b)}.tbp-cp-shell-v1712 .tbp-cp-file-row{align-items:center}.tbp-cp-shell-v1712 .tbp-cp-icon-link .tbp-cp-icon,.tbp-cp-shell-v1712 .tbp-cp-btn .tbp-cp-icon{width:18px;height:18px}.tbp-cp-shell-v1712 .tbp-cp-icon-link{font-size:0}.tbp-cp-shell-v1712 .tbp-cp-icon-link .tbp-cp-icon{font-size:18px}
.tbp-cp-shell-v1712 .tbp-cp-timeline{position:relative;padding-left:8px}.tbp-cp-shell-v1712 .tbp-cp-timeline:before{content:"";position:absolute;left:24px;top:14px;bottom:14px;width:2px;background:linear-gradient(180deg,rgba(96,165,250,.88),rgba(96,165,250,.1))}.tbp-cp-shell-v1712 .tbp-cp-timeline-item{display:grid!important;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:flex-start;background:transparent!important;border:0!important;padding:7px 0 12px 0!important}.tbp-cp-shell-v1712 .tbp-cp-timeline-item:before{display:none!important}.tbp-cp-shell-v1712 .tbp-cp-timeline-dot{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,rgba(37,99,235,.34),rgba(14,165,233,.12));border:1px solid rgba(126,167,255,.26);color:#9dc4ff;box-shadow:0 0 0 6px #0a1424}.tbp-cp-shell-v1712 .tbp-cp-timeline-dot .tbp-cp-icon{width:23px;height:23px}.tbp-cp-shell-v1712 .tbp-cp-timeline-full{max-width:920px}.tbp-cp-shell-v1712 .tbp-cp-timeline-full .tbp-cp-timeline-item{grid-template-columns:54px minmax(0,1fr)}.tbp-cp-shell-v1712 .tbp-cp-timeline-full .tbp-cp-timeline-dot{width:54px;height:54px}
.tbp-cp-shell-v1712 .tbp-cp-upload-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;background:linear-gradient(180deg,#0b1729,#091221);border:1px solid var(--tbcp-border);border-radius:24px;padding:20px;margin-bottom:16px;box-shadow:0 14px 40px rgba(0,0,0,.22)}.tbp-cp-shell-v1712 .tbp-cp-upload-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,rgba(37,99,235,.34),rgba(14,165,233,.16));border:1px solid rgba(126,167,255,.24);color:#9dc4ff}.tbp-cp-shell-v1712 .tbp-cp-upload-icon .tbp-cp-icon{width:32px;height:32px}.tbp-cp-shell-v1712 .tbp-cp-upload-card h3{margin:0 0 6px;color:#fff!important;font-size:24px}.tbp-cp-shell-v1712 .tbp-cp-upload-card p{margin:0;color:var(--tbcp-muted)!important}.tbp-cp-shell-v1712 .tbp-cp-upload-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tbp-cp-shell-v1712 .tbp-cp-upload-grid label{display:block;color:#dce8fb!important;font-size:13px;font-weight:800}.tbp-cp-shell-v1712 .tbp-cp-upload-notes{grid-column:1/-1}.tbp-cp-shell-v1712 #tbp-cp-upload-result{grid-column:1/-1;margin-top:4px}.tbp-cp-shell-v1712 .tbp-cp-upload-card>.tbp-cp-btn{grid-column:1/-1;justify-self:start}.tbp-cp-shell-v1712 input[type="file"]{padding-top:10px!important}
.tbp-cp-shell-v1712 .tbp-cp-panel-card,.tbp-cp-shell-v1712 .tbp-cp-stat-card,.tbp-cp-shell-v1712 .tbp-cp-product-card,.tbp-cp-shell-v1712 .tbp-cp-booking-card,.tbp-cp-shell-v1712 .tbp-cp-upload-card{backdrop-filter:blur(10px)}
@media (max-width:1500px){.tbp-cp-shell-v1712 .tbp-cp-layout{grid-template-columns:270px minmax(0,1fr)}.tbp-cp-shell-v1712 .tbp-cp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1280px){.tbp-cp-shell-v1712{width:calc(100vw - 24px)!important;margin-left:calc(50% - 50vw + 12px)!important}.tbp-cp-shell-v1712 .tbp-cp-layout{grid-template-columns:1fr}.tbp-cp-shell-v1712 .tbp-cp-sidebar{position:relative;top:auto}.tbp-cp-shell-v1712 .tbp-cp-nav{grid-template-columns:repeat(4,minmax(0,1fr));display:grid!important}.tbp-cp-shell-v1712 .tbp-cp-nav button{justify-content:center}.tbp-cp-shell-v1712 .tbp-cp-card-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.tbp-cp-shell-v1712 .tbp-cp-stat-grid,.tbp-cp-shell-v1712 .tbp-cp-card-grid,.tbp-cp-shell-v1712 .tbp-cp-card-grid-three,.tbp-cp-shell-v1712 .tbp-cp-upload-grid{grid-template-columns:1fr!important}.tbp-cp-shell-v1712 .tbp-cp-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tbp-cp-shell-v1712 .tbp-cp-topbar{display:grid}.tbp-cp-shell-v1712 .tbp-cp-topbar-actions{align-items:stretch}.tbp-cp-shell-v1712 .tbp-cp-vehicle-card-inner,.tbp-cp-shell-v1712 .tbp-cp-vehicle-list-card .tbp-cp-vehicle-card-inner{grid-template-columns:1fr}.tbp-cp-shell-v1712 .tbp-cp-booking-card{grid-template-columns:1fr}.tbp-cp-shell-v1712 .tbp-cp-date-box-small{width:100%;min-width:0}.tbp-cp-shell-v1712 .tbp-cp-upload-card{grid-template-columns:1fr}.tbp-cp-shell-v1712 .tbp-cp-upload-card>.tbp-cp-btn{justify-self:stretch}}
@media (max-width:560px){.tbp-cp-shell-v1712{width:calc(100vw - 14px)!important;margin-left:calc(50% - 50vw + 7px)!important}.tbp-cp-shell-v1712 .tbp-cp-nav{grid-template-columns:1fr!important}.tbp-cp-shell-v1712 .tbp-cp-stat-card{padding-left:18px;padding-top:86px}.tbp-cp-shell-v1712 .tbp-cp-stat-icon{left:18px;top:18px}.tbp-cp-shell-v1712 .tbp-cp-booking-card-head,.tbp-cp-shell-v1712 .tbp-cp-file-row{display:grid!important}.tbp-cp-file-title-wrap{align-items:flex-start}.tbp-cp-shell-v1712 .tbp-cp-timeline-item{grid-template-columns:44px minmax(0,1fr)}.tbp-cp-shell-v1712 .tbp-cp-timeline-dot{width:44px;height:44px;border-radius:16px}.tbp-cp-shell-v1712 .tbp-cp-timeline:before{left:22px}}

/* ===== Customer Portal Colour / Button Readability Hotfix v1.7.13 ===== */
html body .tb-customer-portal.tbp-cp-shell,
html body .tb-customer-portal.tbp-cp-shell-v1712{
    --tbcp-bg:#050b16!important;
    --tbcp-panel:#0b1627!important;
    --tbcp-panel-2:#111f35!important;
    --tbcp-border:rgba(132,171,235,.20)!important;
    --tbcp-line:rgba(144,177,228,.18)!important;
    --tbcp-text:#f4f8ff!important;
    --tbcp-muted:#a8b9d6!important;
    --tbcp-accent:#3b82f6!important;
    --tbcp-accent-2:#22d3ee!important;
    --tbcp-success:#22c55e!important;
    color:#f4f8ff!important;
    width:calc(100vw - 28px)!important;
    max-width:none!important;
}

/* Stop WordPress/theme button styles turning the portal nav red. */
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-nav button,
html body .entry-content .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button,
html body .site-content .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button{
    all:unset!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    width:100%!important;
    min-height:54px!important;
    padding:14px 16px!important;
    border-radius:16px!important;
    border:1px solid rgba(125,160,215,.14)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
    color:#dbeafe!important;
    font:800 15px/1.15 var(--tb-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)!important;
    letter-spacing:0!important;
    text-align:left!important;
    text-decoration:none!important;
    cursor:pointer!important;
    box-shadow:none!important;
    text-shadow:none!important;
    opacity:1!important;
    user-select:none!important;
}
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button *,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-nav button *{
    color:inherit!important;
    fill:none!important;
    stroke:currentColor!important;
    opacity:1!important;
    text-shadow:none!important;
}
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button .tbp-cp-icon,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-nav button .tbp-cp-icon{
    width:21px!important;
    height:21px!important;
    min-width:21px!important;
    color:#93c5fd!important;
}
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button:hover,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-nav button:hover{
    background:linear-gradient(180deg,rgba(59,130,246,.20),rgba(21,34,58,.72))!important;
    border-color:rgba(96,165,250,.34)!important;
    color:#ffffff!important;
    transform:translateY(-1px)!important;
}
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button.is-active,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-nav button.is-active{
    background:linear-gradient(135deg,rgba(59,130,246,.92),rgba(37,99,235,.62))!important;
    border-color:rgba(147,197,253,.58)!important;
    color:#ffffff!important;
    box-shadow:0 14px 28px rgba(37,99,235,.20), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button.is-active .tbp-cp-icon,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-nav button.is-active .tbp-cp-icon{
    color:#ffffff!important;
}

/* Modern neutral buttons with readable text. */
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell a.tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell button.tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v1712 a.tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v1712 button.tbp-cp-btn{
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:44px!important;
    padding:12px 16px!important;
    border-radius:14px!important;
    border:1px solid rgba(126,167,255,.30)!important;
    background:linear-gradient(180deg,#17243a,#0d1829)!important;
    color:#f8fbff!important;
    font:850 14px/1.1 var(--tb-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)!important;
    text-decoration:none!important;
    box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.07)!important;
    text-shadow:none!important;
    cursor:pointer!important;
}
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-btn:hover,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-btn:hover{
    background:linear-gradient(180deg,#203456,#122039)!important;
    border-color:rgba(147,197,253,.46)!important;
    color:#ffffff!important;
    transform:translateY(-1px)!important;
}
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-shell button[type="submit"].tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v1712 button[type="submit"].tbp-cp-btn{
    background:linear-gradient(135deg,#2563eb,#0891b2)!important;
    border-color:rgba(147,197,253,.42)!important;
    color:#ffffff!important;
    box-shadow:0 16px 30px rgba(37,99,235,.24), inset 0 1px 0 rgba(255,255,255,.16)!important;
}

/* Make cards softer and text contrast higher. */
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-sidebar{
    background:radial-gradient(circle at 18% 0,rgba(59,130,246,.22),transparent 34%),linear-gradient(180deg,#071322,#091827 58%,#07111c)!important;
    border-color:rgba(134,168,222,.22)!important;
}
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-booking-card,
html body .tb-customer-portal.tbp-cp-shell .tbp-cp-upload-card,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-booking-card,
html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-upload-card{
    background:linear-gradient(180deg,rgba(15,29,50,.98),rgba(8,18,32,.98))!important;
    border-color:rgba(134,168,222,.18)!important;
}
html body .tb-customer-portal.tbp-cp-shell h1,
html body .tb-customer-portal.tbp-cp-shell h2,
html body .tb-customer-portal.tbp-cp-shell h3,
html body .tb-customer-portal.tbp-cp-shell h4,
html body .tb-customer-portal.tbp-cp-shell strong,
html body .tb-customer-portal.tbp-cp-shell-v1712 h1,
html body .tb-customer-portal.tbp-cp-shell-v1712 h2,
html body .tb-customer-portal.tbp-cp-shell-v1712 h3,
html body .tb-customer-portal.tbp-cp-shell-v1712 h4,
html body .tb-customer-portal.tbp-cp-shell-v1712 strong{
    color:#ffffff!important;
}
html body .tb-customer-portal.tbp-cp-shell p,
html body .tb-customer-portal.tbp-cp-shell span,
html body .tb-customer-portal.tbp-cp-shell small,
html body .tb-customer-portal.tbp-cp-shell-v1712 p,
html body .tb-customer-portal.tbp-cp-shell-v1712 span,
html body .tb-customer-portal.tbp-cp-shell-v1712 small{
    text-shadow:none!important;
}

/* Form controls remain readable even under aggressive site themes. */
html body .tb-customer-portal.tbp-cp-shell input,
html body .tb-customer-portal.tbp-cp-shell textarea,
html body .tb-customer-portal.tbp-cp-shell select,
html body .tb-customer-portal.tbp-cp-shell-v1712 input,
html body .tb-customer-portal.tbp-cp-shell-v1712 textarea,
html body .tb-customer-portal.tbp-cp-shell-v1712 select{
    background:#0b1627!important;
    color:#f8fbff!important;
    border-color:rgba(134,168,222,.24)!important;
}

@media (max-width:1280px){
    html body .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button,
    html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-nav button{justify-content:flex-start!important;text-align:left!important}
}
@media (max-width:560px){
    html body .tb-customer-portal.tbp-cp-shell,
    html body .tb-customer-portal.tbp-cp-shell-v1712{width:calc(100vw - 12px)!important;margin-left:calc(50% - 50vw + 6px)!important}
    html body .tb-customer-portal.tbp-cp-shell .tbp-cp-nav button,
    html body .tb-customer-portal.tbp-cp-shell-v1712 .tbp-cp-nav button{min-height:50px!important;padding:13px 14px!important}
}

/* ===== Customer Portal Upload Readability + Premium Polish v1.7.14 ===== */
html body .tb-customer-portal.tbp-cp-shell-v1714{
    width:calc(100vw - 32px)!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw + 16px)!important;
    margin-right:calc(50% - 50vw + 16px)!important;
    color-scheme:dark!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714,
html body .tb-customer-portal.tbp-cp-shell-v1714 *{
    text-rendering:geometricPrecision;
}

/* High-contrast form controls. Fixes hidden/dark text in the upload section. */
html body .tb-customer-portal.tbp-cp-shell-v1714 label,
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-grid label,
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-form-grid label{
    color:#edf5ff!important;
    font-weight:850!important;
    letter-spacing:-.01em!important;
    opacity:1!important;
    text-shadow:none!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 input:not([type="file"]),
html body .tb-customer-portal.tbp-cp-shell-v1714 textarea,
html body .tb-customer-portal.tbp-cp-shell-v1714 select{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    min-height:54px!important;
    padding:14px 16px!important;
    border-radius:18px!important;
    border:1px solid rgba(147,197,253,.28)!important;
    background:linear-gradient(180deg,#0f1d32,#0a1526)!important;
    color:#f8fbff!important;
    -webkit-text-fill-color:#f8fbff!important;
    caret-color:#93c5fd!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.12)!important;
    opacity:1!important;
    filter:none!important;
    text-shadow:none!important;
    font:800 15px/1.25 var(--tb-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 select{
    background-image:linear-gradient(45deg,transparent 50%,#93c5fd 50%),linear-gradient(135deg,#93c5fd 50%,transparent 50%),linear-gradient(180deg,#0f1d32,#0a1526)!important;
    background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%,0 0!important;
    background-size:6px 6px,6px 6px,100% 100%!important;
    background-repeat:no-repeat!important;
    padding-right:44px!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 select option,
html body .tb-customer-portal.tbp-cp-shell-v1714 select optgroup{
    background:#0b1627!important;
    color:#f8fbff!important;
    -webkit-text-fill-color:#f8fbff!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 input::placeholder,
html body .tb-customer-portal.tbp-cp-shell-v1714 textarea::placeholder{
    color:#b7c7e2!important;
    -webkit-text-fill-color:#b7c7e2!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 input:focus,
html body .tb-customer-portal.tbp-cp-shell-v1714 textarea:focus,
html body .tb-customer-portal.tbp-cp-shell-v1714 select:focus{
    border-color:rgba(56,189,248,.64)!important;
    box-shadow:0 0 0 4px rgba(56,189,248,.13),inset 0 1px 0 rgba(255,255,255,.06),0 16px 32px rgba(0,0,0,.18)!important;
    outline:none!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 input:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-shell-v1714 input:-webkit-autofill:hover,
html body .tb-customer-portal.tbp-cp-shell-v1714 input:-webkit-autofill:focus{
    -webkit-text-fill-color:#f8fbff!important;
    box-shadow:0 0 0 1000px #0f1d32 inset!important;
    transition:background-color 9999s ease-in-out 0s!important;
}

/* Premium upload card */
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-card-pro{
    position:relative!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:18px!important;
    padding:24px!important;
    margin-bottom:18px!important;
    border-radius:28px!important;
    border:1px solid rgba(147,197,253,.22)!important;
    background:radial-gradient(circle at 8% 0,rgba(59,130,246,.22),transparent 34%),radial-gradient(circle at 88% 0,rgba(34,211,238,.10),transparent 30%),linear-gradient(180deg,#0d1b30,#081424 70%,#07111f)!important;
    box-shadow:0 22px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-card-pro:before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(147,197,253,.38),transparent);
    pointer-events:none;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-icon{
    width:68px!important;
    height:68px!important;
    border-radius:24px!important;
    background:linear-gradient(135deg,rgba(59,130,246,.55),rgba(8,145,178,.24))!important;
    border:1px solid rgba(147,197,253,.34)!important;
    color:#dbeafe!important;
    box-shadow:0 14px 32px rgba(37,99,235,.18),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-intro h3{
    margin:3px 0 7px!important;
    color:#ffffff!important;
    font-size:clamp(24px,3vw,32px)!important;
    line-height:1.06!important;
    font-weight:950!important;
    letter-spacing:-.03em!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-intro p{
    margin:0!important;
    color:#b8c8e3!important;
    font-size:15px!important;
    line-height:1.55!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-mini-kicker{
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    border:1px solid rgba(147,197,253,.20)!important;
    background:rgba(255,255,255,.045)!important;
    color:#93c5fd!important;
    font-size:11px!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.08em!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-chips{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:14px!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-chips span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:26px!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    background:rgba(59,130,246,.12)!important;
    border:1px solid rgba(147,197,253,.18)!important;
    color:#dbeafe!important;
    font-size:11px!important;
    font-weight:950!important;
    letter-spacing:.05em!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-grid{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    margin-top:2px!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-notes,
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-file-dropzone{
    grid-column:1/-1!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-file-dropzone input[type="file"]{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-file-dropzone-ui{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    min-height:92px!important;
    margin-top:8px!important;
    padding:18px 20px 18px 64px!important;
    border-radius:20px!important;
    border:1px dashed rgba(147,197,253,.42)!important;
    background:linear-gradient(180deg,rgba(59,130,246,.10),rgba(8,20,36,.70))!important;
    color:#f8fbff!important;
    position:relative!important;
    cursor:pointer!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-file-dropzone-ui:before{
    content:"↑";
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:12px;
    background:rgba(59,130,246,.22);
    color:#bfdbfe;
    font-weight:950;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-file-dropzone-ui strong{
    color:#ffffff!important;
    font-size:16px!important;
    font-weight:950!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-file-dropzone-ui small{
    color:#abc0dd!important;
    font-size:13px!important;
    margin-top:5px!important;
    line-height:1.4!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-footer{
    grid-column:1/-1!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:16px!important;
    padding-top:4px!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-safe-note{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    color:#b8c8e3!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-safe-note strong{
    color:#ffffff!important;
    font-size:14px!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-safe-note span{
    color:#a9bbd8!important;
    font-size:13px!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-result{
    grid-column:1/-1!important;
    min-height:24px!important;
    color:#cde0ff!important;
    font-weight:850!important;
}

/* Extra professional polish across portal cards/buttons. */
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-booking-card{
    background:radial-gradient(circle at 0 0,rgba(59,130,246,.10),transparent 36%),linear-gradient(180deg,#0d1a2d,#081424)!important;
    border-color:rgba(147,197,253,.18)!important;
    box-shadow:0 18px 50px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-panel-card:hover,
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-product-card:hover,
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-booking-card:hover{
    border-color:rgba(147,197,253,.28)!important;
    transform:translateY(-1px)!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v1714 button,
html body .tb-customer-portal.tbp-cp-shell-v1714 a{
    text-shadow:none!important;
}
html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-btn-primary{
    background:linear-gradient(135deg,#3b82f6,#06b6d4)!important;
    color:#ffffff!important;
    border-color:rgba(191,219,254,.42)!important;
}

@media (max-width: 900px){
    html body .tb-customer-portal.tbp-cp-shell-v1714{width:calc(100vw - 18px)!important;margin-left:calc(50% - 50vw + 9px)!important;margin-right:calc(50% - 50vw + 9px)!important}
    html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-card-pro{grid-template-columns:1fr!important;padding:20px!important}
    html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-grid{grid-template-columns:1fr!important}
    html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-footer{align-items:stretch!important;flex-direction:column!important}
    html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-upload-footer .tbp-cp-btn{width:100%!important}
}
@media (max-width: 560px){
    html body .tb-customer-portal.tbp-cp-shell-v1714{width:calc(100vw - 10px)!important;margin-left:calc(50% - 50vw + 5px)!important;margin-right:calc(50% - 50vw + 5px)!important}
    html body .tb-customer-portal.tbp-cp-shell-v1714 input:not([type="file"]),
    html body .tb-customer-portal.tbp-cp-shell-v1714 textarea,
    html body .tb-customer-portal.tbp-cp-shell-v1714 select{min-height:52px!important;border-radius:16px!important}
    html body .tb-customer-portal.tbp-cp-shell-v1714 .tbp-cp-file-dropzone-ui{padding-left:58px!important}
}


/* ===== Customer Portal Elite Redesign v1.7.15 =====
   Final override layer: premium full-width portal, readable forms, modern blue/graphite controls.
*/
html body .tb-customer-portal.tbp-cp-elite,
html body .tb-customer-portal.tbp-cp-elite *{
    box-sizing:border-box!important;
}
html body .tb-customer-portal.tbp-cp-elite{
    --tbcp-page:#050914;
    --tbcp-surface:#071223;
    --tbcp-surface-2:#0a172a;
    --tbcp-surface-3:#0e1d33;
    --tbcp-card:#0b1729;
    --tbcp-card-2:#0d1d33;
    --tbcp-border:rgba(148,190,255,.22);
    --tbcp-border-strong:rgba(148,190,255,.34);
    --tbcp-text:#f6f9ff;
    --tbcp-text-2:#dbeafe;
    --tbcp-muted:#a9bbd8;
    --tbcp-muted-2:#7f94b6;
    --tbcp-blue:#3b82f6;
    --tbcp-cyan:#22d3ee;
    --tbcp-indigo:#6366f1;
    --tbcp-green:#22c55e;
    --tbcp-amber:#f59e0b;
    --tbcp-red:#ef4444;
    --tbcp-shadow:0 28px 80px rgba(0,0,0,.38);
    --tbcp-soft-shadow:0 16px 48px rgba(0,0,0,.28);
    color:var(--tbcp-text)!important;
    font-family:"Inter","Outfit",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(1840px,calc(100vw - 28px))!important;
    max-width:none!important;
    margin:24px 0 32px!important;
    padding:18px!important;
    isolation:isolate!important;
    border-radius:34px!important;
    background:
        radial-gradient(circle at 16% 0%,rgba(59,130,246,.24),transparent 32%),
        radial-gradient(circle at 86% 10%,rgba(34,211,238,.12),transparent 28%),
        linear-gradient(135deg,#030712 0%,#07101f 45%,#081424 100%)!important;
    box-shadow:var(--tbcp-shadow)!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
      linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px)!important;
    background-size:54px 54px!important;
    mask-image:linear-gradient(180deg,rgba(0,0,0,.64),transparent 70%)!important;
    opacity:.55!important;
    z-index:0!important;
}
html body .tb-customer-portal.tbp-cp-elite:after{
    content:""!important;
    position:absolute!important;
    top:0!important;left:34px!important;right:34px!important;height:1px!important;
    background:linear-gradient(90deg,transparent,rgba(147,197,253,.65),rgba(34,211,238,.55),transparent)!important;
    z-index:1!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-main,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel{
    position:relative!important;
    z-index:2!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout{
    display:grid!important;
    grid-template-columns:310px minmax(0,1fr)!important;
    gap:20px!important;
    align-items:start!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar{
    top:20px!important;
    padding:22px!important;
    border-radius:30px!important;
    background:
      linear-gradient(180deg,rgba(15,35,66,.90),rgba(6,16,31,.96)),
      radial-gradient(circle at 0 0,rgba(59,130,246,.26),transparent 35%)!important;
    border:1px solid var(--tbcp-border)!important;
    box-shadow:var(--tbcp-soft-shadow),inset 0 1px 0 rgba(255,255,255,.06)!important;
    backdrop-filter:blur(18px)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand{
    gap:14px!important;
    padding-bottom:22px!important;
    margin-bottom:22px!important;
    border-bottom:1px solid rgba(148,190,255,.16)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand img{
    width:58px!important;height:58px!important;
    object-fit:contain!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.97)!important;
    padding:8px!important;
    box-shadow:0 12px 26px rgba(0,0,0,.22)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand-mark{
    width:58px!important;height:58px!important;border-radius:18px!important;
    background:linear-gradient(135deg,#1d4ed8,#22d3ee)!important;
    color:#fff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand strong{
    color:#ffffff!important;
    font-family:"Outfit","Inter",sans-serif!important;
    font-weight:900!important;
    font-size:18px!important;
    letter-spacing:-.02em!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand span{
    color:#bcd1ef!important;
    font-weight:700!important;
    font-size:12px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav{
    display:grid!important;
    gap:10px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button[type="button"]{
    appearance:none!important;
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    width:100%!important;
    min-height:54px!important;
    padding:14px 16px!important;
    border:1px solid rgba(148,190,255,.14)!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(14,31,56,.82),rgba(8,18,33,.96))!important;
    color:#eaf3ff!important;
    text-align:left!important;
    font-family:"Inter",system-ui,sans-serif!important;
    font-size:15px!important;
    line-height:1.15!important;
    font-weight:850!important;
    letter-spacing:-.01em!important;
    text-shadow:none!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
    cursor:pointer!important;
    opacity:1!important;
    transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button span{
    color:#eaf3ff!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button .tbp-cp-icon{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
    color:#93c5fd!important;
    filter:drop-shadow(0 6px 10px rgba(59,130,246,.18))!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button:hover{
    transform:translateY(-1px)!important;
    border-color:rgba(147,197,253,.34)!important;
    background:linear-gradient(180deg,rgba(22,47,83,.92),rgba(10,24,44,.98))!important;
    box-shadow:0 14px 30px rgba(0,0,0,.20)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button.is-active{
    color:#ffffff!important;
    background:
      linear-gradient(135deg,rgba(59,130,246,.92),rgba(29,78,216,.82)),
      radial-gradient(circle at 100% 0,rgba(34,211,238,.34),transparent 42%)!important;
    border-color:rgba(191,219,254,.48)!important;
    box-shadow:0 18px 36px rgba(37,99,235,.30),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button.is-active span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button.is-active .tbp-cp-icon{
    color:#ffffff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar-card{
    margin-top:20px!important;
    padding:18px!important;
    border-radius:22px!important;
    background:
      radial-gradient(circle at top right,rgba(34,211,238,.14),transparent 36%),
      linear-gradient(180deg,rgba(15,35,66,.78),rgba(8,20,38,.92))!important;
    border:1px solid rgba(148,190,255,.18)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar-card strong{
    color:#ffffff!important;
    font-size:16px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar-card p{
    color:#b8c9e6!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar{
    padding:28px 30px!important;
    margin-bottom:20px!important;
    border-radius:30px!important;
    background:
      radial-gradient(circle at 18% 0,rgba(59,130,246,.20),transparent 34%),
      radial-gradient(circle at 88% 12%,rgba(34,211,238,.13),transparent 30%),
      linear-gradient(135deg,rgba(12,27,49,.94),rgba(8,18,34,.96) 55%,rgba(9,24,46,.95))!important;
    border:1px solid var(--tbcp-border)!important;
    box-shadow:var(--tbcp-soft-shadow),inset 0 1px 0 rgba(255,255,255,.05)!important;
    backdrop-filter:blur(18px)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar h1{
    font-family:"Outfit","Inter",sans-serif!important;
    font-size:clamp(34px,4.2vw,58px)!important;
    letter-spacing:-.045em!important;
    color:#ffffff!important;
    text-shadow:0 10px 36px rgba(0,0,0,.30)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar p{
    color:#bcd1ef!important;
    font-size:16px!important;
    font-weight:600!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-user-chip{
    border:1px solid rgba(148,190,255,.18)!important;
    border-radius:18px!important;
    background:rgba(6,16,31,.62)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-user-chip strong{color:#fff!important}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-user-chip span{color:#a9bbd8!important}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-grid{
    gap:16px!important;
    margin-bottom:20px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-booking-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-auth-card{
    color:#f6f9ff!important;
    border:1px solid rgba(148,190,255,.18)!important;
    border-radius:26px!important;
    background:
      linear-gradient(180deg,rgba(13,30,54,.92),rgba(7,18,33,.96)),
      radial-gradient(circle at 0 0,rgba(59,130,246,.14),transparent 36%)!important;
    box-shadow:0 18px 55px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045)!important;
    backdrop-filter:blur(14px)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card{
    min-height:142px!important;
    padding:22px!important;
    position:relative!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card:after{
    content:""!important;
    position:absolute!important;
    right:-20px!important;top:-28px!important;
    width:120px!important;height:120px!important;
    border-radius:50%!important;
    background:radial-gradient(circle,rgba(59,130,246,.20),transparent 62%)!important;
    pointer-events:none!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card span{
    color:#93c5fd!important;
    font-weight:900!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card strong{
    color:#ffffff!important;
    font-size:clamp(22px,2vw,28px)!important;
    letter-spacing:-.03em!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card small{
    color:#bed2ef!important;
}
html body .tb-customer-portal.tbp-cp-elite h1,
html body .tb-customer-portal.tbp-cp-elite h2,
html body .tb-customer-portal.tbp-cp-elite h3,
html body .tb-customer-portal.tbp-cp-elite h4,
html body .tb-customer-portal.tbp-cp-elite strong,
html body .tb-customer-portal.tbp-cp-elite label{
    color:#ffffff!important;
    text-shadow:none!important;
}
html body .tb-customer-portal.tbp-cp-elite p,
html body .tb-customer-portal.tbp-cp-elite small,
html body .tb-customer-portal.tbp-cp-elite .tb-portal-muted{
    color:var(--tbcp-muted)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-title-row h3{
    font-family:"Outfit","Inter",sans-serif!important;
    font-size:clamp(22px,2vw,30px)!important;
    letter-spacing:-.035em!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-title-row a,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-title-row button,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-link{
    color:#7dd3fc!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    font-weight:900!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-kv-grid>div,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-service-item,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-item,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-list-row,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-date-box{
    background:linear-gradient(180deg,rgba(11,26,49,.88),rgba(6,16,31,.92))!important;
    border:1px solid rgba(148,190,255,.15)!important;
    border-radius:20px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-kv-grid span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-list-row span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-item span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card p,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item span{
    color:#a9bbd8!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite a.tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite button.tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite input[type="button"],
html body .tb-customer-portal.tbp-cp-elite input[type="submit"]{
    min-height:44px!important;
    padding:12px 16px!important;
    border-radius:15px!important;
    background:linear-gradient(180deg,rgba(15,35,66,.95),rgba(7,18,33,.98))!important;
    border:1px solid rgba(148,190,255,.24)!important;
    color:#f8fbff!important;
    font-family:"Inter",system-ui,sans-serif!important;
    font-weight:900!important;
    text-decoration:none!important;
    text-shadow:none!important;
    box-shadow:0 12px 28px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05)!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn:hover,
html body .tb-customer-portal.tbp-cp-elite a.tbp-cp-btn:hover,
html body .tb-customer-portal.tbp-cp-elite button.tbp-cp-btn:hover{
    color:#ffffff!important;
    border-color:rgba(147,197,253,.44)!important;
    background:linear-gradient(180deg,rgba(25,55,96,.96),rgba(10,25,45,.98))!important;
    transform:translateY(-1px)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-elite button.tbp-cp-btn-primary{
    background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
    border-color:rgba(191,219,254,.45)!important;
    color:#ffffff!important;
    box-shadow:0 18px 38px rgba(37,99,235,.34),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-status-badge{
    color:#bbf7d0!important;
    background:rgba(34,197,94,.14)!important;
    border:1px solid rgba(34,197,94,.34)!important;
}

/* Upload area readability and premium dropzone */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-card-pro{
    grid-template-columns:70px minmax(280px,.78fr) minmax(0,1.35fr)!important;
    gap:22px!important;
    align-items:start!important;
    padding:24px!important;
    border-radius:30px!important;
    background:
      radial-gradient(circle at 0 0,rgba(59,130,246,.20),transparent 34%),
      linear-gradient(180deg,rgba(11,28,52,.96),rgba(6,16,31,.98))!important;
    border:1px solid rgba(147,197,253,.22)!important;
    box-shadow:0 22px 70px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-intro h3{
    font-family:"Outfit","Inter",sans-serif!important;
    color:#ffffff!important;
    font-size:32px!important;
    letter-spacing:-.04em!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-intro p{
    color:#bcd1ef!important;
    font-size:15px!important;
    line-height:1.65!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-kicker{
    color:#7dd3fc!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-icon{
    width:70px!important;
    height:70px!important;
    border-radius:22px!important;
    display:grid!important;
    place-items:center!important;
    color:#ffffff!important;
    background:linear-gradient(135deg,#1d4ed8,#22d3ee)!important;
    border:1px solid rgba(191,219,254,.32)!important;
    box-shadow:0 18px 38px rgba(37,99,235,.30)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-icon .tbp-cp-icon{
    width:30px!important;height:30px!important;color:#fff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-chips span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge{
    color:#eaf3ff!important;
    background:rgba(59,130,246,.16)!important;
    border:1px solid rgba(147,197,253,.28)!important;
    font-weight:900!important;
    border-radius:999px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid label,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-form-grid label,
html body .tb-customer-portal.tbp-cp-elite label{
    color:#f6f9ff!important;
    font-size:13px!important;
    font-weight:900!important;
    letter-spacing:-.01em!important;
}
html body .tb-customer-portal.tbp-cp-elite input:not([type="file"]),
html body .tb-customer-portal.tbp-cp-elite textarea,
html body .tb-customer-portal.tbp-cp-elite select,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid input:not([type="file"]),
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid textarea,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid select{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    caret-color:#7dd3fc!important;
    background:#0b1729!important;
    border:1px solid rgba(147,197,253,.26)!important;
    border-radius:18px!important;
    min-height:56px!important;
    padding:14px 16px!important;
    font-size:15px!important;
    font-weight:700!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 10px 26px rgba(0,0,0,.14)!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-elite textarea{
    min-height:140px!important;
    line-height:1.55!important;
}
html body .tb-customer-portal.tbp-cp-elite input::placeholder,
html body .tb-customer-portal.tbp-cp-elite textarea::placeholder{
    color:#8fa4c6!important;
    -webkit-text-fill-color:#8fa4c6!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-elite select option{
    background:#0b1729!important;
    color:#ffffff!important;
}
html body .tb-customer-portal.tbp-cp-elite input:focus,
html body .tb-customer-portal.tbp-cp-elite textarea:focus,
html body .tb-customer-portal.tbp-cp-elite select:focus{
    outline:none!important;
    border-color:#7dd3fc!important;
    box-shadow:0 0 0 4px rgba(34,211,238,.13),0 14px 32px rgba(0,0,0,.20)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone{
    position:relative!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone input[type="file"]{
    position:absolute!important;
    inset:28px 0 0 0!important;
    width:100%!important;
    min-height:84px!important;
    opacity:0!important;
    cursor:pointer!important;
    z-index:3!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:86px!important;
    padding:18px 18px 18px 66px!important;
    margin-top:8px!important;
    border-radius:20px!important;
    background:
      linear-gradient(180deg,rgba(12,30,56,.92),rgba(8,20,38,.96)),
      radial-gradient(circle at left,rgba(34,211,238,.13),transparent 44%)!important;
    border:1px dashed rgba(125,211,252,.44)!important;
    position:relative!important;
    color:#ffffff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui:before{
    content:"\\f0ee"!important;
    font-family:"Font Awesome 6 Free"!important;
    font-weight:900!important;
    position:absolute!important;
    left:20px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:34px!important;height:34px!important;
    display:grid!important;place-items:center!important;
    border-radius:12px!important;
    color:#ffffff!important;
    background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui strong{
    color:#ffffff!important;
    font-size:15px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui small{
    color:#a9bbd8!important;
    font-weight:700!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-safe-note{
    color:#ffffff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-safe-note strong{
    color:#ffffff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-safe-note span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-result{
    color:#bcd1ef!important;
    -webkit-text-fill-color:#bcd1ef!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-result{
    font-weight:900!important;
    font-size:14px!important;
    padding-top:4px!important;
}

/* Lists/cards: cleaner premium style */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-booking-card{
    min-height:210px!important;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card:hover,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-booking-card:hover,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card:hover{
    transform:translateY(-2px)!important;
    border-color:rgba(125,211,252,.32)!important;
    box-shadow:0 26px 70px rgba(0,0,0,.30),0 0 0 1px rgba(125,211,252,.04)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card h4{
    font-family:"Outfit","Inter",sans-serif!important;
    color:#ffffff!important;
    font-size:24px!important;
    letter-spacing:-.03em!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-meta strong{
    color:#ffffff!important;
    font-size:26px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-row{
    padding:16px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-title-wrap strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-list-row strong{
    color:#ffffff!important;
    font-weight:900!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline{
    position:relative!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline:before{
    content:""!important;
    position:absolute!important;
    left:19px!important;
    top:18px!important;
    bottom:18px!important;
    width:2px!important;
    background:linear-gradient(180deg,#3b82f6,#22d3ee,transparent)!important;
    opacity:.55!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item{
    padding-left:56px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item:before{
    left:14px!important;
    width:13px!important;
    height:13px!important;
    background:#38bdf8!important;
    box-shadow:0 0 0 6px rgba(56,189,248,.14)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item p{
    color:#dbeafe!important;
}

/* Auth screen premium pass */
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-auth-main{
    min-width:0!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-auth-copy h2{
    font-family:"Outfit","Inter",sans-serif!important;
    color:#ffffff!important;
    font-size:clamp(32px,3vw,44px)!important;
    letter-spacing:-.04em!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-eyebrow{
    color:#bfeaff!important;
    background:rgba(34,211,238,.12)!important;
    border-color:rgba(125,211,252,.22)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-feature-list li{
    color:#bcd1ef!important;
    margin-bottom:7px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tb-portal-alert{
    color:#ffffff!important;
    border-radius:18px!important;
    border:1px solid rgba(251,113,133,.35)!important;
    background:rgba(127,29,29,.55)!important;
}

/* Responsive full-width polish */
@media (max-width:1280px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar{
        position:relative!important;
        top:auto!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button{
        justify-content:center!important;
        text-align:center!important;
        min-height:58px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-card-pro{
        grid-template-columns:70px 1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid{
        grid-column:1/-1!important;
    }
}
@media (max-width:900px){
    html body .tb-customer-portal.tbp-cp-elite{
        width:calc(100vw - 14px)!important;
        padding:10px!important;
        border-radius:24px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-grid,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-dashboard-grid,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-card-grid,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-card-grid-three,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-form-grid,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-auth-support-grid{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-dashboard-grid>*{
        grid-column:1/-1!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar{
        display:grid!important;
        grid-template-columns:1fr!important;
        padding:22px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-card-pro{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-icon{
        width:60px!important;height:60px!important;
    }
}
@media (max-width:560px){
    html body .tb-customer-portal.tbp-cp-elite{
        width:calc(100vw - 8px)!important;
        padding:8px!important;
        margin-top:8px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-card-pro{
        border-radius:20px!important;
        padding:16px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button{
        justify-content:flex-start!important;
        text-align:left!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar h1{
        font-size:34px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand img,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand-mark{
        width:50px!important;height:50px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui{
        padding-left:58px!important;
    }
}


/* ===== Customer Portal v1.7.16 fixes: icon layout, vehicle selector, logout/upload readability ===== */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:16px!important;
    align-items:center!important;
    padding:22px!important;
    padding-left:22px!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card:after{
    z-index:0!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-icon{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    grid-column:1!important;
    grid-row:1 / span 3!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:20px!important;
    background:linear-gradient(135deg,rgba(37,99,235,.90),rgba(6,182,212,.52))!important;
    border:1px solid rgba(191,219,254,.26)!important;
    color:#ffffff!important;
    box-shadow:0 16px 32px rgba(37,99,235,.28),inset 0 1px 0 rgba(255,255,255,.16)!important;
    z-index:2!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-icon .tbp-cp-icon{
    width:27px!important;
    height:27px!important;
    color:#ffffff!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>small{
    grid-column:2!important;
    position:relative!important;
    z-index:2!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>span{margin:0 0 4px!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>strong{margin:0 0 4px!important;line-height:1.08!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>small{line-height:1.35!important;}

html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-selector-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-select-card{
    padding:0!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-toggle{
    appearance:none!important;
    width:100%!important;
    border:0!important;
    background:linear-gradient(180deg,rgba(15,35,62,.88),rgba(8,20,38,.96))!important;
    color:#ffffff!important;
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr) auto 34px!important;
    align-items:center!important;
    gap:16px!important;
    padding:18px!important;
    cursor:pointer!important;
    text-align:left!important;
    border-bottom:1px solid rgba(147,197,253,.14)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-toggle:hover{
    background:linear-gradient(180deg,rgba(22,48,83,.94),rgba(9,24,45,.98))!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-summary strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-summary small{
    display:block!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-summary strong{
    color:#ffffff!important;
    font-family:"Outfit","Inter",sans-serif!important;
    font-size:22px!important;
    letter-spacing:-.03em!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-summary small{
    color:#a9c2e6!important;
    font-weight:800!important;
    margin-top:4px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-counts{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    justify-content:flex-end!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-counts em{
    font-style:normal!important;
    color:#dbeafe!important;
    background:rgba(59,130,246,.14)!important;
    border:1px solid rgba(147,197,253,.22)!important;
    border-radius:999px!important;
    padding:7px 10px!important;
    font-weight:900!important;
    font-size:12px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-chevron{
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.06)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    color:#ffffff!important;
    font-size:22px!important;
    transition:transform .18s ease!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-select-card.is-open .tbp-cp-vehicle-chevron{
    transform:rotate(180deg)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-details{
    display:none!important;
    padding:20px!important;
    background:radial-gradient(circle at top right,rgba(59,130,246,.10),transparent 35%),rgba(4,13,25,.48)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-select-card.is-open .tbp-cp-vehicle-details{
    display:block!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    margin-top:16px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-box{
    padding:16px!important;
    border-radius:20px!important;
    background:rgba(7,19,36,.72)!important;
    border:1px solid rgba(147,197,253,.14)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-box h4{
    margin:0 0 12px!important;
    color:#ffffff!important;
    font-size:18px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row{
    display:flex!important;
    gap:12px!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:12px!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.035)!important;
    border:1px solid rgba(147,197,253,.12)!important;
    color:#ffffff!important;
    text-decoration:none!important;
    margin-top:8px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row:hover{
    background:rgba(59,130,246,.10)!important;
    border-color:rgba(125,211,252,.28)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row small{
    color:#ffffff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row small,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row span{
    color:#a9c2e6!important;
}

html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-result{
    min-height:22px!important;
    color:#e0f2fe!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-result:not(:empty){
    padding:12px 14px!important;
    border-radius:14px!important;
    background:rgba(14,165,233,.10)!important;
    border:1px solid rgba(125,211,252,.22)!important;
}

@media (max-width:900px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-toggle{
        grid-template-columns:58px minmax(0,1fr) 34px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-counts{
        grid-column:2 / -1!important;
        justify-content:flex-start!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-grid{
        grid-template-columns:1fr!important;
    }
}
@media (max-width:560px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card{
        grid-template-columns:54px minmax(0,1fr)!important;
        padding:16px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-icon{
        width:48px!important;
        height:48px!important;
        min-width:48px!important;
        border-radius:16px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-icon .tbp-cp-icon{
        width:23px!important;
        height:23px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-toggle{
        grid-template-columns:1fr!important;
        text-align:left!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-toggle .tbp-cp-vehicle-avatar{
        width:58px!important;
        min-height:58px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-counts{
        grid-column:auto!important;
    }
}

/* ===== Customer Portal v1.7.17: file preview/log + sign-out readability ===== */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-title-wrap{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    min-width:0!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-preview,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    max-height:52px!important;
    border-radius:18px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    position:relative!important;
    flex:0 0 52px!important;
    text-align:center!important;
    line-height:1!important;
    padding:0!important;
    transform:none!important;
    vertical-align:middle!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-preview-image{
    background:rgba(59,130,246,.16)!important;
    border:1px solid rgba(147,197,253,.34)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 12px 28px rgba(0,0,0,.24)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-preview-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    margin:0!important;
    border:0!important;
    border-radius:18px!important;
    filter:saturate(1.08) contrast(1.03)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-preview-badge{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge{
    font-size:11px!important;
    font-weight:950!important;
    letter-spacing:.04em!important;
    color:#f8fbff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.35)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge-image{background:linear-gradient(135deg,#2563eb,#06b6d4)!important;border-color:rgba(125,211,252,.42)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge-pdf{background:linear-gradient(135deg,#dc2626,#f97316)!important;border-color:rgba(251,146,60,.42)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge-tune{background:linear-gradient(135deg,#16a34a,#22c55e)!important;border-color:rgba(74,222,128,.42)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge-data{background:linear-gradient(135deg,#7c3aed,#a855f7)!important;border-color:rgba(196,181,253,.42)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge-log{background:linear-gradient(135deg,#475569,#94a3b8)!important;border-color:rgba(203,213,225,.36)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge-file{background:linear-gradient(135deg,#334155,#64748b)!important;border-color:rgba(148,163,184,.38)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-title-wrap strong{
    color:#ffffff!important;
    font-size:16px!important;
    line-height:1.25!important;
    margin:0 0 3px!important;
    display:block!important;
    word-break:break-word!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-meta,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-title-wrap span{
    color:#b9ccef!important;
    font-size:13px!important;
    line-height:1.35!important;
    display:block!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-filename{
    display:inline-flex!important;
    align-items:center!important;
    max-width:100%!important;
    margin-top:5px!important;
    padding:4px 8px!important;
    border-radius:999px!important;
    background:rgba(148,163,184,.12)!important;
    border:1px solid rgba(148,163,184,.18)!important;
    color:#dce8fb!important;
    font-size:12px!important;
    line-height:1.25!important;
    font-weight:750!important;
    word-break:break-all!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:16px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn-preview{
    background:rgba(59,130,246,.16)!important;
    border-color:rgba(147,197,253,.32)!important;
    color:#eaf3ff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tb-portal-alert{
    font-size:15px!important;
    line-height:1.5!important;
    font-weight:850!important;
    color:#ffffff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.35)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tb-portal-alert-error{
    background:linear-gradient(135deg,rgba(185,28,28,.88),rgba(127,29,29,.78))!important;
    border:1px solid rgba(248,113,113,.65)!important;
    box-shadow:0 16px 42px rgba(127,29,29,.28)!important;
    color:#fff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tb-portal-alert-success{
    background:linear-gradient(135deg,rgba(22,101,52,.88),rgba(20,83,45,.78))!important;
    border:1px solid rgba(74,222,128,.58)!important;
    box-shadow:0 16px 42px rgba(22,101,52,.24)!important;
    color:#fff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-result:not(:empty){
    color:#ffffff!important;
    font-weight:850!important;
}
@media(max-width:720px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-row{
        grid-template-columns:1fr!important;
        align-items:stretch!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-row .tbp-cp-list-actions{
        width:100%!important;
        justify-content:stretch!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-row .tbp-cp-list-actions .tbp-cp-btn{
        flex:1 1 140px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-preview,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge{
        width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;max-height:48px!important;border-radius:16px!important;
    }
}


/* ===== v1.7.18 Portal login layout containment/alignment fix ===== */
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell{
    width:min(100%,1640px)!important;
    max-width:1640px!important;
    margin:24px auto!important;
    padding:18px!important;
    overflow:hidden!important;
    border-radius:28px!important;
    box-sizing:border-box!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell *,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell *:before,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell *:after{
    box-sizing:border-box!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-layout.tbp-cp-auth-layout{
    display:grid!important;
    grid-template-columns:minmax(250px,280px) minmax(0,1fr)!important;
    gap:18px!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-sidebar.tbp-cp-auth-sidebar{
    position:relative!important;
    top:auto!important;
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-main.tbp-cp-auth-main{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    align-content:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tb-portal-alert,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-auth-support-grid,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-panel-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar{
    min-height:134px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:28px!important;
    border-radius:26px!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar h1{
    font-size:clamp(42px,4.8vw,62px)!important;
    line-height:.98!important;
    margin:0 0 10px!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar p{
    margin:0!important;
    max-width:100%!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tb-portal-alert{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    padding:15px 18px!important;
    font-weight:900!important;
    line-height:1.35!important;
    text-shadow:none!important;
    -webkit-text-fill-color:currentColor!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tb-portal-alert.tb-portal-alert-success{
    color:#d7ffe5!important;
    background:linear-gradient(135deg,rgba(20,83,45,.88),rgba(5,46,22,.86))!important;
    border-color:rgba(74,222,128,.48)!important;
    box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tb-portal-alert.tb-portal-alert-error{
    color:#ffe4e6!important;
    background:linear-gradient(135deg,rgba(127,29,29,.88),rgba(69,10,10,.86))!important;
    border-color:rgba(248,113,113,.48)!important;
    box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-panel-card{
    overflow:hidden!important;
    border-radius:24px!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card .tbp-cp-form-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-form-grid label,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form input,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form button{
    min-width:0!important;
    max-width:100%!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-form-actions{
    grid-column:1/-1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin-top:8px!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-support-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:16px!important;
    align-items:stretch!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-support-grid>.tbp-cp-panel-card{
    height:100%!important;
    min-height:180px!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form .tbp-cp-btn{
    white-space:nowrap!important;
    min-height:50px!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell input,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell textarea,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell select{
    background:#0a1628!important;
    color:#f8fbff!important;
    -webkit-text-fill-color:#f8fbff!important;
    border-color:rgba(125,173,255,.26)!important;
    box-shadow:none!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell input::placeholder,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell textarea::placeholder{
    color:#9fb3d0!important;
    -webkit-text-fill-color:#9fb3d0!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-copy h2{
    font-size:clamp(30px,2.2vw,38px)!important;
    line-height:1.1!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-sidebar-card{
    margin-top:auto!important;
}
@media (max-width:1280px){
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-layout.tbp-cp-auth-layout{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-sidebar.tbp-cp-auth-sidebar{
        display:grid!important;
        grid-template-columns:minmax(230px,.65fr) minmax(280px,1fr) minmax(260px,.8fr)!important;
        gap:16px!important;
        align-items:stretch!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-brand{
        margin:0!important;
        padding:0!important;
        border:0!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-sidebar-card{
        margin:0!important;
    }
}
@media (max-width:980px){
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell{
        width:calc(100vw - 16px)!important;
        padding:12px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-sidebar.tbp-cp-auth-sidebar,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-support-grid,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card .tbp-cp-form-grid,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form .tbp-cp-btn,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-form-actions .tbp-cp-btn{
        width:100%!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar{
        min-height:0!important;
        padding:22px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar h1{
        font-size:clamp(34px,11vw,48px)!important;
    }
}
@media (max-width:560px){
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell{
        width:calc(100vw - 8px)!important;
        margin:8px auto!important;
        padding:8px!important;
        border-radius:22px!important;
    }
}

/* ===== v1.7.19 Portal header vertical alignment fix ===== */
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
    align-items:flex-start!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main{
    padding-top:20px!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main>.tbp-cp-topbar{
    margin-top:0!important;
    min-height:150px!important;
    display:flex!important;
    align-items:center!important;
    padding-top:28px!important;
    padding-bottom:28px!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main>.tbp-cp-topbar h1{
    margin-top:0!important;
    margin-bottom:10px!important;
    line-height:1.02!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main>.tbp-cp-topbar p{
    margin:0!important;
}
@media (max-width:1280px){
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main{
        padding-top:0!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main>.tbp-cp-topbar{
        min-height:0!important;
    }
}

/* ===== v1.7.20 Portal logout/sign-in full-width centering fix ===== */
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell{
    width:min(1680px,calc(100vw - 32px))!important;
    max-width:none!important;
    position:relative!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    margin:24px 0!important;
    padding:22px!important;
    clear:both!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-layout.tbp-cp-auth-layout{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    grid-template-columns:minmax(260px,300px) minmax(0,1fr)!important;
    align-items:stretch!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-main.tbp-cp-auth-main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar{
    width:100%!important;
    max-width:100%!important;
    min-height:138px!important;
    margin:0!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-auth-support-grid,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tb-portal-alert,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-panel-card{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-support-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card .tbp-cp-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media (max-width:1320px){
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell{
        width:min(100%,calc(100vw - 24px))!important;
        left:auto!important;
        transform:none!important;
        margin:12px auto!important;
        padding:14px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-layout.tbp-cp-auth-layout{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-sidebar.tbp-cp-auth-sidebar{
        display:grid!important;
        grid-template-columns:minmax(220px,.7fr) minmax(280px,1fr) minmax(240px,.8fr)!important;
        gap:14px!important;
    }
}
@media (max-width:920px){
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell{
        width:calc(100vw - 16px)!important;
        margin:8px auto!important;
        padding:10px!important;
        border-radius:24px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-sidebar.tbp-cp-auth-sidebar,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-support-grid,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card .tbp-cp-form-grid,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar{
        min-height:0!important;
        padding:22px!important;
    }
}
@media (max-width:560px){
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell{
        width:calc(100vw - 8px)!important;
        margin:4px auto!important;
        padding:8px!important;
        border-radius:20px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar h1{
        font-size:clamp(30px,11vw,42px)!important;
    }
}


/* ===== v1.7.21 Branding + portal auth input readability fix ===== */
html body .tb-customer-portal.tbp-cp-auth-shell,
html body .tb-customer-portal.tbp-cp-auth-shell *{
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}
html body .tb-customer-portal.tbp-cp-auth-shell input,
html body .tb-customer-portal.tbp-cp-auth-shell textarea,
html body .tb-customer-portal.tbp-cp-auth-shell select,
html body .tb-customer-portal.tbp-cp-auth-shell .tbp-cp-inline-form input,
html body .tb-customer-portal.tbp-cp-auth-shell .tbp-cp-form-grid input,
html body .tb-customer-portal.tbp-cp-auth-shell #tb-portal-reset-request input,
html body .tb-customer-portal.tbp-cp-auth-shell #tb-portal-reset-set input{
    background:#071426!important;
    background-color:#071426!important;
    color:#f4f8ff!important;
    -webkit-text-fill-color:#f4f8ff!important;
    caret-color:#7dd3fc!important;
    border:1px solid rgba(125,179,255,.34)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 12px 28px rgba(0,0,0,.12)!important;
}
html body .tb-customer-portal.tbp-cp-auth-shell input:hover,
html body .tb-customer-portal.tbp-cp-auth-shell textarea:hover,
html body .tb-customer-portal.tbp-cp-auth-shell select:hover{
    background:#081a30!important;
    background-color:#081a30!important;
    border-color:rgba(125,179,255,.48)!important;
}
html body .tb-customer-portal.tbp-cp-auth-shell input:focus,
html body .tb-customer-portal.tbp-cp-auth-shell input:active,
html body .tb-customer-portal.tbp-cp-auth-shell input:valid,
html body .tb-customer-portal.tbp-cp-auth-shell input:not(:placeholder-shown),
html body .tb-customer-portal.tbp-cp-auth-shell textarea:focus,
html body .tb-customer-portal.tbp-cp-auth-shell textarea:not(:placeholder-shown),
html body .tb-customer-portal.tbp-cp-auth-shell select:focus{
    background:#071426!important;
    background-color:#071426!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    border-color:rgba(56,189,248,.72)!important;
    outline:none!important;
    box-shadow:0 0 0 4px rgba(56,189,248,.14), inset 0 0 0 1px rgba(255,255,255,.035)!important;
}
html body .tb-customer-portal.tbp-cp-auth-shell input::placeholder,
html body .tb-customer-portal.tbp-cp-auth-shell textarea::placeholder{
    color:#95a9c8!important;
    -webkit-text-fill-color:#95a9c8!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-auth-shell input:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-auth-shell input:-webkit-autofill:hover,
html body .tb-customer-portal.tbp-cp-auth-shell input:-webkit-autofill:focus,
html body .tb-customer-portal.tbp-cp-auth-shell textarea:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-auth-shell select:-webkit-autofill{
    -webkit-box-shadow:0 0 0 1000px #071426 inset, 0 0 0 4px rgba(56,189,248,.14)!important;
    box-shadow:0 0 0 1000px #071426 inset, 0 0 0 4px rgba(56,189,248,.14)!important;
    -webkit-text-fill-color:#ffffff!important;
    color:#ffffff!important;
    border-color:rgba(56,189,248,.72)!important;
    transition:background-color 9999s ease-in-out 0s!important;
}
html body .tb-customer-portal.tbp-cp-auth-shell input:-moz-autofill,
html body .tb-customer-portal.tbp-cp-auth-shell textarea:-moz-autofill,
html body .tb-customer-portal.tbp-cp-auth-shell select:-moz-autofill{
    background:#071426!important;
    color:#ffffff!important;
}
html body .tb-customer-portal.tbp-cp-auth-shell .tbp-cp-auth-card label,
html body .tb-customer-portal.tbp-cp-auth-shell .tbp-cp-panel-card label{
    color:#eaf2ff!important;
}
html body .tb-customer-portal.tbp-cp-auth-shell .tbp-cp-auth-card .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-auth-shell .tbp-cp-panel-card .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-auth-shell #tb-portal-reset-request .tbp-cp-btn{
    color:#ffffff!important;
    text-shadow:0 1px 0 rgba(0,0,0,.22)!important;
}

/* ===== Tune Booker v1.7.22: activity overflow + vehicle cards/pagination ===== */
html body .tb-customer-portal.tbp-cp-elite,
html body .tb-customer-portal.tbp-cp-elite *{
    box-sizing:border-box!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-dashboard-grid,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-full{
    min-width:0!important;
    max-width:100%!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline{
    display:grid!important;
    gap:12px!important;
    padding:12px 0 0 0!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline:before{
    left:23px!important;
    top:24px!important;
    bottom:24px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:flex-start!important;
    padding:12px 14px!important;
    padding-left:0!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:20px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item:before{
    display:none!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-dot{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    z-index:2!important;
    display:grid!important;
    place-items:center!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,rgba(37,99,235,.82),rgba(14,165,233,.34))!important;
    border:1px solid rgba(147,197,253,.30)!important;
    box-shadow:0 0 0 6px rgba(7,18,33,.92)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-dot .tbp-cp-icon{
    width:22px!important;
    height:22px!important;
    color:#fff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item > div:last-child{
    min-width:0!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item p{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item p{
    line-height:1.55!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-title-row{
    align-items:center!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-count-pill{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    border-radius:999px!important;
    padding:9px 13px!important;
    color:#dbeafe!important;
    font-weight:900!important;
    border:1px solid rgba(147,197,253,.22)!important;
    background:rgba(59,130,246,.12)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
    align-items:start!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card{
    overflow:hidden!important;
    padding:0!important;
    border-radius:26px!important;
    border:1px solid rgba(148,190,255,.18)!important;
    background:linear-gradient(180deg,rgba(13,30,54,.92),rgba(7,18,33,.96))!important;
    box-shadow:0 18px 55px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card.is-paged-hidden{
    display:none!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-summary{
    appearance:none!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    grid-template-areas:"icon copy" "stats stats" "pill pill"!important;
    gap:14px!important;
    width:100%!important;
    padding:18px!important;
    border:0!important;
    border-radius:0!important;
    background:radial-gradient(circle at top right,rgba(59,130,246,.18),transparent 34%),linear-gradient(180deg,rgba(14,33,58,.94),rgba(8,20,38,.96))!important;
    text-align:left!important;
    cursor:pointer!important;
    color:#fff!important;
    box-shadow:none!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-summary:hover{
    background:radial-gradient(circle at top right,rgba(56,189,248,.20),transparent 34%),linear-gradient(180deg,rgba(20,45,80,.96),rgba(9,24,45,.98))!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-icon{
    grid-area:icon!important;
    display:grid!important;
    place-items:center!important;
    width:56px!important;
    height:56px!important;
    border-radius:19px!important;
    background:linear-gradient(135deg,rgba(37,99,235,.9),rgba(14,165,233,.40))!important;
    border:1px solid rgba(191,219,254,.26)!important;
    color:#fff!important;
    box-shadow:0 16px 32px rgba(37,99,235,.20),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-icon .tbp-cp-icon{
    width:28px!important;
    height:28px!important;
    color:#fff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-copy{
    grid-area:copy!important;
    min-width:0!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-copy strong{
    display:block!important;
    color:#fff!important;
    font-family:"Outfit","Inter",sans-serif!important;
    font-size:clamp(18px,1.4vw,23px)!important;
    line-height:1.12!important;
    letter-spacing:-.03em!important;
    overflow-wrap:anywhere!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-copy small{
    display:block!important;
    color:#a9c2e6!important;
    margin-top:6px!important;
    font-weight:800!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-stats{
    grid-area:stats!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    align-items:center!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-stats em{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    padding:8px 11px!important;
    border-radius:999px!important;
    font-style:normal!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    color:#dbeafe!important;
    border:1px solid rgba(147,197,253,.22)!important;
    background:rgba(59,130,246,.14)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-details-pill{
    grid-area:pill!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:42px!important;
    border-radius:14px!important;
    padding:10px 14px!important;
    background:rgba(255,255,255,.065)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    color:#fff!important;
    font-weight:900!important;
    text-align:center!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card.is-open .tbp-cp-vehicle-details-pill{
    background:rgba(34,197,94,.13)!important;
    border-color:rgba(134,239,172,.22)!important;
    color:#bbf7d0!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card .tbp-cp-vehicle-details{
    display:none!important;
    padding:18px!important;
    background:rgba(4,13,25,.58)!important;
    border-top:1px solid rgba(147,197,253,.13)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card.is-open .tbp-cp-vehicle-details{
    display:block!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pagination{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:12px!important;
    margin-top:18px!important;
    padding:16px!important;
    border-radius:22px!important;
    background:rgba(7,19,36,.72)!important;
    border:1px solid rgba(147,197,253,.14)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pagination span{
    color:#dbeafe!important;
    font-weight:900!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pagination .tbp-cp-btn[disabled]{
    opacity:.45!important;
    cursor:not-allowed!important;
    transform:none!important;
}
@media (max-width:1380px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media (max-width:900px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-grid{
        grid-template-columns:1fr!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item{
        grid-template-columns:48px minmax(0,1fr)!important;
        padding:10px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline:before{
        left:21px!important;
    }
}
@media (max-width:560px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-summary{
        grid-template-columns:1fr!important;
        grid-template-areas:"icon" "copy" "stats" "pill"!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pagination{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
}

/* ===== v1.7.23 Customer portal themes + vehicle detail spacing ===== */
html body .tb-customer-portal.tbp-cp-elite[data-tbp-portal-root]{
    transition:background .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-midnight{
    --tbcp-accent:#3b82f6;--tbcp-accent-2:#06b6d4;--tbcp-glow:rgba(59,130,246,.22);--tbcp-glow-2:rgba(6,182,212,.16);--tbcp-panel:#081426;--tbcp-panel-2:#0d1b30;--tbcp-border:rgba(147,197,253,.22);--tbcp-text:#f8fbff;--tbcp-muted:#b8c9e6;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-graphite{
    --tbcp-accent:#94a3b8;--tbcp-accent-2:#e2e8f0;--tbcp-glow:rgba(148,163,184,.19);--tbcp-glow-2:rgba(226,232,240,.08);--tbcp-panel:#090d13;--tbcp-panel-2:#111827;--tbcp-border:rgba(203,213,225,.20);--tbcp-text:#f8fafc;--tbcp-muted:#cbd5e1;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-motorsport{
    --tbcp-accent:#ef4444;--tbcp-accent-2:#f97316;--tbcp-glow:rgba(239,68,68,.20);--tbcp-glow-2:rgba(249,115,22,.10);--tbcp-panel:#120b12;--tbcp-panel-2:#1c1017;--tbcp-border:rgba(248,113,113,.22);--tbcp-text:#fff7f7;--tbcp-muted:#f0c0c0;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-electric{
    --tbcp-accent:#00d3ff;--tbcp-accent-2:#2563eb;--tbcp-glow:rgba(34,211,238,.24);--tbcp-glow-2:rgba(37,99,235,.14);--tbcp-panel:#061522;--tbcp-panel-2:#082034;--tbcp-border:rgba(103,232,249,.22);--tbcp-text:#f0fdff;--tbcp-muted:#b8e7f0;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-emerald{
    --tbcp-accent:#10b981;--tbcp-accent-2:#22c55e;--tbcp-glow:rgba(16,185,129,.20);--tbcp-glow-2:rgba(34,197,94,.10);--tbcp-panel:#071510;--tbcp-panel-2:#0b2118;--tbcp-border:rgba(110,231,183,.22);--tbcp-text:#f3fff9;--tbcp-muted:#b8e8d0;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-violet{
    --tbcp-accent:#8b5cf6;--tbcp-accent-2:#ec4899;--tbcp-glow:rgba(139,92,246,.24);--tbcp-glow-2:rgba(236,72,153,.10);--tbcp-panel:#100d22;--tbcp-panel-2:#17112b;--tbcp-border:rgba(196,181,253,.22);--tbcp-text:#fbf8ff;--tbcp-muted:#d8ccff;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-auth-card{
    border-color:var(--tbcp-border)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar{
    background:radial-gradient(circle at top right,var(--tbcp-glow),transparent 36%),radial-gradient(circle at bottom left,var(--tbcp-glow-2),transparent 38%),linear-gradient(135deg,var(--tbcp-panel),var(--tbcp-panel-2))!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card{
    background:radial-gradient(circle at top right,var(--tbcp-glow-2),transparent 34%),linear-gradient(180deg,var(--tbcp-panel-2),var(--tbcp-panel))!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button.is-active,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatch.is-active{
    background:linear-gradient(135deg,var(--tbcp-accent),var(--tbcp-accent-2))!important;
    border-color:rgba(255,255,255,.18)!important;
    color:#fff!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-icon,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-icon,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-icon,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-avatar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-date-box{
    background:linear-gradient(135deg, color-mix(in srgb, var(--tbcp-accent) 32%, transparent), color-mix(in srgb, var(--tbcp-accent-2) 22%, transparent))!important;
    border-color:var(--tbcp-border)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-card{
    margin:14px 0!important;
    padding:16px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.045)!important;
    border:1px solid var(--tbcp-border)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-head{
    display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:flex-end!important;margin-bottom:12px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-head strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-account-theme-panel h3{color:#fff!important;margin:0!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-head span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-account-theme-panel .tbp-cp-section-title-row span{color:var(--tbcp-muted)!important;font-size:12px!important;font-weight:850!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatches{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatches-wide{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatch{
    appearance:none!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-height:42px!important;
    padding:9px 10px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.045)!important;
    border:1px solid rgba(147,197,253,.14)!important;
    color:#dce8fb!important;
    font-weight:900!important;
    font-size:12px!important;
    line-height:1.15!important;
    text-align:left!important;
    cursor:pointer!important;
    box-shadow:none!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatch:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-dot{width:18px!important;height:18px!important;min-width:18px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:0 6px 14px rgba(0,0,0,.22)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-dot-midnight{background:linear-gradient(135deg,#3b82f6,#06b6d4)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-dot-graphite{background:linear-gradient(135deg,#334155,#e2e8f0)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-dot-motorsport{background:linear-gradient(135deg,#ef4444,#f97316)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-dot-electric{background:linear-gradient(135deg,#00d3ff,#2563eb)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-dot-emerald{background:linear-gradient(135deg,#10b981,#22c55e)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-dot-violet{background:linear-gradient(135deg,#8b5cf6,#ec4899)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-account-theme-panel{grid-column:1/-1!important;margin-bottom:16px!important;}

/* Make My Vehicles detail sections breathe properly. */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))!important;
    gap:18px!important;
    margin-top:18px!important;
    align-items:start!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-box{
    min-width:0!important;
    padding:22px!important;
    border-radius:22px!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-box h4{
    font-size:20px!important;
    line-height:1.2!important;
    margin-bottom:14px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    justify-content:start!important;
    gap:5px!important;
    padding:15px 16px!important;
    min-width:0!important;
    width:100%!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row strong{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:16px!important;
    line-height:1.28!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row small{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-file-row{
    grid-template-columns:58px minmax(0,1fr)!important;
    align-items:center!important;
    gap:14px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-file-row>span{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-file-row .tbp-cp-file-preview,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-file-row .tbp-cp-file-badge{
    width:52px!important;height:52px!important;min-width:52px!important;max-width:52px!important;border-radius:17px!important;
}
@media(max-width:1180px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-grid{grid-template-columns:1fr!important;}
}
@media(max-width:640px){
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatches{grid-template-columns:1fr!important;}
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-file-row{grid-template-columns:48px minmax(0,1fr)!important;}
}

/* ===== v1.7.24 Customer portal theme system + input readability ===== */
html body .tb-customer-portal.tbp-cp-elite{
    --tbcp-bg:#020817;
    --tbcp-panel:#071426;
    --tbcp-panel-2:#0b1b31;
    --tbcp-panel-3:#102542;
    --tbcp-border:rgba(147,197,253,.22);
    --tbcp-line:rgba(147,197,253,.16);
    --tbcp-text:#f8fbff;
    --tbcp-text-strong:#ffffff;
    --tbcp-muted:#b8c9e6;
    --tbcp-soft:#dce8fb;
    --tbcp-accent:#3b82f6;
    --tbcp-accent-2:#06b6d4;
    --tbcp-accent-3:#60a5fa;
    --tbcp-glow:rgba(59,130,246,.24);
    --tbcp-glow-2:rgba(6,182,212,.16);
    --tbcp-btn-text:#ffffff;
    --tbcp-input-bg:#061326;
    --tbcp-input-bg-focus:#071a33;
    --tbcp-input-text:#f8fbff;
    --tbcp-input-placeholder:#aabbd6;
    --tbcp-success:#22c55e;
    --tbcp-warning:#f59e0b;
    --tbcp-danger:#ef4444;
    background:radial-gradient(circle at 20% 0,var(--tbcp-glow),transparent 28%),radial-gradient(circle at 90% 12%,var(--tbcp-glow-2),transparent 32%),linear-gradient(135deg,#020817,var(--tbcp-bg))!important;
    color:var(--tbcp-text)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-midnight{
    --tbcp-bg:#020817;--tbcp-panel:#071426;--tbcp-panel-2:#0b1b31;--tbcp-panel-3:#102542;--tbcp-border:rgba(147,197,253,.25);--tbcp-line:rgba(147,197,253,.16);--tbcp-text:#f8fbff;--tbcp-text-strong:#fff;--tbcp-muted:#b8c9e6;--tbcp-soft:#dce8fb;--tbcp-accent:#3b82f6;--tbcp-accent-2:#06b6d4;--tbcp-accent-3:#60a5fa;--tbcp-glow:rgba(59,130,246,.24);--tbcp-glow-2:rgba(6,182,212,.16);--tbcp-input-bg:#061326;--tbcp-input-bg-focus:#071a33;--tbcp-input-text:#f8fbff;--tbcp-input-placeholder:#aabbd6;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-graphite{
    --tbcp-bg:#070a10;--tbcp-panel:#0b111a;--tbcp-panel-2:#141b26;--tbcp-panel-3:#1f2937;--tbcp-border:rgba(226,232,240,.22);--tbcp-line:rgba(226,232,240,.13);--tbcp-text:#f8fafc;--tbcp-text-strong:#fff;--tbcp-muted:#cbd5e1;--tbcp-soft:#e2e8f0;--tbcp-accent:#94a3b8;--tbcp-accent-2:#f8fafc;--tbcp-accent-3:#cbd5e1;--tbcp-glow:rgba(148,163,184,.20);--tbcp-glow-2:rgba(248,250,252,.08);--tbcp-input-bg:#0b111a;--tbcp-input-bg-focus:#111827;--tbcp-input-text:#ffffff;--tbcp-input-placeholder:#cbd5e1;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-motorsport{
    --tbcp-bg:#13080b;--tbcp-panel:#170b10;--tbcp-panel-2:#241018;--tbcp-panel-3:#37131b;--tbcp-border:rgba(248,113,113,.26);--tbcp-line:rgba(248,113,113,.16);--tbcp-text:#fff7f7;--tbcp-text-strong:#fff;--tbcp-muted:#f3c0c0;--tbcp-soft:#fee2e2;--tbcp-accent:#ef4444;--tbcp-accent-2:#fb7185;--tbcp-accent-3:#f97316;--tbcp-glow:rgba(239,68,68,.26);--tbcp-glow-2:rgba(249,115,22,.12);--tbcp-input-bg:#160b11;--tbcp-input-bg-focus:#221019;--tbcp-input-text:#fff7f7;--tbcp-input-placeholder:#f3b6b6;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-electric{
    --tbcp-bg:#03131f;--tbcp-panel:#051725;--tbcp-panel-2:#08243a;--tbcp-panel-3:#0b334f;--tbcp-border:rgba(103,232,249,.26);--tbcp-line:rgba(103,232,249,.16);--tbcp-text:#f0fdff;--tbcp-text-strong:#fff;--tbcp-muted:#b8e7f0;--tbcp-soft:#cffafe;--tbcp-accent:#00d3ff;--tbcp-accent-2:#2563eb;--tbcp-accent-3:#67e8f9;--tbcp-glow:rgba(34,211,238,.28);--tbcp-glow-2:rgba(37,99,235,.15);--tbcp-input-bg:#041525;--tbcp-input-bg-focus:#082038;--tbcp-input-text:#f0fdff;--tbcp-input-placeholder:#b8e7f0;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-emerald{
    --tbcp-bg:#04130e;--tbcp-panel:#071712;--tbcp-panel-2:#0b241b;--tbcp-panel-3:#0f3326;--tbcp-border:rgba(110,231,183,.26);--tbcp-line:rgba(110,231,183,.16);--tbcp-text:#f3fff9;--tbcp-text-strong:#fff;--tbcp-muted:#b8e8d0;--tbcp-soft:#d1fae5;--tbcp-accent:#10b981;--tbcp-accent-2:#22c55e;--tbcp-accent-3:#6ee7b7;--tbcp-glow:rgba(16,185,129,.24);--tbcp-glow-2:rgba(34,197,94,.13);--tbcp-input-bg:#061711;--tbcp-input-bg-focus:#092217;--tbcp-input-text:#f3fff9;--tbcp-input-placeholder:#b8e8d0;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-theme-violet{
    --tbcp-bg:#0d0a1d;--tbcp-panel:#110d22;--tbcp-panel-2:#1a1230;--tbcp-panel-3:#271a48;--tbcp-border:rgba(196,181,253,.26);--tbcp-line:rgba(196,181,253,.16);--tbcp-text:#fbf8ff;--tbcp-text-strong:#fff;--tbcp-muted:#d8ccff;--tbcp-soft:#ede9fe;--tbcp-accent:#8b5cf6;--tbcp-accent-2:#ec4899;--tbcp-accent-3:#c084fc;--tbcp-glow:rgba(139,92,246,.28);--tbcp-glow-2:rgba(236,72,153,.13);--tbcp-input-bg:#110d23;--tbcp-input-bg-focus:#1a1231;--tbcp-input-text:#fbf8ff;--tbcp-input-placeholder:#d8ccff;
}

/* Account-only theme selector: sidebar selector removed in PHP; hide any stale/cached sidebar theme block safely. */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar > .tbp-cp-theme-card{display:none!important;}

/* Make theme colours affect the entire customer portal, not just the shell. */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-booking-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-row,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-service-item,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-list-row,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-item,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-card-pro,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-safe-note,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-account-theme-panel{
    background:radial-gradient(circle at top right,var(--tbcp-glow-2),transparent 36%),linear-gradient(180deg,var(--tbcp-panel-2),var(--tbcp-panel))!important;
    border-color:var(--tbcp-border)!important;
    color:var(--tbcp-text)!important;
    box-shadow:0 18px 50px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.025)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar{
    background:radial-gradient(circle at 78% 0,var(--tbcp-glow),transparent 36%),radial-gradient(circle at 0 100%,var(--tbcp-glow-2),transparent 38%),linear-gradient(135deg,var(--tbcp-panel),var(--tbcp-panel-2))!important;
}
html body .tb-customer-portal.tbp-cp-elite h1,
html body .tb-customer-portal.tbp-cp-elite h2,
html body .tb-customer-portal.tbp-cp-elite h3,
html body .tb-customer-portal.tbp-cp-elite h4,
html body .tb-customer-portal.tbp-cp-elite h5,
html body .tb-customer-portal.tbp-cp-elite strong,
html body .tb-customer-portal.tbp-cp-elite label,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-meta strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-title-wrap strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-list-row strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row strong{
    color:var(--tbcp-text-strong)!important;
}
html body .tb-customer-portal.tbp-cp-elite p,
html body .tb-customer-portal.tbp-cp-elite small,
html body .tb-customer-portal.tbp-cp-elite span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-muted,
html body .tb-customer-portal.tbp-cp-elite .tb-portal-muted,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-brand span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar p,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card small,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-kv-grid span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-meta,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-title-wrap span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-mini-row small{
    color:var(--tbcp-muted)!important;
}

/* Buttons, nav, chips, badges and icons follow active theme. */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite a.tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite button.tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatch,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-link,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-icon-link{
    background:linear-gradient(180deg,color-mix(in srgb,var(--tbcp-panel-3) 84%,#fff 0%),color-mix(in srgb,var(--tbcp-panel) 94%,#000 0%))!important;
    border:1px solid var(--tbcp-border)!important;
    color:var(--tbcp-soft)!important;
    text-shadow:none!important;
    box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn:hover,
html body .tb-customer-portal.tbp-cp-elite a.tbp-cp-btn:hover,
html body .tb-customer-portal.tbp-cp-elite button.tbp-cp-btn:hover,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button:hover,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatch:hover,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-link:hover,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-icon-link:hover{
    background:linear-gradient(135deg,var(--tbcp-accent),var(--tbcp-accent-2))!important;
    border-color:rgba(255,255,255,.22)!important;
    color:var(--tbcp-btn-text)!important;
    transform:translateY(-1px)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button.is-active,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatch.is-active,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-footer .tbp-cp-btn{
    background:linear-gradient(135deg,var(--tbcp-accent),var(--tbcp-accent-2))!important;
    border-color:rgba(255,255,255,.24)!important;
    color:var(--tbcp-btn-text)!important;
    box-shadow:0 18px 38px var(--tbcp-glow), inset 0 0 0 1px rgba(255,255,255,.12)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button svg,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn svg,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-icon,
html body .tb-customer-portal.tbp-cp-elite .fa,
html body .tb-customer-portal.tbp-cp-elite .fas,
html body .tb-customer-portal.tbp-cp-elite .far{
    color:currentColor!important;
    fill:none!important;
    stroke:currentColor!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-icon,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-icon,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-icon,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-avatar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-date-box,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline-dot,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-icon,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-preview-badge{
    background:linear-gradient(135deg,var(--tbcp-accent),var(--tbcp-accent-2))!important;
    border-color:rgba(255,255,255,.24)!important;
    color:#fff!important;
    box-shadow:0 15px 34px var(--tbcp-glow)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-status-badge,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-chips span,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-filename{
    background:linear-gradient(135deg,color-mix(in srgb,var(--tbcp-accent) 22%,transparent),color-mix(in srgb,var(--tbcp-accent-2) 14%,transparent))!important;
    border-color:var(--tbcp-border)!important;
    color:var(--tbcp-soft)!important;
}

/* Form fields: never turn white, including focus, typed text and browser autofill. */
html body .tb-customer-portal.tbp-cp-elite input,
html body .tb-customer-portal.tbp-cp-elite textarea,
html body .tb-customer-portal.tbp-cp-elite select,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid input:not([type="file"]),
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid textarea,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid select,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-inline-form input,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-form-grid input,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-form-grid textarea,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-form-grid select{
    background:var(--tbcp-input-bg)!important;
    color:var(--tbcp-input-text)!important;
    -webkit-text-fill-color:var(--tbcp-input-text)!important;
    border:1px solid var(--tbcp-border)!important;
    caret-color:var(--tbcp-accent-3)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
}
html body .tb-customer-portal.tbp-cp-elite input:focus,
html body .tb-customer-portal.tbp-cp-elite textarea:focus,
html body .tb-customer-portal.tbp-cp-elite select:focus,
html body .tb-customer-portal.tbp-cp-elite input:active,
html body .tb-customer-portal.tbp-cp-elite textarea:active,
html body .tb-customer-portal.tbp-cp-elite select:active,
html body .tb-customer-portal.tbp-cp-elite input:valid,
html body .tb-customer-portal.tbp-cp-elite textarea:valid,
html body .tb-customer-portal.tbp-cp-elite select:valid{
    background:var(--tbcp-input-bg-focus)!important;
    color:var(--tbcp-input-text)!important;
    -webkit-text-fill-color:var(--tbcp-input-text)!important;
    border-color:var(--tbcp-accent)!important;
    outline:none!important;
    box-shadow:0 0 0 4px var(--tbcp-glow), inset 0 0 0 1px rgba(255,255,255,.035)!important;
}
html body .tb-customer-portal.tbp-cp-elite input::placeholder,
html body .tb-customer-portal.tbp-cp-elite textarea::placeholder{
    color:var(--tbcp-input-placeholder)!important;
    -webkit-text-fill-color:var(--tbcp-input-placeholder)!important;
    opacity:1!important;
}
html body .tb-customer-portal.tbp-cp-elite select option{
    background:var(--tbcp-input-bg)!important;
    color:var(--tbcp-input-text)!important;
}
html body .tb-customer-portal.tbp-cp-elite input:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-elite input:-webkit-autofill:hover,
html body .tb-customer-portal.tbp-cp-elite input:-webkit-autofill:focus,
html body .tb-customer-portal.tbp-cp-elite textarea:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-elite textarea:-webkit-autofill:hover,
html body .tb-customer-portal.tbp-cp-elite textarea:-webkit-autofill:focus,
html body .tb-customer-portal.tbp-cp-elite select:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-elite select:-webkit-autofill:hover,
html body .tb-customer-portal.tbp-cp-elite select:-webkit-autofill:focus{
    -webkit-text-fill-color:var(--tbcp-input-text)!important;
    caret-color:var(--tbcp-accent-3)!important;
    transition:background-color 999999s ease-in-out 0s!important;
    box-shadow:0 0 0 1000px var(--tbcp-input-bg-focus) inset,0 0 0 4px var(--tbcp-glow)!important;
    border-color:var(--tbcp-accent)!important;
}
html body .tb-customer-portal.tbp-cp-elite input[type="file"]{
    background:transparent!important;
    color:var(--tbcp-input-text)!important;
    -webkit-text-fill-color:var(--tbcp-input-text)!important;
}
html body .tb-customer-portal.tbp-cp-elite input[type="file"]::file-selector-button{
    background:linear-gradient(135deg,var(--tbcp-accent),var(--tbcp-accent-2))!important;
    border:0!important;
    color:#fff!important;
    border-radius:12px!important;
    padding:10px 14px!important;
    font-weight:900!important;
}

/* Upload/dropzone and account theme selector match active theme. */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-grid label,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-account-theme-panel,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatches-wide{
    color:var(--tbcp-text)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui{
    background:radial-gradient(circle at top right,var(--tbcp-glow-2),transparent 35%),linear-gradient(135deg,var(--tbcp-input-bg-focus),var(--tbcp-input-bg))!important;
    border-color:var(--tbcp-border)!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui strong{color:var(--tbcp-text-strong)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-dropzone-ui small{color:var(--tbcp-muted)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-dot{border-color:rgba(255,255,255,.42)!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-theme-swatch.is-active:after{
    content:'✓';
    margin-left:auto;
    color:#fff!important;
    font-weight:900!important;
}


/* ===== Tune Booker v1.7.25: fluid portal zone + rounded container fix ===== */
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
    width:min(1840px,calc(100vw - 24px))!important;
    max-width:none!important;
    margin:18px auto 30px!important;
    padding:18px!important;
    border-radius:34px!important;
    overflow:hidden!important;
    min-height:0!important;
    height:auto!important;
    contain:layout paint!important;
    clip-path:inset(0 round 34px)!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell):before,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell):after{
    border-radius:inherit!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
    display:grid!important;
    grid-template-columns:minmax(280px,310px) minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:20px!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar{
    position:relative!important;
    top:auto!important;
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    border-radius:28px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar .tbp-cp-sidebar-card{
    margin-top:auto!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main{
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding-top:0!important;
    overflow:visible!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main>.tbp-cp-topbar{
    width:100%!important;
    flex:0 0 auto!important;
    margin:0!important;
    border-radius:28px!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-panel{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-panel.is-active{
    display:block!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-vehicle-pro-card,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-account-theme-panel{
    border-radius:24px!important;
    overflow:hidden!important;
    background-clip:padding-box!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) [data-tbcp-panel="account"]{
    padding-bottom:0!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) [data-tbcp-panel="account"] .tbp-cp-card-grid,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) [data-tbcp-panel="account"] .tbp-cp-account-grid,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) [data-tbcp-panel="account"] .tbp-cp-kv-grid{
    align-items:stretch!important;
    min-height:0!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button{
    border-radius:18px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button.is-active{
    border-radius:18px!important;
}
@media (max-width:1280px){
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
        width:calc(100vw - 18px)!important;
        margin:12px auto 24px!important;
        padding:14px!important;
        border-radius:30px!important;
        clip-path:inset(0 round 30px)!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
        grid-template-columns:1fr!important;
        align-items:start!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar{
        align-self:auto!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar .tbp-cp-sidebar-card{
        margin-top:14px!important;
    }
}
@media (max-width:700px){
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
        width:calc(100vw - 10px)!important;
        margin:6px auto 18px!important;
        padding:8px!important;
        border-radius:24px!important;
        clip-path:inset(0 round 24px)!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main>.tbp-cp-topbar,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-panel-card,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-stat-card,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-product-card,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-vehicle-pro-card{
        border-radius:20px!important;
    }
}

/* ===== v1.7.26 sidebar spacing + transparent rounded shell fix ===== */
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
    background:transparent!important;
    background-color:transparent!important;
    overflow:visible!important;
    clip-path:none!important;
    border-radius:34px!important;
    padding:18px!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell):before{
    border-radius:34px!important;
    inset:0!important;
    background:linear-gradient(135deg,rgba(5,13,26,.88),rgba(5,20,34,.82))!important;
    overflow:hidden!important;
    pointer-events:none!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell):after{
    border-radius:34px!important;
    left:34px!important;
    right:34px!important;
    overflow:hidden!important;
    pointer-events:none!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
    align-items:start!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar{
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:30px!important;
    padding-bottom:22px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav{
    margin-bottom:0!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar .tbp-cp-sidebar-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar > .tbp-cp-sidebar-card{
    margin-top:22px!important;
    margin-bottom:0!important;
    flex:0 0 auto!important;
    border-radius:22px!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button:last-child{
    margin-bottom:0!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav button.is-active + .tbp-cp-sidebar-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav + .tbp-cp-sidebar-card{
    margin-top:22px!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar-card .tbp-cp-btn{
    margin-top:2px!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main{
    align-self:start!important;
}
@media (min-width:1281px){
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
        align-items:start!important;
    }
}
@media (max-width:1280px){
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
        background:transparent!important;
        clip-path:none!important;
        border-radius:30px!important;
        overflow:visible!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell):before{
        border-radius:30px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar .tbp-cp-sidebar-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar > .tbp-cp-sidebar-card{
        margin-top:20px!important;
    }
}
@media (max-width:700px){
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
        border-radius:24px!important;
        padding:8px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell):before{
        border-radius:24px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-sidebar .tbp-cp-sidebar-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar > .tbp-cp-sidebar-card{
        margin-top:18px!important;
    }
}


/* ===== Tune Booker v1.7.27: centred full-width shell + no clipped edges ===== */
html body .tb-customer-portal.tbp-cp-elite,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
    position:relative!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:1800px!important;
    min-width:0!important;
    margin:32px auto!important;
    padding:0 18px!important;
    border-radius:0!important;
    background:transparent!important;
    background-color:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    clip-path:none!important;
    contain:none!important;
    isolation:isolate!important;
}
html body .tb-customer-portal.tbp-cp-elite:before,
html body .tb-customer-portal.tbp-cp-elite:after,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell:before,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell:after,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell):before,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell):after{
    display:none!important;
    content:none!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-layout.tbp-cp-auth-layout,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:24px!important;
    border-radius:38px!important;
    overflow:hidden!important;
    background:
        radial-gradient(circle at 12% 0%,rgba(59,130,246,.22),transparent 30%),
        radial-gradient(circle at 90% 10%,rgba(34,211,238,.12),transparent 30%),
        linear-gradient(135deg,#030712 0%,#07101f 45%,#081424 100%)!important;
    border:1px solid rgba(148,190,255,.16)!important;
    box-shadow:0 30px 90px rgba(0,0,0,.40)!important;
    background-clip:padding-box!important;
}
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
    display:grid!important;
    grid-template-columns:minmax(280px,310px) minmax(0,1fr)!important;
    gap:22px!important;
    align-items:start!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-layout.tbp-cp-auth-layout{
    display:grid!important;
    grid-template-columns:minmax(280px,310px) minmax(0,1fr)!important;
    gap:22px!important;
    align-items:stretch!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-main>.tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-auth-card{
    background-clip:padding-box!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar{
    border-radius:30px!important;
    overflow:hidden!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-main,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
    align-self:start!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-main>.tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-main>.tbp-cp-topbar{
    margin:0 0 18px!important;
    border-radius:30px!important;
    overflow:hidden!important;
}
/* Stop theme/page wrappers causing horizontal clipping around the portal. */
html body .entry-content:has(.tb-customer-portal.tbp-cp-elite),
html body .wp-block-post-content:has(.tb-customer-portal.tbp-cp-elite),
html body .elementor-widget-container:has(.tb-customer-portal.tbp-cp-elite),
html body .elementor-shortcode:has(.tb-customer-portal.tbp-cp-elite){
    overflow:visible!important;
}
@media (max-width:1280px){
    html body .tb-customer-portal.tbp-cp-elite,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
        width:100%!important;
        max-width:100%!important;
        margin:18px auto!important;
        padding:0 12px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-layout.tbp-cp-auth-layout,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
        grid-template-columns:1fr!important;
        padding:18px!important;
        border-radius:30px!important;
        gap:18px!important;
    }
}
@media (max-width:700px){
    html body .tb-customer-portal.tbp-cp-elite,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell){
        margin:10px auto 18px!important;
        padding:0 6px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-layout.tbp-cp-auth-layout,
    html body .tb-customer-portal.tbp-cp-elite:not(.tbp-cp-auth-shell) .tbp-cp-layout{
        padding:10px!important;
        border-radius:24px!important;
        gap:12px!important;
    }
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-main>.tbp-cp-topbar,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card,
    html body .tb-customer-portal.tbp-cp-elite .tbp-cp-auth-card{
        border-radius:20px!important;
    }
}


/* Portal sign-in builder layout support */
.tbp-cp-login-layout-sidebar_right .tbp-cp-auth-sidebar{order:2}.tbp-cp-login-layout-sidebar_right .tbp-cp-auth-main{order:1}.tbp-cp-login-layout-stacked .tbp-cp-auth-layout,.tbp-cp-no-auth-sidebar .tbp-cp-auth-layout{grid-template-columns:minmax(0,1fr)!important}.tbp-cp-no-auth-sidebar .tbp-cp-auth-main{max-width:1180px;margin-inline:auto;width:100%}.tbp-cp-auth-support-grid .tbp-cp-builder-card{min-width:0}.tbp-cp-auth-support-grid .tbp-cp-builder-card p{overflow-wrap:anywhere;word-break:normal}
@media(max-width:900px){.tbp-cp-login-layout-sidebar_right .tbp-cp-auth-sidebar,.tbp-cp-login-layout-sidebar_right .tbp-cp-auth-main{order:initial}}


/* v1.7.29 - Portal sign-in layout + typography builder fixes */
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-layout{
    display:grid!important;
    align-items:start!important;
    gap:22px!important;
    grid-auto-flow:row!important;
    grid-template-columns:minmax(280px,360px) minmax(0,1fr)!important;
    grid-template-areas:"sidebar main"!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-sidebar{
    grid-area:sidebar!important;
    order:0!important;
    min-width:0!important;
    width:100%!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main{
    grid-area:main!important;
    order:0!important;
    min-width:0!important;
    width:100%!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell.tbp-cp-login-layout-sidebar_right .tbp-cp-auth-layout{
    grid-template-columns:minmax(0,1fr) minmax(280px,360px)!important;
    grid-template-areas:"main sidebar"!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell.tbp-cp-login-layout-stacked .tbp-cp-auth-layout,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell.tbp-cp-no-auth-sidebar .tbp-cp-auth-layout{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"sidebar" "main"!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell.tbp-cp-no-auth-sidebar .tbp-cp-auth-sidebar{display:none!important;}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell.tbp-cp-no-auth-sidebar .tbp-cp-auth-main{max-width:1180px!important;margin-inline:auto!important;}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar h1{
    font-size:var(--tbp-login-main-title-size,56px)!important;
    line-height:.98!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar p{
    font-size:var(--tbp-login-main-subtitle-size,16px)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-copy h2{
    font-size:var(--tbp-login-sidebar-title-size,34px)!important;
    line-height:1.08!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-copy p,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-feature-list li{
    font-size:var(--tbp-login-sidebar-text-size,16px)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card h3{
    font-size:var(--tbp-login-form-title-size,28px)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card p,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-panel-card p{
    font-size:var(--tbp-login-form-text-size,16px)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-builder-card h3,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-panel-card h3{
    font-size:var(--tbp-login-card-title-size,26px)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-builder-card p{
    font-size:var(--tbp-login-card-text-size,16px)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell label{
    font-size:var(--tbp-login-label-size,13px)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell input,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell textarea,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell select{
    font-size:var(--tbp-login-input-size,15px)!important;
}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell button{
    font-size:var(--tbp-login-button-size,14px)!important;
}
@media(max-width:900px){
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-layout,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell.tbp-cp-login-layout-sidebar_right .tbp-cp-auth-layout,
    html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell.tbp-cp-login-layout-stacked .tbp-cp-auth-layout{
        grid-template-columns:1fr!important;
        grid-template-areas:"sidebar" "main"!important;
    }
}

/* v1.7.30 - Portal sign-in colours, custom fields and support cards */
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar h1{color:var(--tbp-login-main-title-color,#fff)!important;-webkit-text-fill-color:var(--tbp-login-main-title-color,#fff)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-main>.tbp-cp-topbar p{color:var(--tbp-login-main-subtitle-color,#b8c8e4)!important;-webkit-text-fill-color:var(--tbp-login-main-subtitle-color,#b8c8e4)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-copy h2{color:var(--tbp-login-sidebar-title-color,#fff)!important;-webkit-text-fill-color:var(--tbp-login-sidebar-title-color,#fff)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-copy p,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-feature-list li{color:var(--tbp-login-sidebar-text-color,#b8c8e4)!important;-webkit-text-fill-color:var(--tbp-login-sidebar-text-color,#b8c8e4)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card h3{color:var(--tbp-login-form-title-color,#fff)!important;-webkit-text-fill-color:var(--tbp-login-form-title-color,#fff)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-auth-card p,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-panel-card p{color:var(--tbp-login-form-text-color,#b8c8e4)!important;-webkit-text-fill-color:var(--tbp-login-form-text-color,#b8c8e4)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-builder-card h3,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-panel-card h3{color:var(--tbp-login-card-title-color,#fff)!important;-webkit-text-fill-color:var(--tbp-login-card-title-color,#fff)!important;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-builder-card p{color:var(--tbp-login-card-text-color,#b8c8e4)!important;-webkit-text-fill-color:var(--tbp-login-card-text-color,#b8c8e4)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell label,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell label span{color:var(--tbp-login-label-color,#dbeafe)!important;-webkit-text-fill-color:var(--tbp-login-label-color,#dbeafe)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell input,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell textarea,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell select{background:var(--tbp-login-input-bg-color,#081525)!important;background-color:var(--tbp-login-input-bg-color,#081525)!important;border-color:var(--tbp-login-input-border-color,#2a4268)!important;color:var(--tbp-login-input-text-color,#eef4ff)!important;-webkit-text-fill-color:var(--tbp-login-input-text-color,#eef4ff)!important;caret-color:var(--tbp-login-input-text-color,#eef4ff)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell input::placeholder,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell textarea::placeholder{color:color-mix(in srgb,var(--tbp-login-input-text-color,#eef4ff) 60%, transparent)!important;-webkit-text-fill-color:color-mix(in srgb,var(--tbp-login-input-text-color,#eef4ff) 60%, transparent)!important;opacity:1!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell input:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell textarea:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--tbp-login-input-bg-color,#081525) inset!important;-webkit-text-fill-color:var(--tbp-login-input-text-color,#eef4ff)!important;caret-color:var(--tbp-login-input-text-color,#eef4ff)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell button{color:var(--tbp-login-button-text-color,#fff)!important;-webkit-text-fill-color:var(--tbp-login-button-text-color,#fff)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-inline-form .tbp-cp-btn{background:linear-gradient(135deg,var(--tbp-login-accent-color,#2ea8ff),#22d3ee)!important;border-color:color-mix(in srgb,var(--tbp-login-accent-color,#2ea8ff) 70%, #fff 10%)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-eyebrow{color:var(--tbp-login-accent-color,#2ea8ff)!important;border-color:color-mix(in srgb,var(--tbp-login-accent-color,#2ea8ff) 45%, transparent)!important}
html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell .tbp-cp-custom-field{min-width:0}.tbp-cp-custom-field textarea{min-height:96px!important}.tbp-cp-checkbox-field{display:flex!important;gap:10px;align-items:center;margin-top:22px!important}.tbp-cp-checkbox-field input[type=checkbox]{width:18px!important;min-height:18px!important;height:18px!important;margin:0!important;flex:0 0 auto}.tbp-cp-checkbox-field span{line-height:1.35}.tbp-cp-custom-support-card .tbp-cp-btn{margin-top:12px}.tbp-cp-custom-support-card h3 i{font-size:.9em;color:var(--tbp-login-accent-color,#2ea8ff)!important}
@supports not (color: color-mix(in srgb,#fff 50%,transparent)){html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell input::placeholder,html body .tb-customer-portal.tbp-cp-elite.tbp-cp-auth-shell textarea::placeholder{color:#8ea3c5!important;-webkit-text-fill-color:#8ea3c5!important}}

/* ===== Tune Booker Business Suite v1.7.31 ===== */
.tb-quote-builder,.tb-quote-builder *{box-sizing:border-box}.tb-quote-builder{--tbq-bg:#071120;--tbq-card:#0b1729;--tbq-border:rgba(125,160,220,.22);--tbq-text:#eef4ff;--tbq-muted:#a9bad7;--tbq-accent:#38bdf8;max-width:1180px;margin:28px auto;padding:18px;color:var(--tbq-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tb-quote-hero{padding:28px;border:1px solid var(--tbq-border);border-radius:28px;background:radial-gradient(circle at top right,rgba(56,189,248,.18),transparent 36%),linear-gradient(135deg,#0b1730,#071120);box-shadow:0 20px 60px rgba(0,0,0,.22);margin-bottom:18px}.tb-quote-hero span{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.28);color:#bcefff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.tb-quote-hero h2{margin:14px 0 8px;color:#fff;font-size:clamp(30px,5vw,56px);line-height:1;font-weight:900}.tb-quote-hero p{margin:0;max-width:760px;color:var(--tbq-muted);font-size:16px}.tb-quote-result{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;padding:22px;border:1px solid rgba(34,197,94,.3);border-radius:24px;background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(6,12,22,.92));margin-bottom:18px}.tb-quote-result strong{display:block;color:#fff;font-size:36px}.tb-quote-result span{display:block;color:#cce0ff;font-weight:800}.tb-quote-recs{display:grid;gap:6px;color:#dff7ff}.tb-quote-recs em{font-style:normal;display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.22)}.tb-quote-form{padding:22px;border-radius:28px;border:1px solid var(--tbq-border);background:linear-gradient(180deg,#0b1729,#071120);box-shadow:0 18px 50px rgba(0,0,0,.18)}.tb-quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tb-quote-builder label{display:block}.tb-quote-builder label span{display:block;margin-bottom:7px;color:#dce8fb;font-weight:850}.tb-quote-builder input,.tb-quote-builder select,.tb-quote-builder textarea{width:100%;min-height:48px;border:1px solid rgba(150,178,226,.22)!important;border-radius:16px!important;background:#081426!important;color:#eef4ff!important;padding:12px 14px!important;box-shadow:none!important}.tb-quote-builder input::placeholder,.tb-quote-builder textarea::placeholder{color:#7288a8!important;opacity:1}.tb-quote-builder input:focus,.tb-quote-builder select:focus,.tb-quote-builder textarea:focus{outline:none!important;border-color:rgba(56,189,248,.55)!important;box-shadow:0 0 0 4px rgba(56,189,248,.14)!important}.tb-quote-addons{margin:18px 0;padding:18px;border:1px solid var(--tbq-border);border-radius:22px;background:rgba(255,255,255,.03)}.tb-quote-addons h3{margin:0 0 12px;color:#fff}.tb-quote-addons label{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(150,178,226,.14);margin:8px 0}.tb-quote-addons input{width:auto!important;min-height:0!important}.tb-quote-addons strong{color:#fff}.tb-quote-notes{margin-top:16px}.tb-quote-submit{appearance:none;border:0;border-radius:16px;background:linear-gradient(135deg,#2563eb,#22d3ee);color:#fff;padding:14px 22px;font-weight:900;margin-top:16px;cursor:pointer;box-shadow:0 16px 35px rgba(37,99,235,.25)}@media(max-width:760px){.tb-quote-grid{grid-template-columns:1fr}.tb-quote-builder{padding:10px}.tb-quote-form,.tb-quote-hero{border-radius:22px;padding:18px}}

/* Business Suite portal polish v1.7.32 */
.tbp-cp-business-suite-list .tbp-cp-list-row{align-items:center;overflow:hidden}
.tbp-cp-business-suite-list .tbp-cp-list-row strong,
.tbp-cp-business-suite-list .tbp-cp-list-row span,
.tbp-cp-business-suite-list .tbp-cp-list-row small{overflow-wrap:anywhere;word-break:normal}
.tbp-cp-quote-row .tbp-cp-list-actions{align-items:center;gap:12px}
.tbp-cp-progress-card{overflow:hidden}
.tbp-cp-progress-bar{height:12px;border-radius:999px;background:rgba(148,163,184,.18);border:1px solid rgba(148,163,184,.22);overflow:hidden;margin:14px 0 10px}
.tbp-cp-progress-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--tbcp-accent,#2563eb),var(--tbcp-accent-2,#38bdf8));box-shadow:0 0 18px rgba(56,189,248,.25)}
.tbp-cp-progress-card p{overflow-wrap:anywhere}
@media(max-width:760px){.tbp-cp-quote-row .tbp-cp-list-actions{align-items:flex-start}.tbp-cp-progress-card .tbp-cp-section-title-row{display:grid;gap:10px}}

/* Tune Booker v1.7.36 customer-visible job progress polish */
.tbp-cp-progress-note{margin-top:14px;padding:14px;border-radius:16px;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.18);color:var(--tbcp-text,#eef4ff)}
.tbp-cp-progress-note strong{display:block;color:#fff!important;margin-bottom:5px}.tbp-cp-progress-note p{margin:0;color:#cbd5e1!important;line-height:1.55}.tbp-cp-mini-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:14px}.tbp-cp-mini-checklist span{display:block;padding:9px 10px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.035);color:#cbd5e1!important;font-size:13px;font-weight:700;overflow-wrap:anywhere}.tbp-cp-mini-checklist span.done{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.22);color:#bbf7d0!important}

/* Tune Booker v1.7.37 - Customer portal quote/job progress polish */
.tbp-cp-section-title-row-pro{align-items:flex-end!important;margin-bottom:22px!important}
.tbp-cp-section-title-row-pro h3{font-size:clamp(26px,3vw,38px)!important;letter-spacing:-.03em!important}
.tbp-cp-section-title-row-pro p{margin:7px 0 0!important;max-width:760px!important;line-height:1.6!important;color:var(--tbcp-muted,#9fb2d4)!important}
.tbp-cp-quote-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;align-items:stretch!important}
.tbp-cp-quote-card{position:relative!important;display:flex!important;flex-direction:column!important;gap:18px!important;min-width:0!important;padding:22px!important;border-radius:28px!important;background:linear-gradient(180deg,rgba(13,26,45,.98),rgba(8,17,30,.98))!important;border:1px solid rgba(125,165,232,.18)!important;box-shadow:0 20px 60px rgba(0,0,0,.23)!important;overflow:hidden!important;color:#eef4ff!important}
.tbp-cp-quote-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--tbcp-accent,#3b82f6),var(--tbcp-accent-2,#22d3ee));opacity:.9}
.tbp-cp-quote-card-top{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;min-width:0!important}
.tbp-cp-quote-icon{display:grid!important;place-items:center!important;width:52px!important;height:52px!important;border-radius:18px!important;background:rgba(59,130,246,.16)!important;border:1px solid rgba(125,165,232,.20)!important;color:#fff!important;flex:0 0 52px!important}
.tbp-cp-quote-icon svg{width:22px!important;height:22px!important;display:block!important;flex:none!important}
.tbp-cp-quote-card h4{margin:2px 0 0!important;color:#fff!important;font-size:22px!important;line-height:1.15!important;overflow-wrap:anywhere!important}
.tbp-cp-quote-status{white-space:nowrap!important;align-self:start!important}
.tbp-cp-quote-total{display:flex!important;justify-content:space-between!important;gap:16px!important;align-items:flex-end!important;padding:18px!important;border-radius:22px!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(125,165,232,.14)!important}
.tbp-cp-quote-total span,.tbp-cp-quote-meta-grid span{display:block!important;color:var(--tbcp-muted,#9fb2d4)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:850!important}
.tbp-cp-quote-total strong{display:block!important;color:#fff!important;font-size:clamp(28px,4vw,42px)!important;line-height:1!important;white-space:nowrap!important}
.tbp-cp-quote-meta-grid{display:grid!important;grid-template-columns:1.3fr 1fr 1fr!important;gap:12px!important;min-width:0!important}
.tbp-cp-quote-meta-grid>div{min-width:0!important;padding:14px!important;border-radius:18px!important;background:rgba(255,255,255,.03)!important;border:1px solid rgba(125,165,232,.12)!important}
.tbp-cp-quote-meta-grid strong{display:block!important;margin-top:5px!important;color:#fff!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.tbp-cp-quote-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:auto!important}
.tbp-cp-btn-accept{background:linear-gradient(135deg,#16a34a,#22c55e)!important;border-color:transparent!important;color:#fff!important}
.tbp-cp-btn-reject{background:linear-gradient(135deg,#b91c1c,#ef4444)!important;border-color:transparent!important;color:#fff!important}
.tbp-cp-empty-state{display:grid!important;place-items:center!important;text-align:center!important;gap:10px!important;min-height:260px!important;padding:34px!important;border-radius:30px!important;background:linear-gradient(180deg,rgba(13,26,45,.92),rgba(8,17,30,.96))!important;border:1px dashed rgba(125,165,232,.25)!important;color:#eef4ff!important}
.tbp-cp-empty-state svg{width:42px!important;height:42px!important;color:var(--tbcp-accent-2,#38bdf8)!important}.tbp-cp-empty-state h4{margin:0!important;font-size:24px!important;color:#fff!important}.tbp-cp-empty-state p{margin:0!important;max-width:520px!important;line-height:1.6!important;color:var(--tbcp-muted,#9fb2d4)!important}
.tbp-cp-progress-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important}.tbp-cp-progress-card-pro{padding:24px!important;border-radius:30px!important;background:linear-gradient(180deg,rgba(13,26,45,.98),rgba(8,17,30,.98))!important;border:1px solid rgba(125,165,232,.18)!important;box-shadow:0 20px 60px rgba(0,0,0,.23)!important;color:#eef4ff!important;overflow:hidden!important}.tbp-cp-progress-head{display:flex!important;justify-content:space-between!important;gap:18px!important;align-items:flex-start!important;margin-bottom:20px!important}.tbp-cp-progress-head h4{margin:3px 0 7px!important;color:#fff!important;font-size:clamp(22px,3vw,32px)!important;line-height:1.12!important}.tbp-cp-progress-head p{margin:0!important;color:var(--tbcp-muted,#9fb2d4)!important}.tbp-cp-workflow-stepper{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:10px!important;margin:20px 0!important}.tbp-cp-workflow-step{position:relative!important;display:grid!important;gap:8px!important;justify-items:center!important;text-align:center!important;min-width:0!important}.tbp-cp-workflow-step:before{content:"";position:absolute!important;top:17px!important;left:-50%!important;width:100%!important;height:2px!important;background:rgba(125,165,232,.16)!important;z-index:0!important}.tbp-cp-workflow-step:first-child:before{display:none!important}.tbp-cp-workflow-step.done:before,.tbp-cp-workflow-step.active:before{background:linear-gradient(90deg,var(--tbcp-accent,#3b82f6),var(--tbcp-accent-2,#22d3ee))!important}.tbp-cp-workflow-step span{position:relative!important;z-index:1!important;display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border-radius:999px!important;background:#12233a!important;border:1px solid rgba(125,165,232,.22)!important;color:#bcd1f1!important;font-size:12px!important;font-weight:950!important}.tbp-cp-workflow-step.done span,.tbp-cp-workflow-step.active span{background:linear-gradient(135deg,var(--tbcp-accent,#3b82f6),var(--tbcp-accent-2,#22d3ee))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 24px rgba(34,99,235,.22)!important}.tbp-cp-workflow-step small{display:block!important;color:var(--tbcp-muted,#9fb2d4)!important;font-size:11px!important;font-weight:800!important;line-height:1.25!important;overflow-wrap:anywhere!important}.tbp-cp-workflow-step.active small{color:#fff!important}.tbp-cp-progress-meter{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;margin:18px 0!important;padding:16px!important;border-radius:22px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(125,165,232,.12)!important}.tbp-cp-progress-meter strong{display:block!important;color:#fff!important;font-size:34px!important;line-height:1!important}.tbp-cp-progress-meter span{display:block!important;color:var(--tbcp-muted,#9fb2d4)!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.07em!important}.tbp-cp-progress-bar{height:13px!important;border-radius:999px!important;background:rgba(125,165,232,.12)!important;overflow:hidden!important}.tbp-cp-progress-bar span{display:block!important;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,var(--tbcp-accent,#3b82f6),var(--tbcp-accent-2,#22d3ee))!important}.tbp-cp-progress-meta-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:16px 0!important}.tbp-cp-progress-meta-grid>div{padding:14px!important;border-radius:18px!important;background:rgba(255,255,255,.03)!important;border:1px solid rgba(125,165,232,.12)!important;min-width:0!important}.tbp-cp-progress-meta-grid span{display:block!important;color:var(--tbcp-muted,#9fb2d4)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:850!important}.tbp-cp-progress-meta-grid strong{display:block!important;margin-top:5px!important;color:#fff!important;overflow-wrap:anywhere!important}.tbp-cp-progress-note-pro{padding:16px 18px!important;border-radius:20px!important;background:rgba(59,130,246,.10)!important;border:1px solid rgba(96,165,250,.18)!important;margin:14px 0!important}.tbp-cp-progress-note-pro strong{display:block!important;color:#fff!important;margin-bottom:7px!important}.tbp-cp-progress-note-pro p{margin:0!important;color:#dbeafe!important;line-height:1.6!important;overflow-wrap:anywhere!important}.tbp-cp-checklist-preview{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:16px!important}.tbp-cp-checklist-preview span{display:flex!important;align-items:flex-start!important;gap:8px!important;color:#d8e6ff!important;padding:10px 12px!important;border-radius:14px!important;background:rgba(255,255,255,.03)!important;border:1px solid rgba(125,165,232,.10)!important;line-height:1.35!important}.tbp-cp-checklist-preview span.done{color:#bbf7d0!important;background:rgba(34,197,94,.10)!important;border-color:rgba(34,197,94,.18)!important}.tbp-cp-checklist-preview b{flex:0 0 auto!important}
@media(max-width:1100px){.tbp-cp-quote-grid{grid-template-columns:1fr!important}.tbp-cp-workflow-stepper{grid-template-columns:repeat(4,minmax(0,1fr))!important}.tbp-cp-workflow-step:nth-child(5):before{display:none!important}}
@media(max-width:760px){.tbp-cp-quote-card-top{grid-template-columns:46px minmax(0,1fr)!important}.tbp-cp-quote-status{grid-column:1/-1!important;justify-self:start!important}.tbp-cp-quote-total{align-items:flex-start!important;flex-direction:column!important}.tbp-cp-quote-meta-grid,.tbp-cp-progress-meta-grid,.tbp-cp-checklist-preview{grid-template-columns:1fr!important}.tbp-cp-progress-head{flex-direction:column!important}.tbp-cp-progress-meter{grid-template-columns:1fr!important}.tbp-cp-workflow-stepper{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tbp-cp-workflow-step:before{display:none!important}.tbp-cp-quote-actions .tbp-cp-btn{width:100%!important}}

/* Tune Booker v1.7.41 — Customer portal notifications */
.tbp-cp-notice-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin:0 0 18px}.tbp-cp-notice-pill{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid var(--tbcp-border,rgba(130,164,214,.16));border-radius:20px;padding:14px;color:var(--tbcp-text,#eef4ff)}.tbp-cp-notice-pill svg{flex:0 0 22px;color:var(--tbcp-accent,#60a5fa)}.tbp-cp-notice-pill strong,.tbp-cp-notification-card strong{display:block;color:var(--tbcp-text,#eef4ff)!important}.tbp-cp-notice-pill span{display:block;color:var(--tbcp-muted,#8ea3c5)!important;font-size:13px;margin-top:3px}.tbp-cp-notification-list{display:grid;gap:12px}.tbp-cp-notification-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;background:linear-gradient(180deg,#0d1a2d,#0b1627);border:1px solid var(--tbcp-border,rgba(130,164,214,.16));border-radius:22px;padding:16px;color:var(--tbcp-text,#eef4ff);box-shadow:0 12px 28px rgba(0,0,0,.16)}.tbp-cp-notification-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(96,165,250,.14);color:var(--tbcp-accent,#60a5fa)}.tbp-cp-notification-card p{margin:6px 0;color:var(--tbcp-muted,#8ea3c5)!important;line-height:1.5}.tbp-cp-notification-card span{display:block;color:var(--tbcp-muted,#8ea3c5)!important;font-size:12px;font-weight:800}.tbp-cp-notification-success .tbp-cp-notification-icon,.tbp-cp-notice-success{border-color:rgba(34,197,94,.28)}.tbp-cp-notification-warning .tbp-cp-notification-icon,.tbp-cp-notice-warning{border-color:rgba(245,158,11,.32)}.tbp-cp-notification-error .tbp-cp-notification-icon,.tbp-cp-notice-error{border-color:rgba(239,68,68,.32)}@media(max-width:640px){.tbp-cp-notification-card{grid-template-columns:1fr}.tbp-cp-notification-icon{width:42px;height:42px}.tbp-cp-notice-strip{grid-template-columns:1fr}}

/* ===== Public Results Gallery v1.7.44 ===== */
.tb-public-results{--tbr-bg:#07111f;--tbr-card:#0b1728;--tbr-card-2:#101f35;--tbr-text:#f1f5f9;--tbr-muted:#91a4c0;--tbr-line:rgba(148,163,184,.18);--tbr-accent:#38bdf8;--tbr-accent-2:#2563eb;--tbr-success:#22c55e;max-width:1320px;margin:32px auto;padding:0 16px;color:var(--tbr-text)!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tb-public-results *{box-sizing:border-box}.tb-public-results-hero{padding:clamp(28px,4vw,48px);border-radius:30px;background:radial-gradient(circle at top left,rgba(56,189,248,.20),transparent 34%),linear-gradient(135deg,#07111f,#0b1728 58%,#0f233c);border:1px solid var(--tbr-line);box-shadow:0 24px 70px rgba(2,6,23,.25);margin-bottom:18px}.tb-public-results-hero span{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#dbeafe!important}.tb-public-results-hero h2{margin:16px 0 10px;color:#fff!important;font-size:clamp(32px,5vw,56px);line-height:1.02;font-weight:900}.tb-public-results-hero p{margin:0;color:#bad0ef!important;font-size:16px;max-width:760px}.tb-public-results-filter{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto auto;gap:12px;align-items:end;padding:16px;border-radius:24px;background:#fff;color:#0f172a;border:1px solid #e2e8f0;box-shadow:0 14px 40px rgba(15,23,42,.08);margin:0 0 18px}.tb-public-results-filter label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#475569!important}.tb-public-results-filter select,.tb-public-results-filter input{display:block;width:100%;height:46px;margin-top:7px;border:1px solid #cbd5e1;border-radius:14px;background:#fff!important;color:#0f172a!important;padding:9px 12px;font-size:14px;box-shadow:none}.tb-public-results-filter button,.tb-public-results-filter a{height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;white-space:nowrap}.tb-public-results-filter button{appearance:none;border:0;background:linear-gradient(135deg,var(--tbr-accent-2),var(--tbr-accent));color:#fff!important;padding:0 16px;cursor:pointer}.tb-public-results-filter a{border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a!important;padding:0 14px}.tb-public-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tb-public-results-cols-2 .tb-public-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-public-results-cols-4 .tb-public-results-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tb-public-result-card{background:linear-gradient(180deg,var(--tbr-card),#08111f);border:1px solid var(--tbr-line);border-radius:28px;padding:20px;box-shadow:0 20px 60px rgba(2,6,23,.22);color:var(--tbr-text)!important;min-width:0;overflow:hidden}.tb-public-result-card-featured{padding:24px}.tb-public-result-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.tb-public-result-eyebrow{display:inline-flex;color:#9bdcff!important;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.tb-public-result-card h3{margin:0;color:#fff!important;font-size:clamp(22px,2.6vw,30px);line-height:1.12;font-weight:900;overflow-wrap:anywhere}.tb-public-result-card p{margin:7px 0 0;color:var(--tbr-muted)!important;line-height:1.5}.tb-public-result-share{flex:0 0 auto;border:1px solid rgba(125,211,252,.28);background:rgba(56,189,248,.10);color:#e0f2fe!important;border-radius:14px;padding:10px 13px;text-decoration:none!important;font-weight:900}.tb-public-result-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.tb-public-result-kpis>div{border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.035);border-radius:20px;padding:14px}.tb-public-result-kpis span,.tb-public-result-kpis small{display:block;color:var(--tbr-muted)!important;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.tb-public-result-kpis strong{display:block;color:#fff!important;font-size:28px;line-height:1;margin:8px 0 5px}.tb-public-result-kpi-gain{background:linear-gradient(180deg,rgba(34,197,94,.15),rgba(56,189,248,.05))!important;border-color:rgba(34,197,94,.28)!important}.tb-public-result-bars{display:grid;gap:10px}.tb-public-result-bar-row{display:grid;grid-template-columns:82px 1fr 48px;gap:10px;align-items:center}.tb-public-result-bar-label{font-size:12px;font-weight:900;color:#cbd5e1!important}.tb-public-result-bar-track{height:11px;border-radius:999px;background:rgba(148,163,184,.17);overflow:hidden}.tb-public-result-bar-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#64748b,#94a3b8)}.tb-public-result-bar-tuned .tb-public-result-bar-track span{background:linear-gradient(90deg,var(--tbr-accent-2),var(--tbr-success))}.tb-public-result-bar-row strong{font-size:13px;color:#fff!important;text-align:right}.tb-public-result-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--tbr-line);padding-top:14px;margin-top:16px;color:#cbd5e1!important;font-weight:800;font-size:13px}.tb-results-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.tb-results-pagination a{display:grid;place-items:center;min-width:42px;height:42px;border-radius:14px;border:1px solid var(--tbr-line);background:#fff;color:#0f172a!important;text-decoration:none;font-weight:900}.tb-results-pagination a.tb-results-page-active{background:linear-gradient(135deg,var(--tbr-accent-2),var(--tbr-accent));color:#fff!important;border-color:transparent}.tb-public-results-empty{padding:28px;border-radius:24px;background:#fff;border:1px solid #e2e8f0;color:#0f172a;text-align:center;box-shadow:0 14px 40px rgba(15,23,42,.08)}.tb-public-results-empty strong{display:block;color:#0f172a;font-size:22px;margin-bottom:6px}.tb-public-results-empty p{margin:0;color:#64748b}.tb-public-results-back{display:inline-flex;margin-bottom:14px;color:#e0f2fe!important;text-decoration:none!important;font-weight:900}.tb-public-results-single-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.tb-public-result-details{background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-radius:28px;padding:24px;box-shadow:0 20px 60px rgba(2,6,23,.16)}.tb-public-result-details h2{margin:0 0 16px;color:#0f172a!important;font-size:28px}.tb-public-result-details dl{display:grid;grid-template-columns:130px 1fr;gap:12px;margin:0}.tb-public-result-details dt{color:#64748b;font-weight:900}.tb-public-result-details dd{margin:0;color:#0f172a;font-weight:800;overflow-wrap:anywhere}.tb-public-result-notes{margin-top:18px;border-top:1px solid #e2e8f0;padding-top:16px}.tb-public-result-notes p{color:#334155!important;margin:8px 0 0}.tb-results-gallery .tb-result-card{display:none!important}@media(max-width:1100px){.tb-public-results-grid,.tb-public-results-cols-3 .tb-public-results-grid,.tb-public-results-cols-4 .tb-public-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-public-results-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-public-results-single-grid{grid-template-columns:1fr}}@media(max-width:720px){.tb-public-results{padding:0 10px;margin:20px auto}.tb-public-results-grid,.tb-public-results-cols-2 .tb-public-results-grid,.tb-public-results-cols-3 .tb-public-results-grid,.tb-public-results-cols-4 .tb-public-results-grid,.tb-public-results-filter{grid-template-columns:1fr}.tb-public-result-kpis{grid-template-columns:1fr}.tb-public-result-card-top,.tb-public-result-footer{flex-direction:column}.tb-public-result-bar-row{grid-template-columns:72px 1fr 42px}.tb-public-result-details dl{grid-template-columns:1fr}.tb-public-results-filter button,.tb-public-results-filter a{width:100%}}


/* Tune Booker v1.7.48 — customer portal password reset visibility */
.tbp-cp-reset-password-card{border-color:rgba(34,211,238,.35)!important;box-shadow:0 18px 55px rgba(14,165,233,.16)!important;margin-bottom:18px!important}.tbp-cp-reset-password-card .tbp-cp-inline-form{grid-template-columns:minmax(240px,1fr) auto!important;align-items:end!important}.tbp-cp-reset-password-card input[type=password]{background:#081525!important;color:#eef4ff!important;-webkit-text-fill-color:#eef4ff!important;border:1px solid rgba(125,170,230,.32)!important}.tbp-cp-reset-password-card input[type=password]::placeholder{color:#8ea3c5!important;-webkit-text-fill-color:#8ea3c5!important}.tbp-cp-reset-password-card input[type=password]:-webkit-autofill{box-shadow:0 0 0 1000px #081525 inset!important;-webkit-text-fill-color:#eef4ff!important}@media(max-width:760px){.tbp-cp-reset-password-card .tbp-cp-inline-form{grid-template-columns:1fr!important}.tbp-cp-reset-password-card .tbp-cp-btn{width:100%!important}}


/* ===== v1.7.52 Customer Portal Final Polish ===== */
html body .tb-customer-portal.tbp-cp-elite{
  --tbcp-radius-xl:32px;
  --tbcp-radius-lg:24px;
  --tbcp-gap:18px;
  max-width:min(1720px, calc(100vw - 36px)) !important;
  margin:24px auto !important;
  padding:18px !important;
  border-radius:36px !important;
  background:linear-gradient(135deg,rgba(6,14,26,.92),rgba(7,19,36,.78)) !important;
  border:1px solid rgba(124,166,255,.16) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.22) !important;
  overflow:visible !important;
}
html body .tb-customer-portal.tbp-cp-elite,
html body .tb-customer-portal.tbp-cp-elite *{box-sizing:border-box;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout{
  gap:22px !important;
  align-items:start !important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-product-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-card-pro,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-progress-card-pro,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-notification-card{
  border-radius:var(--tbcp-radius-lg) !important;
  border:1px solid rgba(126,166,235,.18) !important;
  background:linear-gradient(180deg,rgba(13,26,45,.96),rgba(8,17,30,.98)) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.20) !important;
  color:var(--tbcp-text,#eef4ff) !important;
  min-width:0 !important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:26px !important;
  margin-bottom:22px !important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar h1,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-title-row h3,
html body .tb-customer-portal.tbp-cp-elite h3,
html body .tb-customer-portal.tbp-cp-elite h4,
html body .tb-customer-portal.tbp-cp-elite strong{color:#fff !important;overflow-wrap:anywhere;}
html body .tb-customer-portal.tbp-cp-elite p,
html body .tb-customer-portal.tbp-cp-elite small,
html body .tb-customer-portal.tbp-cp-elite span,
html body .tb-customer-portal.tbp-cp-elite .tb-portal-muted{color:var(--tbcp-muted,#9fb2d4) !important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite a.tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-elite button.tbp-cp-btn{
  min-height:44px !important;
  padding:12px 16px !important;
  border-radius:16px !important;
  line-height:1.15 !important;
  gap:9px !important;
  white-space:normal !important;
  text-align:center !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn svg{width:18px!important;height:18px!important;flex:0 0 18px!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-title-row,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-title-row-pro{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:18px !important;
  min-width:0 !important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-section-title-row p{margin:6px 0 0!important;line-height:1.55!important;}
/* Dashboard cards */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-grid{gap:16px!important;align-items:stretch!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card{
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) !important;
  grid-template-areas:"icon label" "icon value" "icon note" !important;
  gap:4px 14px !important;
  padding:18px !important;
  min-height:138px !important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-icon{grid-area:icon!important;align-self:start!important;width:54px!important;height:54px!important;border-radius:18px!important;background:linear-gradient(135deg,var(--tbcp-accent,#3b82f6),var(--tbcp-accent-2,#22d3ee))!important;display:grid!important;place-items:center!important;box-shadow:0 14px 28px rgba(37,99,235,.22)!important;overflow:hidden!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-icon svg{width:25px!important;height:25px!important;color:#fff!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>span{grid-area:label!important;font-size:11px!important;letter-spacing:.09em!important;text-transform:uppercase!important;font-weight:900!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>strong{grid-area:value!important;font-size:clamp(18px,2vw,25px)!important;line-height:1.12!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card>small{grid-area:note!important;line-height:1.45!important;}
/* Cards and lists */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-card-grid,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-card-grid-three,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-dashboard-grid,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-grid,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-progress-grid,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-list-stack,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-list,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-timeline,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-notification-list{gap:18px!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-list-row,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-item,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-service-item{
  border-radius:18px!important;
  padding:16px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(126,166,235,.12)!important;
  min-width:0!important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-list-row strong,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-item strong{overflow-wrap:anywhere!important;line-height:1.25!important;}
/* Quotes */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-card-pro{padding:22px!important;overflow:hidden!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-card-top{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;gap:14px!important;align-items:start!important;margin-bottom:18px!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-status,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-status-badge{border-radius:999px!important;padding:8px 12px!important;font-size:11px!important;font-weight:950!important;letter-spacing:.06em!important;text-transform:uppercase!important;white-space:nowrap!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-meta-grid{gap:12px!important;margin:14px 0!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;margin-top:16px!important;}
/* Progress */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-workflow-stepper{gap:12px!important;overflow:visible!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-workflow-step span{width:40px!important;height:40px!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-checklist-preview{gap:12px!important;}
/* Vehicles */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card{overflow:hidden!important;padding:0!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-summary{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto auto!important;gap:14px!important;align-items:center!important;width:100%!important;text-align:left!important;background:transparent!important;border:0!important;padding:18px!important;color:#fff!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-copy{min-width:0!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-copy strong{display:block!important;font-size:18px!important;line-height:1.25!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-stats{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-stats em{font-style:normal!important;border-radius:999px!important;padding:6px 10px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(126,166,235,.14)!important;color:#dbeafe!important;font-size:12px!important;font-weight:800!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-details{padding:0 18px 18px!important;display:none;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-card.is-open .tbp-cp-vehicle-details{display:block!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:14px!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-box{border-radius:20px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(126,166,235,.12)!important;padding:16px!important;min-width:0!important;overflow:hidden!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-box h4{margin:0 0 12px!important;}
/* Files / uploads */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-upload-card,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-upload-card{padding:22px!important;border-radius:28px!important;background:linear-gradient(180deg,rgba(13,26,45,.98),rgba(8,17,30,.98))!important;border:1px solid rgba(126,166,235,.18)!important;}
html body .tb-customer-portal.tbp-cp-elite input,
html body .tb-customer-portal.tbp-cp-elite textarea,
html body .tb-customer-portal.tbp-cp-elite select{background:#071527!important;color:#eef4ff!important;-webkit-text-fill-color:#eef4ff!important;border:1px solid rgba(126,166,235,.26)!important;border-radius:16px!important;min-height:48px!important;}
html body .tb-customer-portal.tbp-cp-elite input::placeholder,
html body .tb-customer-portal.tbp-cp-elite textarea::placeholder{color:#8ea3c5!important;-webkit-text-fill-color:#8ea3c5!important;opacity:1!important;}
html body .tb-customer-portal.tbp-cp-elite input:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-elite textarea:-webkit-autofill,
html body .tb-customer-portal.tbp-cp-elite select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #071527 inset!important;-webkit-text-fill-color:#eef4ff!important;caret-color:#eef4ff!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-type-badge,
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-badge{display:inline-grid!important;place-items:center!important;min-width:42px!important;height:42px!important;border-radius:14px!important;background:linear-gradient(135deg,var(--tbcp-accent,#3b82f6),var(--tbcp-accent-2,#22d3ee))!important;color:#fff!important;font-weight:950!important;font-size:11px!important;line-height:1!important;text-align:center!important;overflow:hidden!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-file-preview img{max-width:72px!important;max-height:72px!important;border-radius:14px!important;object-fit:cover!important;display:block!important;}
/* Notifications */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-notification-card{grid-template-columns:52px minmax(0,1fr) auto!important;padding:17px!important;align-items:start!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-notification-icon{width:52px!important;height:52px!important;border-radius:18px!important;}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-notification-card p{overflow-wrap:anywhere!important;}
/* Tabs responsiveness */
@media(max-width:1280px){
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-layout{grid-template-columns:1fr!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar{position:relative!important;top:auto!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;display:grid!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-sidebar-card{margin-top:16px!important;}
}
@media(max-width:900px){
  html body .tb-customer-portal.tbp-cp-elite{max-width:calc(100vw - 18px)!important;margin:10px auto!important;padding:10px!important;border-radius:24px!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar{grid-template-columns:1fr!important;padding:20px!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-topbar-actions{justify-content:stretch!important;display:grid!important;grid-template-columns:1fr!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-grid,
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-card-grid,
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-card-grid-three,
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-card-grid,
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-data-grid{grid-template-columns:1fr!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-summary{grid-template-columns:48px minmax(0,1fr)!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-pro-stats,
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-vehicle-details-pill{grid-column:1/-1!important;justify-self:start!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-card-top{grid-template-columns:48px minmax(0,1fr)!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-quote-status{grid-column:1/-1!important;justify-self:start!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-notification-card{grid-template-columns:48px minmax(0,1fr)!important;}
}
@media(max-width:560px){
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-nav{grid-template-columns:1fr!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-stat-card{grid-template-columns:48px minmax(0,1fr)!important;}
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-btn{width:100%!important;}
}


/* ===== v1.7.53 Booking Frontend Redesign ===== */
#tbp-booking-wrap.tbp-booking-v153 {
  max-width: 1680px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 18px !important;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.22), transparent 25%),
    radial-gradient(circle at top left, rgba(14,165,233,.12), transparent 22%),
    linear-gradient(180deg, #030816 0%, #071225 100%) !important;
  color: #eaf2ff !important;
  border-radius: 0 !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-shell {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 390px !important;
  gap: 22px !important;
  align-items: start !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  min-height: 0 !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-main-panel,
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar {
  background: linear-gradient(180deg, rgba(7,17,34,.96), rgba(5,12,24,.96)) !important;
  border: 1px solid rgba(85,132,219,.20) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.28) !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-main-panel { padding: 22px !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar { padding: 18px !important; position: sticky; top: 24px; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-main-hero {
  padding: 8px 8px 18px;
  border-bottom: 1px solid rgba(96,136,214,.16);
  margin-bottom: 18px;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-main-hero-top {
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-brand-block-inline {
  margin:0 !important; padding: 0 !important; background: transparent !important; border: 0 !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-brand-mark,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-mark {
  width: 54px; height: 54px; border-radius: 16px;
  background: linear-gradient(135deg, rgba(37,99,235,.28), rgba(56,189,248,.18)) !important;
  color: #7dd3fc !important;
  box-shadow: inset 0 0 0 1px rgba(125,211,252,.18);
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-brand-logo,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-logo {
  width: 54px; height: 54px; object-fit: contain; border-radius: 14px; background: rgba(255,255,255,.04); padding: 8px;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-brand-block span,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-head span,
#tbp-booking-wrap.tbp-booking-v153 .tbp-kicker,
#tbp-booking-wrap.tbp-booking-v153 .tbp-step small,
#tbp-booking-wrap.tbp-booking-v153 .tbp-section-heading p,
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar-portal-card p,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-row span,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-support-item span,
#tbp-booking-wrap.tbp-booking-v153 .tbp-vehicle-help,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-empty,
#tbp-booking-wrap.tbp-booking-v153 .tbp-step-panel p,
#tbp-booking-wrap.tbp-booking-v153 .tbp-service-desc,
#tbp-booking-wrap.tbp-booking-v153 .tbp-addon-card small,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-card small { color: #9ab1cf !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-main-hero-copy h2,
#tbp-booking-wrap.tbp-booking-v153 .tbp-section-heading h3,
#tbp-booking-wrap.tbp-booking-v153 .tbp-brand-block strong,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-head strong,
#tbp-booking-wrap.tbp-booking-v153 .tbp-step strong,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-row strong,
#tbp-booking-wrap.tbp-booking-v153 .tbp-service-title,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-card h4,
#tbp-booking-wrap.tbp-booking-v153 .tbp-payment-card h4,
#tbp-booking-wrap.tbp-booking-v153 .tbp-gateway-card span,
#tbp-booking-wrap.tbp-booking-v153 .tbp-success-panel h3 { color:#f8fbff !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-main-hero-copy h2 { font-size: clamp(2.2rem, 4vw, 3.5rem) !important; line-height: 1.03 !important; margin: 0 0 8px !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-account-link,
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar-portal-link {
  display:inline-flex; align-items:center; gap:.6rem; padding:.9rem 1rem; border-radius:16px;
  background: rgba(12,26,48,.95) !important; color:#fff !important; border:1px solid rgba(120,165,255,.22) !important; text-decoration:none !important; font-weight:800;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-account-link:hover,
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar-portal-link:hover { background:#122848 !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-stepper-inline {
  display:grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 14px !important; margin-top: 16px !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-step {
  display:grid !important; grid-template-columns: 42px minmax(0,1fr) !important; gap: 12px !important; align-items:center !important;
  padding: 14px 16px !important; border-radius: 18px !important; background: rgba(255,255,255,.025) !important; border:1px solid rgba(91,132,201,.16) !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-step span {
  width:42px !important;height:42px !important;border-radius:999px !important;display:flex !important;align-items:center !important;justify-content:center !important;
  background: rgba(255,255,255,.06) !important; color:#fff !important; border:1px solid rgba(129,172,255,.16) !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-step.active,
#tbp-booking-wrap.tbp-booking-v153 .tbp-step.complete { background: rgba(30,64,175,.20) !important; border-color: rgba(59,130,246,.34) !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-step.active span,
#tbp-booking-wrap.tbp-booking-v153 .tbp-step.complete span {
  background: linear-gradient(135deg, #2563eb, #22d3ee) !important; border-color: transparent !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-step-panel {
  background: linear-gradient(180deg, rgba(8,19,37,.86), rgba(6,14,28,.88)) !important;
  border:1px solid rgba(89,128,201,.16) !important; border-radius:24px !important; padding: 24px !important; box-shadow:none !important;
  margin-bottom: 16px !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-choice-router,
#tbp-booking-wrap.tbp-booking-v153 .tbp-choice-group-head,
#tbp-booking-wrap.tbp-booking-v153 .tbp-addons-step {
  background: rgba(255,255,255,.03) !important; border:1px solid rgba(92,129,194,.16) !important; border-radius:20px !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-choice-toggle,
#tbp-booking-wrap.tbp-booking-v153 .tbp-service-card,
#tbp-booking-wrap.tbp-booking-v153 .tbp-addon-card,
#tbp-booking-wrap.tbp-booking-v153 .tbp-calendar-card,
#tbp-booking-wrap.tbp-booking-v153 .tbp-times-card,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-card,
#tbp-booking-wrap.tbp-booking-v153 .tbp-payment-card,
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar-portal-card,
#tbp-booking-wrap.tbp-booking-v153 .tbp-vehicle-card {
  background: linear-gradient(180deg, rgba(9,22,43,.92), rgba(7,16,30,.92)) !important;
  border:1px solid rgba(89,128,201,.18) !important; border-radius: 22px !important; color:#eaf2ff !important; box-shadow:none !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-service-card:hover,
#tbp-booking-wrap.tbp-booking-v153 .tbp-addon-card:hover,
#tbp-booking-wrap.tbp-booking-v153 .tbp-choice-toggle:hover,
#tbp-booking-wrap.tbp-booking-v153 .tbp-gateway-card:hover { transform: translateY(-1px); border-color: rgba(56,189,248,.34) !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-service-card input:checked + span,
#tbp-booking-wrap.tbp-booking-v153 .tbp-service-card:has(input:checked),
#tbp-booking-wrap.tbp-booking-v153 .tbp-addon-card:has(input:checked),
#tbp-booking-wrap.tbp-booking-v153 .tbp-choice-toggle.is-active,
#tbp-booking-wrap.tbp-booking-v153 .tbp-gateway-card.is-selected {
  border-color: rgba(59,130,246,.52) !important;
  box-shadow: 0 0 0 1px rgba(59,130,246,.32), 0 0 0 4px rgba(37,99,235,.10) !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-service-price,
#tbp-booking-wrap.tbp-booking-v153 .tbp-price,
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-total strong { color: #60a5fa !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-field label,
#tbp-booking-wrap.tbp-booking-v153 .form-label,
#tbp-booking-wrap.tbp-booking-v153 .tbp-calendar-head,
#tbp-booking-wrap.tbp-booking-v153 .tbp-weekdays span { color:#dbeafe !important; font-weight:700 !important; }
#tbp-booking-wrap.tbp-booking-v153 .form-control,
#tbp-booking-wrap.tbp-booking-v153 .tbp-booking-form input,
#tbp-booking-wrap.tbp-booking-v153 .tbp-booking-form select,
#tbp-booking-wrap.tbp-booking-v153 .tbp-booking-form textarea {
  background: #071426 !important; color:#fff !important; border:1px solid rgba(88,126,192,.26) !important; border-radius: 16px !important; min-height: 50px !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-booking-form textarea { min-height: 110px !important; }
#tbp-booking-wrap.tbp-booking-v153 .form-control::placeholder,
#tbp-booking-wrap.tbp-booking-v153 input::placeholder,
#tbp-booking-wrap.tbp-booking-v153 textarea::placeholder { color:#89a2c0 !important; }
#tbp-booking-wrap.tbp-booking-v153 .form-control:focus,
#tbp-booking-wrap.tbp-booking-v153 input:focus,
#tbp-booking-wrap.tbp-booking-v153 select:focus,
#tbp-booking-wrap.tbp-booking-v153 textarea:focus {
  border-color:#38bdf8 !important; box-shadow: 0 0 0 3px rgba(56,189,248,.14) !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-cal-date,
#tbp-booking-wrap.tbp-booking-v153 .tbp-time-slot {
  background: rgba(255,255,255,.03) !important; color:#fff !important; border:1px solid rgba(89,128,201,.18) !important; border-radius: 16px !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-cal-date.is-selected,
#tbp-booking-wrap.tbp-booking-v153 .tbp-time-slot.is-selected,
#tbp-booking-wrap.tbp-booking-v153 .tbp-cal-date.active,
#tbp-booking-wrap.tbp-booking-v153 .tbp-time-slot.active {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important; border-color: transparent !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-actions {
  position: sticky !important; bottom: 0 !important; z-index: 6 !important; display:flex !important; justify-content:space-between !important; gap:12px !important;
  padding: 18px 0 0 !important; margin-top: 4px !important; background: transparent !important; border-top: 0 !important; backdrop-filter:none !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-actions .btn,
#tbp-booking-wrap.tbp-booking-v153 .btn {
  min-height: 52px !important; border-radius: 16px !important; font-weight: 800 !important; padding: .85rem 1.25rem !important;
}
#tbp-booking-wrap.tbp-booking-v153 .btn-primary {
  background: linear-gradient(135deg, #2563eb, #22d3ee) !important; color:#fff !important; border:0 !important; box-shadow: 0 14px 34px rgba(37,99,235,.28) !important;
}
#tbp-booking-wrap.tbp-booking-v153 .btn-outline-secondary,
#tbp-booking-wrap.tbp-booking-v153 .btn-outline-primary,
#tbp-booking-wrap.tbp-booking-v153 .btn-light {
  background: rgba(12,25,46,.92) !important; color:#fff !important; border:1px solid rgba(89,128,201,.22) !important;
}
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-panel { display:flex; flex-direction:column; gap:16px; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-head { display:flex; align-items:center; gap:12px; padding: 10px 6px 14px; border-bottom:1px solid rgba(96,136,214,.16); }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-card-main { padding: 18px !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-row { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:16px !important; padding: 14px 0 !important; border-bottom:1px solid rgba(94,130,190,.12) !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-row-stack { display:block !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-row:last-child { border-bottom: 0 !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-row strong { text-align:right; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-addon-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-addon-pill { display:inline-flex; align-items:center; padding:7px 10px; border-radius:999px; background: rgba(37,99,235,.14); color:#cfe5ff; border:1px solid rgba(59,130,246,.18); font-size:.86rem; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-support { display:grid; gap:10px; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-support-item { display:flex; align-items:center; gap:10px; padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.03); border:1px solid rgba(89,128,201,.14); }
#tbp-booking-wrap.tbp-booking-v153 .tbp-summary-support-item i { color:#60a5fa; font-size:1.05rem; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar-portal-card-compact { margin-top: 2px !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar-login-head strong,
#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar-login-head i { color:#fff !important; }
#tbp-booking-wrap.tbp-booking-v153 .tbp-success-panel,
#tbp-booking-wrap.tbp-booking-v153 .tbp-success-panel p,
#tbp-booking-wrap.tbp-booking-v153 .tbp-success-panel b,
#tbp-booking-wrap.tbp-booking-v153 .tbp-success-panel strong { color:#fff !important; }
@media (max-width: 1140px) {
  #tbp-booking-wrap.tbp-booking-v153 .tbp-shell { grid-template-columns: 1fr !important; }
  #tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar { position: static !important; order: 2 !important; }
  #tbp-booking-wrap.tbp-booking-v153 .tbp-main-panel { order: 1 !important; }
}
@media (max-width: 820px) {
  #tbp-booking-wrap.tbp-booking-v153 { padding: 10px !important; }
  #tbp-booking-wrap.tbp-booking-v153 .tbp-main-panel,
  #tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar { padding: 16px !important; border-radius: 22px !important; }
  #tbp-booking-wrap.tbp-booking-v153 .tbp-stepper-inline { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 640px) {
  #tbp-booking-wrap.tbp-booking-v153 .tbp-main-hero-copy h2 { font-size: 2rem !important; }
  #tbp-booking-wrap.tbp-booking-v153 .tbp-stepper-inline { grid-template-columns: 1fr !important; }
  #tbp-booking-wrap.tbp-booking-v153 .tbp-actions { flex-direction: column !important; }
  #tbp-booking-wrap.tbp-booking-v153 .tbp-actions .btn { width: 100% !important; }
}

/* ===== v1.7.54 Booking builder-driven layout variants ===== */
#tbp-booking-wrap.tbp-booking-v153 .tbp-shell{gap:var(--tb-main-gap,22px)!important;grid-template-columns:minmax(0,1fr) minmax(300px,var(--tb-sidebar-width,390px))!important}
#tbp-booking-wrap.tbp-booking-v153 .tbp-main-panel,#tbp-booking-wrap.tbp-booking-v153 .tbp-sidebar{border-radius:var(--tb-panel-radius,28px)!important}
#tbp-booking-wrap.tbp-booking-v153.tbp-summary-left .tbp-sidebar{order:1}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-left .tbp-main-panel{order:2}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-left .tbp-shell{grid-template-columns:minmax(300px,var(--tb-sidebar-width,390px)) minmax(0,1fr)!important}
#tbp-booking-wrap.tbp-booking-v153.tbp-summary-bottom .tbp-shell{grid-template-columns:1fr!important}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-bottom .tbp-main-panel{order:1}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-bottom .tbp-sidebar{order:2;position:static!important}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-bottom .tbp-summary-card-main{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-bottom .tbp-summary-row{padding:10px 14px!important;border-bottom:0!important;border-right:1px solid rgba(94,130,190,.12)!important}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-bottom .tbp-summary-row:last-child{border-right:0!important}
#tbp-booking-wrap.tbp-booking-v153.tbp-summary-hidden .tbp-shell{grid-template-columns:1fr!important}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-hidden .tbp-sidebar{display:none!important}
#tbp-booking-wrap.tbp-booking-v153.tbp-summary-static .tbp-sidebar{position:static!important}#tbp-booking-wrap.tbp-booking-v153.tbp-hide-top-brand .tbp-brand-block-inline{display:none!important}#tbp-booking-wrap.tbp-booking-v153.tbp-hide-account-link .tbp-account-link{display:none!important}#tbp-booking-wrap.tbp-booking-v153.tbp-hide-top-brand.tbp-hide-account-link .tbp-main-hero-top{display:none!important}
@media(max-width:1140px){#tbp-booking-wrap.tbp-booking-v153.tbp-summary-left .tbp-sidebar,#tbp-booking-wrap.tbp-booking-v153.tbp-summary-right .tbp-sidebar{order:2!important}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-left .tbp-main-panel,#tbp-booking-wrap.tbp-booking-v153.tbp-summary-right .tbp-main-panel{order:1!important}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-bottom .tbp-summary-card-main{grid-template-columns:1fr!important}#tbp-booking-wrap.tbp-booking-v153.tbp-summary-bottom .tbp-summary-row{border-right:0!important;border-bottom:1px solid rgba(94,130,190,.12)!important}}

/* v1.7.72 customer portal loyalty panel */
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-loyalty-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-loyalty-balance-card strong {
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1 !important;
}
html body .tb-customer-portal.tbp-cp-elite .tbp-cp-loyalty-row .tbp-cp-status-badge { white-space: nowrap; }
@media (max-width: 900px) {
  html body .tb-customer-portal.tbp-cp-elite .tbp-cp-loyalty-summary { grid-template-columns: 1fr !important; }
}

/* ===== v1.7.74 Fresh full-width frontend booking form redesign ===== */
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: clamp(12px, 2.2vw, 28px) !important;
  background:
    radial-gradient(circle at 10% -10%, color-mix(in srgb, var(--tb-primary,#e11d48) 30%, transparent), transparent 34%),
    radial-gradient(circle at 95% 0%, color-mix(in srgb, var(--tb-accent,#2563eb) 28%, transparent), transparent 32%),
    linear-gradient(135deg, #020617 0%, #08111f 48%, #0f172a 100%) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  color: #eef6ff !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-shell {
  width: 100% !important;
  max-width: 1760px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px) !important;
  gap: clamp(16px, 2vw, 28px) !important;
  align-items: start !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-main-panel {
  order: 1 !important;
  min-width: 0 !important;
  padding: clamp(16px, 2vw, 26px) !important;
  background:
    linear-gradient(180deg, rgba(15,23,42,.94), rgba(7,13,25,.96)) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  border-radius: clamp(22px, 2vw, 32px) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.32) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-sidebar {
  order: 2 !important;
  position: sticky !important;
  top: 22px !important;
  min-width: 0 !important;
  padding: clamp(16px, 1.7vw, 22px) !important;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.18), transparent 45%),
    linear-gradient(180deg, rgba(15,23,42,.95), rgba(2,6,23,.96)) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  border-radius: clamp(22px, 2vw, 30px) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.30) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-main-hero {
  margin: 0 0 clamp(16px, 2vw, 24px) !important;
  padding: clamp(16px, 2vw, 24px) !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  border-radius: clamp(20px, 2vw, 28px) !important;
  background:
    radial-gradient(circle at top right, rgba(14,165,233,.16), transparent 36%),
    linear-gradient(135deg, rgba(30,41,59,.72), rgba(15,23,42,.74)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-main-hero-copy h2 {
  max-width: 920px !important;
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: clamp(2rem, 4vw, 4.5rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-main-hero-copy p:not(.tbp-kicker),
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-section-heading p {
  max-width: 850px !important;
  color: #b9c7da !important;
  font-size: clamp(.96rem, 1.25vw, 1.08rem) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-stepper-inline {
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  gap: 12px !important;
  overflow-x: auto !important;
  padding-bottom: 2px !important;
  scrollbar-width: thin !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-step {
  min-width: 0 !important;
  padding: 13px !important;
  border-radius: 18px !important;
  background: rgba(2,6,23,.35) !important;
  border: 1px solid rgba(148,163,184,.16) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-step strong,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-section-heading h3,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-choice-group-head span,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-intro strong,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-selection-continue strong {
  color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-step small,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-choice-group-head small,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-intro p,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-selection-continue p,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-meta,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-summary-row span,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-vehicle-help {
  color: #a9b9cf !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-step-panel {
  padding: clamp(18px, 2.2vw, 30px) !important;
  margin: 0 0 clamp(14px, 1.6vw, 22px) !important;
  border: 1px solid rgba(148,163,184,.15) !important;
  border-radius: clamp(20px, 2vw, 28px) !important;
  background:
    linear-gradient(180deg, rgba(15,23,42,.72), rgba(2,6,23,.28)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-intro {
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 20px !important;
  padding: clamp(16px, 2vw, 22px) !important;
  border: 1px solid rgba(59,130,246,.22) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.18), transparent 42%),
    rgba(15,23,42,.76) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-intro strong {
  display: block !important;
  margin: 0 0 5px !important;
  font-size: clamp(1.15rem, 2vw, 1.6rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-intro p {
  margin: 0 !important;
  max-width: 720px !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-counts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(110px, 1fr)) !important;
  gap: 10px !important;
  min-width: min(320px, 38%) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-counts span {
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: rgba(2,6,23,.36) !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  color: #cbd5e1 !important;
  font-weight: 800 !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-counts b {
  display: block !important;
  color: #ffffff !important;
  font-size: 1.55rem !important;
  line-height: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-choice-group {
  display: block !important;
  margin: 0 0 clamp(18px, 2vw, 26px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-choice-group[hidden] {
  display: block !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-choice-group-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-choice-group-head span {
  font-size: clamp(1.1rem, 1.65vw, 1.45rem) !important;
  font-weight: 950 !important;
  letter-spacing: -.025em !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-services-grid,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-services-list,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-services-layout-list .tbp-services-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 285px), 1fr)) !important;
  gap: clamp(12px, 1.4vw, 18px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-services-layout-list .tbp-service-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  gap: 11px !important;
  min-height: 100% !important;
  padding: clamp(16px, 1.6vw, 22px) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(15,23,42,.94), rgba(8,17,32,.96)) !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.18) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-package-card {
  border-color: color-mix(in srgb, var(--tb-accent,#2563eb) 34%, rgba(148,163,184,.18)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-card:before {
  height: 5px !important;
  background: linear-gradient(90deg, var(--svc-color, var(--tb-primary,#e11d48)), var(--tb-accent,#2563eb)) !important;
  opacity: .92 !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(96,165,250,.44) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.28) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-card.is-selected,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--tb-primary,#e11d48) 62%, #60a5fa) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--tb-primary,#e11d48) 58%, #60a5fa),
    0 0 0 5px color-mix(in srgb, var(--tb-primary,#e11d48) 18%, transparent),
    0 28px 80px rgba(0,0,0,.30) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 17px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--svc-color, var(--tb-primary,#e11d48)), var(--tb-accent,#2563eb)) !important;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--svc-color, var(--tb-primary,#e11d48)) 28%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-type-pill {
  display: inline-flex !important;
  width: fit-content !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: rgba(59,130,246,.16) !important;
  border: 1px solid rgba(96,165,250,.22) !important;
  color: #bfdbfe !important;
  font-size: .78rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-package-pill {
  background: color-mix(in srgb, var(--tb-accent,#2563eb) 20%, rgba(2,6,23,.5)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-title {
  color: #ffffff !important;
  font-size: clamp(1.06rem, 1.3vw, 1.28rem) !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  letter-spacing: -.018em !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-desc {
  min-height: 0 !important;
  line-height: 1.55 !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 9px !important;
  margin-top: auto !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(148,163,184,.14) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-meta span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-service-meta strong {
  margin-left: auto !important;
  color: #ffffff !important;
  font-size: 1.12rem !important;
  font-weight: 950 !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-selection-continue {
  display: none !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-top: clamp(14px, 1.6vw, 22px) !important;
  padding: clamp(16px, 1.8vw, 22px) !important;
  border-radius: 24px !important;
  border: 1px solid rgba(34,197,94,.28) !important;
  background:
    radial-gradient(circle at top left, rgba(34,197,94,.18), transparent 45%),
    rgba(2,6,23,.44) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-has-booking-choice .tbp-selection-continue {
  display: flex !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-selection-continue .tbp-kicker {
  color: #86efac !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-selection-continue .btn {
  min-width: min(240px, 100%) !important;
  white-space: nowrap !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-pulse-continue {
  animation: tbpContinuePulse174 1.35s ease-in-out both !important;
}
@keyframes tbpContinuePulse174 {
  0%, 100% { transform: translateY(0) scale(1); box-shadow: 0 14px 34px rgba(37,99,235,.28); }
  45% { transform: translateY(-2px) scale(1.025); box-shadow: 0 0 0 7px rgba(34,197,94,.14), 0 20px 46px rgba(37,99,235,.34); }
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-date-time-layout,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-review-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr) !important;
  gap: clamp(14px, 1.6vw, 20px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-addon-card,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-gateway-card {
  background: rgba(15,23,42,.82) !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-actions {
  position: sticky !important;
  bottom: 12px !important;
  z-index: 25 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: clamp(12px, 1.5vw, 20px) 0 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(148,163,184,.14) !important;
  border-radius: 22px !important;
  background: rgba(2,6,23,.74) !important;
  backdrop-filter: blur(16px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .btn-primary,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-next {
  min-height: 54px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--tb-primary,#e11d48), var(--tb-accent,#2563eb)) !important;
  color: var(--tb-btn-text,#ffffff) !important;
  border: 0 !important;
  font-size: var(--tb-button-text-size, .98rem) !important;
  font-weight: 950 !important;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--tb-accent,#2563eb) 24%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .btn-outline-secondary,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .btn-outline-primary,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .btn-light {
  min-height: 54px !important;
  border-radius: 16px !important;
  background: rgba(15,23,42,.92) !important;
  color: #eaf2ff !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  font-weight: 900 !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .form-control,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-form input,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-form select,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-form textarea {
  width: 100% !important;
  background: rgba(2,6,23,.48) !important;
  color: #ffffff !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  border-radius: 16px !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .form-label,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-field label {
  color: #e2e8f0 !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-summary-row strong,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-summary-head strong,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-payment-card h4,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-summary-card h4,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-times-head h4,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-mini-heading h4,
html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-vehicle-header h4 {
  color: #ffffff !important;
}
@media (max-width: 1180px) {
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-summary-left .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-summary-right .tbp-shell {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-sidebar {
    position: static !important;
    order: 2 !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-main-panel {
    order: 1 !important;
  }
}
@media (max-width: 820px) {
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 {
    padding: 10px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-main-panel,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-sidebar,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-step-panel,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-main-hero {
    border-radius: 22px !important;
    padding: 16px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-intro {
    display: block !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-has-booking-choice .tbp-selection-continue {
    display: block !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-counts {
    min-width: 0 !important;
    margin-top: 14px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-date-time-layout,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-review-layout,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-form-grid-3 {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-selection-continue .btn {
    width: 100% !important;
    margin-top: 12px !important;
  }
}
@media (max-width: 560px) {
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-main-hero-copy h2 {
    font-size: 2rem !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-stepper-inline,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-booking-options-counts,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-services-grid,
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-packages-grid {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-choice-group-head {
    display: block !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-choice-group-head small {
    margin-top: 4px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-actions {
    position: static !important;
    flex-direction: column !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174 .tbp-actions .btn {
    width: 100% !important;
  }
}

/* v1.7.77 frontend booking tabs, readable fields and customer portal background cleanup. */
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-choice-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 clamp(14px, 1.6vw, 20px) !important;
  padding: 8px !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  border-radius: 22px !important;
  background: rgba(2,6,23,.40) !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-choice-toggle {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 54px !important;
  border: 1px solid rgba(148,163,184,.14) !important;
  border-radius: 16px !important;
  background: rgba(15,23,42,.74) !important;
  color: #dbeafe !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-choice-toggle.is-active {
  background: linear-gradient(135deg, #2563eb, #0f172a) !important;
  color: #ffffff !important;
  border-color: rgba(147,197,253,.45) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 14px 34px rgba(37,99,235,.20) !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-choice-toggle i,
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-choice-toggle span {
  color: inherit !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-selection-continue .tbp-selection-next {
  background: linear-gradient(135deg, #2563eb, #16a34a) !important;
  color: #ffffff !important;
  border: 1px solid rgba(134,239,172,.24) !important;
  box-shadow: 0 18px 42px rgba(22,163,74,.22) !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-actions .tbp-actions-next.d-none {
  display: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-booking-form input,
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-booking-form select,
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-booking-form textarea,
html body #tbp-booking-wrap.tbp-booking-v1777 .form-control {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-booking-form input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-booking-form textarea::placeholder {
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
  opacity: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-booking-form select option {
  background: #0f172a !important;
  color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-alert-slot {
  margin: 0 0 20px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  line-height: 1.45 !important;
  border-width: 1px !important;
}
html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-alert-slot.alert-warning {
  background: rgba(245,158,11,.14) !important;
  border-color: rgba(245,158,11,.34) !important;
  color: #fde68a !important;
}
html body .tb-customer-portal.tbp-cp-shell,
html body .tb-customer-portal.tbp-cp-shell-v1712,
html body .tb-customer-portal.tbp-cp-auth-shell {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  outline: 0 !important;
}
html body .tb-customer-portal.tbp-cp-shell::before,
html body .tb-customer-portal.tbp-cp-shell-v1712::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background: radial-gradient(circle at top left, rgba(37,99,235,.12), transparent 30%), linear-gradient(135deg, #050b16, #08111f 52%, #050b16) !important;
}
@media(max-width:720px){
  html body #tbp-booking-wrap.tbp-booking-v1777 .tbp-choice-tabs {
    grid-template-columns: 1fr !important;
  }
}


/* v1.7.78 frontend booking refinements: packages default tab, no step-one duplicate continue, fixed width and compact package cards. */
html body #tbp-booking-wrap.tbp-booking-v178,
html body #tbp-booking-wrap.tbp-booking-v178 *,
html body #tbp-booking-wrap.tbp-booking-v178 *::before,
html body #tbp-booking-wrap.tbp-booking-v178 *::after {
  box-sizing: border-box !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 {
  width: 100% !important;
  max-width: min(100%, var(--tb-form-width, 1760px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: clip !important;
  padding-left: clamp(12px, 2vw, 26px) !important;
  padding-right: clamp(12px, 2vw, 26px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-shell,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-sidebar,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-booking-form {
  max-width: 100% !important;
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-choice-group[hidden],
html body #tbp-booking-wrap.tbp-booking-v178 [data-choice-panel][hidden] {
  display: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-choice-group:not(.is-active)[data-choice-panel] {
  display: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-choice-group.is-active[data-choice-panel] {
  display: block !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-services-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 285px), min(100%, 360px))) !important;
  justify-content: start !important;
  align-items: stretch !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-service-card {
  width: 100% !important;
  max-width: 360px !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-current-step-1 .tbp-actions,
html body #tbp-booking-wrap.tbp-booking-v178.tbp-current-step-1 .tbp-actions {
  display: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-actions .tbp-actions-next.d-none,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-actions .tbp-back.d-none,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-actions .tbp-submit.d-none,
html body #tbp-booking-wrap.tbp-booking-v178.tbp-current-step-1 .tbp-actions .tbp-actions-next {
  display: none !important;
  visibility: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-selection-continue .tbp-selection-next {
  background: linear-gradient(135deg, #2563eb, #16a34a) !important;
  color: #ffffff !important;
  border: 1px solid rgba(134,239,172,.26) !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-width: 112px !important;
  color: #eaf2ff !important;
  -webkit-text-fill-color: #eaf2ff !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-back.d-none {
  display: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-back-label {
  display: inline !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  font-weight: 900 !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-cal-next {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 54px !important;
  color: #eaf2ff !important;
  -webkit-text-fill-color: #eaf2ff !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-cal-nav-symbol {
  display: inline-flex !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-cal-prev i + .tbp-cal-nav-symbol,
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-cal-next i + .tbp-cal-nav-symbol {
  margin-left: -1em !important;
}
html body #tbp-booking-wrap.tbp-booking-v178 .tbp-alert-slot.alert-warning {
  margin-top: 14px !important;
  margin-bottom: 24px !important;
}
@media (min-width: 1181px) {
  html body #tbp-booking-wrap.tbp-booking-v178 .tbp-shell {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 390px) !important;
  }
}
@media (max-width: 720px) {
  html body #tbp-booking-wrap.tbp-booking-v178 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v178 .tbp-choice-tabs {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v178 .tbp-packages-grid,
  html body #tbp-booking-wrap.tbp-booking-v178 .tbp-services-grid {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v178 .tbp-service-card {
    max-width: 100% !important;
  }
}


/* v1.7.79 frontend booking refinements: styled step 2/3 footer actions and VRM lookup button consistency. */
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-actions {
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-2 .tbp-actions,
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-3 .tbp-actions {
  display: flex !important;
  padding: clamp(14px, 1.6vw, 20px) !important;
  border-radius: 24px !important;
  border: 1px solid rgba(34,197,94,.24) !important;
  background:
    radial-gradient(circle at top left, rgba(34,197,94,.16), transparent 42%),
    rgba(2,6,23,.76) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-action-copy {
  display: none !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-2 .tbp-action-copy,
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-3 .tbp-action-copy {
  display: block !important;
}
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-action-copy .tbp-kicker {
  display: block !important;
  margin-bottom: 4px !important;
  color: #86efac !important;
}
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-action-copy strong {
  display: block !important;
  color: #ffffff !important;
  font-size: clamp(1rem, 1.2vw, 1.2rem) !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-action-copy p {
  margin: 5px 0 0 !important;
  color: #b8c8e4 !important;
  font-size: .94rem !important;
  line-height: 1.45 !important;
}
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-action-buttons {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  flex: 0 0 auto !important;
}
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-2 .tbp-actions .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-3 .tbp-actions .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-2 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-3 .tbp-actions .tbp-actions-next {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 54px !important;
  min-width: 132px !important;
  padding: 12px 18px !important;
  border-radius: 16px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-2 .tbp-actions .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-3 .tbp-actions .tbp-back {
  background: rgba(15,23,42,.92) !important;
  color: #eaf2ff !important;
  -webkit-text-fill-color: #eaf2ff !important;
  border: 1px solid rgba(148,163,184,.24) !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-2 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-3 .tbp-actions .tbp-actions-next {
  background: linear-gradient(135deg, #2563eb, #16a34a) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid rgba(134,239,172,.28) !important;
  box-shadow: 0 18px 42px rgba(22,163,74,.22) !important;
}
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-vrm-lookup {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 52px !important;
  min-width: 150px !important;
  padding: 12px 18px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--tb-primary,#e11d48), var(--tb-accent,#2563eb)) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--tb-accent,#2563eb) 24%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-vrm-lookup i,
html body #tbp-booking-wrap.tbp-booking-v179 .tbp-actions i {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
@media(max-width: 760px){
  html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-2 .tbp-actions,
  html body #tbp-booking-wrap.tbp-booking-v179.tbp-current-step-3 .tbp-actions {
    position: static !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v179 .tbp-action-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v179 .tbp-action-buttons .btn,
  html body #tbp-booking-wrap.tbp-booking-v179 .tbp-vrm-lookup {
    width: 100% !important;
  }
}

/* v1.7.80 frontend booking step 3/4 polish: autofill readability and clean review/payment layout. */
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form input,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form textarea,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form select,
html body #tbp-booking-wrap.tbp-booking-v180 .form-control {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form input:-webkit-autofill,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form input:-webkit-autofill:hover,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form input:-webkit-autofill:focus,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form textarea:-webkit-autofill,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form textarea:-webkit-autofill:hover,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form textarea:-webkit-autofill:focus,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form select:-webkit-autofill,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form select:-webkit-autofill:hover,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #071426 inset !important;
  box-shadow: 0 0 0 1000px #071426 inset !important;
  -webkit-text-fill-color: #ffffff !important;
  color: #ffffff !important;
  caret-color: #ffffff !important;
  border-color: rgba(56,189,248,.38) !important;
  transition: background-color 999999s ease-in-out 0s !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form input:-moz-autofill,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form textarea:-moz-autofill,
html body #tbp-booking-wrap.tbp-booking-v180 .tbp-booking-form select:-moz-autofill {
  box-shadow: 0 0 0 1000px #071426 inset !important;
  -moz-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] {
  padding: clamp(18px, 2vw, 28px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-section-heading {
  margin-bottom: clamp(16px, 2vw, 24px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-review-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(16px, 2vw, 22px) !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-payment-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: clamp(18px, 2vw, 24px) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.12), transparent 42%),
    rgba(15,23,42,.86) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card h4,
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-payment-card h4 {
  margin: 0 0 16px !important;
  color: #ffffff !important;
  font-size: clamp(1.08rem, 1.4vw, 1.35rem) !important;
  line-height: 1.2 !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card > div {
  display: grid !important;
  grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(148,163,184,.12) !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card > div:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card span {
  color: #9fb4d4 !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card strong {
  min-width: 0 !important;
  text-align: right !important;
  color: #ffffff !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card .tbp-summary-total {
  margin-top: 4px !important;
  padding-top: 16px !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-gateway-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-gateway-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  gap: 8px !important;
  min-height: 96px !important;
  padding: 16px !important;
  border-radius: 20px !important;
  background: rgba(2,6,23,.44) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  color: #eaf2ff !important;
  transform: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-gateway-card span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  color: #ffffff !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-gateway-card small {
  max-width: 100% !important;
  text-align: left !important;
  color: #aabbd6 !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-gateway-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-gateway-card.is-selected {
  border-color: color-mix(in srgb, var(--tb-primary,#e11d48) 55%, #60a5fa) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--tb-primary,#e11d48) 45%, #60a5fa), 0 0 0 5px color-mix(in srgb, var(--tb-primary,#e11d48) 14%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-terms {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: rgba(2,6,23,.38) !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  color: #dbeafe !important;
  line-height: 1.45 !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-terms input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  border-radius: 7px !important;
  background: #071426 !important;
  border: 1px solid rgba(148,163,184,.36) !important;
  box-shadow: inset 0 0 0 2px rgba(2,6,23,.72) !important;
  cursor: pointer !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-terms input[type="checkbox"]:checked {
  background: linear-gradient(135deg, var(--tb-primary,#e11d48), var(--tb-accent,#2563eb)) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 10.5l3.2 3.2L15.5 6'/%3E%3C/svg%3E"), linear-gradient(135deg, var(--tb-primary,#e11d48), var(--tb-accent,#2563eb)) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 15px 15px, 100% 100% !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tb-primary,#e11d48) 16%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-terms span,
html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-terms a {
  color: #dbeafe !important;
  -webkit-text-fill-color: #dbeafe !important;
}
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: clamp(14px, 1.6vw, 20px) !important;
  border-radius: 24px !important;
  border: 1px solid rgba(34,197,94,.24) !important;
  background:
    radial-gradient(circle at top left, rgba(34,197,94,.16), transparent 42%),
    rgba(2,6,23,.78) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-action-copy {
  display: block !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-action-buttons {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-actions .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-actions .tbp-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 54px !important;
  min-width: 142px !important;
  padding: 12px 20px !important;
  border-radius: 16px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-actions .tbp-back {
  background: rgba(15,23,42,.92) !important;
  color: #eaf2ff !important;
  -webkit-text-fill-color: #eaf2ff !important;
  border: 1px solid rgba(148,163,184,.24) !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-actions .tbp-submit {
  background: linear-gradient(135deg, var(--tb-primary,#e11d48), var(--tb-accent,#2563eb)) !important;
  color: var(--tb-btn-text,#ffffff) !important;
  -webkit-text-fill-color: var(--tb-btn-text,#ffffff) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 42px color-mix(in srgb, var(--tb-accent,#2563eb) 25%, transparent) !important;
  font-weight: 950 !important;
}
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-submit .spinner-border,
html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-submit i {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
@media (max-width: 760px) {
  html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card > div {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v180 [data-panel="4"] .tbp-summary-card strong {
    text-align: left !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-actions {
    position: static !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-action-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v180.tbp-current-step-4 .tbp-action-buttons .btn {
    width: 100% !important;
  }
}


/* v1.7.81 frontend booking button consistency: Confirm Booking + Submit Reg match Continue. */
html body #tbp-booking-wrap.tbp-booking-v181 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-4 .tbp-actions .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-2 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-3 .tbp-actions .tbp-actions-next {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 54px !important;
  min-width: 150px !important;
  padding: 12px 20px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #2563eb, #16a34a) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid rgba(134,239,172,.28) !important;
  box-shadow: 0 18px 42px rgba(22,163,74,.22) !important;
  font-size: var(--tb-button-text-size, 15px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v181 .tbp-vrm-lookup:hover,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-4 .tbp-actions .tbp-submit:hover,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-2 .tbp-actions .tbp-actions-next:hover,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-3 .tbp-actions .tbp-actions-next:hover,
html body #tbp-booking-wrap.tbp-booking-v181 .tbp-vrm-lookup:focus,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-4 .tbp-actions .tbp-submit:focus,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-2 .tbp-actions .tbp-actions-next:focus,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-3 .tbp-actions .tbp-actions-next:focus {
  background: linear-gradient(135deg, #1d4ed8, #15803d) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: rgba(187,247,208,.38) !important;
  box-shadow: 0 20px 48px rgba(22,163,74,.30) !important;
  filter: brightness(1.04) !important;
  transform: translateY(-1px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v181 .tbp-vrm-lookup:active,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-4 .tbp-actions .tbp-submit:active,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-2 .tbp-actions .tbp-actions-next:active,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-3 .tbp-actions .tbp-actions-next:active {
  transform: translateY(0) !important;
  filter: brightness(.98) !important;
}
html body #tbp-booking-wrap.tbp-booking-v181 .tbp-vrm-lookup i,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-4 .tbp-submit i,
html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-4 .tbp-submit .spinner-border,
html body #tbp-booking-wrap.tbp-booking-v181 .tbp-actions .tbp-actions-next i {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
@media (max-width: 760px) {
  html body #tbp-booking-wrap.tbp-booking-v181 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-4 .tbp-actions .tbp-submit,
  html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-2 .tbp-actions .tbp-actions-next,
  html body #tbp-booking-wrap.tbp-booking-v181.tbp-current-step-3 .tbp-actions .tbp-actions-next {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* v1.7.82 Booking Form settings reflection lock.
   These rules intentionally use saved CSS variables so admin Booking Form/Appearance settings
   remain visible on the frontend instead of reverting to fixed button colours. */
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-selection-continue .tbp-selection-next,
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-2 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-3 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-4 .tbp-actions .tbp-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 54px !important;
  min-width: 150px !important;
  padding: 12px 20px !important;
  border-radius: var(--tb-btn-radius, 16px) !important;
  background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important;
  color: var(--tb-btn-text, #ffffff) !important;
  -webkit-text-fill-color: var(--tb-btn-text, #ffffff) !important;
  border: 1px solid color-mix(in srgb, var(--tb-accent, #2563eb) 42%, rgba(255,255,255,.18)) !important;
  box-shadow: 0 18px 42px color-mix(in srgb, var(--tb-accent, #2563eb) 24%, transparent) !important;
  font-family: var(--tb-font, inherit) !important;
  font-size: var(--tb-button-text-size, 15px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-selection-continue .tbp-selection-next:hover,
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-vrm-lookup:hover,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-2 .tbp-actions .tbp-actions-next:hover,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-3 .tbp-actions .tbp-actions-next:hover,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-4 .tbp-actions .tbp-submit:hover,
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-selection-continue .tbp-selection-next:focus,
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-vrm-lookup:focus,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-2 .tbp-actions .tbp-actions-next:focus,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-3 .tbp-actions .tbp-actions-next:focus,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-4 .tbp-actions .tbp-submit:focus {
  color: var(--tb-btn-text, #ffffff) !important;
  -webkit-text-fill-color: var(--tb-btn-text, #ffffff) !important;
  border-color: color-mix(in srgb, var(--tb-accent, #2563eb) 55%, rgba(255,255,255,.32)) !important;
  box-shadow: 0 20px 48px color-mix(in srgb, var(--tb-accent, #2563eb) 32%, transparent) !important;
  filter: brightness(1.05) !important;
  transform: translateY(-1px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-selection-continue .tbp-selection-next:active,
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-vrm-lookup:active,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-2 .tbp-actions .tbp-actions-next:active,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-3 .tbp-actions .tbp-actions-next:active,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-4 .tbp-actions .tbp-submit:active {
  transform: translateY(0) !important;
  filter: brightness(.98) !important;
}
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-selection-continue .tbp-selection-next i,
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-vrm-lookup i,
html body #tbp-booking-wrap.tbp-booking-v182 .tbp-actions .tbp-actions-next i,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-4 .tbp-submit i,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-4 .tbp-submit .spinner-border {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
html body #tbp-booking-wrap.tbp-booking-v182.tbp-hide-top-brand .tbp-brand-block,
html body #tbp-booking-wrap.tbp-booking-v182.tbp-hide-account-link .tbp-account-link {
  display: none !important;
}
@media (max-width: 760px) {
  html body #tbp-booking-wrap.tbp-booking-v182 .tbp-selection-continue .tbp-selection-next,
  html body #tbp-booking-wrap.tbp-booking-v182 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-2 .tbp-actions .tbp-actions-next,
  html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-3 .tbp-actions .tbp-actions-next,
  html body #tbp-booking-wrap.tbp-booking-v182.tbp-current-step-4 .tbp-actions .tbp-submit {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* v1.7.83 Booking Form settings relocation + summary/sidebar position lock. */
html body #tbp-booking-wrap.tbp-booking-v183 {
  max-width: min(100%, var(--tb-form-width, 1280px)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v183 .tbp-shell {
  gap: var(--tb-main-gap, 22px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-right .tbp-shell {
  grid-template-columns: minmax(0, 1fr) minmax(300px, var(--tb-sidebar-width, 390px)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-right .tbp-main-panel { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-right .tbp-sidebar { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-left .tbp-shell {
  grid-template-columns: minmax(300px, var(--tb-sidebar-width, 390px)) minmax(0, 1fr) !important;
}
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-left .tbp-sidebar { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-left .tbp-main-panel { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-bottom .tbp-shell {
  grid-template-columns: 1fr !important;
}
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-bottom .tbp-main-panel { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-bottom .tbp-sidebar {
  order: 2 !important;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
}
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-hidden .tbp-shell {
  grid-template-columns: 1fr !important;
}
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-hidden .tbp-sidebar {
  display: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-static .tbp-sidebar,
html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-static .tbp-summary-panel {
  position: static !important;
  top: auto !important;
}
@media (max-width: 1140px) {
  html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-right .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-left .tbp-shell {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-right .tbp-main-panel,
  html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-left .tbp-main-panel { order: 1 !important; }
  html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-right .tbp-sidebar,
  html body #tbp-booking-wrap.tbp-booking-v183.tbp-summary-left .tbp-sidebar { order: 2 !important; }
}

/* v1.7.85 Flagship Enterprise design system.
   Scoped to the booking shortcode wrapper and honours saved colour/layout variables. */
html body #tbp-booking-wrap.tbp-booking-v185 {
  --tbp-enterprise-bg: #020617;
  --tbp-enterprise-panel: rgba(8, 16, 32, .94);
  --tbp-enterprise-panel-2: rgba(11, 23, 44, .96);
  --tbp-enterprise-card: rgba(15, 28, 52, .92);
  --tbp-enterprise-card-2: rgba(20, 36, 64, .88);
  --tbp-enterprise-line: rgba(148, 163, 184, .20);
  --tbp-enterprise-line-strong: rgba(191, 219, 254, .34);
  --tbp-enterprise-text: #f8fbff;
  --tbp-enterprise-soft: #d7e5f7;
  --tbp-enterprise-muted: #91a7c4;
  --tbp-enterprise-faint: #607898;
  --tbp-enterprise-success: #34d399;
  --tbp-enterprise-warning: #fbbf24;
  --tbp-enterprise-danger: #fb7185;
  --tbp-enterprise-radius: var(--tb-panel-radius, 30px);
  --tbp-enterprise-shadow: 0 34px 100px rgba(0, 0, 0, .46);
  --tbp-enterprise-glow: 0 0 0 1px color-mix(in srgb, var(--tb-accent, #38bdf8) 18%, transparent), 0 24px 70px color-mix(in srgb, var(--tb-primary, #e11d48) 16%, transparent);
  width: min(100%, var(--tb-form-width, 1360px)) !important;
  max-width: min(100%, var(--tb-form-width, 1360px)) !important;
  margin: clamp(16px, 3vw, 38px) auto !important;
  padding: clamp(12px, 1.8vw, 22px) !important;
  color: var(--tbp-enterprise-text) !important;
  background:
    radial-gradient(circle at 8% 5%, color-mix(in srgb, var(--tb-primary, #e11d48) 33%, transparent), transparent 26%),
    radial-gradient(circle at 92% 6%, color-mix(in srgb, var(--tb-accent, #2563eb) 38%, transparent), transparent 28%),
    radial-gradient(circle at 50% 110%, rgba(14, 165, 233, .18), transparent 36%),
    linear-gradient(140deg, #020617 0%, #08111f 48%, #030712 100%) !important;
  border: 1px solid rgba(191, 219, 254, .14) !important;
  border-radius: clamp(24px, 2.4vw, 38px) !important;
  box-shadow: var(--tbp-enterprise-shadow), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
  isolation: isolate !important;
  overflow: clip !important;
  position: relative !important;
}
html body #tbp-booking-wrap.tbp-booking-v185::before,
html body #tbp-booking-wrap.tbp-booking-v185::after {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185::before {
  inset: 1px !important;
  border-radius: inherit !important;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent) 0 0 / 100% 1px no-repeat,
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.08), transparent 24%) !important;
  opacity: .92 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185::after {
  width: 420px !important;
  height: 420px !important;
  right: -170px !important;
  top: -180px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--tb-accent, #2563eb) 28%, transparent) !important;
  filter: blur(78px) !important;
  opacity: .85 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185,
html body #tbp-booking-wrap.tbp-booking-v185 * {
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-shell {
  display: grid !important;
  gap: var(--tb-main-gap, 22px) !important;
  align-items: start !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  backdrop-filter: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar {
  color: var(--tbp-enterprise-text) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    linear-gradient(180deg, var(--tbp-enterprise-panel) 0%, rgba(5, 12, 24, .96) 100%) !important;
  border: 1px solid var(--tbp-enterprise-line) !important;
  border-radius: var(--tbp-enterprise-radius) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.07) !important;
  overflow: hidden !important;
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-panel {
  padding: clamp(16px, 1.8vw, 24px) !important;
  position: relative !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-panel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tb-accent, #38bdf8) 55%, #fff), transparent) !important;
  opacity: .62 !important;
  pointer-events: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar {
  padding: clamp(16px, 1.7vw, 22px) !important;
  background:
    radial-gradient(circle at top, color-mix(in srgb, var(--tb-primary, #e11d48) 18%, transparent), transparent 36%),
    linear-gradient(180deg, rgba(11, 23, 44, .98), rgba(5, 12, 24, .98)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185.tbp-summary-sticky .tbp-sidebar,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-summary-sticky .tbp-summary-panel {
  position: sticky !important;
  top: clamp(14px, 2vw, 24px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185.tbp-summary-static .tbp-sidebar,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-summary-static .tbp-summary-panel {
  position: static !important;
  top: auto !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero {
  position: relative !important;
  padding: clamp(22px, 3vw, 40px) !important;
  margin: 0 0 clamp(18px, 2vw, 24px) !important;
  border: 1px solid rgba(191, 219, 254, .16) !important;
  border-radius: calc(var(--tbp-enterprise-radius) - 4px) !important;
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--tb-primary, #e11d48) 22%, transparent), transparent 32%),
    radial-gradient(circle at 96% 10%, color-mix(in srgb, var(--tb-accent, #2563eb) 28%, transparent), transparent 34%),
    linear-gradient(135deg, rgba(15, 28, 52, .96), rgba(5, 12, 24, .80)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 55px rgba(0,0,0,.20) !important;
  overflow: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -20% -1px 30% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--tb-accent, #38bdf8), transparent) !important;
  opacity: .52 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin: 0 0 clamp(18px, 2vw, 24px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-brand-block,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-head {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  margin: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-brand-logo,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-logo,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-mark {
  width: 56px !important;
  height: 56px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--tb-primary, #e11d48) 82%, #fff), var(--tb-accent, #2563eb)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 42px color-mix(in srgb, var(--tb-primary, #e11d48) 25%, transparent), inset 0 1px 0 rgba(255,255,255,.22) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  object-fit: contain !important;
  padding: 8px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-brand-block span,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-head span,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-kicker,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-type-pill,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-package-pill {
  color: color-mix(in srgb, var(--tb-accent, #38bdf8) 72%, #fff) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--tb-accent, #38bdf8) 72%, #fff) !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  letter-spacing: .105em !important;
  text-transform: uppercase !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-brand-block strong,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-head strong,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero-copy h2,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-section-heading h3,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-mini-heading h4,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-card h4,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-payment-card h4,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-title,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-cal-month-label,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-success-panel h3 {
  color: var(--tbp-enterprise-text) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero-copy h2 {
  max-width: 930px !important;
  margin: 8px 0 10px !important;
  font-size: clamp(2.35rem, 5vw, var(--tb-h1-size, 4.6rem)) !important;
  line-height: .94 !important;
  letter-spacing: -.07em !important;
  font-weight: var(--tb-heading-weight, 950) !important;
  text-wrap: balance !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero-copy > p:not(.tbp-kicker),
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-mini-heading p,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vehicle-help,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step-panel p,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addon-card small,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-card small {
  color: var(--tbp-enterprise-muted) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero-copy > p:not(.tbp-kicker) {
  max-width: 780px !important;
  margin: 0 !important;
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height: 1.72 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar-portal-link,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-success-portal-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 44px !important;
  padding: 11px 15px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(191,219,254,.20) !important;
  color: var(--tbp-enterprise-text) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-text) !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-account-link:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar-portal-link:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-success-portal-link:hover {
  transform: translateY(-1px) !important;
  background: rgba(255,255,255,.11) !important;
  border-color: var(--tbp-enterprise-line-strong) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-stepper-inline {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: clamp(20px, 2.2vw, 28px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 76px !important;
  padding: 13px 14px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(191,219,254,.16) !important;
  border-radius: 20px !important;
  color: var(--tbp-enterprise-soft) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
  cursor: pointer !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 16px 0 16px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important;
  opacity: 0 !important;
  transform: scaleX(.38) !important;
  transform-origin: left center !important;
  transition: opacity .2s ease, transform .2s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step span {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-weight: 950 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step strong {
  color: var(--tbp-enterprise-text) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-text) !important;
  font-size: .94rem !important;
  font-weight: 950 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step small {
  color: var(--tbp-enterprise-muted) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-muted) !important;
  font-size: .76rem !important;
  font-weight: 750 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step.complete {
  border-color: color-mix(in srgb, var(--tb-accent, #2563eb) 44%, rgba(255,255,255,.12)) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.052)) !important;
  box-shadow: 0 16px 44px color-mix(in srgb, var(--tb-accent, #2563eb) 16%, transparent), inset 0 1px 0 rgba(255,255,255,.10) !important;
  transform: translateY(-1px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step.active::after,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step.complete::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step.active span,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step.complete span {
  background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--tb-primary, #e11d48) 26%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step-panel {
  padding: clamp(20px, 2.6vw, 34px) !important;
  border: 1px solid rgba(191,219,254,.12) !important;
  border-radius: calc(var(--tbp-enterprise-radius) - 6px) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step-panel.d-none,
html body #tbp-booking-wrap.tbp-booking-v185 .d-none {
  display: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-section-heading {
  margin: 0 0 clamp(18px, 2.1vw, 26px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-section-heading h3 {
  max-width: 900px !important;
  margin: 6px 0 7px !important;
  font-size: clamp(1.75rem, 3vw, var(--tb-section-title-size, 2.65rem)) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-tabs,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-router {
  border: 1px solid rgba(191,219,254,.15) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.062), rgba(255,255,255,.026)) !important;
  border-radius: 24px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-intro {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: clamp(16px, 2vw, 22px) !important;
  margin: 0 0 14px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-intro strong {
  color: var(--tbp-enterprise-text) !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-intro p {
  color: var(--tbp-enterprise-muted) !important;
  margin: 5px 0 0 !important;
  max-width: 720px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-counts {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-counts span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(191,219,254,.16) !important;
  color: var(--tbp-enterprise-soft) !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-counts b {
  color: color-mix(in srgb, var(--tb-accent, #38bdf8) 80%, #fff) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-tabs,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-router {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 8px !important;
  margin: 0 0 20px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 52px !important;
  padding: 12px 16px !important;
  border-radius: 18px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--tbp-enterprise-soft) !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
  cursor: pointer !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-toggle:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-toggle.is-active {
  background: rgba(255,255,255,.10) !important;
  border-color: color-mix(in srgb, var(--tb-accent, #2563eb) 42%, rgba(255,255,255,.16)) !important;
  color: #fff !important;
  box-shadow: 0 14px 38px color-mix(in srgb, var(--tb-accent, #2563eb) 16%, transparent), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-toggle i {
  color: color-mix(in srgb, var(--tb-accent, #38bdf8) 72%, #fff) !important;
  font-size: 1.1rem !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-group-head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 12px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-group-head span {
  color: var(--tbp-enterprise-text) !important;
  font-weight: 950 !important;
  font-size: 1rem !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-group-head small {
  color: var(--tbp-enterprise-muted) !important;
  font-weight: 800 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-services-grid,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addons-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr)) !important;
  gap: clamp(12px, 1.35vw, 18px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addon-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-card {
  position: relative !important;
  color: var(--tbp-enterprise-text) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032)),
    linear-gradient(135deg, var(--tbp-enterprise-card), rgba(8, 16, 32, .92)) !important;
  border: 1px solid rgba(191,219,254,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 46px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06) !important;
  overflow: hidden !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-card {
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-areas: "icon title price" "icon desc price" "icon meta price" !important;
  min-height: 142px !important;
  padding: clamp(17px, 1.6vw, 22px) !important;
  column-gap: 16px !important;
  row-gap: 5px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-card::before,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addon-card::before,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--svc-color, var(--tb-primary, #e11d48)) 22%, transparent), transparent 42%) !important;
  opacity: .72 !important;
  pointer-events: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--svc-color, var(--tb-primary, #e11d48)), var(--tb-accent, #2563eb), transparent) !important;
  opacity: .86 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addon-card:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-card:hover {
  transform: translateY(-3px) !important;
  border-color: color-mix(in srgb, var(--tb-accent, #2563eb) 42%, rgba(255,255,255,.18)) !important;
  box-shadow: 0 24px 65px rgba(0,0,0,.30), 0 0 0 4px color-mix(in srgb, var(--tb-accent, #2563eb) 9%, transparent), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-card.is-selected,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addon-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addon-card.is-selected,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-card.is-selected {
  border-color: color-mix(in srgb, var(--tb-accent, #2563eb) 60%, #fff) !important;
  box-shadow: var(--tbp-enterprise-glow), inset 0 1px 0 rgba(255,255,255,.10) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.045)),
    linear-gradient(135deg, rgba(15, 31, 58, .96), rgba(8, 16, 32, .94)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-top {
  grid-area: icon !important;
  display: block !important;
  align-self: center !important;
  z-index: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-icon {
  width: 56px !important;
  height: 56px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--svc-color, var(--tb-primary, #e11d48)) 18%, rgba(255,255,255,.06)), rgba(255,255,255,.08)) !important;
  border: 1px solid color-mix(in srgb, var(--svc-color, var(--tb-primary, #e11d48)) 30%, rgba(255,255,255,.12)) !important;
  color: color-mix(in srgb, var(--svc-color, var(--tb-primary, #e11d48)) 74%, #fff) !important;
  font-size: 1.25rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-selected-check {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--tb-accent, #2563eb) 26%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-title,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-meta,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-type-pill {
  position: relative !important;
  z-index: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-title {
  grid-area: title !important;
  font-size: clamp(1rem, 1.1vw, 1.16rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
  font-weight: 950 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-desc {
  grid-area: desc !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: .88rem !important;
  line-height: 1.45 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-meta {
  grid-area: meta !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--tbp-enterprise-soft) !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-meta span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--tbp-enterprise-soft) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-meta strong {
  grid-area: price !important;
  align-self: center !important;
  justify-self: end !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: clamp(1.05rem, 1.25vw, 1.25rem) !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-type-pill {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: .26rem .56rem !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--tb-accent, #2563eb) 16%, rgba(255,255,255,.06)) !important;
  border: 1px solid color-mix(in srgb, var(--tb-accent, #2563eb) 24%, rgba(255,255,255,.08)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-date-time-layout,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-review-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 380px) !important;
  gap: clamp(14px, 1.7vw, 22px) !important;
  align-items: start !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addons-step {
  color: var(--tbp-enterprise-text) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.072), rgba(255,255,255,.026)) !important;
  border: 1px solid rgba(191,219,254,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
  padding: clamp(17px, 1.6vw, 24px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-calendar-header {
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid rgba(191,219,254,.12) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-weekdays span {
  color: var(--tbp-enterprise-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-time-slot {
  border-radius: 16px !important;
  color: var(--tbp-enterprise-soft) !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(191,219,254,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-cal-date.has-slots,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-time-slot:not([disabled]) {
  color: #fff !important;
  background: color-mix(in srgb, var(--tb-accent, #2563eb) 15%, rgba(255,255,255,.06)) !important;
  border-color: color-mix(in srgb, var(--tb-accent, #2563eb) 28%, rgba(255,255,255,.12)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-cal-date.active,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-time-slot.active {
  color: var(--tb-btn-text, #fff) !important;
  -webkit-text-fill-color: var(--tb-btn-text, #fff) !important;
  background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--tb-accent, #2563eb) 28%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-form-grid,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-form-grid-3,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-form-grid-4,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vehicle-manual-grid {
  gap: clamp(12px, 1.3vw, 16px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .form-label,
html body #tbp-booking-wrap.tbp-booking-v185 label {
  color: var(--tbp-enterprise-soft) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-soft) !important;
  font-weight: 900 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .form-control,
html body #tbp-booking-wrap.tbp-booking-v185 .form-select,
html body #tbp-booking-wrap.tbp-booking-v185 input[type="text"],
html body #tbp-booking-wrap.tbp-booking-v185 input[type="email"],
html body #tbp-booking-wrap.tbp-booking-v185 input[type="tel"],
html body #tbp-booking-wrap.tbp-booking-v185 input[type="number"],
html body #tbp-booking-wrap.tbp-booking-v185 input[type="url"],
html body #tbp-booking-wrap.tbp-booking-v185 textarea,
html body #tbp-booking-wrap.tbp-booking-v185 select {
  min-height: 54px !important;
  border-radius: 17px !important;
  color: var(--tbp-enterprise-text) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-text) !important;
  background: rgba(2, 8, 23, .58) !important;
  border: 1px solid rgba(191,219,254,.20) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 28px rgba(0,0,0,.12) !important;
  outline: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 textarea.form-control,
html body #tbp-booking-wrap.tbp-booking-v185 textarea {
  min-height: 124px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .form-control::placeholder,
html body #tbp-booking-wrap.tbp-booking-v185 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v185 textarea::placeholder {
  color: var(--tbp-enterprise-faint) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-faint) !important;
  opacity: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .form-control:focus,
html body #tbp-booking-wrap.tbp-booking-v185 input:focus,
html body #tbp-booking-wrap.tbp-booking-v185 textarea:focus,
html body #tbp-booking-wrap.tbp-booking-v185 select:focus {
  border-color: color-mix(in srgb, var(--tb-accent, #2563eb) 64%, #fff) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tb-accent, #2563eb) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 input:-webkit-autofill,
html body #tbp-booking-wrap.tbp-booking-v185 input:-webkit-autofill:hover,
html body #tbp-booking-wrap.tbp-booking-v185 input:-webkit-autofill:focus,
html body #tbp-booking-wrap.tbp-booking-v185 textarea:-webkit-autofill,
html body #tbp-booking-wrap.tbp-booking-v185 select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #08111f inset !important;
  -webkit-text-fill-color: var(--tbp-enterprise-text) !important;
  caret-color: var(--tbp-enterprise-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vrm-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: end !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-list {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 1fr !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addon-card {
  min-height: 78px !important;
  padding: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-gateway-card span,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addon-card strong,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-card strong,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-row strong {
  color: var(--tbp-enterprise-text) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-text) !important;
  font-weight: 950 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-card-main,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar-portal-card,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-support {
  border: 1px solid rgba(191,219,254,.15) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.030)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-card-main {
  padding: 0 !important;
  overflow: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-row,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-card > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 15px 16px !important;
  border-bottom: 1px solid rgba(191,219,254,.10) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-row-stack {
  display: grid !important;
  align-items: start !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-row:last-child,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-card > div:last-child {
  border-bottom: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-row span,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-card span,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-empty,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-addon-list {
  color: var(--tbp-enterprise-muted) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-total {
  background: linear-gradient(135deg, color-mix(in srgb, var(--tb-primary, #e11d48) 20%, transparent), color-mix(in srgb, var(--tb-accent, #2563eb) 18%, transparent)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-total strong {
  font-size: 1.28rem !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-support {
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-support-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--tbp-enterprise-soft) !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-support-item i {
  color: color-mix(in srgb, var(--tb-accent, #38bdf8) 70%, #fff) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar-portal-card {
  padding: 17px !important;
  color: var(--tbp-enterprise-soft) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar-login-head {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin-bottom: 8px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-actions {
  position: sticky !important;
  bottom: 14px !important;
  z-index: 8 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: clamp(18px, 2vw, 24px) 0 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(191,219,254,.18) !important;
  border-radius: 24px !important;
  background: rgba(5, 12, 24, .78) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-action-copy {
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-action-copy strong {
  color: #fff !important;
  display: block !important;
  font-size: .98rem !important;
  font-weight: 950 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-action-copy p {
  color: var(--tbp-enterprise-muted) !important;
  margin: 3px 0 0 !important;
  font-size: .84rem !important;
  line-height: 1.35 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-action-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .btn,
html body #tbp-booking-wrap.tbp-booking-v185 button,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-selection-continue .tbp-selection-next,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-2 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-3 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-4 .tbp-actions .tbp-submit {
  min-height: 52px !important;
  border-radius: 17px !important;
  font-family: var(--tb-font, inherit) !important;
  font-size: var(--tb-button-text-size, 15px) !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .btn-primary,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-selection-continue .tbp-selection-next,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-2 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-3 .tbp-actions .tbp-actions-next,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-4 .tbp-actions .tbp-submit {
  color: var(--tb-btn-text, #fff) !important;
  -webkit-text-fill-color: var(--tb-btn-text, #fff) !important;
  background: linear-gradient(135deg, var(--tb-primary, #e11d48), var(--tb-accent, #2563eb)) !important;
  border: 1px solid color-mix(in srgb, var(--tb-accent, #2563eb) 46%, rgba(255,255,255,.22)) !important;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--tb-primary, #e11d48) 24%, transparent), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .btn-primary:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vrm-lookup:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-selection-continue .tbp-selection-next:hover,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-2 .tbp-actions .tbp-actions-next:hover,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-3 .tbp-actions .tbp-actions-next:hover,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-current-step-4 .tbp-actions .tbp-submit:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.06) !important;
  box-shadow: 0 22px 54px color-mix(in srgb, var(--tb-accent, #2563eb) 28%, transparent), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .btn-outline-secondary,
html body #tbp-booking-wrap.tbp-booking-v185 .btn-light,
html body #tbp-booking-wrap.tbp-booking-v185 .btn-outline-primary,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-back {
  color: var(--tbp-enterprise-text) !important;
  -webkit-text-fill-color: var(--tbp-enterprise-text) !important;
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(191,219,254,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .btn-outline-secondary:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .btn-light:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .btn-outline-primary:hover,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-back:hover {
  transform: translateY(-1px) !important;
  background: rgba(255,255,255,.11) !important;
  border-color: rgba(191,219,254,.28) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .alert {
  border-radius: 18px !important;
  border: 1px solid rgba(191,219,254,.18) !important;
  background: rgba(255,255,255,.08) !important;
  color: var(--tbp-enterprise-soft) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-success-panel {
  text-align: center !important;
  padding: clamp(30px, 5vw, 58px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-success-icon {
  width: 76px !important;
  height: 76px !important;
  margin: 0 auto 18px !important;
  border-radius: 24px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--tbp-enterprise-success), var(--tb-accent, #2563eb)) !important;
  box-shadow: 0 24px 60px rgba(52,211,153,.22) !important;
}
html body #tbp-booking-wrap.tbp-booking-v185.tbp-theme-flagship_enterprise {
  --tb-primary: #f43f5e;
  --tb-secondary: #020617;
  --tb-accent: #38bdf8;
  --tb-btn-text: #ffffff;
}
@media (max-width: 1140px) {
  html body #tbp-booking-wrap.tbp-booking-v185 { max-width: calc(100vw - 16px) !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-shell { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-summary-sticky .tbp-sidebar,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-summary-sticky .tbp-summary-panel { position: static !important; top: auto !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-date-time-layout,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-review-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 780px) {
  html body #tbp-booking-wrap.tbp-booking-v185 {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-panel,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step-panel,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-actions { border-radius: 0 !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-panel,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar { padding: 14px !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero { padding: 22px !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero-copy h2 { font-size: clamp(2rem, 12vw, 3.15rem) !important; letter-spacing: -.055em !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-stepper-inline,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-tabs,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-router,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-services-grid,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-packages-grid,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-addons-grid,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-form-grid-3,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-form-grid-4,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vehicle-manual-grid { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step { min-height: 66px !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step small { display: none !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-card {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    grid-template-areas: "icon title" "icon desc" "icon meta" !important;
    min-height: 120px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-meta strong { margin-left: auto !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-choice-group-head,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-actions { display: grid !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-booking-options-counts { justify-content: flex-start !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-vrm-row { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-actions { bottom: 0 !important; margin-bottom: 0 !important; gap: 12px !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-action-buttons { display: grid !important; grid-template-columns: 1fr 1fr !important; width: 100% !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-action-buttons .btn { width: 100% !important; min-width: 0 !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-action-copy { display: none !important; }
}
@media (max-width: 480px) {
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-panel,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-sidebar { padding: 10px !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-main-hero,
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step-panel { padding: 18px !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-action-buttons { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step { grid-template-columns: 36px minmax(0,1fr) !important; padding: 11px !important; }
  html body #tbp-booking-wrap.tbp-booking-v185 .tbp-step span { width: 36px !important; height: 36px !important; border-radius: 13px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body #tbp-booking-wrap.tbp-booking-v185 *,
  html body #tbp-booking-wrap.tbp-booking-v185 *::before,
  html body #tbp-booking-wrap.tbp-booking-v185 *::after {
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* v1.7.85 Flagship Enterprise refinements: ensure nested brand text and service cards keep premium grid rhythm. */
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-brand-block > div,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-head > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
  line-height: 1.12 !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-summary-head strong,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-brand-block strong {
  display: block !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-card {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  grid-template-areas:
    "icon pill"
    "icon title"
    "icon desc"
    "icon meta" !important;
  align-items: center !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-type-pill {
  grid-area: pill !important;
  margin-bottom: 2px !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-meta {
  justify-content: space-between !important;
}
html body #tbp-booking-wrap.tbp-booking-v185 .tbp-service-meta strong {
  margin-left: auto !important;
}

/* v1.7.86 Mobile One-Box Stepped Booking Flow.
   Premium mobile override: one contained app-style panel, true Step 1 -> Step 4 wizard. */
@media (max-width: 780px) {
  html body #tbp-booking-wrap.tbp-booking-v186 {
    width: min(430px, calc(100vw - 18px)) !important;
    max-width: min(430px, calc(100vw - 18px)) !important;
    margin: 9px auto 24px !important;
    padding: 0 !important;
    border-radius: 32px !important;
    border: 1px solid rgba(191, 219, 254, .18) !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(56, 189, 248, .20), transparent 34%),
      radial-gradient(circle at 100% 12%, rgba(244, 63, 94, .16), transparent 32%),
      linear-gradient(180deg, rgba(5, 13, 29, .98), rgba(2, 6, 23, .99)) !important;
    box-shadow: 0 28px 82px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186::before,
  html body #tbp-booking-wrap.tbp-booking-v186::after {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-shell {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    min-height: 0 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-sidebar {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-panel {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 32px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-panel::before {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-booking-form {
    margin: 0 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-hero {
    margin: 0 !important;
    padding: 17px 15px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
      linear-gradient(180deg, rgba(15, 23, 42, .82), rgba(9, 17, 34, .42)),
      radial-gradient(circle at 0% 0%, rgba(56, 189, 248, .14), transparent 42%) !important;
    box-shadow: inset 0 -1px 0 rgba(191, 219, 254, .10) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-hero::after {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-hero-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-brand-block,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-brand-block-inline {
    min-width: 0 !important;
    gap: 9px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-brand-mark,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-brand-logo {
    width: 39px !important;
    height: 39px !important;
    min-width: 39px !important;
    border-radius: 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-brand-block span {
    color: #67e8f9 !important;
    font-size: .62rem !important;
    letter-spacing: .09em !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-brand-block strong {
    color: #ffffff !important;
    font-size: .85rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-account-link {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 9px 10px !important;
    border-radius: 999px !important;
    color: #e0f2fe !important;
    -webkit-text-fill-color: #e0f2fe !important;
    font-size: .72rem !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-hero-copy {
    margin: 16px 0 14px !important;
    max-width: 100% !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-hero-copy .tbp-kicker,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-section-heading .tbp-kicker {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 8px !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(103, 232, 249, .22) !important;
    background: rgba(56, 189, 248, .09) !important;
    color: #67e8f9 !important;
    font-size: .62rem !important;
    line-height: 1 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-hero-copy h2 {
    margin: 0 !important;
    max-width: 100% !important;
    color: #ffffff !important;
    font-size: clamp(1.55rem, 8.5vw, 2.12rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-hero-copy > p:not(.tbp-kicker) {
    margin: 9px 0 0 !important;
    color: #9fb0c6 !important;
    font-size: .86rem !important;
    line-height: 1.42 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-stepper-inline {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 6px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(191, 219, 254, .14) !important;
    background: rgba(2, 6, 23, .54) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
    overflow: hidden !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step {
    min-width: 0 !important;
    min-height: 56px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 7px 4px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(191, 219, 254, .10) !important;
    background: rgba(255, 255, 255, .045) !important;
    box-shadow: none !important;
    text-align: center !important;
    transform: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step span {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .09) !important;
    color: #dbeafe !important;
    font-size: .78rem !important;
    line-height: 1 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step strong {
    display: block !important;
    width: 100% !important;
    color: #9fb0c6 !important;
    font-size: .62rem !important;
    line-height: 1.08 !important;
    letter-spacing: -.015em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step small {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step.active {
    border-color: rgba(103, 232, 249, .36) !important;
    background: linear-gradient(180deg, rgba(56, 189, 248, .20), rgba(244, 63, 94, .12)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 10px 28px rgba(56, 189, 248, .14) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step.active span,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step.complete span {
    background: linear-gradient(135deg, var(--tb-primary, #f43f5e), var(--tb-accent, #38bdf8)) !important;
    color: #ffffff !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step.active strong {
    color: #ffffff !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-alert-slot {
    margin: 12px 14px 0 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186.tbp-form-layout-single-page:not(.tbp-current-step-2):not(.tbp-current-step-3):not(.tbp-current-step-4):not(.tbp-current-step-success) .tbp-step-panel:not([data-panel="1"]) {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186.tbp-mobile-stepped-active .tbp-step-panel {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186.tbp-mobile-stepped-active.tbp-current-step-1 .tbp-step-panel[data-panel="1"],
  html body #tbp-booking-wrap.tbp-booking-v186.tbp-mobile-stepped-active.tbp-current-step-2 .tbp-step-panel[data-panel="2"],
  html body #tbp-booking-wrap.tbp-booking-v186.tbp-mobile-stepped-active.tbp-current-step-3 .tbp-step-panel[data-panel="3"],
  html body #tbp-booking-wrap.tbp-booking-v186.tbp-mobile-stepped-active.tbp-current-step-4 .tbp-step-panel[data-panel="4"],
  html body #tbp-booking-wrap.tbp-booking-v186.tbp-mobile-stepped-active.tbp-current-step-success .tbp-step-panel[data-panel="success"] {
    display: block !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step-panel {
    margin: 0 !important;
    padding: 17px 15px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(56, 189, 248, .07), transparent 34%),
      linear-gradient(180deg, rgba(8, 17, 32, .90), rgba(4, 10, 22, .96)) !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-section-heading {
    margin: 0 0 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-section-heading h3 {
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: clamp(1.32rem, 7vw, 1.75rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.045em !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-section-heading p {
    color: #9fb0c6 !important;
    font-size: .88rem !important;
    line-height: 1.46 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-tabs,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-addons-wrap,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-vehicle-card,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-summary-card,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-payment-card {
    border-radius: 19px !important;
    border: 1px solid rgba(191, 219, 254, .14) !important;
    background: rgba(15, 23, 42, .60) !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-booking-options-intro {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 0 0 13px !important;
    padding: 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-booking-options-intro strong,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-group-head span,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-mini-heading h4,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-times-head h4,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-vehicle-header h4,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-summary-card h4,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-payment-card h4 {
    color: #ffffff !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-booking-options-intro p,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-group-head small,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-mini-heading p,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-times-head p,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-vehicle-help,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-summary-card span,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-payment-card small {
    color: #9fb0c6 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-booking-options-counts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    min-width: 0 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-booking-options-counts span {
    min-height: 60px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(191, 219, 254, .12) !important;
    background: rgba(2, 6, 23, .34) !important;
    color: #9fb0c6 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-booking-options-counts b {
    color: #ffffff !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 0 0 14px !important;
    padding: 6px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-toggle {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px !important;
    border-radius: 14px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: #b9c7da !important;
    -webkit-text-fill-color: #b9c7da !important;
    font-size: .76rem !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    text-align: center !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-toggle.is-active {
    border-color: rgba(103, 232, 249, .32) !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .075) !important;
    transform: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-toggle span,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-toggle i {
    min-width: 0 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-group[hidden],
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-group:not(.is-active) {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-group.is-active {
    display: block !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-choice-group-head {
    display: grid !important;
    gap: 2px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-services-grid,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-packages-grid,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-addons-grid,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-form-grid-3,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-form-grid-4,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-vehicle-manual-grid,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-vrm-row,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-review-layout,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-gateway-list {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-date-time-layout {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v186.tbp-services-layout-list .tbp-service-card {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon pill"
      "icon title"
      "icon desc"
      "icon meta" !important;
    gap: 7px 10px !important;
    align-items: center !important;
    padding: 13px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(191, 219, 254, .14) !important;
    background: linear-gradient(180deg, rgba(15, 23, 42, .82), rgba(7, 14, 28, .92)) !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-card:before {
    height: 3px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-card.is-selected,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-card:has(input:checked) {
    border-color: rgba(103, 232, 249, .45) !important;
    box-shadow: 0 0 0 1px rgba(56, 189, 248, .28), 0 16px 44px rgba(0, 0, 0, .25) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-top {
    grid-area: icon !important;
    display: block !important;
    align-self: center !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 15px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--svc-color, var(--tb-primary, #f43f5e)), var(--tb-accent, #38bdf8)) !important;
    box-shadow: 0 12px 28px rgba(56, 189, 248, .14) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-selected-check {
    position: absolute !important;
    top: 9px !important;
    right: 9px !important;
    width: 25px !important;
    height: 25px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-package-pill,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-type-pill {
    grid-area: pill !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(103, 232, 249, .24) !important;
    background: rgba(56, 189, 248, .12) !important;
    color: #7dd3fc !important;
    font-size: .62rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-title {
    grid-area: title !important;
    color: #ffffff !important;
    font-size: .97rem !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-desc {
    grid-area: desc !important;
    color: #9fb0c6 !important;
    font-size: .81rem !important;
    line-height: 1.38 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-meta {
    grid-area: meta !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 1px 0 0 !important;
    padding-top: 8px !important;
    border-top: 1px solid rgba(191, 219, 254, .11) !important;
    color: #9fb0c6 !important;
    font-size: .77rem !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-service-meta strong {
    margin-left: auto !important;
    color: #ffffff !important;
    font-size: 1rem !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-selection-continue {
    display: none !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    margin: 13px 0 0 !important;
    padding: 12px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(52, 211, 153, .26) !important;
    background: rgba(6, 78, 59, .18) !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186.tbp-has-booking-choice .tbp-selection-continue {
    display: grid !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-selection-continue .tbp-kicker,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-selection-continue p {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-selection-continue strong {
    display: block !important;
    color: #d1fae5 !important;
    font-size: .88rem !important;
    text-align: center !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-selection-continue .tbp-selection-next {
    width: 100% !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-vehicle-card,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-summary-card,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-payment-card {
    padding: 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-calendar-header {
    margin-bottom: 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-cal-month-label {
    color: #ffffff !important;
    font-size: .96rem !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-weekdays,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-calendar-days {
    gap: 4px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-weekdays span {
    color: #93a4ba !important;
    font-size: .62rem !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-cal-spacer,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-cal-date {
    min-height: 39px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-cal-date,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-time-slot {
    border-radius: 13px !important;
    border-color: rgba(191, 219, 254, .13) !important;
    background: rgba(255, 255, 255, .06) !important;
    color: #eaf6ff !important;
    -webkit-text-fill-color: #eaf6ff !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-cal-date.active,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-time-slot.active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-time-slots {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-empty-times,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-loading-times {
    min-height: 118px !important;
    border-color: rgba(191, 219, 254, .16) !important;
    background: rgba(255, 255, 255, .045) !important;
    color: #9fb0c6 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .form-label,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-field label {
    color: #dbeafe !important;
    font-size: .8rem !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .form-control,
  html body #tbp-booking-wrap.tbp-booking-v186 .form-select,
  html body #tbp-booking-wrap.tbp-booking-v186 input[type="text"],
  html body #tbp-booking-wrap.tbp-booking-v186 input[type="email"],
  html body #tbp-booking-wrap.tbp-booking-v186 input[type="tel"],
  html body #tbp-booking-wrap.tbp-booking-v186 input[type="number"],
  html body #tbp-booking-wrap.tbp-booking-v186 textarea,
  html body #tbp-booking-wrap.tbp-booking-v186 select {
    min-height: 49px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(191, 219, 254, .16) !important;
    background: rgba(255, 255, 255, .07) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: .95rem !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 textarea.form-control,
  html body #tbp-booking-wrap.tbp-booking-v186 textarea {
    min-height: 104px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 input::placeholder,
  html body #tbp-booking-wrap.tbp-booking-v186 textarea::placeholder {
    color: #7f90a6 !important;
    -webkit-text-fill-color: #7f90a6 !important;
    opacity: 1 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-vehicle-header {
    display: grid !important;
    gap: 8px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-api-badge {
    width: fit-content !important;
    background: rgba(52, 211, 153, .13) !important;
    color: #86efac !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-summary-card > div,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-summary-card .tbp-summary-row {
    border-color: rgba(191, 219, 254, .12) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-summary-card strong,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-gateway-card span {
    color: #ffffff !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-gateway-card {
    border-color: rgba(191, 219, 254, .14) !important;
    background: rgba(255, 255, 255, .055) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-terms {
    color: #b9c7da !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-actions:not(.d-none) {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 12 !important;
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 8px 12px 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(2, 6, 23, 0), rgba(2, 6, 23, .92) 32%, rgba(2, 6, 23, .98)) !important;
    backdrop-filter: blur(16px) saturate(1.12) !important;
    box-shadow: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186.tbp-current-step-1 .tbp-actions {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-action-copy {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-action-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-action-buttons .btn,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-selection-continue .btn,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-vrm-lookup {
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 16px !important;
    justify-content: center !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-action-buttons .btn:only-child {
    grid-column: 1 / -1 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-success-panel {
    padding: 28px 18px !important;
    text-align: center !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-success-panel h3 {
    color: #ffffff !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-success-panel p,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-success-portal-login,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-success-portal-login small {
    color: #b9c7da !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .d-none,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-action-buttons .d-none,
  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step-panel.d-none {
    display: none !important;
  }
}

@media (max-width: 420px) {
  html body #tbp-booking-wrap.tbp-booking-v186 {
    width: calc(100vw - 10px) !important;
    max-width: calc(100vw - 10px) !important;
    margin-top: 5px !important;
    border-radius: 25px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-panel {
    border-radius: 25px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-main-hero-copy h2 {
    font-size: clamp(1.5rem, 9.8vw, 2rem) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step strong {
    font-size: .56rem !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-step-panel {
    padding: 15px 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v186 .tbp-time-slots {
    grid-template-columns: 1fr !important;
  }
}

/* v1.7.86 high-specificity mobile cleanup over older v153/v174 mobile rules. */
@media (max-width: 780px) {
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-stepper-inline {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-stepper-inline .tbp-step {
    display: flex !important;
    grid-template-columns: none !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 56px !important;
    padding: 7px 4px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-stepper-inline .tbp-step span {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-stepper-inline .tbp-step strong {
    font-size: .62rem !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-choice-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-services-grid,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-packages-grid,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-addons-grid,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-form-grid-3,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-form-grid-4,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-vehicle-manual-grid,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-vrm-row,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-review-layout,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-gateway-list {
    grid-template-columns: 1fr !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186 .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-services-layout-grid .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-services-layout-list .tbp-service-card {
    min-height: 0 !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    grid-template-areas: "icon pill" "icon title" "icon desc" "icon meta" !important;
    padding: 13px !important;
  }
}

@media (max-width: 780px) {
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-form-layout-single-page:not(.tbp-current-step-2):not(.tbp-current-step-3):not(.tbp-current-step-4):not(.tbp-current-step-success) .tbp-actions {
    display: none !important;
  }
}

/* v1.7.87 Flagship Enterprise frontend polish: booking form + customer portal. */
html body #tbp-booking-wrap.tbp-booking-v187 {
  --tbp-e-primary: var(--tb-primary, #f43f5e);
  --tbp-e-secondary: var(--tb-secondary, #020617);
  --tbp-e-accent: var(--tb-accent, #38bdf8);
  --tbp-e-bg: var(--tb-bg, #020617);
  --tbp-e-card: color-mix(in srgb, var(--tb-card-bg, #0f1c34) 88%, #020617);
  --tbp-e-line: color-mix(in srgb, var(--tb-border, #254166) 82%, transparent);
  --tbp-e-text: var(--tb-text, #f8fbff);
  --tbp-e-muted: color-mix(in srgb, var(--tb-text, #f8fbff) 68%, #8193ad);
  --tbp-e-radius: var(--tb-panel-radius, 28px);
  --tbp-e-shadow: 0 34px 100px rgba(0,0,0,.38);
  width: min(var(--tb-form-width, 1380px), calc(100vw - 28px)) !important;
  margin: clamp(16px, 3vw, 42px) auto !important;
  color: var(--tbp-e-text) !important;
  font-family: var(--tb-font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--tbp-e-primary) 22%, transparent), transparent 32%),
    radial-gradient(circle at 92% 2%, color-mix(in srgb, var(--tbp-e-accent) 19%, transparent), transparent 30%),
    linear-gradient(135deg, #020617 0%, var(--tbp-e-bg) 48%, #081226 100%) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-line) 84%, transparent) !important;
  border-radius: calc(var(--tbp-e-radius) + 8px) !important;
  box-shadow: var(--tbp-e-shadow) !important;
  overflow: clip !important;
  isolation: isolate !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 *,
html body #tbp-booking-wrap.tbp-booking-v187 *::before,
html body #tbp-booking-wrap.tbp-booking-v187 *::after {
  box-sizing: border-box !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, var(--tb-sidebar-width, 350px)) !important;
  gap: var(--tb-main-gap, 22px) !important;
  align-items: start !important;
  padding: clamp(14px, 2vw, 24px) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187.tbp-summary-left .tbp-shell {
  grid-template-columns: minmax(280px, var(--tb-sidebar-width, 350px)) minmax(0, 1fr) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187.tbp-summary-left .tbp-sidebar { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v187.tbp-summary-left .tbp-main-panel { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v187.tbp-summary-right .tbp-main-panel { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v187.tbp-summary-right .tbp-sidebar { order: 2 !important; }

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-panel {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--tbp-e-card) 95%, rgba(255,255,255,.05)), color-mix(in srgb, var(--tbp-e-card) 82%, #000)) !important;
  border: 1px solid var(--tbp-e-line) !important;
  border-radius: var(--tbp-e-radius) !important;
  box-shadow: 0 20px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
  overflow: hidden !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-panel {
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-sidebar {
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187.tbp-summary-sticky .tbp-sidebar {
  position: sticky !important;
  top: 28px !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-panel {
  padding: 18px !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero {
  padding: clamp(22px, 3vw, 38px) !important;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--tbp-e-primary) 24%, transparent), transparent 38%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp-e-accent) 18%, transparent), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)) !important;
  border-bottom: 1px solid var(--tbp-e-line) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero-top,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-brand-block,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-head,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-sidebar-login-head {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero-top {
  justify-content: space-between !important;
  margin-bottom: clamp(18px, 2vw, 28px) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 16px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.32), transparent 28%),
    linear-gradient(135deg, var(--tbp-e-primary), color-mix(in srgb, var(--tbp-e-accent) 82%, var(--tbp-e-primary))) !important;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--tbp-e-primary) 24%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-sidebar-portal-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  color: #fff !important;
  text-decoration: none !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  white-space: nowrap !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero-copy .tbp-kicker,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-kicker {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 28px !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--tbp-e-accent) 12%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-accent) 24%, transparent) !important;
  color: color-mix(in srgb, var(--tbp-e-accent) 88%, #fff) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero-copy h2 {
  max-width: 900px !important;
  margin: 12px 0 10px !important;
  color: #fff !important;
  font-size: clamp(34px, 4.2vw, var(--tb-h1-size, 58px)) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  font-weight: var(--tb-heading-weight, 900) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero-copy p:not(.tbp-kicker),
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-row span,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-empty,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-sidebar-portal-card p {
  color: var(--tbp-e-muted) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-stepper-inline {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: clamp(18px, 2vw, 26px) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step {
  min-width: 0 !important;
  min-height: 74px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  grid-template-areas: "num title" "num small" !important;
  align-items: center !important;
  gap: 3px 10px !important;
  padding: 13px !important;
  border-radius: 18px !important;
  color: #dbeafe !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  text-align: left !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step span {
  grid-area: num !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.08) !important;
  font-weight: 950 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step strong {
  grid-area: title !important;
  min-width: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step small {
  grid-area: small !important;
  min-width: 0 !important;
  color: var(--tbp-e-muted) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step.is-active {
  border-color: color-mix(in srgb, var(--tbp-e-primary) 58%, white) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp-e-primary) 34%, transparent), transparent 64%),
    rgba(255,255,255,.085) !important;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--tbp-e-primary) 16%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step.active span,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step.is-active span {
  background: linear-gradient(135deg, var(--tbp-e-primary), var(--tbp-e-accent)) !important;
  color: #fff !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-booking-form {
  display: block !important;
  padding: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step-panel {
  padding: clamp(18px, 2.3vw, 30px) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-section-heading {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-section-heading h3 {
  margin: 8px 0 6px !important;
  color: #fff !important;
  font-size: clamp(22px, 2vw, var(--tb-section-title-size, 30px)) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-services-grid,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-addons-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: 14px !important;
}

html body #tbp-booking-wrap.tbp-booking-v187.tbp-services-layout-list .tbp-services-grid {
  grid-template-columns: 1fr !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-addon-card,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-gateway-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "top pill pill"
    "top title title"
    "top desc desc"
    "top meta meta" !important;
  align-items: start !important;
  column-gap: 14px !important;
  row-gap: 8px !important;
  min-height: 132px !important;
  padding: 18px !important;
  color: var(--tbp-e-text) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
  cursor: pointer !important;
  overflow: hidden !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card.is-selected,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card.selected {
  border-color: color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 70%, #fff) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 20%, transparent), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;
  box-shadow: 0 18px 48px color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 14%, transparent), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card input[type="radio"],
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-top {
  grid-area: top !important;
  width: 56px !important;
  min-width: 56px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 17px !important;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.32), transparent 30%),
    linear-gradient(135deg, var(--svc-color, var(--tbp-e-primary)), color-mix(in srgb, var(--tbp-e-accent) 82%, var(--svc-color, var(--tbp-e-primary)))) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-selected-check {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transform: scale(.88) !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--tbp-e-primary), var(--tbp-e-accent)) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card:has(input:checked) .tbp-selected-check,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card.is-selected .tbp-selected-check,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card.selected .tbp-selected-check {
  opacity: 1 !important;
  transform: scale(1) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-type-pill,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-package-pill {
  grid-area: pill !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  color: color-mix(in srgb, var(--svc-color, var(--tbp-e-accent)) 90%, #fff) !important;
  background: color-mix(in srgb, var(--svc-color, var(--tbp-e-accent)) 13%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--svc-color, var(--tbp-e-accent)) 26%, transparent) !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-title {
  grid-area: title !important;
  color: #fff !important;
  font-size: var(--tb-card-title-size, 18px) !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  letter-spacing: -.02em !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-desc {
  grid-area: desc !important;
  color: var(--tbp-e-muted) !important;
  font-size: var(--tb-paragraph-size, 14px) !important;
  line-height: 1.45 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-meta {
  grid-area: meta !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  color: #dbeafe !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-meta span,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-meta strong {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 28px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-choice-tabs,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-review-card,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-sidebar-portal-card,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-addons-empty,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-calendar-wrap,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-time-panel {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  border-radius: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-form-grid,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-form-grid-3,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-form-grid-4,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-vehicle-manual-grid,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-vrm-row,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-review-layout {
  display: grid !important;
  gap: 14px !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 input[type="text"],
html body #tbp-booking-wrap.tbp-booking-v187 input[type="email"],
html body #tbp-booking-wrap.tbp-booking-v187 input[type="tel"],
html body #tbp-booking-wrap.tbp-booking-v187 input[type="number"],
html body #tbp-booking-wrap.tbp-booking-v187 input[type="date"],
html body #tbp-booking-wrap.tbp-booking-v187 select,
html body #tbp-booking-wrap.tbp-booking-v187 textarea {
  min-height: 50px !important;
  border-radius: 16px !important;
  padding: 12px 14px !important;
  color: #fff !important;
  background: rgba(2,6,23,.42) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v187 textarea::placeholder {
  color: color-mix(in srgb, var(--tbp-e-muted) 78%, transparent) !important;
  opacity: 1 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 input:focus,
html body #tbp-booking-wrap.tbp-booking-v187 select:focus,
html body #tbp-booking-wrap.tbp-booking-v187 textarea:focus {
  outline: none !important;
  border-color: color-mix(in srgb, var(--tbp-e-accent) 70%, white) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp-e-accent) 15%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .btn,
html body #tbp-booking-wrap.tbp-booking-v187 button,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 48px !important;
  border-radius: 16px !important;
  font-size: var(--tb-button-text-size, 14px) !important;
  font-weight: 900 !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .btn-primary,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v187 .tbp-selection-next {
  color: var(--tb-btn-text, #fff) !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--tbp-e-primary), color-mix(in srgb, var(--tbp-e-accent) 75%, var(--tbp-e-primary))) !important;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--tbp-e-primary) 22%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-actions {
  padding: 18px clamp(18px, 2.3vw, 30px) clamp(18px, 2.3vw, 30px) !important;
  border-top: 1px solid var(--tbp-e-line) !important;
  background: rgba(255,255,255,.025) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-action-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-row strong {
  color: #fff !important;
  text-align: right !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 .tbp-summary-total {
  margin-top: 8px !important;
  padding: 14px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-primary) 28%, transparent) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--tbp-e-primary) 12%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v187 :where(.bi, svg) {
  flex: 0 0 auto !important;
  vertical-align: middle !important;
}

/* Customer portal v1.7.87 premium interface. */
.tbp-cp-shell-v187.tb-customer-portal {
  --tbp-cp-bg: var(--tb-bg, #020617);
  --tbp-cp-card: color-mix(in srgb, var(--tb-card-bg, #0f172a) 90%, #020617);
  --tbp-cp-line: color-mix(in srgb, var(--tb-border, #254166) 78%, transparent);
  --tbp-cp-text: var(--tb-text, #f8fbff);
  --tbp-cp-muted: color-mix(in srgb, var(--tb-text, #f8fbff) 65%, #8795aa);
  --tbp-cp-primary: var(--tb-primary, #f43f5e);
  --tbp-cp-accent: var(--tb-accent, #38bdf8);
  max-width: 1480px !important;
  margin: clamp(16px, 3vw, 40px) auto !important;
  padding: 0 16px !important;
  color: var(--tbp-cp-text) !important;
  font-family: var(--tb-font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

.tbp-cp-shell-v187 .tbp-cp-layout {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--tbp-cp-primary) 20%, transparent), transparent 32%),
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--tbp-cp-accent) 16%, transparent), transparent 30%),
    linear-gradient(135deg, #020617, var(--tbp-cp-bg)) !important;
  border: 1px solid var(--tbp-cp-line) !important;
  border-radius: 32px !important;
  box-shadow: 0 34px 100px rgba(0,0,0,.38) !important;
  padding: 16px !important;
  overflow: clip !important;
}

.tbp-cp-shell-v187 .tbp-cp-sidebar,
.tbp-cp-shell-v187 .tbp-cp-main,
.tbp-cp-shell-v187 .tbp-cp-panel-card,
.tbp-cp-shell-v187 .tbp-cp-stat-card,
.tbp-cp-shell-v187 .tbp-cp-upcoming-card,
.tbp-cp-shell-v187 .tbp-cp-vehicle-pro-card,
.tbp-cp-shell-v187 .tbp-cp-sidebar-card {
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  border-radius: 24px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.tbp-cp-shell-v187 .tbp-cp-sidebar {
  position: sticky !important;
  top: 22px !important;
  padding: 16px !important;
}

.tbp-cp-shell-v187 .tbp-cp-main {
  min-width: 0 !important;
  padding: clamp(16px, 2vw, 26px) !important;
}

.tbp-cp-shell-v187 .tbp-cp-brand,
.tbp-cp-shell-v187 .tbp-cp-topbar,
.tbp-cp-shell-v187 .tbp-cp-topbar-actions,
.tbp-cp-shell-v187 .tbp-cp-section-title-row,
.tbp-cp-shell-v187 .tbp-cp-vehicle-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.tbp-cp-shell-v187 .tbp-cp-topbar {
  justify-content: space-between !important;
  margin-bottom: 18px !important;
}

.tbp-cp-shell-v187 .tbp-cp-topbar h1 {
  margin: 0 0 6px !important;
  color: #fff !important;
  font-size: clamp(28px, 3vw, 46px) !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
}

.tbp-cp-shell-v187 .tbp-cp-topbar p,
.tbp-cp-shell-v187 .tbp-cp-sidebar-card p,
.tbp-cp-shell-v187 .tbp-cp-stat-card small,
.tbp-cp-shell-v187 .tbp-cp-stat-card span,
.tbp-cp-shell-v187 .tbp-cp-panel-card p {
  color: var(--tbp-cp-muted) !important;
}

.tbp-cp-shell-v187 .tbp-cp-brand-mark,
.tbp-cp-shell-v187 .tbp-cp-stat-icon,
.tbp-cp-shell-v187 .tbp-cp-vehicle-avatar,
.tbp-cp-shell-v187 .tbp-cp-vehicle-pro-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 16px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--tbp-cp-primary), var(--tbp-cp-accent)) !important;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--tbp-cp-primary) 22%, transparent) !important;
}

.tbp-cp-shell-v187 .tbp-cp-brand strong,
.tbp-cp-shell-v187 .tbp-cp-stat-card strong,
.tbp-cp-shell-v187 .tbp-cp-panel-card h3,
.tbp-cp-shell-v187 .tbp-cp-sidebar-card strong,
.tbp-cp-shell-v187 .tbp-cp-vehicle-pro-card h3 {
  color: #fff !important;
}

.tbp-cp-shell-v187 .tbp-cp-nav {
  display: grid !important;
  gap: 8px !important;
  margin: 18px 0 !important;
}

.tbp-cp-shell-v187 .tbp-cp-nav button {
  width: 100% !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 11px 12px !important;
  border-radius: 16px !important;
  color: var(--tbp-cp-muted) !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  font-weight: 850 !important;
}

.tbp-cp-shell-v187 .tbp-cp-nav button.is-active,
.tbp-cp-shell-v187 .tbp-cp-nav button:hover {
  color: #fff !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp-cp-primary) 30%, transparent), transparent 58%),
    rgba(255,255,255,.08) !important;
  border-color: color-mix(in srgb, var(--tbp-cp-primary) 44%, transparent) !important;
}

.tbp-cp-shell-v187 .tbp-cp-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
  border-radius: 15px !important;
  color: #fff !important;
  text-decoration: none !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  font-weight: 900 !important;
}

.tbp-cp-shell-v187 .tbp-cp-btn-primary,
.tbp-cp-shell-v187 .tbp-cp-btn.primary,
.tbp-cp-shell-v187 .tbp-cp-topbar .tbp-cp-btn:first-child {
  background: linear-gradient(135deg, var(--tbp-cp-primary), var(--tbp-cp-accent)) !important;
  border-color: transparent !important;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--tbp-cp-primary) 22%, transparent) !important;
}

.tbp-cp-shell-v187 .tbp-cp-stat-grid,
.tbp-cp-shell-v187 .tbp-cp-dashboard-grid,
.tbp-cp-shell-v187 .tbp-cp-booking-card-grid,
.tbp-cp-shell-v187 .tbp-cp-kv-grid,
.tbp-cp-shell-v187 .tbp-cp-file-grid,
.tbp-cp-shell-v187 .tbp-cp-vehicle-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)) !important;
  gap: 14px !important;
}

.tbp-cp-shell-v187 .tbp-cp-stat-card,
.tbp-cp-shell-v187 .tbp-cp-panel-card,
.tbp-cp-shell-v187 .tbp-cp-upcoming-card,
.tbp-cp-shell-v187 .tbp-cp-vehicle-pro-card {
  padding: clamp(16px, 1.7vw, 22px) !important;
  min-width: 0 !important;
}

.tbp-cp-shell-v187 input,
.tbp-cp-shell-v187 textarea,
.tbp-cp-shell-v187 select {
  min-height: 48px !important;
  border-radius: 15px !important;
  color: #fff !important;
  background: rgba(2,6,23,.44) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.tbp-cp-shell-v187 svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto !important;
}

@media (max-width: 980px) {
  html body #tbp-booking-wrap.tbp-booking-v187 {
    width: calc(100vw - 12px) !important;
    margin: 6px auto 18px !important;
    border-radius: 28px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-shell {
    display: block !important;
    padding: 8px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-sidebar {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-panel {
    border-radius: 24px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero {
    padding: 18px 14px 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero-top {
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-brand-block {
    max-width: calc(100% - 112px) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-account-link {
    min-height: 38px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero-copy h2 {
    font-size: clamp(30px, 9.5vw, 42px) !important;
    letter-spacing: -.055em !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-main-hero-copy p:not(.tbp-kicker) {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-stepper-inline {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 58px !important;
    padding: 7px 4px !important;
    text-align: center !important;
    gap: 4px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step span {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step strong {
    font-size: 10px !important;
    max-width: 100% !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step small {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-step-panel {
    padding: 16px 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-section-heading {
    display: block !important;
    margin-bottom: 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-section-heading h3 {
    font-size: 22px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-services-grid,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-packages-grid,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-addons-grid,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-form-grid-3,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-form-grid-4,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-vehicle-manual-grid,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-vrm-row,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-review-layout,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-gateway-list {
    grid-template-columns: 1fr !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-addon-card,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-gateway-card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-areas:
      "top pill"
      "top title"
      "top desc"
      "top meta" !important;
    min-height: 0 !important;
    padding: 14px !important;
    column-gap: 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-top {
    width: 48px !important;
    min-width: 48px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-service-card .tbp-service-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-actions:not(.d-none) {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 20 !important;
    padding: 8px 12px 12px !important;
    background: linear-gradient(180deg, rgba(2,6,23,0), rgba(2,6,23,.94) 28%, rgba(2,6,23,.99)) !important;
    backdrop-filter: blur(16px) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-action-buttons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-action-buttons .btn,
  html body #tbp-booking-wrap.tbp-booking-v187 .tbp-selection-continue .btn {
    width: 100% !important;
    min-height: 50px !important;
  }

  .tbp-cp-shell-v187 .tbp-cp-layout {
    grid-template-columns: 1fr !important;
    border-radius: 26px !important;
    padding: 10px !important;
  }

  .tbp-cp-shell-v187 .tbp-cp-sidebar {
    position: static !important;
  }

  .tbp-cp-shell-v187 .tbp-cp-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .tbp-cp-shell-v187 .tbp-cp-nav button {
    justify-content: center !important;
    text-align: center !important;
    padding: 9px 8px !important;
  }

  .tbp-cp-shell-v187 .tbp-cp-nav button span {
    font-size: 12px !important;
  }

  .tbp-cp-shell-v187 .tbp-cp-topbar,
  .tbp-cp-shell-v187 .tbp-cp-topbar-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .tbp-cp-shell-v187 .tbp-cp-btn {
    width: 100% !important;
  }
}

/* v1.7.87 final frontend precedence cleanup over the v1.7.86 mobile one-box grid rules. */
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-services-layout-grid .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-services-layout-list .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-addon-card,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-gateway-card {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  grid-template-areas:
    "top pill"
    "top title"
    "top desc"
    "top meta" !important;
  align-items: start !important;
  column-gap: 14px !important;
  row-gap: 7px !important;
  min-height: 0 !important;
  padding: 16px !important;
}

html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-top {
  grid-area: top !important;
  width: 54px !important;
  min-width: 54px !important;
  height: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  align-self: start !important;
}

html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-icon {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-type-pill,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-package-pill {
  grid-area: pill !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  justify-self: start !important;
}

html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-title {
  grid-area: title !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-desc {
  grid-area: desc !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-meta {
  grid-area: meta !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  border-top: 0 !important;
  justify-self: start !important;
  justify-content: flex-start !important;
  gap: 7px !important;
}

html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-meta span,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-meta strong {
  min-height: 26px !important;
  padding: 5px 9px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

@media (max-width: 980px) {
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-services-grid,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-packages-grid,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-addons-grid {
    gap: 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-services-layout-grid .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-services-layout-list .tbp-service-card {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    column-gap: 11px !important;
    row-gap: 6px !important;
    padding: 13px !important;
    border-radius: 20px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-top {
    width: 46px !important;
    min-width: 46px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-selected-check {
    top: 11px !important;
    right: 11px !important;
    width: 22px !important;
    height: 22px !important;
    font-size: 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-title {
    font-size: 16.5px !important;
    line-height: 1.12 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-desc {
    font-size: 13px !important;
    line-height: 1.36 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
}

/* v1.7.87 micro typography: keep compact service titles readable after mobile grid cleanup. */
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187 .tbp-service-card .tbp-service-title {
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  word-spacing: .035em !important;
}

/* -------------------------------------------------------------------------
 * v1.7.88 enterprise frontend consistency pass
 * Tightens booking form + customer portal padding, icon alignment, controls,
 * responsive one-box flow, and palette consistency with the admin dashboard.
 * ---------------------------------------------------------------------- */
html body #tbp-booking-wrap.tbp-booking-v188,
html body .tb-customer-portal.tbp-cp-shell-v188 {
  --tbp-e-primary: var(--tb-primary, #f43f5e);
  --tbp-e-secondary: var(--tb-secondary, #020617);
  --tbp-e-accent: var(--tb-accent, #38bdf8);
  --tbp-e-bg: var(--tb-bg, #020617);
  --tbp-e-card: var(--tb-card-bg, #0f1c34);
  --tbp-e-border: color-mix(in srgb, var(--tb-border, #254166) 76%, rgba(255,255,255,.22));
  --tbp-e-text: var(--tb-text, #f8fbff);
  --tbp-e-muted: color-mix(in srgb, var(--tb-text, #f8fbff) 68%, transparent);
  --tbp-e-faint: color-mix(in srgb, var(--tb-text, #f8fbff) 46%, transparent);
  --tbp-e-shadow: 0 26px 80px rgba(2, 6, 23, .38);
  --tbp-e-radius: var(--tb-panel-radius, 28px);
  box-sizing: border-box !important;
  font-family: var(--tb-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 *,
html body #tbp-booking-wrap.tbp-booking-v188 *::before,
html body #tbp-booking-wrap.tbp-booking-v188 *::after,
html body .tb-customer-portal.tbp-cp-shell-v188 *,
html body .tb-customer-portal.tbp-cp-shell-v188 *::before,
html body .tb-customer-portal.tbp-cp-shell-v188 *::after {
  box-sizing: border-box !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .d-none,
html body .tb-customer-portal.tbp-cp-shell-v188 .d-none {
  display: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 {
  width: min(var(--tb-form-width, 1380px), calc(100vw - 32px)) !important;
  max-width: min(var(--tb-form-width, 1380px), calc(100vw - 32px)) !important;
  margin: clamp(16px, 3vw, 42px) auto !important;
  padding: clamp(14px, 1.6vw, 24px) !important;
  color: var(--tbp-e-text) !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--tbp-e-primary) 28%, transparent) 0, transparent 34%),
    radial-gradient(circle at 100% 6%, color-mix(in srgb, var(--tbp-e-accent) 22%, transparent) 0, transparent 30%),
    linear-gradient(145deg, color-mix(in srgb, var(--tbp-e-bg) 92%, #101d35 8%) 0%, color-mix(in srgb, var(--tbp-e-secondary) 86%, #111827 14%) 100%) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 78%, rgba(255,255,255,.26)) !important;
  border-radius: calc(var(--tbp-e-radius) + 8px) !important;
  box-shadow: var(--tbp-e-shadow) !important;
  overflow: visible !important;
  isolation: isolate !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 > style {
  display: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-shell {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, var(--tb-sidebar-width, 360px)) !important;
  gap: clamp(16px, 2vw, 28px) !important;
  align-items: start !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-left .tbp-shell {
  grid-template-columns: minmax(280px, var(--tb-sidebar-width, 360px)) minmax(0, 1fr) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-left .tbp-sidebar {
  order: -1 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-right .tbp-sidebar {
  order: 2 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-right .tbp-main-panel {
  order: 1 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-panel,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-step,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-tabs,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-option-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-field-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-review-card {
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 76%, rgba(255,255,255,.18)) !important;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--tbp-e-card) 88%, rgba(255,255,255,.08) 12%), color-mix(in srgb, var(--tbp-e-bg) 84%, rgba(15,23,42,.38) 16%)) !important;
  border-radius: var(--tbp-e-radius) !important;
  box-shadow: 0 18px 54px rgba(2, 6, 23, .24) !important;
  color: var(--tbp-e-text) !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-panel {
  overflow: hidden !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(22px, 3vw, 36px) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 70%, rgba(255,255,255,.2)) !important;
  border-radius: var(--tbp-e-radius) !important;
  background:
    radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--tbp-e-primary) 30%, transparent), transparent 34%),
    radial-gradient(circle at 94% 18%, color-mix(in srgb, var(--tbp-e-accent) 24%, transparent), transparent 32%),
    linear-gradient(135deg, rgba(15,23,42,.82), color-mix(in srgb, var(--tbp-e-card) 86%, #020617 14%)) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-top,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-head,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-login-head,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-section-heading,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-group-head,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-section-title-row,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar-actions {
  gap: clamp(10px, 1.2vw, 16px) !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-block,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-head,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-login-head,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-support-item,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-counts,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-meta,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-vehicle-grid > *,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-user-chip,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list-row,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-actions-row {
  display: flex !important;
  align-items: center !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-block > div,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-head > div,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand > div,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar > div,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-user-chip {
  min-width: 0 !important;
  max-width: 100% !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-icon,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-selected-check,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step span,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand-mark,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-icon,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-icon,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button svg,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-btn svg {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 i,
html body #tbp-booking-wrap.tbp-booking-v188 svg,
html body .tb-customer-portal.tbp-cp-shell-v188 i,
html body .tb-customer-portal.tbp-cp-shell-v188 svg {
  flex: 0 0 auto !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-mark,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand-mark {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--tbp-e-primary), var(--tbp-e-accent)) !important;
  color: var(--tb-btn-text, #ffffff) !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--tbp-e-primary) 32%, transparent) !important;
  overflow: hidden !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-logo,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-logo,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand img {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 16px !important;
  object-fit: cover !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-block span,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-head span,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand span,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar p,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-section-title-row p,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-copy > p:not(.tbp-kicker) {
  color: var(--tbp-e-muted) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-block strong,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-head strong,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand strong,
html body .tb-customer-portal.tbp-cp-shell-v188 h1,
html body .tb-customer-portal.tbp-cp-shell-v188 h2,
html body .tb-customer-portal.tbp-cp-shell-v188 h3,
html body #tbp-booking-wrap.tbp-booking-v188 h2,
html body #tbp-booking-wrap.tbp-booking-v188 h3,
html body #tbp-booking-wrap.tbp-booking-v188 h4 {
  color: var(--tbp-e-text) !important;
  letter-spacing: -.025em !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-block strong,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-copy > p:not(.tbp-kicker),
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-title,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-desc,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand strong,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand span,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button span {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-copy > p:not(.tbp-kicker),
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-desc {
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-copy h2 {
  max-width: 880px !important;
  margin: 8px 0 12px !important;
  font-size: clamp(30px, 4vw, var(--tb-h1-size, 52px)) !important;
  line-height: .98 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-copy > p:not(.tbp-kicker) {
  max-width: 780px !important;
  font-size: clamp(15px, 1.35vw, 18px) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-kicker,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 28px !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-primary) 34%, rgba(255,255,255,.22)) !important;
  background: color-mix(in srgb, var(--tbp-e-primary) 14%, transparent) !important;
  color: color-mix(in srgb, var(--tbp-e-primary) 34%, #ffffff) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-stepper {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: clamp(20px, 2.6vw, 32px) !important;
  padding: 8px !important;
  border-radius: 24px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 70%, rgba(255,255,255,.16)) !important;
  background: rgba(2, 6, 23, .34) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step {
  min-width: 0 !important;
  min-height: 74px !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  grid-template-areas: "num title" "num text" !important;
  align-items: center !important;
  column-gap: 10px !important;
  border-radius: 18px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--tbp-e-muted) !important;
  text-align: left !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step.is-complete {
  border-color: color-mix(in srgb, var(--tbp-e-primary) 40%, rgba(255,255,255,.18)) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--tbp-e-primary) 18%, transparent), color-mix(in srgb, var(--tbp-e-accent) 9%, transparent)) !important;
  color: var(--tbp-e-text) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step span {
  grid-area: num !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.1) !important;
  color: var(--tbp-e-text) !important;
  font-weight: 900 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step strong {
  grid-area: title !important;
  min-width: 0 !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step small {
  grid-area: text !important;
  min-width: 0 !important;
  margin: 2px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  color: var(--tbp-e-faint) !important;
  white-space: normal !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-form {
  display: grid !important;
  gap: 18px !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step-panel {
  padding: clamp(20px, 2.4vw, 32px) !important;
  margin: 18px 0 0 !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-section-heading {
  display: grid !important;
  align-items: start !important;
  margin: 0 0 20px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-section-heading h3 {
  margin: 6px 0 8px !important;
  font-size: clamp(22px, 2.4vw, var(--tb-section-title-size, 30px)) !important;
  line-height: 1.08 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-section-heading p {
  margin: 0 !important;
  max-width: 760px !important;
  line-height: 1.62 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-intro {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px !important;
  margin: 0 0 16px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-intro p,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-intro strong {
  margin: 4px 0 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-counts {
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 180px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-counts span,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-meta span,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-meta strong,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-package-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 72%, rgba(255,255,255,.16)) !important;
  background: rgba(255,255,255,.06) !important;
  color: var(--tbp-e-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 8px !important;
  margin: 0 0 18px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-toggle {
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  border-radius: 16px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--tbp-e-muted) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-toggle.is-active {
  border-color: color-mix(in srgb, var(--tbp-e-primary) 38%, rgba(255,255,255,.18)) !important;
  background: linear-gradient(135deg, var(--tbp-e-primary), color-mix(in srgb, var(--tbp-e-primary) 42%, var(--tbp-e-accent))) !important;
  color: var(--tb-btn-text, #ffffff) !important;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--tbp-e-primary) 30%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-services-grid,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188.tbp-services-layout-list .tbp-services-grid:not(.tbp-packages-grid) {
  grid-template-columns: 1fr !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-group {
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-group-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin: 0 0 12px !important;
  padding: 0 2px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-group-head span {
  color: var(--tbp-e-text) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-group-head small {
  color: var(--tbp-e-faint) !important;
  font-size: 12px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid label {
  position: relative !important;
  min-width: 0 !important;
  min-height: 100% !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "icon pill check"
    "icon title check"
    "icon desc desc"
    "meta meta meta" !important;
  align-items: start !important;
  column-gap: 14px !important;
  row-gap: 8px !important;
  padding: 18px !important;
  border-radius: 24px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 72%, rgba(255,255,255,.16)) !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 14%, transparent), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.03)) !important;
  color: var(--tbp-e-text) !important;
  box-shadow: 0 14px 34px rgba(2, 6, 23, .2) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
  cursor: pointer !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid label:hover,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid label:focus-within {
  transform: translateY(-2px) !important;
  border-color: color-mix(in srgb, var(--tbp-e-primary) 50%, rgba(255,255,255,.18)) !important;
  box-shadow: 0 18px 46px color-mix(in srgb, var(--tbp-e-primary) 16%, rgba(2,6,23,.36)) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid label:has(input:checked) {
  border-color: color-mix(in srgb, var(--tbp-e-primary) 68%, rgba(255,255,255,.2)) !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--tbp-e-primary) 28%, transparent), transparent 46%),
    linear-gradient(145deg, color-mix(in srgb, var(--tbp-e-primary) 15%, rgba(255,255,255,.08)), rgba(255,255,255,.04)) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-card input[type="radio"],
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid label input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-top {
  grid-area: icon !important;
  width: 58px !important;
  min-width: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-icon {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 92%, #ffffff 8%), color-mix(in srgb, var(--svc-color, var(--tbp-e-accent)) 48%, var(--tbp-e-accent))) !important;
  color: #fff !important;
  font-size: 21px !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 24%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-selected-check {
  grid-area: check !important;
  position: static !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 72%, rgba(255,255,255,.22)) !important;
  background: rgba(255,255,255,.08) !important;
  color: var(--tbp-e-faint) !important;
  opacity: 1 !important;
  transform: none !important;
  font-size: 14px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-card:has(input:checked) .tbp-selected-check {
  border-color: transparent !important;
  background: var(--tbp-e-primary) !important;
  color: var(--tb-btn-text, #ffffff) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-package-pill {
  grid-area: pill !important;
  justify-self: start !important;
  margin: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-title {
  grid-area: title !important;
  display: block !important;
  align-self: end !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--tbp-e-text) !important;
  font-size: clamp(16px, 1.3vw, var(--tb-card-title-size, 19px)) !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-desc {
  grid-area: desc !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--tbp-e-muted) !important;
  font-size: var(--tb-paragraph-size, 14px) !important;
  line-height: 1.52 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-meta {
  grid-area: meta !important;
  width: 100% !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-date-time-grid,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-details-grid,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-review-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-field-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-review-card {
  padding: clamp(16px, 1.8vw, 24px) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 label,
html body .tb-customer-portal.tbp-cp-shell-v188 label {
  color: var(--tbp-e-text) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v188 select,
html body #tbp-booking-wrap.tbp-booking-v188 textarea,
html body .tb-customer-portal.tbp-cp-shell-v188 input:not([type="radio"]):not([type="checkbox"]),
html body .tb-customer-portal.tbp-cp-shell-v188 select,
html body .tb-customer-portal.tbp-cp-shell-v188 textarea {
  width: 100% !important;
  min-height: 52px !important;
  padding: 13px 15px !important;
  border-radius: 16px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 76%, rgba(255,255,255,.18)) !important;
  background: rgba(2,6,23,.34) !important;
  color: var(--tbp-e-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  outline: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 input:focus,
html body #tbp-booking-wrap.tbp-booking-v188 select:focus,
html body #tbp-booking-wrap.tbp-booking-v188 textarea:focus,
html body .tb-customer-portal.tbp-cp-shell-v188 input:focus,
html body .tb-customer-portal.tbp-cp-shell-v188 select:focus,
html body .tb-customer-portal.tbp-cp-shell-v188 textarea:focus {
  border-color: color-mix(in srgb, var(--tbp-e-primary) 70%, rgba(255,255,255,.18)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp-e-primary) 18%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-vrm-row,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-actions,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-payment-actions,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-actions,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-actions-row,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar-actions {
  gap: 12px !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  margin: 18px 0 0 !important;
  padding: 16px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 72%, rgba(255,255,255,.18)) !important;
  border-radius: 24px !important;
  background: rgba(2,6,23,.32) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-copy {
  min-width: 0 !important;
  color: var(--tbp-e-muted) !important;
  line-height: 1.45 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .btn,
html body #tbp-booking-wrap.tbp-booking-v188 button,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-portal-link,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-selection-next,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v188 button {
  text-decoration: none !important;
  appearance: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-selection-next,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-portal-link,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 50px !important;
  padding: 0 18px !important;
  border-radius: 15px !important;
  font-size: var(--tb-button-text-size, 14px) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  text-align: center !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 72%, rgba(255,255,255,.16)) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-selection-next,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-actions button[type="submit"] {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--tbp-e-primary), color-mix(in srgb, var(--tbp-e-primary) 46%, var(--tbp-e-accent))) !important;
  color: var(--tb-btn-text, #ffffff) !important;
  box-shadow: 0 16px 40px color-mix(in srgb, var(--tbp-e-primary) 30%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-portal-link,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button {
  background: rgba(255,255,255,.07) !important;
  color: var(--tbp-e-text) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-back:hover,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-account-link:hover,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-portal-link:hover,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-btn:hover,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button:hover,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button.is-active {
  border-color: color-mix(in srgb, var(--tbp-e-primary) 42%, rgba(255,255,255,.18)) !important;
  background: color-mix(in srgb, var(--tbp-e-primary) 16%, rgba(255,255,255,.07)) !important;
  transform: translateY(-1px) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-panel {
  padding: clamp(18px, 1.8vw, 24px) !important;
  position: sticky !important;
  top: 24px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-static .tbp-summary-panel {
  position: relative !important;
  top: auto !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-portal-card {
  margin-top: 14px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-card {
  padding: 18px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--tbp-e-border) 54%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-row:last-child {
  border-bottom: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-row span {
  color: var(--tbp-e-muted) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-row strong,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-addon-list {
  min-width: 0 !important;
  color: var(--tbp-e-text) !important;
  font-weight: 900 !important;
  text-align: right !important;
  overflow-wrap: anywhere !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-row-stack {
  display: grid !important;
  grid-template-columns: 1fr !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-row-stack strong,
html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-row-stack .tbp-summary-addon-list {
  text-align: left !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-total strong {
  color: color-mix(in srgb, var(--tbp-e-primary) 30%, #ffffff) !important;
  font-size: 22px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-support {
  display: grid !important;
  gap: 10px !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-support-item {
  gap: 10px !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.055) !important;
  color: var(--tbp-e-muted) !important;
}

html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-portal-card {
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 72%, rgba(255,255,255,.18)) !important;
  background: rgba(255,255,255,.06) !important;
}

/* Customer portal v1.7.88 */
html body .tb-customer-portal.tbp-cp-shell-v188 {
  width: min(1440px, calc(100vw - 32px)) !important;
  max-width: min(1440px, calc(100vw - 32px)) !important;
  margin: clamp(16px, 3vw, 42px) auto !important;
  padding: clamp(14px, 1.6vw, 24px) !important;
  color: var(--tbp-e-text) !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--tbp-e-primary) 24%, transparent), transparent 32%),
    radial-gradient(circle at 100% 2%, color-mix(in srgb, var(--tbp-e-accent) 20%, transparent), transparent 32%),
    linear-gradient(145deg, color-mix(in srgb, var(--tbp-e-bg) 92%, #101d35 8%), color-mix(in srgb, var(--tbp-e-secondary) 90%, #0f172a 10%)) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 76%, rgba(255,255,255,.2)) !important;
  border-radius: 34px !important;
  box-shadow: var(--tbp-e-shadow) !important;
  isolation: isolate !important;
  overflow: visible !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-layout {
  display: grid !important;
  grid-template-columns: minmax(260px, 304px) minmax(0, 1fr) !important;
  gap: clamp(16px, 2vw, 26px) !important;
  align-items: start !important;
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188.tbp-cp-auth-shell .tbp-cp-auth-layout {
  grid-template-columns: minmax(270px, 390px) minmax(0, 1fr) !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188.tbp-cp-no-auth-sidebar .tbp-cp-auth-layout {
  grid-template-columns: 1fr !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-main,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar-card,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list-row,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-empty-state,
html body .tb-customer-portal.tbp-cp-shell-v188 .tb-portal-alert {
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 74%, rgba(255,255,255,.18)) !important;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--tbp-e-card) 88%, rgba(255,255,255,.08) 12%), color-mix(in srgb, var(--tbp-e-bg) 84%, rgba(15,23,42,.38) 16%)) !important;
  color: var(--tbp-e-text) !important;
  border-radius: 26px !important;
  box-shadow: 0 18px 54px rgba(2,6,23,.24) !important;
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar {
  position: sticky !important;
  top: 24px !important;
  padding: 20px !important;
  display: grid !important;
  gap: 18px !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-main {
  padding: clamp(18px, 2vw, 26px) !important;
  display: grid !important;
  gap: 18px !important;
  overflow: hidden !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar {
  padding: clamp(18px, 2vw, 26px) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--tbp-e-primary) 24%, transparent), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.032)) !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar h1 {
  margin: 0 0 8px !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  line-height: 1.02 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar p,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-section-title-row p {
  margin: 0 !important;
  line-height: 1.55 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand {
  width: 100% !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand strong {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand span {
  display: block !important;
  margin-top: 3px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button {
  width: 100% !important;
  justify-content: flex-start !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border-radius: 15px !important;
  color: var(--tbp-e-muted) !important;
  text-align: left !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button svg,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-btn svg {
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button.is-active {
  color: var(--tbp-e-text) !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar-card,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-panel-card {
  padding: clamp(18px, 1.8vw, 24px) !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-section-title-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin: 0 0 16px !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-section-title-row h3 {
  margin: 0 0 6px !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.12 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-card {
  padding: 18px !important;
  display: grid !important;
  gap: 9px !important;
  align-content: start !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-icon {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--tbp-e-primary) 84%, #ffffff 16%), color-mix(in srgb, var(--tbp-e-accent) 60%, var(--tbp-e-primary))) !important;
  color: var(--tb-btn-text, #ffffff) !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--tbp-e-primary) 24%, transparent) !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-icon svg {
  width: 21px !important;
  height: 21px !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-card span,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-card small,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-panel-card p,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar-card p,
html body .tb-customer-portal.tbp-cp-shell-v188 .tb-portal-muted {
  color: var(--tbp-e-muted) !important;
  line-height: 1.5 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-card strong {
  color: var(--tbp-e-text) !important;
  font-size: 18px !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-panel {
  display: none !important;
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-panel.is-active {
  display: grid !important;
  gap: 16px !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-grid,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-two-col-grid,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-auth-support-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list {
  display: grid !important;
  gap: 10px !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list-row {
  justify-content: space-between !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px !important;
  border-radius: 18px !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list-row > div {
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list-row strong,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list-row span,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list-row small {
  overflow-wrap: anywhere !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-user-chip {
  display: grid !important;
  gap: 2px !important;
  justify-items: end !important;
  text-align: right !important;
  max-width: min(320px, 36vw) !important;
  padding: 9px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 66%, rgba(255,255,255,.14)) !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-user-chip strong,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-user-chip span {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-grid,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-inline-form {
  display: grid !important;
  gap: 14px !important;
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-grid label,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-custom-field,
html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-actions {
  min-width: 0 !important;
}

html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

@media (max-width: 1180px) {
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-left .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-right .tbp-shell {
    grid-template-columns: 1fr !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar,
  html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-left .tbp-sidebar,
  html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-right .tbp-sidebar {
    order: 2 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-panel,
  html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-left .tbp-main-panel,
  html body #tbp-booking-wrap.tbp-booking-v188.tbp-summary-right .tbp-main-panel {
    order: 1 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-summary-panel,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar {
    position: relative !important;
    top: auto !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-layout,
  html body .tb-customer-portal.tbp-cp-shell-v188.tbp-cp-auth-shell .tbp-cp-auth-layout {
    grid-template-columns: 1fr !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 782px) {
  html body #tbp-booking-wrap.tbp-booking-v188,
  html body .tb-customer-portal.tbp-cp-shell-v188 {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 10px auto !important;
    padding: 10px !important;
    border-radius: 26px !important;
    overflow: hidden !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-shell,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-layout,
  html body .tb-customer-portal.tbp-cp-shell-v188.tbp-cp-auth-shell .tbp-cp-auth-layout {
    gap: 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-panel,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-main,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar {
    padding: 12px !important;
    border-radius: 22px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step-panel,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-auth-card,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-panel-card,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-card,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar-card {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-top,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
    align-items: start !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-account-link,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-topbar-actions .tbp-cp-btn,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-user-chip {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    justify-items: center !important;
    text-align: center !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-block {
    width: 100% !important;
    align-items: flex-start !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-mark,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-brand-logo,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand-mark,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-brand img {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-copy h2 {
    font-size: clamp(27px, 9vw, 38px) !important;
    line-height: 1.03 !important;
    margin: 12px 0 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-copy > p:not(.tbp-kicker) {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-stepper {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 6px !important;
    border-radius: 18px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step {
    min-height: 62px !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "num" "title" !important;
    justify-items: center !important;
    text-align: center !important;
    padding: 8px 5px !important;
    gap: 5px !important;
    border-radius: 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step span {
    width: 30px !important;
    height: 30px !important;
    border-radius: 11px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step strong {
    font-size: 10.5px !important;
    line-height: 1.05 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step small {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step-panel {
    margin-top: 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-group-head,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-date-time-grid,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-details-grid,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-review-grid,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-grid,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-two-col-grid,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-auth-support-grid,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-grid {
    grid-template-columns: 1fr !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-group-head {
    display: grid !important;
    align-items: start !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-booking-options-counts {
    min-width: 0 !important;
    justify-content: flex-start !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-choice-tabs {
    grid-template-columns: 1fr !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-services-grid,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-packages-grid,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid label {
    grid-template-columns: 50px minmax(0, 1fr) 26px !important;
    grid-template-areas:
      "icon pill check"
      "icon title check"
      "desc desc desc"
      "meta meta meta" !important;
    column-gap: 11px !important;
    row-gap: 8px !important;
    padding: 14px !important;
    border-radius: 19px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-top {
    width: 50px !important;
    min-width: 50px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 15px !important;
    font-size: 18px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-selected-check {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-package-pill,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-meta span,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-meta strong {
    min-height: 26px !important;
    padding: 6px 9px !important;
    font-size: 11px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-title {
    font-size: 16px !important;
    line-height: 1.18 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-desc {
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-actions {
    position: sticky !important;
    bottom: 8px !important;
    z-index: 20 !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
    padding: 10px !important;
    border-radius: 20px !important;
    backdrop-filter: blur(16px) !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-copy {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons .d-none {
    display: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-next,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-submit,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-back,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-selection-next,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-account-link,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-sidebar-portal-link,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-btn,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-actions button {
    width: 100% !important;
    min-height: 50px !important;
    padding: 0 14px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons .tbp-next:not(.d-none),
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons .tbp-submit:not(.d-none) {
    grid-column: span 1 !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons .tbp-back.d-none + .tbp-next,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons .tbp-back.d-none + .tbp-next + .tbp-submit:not(.d-none),
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons .tbp-next:first-child:last-child,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-action-buttons .tbp-submit:first-child:last-child {
    grid-column: 1 / -1 !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-sidebar {
    order: 2 !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-main {
    order: 1 !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button {
    min-height: 46px !important;
    padding: 0 10px !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 7px !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-nav button svg {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-stat-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-list-row,
  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-actions-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  html body .tb-customer-portal.tbp-cp-shell-v188 .tbp-cp-form-actions {
    justify-content: stretch !important;
  }
}

@media (max-width: 420px) {
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-stepper {
    gap: 5px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step {
    min-height: 58px !important;
    padding: 7px 4px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-step strong {
    font-size: 9.5px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-addons-grid label {
    grid-template-columns: 46px minmax(0, 1fr) 24px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-top,
  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-icon {
    width: 44px !important;
    min-width: 44px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-service-icon {
    height: 44px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v188 .tbp-main-hero-copy h2 {
    font-size: 28px !important;
  }
}

/* v1.7.88 final high-specificity mobile/card cleanup over earlier version rules. */
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-service-card .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-package-card .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-service-card .tbp-service-title {
  display: block !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-service-type-pill {
  grid-area: pill !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 34%, rgba(255,255,255,.18)) !important;
  background: color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 16%, transparent) !important;
  color: color-mix(in srgb, var(--svc-color, var(--tbp-e-primary)) 34%, #ffffff) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-selection-continue {
  display: none !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 16px !important;
  border-radius: 22px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-e-border) 76%, rgba(255,255,255,.18)) !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--tbp-e-primary) 18%, transparent), transparent 44%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  color: var(--tbp-e-text) !important;
  box-shadow: 0 16px 42px rgba(2,6,23,.24) !important;
}

html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188.tbp-has-booking-choice .tbp-selection-continue {
  display: flex !important;
}

html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-selection-continue > div {
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-selection-continue strong {
  display: block !important;
  margin: 5px 0 3px !important;
  color: var(--tbp-e-text) !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
}

html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-selection-continue p {
  margin: 0 !important;
  color: var(--tbp-e-muted) !important;
  line-height: 1.45 !important;
}

html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-selection-continue .tbp-selection-next {
  flex: 0 0 auto !important;
  min-width: 150px !important;
}

@media (max-width: 782px) {
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-service-card .tbp-service-desc,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-package-card .tbp-service-desc {
    font-size: 13px !important;
    line-height: 1.42 !important;
    max-height: none !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-package-pill,
  html body #tbp-booking-wrap.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-service-type-pill {
    min-height: 26px !important;
    padding: 6px 9px !important;
    font-size: 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188.tbp-has-booking-choice .tbp-selection-continue {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 19px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v153.tbp-booking-v174.tbp-booking-v185.tbp-booking-v186.tbp-booking-v187.tbp-booking-v188 .tbp-selection-continue .tbp-selection-next {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* v1.7.90 booking + customer portal dark enterprise consistency pass.
   This layer intentionally sits at the end of the public stylesheet to override older white/light frontend rules. */
html body #tbp-booking-wrap.tbp-booking-v190,
html body .tb-customer-portal.tbp-cp-shell-v190 {
  --tbp-190-primary: var(--tb-primary, #f43f5e);
  --tbp-190-secondary: var(--tb-secondary, #020617);
  --tbp-190-accent: var(--tb-accent, #38bdf8);
  --tbp-190-bg: var(--tb-bg, #020617);
  --tbp-190-card: var(--tb-card-bg, #0f1c34);
  --tbp-190-text: var(--tb-text, #f8fbff);
  --tbp-190-button-text: var(--tb-btn-text, #ffffff);
  --tbp-190-radius: var(--tb-panel-radius, 28px);
  --tbp-190-line: color-mix(in srgb, var(--tb-border, #254166) 72%, rgba(255,255,255,.18));
  --tbp-190-muted: color-mix(in srgb, var(--tbp-190-text) 68%, transparent);
  --tbp-190-faint: color-mix(in srgb, var(--tbp-190-text) 48%, transparent);
  --tbp-190-shell: radial-gradient(circle at 3% 0%, color-mix(in srgb, var(--tbp-190-primary) 28%, transparent), transparent 31%), radial-gradient(circle at 98% 6%, color-mix(in srgb, var(--tbp-190-accent) 24%, transparent), transparent 29%), linear-gradient(145deg, color-mix(in srgb, var(--tbp-190-bg) 90%, #101d35 10%), color-mix(in srgb, var(--tbp-190-secondary) 88%, #0f172a 12%));
  --tbp-190-panel: linear-gradient(145deg, color-mix(in srgb, var(--tbp-190-card) 82%, #111827 18%), color-mix(in srgb, var(--tbp-190-secondary) 86%, #101827 14%));
  --tbp-190-panel-soft: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.032));
  --tbp-190-control: linear-gradient(180deg, rgba(8,15,30,.96), rgba(12,20,37,.92));
  --tbp-190-shadow: 0 26px 80px rgba(2, 6, 23, .42);
  color: var(--tbp-190-text) !important;
  font-family: var(--tb-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 *,
html body #tbp-booking-wrap.tbp-booking-v190 *::before,
html body #tbp-booking-wrap.tbp-booking-v190 *::after,
html body .tb-customer-portal.tbp-cp-shell-v190 *,
html body .tb-customer-portal.tbp-cp-shell-v190 *::before,
html body .tb-customer-portal.tbp-cp-shell-v190 *::after {
  box-sizing: border-box !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 {
  width: min(var(--tb-form-width, 1380px), calc(100vw - 32px)) !important;
  max-width: min(var(--tb-form-width, 1380px), calc(100vw - 32px)) !important;
  margin: clamp(16px, 3vw, 42px) auto !important;
  padding: clamp(16px, 1.8vw, 26px) !important;
  background: var(--tbp-190-shell) !important;
  border: 1px solid var(--tbp-190-line) !important;
  border-radius: calc(var(--tbp-190-radius) + 8px) !important;
  box-shadow: var(--tbp-190-shadow) !important;
  overflow: visible !important;
  isolation: isolate !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-shell {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(292px, var(--tb-sidebar-width, 360px)) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  align-items: start !important;
}

html body #tbp-booking-wrap.tbp-booking-v190.tbp-summary-left .tbp-shell {
  grid-template-columns: minmax(292px, var(--tb-sidebar-width, 360px)) minmax(0, 1fr) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190.tbp-summary-left .tbp-sidebar { order: -1 !important; }
html body #tbp-booking-wrap.tbp-booking-v190.tbp-summary-right .tbp-sidebar { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v190.tbp-summary-right .tbp-main-panel { order: 1 !important; }

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-panel,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-addons-step,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-choice-tabs,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-option-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-field-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-review-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-actions,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-addons-empty,
html body #tbp-booking-wrap.tbp-booking-v190 .alert,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-main,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-sidebar-card,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-list-row,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-empty-state,
html body .tb-customer-portal.tbp-cp-shell-v190 .tb-portal-alert {
  color: var(--tbp-190-text) !important;
  background: var(--tbp-190-panel) !important;
  border: 1px solid var(--tbp-190-line) !important;
  border-radius: var(--tbp-190-radius) !important;
  box-shadow: 0 18px 54px rgba(2, 6, 23, .24), inset 0 1px 0 rgba(255,255,255,.055) !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-main-panel { overflow: hidden !important; }
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-panel { padding: clamp(18px, 1.9vw, 26px) !important; position: sticky !important; top: 24px !important; }
html body #tbp-booking-wrap.tbp-booking-v190.tbp-summary-static .tbp-summary-panel { position: relative !important; top: auto !important; }

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-main-hero,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-topbar {
  position: relative !important;
  padding: clamp(22px, 3vw, 38px) !important;
  border: 1px solid var(--tbp-190-line) !important;
  border-radius: var(--tbp-190-radius) !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--tbp-190-primary) 30%, transparent), transparent 34%), radial-gradient(circle at 96% 14%, color-mix(in srgb, var(--tbp-190-accent) 24%, transparent), transparent 30%), linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.032)) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step-panel { padding: clamp(20px, 2.3vw, 32px) !important; margin: 18px 0 0 !important; }

html body #tbp-booking-wrap.tbp-booking-v190 h2,
html body #tbp-booking-wrap.tbp-booking-v190 h3,
html body #tbp-booking-wrap.tbp-booking-v190 h4,
html body #tbp-booking-wrap.tbp-booking-v190 strong,
html body .tb-customer-portal.tbp-cp-shell-v190 h1,
html body .tb-customer-portal.tbp-cp-shell-v190 h2,
html body .tb-customer-portal.tbp-cp-shell-v190 h3,
html body .tb-customer-portal.tbp-cp-shell-v190 strong {
  color: var(--tbp-190-text) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 p,
html body #tbp-booking-wrap.tbp-booking-v190 small,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-row span,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-empty,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-sidebar-portal-card p,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-times-head p,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vehicle-help,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vrm-status,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-mini-heading p,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v190 .alert,
html body .tb-customer-portal.tbp-cp-shell-v190 p,
html body .tb-customer-portal.tbp-cp-shell-v190 small,
html body .tb-customer-portal.tbp-cp-shell-v190 .tb-portal-muted,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-topbar p,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-section-title-row p {
  color: var(--tbp-190-muted) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-kicker,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  min-height: 28px !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-190-primary) 36%, rgba(255,255,255,.2)) !important;
  background: color-mix(in srgb, var(--tbp-190-primary) 14%, transparent) !important;
  color: color-mix(in srgb, var(--tbp-190-primary) 34%, #ffffff) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-stepper {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 8px !important;
  margin-top: clamp(20px, 2.5vw, 32px) !important;
  border-radius: 24px !important;
  border: 1px solid var(--tbp-190-line) !important;
  background: rgba(2,6,23,.42) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step {
  min-width: 0 !important;
  min-height: 74px !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  grid-template-areas: "num title" "num text" !important;
  align-items: center !important;
  gap: 3px 10px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--tbp-190-muted) !important;
  text-align: left !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step span {
  grid-area: num !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.09) !important;
  color: var(--tbp-190-text) !important;
  font-weight: 950 !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step strong { grid-area: title !important; min-width: 0 !important; font-size: 13px !important; line-height: 1.15 !important; white-space: normal !important; }
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step small { grid-area: text !important; min-width: 0 !important; margin: 2px 0 0 !important; color: var(--tbp-190-faint) !important; font-size: 11px !important; line-height: 1.25 !important; white-space: normal !important; }

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step.is-active,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step.is-complete {
  border-color: color-mix(in srgb, var(--tbp-190-primary) 44%, rgba(255,255,255,.18)) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--tbp-190-primary) 18%, transparent), color-mix(in srgb, var(--tbp-190-accent) 10%, transparent)) !important;
  color: var(--tbp-190-text) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step.active span,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step.is-active span,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step.is-complete span,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-icon,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-brand-mark,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-stat-icon,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-icon {
  background: linear-gradient(135deg, var(--tbp-190-primary), color-mix(in srgb, var(--tbp-190-primary) 42%, var(--tbp-190-accent))) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--tbp-190-primary) 26%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 i,
html body #tbp-booking-wrap.tbp-booking-v190 svg,
html body .tb-customer-portal.tbp-cp-shell-v190 i,
html body .tb-customer-portal.tbp-cp-shell-v190 svg {
  flex: 0 0 auto !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-icon,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-selected-check,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-brand-mark,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-stat-icon,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-addons-grid label,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card {
  color: var(--tbp-190-text) !important;
  background: var(--tbp-190-panel-soft) !important;
  border: 1px solid var(--tbp-190-line) !important;
  border-radius: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-addons-grid label:hover,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-addons-grid label:focus-within,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card:hover,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-addons-grid label:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--tbp-190-primary) 52%, rgba(255,255,255,.18)) !important;
  background: radial-gradient(circle at top right, color-mix(in srgb, var(--tbp-190-primary) 14%, transparent), transparent 42%), linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--tbp-190-primary) 16%, transparent), inset 0 1px 0 rgba(255,255,255,.065) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-services-grid,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-addons-grid {
  gap: 16px !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-date-time-layout,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-review-layout,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-form-grid,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-form-grid-3,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-form-grid-4,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vehicle-manual-grid,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-grid,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-two-col-grid,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-stat-grid,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-auth-support-grid {
  gap: 16px !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-review-card,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-field-card,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-main,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-sidebar-card {
  padding: clamp(18px, 1.9vw, 26px) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-calendar-header,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-times-head,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vehicle-header,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-head,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-brand,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-section-title-row,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-actions-row {
  gap: 12px !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-calendar-header strong,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-times-head h4,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-payment-card h4,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-review-layout h4,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vehicle-header h4 {
  margin: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v190 select,
html body #tbp-booking-wrap.tbp-booking-v190 textarea,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-next,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-time-slot,
html body .tb-customer-portal.tbp-cp-shell-v190 input:not([type="radio"]):not([type="checkbox"]),
html body .tb-customer-portal.tbp-cp-shell-v190 select,
html body .tb-customer-portal.tbp-cp-shell-v190 textarea {
  color: var(--tbp-190-text) !important;
  background: var(--tbp-190-control) !important;
  border: 1px solid var(--tbp-190-line) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v190 textarea::placeholder,
html body .tb-customer-portal.tbp-cp-shell-v190 input::placeholder,
html body .tb-customer-portal.tbp-cp-shell-v190 textarea::placeholder {
  color: color-mix(in srgb, var(--tbp-190-muted) 78%, transparent) !important;
  opacity: 1 !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 input:focus,
html body #tbp-booking-wrap.tbp-booking-v190 select:focus,
html body #tbp-booking-wrap.tbp-booking-v190 textarea:focus,
html body .tb-customer-portal.tbp-cp-shell-v190 input:focus,
html body .tb-customer-portal.tbp-cp-shell-v190 select:focus,
html body .tb-customer-portal.tbp-cp-shell-v190 textarea:focus {
  outline: none !important;
  border-color: color-mix(in srgb, var(--tbp-190-primary) 62%, rgba(255,255,255,.2)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp-190-primary) 16%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-weekdays span,
html body #tbp-booking-wrap.tbp-booking-v190 label,
html body .tb-customer-portal.tbp-cp-shell-v190 label {
  color: var(--tbp-190-muted) !important;
  font-weight: 800 !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-next,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-time-slot,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-date {
  min-height: 48px !important;
  border-radius: 15px !important;
  font-weight: 900 !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-date.has-slots,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-time-slot:not([disabled]) {
  color: var(--tbp-190-text) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-date.has-slots::after {
  background: var(--tbp-190-primary) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-date.active,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-time-slot.active,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-time-slot:hover {
  background: linear-gradient(135deg, var(--tbp-190-primary), color-mix(in srgb, var(--tbp-190-primary) 42%, var(--tbp-190-accent))) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--tbp-190-primary) 22%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-addons-empty {
  display: grid !important;
  gap: 6px !important;
  min-height: 120px !important;
  align-content: center !important;
  text-align: center !important;
  border-radius: 22px !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-areas: "title check" "desc check" !important;
  gap: 4px 12px !important;
  align-items: center !important;
  min-height: 78px !important;
  padding: 16px 18px !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card > span {
  grid-area: title !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--tbp-190-text) !important;
  font-weight: 900 !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card > small {
  grid-area: desc !important;
  color: var(--tbp-190-muted) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card::after {
  content: "";
  grid-area: check;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--tbp-190-line);
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-gateway-card:has(input:checked)::after {
  background: linear-gradient(135deg, var(--tbp-190-primary), var(--tbp-190-accent));
  border-color: transparent;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--tbp-190-primary) 22%, transparent);
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-row,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-review-layout .tbp-summary-card > div,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-review-layout .tbp-summary-total {
  border-bottom: 1px solid color-mix(in srgb, var(--tbp-190-line) 88%, transparent) !important;
  padding-block: 12px !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-row:last-child,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-review-layout .tbp-summary-card > div:last-child {
  border-bottom: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v190 [data-summary="total"] {
  color: color-mix(in srgb, var(--tbp-190-primary) 30%, #ffffff) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-api-badge,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-meta span,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-service-meta strong,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-booking-options-counts span,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-terms,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-user-chip {
  color: var(--tbp-190-muted) !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--tbp-190-line) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-selection-next,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-form-actions button[type="submit"] {
  background: linear-gradient(135deg, var(--tbp-190-primary), color-mix(in srgb, var(--tbp-190-primary) 42%, var(--tbp-190-accent))) !important;
  color: var(--tbp-190-button-text) !important;
  border-color: transparent !important;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--tbp-190-primary) 28%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-sidebar-portal-link,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-next,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-nav button {
  color: var(--tbp-190-text) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
  border: 1px solid var(--tbp-190-line) !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-selection-next,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-sidebar-portal-link,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v190 .tbp-cal-next,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-nav button,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-form-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 18px !important;
  gap: 8px !important;
  border-radius: 16px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v190 .tbp-action-buttons,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-actions-row,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-form-actions,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-topbar-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

html body .tb-customer-portal.tbp-cp-shell-v190 {
  width: min(1440px, calc(100vw - 32px)) !important;
  max-width: min(1440px, calc(100vw - 32px)) !important;
  margin: clamp(16px, 3vw, 42px) auto !important;
  padding: clamp(16px, 1.8vw, 26px) !important;
  background: var(--tbp-190-shell) !important;
  border: 1px solid var(--tbp-190-line) !important;
  border-radius: calc(var(--tbp-190-radius) + 8px) !important;
  box-shadow: var(--tbp-190-shadow) !important;
  isolation: isolate !important;
}

html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-layout,
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-auth-layout {
  gap: clamp(18px, 2vw, 30px) !important;
}

html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-sidebar { position: sticky !important; top: 24px !important; }
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-nav { display: grid !important; gap: 8px !important; }
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-nav button { justify-content: flex-start !important; width: 100% !important; }
html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-nav button.is-active { color: #fff !important; background: linear-gradient(135deg, color-mix(in srgb, var(--tbp-190-primary) 76%, rgba(255,255,255,.1)), color-mix(in srgb, var(--tbp-190-accent) 46%, rgba(255,255,255,.1))) !important; border-color: transparent !important; }

@media (max-width: 1080px) {
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v190.tbp-summary-left .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v190.tbp-summary-right .tbp-shell,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-layout,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-auth-layout {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-panel,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-sidebar {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 767px) {
  html body #tbp-booking-wrap.tbp-booking-v190,
  html body .tb-customer-portal.tbp-cp-shell-v190 {
    width: min(100%, calc(100vw - 18px)) !important;
    max-width: min(100%, calc(100vw - 18px)) !important;
    margin: 10px auto !important;
    padding: 10px !important;
    border-radius: 26px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-shell,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-layout,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-auth-layout {
    gap: 12px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-main-hero,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step-panel,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-summary-panel,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-payment-card,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vehicle-card,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-topbar,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-main,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-sidebar,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-auth-card,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-panel-card,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-sidebar-card {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-stepper,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-choice-tabs,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-date-time-layout,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-review-layout,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-grid,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-two-col-grid,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-stat-grid,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-auth-support-grid {
    grid-template-columns: 1fr !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-stepper {
    gap: 8px !important;
    padding: 7px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step {
    min-height: 62px !important;
    padding: 10px !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-step small { display: none !important; }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-actions,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-topbar,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-section-title-row,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-list-row {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-action-buttons,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-next,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-submit,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-back,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-selection-next,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-account-link,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-sidebar-portal-link,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-btn,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-nav button,
  html body .tb-customer-portal.tbp-cp-shell-v190 .tbp-cp-form-actions button {
    width: 100% !important;
  }

  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-vrm-row,
  html body #tbp-booking-wrap.tbp-booking-v190 .tbp-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}


/* v1.7.91 premium palette + booking summary readability fix */
html body #tbp-booking-wrap.tbp-booking-v191,
html body .tb-customer-portal.tbp-cp-shell-v191 {
  --tbp-191-primary: var(--tb-primary, #f43f5e);
  --tbp-191-secondary: var(--tb-secondary, #020617);
  --tbp-191-accent: var(--tb-accent, #38bdf8);
  --tbp-191-bg: var(--tb-bg, #050816);
  --tbp-191-card: var(--tb-card-bg, #0b1220);
  --tbp-191-text: var(--tb-text, #f8fafc);
  --tbp-191-btn-text: var(--tb-btn-text, #ffffff);
  --tbp-191-radius: var(--tb-panel-radius, 28px);
  --tbp-191-border: color-mix(in srgb, var(--tb-border, #263752) 78%, rgba(255,255,255,.22));
  --tbp-191-muted: color-mix(in srgb, var(--tbp-191-text) 70%, #94a3b8);
  --tbp-191-subtle: color-mix(in srgb, var(--tbp-191-text) 46%, transparent);
  --tbp-191-shell: radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--tbp-191-primary) 24%, transparent), transparent 32%), radial-gradient(circle at 95% 7%, color-mix(in srgb, var(--tbp-191-accent) 20%, transparent), transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--tbp-191-bg) 94%, #111827 6%), color-mix(in srgb, var(--tbp-191-secondary) 88%, #0f172a 12%));
  --tbp-191-panel: linear-gradient(145deg, color-mix(in srgb, var(--tbp-191-card) 88%, #111827 12%), color-mix(in srgb, var(--tbp-191-secondary) 84%, #101827 16%));
  --tbp-191-panel-raised: linear-gradient(145deg, color-mix(in srgb, var(--tbp-191-card) 78%, rgba(255,255,255,.12) 22%), color-mix(in srgb, var(--tbp-191-bg) 82%, #111827 18%));
  --tbp-191-control: linear-gradient(180deg, color-mix(in srgb, var(--tbp-191-secondary) 78%, #111827 22%), color-mix(in srgb, var(--tbp-191-card) 84%, #020617 16%));
  --tbp-191-shadow: 0 30px 90px rgba(2, 6, 23, .46);
  color: var(--tbp-191-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191.tbp-theme-clean_light {
  --tbp-191-muted: #475569;
  --tbp-191-subtle: #64748b;
  --tbp-191-border: rgba(15, 23, 42, .14);
  --tbp-191-shell: radial-gradient(circle at 7% 0%, rgba(37,99,235,.16), transparent 32%), radial-gradient(circle at 95% 7%, rgba(6,182,212,.14), transparent 30%), linear-gradient(145deg, #eef4ff, #f8fafc);
  --tbp-191-panel: linear-gradient(145deg, rgba(255,255,255,.96), #eef4ff);
  --tbp-191-panel-raised: linear-gradient(145deg, #ffffff, #f1f5f9);
  --tbp-191-control: linear-gradient(180deg, #ffffff, #f8fafc);
  --tbp-191-shadow: 0 26px 70px rgba(15, 23, 42, .14);
}
html body #tbp-booking-wrap.tbp-booking-v191 {
  background: var(--tbp-191-shell) !important;
  color: var(--tbp-191-text) !important;
  border-color: var(--tbp-191-border) !important;
  box-shadow: var(--tbp-191-shadow) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-addons-step,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-choice-tabs,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-addons-grid label,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-gateway-card,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-actions,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-addons-empty {
  background: var(--tbp-191-panel) !important;
  color: var(--tbp-191-text) !important;
  border: 1px solid var(--tbp-191-border) !important;
  box-shadow: 0 18px 56px rgba(2,6,23,.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-panel {
  background: radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--tbp-191-primary) 16%, transparent), transparent 36%), var(--tbp-191-panel-raised) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-191-primary) 26%, var(--tbp-191-border)) !important;
  box-shadow: 0 26px 76px rgba(2,6,23,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
  color: var(--tbp-191-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-sidebar-portal-card,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-review-layout .tbp-summary-card {
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-191-border) 82%, rgba(255,255,255,.16)) !important;
  color: var(--tbp-191-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191.tbp-theme-clean_light .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v191.tbp-theme-clean_light .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v191.tbp-theme-clean_light .tbp-sidebar-portal-card,
html body #tbp-booking-wrap.tbp-booking-v191.tbp-theme-clean_light .tbp-review-layout .tbp-summary-card {
  background: rgba(255,255,255,.72) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-main-hero {
  background: radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--tbp-191-primary) 26%, transparent), transparent 34%), radial-gradient(circle at 95% 15%, color-mix(in srgb, var(--tbp-191-accent) 18%, transparent), transparent 30%), linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.026)) !important;
  border-color: var(--tbp-191-border) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 h2,
html body #tbp-booking-wrap.tbp-booking-v191 h3,
html body #tbp-booking-wrap.tbp-booking-v191 h4,
html body #tbp-booking-wrap.tbp-booking-v191 strong,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-service-title,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-row strong,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-review-layout .tbp-summary-card strong,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-gateway-card > span,
html body #tbp-booking-wrap.tbp-booking-v191 label {
  color: var(--tbp-191-text) !important;
  -webkit-text-fill-color: var(--tbp-191-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 p,
html body #tbp-booking-wrap.tbp-booking-v191 small,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-row span,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-empty,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-sidebar-portal-card p,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-gateway-card > small,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-times-head p,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-vehicle-help,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v191 .alert {
  color: var(--tbp-191-muted) !important;
  -webkit-text-fill-color: var(--tbp-191-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v191 [data-summary="total"] {
  color: color-mix(in srgb, var(--tbp-191-primary) 30%, #ffffff) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--tbp-191-primary) 30%, #ffffff) !important;
  font-size: clamp(22px, 2vw, 30px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191.tbp-theme-clean_light .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v191.tbp-theme-clean_light [data-summary="total"] {
  color: var(--tbp-191-primary) !important;
  -webkit-text-fill-color: var(--tbp-191-primary) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-stepper {
  background: color-mix(in srgb, var(--tbp-191-secondary) 72%, rgba(255,255,255,.08)) !important;
  border-color: var(--tbp-191-border) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-step.is-complete,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-choice-toggle.is-active {
  background: linear-gradient(135deg, color-mix(in srgb, var(--tbp-191-primary) 78%, rgba(255,255,255,.08)), color-mix(in srgb, var(--tbp-191-accent) 48%, rgba(255,255,255,.08))) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-step.active strong,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-step.is-complete strong,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-choice-toggle.is-active,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-choice-toggle.is-active * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v191 select,
html body #tbp-booking-wrap.tbp-booking-v191 textarea,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-time-slot,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-cal-next {
  background: var(--tbp-191-control) !important;
  color: var(--tbp-191-text) !important;
  -webkit-text-fill-color: var(--tbp-191-text) !important;
  border: 1px solid var(--tbp-191-border) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v191 textarea::placeholder {
  color: var(--tbp-191-subtle) !important;
  opacity: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-cal-date.active,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-time-slot.active,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-time-slot:hover,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-selection-next {
  background: linear-gradient(135deg, var(--tbp-191-primary), color-mix(in srgb, var(--tbp-191-primary) 42%, var(--tbp-191-accent))) !important;
  color: var(--tbp-191-btn-text) !important;
  -webkit-text-fill-color: var(--tbp-191-btn-text) !important;
  border-color: transparent !important;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--tbp-191-primary) 26%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-sidebar-portal-link {
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.032)) !important;
  color: var(--tbp-191-text) !important;
  -webkit-text-fill-color: var(--tbp-191-text) !important;
  border-color: var(--tbp-191-border) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-service-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-gateway-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--tbp-191-primary) 52%, var(--tbp-191-border)) !important;
  background: radial-gradient(circle at top right, color-mix(in srgb, var(--tbp-191-primary) 16%, transparent), transparent 44%), var(--tbp-191-panel-raised) !important;
  box-shadow: 0 20px 58px color-mix(in srgb, var(--tbp-191-primary) 14%, transparent), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-service-icon,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-step span,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-selected-check {
  background: linear-gradient(135deg, var(--tbp-191-primary), color-mix(in srgb, var(--tbp-191-primary) 44%, var(--tbp-191-accent))) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-row,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-review-layout .tbp-summary-card > div {
  border-bottom: 1px solid color-mix(in srgb, var(--tbp-191-border) 84%, transparent) !important;
  padding-block: 12px !important;
}
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-row:last-child,
html body #tbp-booking-wrap.tbp-booking-v191 .tbp-review-layout .tbp-summary-card > div:last-child { border-bottom: 0 !important; }
@media (max-width: 767px) {
  html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-panel {
    border-color: color-mix(in srgb, var(--tbp-191-primary) 36%, var(--tbp-191-border)) !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v191 .tbp-main-hero,
  html body #tbp-booking-wrap.tbp-booking-v191 .tbp-step-panel,
  html body #tbp-booking-wrap.tbp-booking-v191 .tbp-summary-panel,
  html body #tbp-booking-wrap.tbp-booking-v191 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v191 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v191 .tbp-payment-card,
  html body #tbp-booking-wrap.tbp-booking-v191 .tbp-vehicle-card {
    padding: 16px !important;
  }
}


/* v1.7.92 executive booking redesign: professional palettes, visible summary, restrained enterprise UI */
html body #tbp-booking-wrap.tbp-booking-v192,
html body .tb-customer-portal.tbp-cp-shell-v192 {
  --tbp-192-primary: var(--tb-primary, #2563eb);
  --tbp-192-secondary: var(--tb-secondary, #08111f);
  --tbp-192-accent: var(--tb-accent, #14b8a6);
  --tbp-192-bg: var(--tb-bg, #0b1120);
  --tbp-192-card: var(--tb-card-bg, #111827);
  --tbp-192-border-base: var(--tb-border, #2b3a52);
  --tbp-192-text: var(--tb-text, #f8fafc);
  --tbp-192-button-text: var(--tb-btn-text, #ffffff);
  --tbp-192-muted: color-mix(in srgb, var(--tbp-192-text) 68%, #94a3b8);
  --tbp-192-faint: color-mix(in srgb, var(--tbp-192-text) 47%, transparent);
  --tbp-192-line: color-mix(in srgb, var(--tbp-192-border-base) 72%, rgba(255,255,255,.18));
  --tbp-192-surface: linear-gradient(180deg, color-mix(in srgb, var(--tbp-192-card) 92%, #172033 8%), color-mix(in srgb, var(--tbp-192-secondary) 82%, #111827 18%));
  --tbp-192-surface-soft: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028));
  --tbp-192-control: linear-gradient(180deg, color-mix(in srgb, var(--tbp-192-secondary) 78%, #1f2937 22%), color-mix(in srgb, var(--tbp-192-card) 86%, #020617 14%));
  --tbp-192-shadow: 0 30px 90px rgba(2, 6, 23, .38);
  --tbp-192-radius: clamp(22px, 2vw, var(--tb-panel-radius, 30px));
  color: var(--tbp-192-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192.tbp-theme-clean_light {
  --tbp-192-muted: #475569;
  --tbp-192-faint: #64748b;
  --tbp-192-line: rgba(23, 32, 51, .14);
  --tbp-192-surface: linear-gradient(180deg, #ffffff, #f3f6fb);
  --tbp-192-surface-soft: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.86));
  --tbp-192-control: linear-gradient(180deg, #ffffff, #f8fafc);
  --tbp-192-shadow: 0 26px 70px rgba(23, 32, 51, .14);
}
html body #tbp-booking-wrap.tbp-booking-v192 {
  width: min(var(--tb-form-width, 1360px), calc(100vw - 32px)) !important;
  max-width: min(var(--tb-form-width, 1360px), calc(100vw - 32px)) !important;
  margin: clamp(18px, 3vw, 42px) auto !important;
  padding: clamp(16px, 1.7vw, 24px) !important;
  border-radius: 34px !important;
  border: 1px solid var(--tbp-192-line) !important;
  background:
    radial-gradient(circle at 4% 0%, color-mix(in srgb, var(--tbp-192-primary) 20%, transparent), transparent 30%),
    radial-gradient(circle at 100% 12%, color-mix(in srgb, var(--tbp-192-accent) 13%, transparent), transparent 28%),
    linear-gradient(145deg, color-mix(in srgb, var(--tbp-192-bg) 94%, #172033 6%), color-mix(in srgb, var(--tbp-192-secondary) 90%, #020617 10%)) !important;
  box-shadow: var(--tbp-192-shadow) !important;
  overflow: visible !important;
}
html body #tbp-booking-wrap.tbp-booking-v192.tbp-theme-clean_light {
  background:
    radial-gradient(circle at 4% 0%, color-mix(in srgb, var(--tbp-192-primary) 11%, transparent), transparent 30%),
    radial-gradient(circle at 100% 10%, color-mix(in srgb, var(--tbp-192-accent) 10%, transparent), transparent 28%),
    linear-gradient(145deg, var(--tbp-192-bg), #ffffff) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-shell {
  grid-template-columns: minmax(0, 1fr) minmax(320px, var(--tb-sidebar-width, 380px)) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  align-items: start !important;
}
html body #tbp-booking-wrap.tbp-booking-v192.tbp-summary-left .tbp-shell {
  grid-template-columns: minmax(320px, var(--tb-sidebar-width, 380px)) minmax(0, 1fr) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-panel,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-addons-step,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-choice-tabs,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-actions,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-addons-empty,
html body .tb-customer-portal.tbp-cp-shell-v192 .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-shell-v192 .tbp-cp-main,
html body .tb-customer-portal.tbp-cp-shell-v192 .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-shell-v192 .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-shell-v192 .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-shell-v192 .tbp-cp-topbar {
  background: var(--tbp-192-surface) !important;
  border: 1px solid var(--tbp-192-line) !important;
  box-shadow: 0 18px 50px rgba(2,6,23,.20), inset 0 1px 0 rgba(255,255,255,.055) !important;
  color: var(--tbp-192-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-main-panel { overflow: hidden !important; }
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-main-hero {
  padding: clamp(26px, 3vw, 42px) !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--tbp-192-secondary) 70%, rgba(255,255,255,.07) 30%), color-mix(in srgb, var(--tbp-192-card) 88%, #111827 12%)) !important;
  border: 1px solid var(--tbp-192-line) !important;
  border-radius: var(--tbp-192-radius) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-main-hero-copy h2 {
  max-width: 850px !important;
  font-size: clamp(32px, 4vw, 56px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  color: var(--tbp-192-text) !important;
  -webkit-text-fill-color: var(--tbp-192-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-main-hero-copy > p:not(.tbp-kicker) {
  max-width: 760px !important;
  color: var(--tbp-192-muted) !important;
  -webkit-text-fill-color: var(--tbp-192-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-kicker {
  background: color-mix(in srgb, var(--tbp-192-primary) 13%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-192-primary) 28%, transparent) !important;
  color: color-mix(in srgb, var(--tbp-192-primary) 26%, #ffffff) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--tbp-192-primary) 26%, #ffffff) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192.tbp-theme-clean_light .tbp-kicker {
  color: var(--tbp-192-primary) !important;
  -webkit-text-fill-color: var(--tbp-192-primary) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-panel {
  position: sticky !important;
  top: 24px !important;
  padding: clamp(20px, 2vw, 28px) !important;
  border-radius: var(--tbp-192-radius) !important;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--tbp-192-card) 94%, rgba(255,255,255,.06) 6%), color-mix(in srgb, var(--tbp-192-secondary) 91%, #020617 9%)) !important;
  border: 1px solid color-mix(in srgb, var(--tbp-192-primary) 18%, var(--tbp-192-line)) !important;
  box-shadow: 0 22px 64px rgba(2,6,23,.26), inset 0 1px 0 rgba(255,255,255,.07) !important;
  overflow: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--tbp-192-primary), var(--tbp-192-accent));
  opacity: .95;
}
html body #tbp-booking-wrap.tbp-booking-v192.tbp-theme-clean_light .tbp-summary-panel {
  background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-sidebar-portal-card,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-review-layout .tbp-summary-card {
  background: var(--tbp-192-surface-soft) !important;
  border: 1px solid var(--tbp-192-line) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
  color: var(--tbp-192-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-row,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-review-layout .tbp-summary-card > div {
  border-bottom: 1px solid color-mix(in srgb, var(--tbp-192-line) 80%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-row:last-child,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-review-layout .tbp-summary-card > div:last-child { border-bottom: 0 !important; }
html body #tbp-booking-wrap.tbp-booking-v192 h2,
html body #tbp-booking-wrap.tbp-booking-v192 h3,
html body #tbp-booking-wrap.tbp-booking-v192 h4,
html body #tbp-booking-wrap.tbp-booking-v192 strong,
html body #tbp-booking-wrap.tbp-booking-v192 label,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-service-title,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-gateway-card > span {
  color: var(--tbp-192-text) !important;
  -webkit-text-fill-color: var(--tbp-192-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 p,
html body #tbp-booking-wrap.tbp-booking-v192 small,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-row span,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-empty,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-sidebar-portal-card p,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-gateway-card > small,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-times-head p,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-vehicle-help,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v192 .alert {
  color: var(--tbp-192-muted) !important;
  -webkit-text-fill-color: var(--tbp-192-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v192 [data-summary="total"] {
  color: color-mix(in srgb, var(--tbp-192-primary) 22%, #ffffff) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--tbp-192-primary) 22%, #ffffff) !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  letter-spacing: -.035em !important;
}
html body #tbp-booking-wrap.tbp-booking-v192.tbp-theme-clean_light .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v192.tbp-theme-clean_light [data-summary="total"] {
  color: var(--tbp-192-primary) !important;
  -webkit-text-fill-color: var(--tbp-192-primary) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-stepper {
  background: color-mix(in srgb, var(--tbp-192-secondary) 76%, rgba(255,255,255,.06)) !important;
  border: 1px solid var(--tbp-192-line) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-step {
  min-height: 76px !important;
  background: transparent !important;
  border-color: transparent !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-step span,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-service-icon,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-selected-check {
  background: linear-gradient(135deg, var(--tbp-192-primary), color-mix(in srgb, var(--tbp-192-primary) 44%, var(--tbp-192-accent))) !important;
  color: var(--tbp-192-button-text) !important;
  -webkit-text-fill-color: var(--tbp-192-button-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-step.is-complete,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-choice-toggle.is-active {
  background: color-mix(in srgb, var(--tbp-192-primary) 13%, rgba(255,255,255,.055)) !important;
  border-color: color-mix(in srgb, var(--tbp-192-primary) 36%, var(--tbp-192-line)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-addons-grid label,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-gateway-card {
  background: var(--tbp-192-surface-soft) !important;
  border: 1px solid var(--tbp-192-line) !important;
  border-radius: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-service-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-gateway-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-addons-grid label:has(input:checked) {
  transform: translateY(-1px) !important;
  border-color: color-mix(in srgb, var(--tbp-192-primary) 46%, var(--tbp-192-line)) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--tbp-192-card) 76%, rgba(255,255,255,.105) 24%), color-mix(in srgb, var(--tbp-192-secondary) 82%, rgba(255,255,255,.06) 18%)) !important;
  box-shadow: 0 18px 48px color-mix(in srgb, var(--tbp-192-primary) 12%, transparent), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v192 select,
html body #tbp-booking-wrap.tbp-booking-v192 textarea,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-time-slot,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-cal-next {
  background: var(--tbp-192-control) !important;
  border: 1px solid var(--tbp-192-line) !important;
  color: var(--tbp-192-text) !important;
  -webkit-text-fill-color: var(--tbp-192-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v192 textarea::placeholder { color: var(--tbp-192-faint) !important; opacity: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v192 input:focus,
html body #tbp-booking-wrap.tbp-booking-v192 select:focus,
html body #tbp-booking-wrap.tbp-booking-v192 textarea:focus {
  border-color: color-mix(in srgb, var(--tbp-192-primary) 58%, var(--tbp-192-line)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp-192-primary) 15%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-cal-date.active,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-time-slot.active,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-time-slot:hover,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-selection-next {
  background: linear-gradient(135deg, var(--tbp-192-primary), color-mix(in srgb, var(--tbp-192-primary) 46%, var(--tbp-192-accent))) !important;
  border-color: transparent !important;
  color: var(--tbp-192-button-text) !important;
  -webkit-text-fill-color: var(--tbp-192-button-text) !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--tbp-192-primary) 24%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-sidebar-portal-link {
  background: var(--tbp-192-surface-soft) !important;
  color: var(--tbp-192-text) !important;
  -webkit-text-fill-color: var(--tbp-192-text) !important;
  border-color: var(--tbp-192-line) !important;
}
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-selection-next,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v192 .tbp-sidebar-portal-link {
  min-height: 50px !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
}
@media (max-width: 980px) {
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v192.tbp-summary-left .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v192.tbp-summary-right .tbp-shell { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-panel { position: relative !important; top: auto !important; }
}
@media (max-width: 767px) {
  html body #tbp-booking-wrap.tbp-booking-v192 { width: calc(100vw - 18px) !important; max-width: calc(100vw - 18px) !important; padding: 10px !important; border-radius: 26px !important; }
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-main-hero,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-step-panel,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-summary-panel,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-vehicle-card,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-payment-card { padding: 16px !important; border-radius: 22px !important; }
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-stepper,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-date-time-layout,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-review-layout { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-actions,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-vrm-row { display: grid !important; grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-next,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-submit,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-back,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v192 .tbp-selection-next { width: 100% !important; }
}

/* v1.7.93: from-scratch enterprise SaaS booking form redesign.
   Clean, light, professional conversion UI that intentionally overrides all older dark/glass layers. */
html body #tbp-booking-wrap.tbp-booking-v193 {
  --tbp-193-primary: var(--tb-primary, #2563eb);
  --tbp-193-secondary: var(--tb-secondary, #0f172a);
  --tbp-193-accent: var(--tb-accent, #0ea5e9);
  --tbp-193-page: var(--tb-bg, #f4f7fb);
  --tbp-193-surface: #ffffff;
  --tbp-193-surface-2: #f8fafc;
  --tbp-193-surface-3: #f1f5f9;
  --tbp-193-ink: #101828;
  --tbp-193-ink-2: #344054;
  --tbp-193-muted: #667085;
  --tbp-193-faint: #98a2b3;
  --tbp-193-line: #d8e0eb;
  --tbp-193-line-soft: #edf1f6;
  --tbp-193-success: #16a34a;
  --tbp-193-danger: #dc2626;
  --tbp-193-radius: 24px;
  --tbp-193-radius-lg: 32px;
  --tbp-193-shadow: 0 24px 70px rgba(15, 23, 42, .10);
  --tbp-193-shadow-sm: 0 10px 28px rgba(15, 23, 42, .075);
  width: min(var(--tb-form-width, 1320px), calc(100vw - 32px)) !important;
  max-width: min(var(--tb-form-width, 1320px), calc(100vw - 32px)) !important;
  margin: clamp(18px, 3vw, 48px) auto !important;
  padding: clamp(14px, 1.8vw, 24px) !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: initial !important;
  font-family: var(--tb-font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  background:
    radial-gradient(circle at 3% 0%, color-mix(in srgb, var(--tbp-193-primary) 10%, transparent), transparent 34%),
    radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--tbp-193-accent) 11%, transparent), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, var(--tbp-193-page) 100%) !important;
  border: 1px solid rgba(216, 224, 235, .92) !important;
  border-radius: 34px !important;
  box-shadow: var(--tbp-193-shadow) !important;
  overflow: visible !important;
  isolation: isolate !important;
}

html body #tbp-booking-wrap.tbp-booking-v193,
html body #tbp-booking-wrap.tbp-booking-v193 * {
  box-sizing: border-box !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .d-none {
  display: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 > style {
  display: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(310px, var(--tb-sidebar-width, 372px)) !important;
  gap: clamp(18px, 2.1vw, 30px) !important;
  align-items: start !important;
  padding: 0 !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-left .tbp-shell {
  grid-template-columns: minmax(310px, var(--tb-sidebar-width, 372px)) minmax(0, 1fr) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-left .tbp-sidebar { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-left .tbp-main-panel { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-right .tbp-main-panel { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-right .tbp-sidebar { order: 2 !important; }

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-panel,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar-portal-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-step,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-choice-tabs,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-review-card,
html body #tbp-booking-wrap.tbp-booking-v193 .alert {
  background: var(--tbp-193-surface) !important;
  border: 1px solid var(--tbp-193-line) !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: initial !important;
  border-radius: var(--tbp-193-radius) !important;
  box-shadow: var(--tbp-193-shadow-sm) !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-panel {
  overflow: hidden !important;
  min-width: 0 !important;
  border-radius: var(--tbp-193-radius-lg) !important;
  box-shadow: 0 30px 85px rgba(15,23,42,.11) !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(28px, 3.5vw, 46px) !important;
  color: #ffffff !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--tbp-193-secondary) 94%, #1d4ed8 6%) 0%, #142033 62%, color-mix(in srgb, var(--tbp-193-primary) 44%, #111827 56%) 100%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -8% -42% 44% !important;
  height: 260px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, color-mix(in srgb, var(--tbp-193-accent) 32%, transparent), transparent 72%) !important;
  pointer-events: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-top,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-brand-block,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-head,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar-login-head,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-section-heading,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-choice-group-head,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-times-head,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-top {
  justify-content: space-between !important;
  margin-bottom: clamp(18px, 2vw, 26px) !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, var(--tbp-193-primary), color-mix(in srgb, var(--tbp-193-primary) 50%, var(--tbp-193-accent))) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--tbp-193-primary) 22%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-brand-logo,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-logo {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  object-fit: contain !important;
  border-radius: 15px !important;
  background: #ffffff !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  padding: 6px !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-copy,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-top,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-stepper {
  position: relative !important;
  z-index: 1 !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-brand-block span,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-copy > p:not(.tbp-kicker),
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step small {
  color: rgba(255,255,255,.72) !important;
  -webkit-text-fill-color: rgba(255,255,255,.72) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-brand-block strong,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 28px !important;
  width: fit-content !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-193-primary) 32%, rgba(255,255,255,.35)) !important;
  background: color-mix(in srgb, var(--tbp-193-primary) 13%, #ffffff) !important;
  color: color-mix(in srgb, var(--tbp-193-primary) 88%, #102a43) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--tbp-193-primary) 88%, #102a43) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero .tbp-kicker {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #dbeafe !important;
  -webkit-text-fill-color: #dbeafe !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-copy h2 {
  max-width: 840px !important;
  margin: 12px 0 12px !important;
  font-size: clamp(34px, 4.4vw, 62px) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
  font-weight: 900 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-copy > p:not(.tbp-kicker) {
  max-width: 760px !important;
  margin: 0 !important;
  font-size: clamp(15px, 1.4vw, 18px) !important;
  line-height: 1.7 !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar-portal-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.12) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar-portal-link {
  border-color: var(--tbp-193-line) !important;
  background: var(--tbp-193-surface-2) !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
}

/* Stepper: enterprise progress tracker */
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-stepper {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: clamp(22px, 2.6vw, 34px) !important;
  padding: 8px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.10) !important;
  backdrop-filter: blur(8px) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step {
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) !important;
  grid-template-areas: "num title" "num small" !important;
  column-gap: 10px !important;
  align-items: center !important;
  min-height: 68px !important;
  min-width: 0 !important;
  padding: 11px !important;
  border-radius: 16px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  text-align: left !important;
  color: rgba(255,255,255,.70) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step span {
  grid-area: num !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.13) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 900 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step strong {
  grid-area: title !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 13px !important;
  line-height: 1.12 !important;
  font-weight: 850 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step small {
  grid-area: small !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.is-active,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.is-complete {
  border-color: rgba(255,255,255,.26) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 32px rgba(15,23,42,.18) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.active strong,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.is-active strong,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.is-complete strong {
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.active small,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.is-active small,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.is-complete small {
  color: var(--tbp-193-muted) !important;
  -webkit-text-fill-color: var(--tbp-193-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.active span,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.is-active span,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step.is-complete span {
  background: linear-gradient(135deg, var(--tbp-193-primary), color-mix(in srgb, var(--tbp-193-primary) 55%, var(--tbp-193-accent))) !important;
}

/* Core content */
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-booking-form {
  display: block !important;
  padding: clamp(18px, 2vw, 28px) !important;
  background: var(--tbp-193-surface-2) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step-panel {
  padding: clamp(22px, 2.4vw, 34px) !important;
  margin: 0 !important;
  min-width: 0 !important;
  border-radius: 28px !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-section-heading {
  align-items: flex-start !important;
  justify-content: space-between !important;
  margin: 0 0 22px !important;
  flex-wrap: wrap !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-section-heading h3 {
  margin: 8px 0 7px !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  font-weight: 900 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-mini-heading p,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-help,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v193 .alert,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar-portal-card p,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-action-copy,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-empty {
  color: var(--tbp-193-muted) !important;
  -webkit-text-fill-color: var(--tbp-193-muted) !important;
  line-height: 1.58 !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-actions {
  padding: 16px !important;
  box-shadow: none !important;
  background: linear-gradient(180deg, #ffffff, #fbfcfe) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-booking-options-intro {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 16px !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-choice-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 6px !important;
  margin: 0 0 20px !important;
  border-radius: 18px !important;
  background: var(--tbp-193-surface-3) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-choice-toggle {
  width: 100% !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: var(--tbp-193-muted) !important;
  -webkit-text-fill-color: var(--tbp-193-muted) !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-choice-toggle.is-active {
  background: #ffffff !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
  border-color: var(--tbp-193-line) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.08) !important;
}

/* Premium service cards */
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-services-grid,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}
html body #tbp-booking-wrap.tbp-booking-v193.tbp-services-layout-list .tbp-services-grid:not(.tbp-packages-grid) {
  grid-template-columns: 1fr !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-grid label {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) 30px !important;
  grid-template-areas: "icon pill check" "icon title check" "icon desc desc" "icon meta meta" !important;
  column-gap: 14px !important;
  row-gap: 8px !important;
  align-items: start !important;
  min-height: 138px !important;
  padding: 18px !important;
  border: 1px solid var(--tbp-193-line) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: initial !important;
  box-shadow: 0 1px 1px rgba(15,23,42,.025), 0 10px 26px rgba(15,23,42,.055) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-grid label:hover,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-grid label:focus-within {
  transform: translateY(-2px) !important;
  border-color: color-mix(in srgb, var(--tbp-193-primary) 48%, var(--tbp-193-line)) !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.10) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card.is-selected,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card.selected,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-grid label:has(input:checked) {
  border-color: var(--tbp-193-primary) !important;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--tbp-193-primary) 16%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--tbp-193-primary) 38%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card input[type="radio"],
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card input[type="checkbox"],
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-grid label input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-top {
  grid-area: icon !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 54px !important;
  min-width: 54px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  font-size: 20px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-selected-check {
  grid-area: check !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid var(--tbp-193-line) !important;
  background: #ffffff !important;
  color: var(--tbp-193-faint) !important;
  -webkit-text-fill-color: var(--tbp-193-faint) !important;
  opacity: 1 !important;
  transform: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card:has(input:checked) .tbp-selected-check,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card.is-selected .tbp-selected-check,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card.selected .tbp-selected-check {
  border-color: transparent !important;
  background: var(--tbp-193-primary) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-type-pill {
  grid-area: pill !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-193-primary) 20%, var(--tbp-193-line)) !important;
  background: color-mix(in srgb, var(--tbp-193-primary) 8%, #ffffff) !important;
  color: color-mix(in srgb, var(--tbp-193-primary) 72%, #0f172a) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--tbp-193-primary) 72%, #0f172a) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-title {
  grid-area: title !important;
  margin: 0 !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: -.02em !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-desc {
  grid-area: desc !important;
  display: block !important;
  margin: 0 !important;
  font-size: 14px !important;
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-meta {
  grid-area: meta !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 6px 0 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-meta span,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-meta strong,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-booking-options-counts span,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-api-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 28px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  border: 1px solid var(--tbp-193-line-soft) !important;
  background: var(--tbp-193-surface-2) !important;
  color: var(--tbp-193-muted) !important;
  -webkit-text-fill-color: var(--tbp-193-muted) !important;
  font-size: 12px !important;
  font-weight: 760 !important;
}

/* Date/time, forms and payment */
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-date-time-layout,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-date-time-grid,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-review-layout,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-review-grid,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-details-grid,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-form-grid,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-form-grid-3,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-form-grid-4,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-manual-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-form-grid-3,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-manual-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-form-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-full,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-field.tbp-full { grid-column: 1 / -1 !important; }
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-review-card {
  padding: clamp(18px, 2vw, 26px) !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 label,
html body #tbp-booking-wrap.tbp-booking-v193 .form-label {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--tbp-193-ink-2) !important;
  -webkit-text-fill-color: var(--tbp-193-ink-2) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v193 select,
html body #tbp-booking-wrap.tbp-booking-v193 textarea,
html body #tbp-booking-wrap.tbp-booking-v193 .form-control {
  width: 100% !important;
  min-height: 52px !important;
  padding: 13px 15px !important;
  border-radius: 14px !important;
  border: 1px solid var(--tbp-193-line) !important;
  background: #ffffff !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
  box-shadow: 0 1px 0 rgba(15,23,42,.02) !important;
  outline: none !important;
  font-size: 15px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 textarea { min-height: 118px !important; }
html body #tbp-booking-wrap.tbp-booking-v193 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v193 textarea::placeholder {
  color: #98a2b3 !important;
  -webkit-text-fill-color: #98a2b3 !important;
  opacity: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 input:focus,
html body #tbp-booking-wrap.tbp-booking-v193 select:focus,
html body #tbp-booking-wrap.tbp-booking-v193 textarea:focus,
html body #tbp-booking-wrap.tbp-booking-v193 .form-control:focus {
  border-color: color-mix(in srgb, var(--tbp-193-primary) 60%, var(--tbp-193-line)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp-193-primary) 13%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v193 .tbp-calendar-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-calendar-header strong,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-times-head h4,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-header h4,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-payment-card h4,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-card h4 {
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
  margin: 0 !important;
  font-weight: 900 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-weekdays,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-calendar-days {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0,1fr)) !important;
  gap: 8px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-weekdays {
  margin-bottom: 8px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-weekdays span {
  color: var(--tbp-193-muted) !important;
  -webkit-text-fill-color: var(--tbp-193-muted) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  text-align: center !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-cal-next,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-time-slot {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  border-radius: 13px !important;
  border: 1px solid var(--tbp-193-line) !important;
  background: #ffffff !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
  box-shadow: none !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-cal-date.is-disabled,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-time-slot.disabled,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-time-slot:disabled {
  opacity: .42 !important;
  cursor: not-allowed !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-cal-date.has-slots {
  border-color: color-mix(in srgb, var(--tbp-193-primary) 34%, var(--tbp-193-line)) !important;
  background: color-mix(in srgb, var(--tbp-193-primary) 6%, #ffffff) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-cal-date.has-slots::after {
  background: var(--tbp-193-primary) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-cal-date.active,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-time-slot.active,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-time-slot:hover {
  border-color: transparent !important;
  background: var(--tbp-193-primary) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--tbp-193-primary) 22%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-time-slots {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(118px,1fr)) !important;
  gap: 10px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-empty {
  display: grid !important;
  place-items: center !important;
  min-height: 120px !important;
  padding: 18px !important;
  border: 1px dashed var(--tbp-193-line) !important;
  border-radius: 18px !important;
  background: var(--tbp-193-surface-2) !important;
  text-align: center !important;
}

/* Payment and gateway cards */
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-gateway-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 14px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-gateway-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 26px !important;
  grid-template-areas: "title check" "desc check" !important;
  gap: 4px 12px !important;
  align-items: center !important;
  min-height: 78px !important;
  padding: 16px 18px !important;
  border: 1px solid var(--tbp-193-line) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  color: var(--tbp-193-ink) !important;
  cursor: pointer !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-gateway-card input { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-gateway-card > span {
  grid-area: title !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-gateway-card > small {
  grid-area: desc !important;
  color: var(--tbp-193-muted) !important;
  -webkit-text-fill-color: var(--tbp-193-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-gateway-card::after {
  content: "" !important;
  grid-area: check !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  border: 1px solid var(--tbp-193-line) !important;
  background: #ffffff !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-gateway-card:has(input:checked) {
  border-color: var(--tbp-193-primary) !important;
  box-shadow: 0 12px 32px color-mix(in srgb, var(--tbp-193-primary) 13%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-gateway-card:has(input:checked)::after {
  background: radial-gradient(circle at center, #ffffff 0 30%, var(--tbp-193-primary) 32% 100%) !important;
  border-color: var(--tbp-193-primary) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-terms {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-top: 14px !important;
  padding: 14px !important;
  border-radius: 16px !important;
  background: var(--tbp-193-surface-2) !important;
  border: 1px solid var(--tbp-193-line-soft) !important;
}

/* Summary: readable enterprise checkout rail */
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar {
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-sticky .tbp-sidebar,
html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-sticky .tbp-summary-panel {
  position: sticky !important;
  top: 24px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-panel {
  padding: clamp(18px, 1.8vw, 24px) !important;
  border-radius: var(--tbp-193-radius-lg) !important;
  background: #ffffff !important;
  box-shadow: 0 26px 70px rgba(15,23,42,.12) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-head {
  margin-bottom: 16px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-head span,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-row span {
  color: var(--tbp-193-muted) !important;
  -webkit-text-fill-color: var(--tbp-193-muted) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-head strong,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-row strong,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-addon-list {
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar-portal-card {
  margin-top: 14px !important;
  padding: 16px !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-card-main {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-row,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-review-layout .tbp-summary-card > div {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid var(--tbp-193-line-soft) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-row-stack,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-row-stack strong,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-row-stack .tbp-summary-addon-list {
  display: grid !important;
  justify-items: stretch !important;
  text-align: left !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-row:last-child,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-review-layout .tbp-summary-card > div:last-child {
  border-bottom: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-total {
  margin-top: 8px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid color-mix(in srgb, var(--tbp-193-primary) 24%, var(--tbp-193-line)) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--tbp-193-primary) 8%, #ffffff), #ffffff) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v193 [data-summary="total"] {
  color: var(--tbp-193-primary) !important;
  -webkit-text-fill-color: var(--tbp-193-primary) !important;
  font-size: 22px !important;
  font-weight: 950 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-support {
  display: grid !important;
  gap: 10px !important;
  background: var(--tbp-193-surface-2) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-support-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--tbp-193-ink-2) !important;
  -webkit-text-fill-color: var(--tbp-193-ink-2) !important;
  font-weight: 760 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-support-item i,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar-login-head i,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-times-head > i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 13px !important;
  background: color-mix(in srgb, var(--tbp-193-primary) 9%, #ffffff) !important;
  color: var(--tbp-193-primary) !important;
  -webkit-text-fill-color: var(--tbp-193-primary) !important;
}

/* Buttons */
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 18px 0 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-action-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .btn,
html body #tbp-booking-wrap.tbp-booking-v193 button,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-selection-next {
  appearance: none !important;
  text-decoration: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-selection-next {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 50px !important;
  padding: 0 18px !important;
  border-radius: 14px !important;
  font-size: var(--tb-button-text-size, 14px) !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  border: 1px solid var(--tbp-193-line) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-selection-next {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--tbp-193-primary), color-mix(in srgb, var(--tbp-193-primary) 60%, var(--tbp-193-accent))) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--tbp-193-primary) 22%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v193 .tbp-back {
  background: #ffffff !important;
  color: var(--tbp-193-ink) !important;
  -webkit-text-fill-color: var(--tbp-193-ink) !important;
}

@media (max-width: 1120px) {
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-left .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-right .tbp-shell {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-panel,
  html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-sticky .tbp-sidebar,
  html body #tbp-booking-wrap.tbp-booking-v193.tbp-summary-sticky .tbp-summary-panel {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 767px) {
  html body #tbp-booking-wrap.tbp-booking-v193 {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    padding: 9px !important;
    border-radius: 26px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero {
    padding: 22px 18px !important;
    border-radius: 20px 20px 0 0 !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-copy h2 {
    font-size: clamp(30px, 10vw, 44px) !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-main-hero-top,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-section-heading,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-actions,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-stepper,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-choice-tabs,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-date-time-layout,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-date-time-grid,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-review-layout,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-review-grid,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-details-grid,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-form-grid-3,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-form-grid-4,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-manual-grid,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vrm-row {
    grid-template-columns: 1fr !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step {
    min-height: 56px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step small {
    display: none !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-booking-form {
    padding: 12px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-step-panel,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vehicle-card,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-payment-card,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-panel {
    padding: 16px !important;
    border-radius: 20px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-card,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-addons-grid label {
    grid-template-columns: 48px minmax(0, 1fr) 28px !important;
    column-gap: 12px !important;
    padding: 16px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-top { width: 48px !important; min-width: 48px !important; }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-service-icon { width: 44px !important; height: 44px !important; min-width: 44px !important; }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-action-buttons,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-next,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-submit,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-back,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-selection-next,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-account-link,
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-sidebar-portal-link {
    width: 100% !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v193 .tbp-summary-panel {
    display: none !important;
  }
}


/* v1.7.94: premium booking form rebuild over v1.7.93.
   Balanced enterprise layout: calm workspace, dark summary rail, crisp cards, restrained accents. */
html body #tbp-booking-wrap.tbp-booking-v194 {
  --tbp94-primary: var(--tb-primary, #3157d5);
  --tbp94-secondary: var(--tb-secondary, #111827);
  --tbp94-accent: var(--tb-accent, #0f766e);
  --tbp94-bg: color-mix(in srgb, var(--tb-bg, #eef2f7) 88%, #ffffff 12%);
  --tbp94-card: #ffffff;
  --tbp94-border: color-mix(in srgb, var(--tb-border, #d0d7e2) 88%, #101828 12%);
  --tbp94-text: #101828;
  --tbp94-muted: #667085;
  --tbp94-faint: #98a2b3;
  --tbp94-soft: #f8fafc;
  --tbp94-soft-2: #f2f4f7;
  --tbp94-shadow: 0 24px 70px rgba(16, 24, 40, .12);
  --tbp94-card-shadow: 0 14px 34px rgba(16, 24, 40, .075);
  width: min(var(--tb-form-width, 1240px), calc(100vw - 28px)) !important;
  max-width: min(var(--tb-form-width, 1240px), calc(100vw - 28px)) !important;
  margin: clamp(20px, 4vw, 58px) auto !important;
  padding: clamp(14px, 1.4vw, 20px) !important;
  border: 1px solid rgba(208, 215, 226, .85) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.78)),
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--tbp94-primary) 12%, transparent), transparent 32%),
    var(--tbp94-bg) !important;
  box-shadow: var(--tbp94-shadow) !important;
  color: var(--tbp94-text) !important;
  font-family: var(--tb-font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  overflow: visible !important;
  isolation: isolate !important;
}

html body #tbp-booking-wrap.tbp-booking-v194,
html body #tbp-booking-wrap.tbp-booking-v194 * { box-sizing: border-box !important; }
html body #tbp-booking-wrap.tbp-booking-v194 > style { display: none !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .d-none { display: none !important; }

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 366px) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-left .tbp-shell { grid-template-columns: minmax(310px, 366px) minmax(0, 1fr) !important; }
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-left .tbp-sidebar { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-left .tbp-main-panel { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-right .tbp-main-panel { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-right .tbp-sidebar { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-bottom .tbp-shell { grid-template-columns: 1fr !important; }
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-bottom .tbp-sidebar { order: 3 !important; }
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-hidden .tbp-sidebar { display: none !important; }
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-hidden .tbp-shell { grid-template-columns: 1fr !important; }

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-panel {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero {
  position: relative !important;
  margin: 0 0 18px !important;
  padding: clamp(28px, 3vw, 42px) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--tbp94-secondary) 96%, #000 4%), color-mix(in srgb, var(--tbp94-secondary) 78%, var(--tbp94-primary) 22%)) !important;
  box-shadow: 0 18px 45px rgba(16,24,40,.18) !important;
  overflow: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -12% -48% auto !important;
  width: 360px !important;
  height: 360px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--tbp94-primary) 36%, transparent) !important;
  filter: blur(42px) !important;
  pointer-events: none !important;
  opacity: .42 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero > * { position: relative !important; z-index: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero-top,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-brand-block,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-head,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-sidebar-login-head,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-times-head,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-header,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-support-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-brand-block strong,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero h2 {
  color: #fff !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-brand-block span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero-copy > p:not(.tbp-kicker) {
  color: rgba(255,255,255,.74) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero-copy h2 {
  max-width: 780px !important;
  margin: 14px 0 12px !important;
  font-size: clamp(30px, 3.6vw, 50px) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero-copy > p:not(.tbp-kicker) {
  max-width: 720px !important;
  font-size: clamp(15px, 1.25vw, 17px) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-icon,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selected-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  line-height: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-brand-logo {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-logo {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
  object-fit: cover !important;
  border: 1px solid rgba(255,255,255,.15) !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-kicker {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 28px !important;
  gap: 8px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  color: color-mix(in srgb, var(--tbp94-primary) 76%, #fff 24%) !important;
  background: color-mix(in srgb, var(--tbp94-primary) 10%, #fff 90%) !important;
  border: 1px solid color-mix(in srgb, var(--tbp94-primary) 20%, #d0d5dd 80%) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .11em !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero .tbp-kicker {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.18) !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-stepper {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 28px 0 0 !important;
  padding: 8px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step {
  display: grid !important;
  grid-template-columns: 32px minmax(0,1fr) !important;
  grid-template-areas: "num title" "num text" !important;
  gap: 2px 10px !important;
  align-items: center !important;
  min-height: 60px !important;
  padding: 10px !important;
  border-radius: 14px !important;
  color: rgba(255,255,255,.68) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-align: left !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step span {
  grid-area: num !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 10px !important;
  color: rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.11) !important;
  font-weight: 900 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step strong {
  grid-area: title !important;
  color: inherit !important;
  font-size: 12px !important;
  line-height: 1.16 !important;
  font-weight: 850 !important;
  white-space: normal !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step small {
  grid-area: text !important;
  margin: 0 !important;
  color: rgba(255,255,255,.48) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step.is-active,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step.is-complete {
  color: #fff !important;
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.19) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step.active span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step.is-active span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step.is-complete span {
  background: #fff !important;
  color: var(--tbp94-secondary) !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-booking-form {
  display: grid !important;
  gap: 18px !important;
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-actions,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-review-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-step {
  background: var(--tbp94-card) !important;
  border: 1px solid color-mix(in srgb, var(--tbp94-border) 88%, #fff 12%) !important;
  border-radius: 22px !important;
  box-shadow: var(--tbp94-card-shadow) !important;
  color: var(--tbp94-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step-panel {
  padding: clamp(22px, 2.4vw, 34px) !important;
  margin: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-section-heading {
  display: grid !important;
  align-items: start !important;
  gap: 8px !important;
  margin: 0 0 22px !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-section-heading h3 {
  margin: 0 !important;
  color: var(--tbp94-text) !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.03em !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-mini-heading p,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-help,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v194 .alert,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-action-copy,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-empty {
  color: var(--tbp94-muted) !important;
  line-height: 1.58 !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 18px !important;
  background: linear-gradient(180deg, #fff, #f9fafb) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-booking-options-intro { margin: 0 0 18px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-booking-options-counts,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-booking-options-counts { justify-content: flex-end !important; }

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-choice-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
  padding: 6px !important;
  margin: 0 0 18px !important;
  border-radius: 16px !important;
  background: var(--tbp94-soft-2) !important;
  border: 1px solid color-mix(in srgb, var(--tbp94-border) 78%, #fff 22%) !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-choice-toggle {
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--tbp94-muted) !important;
  font-weight: 850 !important;
  font-size: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-choice-toggle.is-active {
  background: #fff !important;
  color: var(--tbp94-text) !important;
  box-shadow: 0 8px 18px rgba(16,24,40,.08) !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-services-grid,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)) !important;
  gap: 14px !important;
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194.tbp-services-layout-list .tbp-services-grid:not(.tbp-packages-grid) { grid-template-columns: 1fr !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-grid label,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-card {
  position: relative !important;
  display: grid !important;
  min-width: 0 !important;
  border-radius: 18px !important;
  border: 1px solid color-mix(in srgb, var(--tbp94-border) 88%, #fff 12%) !important;
  background: #fff !important;
  box-shadow: 0 10px 22px rgba(16,24,40,.055) !important;
  color: var(--tbp94-text) !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-grid label { padding: 18px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-grid label:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-grid label:focus-within,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-card:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-card:focus-within {
  transform: translateY(-1px) !important;
  border-color: color-mix(in srgb, var(--tbp94-primary) 35%, var(--tbp94-border) 65%) !important;
  box-shadow: 0 16px 34px rgba(16,24,40,.09) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card.is-selected,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card.selected,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-grid label:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--tbp94-primary) 52%, var(--tbp94-border) 48%) !important;
  background: color-mix(in srgb, var(--tbp94-primary) 4%, #ffffff 96%) !important;
  box-shadow: 0 18px 42px color-mix(in srgb, var(--tbp94-primary) 12%, transparent), inset 4px 0 0 var(--tbp94-primary) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card input[type="radio"],
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card input[type="checkbox"],
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-grid label input[type="checkbox"] { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-top { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 12px !important; min-width: 0 !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--svc-color, var(--tbp94-primary)) 11%, #fff 89%) !important;
  color: color-mix(in srgb, var(--svc-color, var(--tbp94-primary)) 78%, #101828 22%) !important;
  border: 1px solid color-mix(in srgb, var(--svc-color, var(--tbp94-primary)) 18%, var(--tbp94-border) 82%) !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selected-check {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  position: static !important;
  margin: 0 !important;
  border-radius: 999px !important;
  color: transparent !important;
  background: #fff !important;
  border: 1px solid var(--tbp94-border) !important;
  opacity: 1 !important;
  transform: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card:has(input:checked) .tbp-selected-check,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card.is-selected .tbp-selected-check,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-card.selected .tbp-selected-check {
  background: var(--tbp94-primary) !important;
  border-color: var(--tbp94-primary) !important;
  color: #fff !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-title {
  margin: 14px 0 7px !important;
  color: var(--tbp94-text) !important;
  font-weight: 850 !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-desc { margin: 0 0 14px !important; font-size: 14px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-type-pill,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-meta span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-service-meta strong,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-booking-options-counts span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-api-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 28px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--tbp94-border) 82%, #fff 18%) !important;
  background: var(--tbp94-soft) !important;
  color: #475467 !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-date-time-layout,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-date-time-grid,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-review-layout,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-review-grid,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-details-grid,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-form-grid,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-form-grid-3,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-form-grid-4,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-manual-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  min-width: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-form-grid-3,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-manual-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-form-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-full,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-field.tbp-full { grid-column: 1 / -1 !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-review-card { padding: 20px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 label,
html body #tbp-booking-wrap.tbp-booking-v194 .form-label {
  color: #344054 !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  line-height: 1.3 !important;
  margin: 0 0 7px !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v194 select,
html body #tbp-booking-wrap.tbp-booking-v194 textarea,
html body #tbp-booking-wrap.tbp-booking-v194 .form-control {
  width: 100% !important;
  min-height: 50px !important;
  padding: 12px 14px !important;
  border-radius: 13px !important;
  border: 1px solid var(--tbp94-border) !important;
  background: #fff !important;
  color: var(--tbp94-text) !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.04) !important;
  outline: none !important;
  font-size: 15px !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 textarea { min-height: 118px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v194 textarea::placeholder { color: var(--tbp94-faint) !important; opacity: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v194 input:focus,
html body #tbp-booking-wrap.tbp-booking-v194 select:focus,
html body #tbp-booking-wrap.tbp-booking-v194 textarea:focus,
html body #tbp-booking-wrap.tbp-booking-v194 .form-control:focus {
  border-color: color-mix(in srgb, var(--tbp94-primary) 60%, var(--tbp94-border) 40%) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp94-primary) 13%, transparent) !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-calendar-header,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-times-head,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-header { margin-bottom: 16px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-calendar-header strong,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-times-head h4,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-header h4,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-payment-card h4,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-review-card h4,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-card h4 {
  color: var(--tbp94-text) !important;
  font-weight: 850 !important;
  letter-spacing: -.015em !important;
  margin: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-weekdays {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0,1fr)) !important;
  gap: 7px !important;
  margin-bottom: 8px !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-weekdays span {
  color: var(--tbp94-muted) !important;
  font-size: 11px !important;
  font-weight: 820 !important;
  text-align: center !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-calendar-days {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0,1fr)) !important;
  gap: 7px !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-next,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-time-slot {
  border-radius: 12px !important;
  border: 1px solid var(--tbp94-border) !important;
  background: #fff !important;
  color: #344054 !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.04) !important;
  font-weight: 780 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-next { width: 40px !important; min-height: 40px !important; padding: 0 !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-date { min-height: 44px !important; padding: 6px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-date.has-slots {
  background: color-mix(in srgb, var(--tbp94-primary) 5%, #fff 95%) !important;
  color: var(--tbp94-primary) !important;
  border-color: color-mix(in srgb, var(--tbp94-primary) 28%, var(--tbp94-border) 72%) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-date.has-slots::after { background: var(--tbp94-primary) !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-date.active,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-time-slot.active,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-time-slot:hover {
  color: #fff !important;
  background: var(--tbp94-primary) !important;
  border-color: var(--tbp94-primary) !important;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--tbp94-primary) 22%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-time-slots {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(112px,1fr)) !important;
  gap: 10px !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-time-slot { min-height: 46px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-empty {
  display: grid !important;
  place-items: center !important;
  min-height: 110px !important;
  padding: 18px !important;
  text-align: center !important;
  border-radius: 16px !important;
  background: var(--tbp94-soft) !important;
  border: 1px dashed var(--tbp94-border) !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-list { display: grid !important; gap: 12px !important; margin-top: 14px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-card {
  grid-template-columns: 1fr auto !important;
  grid-template-areas: "title check" "desc check" !important;
  gap: 4px 12px !important;
  align-items: center !important;
  min-height: 76px !important;
  padding: 15px 16px !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-card input[type="radio"] { grid-area: check !important; width: 18px !important; height: 18px !important; accent-color: var(--tbp94-primary) !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-card > span { grid-area: title !important; color: var(--tbp94-text) !important; font-weight: 820 !important; display: inline-flex !important; align-items: center !important; gap: 10px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-gateway-card > small { grid-area: desc !important; color: var(--tbp94-muted) !important; }

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-actions { margin-top: 0 !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-action-buttons { display: flex !important; align-items: center !important; justify-content: flex-end !important; flex-wrap: wrap !important; gap: 10px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selection-next,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-sidebar-portal-link,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-next {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 13px !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border: 1px solid transparent !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selection-next {
  color: var(--tb-btn-text, #fff) !important;
  background: var(--tbp94-primary) !important;
  border-color: var(--tbp94-primary) !important;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--tbp94-primary) 24%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-next:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-submit:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vrm-lookup:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selection-next:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-back:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-account-link:hover,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-sidebar-portal-link:hover { transform: translateY(-1px) !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-sidebar-portal-link {
  color: #344054 !important;
  background: #fff !important;
  border-color: var(--tbp94-border) !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.04) !important;
}

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-panel {
  position: sticky !important;
  top: 22px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  border: 1px solid color-mix(in srgb, var(--tbp94-secondary) 82%, #fff 18%) !important;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--tbp94-primary) 20%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--tbp94-secondary) 96%, #000 4%), color-mix(in srgb, var(--tbp94-secondary) 84%, #000 16%)) !important;
  color: #fff !important;
  box-shadow: 0 24px 60px rgba(16,24,40,.18) !important;
  overflow: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-static .tbp-summary-panel { position: relative !important; top: auto !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-head { margin-bottom: 18px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-head strong,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-card strong,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-panel h4 { color: #fff !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-head span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-card span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-support-item span,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-empty { color: rgba(255,255,255,.64) !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-sidebar-portal-card {
  padding: 16px !important;
  margin-top: 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-row,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-card > div {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-row-stack { display: grid !important; grid-template-columns: 1fr !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-row:last-child,
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-card > div:last-child { border-bottom: 0 !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-total { margin-top: 4px !important; padding-top: 14px !important; border-top: 1px solid rgba(255,255,255,.14) !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v194 [data-summary="total"] { font-size: 20px !important; color: #fff !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-support { display: grid !important; gap: 10px !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-support-item { justify-content: flex-start !important; color: #fff !important; }
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-sidebar-portal-link { width: 100% !important; background: #fff !important; color: var(--tbp94-secondary) !important; border-color: transparent !important; }

html body #tbp-booking-wrap.tbp-booking-v194 .tbp-terms {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-top: 14px !important;
  padding: 14px !important;
  border-radius: 14px !important;
  background: var(--tbp94-soft) !important;
  border: 1px solid var(--tbp94-border) !important;
  color: #475467 !important;
}
html body #tbp-booking-wrap.tbp-booking-v194 .tbp-terms a { color: var(--tbp94-primary) !important; font-weight: 800 !important; }

@media (max-width: 1024px) {
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-left .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v194.tbp-summary-right .tbp-shell { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-sidebar { order: 3 !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-panel { position: relative !important; top: auto !important; }
}

@media (max-width: 767px) {
  html body #tbp-booking-wrap.tbp-booking-v194 {
    width: min(var(--tb-form-width, 1240px), calc(100vw - 18px)) !important;
    max-width: min(var(--tb-form-width, 1240px), calc(100vw - 18px)) !important;
    margin: 12px auto !important;
    padding: 9px !important;
    border-radius: 22px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero { padding: 20px !important; border-radius: 18px !important; margin-bottom: 12px !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-main-hero-copy h2 { font-size: clamp(26px, 8vw, 34px) !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-stepper { grid-template-columns: 1fr !important; gap: 6px !important; margin-top: 20px !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step { min-height: 50px !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step:not(.active):not(.is-active):not(.is-complete) { display: none !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-step-panel { padding: 16px !important; border-radius: 18px !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-section-heading { margin-bottom: 16px !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-choice-tabs,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-services-grid,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-packages-grid,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-addons-grid,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-date-time-layout,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-date-time-grid,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-review-layout,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-review-grid,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-details-grid,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-form-grid-3,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-form-grid-4,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-manual-grid { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selection-continue,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-actions,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vrm-row { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-action-buttons,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-next,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-submit,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-back,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-selection-next,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-account-link,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-sidebar-portal-link { width: 100% !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-summary-panel { display: none !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-vehicle-card,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-payment-card,
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-review-card { padding: 16px !important; border-radius: 16px !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-calendar-days { gap: 5px !important; }
  html body #tbp-booking-wrap.tbp-booking-v194 .tbp-cal-date { min-height: 40px !important; border-radius: 10px !important; }
}


/* v1.7.95 professional booking form rebuild - single consistent design, no presets */
html body #tbp-booking-wrap.tbp-booking-v195 {
  --tbp195-primary: var(--tb-primary, #2563eb);
  --tbp195-secondary: var(--tb-secondary, #111827);
  --tbp195-accent: var(--tb-accent, #0f766e);
  --tbp195-page: #f5f7fb;
  --tbp195-surface: #ffffff;
  --tbp195-surface-soft: #f8fafc;
  --tbp195-border: #d8e0ec;
  --tbp195-border-strong: #c9d3e2;
  --tbp195-text: #101828;
  --tbp195-muted: #667085;
  --tbp195-muted-2: #475467;
  --tbp195-dark: #101828;
  --tbp195-dark-2: #182230;
  --tbp195-dark-muted: #cbd5e1;
  --tbp195-radius: clamp(18px, var(--tb-panel-radius, 26px), 34px);
  width: min(var(--tb-form-width, 1280px), calc(100vw - 32px)) !important;
  max-width: min(var(--tb-form-width, 1280px), calc(100vw - 32px)) !important;
  margin: clamp(20px, 4vw, 48px) auto !important;
  padding: clamp(14px, 1.6vw, 22px) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.78)),
    radial-gradient(circle at 12% 4%, color-mix(in srgb, var(--tbp195-primary) 10%, transparent), transparent 30%),
    radial-gradient(circle at 94% 14%, color-mix(in srgb, var(--tbp195-accent) 10%, transparent), transparent 28%),
    var(--tbp195-page) !important;
  border: 1px solid rgba(216, 224, 236, .95) !important;
  border-radius: calc(var(--tbp195-radius) + 8px) !important;
  box-shadow: 0 24px 70px rgba(16, 24, 40, .11) !important;
  color: var(--tbp195-text) !important;
  font-family: var(--tb-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  isolation: isolate !important;
}

html body #tbp-booking-wrap.tbp-booking-v195,
html body #tbp-booking-wrap.tbp-booking-v195 * { box-sizing: border-box !important; }
html body #tbp-booking-wrap.tbp-booking-v195 > style { display: none !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .d-none { display: none !important; }

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, var(--tb-sidebar-width, 360px)) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  align-items: start !important;
}
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-left .tbp-shell { grid-template-columns: minmax(300px, var(--tb-sidebar-width, 360px)) minmax(0, 1fr) !important; }
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-left .tbp-sidebar { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-left .tbp-main-panel { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-right .tbp-main-panel { order: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-right .tbp-sidebar { order: 2 !important; }
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-bottom .tbp-shell { grid-template-columns: 1fr !important; }
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-bottom .tbp-sidebar { order: 3 !important; }
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-hidden .tbp-sidebar { display: none !important; }
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-hidden .tbp-shell { grid-template-columns: 1fr !important; }

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-review-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-addons-step,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-actions {
  background: var(--tbp195-surface) !important;
  border: 1px solid var(--tbp195-border) !important;
  border-radius: var(--tbp195-radius) !important;
  box-shadow: 0 14px 36px rgba(16, 24, 40, .06) !important;
  color: var(--tbp195-text) !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-panel {
  overflow: hidden !important;
  min-width: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero {
  margin: 0 !important;
  padding: clamp(26px, 3.2vw, 44px) !important;
  border-radius: var(--tbp195-radius) var(--tbp195-radius) 0 0 !important;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--tbp195-primary) 24%, transparent), transparent 30%),
    linear-gradient(135deg, #101828, #162033 58%, #0b1220) !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -12% -38% 52% !important;
  height: 220px !important;
  background: radial-gradient(circle, color-mix(in srgb, var(--tbp195-accent) 22%, transparent), transparent 66%) !important;
  pointer-events: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero > * { position: relative !important; z-index: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero-top,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-brand-block,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-head,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar-login-head,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-times-head,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-header,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-support-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero-top { justify-content: space-between !important; margin-bottom: 24px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-brand-block strong,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero h2 { color: #fff !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-brand-block span,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero-copy > p:not(.tbp-kicker) { color: #d6e0ef !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero-copy h2 {
  margin: 8px 0 12px !important;
  max-width: 780px !important;
  font-size: clamp(30px, 4.4vw, 54px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero-copy > p:not(.tbp-kicker) {
  max-width: 680px !important;
  font-size: clamp(15px, 1.55vw, 18px) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-icon,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step span,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-selected-check {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  background: linear-gradient(135deg, var(--tbp195-primary), color-mix(in srgb, var(--tbp195-primary) 68%, var(--tbp195-accent))) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--tbp195-primary) 18%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-brand-logo { width: 48px !important; height: 48px !important; border-radius: 16px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-icon { width: 44px !important; height: 44px !important; border-radius: 14px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-logo { width: 42px !important; height: 42px !important; border-radius: 14px !important; object-fit: cover !important; }

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.08) !important;
  color: #e9f0fb !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-stepper {
  margin: 0 !important;
  padding: 14px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 10px !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--tbp195-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 10px !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--tbp195-muted) !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step span {
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  background: #eef2f7 !important;
  color: #475467 !important;
  box-shadow: none !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step strong {
  color: var(--tbp195-text) !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step small {
  display: block !important;
  color: var(--tbp195-muted) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin-top: 2px !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step.is-active,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step.is-complete {
  background: color-mix(in srgb, var(--tbp195-primary) 8%, #fff) !important;
  border-color: color-mix(in srgb, var(--tbp195-primary) 24%, #e2e8f0) !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step.active span,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step.is-active span,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step.is-complete span {
  background: var(--tbp195-primary) !important;
  color: #fff !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-booking-form { padding: clamp(18px, 2vw, 28px) !important; display: grid !important; gap: 18px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step-panel { padding: clamp(20px, 2.2vw, 30px) !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-section-heading { display: grid !important; gap: 6px !important; margin: 0 0 18px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-section-heading h3 {
  margin: 0 !important;
  color: var(--tbp195-text) !important;
  font-size: clamp(24px, 2.3vw, 34px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
  font-weight: 850 !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-section-heading p,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-mini-heading p,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-desc,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-help,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v195 .alert,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-action-copy,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-empty {
  color: var(--tbp195-muted) !important;
  line-height: 1.55 !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-actions {
  padding: clamp(16px, 1.7vw, 22px) !important;
  background: var(--tbp195-surface-soft) !important;
  box-shadow: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-services-list,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-packages-grid,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-addons-grid { gap: 14px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-addons-grid label,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-gateway-card {
  min-width: 0 !important;
  padding: 18px !important;
  border: 1px solid var(--tbp195-border) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  color: var(--tbp195-text) !important;
  box-shadow: 0 10px 24px rgba(16,24,40,.045) !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-addons-grid label:hover,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-gateway-card:hover,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-gateway-card:focus-within {
  transform: translateY(-1px) !important;
  border-color: color-mix(in srgb, var(--tbp195-primary) 38%, var(--tbp195-border)) !important;
  box-shadow: 0 16px 36px rgba(16,24,40,.08) !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-addons-grid label:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-gateway-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--tbp195-primary) 58%, var(--tbp195-border)) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--tbp195-primary) 5%, #fff), #fff) !important;
  box-shadow: 0 18px 42px color-mix(in srgb, var(--tbp195-primary) 12%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-title-row,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-main { align-items: flex-start !important; gap: 14px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-card h4,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-card strong,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-payment-card h4,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-times-head h4,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-header h4,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-review-layout h4 {
  color: var(--tbp195-text) !important;
  font-weight: 820 !important;
  letter-spacing: -.01em !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-meta span,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-service-meta strong,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-api-badge,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-terms {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--tbp195-border) !important;
  background: var(--tbp195-surface-soft) !important;
  color: var(--tbp195-muted-2) !important;
  border-radius: 999px !important;
  font-weight: 760 !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-date-time-layout,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-review-layout,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-form-grid,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-form-grid-3,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-form-grid-4,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-manual-grid { gap: 16px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-review-card { padding: clamp(18px, 1.9vw, 26px) !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-calendar-header,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-times-head,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-header { margin-bottom: 16px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-weekdays span { color: var(--tbp195-muted) !important; font-weight: 780 !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-cal-next,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-time-slot,
html body #tbp-booking-wrap.tbp-booking-v195 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v195 select,
html body #tbp-booking-wrap.tbp-booking-v195 textarea {
  background: #fff !important;
  border: 1px solid var(--tbp195-border) !important;
  color: var(--tbp195-text) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v195 select,
html body #tbp-booking-wrap.tbp-booking-v195 textarea { min-height: 48px !important; padding: 11px 13px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v195 textarea::placeholder { color: #98a2b3 !important; opacity: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v195 input:focus,
html body #tbp-booking-wrap.tbp-booking-v195 select:focus,
html body #tbp-booking-wrap.tbp-booking-v195 textarea:focus,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-cal-date:focus,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-time-slot:focus {
  outline: none !important;
  border-color: color-mix(in srgb, var(--tbp195-primary) 62%, var(--tbp195-border)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp195-primary) 13%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-time-slot {
  min-height: 46px !important;
  font-weight: 760 !important;
  color: var(--tbp195-text) !important;
  background: var(--tbp195-surface-soft) !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-cal-date.active,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-time-slot.active,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-time-slot:hover {
  background: var(--tbp195-primary) !important;
  border-color: var(--tbp195-primary) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--tbp195-primary) 18%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-addons-empty {
  min-height: 112px !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  background: var(--tbp195-surface-soft) !important;
  border: 1px dashed var(--tbp195-border-strong) !important;
  border-radius: 18px !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar { min-width: 0 !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-panel {
  position: sticky !important;
  top: 22px !important;
  padding: 20px !important;
  border-radius: var(--tbp195-radius) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp195-primary) 16%, transparent), transparent 36%),
    linear-gradient(180deg, var(--tbp195-dark), #0b1220) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  color: #fff !important;
  box-shadow: 0 22px 58px rgba(16, 24, 40, .22) !important;
  overflow: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-static .tbp-summary-panel { position: relative !important; top: auto !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-head { margin-bottom: 16px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-head span,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-card span,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar-portal-card p { color: var(--tbp195-dark-muted) !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-head strong,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-card strong,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar-login-head strong { color: #fff !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar-portal-card {
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-card { padding: 8px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-row {
  padding: 12px !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  gap: 10px !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-row:last-child { border-bottom: 0 !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-total {
  margin: 4px !important;
  padding: 14px !important;
  background: rgba(255,255,255,.08) !important;
  border-radius: 17px !important;
  border-bottom: 0 !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v195 [data-summary="total"] { color: #fff !important; font-size: 24px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-support { display: grid !important; gap: 10px !important; padding: 14px !important; margin-top: 14px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-support-item i { color: color-mix(in srgb, var(--tbp195-accent) 72%, #fff) !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar-portal-card { margin-top: 14px !important; padding: 16px !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar-portal-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: #fff !important;
  color: var(--tbp195-dark) !important;
  font-weight: 820 !important;
  text-decoration: none !important;
}

html body #tbp-booking-wrap.tbp-booking-v195 .tbp-actions {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 14px !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-action-buttons { display: flex !important; justify-content: flex-end !important; gap: 10px !important; flex-wrap: wrap !important; }
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-selection-next {
  min-height: 48px !important;
  padding: 0 20px !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  background: var(--tbp195-primary) !important;
  color: var(--tb-btn-text, #fff) !important;
  font-weight: 820 !important;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--tbp195-primary) 18%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-choice-toggle {
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 14px !important;
  border: 1px solid var(--tbp195-border) !important;
  background: #fff !important;
  color: var(--tbp195-text) !important;
  font-weight: 780 !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-next:hover,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-submit:hover,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vrm-lookup:hover,
html body #tbp-booking-wrap.tbp-booking-v195 .tbp-selection-next:hover { filter: brightness(.96) !important; transform: translateY(-1px) !important; }

@media (max-width: 1024px) {
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v195.tbp-summary-left .tbp-shell { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar { order: 3 !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-summary-panel { position: relative !important; top: auto !important; }
}

@media (max-width: 767px) {
  html body #tbp-booking-wrap.tbp-booking-v195 {
    width: min(100%, calc(100vw - 18px)) !important;
    max-width: min(100%, calc(100vw - 18px)) !important;
    margin: 12px auto !important;
    padding: 9px !important;
    border-radius: 24px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-booking-form,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step-panel,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-card,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-payment-card,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-review-card { padding: 16px !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero { border-radius: 20px 20px 0 0 !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-main-hero-top,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-actions,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-selection-continue { grid-template-columns: 1fr !important; flex-direction: column !important; align-items: flex-start !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-stepper { grid-template-columns: 1fr !important; padding: 10px !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-step:not(.active):not(.is-active):not(.is-complete) { display: none !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-date-time-layout,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-review-layout,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-form-grid-3,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-form-grid-4,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vehicle-manual-grid { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-sidebar { display: none !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-action-buttons,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-next,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-submit,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-back,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-selection-next,
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-account-link { width: 100% !important; }
  html body #tbp-booking-wrap.tbp-booking-v195 .tbp-action-buttons { flex-direction: column-reverse !important; }
}


/* v1.7.96 - backend-matched public booking + customer portal design system */
html body #tbp-booking-wrap.tbp-booking-v196,
html body .tb-customer-portal.tbp-cp-shell-v196 {
  --tbp196-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --tbp196-bg: #061120;
  --tbp196-bg-soft: #09192d;
  --tbp196-surface: #0b1c33;
  --tbp196-surface-2: #102847;
  --tbp196-surface-3: #132f52;
  --tbp196-border: rgba(125, 170, 245, .22);
  --tbp196-border-strong: rgba(125, 170, 245, .38);
  --tbp196-text: #f8fbff;
  --tbp196-text-soft: #d8e5f8;
  --tbp196-muted: #a6bad6;
  --tbp196-faint: #8299b8;
  --tbp196-accent: #38bdf8;
  --tbp196-accent-2: #2563eb;
  --tbp196-success: #34d399;
  --tbp196-warning: #fbbf24;
  --tbp196-danger: #fb7185;
  --tbp196-radius: 18px;
  --tbp196-radius-lg: 24px;
  --tbp196-shadow: 0 18px 50px rgba(0,0,0,.28);
  --tbp196-shadow-soft: 0 12px 34px rgba(0,0,0,.18);
  font-family: var(--tbp196-font) !important;
  color: var(--tbp196-text) !important;
  box-sizing: border-box !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 *,
html body .tb-customer-portal.tbp-cp-shell-v196 * { box-sizing: border-box !important; }

/* Booking outer shell */
html body #tbp-booking-wrap.tbp-booking-v196 {
  width: min(var(--tb-form-width, 1380px), calc(100vw - 32px)) !important;
  max-width: min(var(--tb-form-width, 1380px), calc(100vw - 32px)) !important;
  margin: 28px auto !important;
  padding: clamp(18px, 2vw, 28px) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp196-accent) 15%, transparent), transparent 32%),
    linear-gradient(180deg, var(--tbp196-bg) 0%, var(--tbp196-bg-soft) 100%) !important;
  border: 1px solid var(--tbp196-border-strong) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.24) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  align-items: start !important;
}
html body #tbp-booking-wrap.tbp-booking-v196.tbp-summary-left .tbp-shell { grid-template-columns: minmax(320px, 400px) minmax(0, 1fr) !important; }

/* Shared panels match backend cards */
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-main-panel,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-booking-form,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-booking-options-intro,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-review-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-panel,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-sidebar-portal-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-selection-continue,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-actions,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-addons-empty,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-empty-times,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-main,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-panel-card,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-stat-card,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-sidebar-card,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-list-row,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-empty-state,
html body .tb-customer-portal.tbp-cp-shell-v196 .tb-portal-alert {
  background: linear-gradient(180deg, var(--tbp196-surface) 0%, color-mix(in srgb, var(--tbp196-surface) 84%, #000) 100%) !important;
  border: 1px solid var(--tbp196-border) !important;
  border-radius: var(--tbp196-radius) !important;
  box-shadow: var(--tbp196-shadow) !important;
  color: var(--tbp196-text) !important;
}

/* Hero/top blocks */
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-main-hero,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-topbar,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-sidebar-brand,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-auth-hero {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp196-accent) 32%, transparent), transparent 38%),
    linear-gradient(135deg, var(--tbp196-surface-2), color-mix(in srgb, var(--tbp196-surface-3) 74%, #000)) !important;
  color: var(--tbp196-text) !important;
  border: 1px solid var(--tbp196-border-strong) !important;
  border-radius: var(--tbp196-radius-lg) !important;
  box-shadow: var(--tbp196-shadow) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-main-hero { padding: clamp(22px, 2.4vw, 34px) !important; margin-bottom: 18px !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-booking-form,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step-panel,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-calendar-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-times-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vehicle-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-payment-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-review-card,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-main,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-sidebar,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-auth-card,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-panel-card { padding: clamp(18px, 2vw, 28px) !important; }

/* Typography */
html body #tbp-booking-wrap.tbp-booking-v196 h1,
html body #tbp-booking-wrap.tbp-booking-v196 h2,
html body #tbp-booking-wrap.tbp-booking-v196 h3,
html body #tbp-booking-wrap.tbp-booking-v196 h4,
html body #tbp-booking-wrap.tbp-booking-v196 strong,
html body .tb-customer-portal.tbp-cp-shell-v196 h1,
html body .tb-customer-portal.tbp-cp-shell-v196 h2,
html body .tb-customer-portal.tbp-cp-shell-v196 h3,
html body .tb-customer-portal.tbp-cp-shell-v196 h4,
html body .tb-customer-portal.tbp-cp-shell-v196 strong {
  color: var(--tbp196-text) !important;
  -webkit-text-fill-color: var(--tbp196-text) !important;
  letter-spacing: -.02em !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 p,
html body #tbp-booking-wrap.tbp-booking-v196 small,
html body #tbp-booking-wrap.tbp-booking-v196 label,
html body #tbp-booking-wrap.tbp-booking-v196 li,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-mini-heading p,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-service-description,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-action-copy,
html body .tb-customer-portal.tbp-cp-shell-v196 p,
html body .tb-customer-portal.tbp-cp-shell-v196 small,
html body .tb-customer-portal.tbp-cp-shell-v196 label,
html body .tb-customer-portal.tbp-cp-shell-v196 .tb-portal-muted,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-muted {
  color: var(--tbp196-text-soft) !important;
  -webkit-text-fill-color: var(--tbp196-text-soft) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-subtitle,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vehicle-help,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vrm-status,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-meta,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-help { color: var(--tbp196-muted) !important; -webkit-text-fill-color: var(--tbp196-muted) !important; }

/* Icons and brand marks */
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-brand-mark,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-service-icon,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-selected-check,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-mark,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step span,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-brand-mark,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-stat-icon,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-icon {
  display: inline-grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, var(--tbp196-accent-2), var(--tbp196-accent)) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 12px 30px color-mix(in srgb, var(--tbp196-accent) 20%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-selected-check { width: 26px !important; height: 26px !important; border-radius: 999px !important; }

/* Stepper */
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-stepper {
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
  margin: 18px 0 !important;
  background: color-mix(in srgb, var(--tbp196-surface-2) 70%, #000) !important;
  border: 1px solid var(--tbp196-border) !important;
  border-radius: var(--tbp196-radius) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step {
  color: var(--tbp196-text-soft) !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  background: transparent !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step.active,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step.is-active,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step.is-complete {
  background: color-mix(in srgb, var(--tbp196-accent) 10%, var(--tbp196-surface-3)) !important;
  border-color: var(--tbp196-border-strong) !important;
  color: var(--tbp196-text) !important;
}

/* Booking cards */
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-service-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-addons-grid label,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-option-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-field-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-gateway-card {
  background: var(--tbp196-surface-2) !important;
  border: 1px solid var(--tbp196-border) !important;
  border-radius: var(--tbp196-radius) !important;
  color: var(--tbp196-text) !important;
  box-shadow: var(--tbp196-shadow-soft) !important;
  padding: clamp(16px, 1.6vw, 22px) !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-service-card:hover,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-service-card:focus-within,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-addons-grid label:hover,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-gateway-card:hover,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-gateway-card:focus-within {
  transform: translateY(-1px) !important;
  border-color: var(--tbp196-border-strong) !important;
  background: color-mix(in srgb, var(--tbp196-surface-3) 78%, var(--tbp196-surface-2)) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-service-card:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-addons-grid label:has(input:checked),
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-gateway-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--tbp196-accent) 66%, var(--tbp196-border)) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp196-accent) 14%, transparent), transparent 38%),
    var(--tbp196-surface-3) !important;
  box-shadow: 0 18px 46px color-mix(in srgb, var(--tbp196-accent) 14%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-service-meta span,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-service-meta strong,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-package-pill,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-api-badge,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-terms,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-user-chip,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: color-mix(in srgb, var(--tbp196-surface-3) 58%, transparent) !important;
  border: 1px solid var(--tbp196-border) !important;
  color: var(--tbp196-text-soft) !important;
  border-radius: 999px !important;
  font-weight: 850 !important;
}

/* Forms, calendar, times */
html body #tbp-booking-wrap.tbp-booking-v196 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v196 select,
html body #tbp-booking-wrap.tbp-booking-v196 textarea,
html body .tb-customer-portal.tbp-cp-shell-v196 input:not([type="radio"]):not([type="checkbox"]),
html body .tb-customer-portal.tbp-cp-shell-v196 select,
html body .tb-customer-portal.tbp-cp-shell-v196 textarea,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-cal-prev,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-cal-next,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-cal-date,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-time-slot {
  background: color-mix(in srgb, var(--tbp196-surface-2) 70%, #000) !important;
  color: var(--tbp196-text) !important;
  -webkit-text-fill-color: var(--tbp196-text) !important;
  border: 1px solid var(--tbp196-border-strong) !important;
  border-radius: 12px !important;
  min-height: 46px !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 input:not([type="radio"]):not([type="checkbox"]),
html body #tbp-booking-wrap.tbp-booking-v196 select,
html body #tbp-booking-wrap.tbp-booking-v196 textarea,
html body .tb-customer-portal.tbp-cp-shell-v196 input:not([type="radio"]):not([type="checkbox"]),
html body .tb-customer-portal.tbp-cp-shell-v196 select,
html body .tb-customer-portal.tbp-cp-shell-v196 textarea { padding: 11px 13px !important; }
html body #tbp-booking-wrap.tbp-booking-v196 input::placeholder,
html body #tbp-booking-wrap.tbp-booking-v196 textarea::placeholder,
html body .tb-customer-portal.tbp-cp-shell-v196 input::placeholder,
html body .tb-customer-portal.tbp-cp-shell-v196 textarea::placeholder { color: var(--tbp196-faint) !important; opacity: 1 !important; }
html body #tbp-booking-wrap.tbp-booking-v196 input:focus,
html body #tbp-booking-wrap.tbp-booking-v196 select:focus,
html body #tbp-booking-wrap.tbp-booking-v196 textarea:focus,
html body .tb-customer-portal.tbp-cp-shell-v196 input:focus,
html body .tb-customer-portal.tbp-cp-shell-v196 select:focus,
html body .tb-customer-portal.tbp-cp-shell-v196 textarea:focus,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-cal-date:focus,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-time-slot:focus {
  outline: none !important;
  border-color: color-mix(in srgb, var(--tbp196-accent) 70%, var(--tbp196-border)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp196-accent) 14%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-weekdays span { color: var(--tbp196-muted) !important; font-weight: 850 !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-cal-date.has-slots::after { background: var(--tbp196-accent) !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-cal-date.active,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-time-slot.active,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-time-slot:hover {
  background: linear-gradient(135deg, var(--tbp196-accent-2), var(--tbp196-accent)) !important;
  border-color: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--tbp196-accent) 18%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-empty-times,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-addons-empty {
  min-height: 112px !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  border-style: dashed !important;
}

/* Summary rail */
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-panel {
  position: sticky !important;
  top: 22px !important;
  padding: 20px !important;
  overflow: hidden !important;
}
html body #tbp-booking-wrap.tbp-booking-v196.tbp-summary-static .tbp-summary-panel { position: relative !important; top: auto !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-card,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-support,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-sidebar-portal-card { padding: 14px !important; margin-top: 14px !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-row {
  padding: 12px 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--tbp196-border) 70%, transparent) !important;
  gap: 10px !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-row:last-child { border-bottom: 0 !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-total {
  padding: 14px !important;
  margin-top: 10px !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--tbp196-accent) 11%, var(--tbp196-surface-3)) !important;
  border: 1px solid var(--tbp196-border-strong) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-total strong,
html body #tbp-booking-wrap.tbp-booking-v196 [data-summary="total"] { color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: 24px !important; }

/* Buttons match admin */
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-next,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-submit,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vrm-lookup,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-selection-next,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-btn-primary,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-form-actions button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  border-radius: 13px !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--tbp196-accent-2), var(--tbp196-accent)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--tbp196-accent) 19%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-back,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-account-link,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-choice-toggle,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-sidebar-portal-link,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-btn,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-nav button,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-form-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  border: 1px solid var(--tbp196-border-strong) !important;
  background: var(--tbp196-surface-2) !important;
  color: var(--tbp196-text) !important;
  -webkit-text-fill-color: var(--tbp196-text) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-next:hover,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-submit:hover,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vrm-lookup:hover,
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-selection-next:hover,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-btn:hover,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-nav button:hover { transform: translateY(-1px) !important; filter: brightness(1.05) !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-actions,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-form-actions,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-actions-row { gap: 12px !important; align-items: center !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-action-buttons,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-form-actions,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-actions-row,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-topbar-actions { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
html body #tbp-booking-wrap.tbp-booking-v196 .tbp-action-buttons { justify-content: flex-end !important; }

/* Customer portal layout */
html body .tb-customer-portal.tbp-cp-shell-v196 {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp196-accent) 12%, transparent), transparent 32%),
    linear-gradient(180deg, var(--tbp196-bg) 0%, var(--tbp196-bg-soft) 100%) !important;
  border: 1px solid var(--tbp196-border-strong) !important;
  border-radius: 30px !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.24) !important;
  padding: clamp(16px, 2vw, 26px) !important;
  max-width: min(1320px, calc(100vw - 32px)) !important;
  margin: 28px auto !important;
}
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-layout,
html body .tb-customer-portal.tbp-cp-shell-v196.tbp-cp-auth-shell .tbp-cp-auth-layout { gap: clamp(18px, 2vw, 28px) !important; }
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-sidebar { position: sticky !important; top: 22px !important; }
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-nav { display: grid !important; gap: 8px !important; }
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-nav button { justify-content: flex-start !important; width: 100% !important; }
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-nav button.is-active,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-nav button[aria-selected="true"] {
  background: color-mix(in srgb, var(--tbp196-accent) 14%, var(--tbp196-surface-3)) !important;
  border-color: var(--tbp196-border-strong) !important;
  color: var(--tbp196-text) !important;
}
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-stat-grid,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-grid,
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-two-col-grid { gap: 16px !important; }
html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-list-row { padding: 16px !important; gap: 14px !important; }

@media (max-width: 1024px) {
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-shell,
  html body #tbp-booking-wrap.tbp-booking-v196.tbp-summary-left .tbp-shell,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-layout,
  html body .tb-customer-portal.tbp-cp-shell-v196.tbp-cp-auth-shell .tbp-cp-auth-layout { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-sidebar,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-sidebar { position: relative !important; top: auto !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-panel { position: relative !important; top: auto !important; }
}
@media (max-width: 767px) {
  html body #tbp-booking-wrap.tbp-booking-v196,
  html body .tb-customer-portal.tbp-cp-shell-v196 {
    width: min(100%, calc(100vw - 18px)) !important;
    max-width: min(100%, calc(100vw - 18px)) !important;
    margin: 12px auto !important;
    padding: 10px !important;
    border-radius: 24px !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-main-hero,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-booking-form,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step-panel,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-calendar-card,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-times-card,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vehicle-card,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-payment-card,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-review-card,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-summary-panel,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-main,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-topbar,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-sidebar,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-auth-card,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-panel-card { padding: 16px !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-actions,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-booking-options-intro,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-selection-continue,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-topbar,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-list-row { grid-template-columns: 1fr !important; flex-direction: column !important; align-items: flex-start !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-stepper { grid-template-columns: 1fr !important; padding: 10px !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-step:not(.active):not(.is-active):not(.is-complete) { display: none !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-date-time-layout,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-review-layout,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-form-grid,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-form-grid-3,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-form-grid-4,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vehicle-manual-grid,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-grid,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-two-col-grid,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-stat-grid { grid-template-columns: 1fr !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-sidebar { display: none !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-action-buttons,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-next,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-submit,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-back,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-vrm-lookup,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-selection-next,
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-account-link,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-btn,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-nav button,
  html body .tb-customer-portal.tbp-cp-shell-v196 .tbp-cp-form-actions button { width: 100% !important; }
  html body #tbp-booking-wrap.tbp-booking-v196 .tbp-action-buttons { flex-direction: column-reverse !important; }
}

/* v1.7.97 - public booking + customer portal dark readability hardening */
html body #tbp-booking-wrap.tbp-booking-v196,
html body #tbp-booking-wrap.tbp-booking-v197,
html body .tb-customer-portal.tbp-cp-shell-v196,
html body .tb-customer-portal.tbp-cp-shell-v197 {
  --tbp197-bg: #061120;
  --tbp197-bg-soft: #09192d;
  --tbp197-surface: #0b1c33;
  --tbp197-surface-2: #102847;
  --tbp197-surface-3: #132f52;
  --tbp197-surface-deep: #061324;
  --tbp197-border: rgba(125, 170, 245, .24);
  --tbp197-border-strong: rgba(125, 170, 245, .42);
  --tbp197-text: #f8fbff;
  --tbp197-text-soft: #d8e5f8;
  --tbp197-muted: #a6bad6;
  --tbp197-faint: #8299b8;
  --tbp197-accent: #38bdf8;
  --tbp197-accent-2: #2563eb;
  --tbp197-success: #34d399;
  --tbp197-warning: #fbbf24;
  --tbp197-danger: #fb7185;
  --tbp197-shadow: 0 18px 50px rgba(0,0,0,.30);
  --tbp197-shadow-soft: 0 12px 34px rgba(0,0,0,.20);
  color: var(--tbp197-text) !important;
  -webkit-text-fill-color: var(--tbp197-text) !important;
  color-scheme: dark !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 *,
html body #tbp-booking-wrap.tbp-booking-v197 *,
html body .tb-customer-portal.tbp-cp-shell-v196 *,
html body .tb-customer-portal.tbp-cp-shell-v197 * {
  box-sizing: border-box !important;
}

/* Remove legacy white panels that were bleeding through from older frontend builds. */
html body #tbp-booking-wrap.tbp-booking-v196 :where(.tbp-shell,.tbp-main-panel,.tbp-main-hero,.tbp-booking-form,.tbp-step-panel,.tbp-booking-options-intro,.tbp-choice-group,.tbp-choice-group-head,.tbp-choice-tabs,.tbp-selection-continue,.tbp-calendar-card,.tbp-times-card,.tbp-vehicle-card,.tbp-payment-card,.tbp-review-card,.tbp-summary-panel,.tbp-summary-card,.tbp-summary-support,.tbp-sidebar-portal-card,.tbp-actions,.tbp-addons-empty,.tbp-empty-times,.tbp-alert-slot),
html body #tbp-booking-wrap.tbp-booking-v197 :where(.tbp-shell,.tbp-main-panel,.tbp-main-hero,.tbp-booking-form,.tbp-step-panel,.tbp-booking-options-intro,.tbp-choice-group,.tbp-choice-group-head,.tbp-choice-tabs,.tbp-selection-continue,.tbp-calendar-card,.tbp-times-card,.tbp-vehicle-card,.tbp-payment-card,.tbp-review-card,.tbp-summary-panel,.tbp-summary-card,.tbp-summary-support,.tbp-sidebar-portal-card,.tbp-actions,.tbp-addons-empty,.tbp-empty-times,.tbp-alert-slot),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tbp-cp-layout,.tbp-cp-sidebar,.tbp-cp-main,.tbp-cp-topbar,.tbp-cp-auth-card,.tbp-cp-panel-card,.tbp-cp-stat-card,.tbp-cp-sidebar-card,.tbp-cp-list-row,.tbp-cp-empty-state,.tbp-cp-upload-panel,.tbp-cp-theme-swatches,.tbp-cp-kv-grid>div,.tbp-cp-timeline-item,.tbp-cp-file-dropzone-ui,.tbp-cp-auth-hero,.tb-portal-hero,.tb-portal-card,.tb-portal-hero-card,.tb-portal-metrics>div,.tb-portal-record-item,.tb-portal-history-item,.tb-portal-file-item,.tb-portal-activity-item,.tb-portal-upload-card,.tb-portal-dyno-card,.tb-portal-tabs,.tb-portal-panel,.tb-portal-inline-form,.tb-portal-alert),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tbp-cp-layout,.tbp-cp-sidebar,.tbp-cp-main,.tbp-cp-topbar,.tbp-cp-auth-card,.tbp-cp-panel-card,.tbp-cp-stat-card,.tbp-cp-sidebar-card,.tbp-cp-list-row,.tbp-cp-empty-state,.tbp-cp-upload-panel,.tbp-cp-theme-swatches,.tbp-cp-kv-grid>div,.tbp-cp-timeline-item,.tbp-cp-file-dropzone-ui,.tbp-cp-auth-hero,.tb-portal-hero,.tb-portal-card,.tb-portal-hero-card,.tb-portal-metrics>div,.tb-portal-record-item,.tb-portal-history-item,.tb-portal-file-item,.tb-portal-activity-item,.tb-portal-upload-card,.tb-portal-dyno-card,.tb-portal-tabs,.tb-portal-panel,.tb-portal-inline-form,.tb-portal-alert) {
  background: linear-gradient(180deg, var(--tbp197-surface) 0%, color-mix(in srgb, var(--tbp197-surface) 84%, #000) 100%) !important;
  border-color: var(--tbp197-border) !important;
  color: var(--tbp197-text) !important;
  -webkit-text-fill-color: var(--tbp197-text) !important;
  box-shadow: var(--tbp197-shadow) !important;
}

/* Hero and navigation blocks use the same luminous admin-style surface. */
html body #tbp-booking-wrap.tbp-booking-v196 :where(.tbp-main-hero,.tbp-stepper,.tbp-summary-total),
html body #tbp-booking-wrap.tbp-booking-v197 :where(.tbp-main-hero,.tbp-stepper,.tbp-summary-total),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tbp-cp-topbar,.tbp-cp-sidebar .tbp-cp-brand,.tbp-cp-auth-hero,.tb-portal-hero),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tbp-cp-topbar,.tbp-cp-sidebar .tbp-cp-brand,.tbp-cp-auth-hero,.tb-portal-hero) {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--tbp197-accent) 30%, transparent), transparent 38%),
    linear-gradient(135deg, var(--tbp197-surface-2), color-mix(in srgb, var(--tbp197-surface-3) 78%, #000)) !important;
  border: 1px solid var(--tbp197-border-strong) !important;
}

/* Cards, selectable options, files, rows and slots. */
html body #tbp-booking-wrap.tbp-booking-v196 :where(.tbp-service-card,.tbp-package-card,.tbp-addon-card,.tbp-gateway-card,.tbp-choice-toggle,.tbp-cal-date,.tbp-time-slot,.tbp-field-card,.tbp-option-card),
html body #tbp-booking-wrap.tbp-booking-v197 :where(.tbp-service-card,.tbp-package-card,.tbp-addon-card,.tbp-gateway-card,.tbp-choice-toggle,.tbp-cal-date,.tbp-time-slot,.tbp-field-card,.tbp-option-card),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tbp-cp-btn,.tbp-cp-nav button,.tbp-cp-theme-swatch,.tbp-cp-file-row,.tbp-cp-file-preview,.tbp-cp-file-badge,.tbp-cp-upload-safe-note,.tb-portal-btn,.tb-portal-slot,.tb-portal-file-item,.tb-portal-activity-item,.tb-portal-record-item,.tb-portal-history-item),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tbp-cp-btn,.tbp-cp-nav button,.tbp-cp-theme-swatch,.tbp-cp-file-row,.tbp-cp-file-preview,.tbp-cp-file-badge,.tbp-cp-upload-safe-note,.tb-portal-btn,.tb-portal-slot,.tb-portal-file-item,.tb-portal-activity-item,.tb-portal-record-item,.tb-portal-history-item) {
  background: color-mix(in srgb, var(--tbp197-surface-2) 78%, #000) !important;
  border: 1px solid var(--tbp197-border) !important;
  color: var(--tbp197-text) !important;
  -webkit-text-fill-color: var(--tbp197-text) !important;
  box-shadow: var(--tbp197-shadow-soft) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 :where(.tbp-service-card:hover,.tbp-package-card:hover,.tbp-addon-card:hover,.tbp-gateway-card:hover,.tbp-choice-toggle:hover,.tbp-cal-date.has-slots:hover,.tbp-time-slot:hover),
html body #tbp-booking-wrap.tbp-booking-v197 :where(.tbp-service-card:hover,.tbp-package-card:hover,.tbp-addon-card:hover,.tbp-gateway-card:hover,.tbp-choice-toggle:hover,.tbp-cal-date.has-slots:hover,.tbp-time-slot:hover),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tbp-cp-btn:hover,.tbp-cp-nav button:hover,.tbp-cp-theme-swatch:hover,.tb-portal-btn:hover,.tb-portal-slot:hover),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tbp-cp-btn:hover,.tbp-cp-nav button:hover,.tbp-cp-theme-swatch:hover,.tb-portal-btn:hover,.tb-portal-slot:hover) {
  background: color-mix(in srgb, var(--tbp197-surface-3) 82%, #000) !important;
  border-color: var(--tbp197-border-strong) !important;
  color: var(--tbp197-text) !important;
  -webkit-text-fill-color: var(--tbp197-text) !important;
}

/* Text contrast: no dark text on dark surfaces, including spans and generated rows. */
html body #tbp-booking-wrap.tbp-booking-v196 :where(h1,h2,h3,h4,h5,h6,strong,.tbp-service-title,.tbp-cal-month-label,.tbp-summary-total strong,.tbp-success-ref-val),
html body #tbp-booking-wrap.tbp-booking-v197 :where(h1,h2,h3,h4,h5,h6,strong,.tbp-service-title,.tbp-cal-month-label,.tbp-summary-total strong,.tbp-success-ref-val),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(h1,h2,h3,h4,h5,h6,strong,.tbp-cp-title,.tbp-cp-stat-card strong,.tbp-cp-list-row strong,.tbp-cp-kv-grid strong,.tb-portal-file-item strong,.tb-portal-activity-item strong),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(h1,h2,h3,h4,h5,h6,strong,.tbp-cp-title,.tbp-cp-stat-card strong,.tbp-cp-list-row strong,.tbp-cp-kv-grid strong,.tb-portal-file-item strong,.tb-portal-activity-item strong) {
  color: var(--tbp197-text) !important;
  -webkit-text-fill-color: var(--tbp197-text) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 :where(p,small,span,label,li,td,th,.tbp-service-desc,.tbp-summary-empty,.tbp-summary-row,.tbp-mini-heading p,.tbp-action-copy,.tbp-vehicle-help,.tbp-vrm-status,.tbp-empty-times,.tbp-addons-empty,.tbp-package-pill),
html body #tbp-booking-wrap.tbp-booking-v197 :where(p,small,span,label,li,td,th,.tbp-service-desc,.tbp-summary-empty,.tbp-summary-row,.tbp-mini-heading p,.tbp-action-copy,.tbp-vehicle-help,.tbp-vrm-status,.tbp-empty-times,.tbp-addons-empty,.tbp-package-pill),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(p,small,span,label,li,td,th,.tbp-cp-muted,.tbp-cp-meta,.tbp-cp-help,.tb-portal-muted,.tbp-cp-section-title-row span,.tbp-cp-list-row span,.tbp-cp-kv-grid span,.tbp-cp-file-meta,.tbp-cp-file-filename,.tbp-cp-upload-safe-note span,.tb-portal-file-item span,.tb-portal-activity-item span),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(p,small,span,label,li,td,th,.tbp-cp-muted,.tbp-cp-meta,.tbp-cp-help,.tb-portal-muted,.tbp-cp-section-title-row span,.tbp-cp-list-row span,.tbp-cp-kv-grid span,.tbp-cp-file-meta,.tbp-cp-file-filename,.tbp-cp-upload-safe-note span,.tb-portal-file-item span,.tb-portal-activity-item span) {
  color: var(--tbp197-text-soft) !important;
  -webkit-text-fill-color: var(--tbp197-text-soft) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 :where(a,.tbp-kicker,.tbp-account-link,.tbp-sidebar-portal-link),
html body #tbp-booking-wrap.tbp-booking-v197 :where(a,.tbp-kicker,.tbp-account-link,.tbp-sidebar-portal-link),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(a,.tbp-cp-eyebrow,.tbp-cp-section-link),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(a,.tbp-cp-eyebrow,.tbp-cp-section-link) {
  color: color-mix(in srgb, var(--tbp197-accent) 86%, #fff) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--tbp197-accent) 86%, #fff) !important;
}

/* Inputs, date controls and file controls: dark surface with light text. */
html body #tbp-booking-wrap.tbp-booking-v196 :where(input:not([type="radio"]):not([type="checkbox"]),textarea,select),
html body #tbp-booking-wrap.tbp-booking-v197 :where(input:not([type="radio"]):not([type="checkbox"]),textarea,select),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(input:not([type="radio"]):not([type="checkbox"]),textarea,select),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(input:not([type="radio"]):not([type="checkbox"]),textarea,select) {
  background: color-mix(in srgb, var(--tbp197-surface-2) 70%, #000) !important;
  border: 1px solid var(--tbp197-border-strong) !important;
  color: var(--tbp197-text) !important;
  -webkit-text-fill-color: var(--tbp197-text) !important;
  caret-color: var(--tbp197-accent) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 :where(input::placeholder,textarea::placeholder),
html body #tbp-booking-wrap.tbp-booking-v197 :where(input::placeholder,textarea::placeholder),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(input::placeholder,textarea::placeholder),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(input::placeholder,textarea::placeholder) {
  color: var(--tbp197-faint) !important;
  -webkit-text-fill-color: var(--tbp197-faint) !important;
  opacity: 1 !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 :where(input:focus,textarea:focus,select:focus),
html body #tbp-booking-wrap.tbp-booking-v197 :where(input:focus,textarea:focus,select:focus),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(input:focus,textarea:focus,select:focus),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(input:focus,textarea:focus,select:focus) {
  outline: none !important;
  border-color: var(--tbp197-accent) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tbp197-accent) 16%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 option,
html body #tbp-booking-wrap.tbp-booking-v197 option,
html body .tb-customer-portal.tbp-cp-shell-v196 option,
html body .tb-customer-portal.tbp-cp-shell-v197 option {
  background: var(--tbp197-surface-2) !important;
  color: var(--tbp197-text) !important;
}

/* Selected, active and primary states. */
html body #tbp-booking-wrap.tbp-booking-v196 :where(.tbp-step.active,.tbp-step.is-active,.tbp-step.is-complete,.tbp-choice-toggle.is-active,.tbp-cal-date.active,.tbp-time-slot.active,.tbp-service-card:has(input:checked),.tbp-addon-card:has(input:checked),.tbp-gateway-card:has(input:checked)),
html body #tbp-booking-wrap.tbp-booking-v197 :where(.tbp-step.active,.tbp-step.is-active,.tbp-step.is-complete,.tbp-choice-toggle.is-active,.tbp-cal-date.active,.tbp-time-slot.active,.tbp-service-card:has(input:checked),.tbp-addon-card:has(input:checked),.tbp-gateway-card:has(input:checked)),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tbp-cp-nav button.is-active,.tbp-cp-nav button[aria-selected="true"],.tbp-cp-theme-swatch.is-active,.tbp-cp-theme-swatch[aria-pressed="true"],.tb-portal-tabs button.active,.tb-portal-slot.selected),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tbp-cp-nav button.is-active,.tbp-cp-nav button[aria-selected="true"],.tbp-cp-theme-swatch.is-active,.tbp-cp-theme-swatch[aria-pressed="true"],.tb-portal-tabs button.active,.tb-portal-slot.selected) {
  background: linear-gradient(135deg, var(--tbp197-accent-2), var(--tbp197-accent)) !important;
  border-color: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 :where(.btn-primary,.tbp-next,.tbp-submit,.tbp-vrm-lookup,.tbp-selection-next),
html body #tbp-booking-wrap.tbp-booking-v197 :where(.btn-primary,.tbp-next,.tbp-submit,.tbp-vrm-lookup,.tbp-selection-next),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tbp-cp-btn-primary,.tbp-cp-form-actions button[type="submit"],.tb-portal-btn.primary,.tb-portal-btn.danger),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tbp-cp-btn-primary,.tbp-cp-form-actions button[type="submit"],.tb-portal-btn.primary,.tb-portal-btn.danger) {
  background: linear-gradient(135deg, var(--tbp197-accent-2), var(--tbp197-accent)) !important;
  border-color: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--tbp197-accent) 20%, transparent) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 :where(.btn-light,.btn-outline-secondary,.btn-outline-primary,.tbp-back),
html body #tbp-booking-wrap.tbp-booking-v197 :where(.btn-light,.btn-outline-secondary,.btn-outline-primary,.tbp-back),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tbp-cp-btn:not(.tbp-cp-btn-primary),.tb-portal-btn:not(.primary):not(.danger)),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tbp-cp-btn:not(.tbp-cp-btn-primary),.tb-portal-btn:not(.primary):not(.danger)) {
  background: var(--tbp197-surface-2) !important;
  border: 1px solid var(--tbp197-border-strong) !important;
  color: var(--tbp197-text) !important;
  -webkit-text-fill-color: var(--tbp197-text) !important;
}

/* Alert/status colours must remain readable on the dark surfaces. */
html body #tbp-booking-wrap.tbp-booking-v196 :where(.alert,.tbp-missing-field,.is-invalid),
html body #tbp-booking-wrap.tbp-booking-v197 :where(.alert,.tbp-missing-field,.is-invalid),
html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tb-portal-alert,.tbp-cp-upload-result,.tbp-cp-status-pill,.tb-portal-badge),
html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tb-portal-alert,.tbp-cp-upload-result,.tbp-cp-status-pill,.tb-portal-badge) {
  color: var(--tbp197-text) !important;
  -webkit-text-fill-color: var(--tbp197-text) !important;
  border-color: var(--tbp197-border-strong) !important;
}
html body #tbp-booking-wrap.tbp-booking-v196 :where(input.tbp-missing-field,.tbp-missing-field),
html body #tbp-booking-wrap.tbp-booking-v197 :where(input.tbp-missing-field,.tbp-missing-field) {
  background: color-mix(in srgb, var(--tbp197-warning) 12%, var(--tbp197-surface-2)) !important;
  border-color: color-mix(in srgb, var(--tbp197-warning) 60%, var(--tbp197-border)) !important;
}

/* Hard guard against page-builder themes injecting white backgrounds into public UI. */
html body #tbp-booking-wrap.tbp-booking-v196 [style*="background: #fff"],
html body #tbp-booking-wrap.tbp-booking-v196 [style*="background:#fff"],
html body #tbp-booking-wrap.tbp-booking-v196 [style*="background-color: #fff"],
html body #tbp-booking-wrap.tbp-booking-v196 [style*="background-color:#fff"],
html body #tbp-booking-wrap.tbp-booking-v197 [style*="background: #fff"],
html body #tbp-booking-wrap.tbp-booking-v197 [style*="background:#fff"],
html body #tbp-booking-wrap.tbp-booking-v197 [style*="background-color: #fff"],
html body #tbp-booking-wrap.tbp-booking-v197 [style*="background-color:#fff"],
html body .tb-customer-portal.tbp-cp-shell-v196 [style*="background: #fff"],
html body .tb-customer-portal.tbp-cp-shell-v196 [style*="background:#fff"],
html body .tb-customer-portal.tbp-cp-shell-v196 [style*="background-color: #fff"],
html body .tb-customer-portal.tbp-cp-shell-v196 [style*="background-color:#fff"],
html body .tb-customer-portal.tbp-cp-shell-v197 [style*="background: #fff"],
html body .tb-customer-portal.tbp-cp-shell-v197 [style*="background:#fff"],
html body .tb-customer-portal.tbp-cp-shell-v197 [style*="background-color: #fff"],
html body .tb-customer-portal.tbp-cp-shell-v197 [style*="background-color:#fff"] {
  background: var(--tbp197-surface-2) !important;
}

@media (max-width: 767px) {
  html body #tbp-booking-wrap.tbp-booking-v196,
  html body #tbp-booking-wrap.tbp-booking-v197,
  html body .tb-customer-portal.tbp-cp-shell-v196,
  html body .tb-customer-portal.tbp-cp-shell-v197 {
    width: min(100%, calc(100vw - 18px)) !important;
    max-width: min(100%, calc(100vw - 18px)) !important;
  }
  html body #tbp-booking-wrap.tbp-booking-v196 :where(.tbp-service-card,.tbp-package-card,.tbp-addon-card,.tbp-gateway-card,.tbp-calendar-card,.tbp-times-card,.tbp-vehicle-card,.tbp-payment-card,.tbp-summary-card),
  html body #tbp-booking-wrap.tbp-booking-v197 :where(.tbp-service-card,.tbp-package-card,.tbp-addon-card,.tbp-gateway-card,.tbp-calendar-card,.tbp-times-card,.tbp-vehicle-card,.tbp-payment-card,.tbp-summary-card),
  html body .tb-customer-portal.tbp-cp-shell-v196 :where(.tbp-cp-panel-card,.tbp-cp-stat-card,.tbp-cp-list-row,.tb-portal-card),
  html body .tb-customer-portal.tbp-cp-shell-v197 :where(.tbp-cp-panel-card,.tbp-cp-stat-card,.tbp-cp-list-row,.tb-portal-card) {
    border-radius: 18px !important;
  }
}
