:root {
    --pro-bg: #f5f6f8;
    --pro-surface: #ffffff;
    --pro-surface-raised: #ffffff;
    --pro-ink: #151922;
    --pro-muted: #5d6676;
    --pro-soft: #eef1f5;
    --pro-line: #dfe4ea;
    --pro-line-strong: #cfd6df;
    --pro-primary: #d83b46;
    --pro-primary-dark: #a91f2d;
    --pro-primary-soft: #fff0f1;
    --pro-focus: 0 0 0 4px rgba(216, 59, 70, 0.14);
    --pro-shadow: 0 16px 42px rgba(20, 27, 38, 0.09);
    --pro-shadow-soft: 0 2px 10px rgba(20, 27, 38, 0.06);
    --pro-radius: 8px;
}

.booking-fare-change {
    display: grid;
    gap: 4px;
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid #f4b740;
    border-radius: 10px;
    background: #fff8e8;
    color: #5c3b00;
}

.booking-fare-breakdown,
.booking-policy-card,
.ticket-passenger-manifest {
    margin-top: 16px;
}

@media print {
    .public-header,
    .public-footer,
    .figma-success-head .figma-support-pills,
    .figma-success-grid,
    .figma-center-actions,
    .btn-row,
    .booking-side-panel {
        display: none !important;
    }

    .figma-success-page,
    .figma-success-card {
        width: 100% !important;
        max-width: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }
}

html,
body.public-body {
    background: var(--pro-bg) !important;
    color: var(--pro-ink) !important;
}

body.public-body {
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

.public-main {
    background:
        linear-gradient(180deg, #ffffff 0, #f7f8fa 360px, var(--pro-bg) 100%) !important;
    overflow-x: hidden;
}

body.entry-body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at top left, rgba(216, 59, 70, 0.12), transparent 340px),
        linear-gradient(180deg, #ffffff 0, #f6f8fb 54%, #eef2f7 100%);
    color: var(--pro-ink);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    overflow-x: hidden;
}

.entry-page,
.entry-page *,
.entry-page *::before,
.entry-page *::after {
    box-sizing: border-box;
}

.entry-page {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 24px;
}

.entry-card {
    display: grid;
    width: min(560px, 100%);
    gap: 18px;
    padding: 28px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--pro-shadow);
}

.entry-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.entry-brand-mark {
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: var(--pro-radius);
    background: var(--pro-primary);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 900;
}

.entry-brand strong,
.entry-brand small {
    display: block;
}

.entry-brand strong {
    color: var(--pro-ink);
    font-size: 1.02rem;
    font-weight: 850;
}

.entry-brand small {
    margin-top: 2px;
    color: var(--pro-muted);
    font-size: 0.84rem;
    font-weight: 650;
}

.entry-progress {
    width: 100%;
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf1f6;
}

.entry-progress span {
    display: block;
    width: 46%;
    height: 100%;
    border-radius: inherit;
    background: var(--pro-primary);
    animation: entry-progress 1.05s ease-in-out infinite;
}

.entry-card h1 {
    margin: 0;
    color: var(--pro-ink);
    font-size: clamp(2rem, 5vw, 3.1rem);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: 0;
}

.entry-card p {
    margin: 0;
    max-width: 48ch;
    color: var(--pro-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.entry-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.entry-status-grid span {
    display: grid;
    min-width: 0;
    min-height: 86px;
    align-content: center;
    justify-items: center;
    gap: 8px;
    padding: 12px;
    border: 1px solid #e3e8ef;
    border-radius: var(--pro-radius);
    background: #f8fafc;
    color: #344154;
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.35;
    text-align: center;
}

.entry-status-grid i {
    color: var(--pro-primary);
    font-size: 1rem;
}

.entry-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-self: start;
    min-height: 48px;
    padding: 0 22px !important;
    border: 0;
    border-radius: var(--pro-radius);
    background: var(--pro-primary);
    color: #ffffff !important;
    font-weight: 850;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(216, 59, 70, 0.2);
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

.entry-action:hover,
.entry-action:focus-visible {
    background: var(--pro-primary-dark);
    color: #ffffff !important;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(169, 31, 45, 0.24);
    outline: none;
}

.entry-noscript {
    padding: 12px 14px;
    border: 1px solid #f5c2c7;
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark) !important;
    font-weight: 700;
}

@keyframes entry-progress {
    0% {
        transform: translateX(-115%);
    }

    55% {
        transform: translateX(72%);
    }

    100% {
        transform: translateX(225%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-progress span {
        animation: none;
        width: 100%;
    }
}

.figma-search-page,
.figma-search-page *,
.figma-search-page *::before,
.figma-search-page *::after {
    box-sizing: border-box;
}

.pro-page-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: 999px;
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
}

.pro-page-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--pro-primary);
}

.public-main .btn {
    gap: 8px;
}

.public-main .btn i {
    flex: 0 0 auto;
    font-size: 0.95em;
    line-height: 1;
}

.public-main .btn:focus-visible,
.public-main .compact-secondary:focus-visible,
.public-main .rb-quick-action:focus-visible,
.public-main .inline-link:focus-visible,
.admin-body .btn:focus-visible,
.admin-body .admin-side-btn:focus-visible,
.admin-body .admin-nav-link:focus-visible,
.admin-body .admin-brand:focus-visible,
.admin-body .admin-sidebar-toggle:focus-visible,
.admin-body .admin-mobile-menu:focus-visible,
.admin-body .admin-utility-link:focus-visible,
.admin-body .admin-user-chip:focus-visible {
    outline: none !important;
    box-shadow: var(--pro-focus) !important;
}

.admin-body .admin-side-btn.primary:focus-visible,
.admin-body .btn.primary:focus-visible,
.public-main .btn.primary:focus-visible {
    box-shadow: 0 0 0 4px rgba(216, 59, 70, 0.18) !important;
}

.public-main .btn-icon-back::before,
.public-main .btn-icon-cancel::before,
.public-main .btn-icon-open::before,
.public-main .btn-icon-track::before {
    display: inline-block;
    flex: 0 0 auto;
    font-family: "Font Awesome 6 Free";
    font-size: 0.95em;
    font-weight: 900;
    line-height: 1;
}

.public-main .btn-icon-back::before {
    content: "\f060";
}

.public-main .btn-icon-cancel::before {
    content: "\f05e";
}

.public-main .btn-icon-open::before {
    content: "\f06e";
}

.public-main .btn-icon-track::before {
    content: "\f1da";
}

.public-main .field-error,
.admin-body .field-error {
    display: block;
    min-height: 18px;
    margin-top: 5px;
    color: var(--pro-primary-dark);
    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1.35;
}

.public-main .field-error[hidden],
.admin-body .field-error[hidden] {
    display: none !important;
}

.public-main .field-required-mark,
.admin-body .field-required-mark {
    color: var(--pro-primary-dark);
    font-weight: 900;
}

.public-main .field-optional-mark,
.admin-body .field-optional-mark {
    margin-left: 6px;
    color: #7b8494;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: none;
}

.public-main .form-required-note,
.admin-body .form-required-note {
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid rgba(216, 59, 70, 0.16);
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: #64414a;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.45;
}

.public-main .form-grid > .form-required-note,
.admin-body .form-grid > .form-required-note,
.rb-boarding-row > .form-required-note {
    grid-column: 1 / -1;
}

.public-main .input.is-invalid,
.public-main .textarea.is-invalid,
.public-main .rb-select.is-invalid,
.public-main .rb-date.is-invalid,
.admin-body .input.is-invalid,
.admin-body .textarea.is-invalid,
.admin-body select.is-invalid,
.admin-body textarea.is-invalid {
    border-color: var(--pro-primary) !important;
    box-shadow: var(--pro-focus) !important;
}

.public-main .btn.is-loading,
.admin-body .btn.is-loading,
.rb-search-btn.is-loading {
    cursor: progress !important;
    filter: saturate(0.92);
}

.public-main .btn.is-loading,
.admin-body .btn.is-loading {
    pointer-events: none;
}

.public-main .btn.is-loading i,
.admin-body .btn.is-loading i {
    animation: pro-spin 820ms linear infinite;
}

.rb-search-btn.is-loading {
    background: var(--pro-primary-dark) !important;
    box-shadow: 0 10px 22px rgba(169, 31, 45, 0.18) !important;
}

@keyframes pro-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-main .btn.is-loading i,
    .admin-body .btn.is-loading i {
        animation: none;
    }
}

.figma-search-page {
    width: min(1120px, calc(100% - 32px)) !important;
    padding: 28px 0 44px !important;
}

.pro-search-hero {
    display: grid !important;
    justify-items: stretch !important;
    gap: 18px !important;
    text-align: left !important;
}

.figma-search-copy {
    max-width: 760px !important;
    gap: 10px !important;
}

.figma-search-copy .page-title {
    max-width: 760px;
    color: var(--pro-ink) !important;
    font-size: clamp(2rem, 4vw, 3.35rem) !important;
    line-height: 1.04 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
}

.figma-search-copy p {
    max-width: 680px;
    color: var(--pro-muted) !important;
    font-size: 1.04rem !important;
    line-height: 1.62 !important;
}

.figma-search-card {
    width: 100% !important;
    max-width: none !important;
    padding: 28px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-surface-raised) !important;
    box-shadow: var(--pro-shadow) !important;
    min-width: 0;
}

.figma-search-row {
    grid-template-columns: minmax(240px, 1fr) 48px minmax(240px, 1fr) !important;
    gap: 14px !important;
    align-items: end !important;
}

.figma-search-footer {
    grid-template-columns: minmax(240px, 0.74fr) minmax(220px, auto) !important;
    gap: 14px !important;
    margin-top: 16px !important;
}

.rb-search-input.figma-search-field {
    gap: 7px !important;
    min-width: 0;
}

.rb-search-input.figma-search-field label {
    color: #667085 !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.figma-search-input-shell,
.rb-date-shell {
    min-height: 60px !important;
    padding: 0 16px !important;
    border: 1px solid var(--pro-line-strong) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.figma-search-input-shell:hover,
.rb-date-shell:hover {
    border-color: #b9c2ce !important;
}

.figma-search-input-shell:focus-within,
.rb-date-shell:focus-within,
.rb-search-input.is-open .figma-search-input-shell {
    border-color: var(--pro-primary) !important;
    box-shadow: var(--pro-focus) !important;
}

.figma-search-card .figma-search-input-shell > i,
.figma-search-card .rb-date-shell > i {
    color: var(--pro-primary-dark) !important;
}

.figma-search-card .rb-select,
.figma-search-card .rb-date,
.figma-search-card .rb-city-input {
    width: 100% !important;
    color: var(--pro-ink) !important;
    font-size: 1.05rem !important;
    font-weight: 750 !important;
}

.figma-search-card .rb-city-input::placeholder {
    color: #7b8494 !important;
    font-weight: 650 !important;
}

.figma-search-card .rb-city-input:focus,
.figma-search-card .rb-date:focus {
    border-radius: 4px;
    box-shadow: inset 0 -2px 0 var(--pro-primary) !important;
    outline: none !important;
}

.figma-search-swap {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 6px;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-soft) !important;
    color: #394150 !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.figma-search-swap:hover,
.figma-search-swap:focus-visible {
    border-color: rgba(216, 59, 70, 0.35) !important;
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.figma-chip-row {
    margin-top: 10px !important;
}

.figma-quick-chip {
    min-height: 44px !important;
    padding: 0 14px !important;
    border-radius: var(--pro-radius) !important;
    border-color: var(--pro-line) !important;
    background: #fff !important;
    color: #394150 !important;
}

.figma-quick-chip:hover,
.figma-quick-chip:focus-visible {
    border-color: rgba(216, 59, 70, 0.35) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.figma-quick-chip.is-active {
    border-color: var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.rb-search-action {
    display: grid !important;
    gap: 8px !important;
    align-self: end !important;
    min-width: 220px;
}

.rb-search-btn {
    min-height: 60px !important;
    width: 100% !important;
    padding: 0 26px !important;
    border: 0 !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    box-shadow: 0 12px 26px rgba(216, 59, 70, 0.22) !important;
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

.rb-search-btn:hover,
.rb-search-btn:focus-visible {
    background: var(--pro-primary-dark) !important;
    box-shadow: 0 12px 28px rgba(169, 31, 45, 0.24) !important;
    outline: none;
}

.rb-search-btn[disabled] {
    background: #e6a0a6 !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

.rb-loading {
    min-height: 20px;
    color: var(--pro-muted) !important;
    font-size: 0.86rem !important;
    font-weight: 650 !important;
    text-align: center;
}

.rb-city-suggestions {
    top: calc(100% + 8px) !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    box-shadow: 0 18px 40px rgba(20, 27, 38, 0.16) !important;
    overflow: hidden !important;
    z-index: 30 !important;
}

.rb-city-suggestion {
    min-height: 46px !important;
    padding: 11px 14px !important;
    color: var(--pro-ink) !important;
    font-weight: 650 !important;
}

.rb-city-suggestion:hover,
.rb-city-suggestion[aria-selected="true"] {
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
}

.rb-city-suggestion-empty,
.rb-city-suggestion-summary {
    color: var(--pro-muted) !important;
}

.pro-search-note {
    display: flex !important;
    margin-top: 18px !important;
    padding-top: 16px;
    border-top: 1px solid var(--pro-line);
}

.pro-search-note span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pro-search-note i {
    color: var(--pro-primary-dark);
}

.inline-link {
    color: var(--pro-primary-dark) !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.alert,
.validation-summary {
    border-radius: var(--pro-radius) !important;
}

.figma-results-page,
.figma-results-page *,
.figma-results-page *::before,
.figma-results-page *::after {
    box-sizing: border-box;
}

.figma-results-page {
    width: min(1180px, calc(100% - 32px)) !important;
    padding: 28px 0 48px !important;
    gap: 20px !important;
}

.figma-results-head {
    align-items: end !important;
    gap: 18px !important;
    padding-bottom: 4px;
}

.figma-results-head > div:first-child {
    display: grid;
    gap: 10px;
    max-width: 760px;
    min-width: 0;
}

.figma-results-head .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: clamp(1.9rem, 3vw, 2.75rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
}

.figma-results-head p {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.figma-results-page .figma-pill-row {
    justify-content: flex-end;
    max-width: 460px;
}

.figma-results-page .rb-status-pill,
.figma-results-page .rb-soft-pill {
    min-height: 32px !important;
    border-color: var(--pro-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
}

.figma-results-page .rb-status-pill.is-accent,
.figma-results-page .rb-soft-pill {
    border-color: rgba(216, 59, 70, 0.18) !important;
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
}

.rb-results-layout {
    grid-template-columns: 292px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
}

.rb-results-main-column {
    min-width: 0;
    gap: 14px !important;
}

.rb-filter-panel {
    gap: 16px !important;
    position: sticky !important;
    top: 24px !important;
    padding: 18px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-surface) !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.rb-filter-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 !important;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--pro-line);
}

.rb-filter-header .section-title {
    margin: 0 0 4px !important;
    color: var(--pro-ink) !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

.rb-filter-header .muted {
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
}

.rb-filter-clear {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 0 10px !important;
    border: 1px solid rgba(216, 59, 70, 0.18) !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
}

.rb-filter-clear:hover,
.rb-filter-clear:focus-visible,
.rb-filter-tag:hover,
.rb-filter-tag:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    outline: none;
}

.rb-filter-stack,
.rb-filter-block {
    gap: 16px !important;
}

.rb-filter-block {
    padding: 0 0 16px !important;
    border-bottom: 1px solid var(--pro-line) !important;
}

.rb-filter-panel > .rb-filter-block:last-child,
.rb-filter-stack > .rb-filter-block:last-child {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

.rb-filter-block-head {
    gap: 9px !important;
    color: var(--pro-ink) !important;
    font-size: 0.88rem !important;
    font-weight: 850 !important;
}

.rb-filter-block-head i {
    width: 18px;
    color: var(--pro-primary-dark);
    text-align: center;
}

.rb-filter-check-group {
    gap: 8px !important;
}

.rb-filter-checkbox {
    min-height: 34px;
    gap: 10px !important;
    color: #454d5c !important;
    font-size: 0.88rem !important;
    font-weight: 650 !important;
}

.rb-filter-checkbox input {
    width: 16px;
    height: 16px;
    accent-color: var(--pro-primary) !important;
}

.figma-results-page .summary-item {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
}

.figma-results-page .summary-item strong {
    color: var(--pro-primary-dark) !important;
    font-size: 0.88rem !important;
}

.rb-policy-strip {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-top: 8px !important;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
}

.rb-policy-strip i {
    flex: 0 0 auto;
    /* margin-top: 4px; */
    color: var(--pro-primary-dark);
}

.rb-policy-strip strong {
    display: block;
    color: var(--pro-ink) !important;
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
    font-weight: 750 !important;
    overflow-wrap: anywhere;
}

.rb-range {
    width: 100% !important;
    accent-color: var(--pro-primary) !important;
}

.rb-filter-sortbar {
    gap: 8px !important;
}

.rb-filter-tag {
    min-height: 34px !important;
    padding: 0 11px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: #4b5565 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
}

.rb-filter-tag.is-active {
    border-color: var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.figma-results-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.figma-results-toolbar-copy {
    min-width: 0;
}

.figma-results-toolbar-copy strong {
    color: var(--pro-ink) !important;
    font-size: 0.92rem !important;
    font-weight: 850 !important;
}

.figma-results-toolbar-copy span {
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
}

.rb-results-list {
    gap: 14px !important;
}

.rb-result-card {
    padding: 0 !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
    overflow: hidden !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.rb-result-card:hover {
    border-color: #cfd6df !important;
    box-shadow: var(--pro-shadow) !important;
    transform: translateY(-1px);
}

.rb-result-shell {
    grid-template-columns: minmax(0, 1fr) 188px !important;
    gap: 0 !important;
    min-width: 0;
}

.rb-result-main {
    min-width: 0;
    gap: 18px !important;
    padding: 20px !important;
}

.rb-result-title-row {
    gap: 12px !important;
    align-items: flex-start !important;
}

.rb-result-title-row h2 {
    margin: 0 0 4px !important;
    color: var(--pro-ink) !important;
    font-size: 1.08rem !important;
    line-height: 1.3 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere;
}

.rb-result-title-row .muted {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.86rem !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

.rb-result-pills {
    flex: 0 0 auto;
    gap: 7px !important;
}

.rb-result-rating-pill {
    min-height: 30px !important;
    padding: 0 10px !important;
    border-radius: var(--pro-radius) !important;
    background: #eaf7ee !important;
    color: #217244 !important;
    font-size: 0.78rem !important;
    font-weight: 850 !important;
}

.rb-result-rating-pill i {
    font-size: 0.72rem;
}

.rb-route-strip {
    grid-template-columns: minmax(110px, 1fr) minmax(120px, 0.8fr) minmax(110px, 1fr) !important;
    gap: 14px !important;
    padding: 14px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
}

.rb-route-point {
    min-width: 0;
}

.rb-route-point strong {
    color: var(--pro-ink) !important;
    font-size: 1.06rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

.rb-route-point span,
.rb-route-duration,
.rb-result-price-label {
    color: var(--pro-muted) !important;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

.rb-route-point span {
    overflow-wrap: anywhere;
}

.rb-route-mid {
    min-width: 0;
    gap: 7px !important;
}

.rb-route-line {
    border-color: rgba(216, 59, 70, 0.28) !important;
}

.rb-result-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.rb-result-meta > div {
    min-width: 0;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
}

.rb-meta-label {
    display: block;
    color: var(--pro-muted) !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em;
    line-height: 1.25;
    text-transform: uppercase;
}

.rb-result-meta strong {
    margin-top: 5px !important;
    color: var(--pro-ink) !important;
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    overflow-wrap: anywhere;
}

.rb-result-amenities {
    gap: 8px !important;
}

.rb-amenity-icon {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 0 9px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fff;
    color: #4b5565;
    font-size: 0.78rem;
    font-weight: 750;
}

.rb-amenity-icon i {
    color: var(--pro-primary-dark);
}

.rb-result-price-panel {
    justify-content: center !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 20px !important;
    border-left: 1px solid var(--pro-line) !important;
    background: #fbfcfd !important;
    text-align: right;
}

.rb-result-price-panel > div {
    display: grid;
    gap: 3px;
}

.rb-result-price-panel strong {
    color: var(--pro-primary-dark) !important;
    font-size: 1.45rem !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
}

.rb-result-seat-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    width: 100% !important;
    padding: 0 14px !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
    font-size: 0.92rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.rb-result-seat-btn:hover,
.rb-result-seat-btn:focus-visible {
    background: var(--pro-primary-dark) !important;
    color: #fff !important;
    outline: none;
}

.rb-results-pagination {
    gap: 8px !important;
    padding-top: 4px;
}

.rb-results-page-button {
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 13px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: #4b5565 !important;
    font-size: 0.84rem !important;
    font-weight: 850 !important;
}

.rb-results-page-button:hover,
.rb-results-page-button:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.rb-results-page-button.is-active {
    border-color: var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.rb-results-page-button[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

.rb-results-page-arrow {
    min-width: 88px !important;
}

.rb-results-page-gap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 40px;
    color: var(--pro-muted);
    font-size: 0.86rem;
    font-weight: 850;
}

.figma-results-page .empty-state {
    min-height: 260px !important;
    padding: 28px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
    color: var(--pro-muted) !important;
}

.figma-results-page .empty-state i {
    color: var(--pro-primary-dark);
}

.figma-results-page .empty-state strong {
    color: var(--pro-ink) !important;
}

.rb-seat-page,
.rb-seat-page *,
.rb-seat-page *::before,
.rb-seat-page *::after {
    box-sizing: border-box;
}

.rb-seat-page {
    width: min(1180px, calc(100% - 32px)) !important;
    padding: 24px 0 52px !important;
    gap: 18px !important;
}

.rb-step-progress {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.rb-step-progress-item {
    min-height: 48px !important;
    padding: 0 12px !important;
    border-radius: var(--pro-radius) !important;
    color: var(--pro-muted) !important;
    font-size: 0.9rem !important;
}

.rb-step-progress-item.is-active {
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
}

.rb-step-progress-item.is-complete {
    color: #217244 !important;
}

.rb-step-progress-badge {
    width: 28px !important;
    height: 28px !important;
    border: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: inherit !important;
    font-size: 0.82rem !important;
    font-weight: 900 !important;
}

.rb-step-progress-item.is-active .rb-step-progress-badge {
    border-color: transparent !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.rb-step-progress-item.is-complete .rb-step-progress-badge {
    border-color: transparent !important;
    background: #217244 !important;
    color: #fff !important;
}

.rb-seat-journey-strip {
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.rb-seat-journey-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.rb-seat-journey-grid > div {
    min-width: 0;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
}

.rb-seat-journey-grid strong {
    color: var(--pro-ink) !important;
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere;
}

.rb-seat-layout {
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 18px !important;
    align-items: start !important;
}

.rb-seat-coach,
.rb-seat-sidebar .panel {
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.rb-seat-coach {
    min-width: 0;
    gap: 18px !important;
    padding: 22px !important;
}

.rb-seat-header {
    align-items: flex-start !important;
    gap: 16px !important;
    margin: 0 !important;
}

.figma-seat-copy {
    display: grid;
    gap: 8px;
    max-width: 620px;
    min-width: 0;
}

.rb-seat-header .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: clamp(1.7rem, 2.4vw, 2.35rem) !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.rb-seat-header p,
.rb-summary-topline p,
.rb-summary-note,
.rb-why-list .muted {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
}

.rb-seat-legend {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    align-items: center;
    gap: 8px !important;
    padding: 8px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fbfcfd;
}

.legend-item {
    min-height: 30px;
    color: #4b5565 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    white-space: nowrap;
}

.legend-dot {
    width: 14px !important;
    height: 14px !important;
    border-radius: 4px !important;
}

.legend-dot.available {
    background: #fff !important;
    border-color: #b7c2ce !important;
}

.legend-dot.selected {
    background: var(--pro-primary) !important;
    border-color: var(--pro-primary-dark) !important;
}

.legend-dot.booked {
    background: #e5e8ee !important;
    border-color: #c7ced8 !important;
}

.rb-coach-shell {
    padding: 18px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #f8fafc !important;
    overflow-x: auto !important;
}

.rb-coach-stage {
    min-width: 360px;
    position: relative;
}

.rb-coach-wheel {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    right: 4px !important;
    top: 4px !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fff;
    color: var(--pro-muted) !important;
}

.rb-seat-page .rb-coach-surface {
    min-width: 0;
    padding: 42px 24px 58px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
}

.rb-seat-page .seat-layout {
    display: grid !important;
    width: fit-content;
    margin: 0 auto;
    grid-template-columns: repeat(4, 44px) !important;
    gap: 10px 64px !important;
    justify-content: center;
    padding: 18px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #f3f6f9 !important;
}

.rb-seat-page .seat {
    min-height: 52px !important;
    min-width: 44px;
    width: 44px !important;
    padding: 0 8px;
    border: 1px solid #cfd6df !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: var(--pro-ink) !important;
    font-size: 0.84rem !important;
    font-weight: 850 !important;
    line-height: 1.1;
    box-shadow: none !important;
    touch-action: manipulation;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.rb-seat-page .seat:hover:not(.unavailable),
.rb-seat-page .seat:focus-visible {
    border-color: rgba(216, 59, 70, 0.42) !important;
    box-shadow: var(--pro-focus) !important;
    outline: none;
    transform: none !important;
}

.rb-seat-page .seat.selected,
.rb-seat-page .seat.is-selected {
    border-color: var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.rb-seat-page .seat.unavailable {
    border-color: #dfe4ea !important;
    background: #edf0f4 !important;
    color: #8791a1 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

.rb-seat-page .seat.ladies:not(.unavailable):not(.is-selected):not(.selected) {
    border-color: #d688b0 !important;
    background: #fff4f8 !important;
    color: #9a3567 !important;
}

.rb-coach-front-marker {
    min-height: 34px;
    margin-top: 16px !important;
    padding: 0 10px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fff;
    color: var(--pro-muted) !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
}

.rb-coach-front-marker i {
    color: var(--pro-primary-dark) !important;
}

.rb-boarding-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.rb-seat-page .field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.rb-seat-page .field label {
    color: #667085 !important;
    font-size: 0.76rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.rb-seat-select {
    min-height: 50px !important;
    width: 100% !important;
    padding: 0 12px !important;
    border: 1px solid var(--pro-line-strong) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: var(--pro-ink) !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
}

.rb-seat-select:focus {
    border-color: var(--pro-primary) !important;
    box-shadow: var(--pro-focus) !important;
    outline: none !important;
}

.rb-seat-sidebar {
    gap: 14px !important;
    position: sticky !important;
    top: 24px !important;
}

.rb-seat-sidebar .panel {
    padding: 18px !important;
}

.rb-summary-topline {
    display: grid;
    gap: 6px;
    margin: 0 0 14px !important;
}

.rb-summary-topline .rb-kicker {
    width: fit-content;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: 999px;
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
    font-size: 0.76rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.rb-summary-topline .section-title,
.rb-seat-sidebar .section-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

.rb-summary-panel .summary-list,
.rb-seat-summary-card {
    gap: 0 !important;
}

.rb-summary-panel .summary-item,
.rb-seat-summary-card .summary-item {
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--pro-line);
    color: var(--pro-muted) !important;
    font-size: 0.88rem !important;
}

.rb-summary-panel .summary-item strong,
.rb-seat-summary-card .summary-item strong {
    color: var(--pro-ink) !important;
    font-size: 0.9rem !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere;
    text-align: right;
}

.rb-policy-summary {
    align-items: flex-start !important;
}

.rb-policy-summary strong {
    max-width: 62%;
    line-height: 1.45 !important;
}

.rb-selection-pill {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px;
    margin: 6px 0 4px;
    padding: 10px 12px;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
    font-weight: 850;
}

.rb-selection-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: var(--pro-radius);
    background: var(--pro-primary);
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
}

.rb-summary-total {
    align-items: center;
    padding: 14px 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--pro-line);
}

.rb-summary-total span {
    color: var(--pro-ink) !important;
    font-size: 0.9rem !important;
    font-weight: 850 !important;
}

.rb-summary-total strong {
    color: var(--pro-primary-dark) !important;
    font-size: 1.32rem !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

.rb-summary-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
    font-size: 0.94rem !important;
    font-weight: 850 !important;
}

.rb-summary-cta:hover,
.rb-summary-cta:focus-visible {
    background: var(--pro-primary-dark) !important;
    outline: none;
}

.rb-summary-note {
    margin-top: 10px !important;
    text-align: center;
}

.rb-why-list {
    gap: 12px !important;
}

.rb-why-list article {
    padding: 12px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fbfcfd;
}

.rb-why-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark) !important;
}

.rb-why-list strong {
    display: block;
    margin-bottom: 3px;
    color: var(--pro-ink);
    font-size: 0.9rem;
    font-weight: 850;
}

.figma-passenger-page,
.figma-passenger-page *,
.figma-passenger-page *::before,
.figma-passenger-page *::after {
    box-sizing: border-box;
}

.figma-passenger-page {
    width: min(1180px, calc(100% - 32px)) !important;
    padding: 24px 0 52px !important;
    gap: 18px !important;
}

.figma-passenger-head {
    align-items: end !important;
    gap: 18px !important;
    margin-top: 8px;
}

.figma-passenger-copy {
    display: grid;
    gap: 8px;
    max-width: 720px;
    min-width: 0;
}

.figma-passenger-copy .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    -webkit-text-fill-color: var(--pro-ink) !important;
    font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.figma-passenger-copy p {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.figma-passenger-page .figma-support-pills {
    justify-content: flex-end;
    max-width: 420px;
}

.figma-passenger-page .figma-support-pills span {
    min-height: 32px !important;
    border-color: var(--pro-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
}

.figma-passenger-layout {
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 18px !important;
    align-items: start !important;
}

.figma-passenger-form,
.figma-passenger-sidebar {
    min-width: 0;
}

.figma-passenger-form {
    gap: 16px !important;
    padding: 22px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.figma-passenger-form > .section-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: 1.08rem !important;
    font-weight: 850 !important;
}

.passenger-card,
.rb-gst-card,
.rb-insurance-card,
.rb-coupon-card {
    gap: 14px !important;
    padding: 16px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
    box-shadow: none !important;
}

.passenger-card .section-title,
.rb-gst-card .section-title,
.rb-insurance-card .section-title,
.rb-coupon-card .section-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: 0.98rem !important;
    line-height: 1.3 !important;
    font-weight: 850 !important;
}

.figma-passenger-page .form-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.figma-passenger-page .field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.figma-passenger-page .field label {
    color: #667085 !important;
    font-size: 0.76rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.figma-passenger-page .input {
    min-height: 50px !important;
    width: 100% !important;
    padding: 0 12px !important;
    border: 1px solid var(--pro-line-strong) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: var(--pro-ink) !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
}

.figma-passenger-page .input::placeholder {
    color: #7b8494 !important;
    font-weight: 600 !important;
}

.figma-passenger-page .input:focus {
    border-color: var(--pro-primary) !important;
    box-shadow: var(--pro-focus) !important;
    outline: none !important;
}

.rb-check-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
}

.rb-check-row input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--pro-primary);
}

.rb-check-row label {
    margin: 0;
    color: #4b5565;
    font-size: 0.9rem;
    line-height: 1.45;
    font-weight: 700;
}

.rb-coupon-card .muted {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
}

.rb-offer-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.rb-offer-code {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 12px;
    border: 1px dashed rgba(216, 59, 70, 0.32);
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
    font-size: 0.9rem;
    font-weight: 850;
}

.figma-passenger-page .btn.primary,
.figma-passenger-page .btn.secondary {
    min-height: 50px !important;
    border-radius: var(--pro-radius) !important;
    font-size: 0.94rem !important;
    font-weight: 850 !important;
}

.figma-passenger-page .btn.primary {
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.figma-passenger-page .btn.primary:hover,
.figma-passenger-page .btn.primary:focus-visible {
    background: var(--pro-primary-dark) !important;
    outline: none;
}

.figma-passenger-page .btn.secondary {
    border: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: #4b5565 !important;
}

.figma-passenger-page .btn.secondary:hover,
.figma-passenger-page .btn.secondary:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.rb-passenger-actions {
    grid-template-columns: minmax(220px, 1fr) minmax(160px, auto);
    align-items: center;
}

.figma-passenger-sidebar {
    gap: 14px !important;
    position: sticky !important;
    top: 24px !important;
}

.figma-passenger-sidebar > .rb-summary-topline,
.figma-trip-summary,
.figma-sidebar-list {
    padding: 18px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.figma-trip-summary {
    display: grid;
    gap: 14px;
}

.figma-trip-route {
    padding: 12px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fbfcfd;
}

.figma-trip-route strong {
    display: block;
    margin-top: 5px;
    color: var(--pro-ink);
    font-size: 0.92rem;
    line-height: 1.35;
    font-weight: 850;
}

.figma-trip-summary-list {
    display: grid;
    gap: 0;
}

.figma-trip-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--pro-line);
}

.figma-trip-summary-row span {
    color: var(--pro-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.figma-trip-summary-row strong {
    color: var(--pro-ink);
    font-size: 0.86rem;
    line-height: 1.35;
    font-weight: 850;
    text-align: right;
    overflow-wrap: anywhere;
}

.figma-passenger-page .rb-summary-total {
    border-bottom: 0;
}

.figma-sidebar-list {
    gap: 12px !important;
}

.figma-sidebar-list article {
    padding: 12px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fbfcfd;
}

.figma-sidebar-list article > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark) !important;
}

.figma-sidebar-list strong {
    display: block;
    margin-bottom: 3px;
    color: var(--pro-ink);
    font-size: 0.9rem;
    font-weight: 850;
}

.rb-review-page,
.rb-review-page *,
.rb-review-page *::before,
.rb-review-page *::after {
    box-sizing: border-box;
}

.rb-review-page {
    width: min(1180px, calc(100% - 32px)) !important;
    padding: 24px 0 52px !important;
    gap: 18px !important;
}

.figma-review-head {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.figma-review-copy {
    display: grid;
    gap: 8px;
    max-width: 720px;
    min-width: 0;
}

.figma-review-copy .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.figma-review-copy p {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.rb-review-page .figma-support-pills {
    justify-content: flex-end;
    max-width: 420px;
}

.rb-review-page .figma-support-pills span {
    min-height: 32px !important;
    border-color: var(--pro-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
}

.figma-review-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
}

.rb-review-card {
    width: min(100%, 820px) !important;
    gap: 16px !important;
    padding: 22px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.figma-review-toplink {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: fit-content;
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fbfcfd;
    color: #4b5565 !important;
    font-size: 0.84rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.figma-review-toplink:hover,
.figma-review-toplink:focus-visible {
    border-color: rgba(216, 59, 70, 0.34);
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.rb-review-page .figma-review-summary,
.rb-review-page .figma-review-passengers,
.rb-review-page .figma-shell-card {
    gap: 16px !important;
    padding: 18px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
    box-shadow: none !important;
}

.rb-review-page .figma-review-route {
    gap: 12px !important;
    align-items: flex-start !important;
}

.figma-review-route-mark {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: var(--pro-radius) !important;
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
}

.figma-review-route-copy {
    min-width: 0;
}

.figma-review-route-copy strong {
    color: var(--pro-ink) !important;
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere;
}

.figma-review-route-copy span {
    color: var(--pro-muted) !important;
    font-size: 0.9rem !important;
    line-height: 1.45 !important;
}

.rb-review-page .figma-detail-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.rb-review-page .figma-detail-grid > div,
.rb-review-page .figma-manifest-field {
    min-width: 0;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
}

.rb-review-page .figma-detail-grid span,
.rb-review-page .figma-manifest-field span {
    display: block;
    color: var(--pro-muted) !important;
    font-size: 0.72rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em;
    line-height: 1.25;
    text-transform: uppercase;
}

.rb-review-page .figma-detail-grid strong,
.rb-review-page .figma-manifest-field strong {
    display: block;
    margin-top: 5px;
    color: var(--pro-ink) !important;
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere;
}

.rb-review-page .figma-review-points {
    gap: 0 !important;
    padding: 12px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fff;
}

.rb-review-page .figma-review-points .summary-item {
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--pro-line);
    color: var(--pro-muted) !important;
    font-size: 0.88rem !important;
}

.rb-review-page .figma-review-points .summary-item:last-child {
    border-bottom: 0;
}

.rb-review-page .figma-review-points .summary-item strong {
    color: var(--pro-ink) !important;
    font-weight: 850 !important;
    text-align: right;
    overflow-wrap: anywhere;
}

.rb-review-page .figma-review-total {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 14px !important;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
}

.figma-review-total span,
.figma-review-total small {
    display: block;
}

.figma-review-total span {
    color: var(--pro-ink);
    font-size: 0.9rem;
    font-weight: 850;
}

.figma-review-total small {
    color: var(--pro-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.figma-review-total strong {
    flex: 0 0 auto;
    color: var(--pro-primary-dark) !important;
    font-size: 1.55rem !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
}

.figma-manifest-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.figma-manifest-head .section-title,
.rb-review-page .figma-shell-card .section-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

.figma-manifest-head > span {
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: 999px;
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark) !important;
    font-size: 0.78rem !important;
    font-weight: 850 !important;
}

.figma-manifest-list {
    display: grid;
    gap: 12px !important;
}

.figma-manifest-item {
    gap: 12px !important;
    padding: 14px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
}

.figma-manifest-person {
    align-items: center !important;
    gap: 12px !important;
}

.figma-manifest-person strong {
    color: var(--pro-ink) !important;
    font-size: 0.98rem !important;
    line-height: 1.3 !important;
    font-weight: 850 !important;
}

.figma-manifest-person span:not(.figma-seat-pill) {
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
}

.figma-seat-pill {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid var(--pro-primary);
    border-radius: var(--pro-radius);
    background: var(--pro-primary);
    color: #fff !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
}

.figma-manifest-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.figma-payment-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 14px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
}

.figma-payment-brand {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    min-width: 0;
}

.figma-payment-brand > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
}

.figma-payment-brand strong {
    display: block;
    color: var(--pro-ink);
    font-size: 0.96rem;
    line-height: 1.3;
    font-weight: 850;
}

.figma-payment-brand span {
    display: block;
    margin-top: 3px;
    color: var(--pro-muted) !important;
    font-size: 0.86rem !important;
    line-height: 1.45 !important;
}

.figma-payment-card > .fa-circle-check {
    flex: 0 0 auto;
    color: #217244 !important;
    font-size: 1.1rem;
}

.figma-review-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    width: 100% !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
}

.figma-review-submit:hover,
.figma-review-submit:focus-visible {
    background: var(--pro-primary-dark) !important;
    outline: none;
}

.figma-review-trust {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 34px;
    color: var(--pro-muted) !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    text-align: center;
}

.figma-review-trust i {
    color: var(--pro-primary-dark);
}

.figma-success-page,
.figma-success-page *,
.figma-success-page *::before,
.figma-success-page *::after {
    box-sizing: border-box;
}

.figma-success-page {
    width: min(1040px, calc(100% - 32px)) !important;
    max-width: none !important;
    display: grid !important;
    gap: 18px !important;
    padding: 24px 0 52px !important;
    margin: 0 auto !important;
    color: var(--pro-ink) !important;
    text-align: left !important;
}

.figma-success-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.figma-success-copy {
    display: grid;
    gap: 8px;
    max-width: 720px;
    min-width: 0;
}

.figma-success-copy .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.figma-success-copy p {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.figma-success-page .figma-support-pills {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    max-width: 420px;
    flex-wrap: wrap;
}

.figma-success-page .figma-support-pills span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px !important;
    padding: 0 11px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

.figma-success-page .figma-support-pills i {
    color: var(--pro-primary-dark) !important;
}

.figma-success-card {
    min-width: 0;
    padding: 22px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.figma-success-summary {
    display: grid;
    gap: 16px;
}

.figma-success-state,
.figma-success-empty {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(23, 114, 69, 0.2);
    border-radius: var(--pro-radius);
    background: linear-gradient(180deg, rgba(23, 114, 69, 0.08), rgba(255, 255, 255, 0.95));
}

.figma-success-mark,
.figma-success-empty > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: var(--pro-radius);
    background: #177245;
    color: #fff;
    font-size: 1rem;
}

.figma-success-empty > i {
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
}

.figma-success-state strong,
.figma-success-empty strong {
    display: block;
    color: var(--pro-ink);
    font-size: 1.02rem;
    line-height: 1.35;
    font-weight: 850;
}

.figma-success-state span:not(.figma-success-mark),
.figma-success-empty span {
    display: block;
    margin-top: 4px;
    color: var(--pro-muted);
    font-size: 0.9rem;
    line-height: 1.48;
}

.figma-success-meta.summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
}

.figma-success-meta .meta-box {
    min-width: 0;
    padding: 14px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
    box-shadow: none !important;
}

.figma-success-meta .meta-label {
    display: block;
    margin-bottom: 7px;
    color: #667085 !important;
    font-size: 0.73rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.figma-success-meta .meta-value {
    display: block;
    color: var(--pro-ink) !important;
    font-size: 0.94rem !important;
    line-height: 1.38 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere;
}

.figma-success-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr) !important;
    gap: 18px !important;
}

.figma-success-card .section-title {
    margin: 0 0 16px !important;
    color: var(--pro-ink) !important;
    font-size: 1.04rem !important;
    line-height: 1.3 !important;
    font-weight: 850 !important;
}

.figma-ticket-placeholder {
    width: min(100%, 180px) !important;
    height: 180px !important;
    margin: 0 auto 16px !important;
    border: 1px dashed rgba(216, 59, 70, 0.34) !important;
    border-radius: var(--pro-radius) !important;
    background: linear-gradient(180deg, var(--pro-primary-soft), #fff) !important;
    color: var(--pro-primary-dark) !important;
}

.ticket-placeholder-center {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 12px;
    text-align: center;
}

.ticket-placeholder-icon {
    color: var(--pro-primary-dark) !important;
    font-size: 2rem !important;
}

.figma-ticket-placeholder p {
    max-width: 140px;
    margin: 0 !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    line-height: 1.42 !important;
    font-weight: 700 !important;
}

.figma-success-page .summary-list {
    display: grid;
    gap: 10px;
}

.figma-success-page .summary-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-height: 50px;
    padding: 12px 14px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
}

.figma-success-page .summary-item span {
    color: var(--pro-muted) !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.figma-success-page .summary-item strong {
    color: var(--pro-ink) !important;
    font-size: 0.88rem !important;
    line-height: 1.38 !important;
    font-weight: 850 !important;
    text-align: right;
}

.figma-center-actions {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.figma-success-page > .figma-center-actions {
    justify-content: flex-start !important;
    padding-top: 2px;
}

.figma-success-page .btn.primary,
.figma-success-page .btn.secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border-radius: var(--pro-radius) !important;
    font-size: 0.92rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.figma-success-page .btn.primary {
    border: 1px solid var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.figma-success-page .btn.primary:hover,
.figma-success-page .btn.primary:focus-visible {
    background: var(--pro-primary-dark) !important;
    border-color: var(--pro-primary-dark) !important;
    outline: none;
}

.figma-success-page .btn.secondary {
    border: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: #4b5565 !important;
}

.figma-success-page .btn.secondary:hover,
.figma-success-page .btn.secondary:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.figma-success-page .btn[disabled],
.figma-success-page .btn:disabled {
    border-color: var(--pro-line) !important;
    background: #f2f4f7 !important;
    color: #98a2b3 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

.my-bookings-page,
.my-bookings-page *,
.my-bookings-page *::before,
.my-bookings-page *::after {
    box-sizing: border-box;
}

.my-bookings-page {
    color: var(--pro-ink);
}

.my-bookings-page .profile-banner {
    padding: 24px 0 0 !important;
    background: transparent !important;
    color: var(--pro-ink) !important;
}

.my-bookings-page .container {
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.my-bookings-page .rb-profile-hero {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.my-bookings-page .rb-profile-hero > div:first-child {
    display: grid;
    gap: 8px;
    max-width: 760px;
    min-width: 0;
}

.my-bookings-page .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.my-bookings-page .rb-profile-hero p {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.my-bookings-page .badge-strip {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.my-bookings-page .badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 32px !important;
    padding: 0 11px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

.my-bookings-page .badge i {
    color: var(--pro-primary-dark);
}

.my-bookings-page .rb-profile-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 18px !important;
}

.my-bookings-page .rb-profile-stat-grid article {
    min-width: 0;
    padding: 16px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.my-bookings-page .profile-stat-title {
    display: block;
    margin: 5px 0 4px !important;
    color: var(--pro-ink) !important;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 850;
}

.my-bookings-page .profile-stat-copy {
    display: block;
    color: var(--pro-muted) !important;
    font-size: 0.84rem !important;
    line-height: 1.45;
}

.my-bookings-page .profile-content {
    padding-top: 18px !important;
    padding-bottom: 52px !important;
}

.my-bookings-page .rb-profile-shell.profile-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 310px !important;
    gap: 18px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.my-bookings-page .rb-profile-main,
.my-bookings-page .rb-profile-sidebar {
    min-width: 0;
}

.my-bookings-page .rb-profile-sidebar {
    display: grid;
    align-content: start;
    gap: 14px;
}

.my-bookings-page .panel {
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.my-bookings-page .profile-panel-flush {
    padding: 0 !important;
    overflow: hidden;
}

.my-bookings-page .booking-tabs {
    display: flex !important;
    gap: 6px !important;
    padding: 10px !important;
    border-bottom: 1px solid var(--pro-line) !important;
    background: #fbfcfd !important;
    overflow-x: auto;
}

.my-bookings-page .rb-bookings-tab {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    border: 1px solid transparent !important;
    border-radius: var(--pro-radius) !important;
    background: transparent !important;
    color: #596274 !important;
    font-size: 0.88rem !important;
    font-weight: 850 !important;
    white-space: nowrap;
}

.my-bookings-page .rb-bookings-tab:hover,
.my-bookings-page .rb-bookings-tab:focus-visible {
    border-color: rgba(216, 59, 70, 0.22) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.my-bookings-page .rb-bookings-tab.is-active {
    border-color: rgba(216, 59, 70, 0.24) !important;
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
}

.my-bookings-page .booking-panel-body {
    display: grid;
    gap: 16px;
    padding: 18px !important;
}

.my-bookings-page .table-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.my-bookings-page .table-card-head .section-title,
.my-bookings-page .rb-profile-sidebar .section-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
}

.my-bookings-page .booking-table-note {
    margin: 4px 0 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
}

.my-bookings-page .compact-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 0 13px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: #4b5565 !important;
    font-size: 0.84rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.my-bookings-page .compact-secondary:hover,
.my-bookings-page .compact-secondary:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.my-bookings-page .table-scroll {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fff;
}

.my-bookings-page .rb-bookings-table {
    min-width: 980px;
    width: 100%;
    border-collapse: collapse !important;
}

.my-bookings-page .rb-bookings-table th,
.my-bookings-page .rb-bookings-table td {
    padding: 12px 14px !important;
    border-bottom: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: var(--pro-ink);
    vertical-align: middle !important;
}

.my-bookings-page .rb-bookings-table th {
    background: #fbfcfd !important;
    color: #667085 !important;
    font-size: 0.72rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.my-bookings-page .rb-bookings-table tr:last-child td {
    border-bottom: 0 !important;
}

.my-bookings-page .rb-bookings-table tr:hover td {
    background: #fffafa !important;
}

.my-bookings-page .route-inline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 260px;
    color: var(--pro-ink);
    font-weight: 800;
    white-space: normal;
}

.my-bookings-page .route-arrow {
    flex: 0 0 auto;
    color: var(--pro-primary-dark);
    font-size: 0.72rem;
}

.my-bookings-page .fare-strong {
    color: var(--pro-ink) !important;
    font-size: 0.9rem;
    font-weight: 850;
    white-space: nowrap;
}

.my-bookings-page .rb-soft-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--pro-line);
    border-radius: 999px;
    background: #f2f4f7;
    color: #4b5565;
    font-size: 0.76rem;
    font-weight: 850;
    white-space: nowrap;
}

.my-bookings-page .rb-status-confirmed,
.my-bookings-page .rb-status-completed {
    border-color: rgba(23, 114, 69, 0.24);
    background: rgba(23, 114, 69, 0.08);
    color: #12613a;
}

.my-bookings-page .rb-status-pending {
    border-color: rgba(180, 106, 0, 0.24);
    background: rgba(180, 106, 0, 0.08);
    color: #8a5300;
}

.my-bookings-page .rb-status-cancelled {
    border-color: rgba(185, 28, 28, 0.18);
    background: rgba(185, 28, 28, 0.07);
    color: #991b1b;
}

.my-bookings-page .rb-quick-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 34px;
    margin: 2px 4px 2px 0;
    padding: 0 10px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: #4b5565 !important;
    font-size: 0.8rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.my-bookings-page .rb-quick-action:hover,
.my-bookings-page .rb-quick-action:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.my-bookings-page .empty-state td,
.my-bookings-page .rb-bookings-table .empty-state td {
    padding: 26px !important;
    color: var(--pro-muted) !important;
    font-size: 0.94rem !important;
    font-weight: 750 !important;
    text-align: left !important;
}

.my-bookings-page .rb-bookings-table tr.empty-state {
    display: table-row;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.my-bookings-page .rb-bookings-table tr.empty-state td::before {
    content: none !important;
}

.my-bookings-page .rb-profile-sidebar .panel {
    padding: 18px !important;
}

.my-bookings-page .rb-profile-meta {
    display: flex;
    align-items: center;
    gap: 12px;
}

.my-bookings-page .rb-profile-avatar-lg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: var(--pro-radius);
    background: var(--pro-primary);
    color: #fff;
    font-size: 1.08rem;
    font-weight: 900;
}

.my-bookings-page .rb-profile-meta strong {
    display: block;
    color: var(--pro-ink);
    font-size: 0.98rem;
    line-height: 1.35;
    font-weight: 850;
}

.my-bookings-page .small-muted {
    display: block;
    color: var(--pro-muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.my-bookings-page .account-action-row {
    margin-top: 14px !important;
}

.my-bookings-page .account-action-row .btn {
    width: 100%;
}

.my-bookings-page .summary-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.my-bookings-page .summary-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 48px;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
}

.my-bookings-page .summary-item span {
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.my-bookings-page .summary-item strong {
    color: var(--pro-ink) !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    text-align: right;
}

.my-bookings-page .inline-link {
    color: var(--pro-primary-dark) !important;
    text-decoration: none !important;
}

.my-bookings-page .inline-link:hover,
.my-bookings-page .inline-link:focus-visible {
    text-decoration: underline !important;
    outline: none;
}

.my-bookings-page .support-note-panel {
    border-color: rgba(216, 59, 70, 0.18) !important;
    background: linear-gradient(180deg, var(--pro-primary-soft), #fff) !important;
}

.my-bookings-page .panel-title-inline {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--pro-ink);
}

.my-bookings-page .panel-title-inline i {
    color: var(--pro-primary-dark);
}

.my-bookings-page .panel-title-inline strong {
    font-size: 0.98rem;
    font-weight: 850;
}

.booking-details-page,
.booking-details-page *,
.booking-details-page *::before,
.booking-details-page *::after {
    box-sizing: border-box;
}

.booking-details-page {
    width: min(1180px, calc(100% - 32px));
    display: grid;
    gap: 18px;
    padding: 24px 0 52px;
    margin: 0 auto;
    color: var(--pro-ink);
}

.booking-details-page .alert {
    margin: 0;
}

.booking-details-page .summary-card,
.booking-details-page .grid-card,
.booking-details-page .booking-side-panel .panel {
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.booking-details-page .summary-card,
.booking-details-page .grid-card {
    padding: 22px !important;
}

.booking-details-head.summary-card.accent {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.booking-details-page .page-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.booking-details-page .page-intro > div:first-child {
    display: grid;
    gap: 8px;
    max-width: 760px;
    min-width: 0;
}

.booking-details-page .booking-details-head.summary-card.accent .page-title,
.booking-details-page .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.booking-details-page .page-intro p,
.booking-details-page .muted {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.94rem !important;
    line-height: 1.5 !important;
}

.booking-details-page .badge-strip {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.booking-details-page .booking-details-head.summary-card.accent .badge,
.booking-details-page .badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 32px !important;
    padding: 0 11px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

.booking-details-page .badge i {
    color: var(--pro-primary-dark);
}

.booking-details-page .manage-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 310px !important;
    gap: 18px !important;
}

.booking-details-page .manage-layout > div,
.booking-details-page .booking-side-panel {
    min-width: 0;
}

.booking-details-page .manage-layout > div {
    display: grid;
    gap: 18px;
}

.booking-details-page .table-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.booking-details-page .section-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
}

.booking-detail-status {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 16px;
    margin-bottom: 16px;
    border: 1px solid rgba(23, 114, 69, 0.2);
    border-radius: var(--pro-radius);
    background: linear-gradient(180deg, rgba(23, 114, 69, 0.08), rgba(255, 255, 255, 0.95));
}

.booking-detail-status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: var(--pro-radius);
    background: #177245;
    color: #fff;
    font-size: 1rem;
}

.booking-detail-status strong {
    display: block;
    color: var(--pro-ink);
    font-size: 1.02rem;
    line-height: 1.35;
    font-weight: 850;
}

.booking-detail-status span:not(.booking-detail-status-icon) {
    display: block;
    margin-top: 4px;
    color: var(--pro-muted);
    font-size: 0.9rem;
    line-height: 1.48;
}

.booking-detail-empty {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fbfcfd;
}

.booking-detail-empty > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
}

.booking-detail-empty strong {
    display: block;
    color: var(--pro-ink);
    font-size: 1.02rem;
    line-height: 1.35;
    font-weight: 850;
}

.booking-detail-empty span {
    display: block;
    margin-top: 4px;
    color: var(--pro-muted);
    font-size: 0.9rem;
    line-height: 1.48;
}

.booking-detail-meta.summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 0 16px !important;
}

.booking-detail-meta .meta-box {
    min-width: 0;
    padding: 14px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
    box-shadow: none !important;
}

.booking-detail-meta .meta-label {
    display: block;
    margin-bottom: 7px;
    color: #667085 !important;
    font-size: 0.73rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.booking-detail-meta .meta-value {
    display: block;
    color: var(--pro-ink) !important;
    font-size: 0.92rem !important;
    line-height: 1.4 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere;
}

.booking-details-page .support-status-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    margin-bottom: 16px;
    border: 1px solid rgba(216, 59, 70, 0.18);
    border-radius: var(--pro-radius);
    background: linear-gradient(180deg, var(--pro-primary-soft), #fff);
}

.booking-details-page .support-status-card-muted {
    border-color: var(--pro-line);
    background: #fbfcfd;
}

.booking-details-page .support-status-card > strong,
.booking-details-page .support-status-head strong {
    color: var(--pro-ink);
    font-size: 0.98rem;
    line-height: 1.35;
    font-weight: 850;
}

.booking-details-page .support-status-card > span {
    color: var(--pro-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.booking-details-page .support-status-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.booking-details-page .support-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.booking-details-page .queue-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid var(--pro-line);
    background: #f2f4f7;
    color: #4b5565;
    font-size: 0.76rem;
    font-weight: 850;
    white-space: nowrap;
}

.booking-details-page .queue-badge.success {
    border-color: rgba(23, 114, 69, 0.24);
    background: rgba(23, 114, 69, 0.08);
    color: #12613a;
}

.booking-details-page .queue-badge.warning {
    border-color: rgba(180, 106, 0, 0.24);
    background: rgba(180, 106, 0, 0.08);
    color: #8a5300;
}

.booking-details-page .queue-badge.danger {
    border-color: rgba(185, 28, 28, 0.18);
    background: rgba(185, 28, 28, 0.07);
    color: #991b1b;
}

.booking-details-page .note {
    margin: 0;
    color: var(--pro-muted);
    font-size: 0.84rem;
    line-height: 1.48;
}

.booking-details-page .btn-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 2px;
}

.booking-details-page .btn.primary,
.booking-details-page .btn.secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border-radius: var(--pro-radius) !important;
    font-size: 0.92rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.booking-details-page .btn.primary {
    border: 1px solid var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.booking-details-page .btn.primary:hover,
.booking-details-page .btn.primary:focus-visible {
    background: var(--pro-primary-dark) !important;
    border-color: var(--pro-primary-dark) !important;
    outline: none;
}

.booking-details-page .btn.secondary {
    border: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: #4b5565 !important;
}

.booking-details-page .btn.secondary:hover,
.booking-details-page .btn.secondary:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.booking-details-page .grid-card {
    overflow: hidden;
}

.booking-details-page .grid-card .section-title {
    margin-bottom: 16px !important;
}

.booking-details-page .data-table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse !important;
}

.booking-details-page .data-table th,
.booking-details-page .data-table td {
    padding: 12px 14px !important;
    border-bottom: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: var(--pro-ink);
    vertical-align: middle !important;
}

.booking-details-page .data-table th {
    background: #fbfcfd !important;
    color: #667085 !important;
    font-size: 0.72rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.booking-details-page .data-table tr:last-child td {
    border-bottom: 0 !important;
}

.booking-details-page .data-table tr.empty-state {
    display: table-row;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.booking-details-page .data-table tr.empty-state td {
    padding: 24px !important;
    color: var(--pro-muted) !important;
    font-size: 0.94rem !important;
    font-weight: 750 !important;
}

.booking-details-page .data-table tr.empty-state td::before {
    content: none !important;
}

.booking-details-page .booking-side-panel {
    display: grid;
    align-content: start;
    gap: 14px;
}

.booking-details-page .booking-side-panel .panel {
    padding: 18px !important;
}

.booking-details-page .summary-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.booking-details-page .summary-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 48px;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
}

.booking-details-page .summary-item span {
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.booking-details-page .summary-item strong {
    color: var(--pro-ink) !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    text-align: right;
}

.cancellation-request-page,
.cancellation-request-page *,
.cancellation-request-page *::before,
.cancellation-request-page *::after {
    box-sizing: border-box;
}

.cancellation-request-page {
    width: min(1180px, calc(100% - 32px));
    display: grid;
    gap: 18px;
    padding: 24px 0 52px;
    margin: 0 auto;
    color: var(--pro-ink);
}

.cancellation-request-page .alert,
.cancellation-request-page .validation-summary {
    margin: 0;
}

.cancellation-request-head.summary-card.accent {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.cancellation-request-page .page-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.cancellation-request-page .page-intro > div:first-child {
    display: grid;
    gap: 8px;
    max-width: 760px;
    min-width: 0;
}

.cancellation-request-page .cancellation-request-head.summary-card.accent .page-title,
.cancellation-request-page .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    -webkit-text-fill-color: var(--pro-ink) !important;
    font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.cancellation-request-page .page-intro p,
.cancellation-request-page .panel-intro,
.cancellation-request-page .note {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.94rem !important;
    line-height: 1.5 !important;
}

.cancellation-request-page .badge-strip {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.cancellation-request-page .cancellation-request-head.summary-card.accent .badge,
.cancellation-request-page .badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 32px !important;
    padding: 0 11px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

.cancellation-request-page .badge i {
    color: var(--pro-primary-dark);
}

.cancellation-request-page .support-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 18px !important;
}

.cancellation-request-page .support-layout > .panel,
.cancellation-request-page .booking-side-panel .panel {
    min-width: 0;
    padding: 22px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.cancellation-request-page .section-title {
    margin: 0 0 6px !important;
    color: var(--pro-ink) !important;
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
}

.cancellation-empty-context,
.cancellation-request-page .support-status-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 16px;
    margin: 16px 0;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fbfcfd;
}

.cancellation-request-page .support-status-card {
    display: grid;
    gap: 14px;
    border-color: rgba(216, 59, 70, 0.18);
    background: linear-gradient(180deg, var(--pro-primary-soft), #fff);
}

.cancellation-request-page .support-status-card-muted {
    border-color: var(--pro-line);
    background: #fbfcfd;
}

.cancellation-empty-context > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: var(--pro-radius);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
}

.cancellation-empty-context strong,
.cancellation-request-page .support-status-head strong {
    display: block;
    color: var(--pro-ink);
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 850;
}

.cancellation-empty-context span {
    display: block;
    margin-top: 4px;
    color: var(--pro-muted);
    font-size: 0.9rem;
    line-height: 1.48;
}

.cancellation-request-page .support-status-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cancellation-request-page .support-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.cancellation-request-page .queue-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(216, 59, 70, 0.2);
    border-radius: 999px;
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
    font-size: 0.76rem;
    font-weight: 850;
    white-space: nowrap;
}

.cancellation-request-page .queue-badge.success {
    border-color: rgba(34, 139, 94, 0.2);
    background: rgba(34, 139, 94, 0.08);
    color: #127647;
}

.cancellation-request-page .queue-badge.alert {
    border-color: rgba(180, 83, 9, 0.22);
    background: rgba(251, 191, 36, 0.12);
    color: #92400e;
}

.cancellation-request-page .cancellation-policy-card {
    border-color: rgba(34, 139, 94, 0.2);
    background: linear-gradient(180deg, rgba(34, 139, 94, 0.07), #fff);
}

.cancellation-request-page .cancellation-policy-card-muted {
    border-color: rgba(180, 83, 9, 0.22);
    background: #fffbeb;
}

.cancellation-request-page .form-grid.two {
    display: grid !important;
    grid-template-columns: minmax(240px, 0.72fr) minmax(260px, 1fr) !important;
    gap: 14px !important;
    margin-top: 16px;
}

.cancellation-request-page .field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.cancellation-request-page .field label {
    color: #667085 !important;
    font-size: 0.76rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.cancellation-request-page .input,
.cancellation-request-page .textarea {
    width: 100% !important;
    border: 1px solid var(--pro-line-strong) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: var(--pro-ink) !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
}

.cancellation-request-page .input {
    min-height: 50px !important;
    padding: 0 12px !important;
}

.cancellation-request-page .textarea {
    min-height: 118px !important;
    padding: 12px !important;
    resize: vertical;
}

.cancellation-request-page .textarea::placeholder {
    color: #7b8494 !important;
    font-weight: 600 !important;
}

.cancellation-request-page .input:focus,
.cancellation-request-page .textarea:focus {
    border-color: var(--pro-primary) !important;
    box-shadow: var(--pro-focus) !important;
    outline: none !important;
}

.cancellation-request-page .btn-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.cancellation-request-page .btn.primary,
.cancellation-request-page .btn.secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border-radius: var(--pro-radius) !important;
    font-size: 0.92rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.cancellation-request-page .btn.primary {
    border: 1px solid var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.cancellation-request-page .btn.primary:hover,
.cancellation-request-page .btn.primary:focus-visible {
    background: var(--pro-primary-dark) !important;
    border-color: var(--pro-primary-dark) !important;
    outline: none;
}

.cancellation-request-page .btn.secondary {
    border: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: #4b5565 !important;
}

.cancellation-request-page .btn.secondary:hover,
.cancellation-request-page .btn.secondary:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.cancellation-request-page .booking-side-panel {
    min-width: 0;
}

.cancellation-request-page .summary-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.cancellation-request-page .summary-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 48px;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
}

.cancellation-request-page .summary-item span {
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.cancellation-request-page .summary-item strong {
    color: var(--pro-ink) !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    text-align: right;
}

.cancellation-status-page,
.cancellation-status-page *,
.cancellation-status-page *::before,
.cancellation-status-page *::after {
    box-sizing: border-box;
}

.cancellation-status-page {
    width: min(1180px, calc(100% - 32px));
    display: grid;
    gap: 18px;
    padding: 24px 0 52px;
    margin: 0 auto;
    color: var(--pro-ink);
}

.cancellation-status-page .alert {
    margin: 0;
}

.cancellation-status-head.summary-card.accent {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.cancellation-status-page .page-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.cancellation-status-page .page-intro > div:first-child {
    display: grid;
    gap: 8px;
    max-width: 760px;
    min-width: 0;
}

.cancellation-status-page .cancellation-status-head.summary-card.accent .page-title,
.cancellation-status-page .page-title {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    -webkit-text-fill-color: var(--pro-ink) !important;
    font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.cancellation-status-page .page-intro p,
.cancellation-status-page .muted {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.94rem !important;
    line-height: 1.5 !important;
}

.cancellation-status-page .badge-strip {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.cancellation-status-page .cancellation-status-head.summary-card.accent .badge,
.cancellation-status-page .badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 32px !important;
    padding: 0 11px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #596274 !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

.cancellation-status-page .badge i {
    color: var(--pro-primary-dark);
}

.cancellation-status-page .manage-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 18px !important;
}

.cancellation-status-page .manage-layout > .summary-card,
.cancellation-status-page .booking-side-panel .panel {
    min-width: 0;
    padding: 22px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.cancellation-status-page .table-card-head {
    margin-bottom: 16px;
}

.cancellation-status-page .section-title {
    margin: 0 0 6px !important;
    color: var(--pro-ink) !important;
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
}

.cancellation-status-current,
.cancellation-status-empty {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 16px;
    margin-bottom: 16px;
    border: 1px solid rgba(23, 114, 69, 0.2);
    border-radius: var(--pro-radius);
    background: linear-gradient(180deg, rgba(23, 114, 69, 0.08), rgba(255, 255, 255, 0.95));
}

.cancellation-status-empty {
    border-color: var(--pro-line);
    background: #fbfcfd;
}

.cancellation-status-icon,
.cancellation-status-empty > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: var(--pro-radius);
    background: #177245;
    color: #fff;
    font-size: 1rem;
}

.cancellation-status-empty > i {
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
}

.cancellation-status-current strong,
.cancellation-status-empty strong {
    display: block;
    color: var(--pro-ink);
    font-size: 1.02rem;
    line-height: 1.35;
    font-weight: 850;
}

.cancellation-status-current span:not(.cancellation-status-icon),
.cancellation-status-empty span {
    display: block;
    margin-top: 4px;
    color: var(--pro-muted);
    font-size: 0.9rem;
    line-height: 1.48;
}

.cancellation-status-meta.summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 0 16px !important;
}

.cancellation-status-meta .meta-box {
    min-width: 0;
    padding: 14px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
    box-shadow: none !important;
}

.cancellation-status-meta .meta-label {
    display: block;
    margin-bottom: 7px;
    color: #667085 !important;
    font-size: 0.73rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.cancellation-status-meta .meta-value {
    display: block;
    color: var(--pro-ink) !important;
    font-size: 0.92rem !important;
    line-height: 1.4 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere;
}

.cancellation-status-page .support-status-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    margin-bottom: 16px;
    border: 1px solid var(--pro-line);
    border-radius: var(--pro-radius);
    background: #fbfcfd;
}

.cancellation-status-page .support-status-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cancellation-status-page .support-status-head strong {
    color: var(--pro-ink);
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 850;
}

.cancellation-status-page .support-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.cancellation-status-page .queue-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(216, 59, 70, 0.2);
    border-radius: 999px;
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
    font-size: 0.76rem;
    font-weight: 850;
    white-space: nowrap;
}

.cancellation-status-page .note {
    margin: 0;
    color: var(--pro-muted);
    font-size: 0.84rem;
    line-height: 1.48;
}

.cancellation-status-page .btn-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 2px;
}

.cancellation-status-page .btn.primary,
.cancellation-status-page .btn.secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border-radius: var(--pro-radius) !important;
    font-size: 0.92rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.cancellation-status-page .btn.primary {
    border: 1px solid var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.cancellation-status-page .btn.primary:hover,
.cancellation-status-page .btn.primary:focus-visible {
    background: var(--pro-primary-dark) !important;
    border-color: var(--pro-primary-dark) !important;
    outline: none;
}

.cancellation-status-page .btn.secondary {
    border: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: #4b5565 !important;
}

.cancellation-status-page .btn.secondary:hover,
.cancellation-status-page .btn.secondary:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.cancellation-status-page .booking-side-panel {
    min-width: 0;
}

.cancellation-status-page .summary-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.cancellation-status-page .summary-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 48px;
    padding: 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
}

.cancellation-status-page .summary-item span {
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.cancellation-status-page .summary-item strong {
    color: var(--pro-ink) !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    text-align: right;
}

.login-page,
.login-page *,
.login-page *::before,
.login-page *::after {
    box-sizing: border-box;
}

.login-page.auth-shell {
    width: min(1120px, calc(100% - 32px));
    min-height: auto !important;
    padding: 28px 0 52px !important;
    margin: 0 auto;
    background: transparent !important;
    color: var(--pro-ink);
}

.login-page .auth-layout {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 430px) !important;
    gap: 22px !important;
    align-items: start !important;
}

.login-page .auth-hero,
.login-page .auth-card {
    min-width: 0;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.login-page .auth-hero {
    display: grid !important;
    gap: 18px !important;
    padding: 24px !important;
    color: var(--pro-ink) !important;
}

.login-page .auth-hero::before,
.login-page .auth-hero::after {
    content: none !important;
}

.login-page .auth-hero > * {
    position: static !important;
}

.login-page .auth-hero h1 {
    max-width: 680px;
    margin: 0 !important;
    color: var(--pro-ink) !important;
    -webkit-text-fill-color: var(--pro-ink) !important;
    font-size: clamp(2rem, 3vw, 2.8rem) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.login-page .auth-hero > p {
    max-width: 660px;
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 1rem !important;
    line-height: 1.58 !important;
}

.login-page .auth-role-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
}

.login-page .auth-role-card {
    min-width: 0;
    display: grid;
    gap: 8px;
    padding: 16px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
    box-shadow: none !important;
}

.login-page .auth-role-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border: 1px solid rgba(216, 59, 70, 0.18) !important;
    border-radius: var(--pro-radius) !important;
    background: var(--pro-primary-soft) !important;
    color: var(--pro-primary-dark) !important;
}

.login-page .auth-role-card h2 {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: 1rem !important;
    line-height: 1.32 !important;
    font-weight: 850 !important;
}

.login-page .auth-role-card p {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.86rem !important;
    line-height: 1.5 !important;
}

.login-page .auth-trust-list {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
}

.login-page .auth-trust-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px;
    padding: 10px 12px !important;
    border: 1px solid var(--pro-line) !important;
    border-radius: var(--pro-radius) !important;
    background: #fbfcfd !important;
    color: #4b5565 !important;
    font-size: 0.88rem !important;
    line-height: 1.4 !important;
    font-weight: 750 !important;
}

.login-page .auth-trust-item i {
    color: #177245 !important;
}

.login-page .auth-card {
    display: grid !important;
    gap: 16px !important;
    padding: 24px !important;
}

.login-page .auth-card-head {
    display: grid;
    gap: 8px;
    margin: 0 !important;
}

.login-page .auth-mark-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.login-page .auth-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: var(--pro-radius);
    background: var(--pro-primary);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 900;
}

.login-page .auth-brand-name {
    color: var(--pro-ink);
    font-size: 1rem;
    font-weight: 850;
}

.login-page .auth-card-head h2 {
    margin: 0 !important;
    color: var(--pro-ink) !important;
    font-size: 1.32rem !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

.login-page .auth-card-head .muted {
    margin: 0 !important;
    color: var(--pro-muted) !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
}

.login-page .auth-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: var(--pro-radius) !important;
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
    font-weight: 750 !important;
}

.login-page .auth-alert-icon {
    margin-top: 2px;
}

.login-page .auth-card .form-grid {
    display: grid !important;
    gap: 14px !important;
    margin: 0 !important;
}

.login-page .field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.login-page .field label {
    color: #667085 !important;
    font-size: 0.76rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
}

.login-page .input {
    width: 100% !important;
    min-height: 50px !important;
    padding: 0 12px !important;
    border: 1px solid var(--pro-line-strong) !important;
    border-radius: var(--pro-radius) !important;
    background: #fff !important;
    color: var(--pro-ink) !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
}

.login-page .input::placeholder {
    color: #7b8494 !important;
    font-weight: 600 !important;
}

.login-page .input:focus {
    border-color: var(--pro-primary) !important;
    box-shadow: var(--pro-focus) !important;
    outline: none !important;
}

.login-page .password-field {
    position: relative;
    display: flex;
    align-items: center;
}

.login-page .password-field .input {
    padding-right: 52px !important;
}

.login-page .password-toggle {
    position: absolute;
    right: 6px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: var(--pro-radius);
    background: transparent;
    color: #596274;
}

.login-page .password-toggle:hover,
.login-page .password-toggle:focus-visible {
    border-color: rgba(216, 59, 70, 0.2);
    background: var(--pro-primary-soft);
    color: var(--pro-primary-dark);
    outline: none;
}

.login-page .field-error {
    min-height: 18px;
    color: var(--pro-primary-dark);
    font-size: 0.78rem;
    font-weight: 750;
}

.login-page .auth-forgot-row {
    display: flex;
    justify-content: flex-end;
    margin: -4px 0 0 !important;
}

.login-page .rb-forgot-link {
    color: var(--pro-primary-dark) !important;
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none !important;
}

.login-page .rb-forgot-link:hover,
.login-page .rb-forgot-link:focus-visible {
    text-decoration: underline !important;
    outline: none;
}

.login-page .auth-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
}

.login-page .btn.primary,
.login-page .btn.secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 50px !important;
    width: 100%;
    padding: 0 18px !important;
    border-radius: var(--pro-radius) !important;
    font-size: 0.94rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.login-page .btn.primary {
    border: 1px solid var(--pro-primary) !important;
    background: var(--pro-primary) !important;
    color: #fff !important;
}

.login-page .btn.primary:hover,
.login-page .btn.primary:focus-visible {
    background: var(--pro-primary-dark) !important;
    border-color: var(--pro-primary-dark) !important;
    outline: none;
}

.login-page .btn.secondary {
    border: 1px solid var(--pro-line) !important;
    background: #fff !important;
    color: #4b5565 !important;
}

.login-page .btn.secondary:hover,
.login-page .btn.secondary:focus-visible {
    border-color: rgba(216, 59, 70, 0.34) !important;
    color: var(--pro-primary-dark) !important;
    outline: none;
}

.login-page .auth-footnote {
    margin: 0 !important;
    padding-top: 2px;
    color: var(--pro-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
    text-align: center;
}

.agent-backoffice-page,
.agent-backoffice-page *,
.agent-backoffice-page *::before,
.agent-backoffice-page *::after {
    box-sizing: border-box;
}

.admin-body .admin-main,
.admin-body .admin-workspace {
    min-width: 0;
}

.admin-body {
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #eef2f7 !important;
    background-image: none !important;
}

.admin-body .admin-shell {
    grid-template-columns: 304px minmax(0, 1fr);
}

.admin-body .admin-sidebar {
    padding: 18px;
    background: #101827 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 18px 0 34px rgba(17, 24, 39, 0.16);
}

.admin-body .admin-brand {
    text-decoration: none;
}

.admin-body .admin-brand-mark {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #d83b46 !important;
    box-shadow: none;
}

.admin-body .admin-brand-copy strong,
.admin-body .admin-sidebar-profile strong {
    color: #ffffff;
    font-weight: 800;
}

.admin-body .admin-sidebar .admin-brand-copy small,
.admin-body .admin-sidebar .admin-sidebar-summary small,
.admin-body .admin-sidebar .admin-nav-copy small,
.admin-body .admin-sidebar-profile small {
    color: rgba(226, 232, 240, 0.72);
}

.admin-body .admin-sidebar-toggle {
    border-radius: 8px;
}

.admin-body .admin-sidebar-summary,
.admin-body .admin-sidebar-foot {
    padding: 16px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

.admin-body .admin-sidebar-kicker,
.admin-body .admin-nav-section {
    color: #ffb8bd;
    letter-spacing: 0.04em;
}

.admin-body .admin-sidebar-summary strong {
    color: #ffffff;
    font-size: 0.96rem;
    line-height: 1.45;
}

.admin-body .admin-nav {
    gap: 8px;
}

.admin-body .admin-nav-link {
    min-height: 58px;
    padding: 10px 12px;
    border-radius: 8px;
    grid-template-columns: 38px minmax(0, 1fr);
    color: #eef2f7;
    text-decoration: none;
}

.admin-body .admin-nav-link:hover,
.admin-body .admin-nav-link.is-active {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: none;
    transform: none;
}

.admin-body .admin-nav-link.is-active::before {
    top: 10px;
    bottom: 10px;
    width: 3px;
    background: #d83b46;
}

.admin-body .admin-nav-icon {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 1rem;
    letter-spacing: 0;
}

.admin-body .admin-nav-link.is-active .admin-nav-icon,
.admin-body .admin-nav-link:hover .admin-nav-icon {
    background: #d83b46 !important;
    box-shadow: none;
}

.admin-body .admin-side-btn {
    min-height: 46px;
    gap: 8px;
    border-radius: 8px;
    text-decoration: none;
}

.admin-body .admin-side-btn.primary {
    background: #d83b46 !important;
    box-shadow: none;
}

.admin-body .admin-side-btn.secondary {
    background: #ffffff;
    color: #151922;
}

.admin-body .admin-main {
    gap: 18px;
    padding: 18px;
}

.admin-body .admin-topbar {
    padding: 18px 20px;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(19, 31, 48, 0.05);
}

.admin-body .admin-topbar-copy h1 {
    margin: 3px 0 5px;
    font-size: clamp(1.45rem, 2vw, 2rem);
    letter-spacing: 0;
}

.admin-body .admin-topbar-copy p {
    max-width: 62ch;
    line-height: 1.5;
}

.admin-body .admin-topbar-kicker {
    color: #d83b46;
    letter-spacing: 0.04em;
}

.admin-body .admin-topbar-actions {
    gap: 8px;
}

.admin-body .admin-status-chip,
.admin-body .admin-date-chip,
.admin-body .admin-utility-link,
.admin-body .admin-user-chip {
    min-height: 38px;
    border-radius: 8px;
    box-shadow: none;
}

.admin-body .admin-status-chip {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #14794f;
}

.admin-body .admin-status-chip::before {
    background: #10b981;
    box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.14);
}

.admin-body .admin-date-chip,
.admin-body .admin-utility-link {
    gap: 8px;
    background: #f8fafc;
    color: #38465a;
    text-decoration: none;
}

.admin-body .admin-user-avatar {
    border-radius: 8px;
    background: #d83b46;
    color: #ffffff;
}

.admin-body .admin-workspace {
    gap: 18px;
}

.agent-backoffice-page {
    display: grid;
    min-width: 0;
    gap: 18px;
}

.agent-backoffice-page .admin-panel {
    min-width: 0;
    margin: 0;
    padding: 22px;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(19, 31, 48, 0.06);
}

.agent-backoffice-page .admin-section-head {
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.agent-backoffice-page .admin-section-head.compact {
    margin-bottom: 16px;
}

.agent-backoffice-page .admin-section-head h2 {
    margin: 4px 0 6px;
    color: #101725;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0;
}

.agent-backoffice-page .admin-section-head .muted {
    max-width: 680px;
    margin: 0;
    color: #526174;
    line-height: 1.55;
}

.agent-backoffice-page .admin-section-kicker {
    color: #d83b46;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agent-dashboard-hero .btn.primary {
    min-height: 46px;
    padding-inline: 18px;
    border-radius: 8px;
    white-space: nowrap;
}

.agent-backoffice-page .admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.agent-backoffice-page .admin-kpi-card {
    position: relative;
    display: grid;
    min-height: 132px;
    gap: 7px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #f8fafc;
}

.agent-backoffice-page .admin-kpi-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: #9aa8ba;
}

.agent-backoffice-page .admin-kpi-card.accent-green::before {
    background: #12966c;
}

.agent-backoffice-page .admin-kpi-card.accent-amber::before {
    background: #c47a08;
}

.agent-backoffice-page .admin-kpi-card.accent-red::before {
    background: #d83b46;
}

.agent-backoffice-page .admin-kpi-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(216, 59, 70, 0.14);
    border-radius: 8px;
    background: #ffffff;
    color: #d83b46;
}

.agent-backoffice-page .admin-kpi-label {
    color: #617086;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agent-backoffice-page .admin-kpi-card strong {
    color: #101725;
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    font-weight: 800;
    line-height: 1.05;
}

.agent-backoffice-page .admin-kpi-card small {
    color: #59687d;
    line-height: 1.45;
}

.agent-filter-panel .admin-filter-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) minmax(190px, 0.8fr) minmax(190px, 0.8fr) auto;
    gap: 14px;
    align-items: end;
}

.agent-filter-panel .form-field {
    display: grid;
    gap: 7px;
}

.agent-filter-panel .form-field label {
    color: #3d4b60;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agent-filter-panel .input {
    min-height: 46px;
    border-radius: 8px;
    background: #fbfcfe;
}

.agent-filter-panel .btn.primary {
    min-height: 46px;
    min-width: 138px;
    border-radius: 8px;
}

.agent-table-frame {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #ffffff;
}

.agent-backoffice-page .agent-bookings-table {
    min-width: 1040px;
    border-radius: 0;
}

.agent-backoffice-page .agent-bookings-table th,
.agent-backoffice-page .agent-bookings-table td {
    padding: 14px 16px;
}

.agent-backoffice-page .queue-primary-cell {
    display: grid;
    gap: 4px;
}

.agent-backoffice-page .queue-primary-cell strong {
    color: #111827;
    font-weight: 800;
}

.agent-backoffice-page .queue-subtle {
    display: block;
    color: #627086;
    font-size: 0.88rem;
    line-height: 1.45;
}

.agent-backoffice-page .queue-badge {
    margin-bottom: 6px;
    border-radius: 8px;
    letter-spacing: 0.02em;
}

.agent-backoffice-page .table-action-link {
    min-height: 36px;
    border-radius: 8px;
}

.agent-backoffice-page .btn-row.compact {
    flex-wrap: nowrap;
    gap: 8px;
}

.agent-backoffice-page .agent-bookings-table tr.empty-state td {
    padding: 32px 20px !important;
    color: #59687d;
    text-align: center;
}

.agent-backoffice-page .agent-bookings-table tr.empty-state td::before {
    content: none !important;
}

.agent-reconciliation-page,
.agent-reconciliation-page *,
.agent-reconciliation-page *::before,
.agent-reconciliation-page *::after {
    box-sizing: border-box;
}

.agent-reconciliation-page {
    display: grid;
    min-width: 0;
    gap: 18px;
}

.agent-reconciliation-page .admin-panel {
    min-width: 0;
    margin: 0;
    padding: 22px;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(19, 31, 48, 0.06);
}

.agent-reconciliation-page .admin-section-head {
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.agent-reconciliation-page .admin-section-head.compact {
    margin-bottom: 16px;
}

.agent-reconciliation-page .admin-section-head h2 {
    margin: 4px 0 6px;
    color: #101725;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0;
}

.agent-reconciliation-page .admin-section-head .muted {
    max-width: 720px;
    margin: 0;
    color: #526174;
    line-height: 1.55;
}

.agent-reconciliation-page .admin-section-kicker {
    color: #d83b46;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.reconciliation-hero-panel .btn.secondary {
    min-height: 46px;
    padding-inline: 18px;
    border-radius: 8px;
    white-space: nowrap;
}

.agent-reconciliation-page .admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.agent-reconciliation-page .admin-kpi-card {
    position: relative;
    display: grid;
    min-height: 132px;
    gap: 7px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #f8fafc;
}

.agent-reconciliation-page .admin-kpi-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: #9aa8ba;
}

.agent-reconciliation-page .admin-kpi-card.accent-amber::before {
    background: #c47a08;
}

.agent-reconciliation-page .admin-kpi-card.accent-red::before {
    background: #d83b46;
}

.agent-reconciliation-page .admin-kpi-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(216, 59, 70, 0.14);
    border-radius: 8px;
    background: #ffffff;
    color: #d83b46;
}

.agent-reconciliation-page .admin-kpi-label {
    color: #617086;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agent-reconciliation-page .admin-kpi-card strong {
    color: #101725;
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    font-weight: 800;
    line-height: 1.05;
}

.agent-reconciliation-page .admin-kpi-card small {
    color: #59687d;
    line-height: 1.45;
}

.agent-reconciliation-page .reconciliation-table {
    min-width: 980px;
    border-radius: 0;
}

.agent-reconciliation-page .reconciliation-table th,
.agent-reconciliation-page .reconciliation-table td {
    padding: 14px 16px;
}

.agent-reconciliation-page .queue-primary-cell {
    display: grid;
    gap: 4px;
}

.agent-reconciliation-page .queue-primary-cell strong {
    color: #111827;
    font-weight: 800;
}

.agent-reconciliation-page .queue-subtle {
    display: block;
    color: #627086;
    font-size: 0.88rem;
    line-height: 1.45;
}

.agent-reconciliation-page .table-action-link {
    min-height: 36px;
    border-radius: 8px;
}

.agent-reconciliation-page .reconciliation-table tr.empty-state td {
    padding: 32px 20px !important;
    color: #59687d;
    text-align: center;
}

.agent-reconciliation-page .reconciliation-table tr.empty-state td::before {
    content: none !important;
}

.agent-cancel-page,
.agent-cancel-page *,
.agent-cancel-page *::before,
.agent-cancel-page *::after {
    box-sizing: border-box;
}

.agent-cancel-page {
    display: grid;
    min-width: 0;
    gap: 18px;
    align-items: start;
}

.admin-body .agent-cancel-page .admin-panel {
    min-width: 0;
    min-height: 0 !important;
    margin: 0;
    padding: 22px;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(19, 31, 48, 0.06);
}

.agent-cancel-page .admin-section-head {
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.agent-cancel-page .admin-section-head.compact {
    margin-bottom: 16px;
}

.agent-cancel-page .admin-section-head h2 {
    margin: 4px 0 6px;
    color: #101725;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0;
}

.agent-cancel-page .admin-section-head .muted {
    max-width: 720px;
    margin: 0;
    color: #526174;
    line-height: 1.55;
}

.agent-cancel-page .admin-section-kicker {
    color: #d83b46;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agent-cancel-hero .btn.secondary,
.agent-cancel-form-panel .btn.secondary,
.agent-cancel-form-panel .btn.primary {
    min-height: 46px;
    border-radius: 8px;
}

.agent-cancel-page .alert {
    margin: 0 0 16px;
    border-radius: 8px;
}

.agent-cancel-booking-card,
.agent-cancel-empty,
.agent-cancel-request-card,
.agent-cancel-preview-card {
    margin-top: 16px;
    padding: 18px;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #f8fafc;
}

.agent-cancel-empty {
    display: grid;
    gap: 8px;
    border-color: #f1c5c9;
    background: #fff6f7;
}

.agent-cancel-empty strong {
    color: #101725;
    font-size: 1.25rem;
}

.agent-cancel-empty p {
    max-width: 680px;
    margin: 0;
    color: #526174;
    line-height: 1.6;
}

.agent-cancel-page .support-status-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.agent-cancel-page .support-status-head strong {
    color: #101725;
    font-size: 1rem;
    font-weight: 800;
}

.agent-cancel-meta.summary-grid,
.agent-cancel-page .support-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.agent-cancel-page .meta-box,
.agent-cancel-page .summary-item {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #ffffff;
}

.agent-cancel-page .meta-label,
.agent-cancel-page .summary-item span {
    display: block;
    color: #617086;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agent-cancel-page .meta-value,
.agent-cancel-page .summary-item strong {
    display: block;
    margin-top: 5px;
    color: #111827;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.agent-cancel-grid.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.agent-cancel-grid .field {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 16px;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #fbfcfe;
}

.agent-cancel-grid .field label {
    color: #3d4b60;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agent-cancel-grid .muted {
    margin: 0;
    color: #647286;
    font-size: 0.9rem;
    line-height: 1.5;
}

.agent-cancel-page .option-list {
    display: grid;
    gap: 8px;
}

.agent-cancel-page .option-list label {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin: 0;
    color: #172033;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.agent-cancel-page .option-list input {
    width: 18px;
    height: 18px;
    margin: 0 10px 0 0;
    accent-color: #d83b46;
}

.agent-cancel-page textarea.input {
    min-height: 118px;
    border-radius: 8px;
    resize: vertical;
}

.agent-cancel-page .btn-row {
    gap: 12px;
    margin-top: 18px;
}

.agent-cancel-page .note {
    margin: 12px 0 0;
    color: #59687d;
    line-height: 1.55;
}

.system-state-page,
.system-state-page *,
.system-state-page *::before,
.system-state-page *::after {
    box-sizing: border-box;
}

.system-state-page.page-state {
    display: grid;
    min-height: calc(100vh - 72px);
    padding: 52px 18px;
    place-items: center;
}

.system-state-page .page-state-card {
    width: min(100%, 720px);
    margin: 0 auto;
    padding: 34px;
    border: 1px solid #dfe5ee;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    box-shadow: 0 18px 40px rgba(19, 25, 38, 0.08);
    text-align: left;
}

.system-state-page .page-state-visual {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
    padding: 18px;
    border: 1px solid #dfe5ee;
    border-radius: 8px;
    background: #f8fafc;
}

.system-state-page .page-state-visual.warning {
    border-color: #f7c6cc;
    background: #fff6f7;
}

.system-state-page .page-state-visual.danger {
    border-color: #f1c5c9;
    background: #fff4f5;
}

.system-state-page .page-state-code {
    color: #151922;
    font-size: clamp(2.4rem, 6vw, 4.4rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
}

.system-state-page .page-state-icon {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border-radius: 8px;
    background: #ffffff;
    color: #dc3545;
    font-size: 1.8rem;
    box-shadow: inset 0 0 0 1px rgba(220, 53, 69, 0.16);
}

.system-state-page .page-state-title {
    margin: 12px 0 10px;
    color: #070b14;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: 0;
}

.system-state-page .page-state-message {
    max-width: 620px;
    margin: 0;
    color: #4c5970;
    font-size: 1.04rem;
    line-height: 1.65;
}

.system-state-page .page-state-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.system-state-page .page-state-actions .btn {
    min-height: 50px;
    padding-inline: 22px;
    border-radius: 8px;
    font-weight: 800;
}

.system-state-page .page-state-support {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 22px;
    padding: 14px 16px;
    border: 1px solid #dfe5ee;
    border-radius: 8px;
    background: #f8fafc;
    color: #465369;
    font-size: 0.95rem;
    line-height: 1.55;
}

.system-state-page .page-state-support i {
    margin-top: 3px;
    color: #0f7d52;
}

.system-state-page .page-state-reference {
    margin: 18px 0 0;
    color: #657286;
    font-size: 0.86rem;
}

.public-modal.modal-shell {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.public-modal.modal-shell.is-open {
    display: flex;
}

.public-modal .modal-backdrop {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(10, 15, 25, 0.56);
    backdrop-filter: none;
}

.public-modal .public-modal-dialog {
    position: relative;
    z-index: 2;
    width: min(100%, 760px);
    max-height: min(760px, calc(100vh - 40px));
    padding: 0;
    overflow: hidden;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(9, 15, 28, 0.26);
}

.public-modal .modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #ffffff;
    color: #253144;
    font-size: 1rem;
    line-height: 1;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.public-modal .modal-close:hover,
.public-modal .modal-close:focus-visible {
    border-color: rgba(216, 59, 70, 0.28);
    background: #fff5f6;
    color: #d83b46;
    outline: none;
}

.public-modal .public-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(260px, 0.72fr);
    gap: 0;
}

.public-modal .public-modal-copy,
.public-modal .public-modal-actions {
    padding: 32px;
}

.public-modal .public-modal-copy {
    border-right: 1px solid #e5eaf1;
    background: #fbfcfe;
}

.public-modal .public-modal-copy h2 {
    max-width: 430px;
    margin: 12px 0 10px;
    color: #070b14;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.1;
}

.public-modal .public-modal-copy p {
    max-width: 460px;
    margin: 0 0 20px;
    color: #4d5a70;
    font-size: 1rem;
    line-height: 1.6;
}

.public-modal .public-modal-points {
    display: grid;
    gap: 10px;
}

.public-modal .public-modal-points span {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 44px;
    padding: 12px 14px;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #ffffff;
    color: #253144;
    font-weight: 700;
    line-height: 1.45;
}

.public-modal .public-modal-points i {
    margin-top: 2px;
    color: #0f7d52;
}

.public-modal .public-modal-actions {
    display: grid;
    align-content: center;
    gap: 12px;
    background: #ffffff;
}

.public-modal .public-modal-actions .btn {
    width: 100%;
    min-height: 50px;
    border-radius: 8px;
    font-weight: 800;
}

.public-modal .public-modal-note {
    display: grid;
    gap: 4px;
    margin-top: 4px;
    padding: 14px 16px;
    border: 1px solid #dfe6ef;
    border-radius: 8px;
    background: #f8fafc;
}

.public-modal .public-modal-note strong {
    color: #111827;
}

.public-modal .public-modal-note span {
    color: #59677b;
    line-height: 1.5;
}

@media (max-width: 1240px) {
    .agent-backoffice-page .admin-kpi-grid,
    .agent-reconciliation-page .admin-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .agent-filter-panel .admin-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .agent-filter-panel .form-field:last-child {
        grid-column: 1 / -1;
    }

    .agent-filter-panel .btn.primary {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .skip-link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    .figma-search-page {
        width: min(100% - 24px, 1120px) !important;
        padding-top: 18px !important;
    }

    .figma-search-copy .page-title {
        font-size: 2.15rem !important;
        line-height: 1.08 !important;
    }

    .figma-search-card {
        padding: 20px !important;
    }

    .figma-search-row,
    .figma-search-footer {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        width: 100% !important;
    }

    .figma-search-swap {
        justify-self: start !important;
        margin: -2px 0;
        transform: rotate(90deg);
    }

    .rb-search-action {
        min-width: 0;
    }

    .figma-results-page {
        width: min(100% - 24px, 1180px) !important;
        padding-top: 18px !important;
    }

    .figma-results-head {
        align-items: flex-start !important;
    }

    .figma-results-page .figma-pill-row {
        justify-content: flex-start;
    }

    .rb-results-layout {
        grid-template-columns: 1fr !important;
    }

    .rb-filter-panel {
        position: static !important;
    }

    .rb-filter-stack {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px !important;
    }

    .rb-filter-stack > .rb-filter-block:nth-child(3),
    .rb-filter-stack > .rb-filter-block:nth-child(4) {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .rb-result-shell {
        grid-template-columns: 1fr !important;
    }

    .rb-result-price-panel {
        border-top: 1px solid var(--pro-line) !important;
        border-left: 0 !important;
        text-align: left;
    }

    .rb-result-price-panel {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center !important;
    }

    .rb-result-price-panel .rb-result-seat-btn {
        width: auto !important;
        min-width: 150px;
    }

    .rb-seat-page {
        width: min(100% - 24px, 1180px) !important;
        padding-top: 18px !important;
    }

    .rb-step-progress {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .rb-seat-journey-grid,
    .rb-seat-layout {
        grid-template-columns: 1fr !important;
    }

    .rb-seat-sidebar {
        position: static !important;
    }

    .rb-seat-legend {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        grid-template-columns: repeat(3, max-content);
    }

    .figma-passenger-page {
        width: min(100% - 24px, 1180px) !important;
        padding-top: 18px !important;
    }

    .figma-passenger-head {
        align-items: flex-start !important;
    }

    .figma-passenger-page .figma-support-pills {
        justify-content: flex-start;
    }

    .figma-passenger-layout {
        grid-template-columns: 1fr !important;
    }

    .figma-passenger-sidebar {
        position: static !important;
    }

    .rb-review-page {
        width: min(100% - 24px, 1180px) !important;
        padding-top: 18px !important;
    }

    .figma-review-head {
        align-items: flex-start !important;
    }

    .rb-review-page .figma-support-pills {
        justify-content: flex-start;
    }

    .rb-review-page .figma-detail-grid,
    .figma-manifest-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .figma-success-page {
        width: min(100% - 24px, 1040px) !important;
        padding-top: 18px !important;
    }

    .figma-success-head {
        align-items: flex-start;
    }

    .figma-success-page .figma-support-pills {
        justify-content: flex-start;
    }

    .figma-success-meta.summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .figma-success-grid {
        grid-template-columns: 1fr !important;
    }

    .my-bookings-page .container {
        width: min(100% - 24px, 1180px) !important;
    }

    .my-bookings-page .profile-banner {
        padding-top: 18px !important;
    }

    .my-bookings-page .rb-profile-hero {
        align-items: flex-start !important;
    }

    .my-bookings-page .badge-strip {
        justify-content: flex-start;
    }

    .my-bookings-page .rb-profile-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .my-bookings-page .rb-profile-shell.profile-layout {
        grid-template-columns: 1fr !important;
    }

    .my-bookings-page .rb-profile-sidebar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .booking-details-page {
        width: min(100% - 24px, 1180px);
        padding-top: 18px;
    }

    .booking-details-page .page-intro {
        align-items: flex-start;
    }

    .booking-details-page .badge-strip {
        justify-content: flex-start;
    }

    .booking-details-page .manage-layout {
        grid-template-columns: 1fr !important;
    }

    .booking-detail-meta.summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .booking-details-page .booking-side-panel {
        grid-template-columns: 1fr;
    }

    .cancellation-request-page {
        width: min(100% - 24px, 1180px);
        padding-top: 18px;
    }

    .cancellation-request-page .page-intro {
        align-items: flex-start;
    }

    .cancellation-request-page .badge-strip {
        justify-content: flex-start;
    }

    .cancellation-request-page .support-layout {
        grid-template-columns: 1fr !important;
    }

    .cancellation-status-page {
        width: min(100% - 24px, 1180px);
        padding-top: 18px;
    }

    .cancellation-status-page .page-intro {
        align-items: flex-start;
    }

    .cancellation-status-page .badge-strip {
        justify-content: flex-start;
    }

    .cancellation-status-page .manage-layout {
        grid-template-columns: 1fr !important;
    }

    .cancellation-status-meta.summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .login-page.auth-shell {
        width: min(100% - 24px, 1120px);
        padding-top: 18px !important;
    }

    .login-page .auth-layout {
        grid-template-columns: 1fr !important;
    }

    .login-page .auth-hero {
        display: grid !important;
    }

    .admin-body .admin-mobile-menu {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        border-radius: 8px;
    }

    .admin-body .admin-brand,
    .admin-body .admin-sidebar-toggle {
        min-height: 44px;
    }

    .admin-body .admin-sidebar-toggle {
        display: none !important;
        pointer-events: none;
    }

    .admin-body .admin-shell.is-sidebar-open .admin-sidebar-toggle {
        display: inline-flex !important;
        pointer-events: auto;
        width: 44px;
        height: 44px;
    }

    .admin-body .admin-utility-link,
    .admin-body .admin-status-chip,
    .admin-body .admin-date-chip,
    .admin-body .admin-user-chip {
        min-height: 44px;
    }
}

@media (max-width: 520px) {
    .entry-page {
        align-items: stretch;
        padding: 14px;
    }

    .entry-card {
        align-self: center;
        gap: 15px;
        padding: 18px;
    }

    .entry-card h1 {
        font-size: 1.9rem;
    }

    .entry-status-grid {
        grid-template-columns: 1fr;
    }

    .entry-status-grid span {
        min-height: 54px;
        grid-template-columns: 22px minmax(0, 1fr);
        justify-items: start;
        text-align: left;
    }

    .entry-action {
        width: 100%;
        justify-self: stretch;
        justify-content: center;
    }

    .figma-search-page {
        width: min(100% - 18px, 1120px) !important;
    }

    .figma-search-card {
        padding: 16px !important;
        overflow: visible;
    }

    .figma-search-copy .page-title {
        font-size: 1.78rem !important;
    }

    .figma-search-copy p {
        font-size: 0.95rem !important;
        line-height: 1.55 !important;
    }

    .figma-search-input-shell,
    .rb-date-shell,
    .rb-search-btn {
        min-height: 54px !important;
    }

    .pro-search-note {
        align-items: flex-start !important;
    }

    .figma-results-page {
        width: min(100% - 18px, 1180px) !important;
    }

    .figma-results-head .page-title {
        font-size: 1.75rem !important;
    }

    .figma-results-toolbar,
    .rb-filter-header,
    .rb-result-title-row {
        align-items: flex-start !important;
    }

    .rb-filter-stack {
        grid-template-columns: 1fr;
    }

    .rb-filter-stack > .rb-filter-block:nth-child(3) {
        border-bottom: 1px solid var(--pro-line) !important;
        padding-bottom: 16px !important;
    }

    .rb-route-strip,
    .rb-result-meta,
    .rb-result-price-panel {
        grid-template-columns: 1fr !important;
    }

    .rb-route-mid {
        justify-items: stretch !important;
    }

    .rb-result-price-panel .rb-result-seat-btn {
        width: 100% !important;
        min-width: 0;
    }

    .rb-results-page-arrow {
        min-width: 78px !important;
    }

    .rb-seat-page {
        width: min(100% - 18px, 1180px) !important;
    }

    .rb-step-progress {
        grid-template-columns: 1fr !important;
        padding: 8px !important;
    }

    .rb-step-progress-item {
        min-height: 44px !important;
    }

    .rb-seat-coach,
    .rb-seat-sidebar .panel {
        padding: 16px !important;
    }

    .rb-seat-header .page-title {
        font-size: 1.7rem !important;
    }

    .rb-seat-legend {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .rb-seat-page .rb-coach-shell {
        padding: 12px !important;
    }

    .rb-seat-page .rb-coach-stage {
        min-width: 0;
        width: 100%;
    }

    .rb-seat-page .seat-layout {
        width: 100%;
        grid-template-columns: repeat(4, 48px) !important;
        gap: 8px 10px !important;
        justify-content: center;
    }

    .rb-seat-page .seat {
        min-width: 48px;
        width: 48px !important;
        min-height: 48px !important;
        font-size: 0.78rem !important;
    }

    .rb-boarding-row {
        grid-template-columns: 1fr !important;
    }

    .rb-summary-panel .summary-item,
    .rb-seat-summary-card .summary-item,
    .rb-summary-total {
        gap: 10px !important;
    }

    .figma-passenger-page {
        width: min(100% - 18px, 1180px) !important;
    }

    .figma-passenger-copy .page-title {
        font-size: 1.75rem !important;
    }

    .figma-passenger-head {
        margin-top: 0;
    }

    .figma-passenger-form,
    .figma-passenger-sidebar > .rb-summary-topline,
    .figma-trip-summary,
    .figma-sidebar-list {
        padding: 16px !important;
    }

    .figma-passenger-page .form-grid.two,
    .rb-passenger-actions {
        grid-template-columns: 1fr !important;
    }

    .rb-passenger-actions .btn {
        width: 100%;
    }

    .rb-check-row {
        align-items: flex-start !important;
    }

    .rb-check-row label {
        text-align: left;
    }

    .figma-trip-summary-row,
    .figma-passenger-page .summary-item,
    .figma-passenger-page .rb-summary-total {
        gap: 10px !important;
    }

    .rb-review-page {
        width: min(100% - 18px, 1180px) !important;
    }

    .figma-review-copy .page-title {
        font-size: 1.75rem !important;
    }

    .rb-review-card,
    .rb-review-page .figma-review-summary,
    .rb-review-page .figma-review-passengers,
    .rb-review-page .figma-shell-card {
        padding: 16px !important;
    }

    .rb-review-page .figma-detail-grid,
    .figma-manifest-fields {
        grid-template-columns: 1fr !important;
    }

    .figma-review-total,
    .figma-manifest-person,
    .figma-manifest-head,
    .figma-payment-card {
        align-items: flex-start !important;
    }

    .figma-review-total {
        flex-direction: column !important;
    }

    .figma-review-total strong {
        font-size: 1.35rem !important;
    }

    .figma-seat-pill {
        width: fit-content;
    }

    .figma-payment-card > .fa-circle-check {
        margin-left: 4px;
    }

    .figma-review-submit {
        min-height: 52px !important;
    }

    .figma-success-page {
        width: min(100% - 18px, 1040px) !important;
    }

    .figma-success-copy .page-title {
        font-size: 1.75rem !important;
    }

    .figma-success-card,
    .figma-success-state,
    .figma-success-empty {
        padding: 16px !important;
    }

    .figma-success-meta.summary-grid {
        grid-template-columns: 1fr !important;
    }

    .figma-success-page .summary-item {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 4px !important;
    }

    .figma-success-page .summary-item strong {
        text-align: left;
    }

    .figma-success-page > .figma-center-actions,
    .figma-success-page .figma-center-actions {
        justify-content: stretch !important;
    }

    .figma-success-page .btn.primary,
    .figma-success-page .btn.secondary {
        width: 100%;
    }

    .my-bookings-page .container {
        width: min(100% - 18px, 1180px) !important;
    }

    .my-bookings-page .page-title {
        font-size: 1.75rem !important;
    }

    .my-bookings-page .rb-profile-stat-grid,
    .my-bookings-page .rb-profile-sidebar {
        grid-template-columns: 1fr !important;
    }

    .my-bookings-page .rb-profile-stat-grid article,
    .my-bookings-page .booking-panel-body,
    .my-bookings-page .rb-profile-sidebar .panel {
        padding: 16px !important;
    }

    .my-bookings-page .booking-tabs {
        padding: 8px !important;
        flex-wrap: wrap;
        overflow-x: visible;
    }

    .my-bookings-page .rb-bookings-tab {
        flex: 1 1 104px;
        min-width: 0;
    }

    .my-bookings-page .table-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .my-bookings-page .table-card-head .compact-secondary {
        width: 100%;
    }

    .my-bookings-page .summary-item {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 4px !important;
    }

    .my-bookings-page .summary-item strong {
        text-align: left;
    }

    .my-bookings-page .table-scroll {
        overflow-x: visible;
    }

    .my-bookings-page .rb-bookings-table {
        min-width: 0;
    }

    .my-bookings-page .rb-bookings-table tr.empty-state {
        display: table-row;
    }

    .my-bookings-page .rb-bookings-table tr.empty-state td {
        display: block !important;
        width: 100%;
        min-height: 96px;
        padding: 24px 18px !important;
        border-bottom: 0 !important;
        text-align: center !important;
    }

    .booking-details-page {
        width: min(100% - 18px, 1180px);
    }

    .booking-details-page .page-title {
        font-size: 1.75rem !important;
    }

    .booking-details-page .summary-card,
    .booking-details-page .grid-card,
    .booking-details-page .booking-side-panel .panel,
    .booking-detail-status,
    .booking-details-page .support-status-card {
        padding: 16px !important;
    }

    .booking-detail-meta.summary-grid,
    .booking-details-page .support-status-grid {
        grid-template-columns: 1fr !important;
    }

    .booking-details-page .btn-row,
    .booking-details-page .btn.primary,
    .booking-details-page .btn.secondary {
        width: 100%;
    }

    .booking-details-page .summary-item {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 4px !important;
    }

    .booking-details-page .summary-item strong {
        text-align: left;
    }

    .booking-details-page .grid-card {
        overflow-x: auto;
    }

    .booking-details-page .data-table {
        min-width: 0;
    }

    .booking-details-page .data-table tr.empty-state td {
        display: block !important;
        width: 100%;
        min-height: 82px;
        padding: 22px 16px !important;
        text-align: center !important;
    }

    .cancellation-request-page {
        width: min(100% - 18px, 1180px);
    }

    .cancellation-request-page .page-title {
        font-size: 1.75rem !important;
    }

    .cancellation-request-page .support-layout > .panel,
    .cancellation-request-page .booking-side-panel .panel,
    .cancellation-empty-context,
    .cancellation-request-page .support-status-card {
        padding: 16px !important;
    }

    .cancellation-request-page .form-grid.two,
    .cancellation-request-page .support-status-grid {
        grid-template-columns: 1fr !important;
    }

    .cancellation-request-page .btn-row,
    .cancellation-request-page .btn.primary,
    .cancellation-request-page .btn.secondary {
        width: 100%;
    }

    .cancellation-request-page .summary-item {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 4px !important;
    }

    .cancellation-request-page .summary-item strong {
        text-align: left;
    }

    .cancellation-status-page {
        width: min(100% - 18px, 1180px);
    }

    .cancellation-status-page .page-title {
        font-size: 1.75rem !important;
    }

    .cancellation-status-page .manage-layout > .summary-card,
    .cancellation-status-page .booking-side-panel .panel,
    .cancellation-status-current,
    .cancellation-status-empty,
    .cancellation-status-page .support-status-card {
        padding: 16px !important;
    }

    .cancellation-status-meta.summary-grid,
    .cancellation-status-page .support-status-grid {
        grid-template-columns: 1fr !important;
    }

    .cancellation-status-page .btn-row,
    .cancellation-status-page .btn.primary,
    .cancellation-status-page .btn.secondary {
        width: 100%;
    }

    .cancellation-status-page .summary-item {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 4px !important;
    }

    .cancellation-status-page .summary-item strong {
        text-align: left;
    }

    .login-page.auth-shell {
        width: min(100% - 18px, 1120px);
    }

    .login-page .auth-hero,
    .login-page .auth-card {
        padding: 16px !important;
    }

    .login-page .auth-hero h1 {
        font-size: 1.75rem !important;
    }

    .login-page .auth-role-grid {
        grid-template-columns: 1fr !important;
    }

    .login-page .auth-trust-item {
        align-items: flex-start !important;
    }

    .login-page .auth-forgot-row {
        justify-content: flex-start;
    }

    .system-state-page.page-state {
        min-height: auto;
        padding: 18px 9px 42px;
    }

    .system-state-page .page-state-card {
        padding: 18px !important;
    }

    .system-state-page .page-state-visual {
        padding: 14px;
    }

    .system-state-page .page-state-icon {
        width: 52px;
        height: 52px;
        font-size: 1.45rem;
    }

    .system-state-page .page-state-title {
        font-size: 1.85rem !important;
    }

    .system-state-page .page-state-message {
        font-size: 1rem;
    }

    .system-state-page .page-state-actions,
    .system-state-page .page-state-actions .btn {
        width: 100%;
    }

    .system-state-page .page-state-support {
        padding: 13px 14px;
    }

    .public-modal.modal-shell {
        align-items: flex-start;
        padding: 12px;
        overflow-y: auto;
    }

    .public-modal .public-modal-dialog {
        max-height: none;
        margin: 0;
    }

    .public-modal .public-modal-grid {
        grid-template-columns: 1fr;
    }

    .public-modal .public-modal-copy,
    .public-modal .public-modal-actions {
        padding: 18px !important;
    }

    .public-modal .public-modal-copy {
        padding-top: 66px !important;
        border-right: 0;
        border-bottom: 1px solid #e5eaf1;
    }

    .public-modal .public-modal-copy h2 {
        font-size: 1.75rem !important;
    }

    .public-modal .public-modal-points span {
        align-items: flex-start;
        min-height: 0;
    }

    .admin-body .admin-main {
        padding: 12px;
    }

    .admin-body .admin-topbar {
        padding: 16px !important;
        border-radius: 8px !important;
    }

    .admin-body .admin-topbar-copy {
        gap: 12px;
    }

    .admin-body .admin-mobile-menu {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        border-radius: 8px;
    }

    .admin-body .admin-sidebar-toggle {
        display: none !important;
        pointer-events: none;
    }

    .admin-body .admin-shell.is-sidebar-open .admin-sidebar-toggle {
        display: inline-flex !important;
        pointer-events: auto;
    }

    .admin-body .admin-topbar-copy h1 {
        font-size: 1.45rem !important;
    }

    .admin-body .admin-topbar-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .admin-body .admin-status-chip,
    .admin-body .admin-date-chip,
    .admin-body .admin-utility-link,
    .admin-body .admin-user-chip {
        width: 100%;
        justify-content: flex-start;
    }

    .admin-body .admin-sidebar {
        width: min(324px, calc(100% - 32px));
        padding: 16px;
    }

    .admin-body .admin-sidebar-summary,
    .admin-body .admin-sidebar-foot {
        padding: 14px;
    }

    .admin-body .admin-sidebar-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .admin-body .admin-side-btn {
        width: 100%;
        justify-content: center;
        white-space: nowrap;
    }

    .agent-backoffice-page,
    .agent-reconciliation-page,
    .agent-cancel-page {
        gap: 12px;
    }

    .agent-backoffice-page .admin-panel,
    .agent-reconciliation-page .admin-panel,
    .agent-cancel-page .admin-panel {
        padding: 16px !important;
        border-radius: 8px;
    }

    .agent-backoffice-page .admin-section-head,
    .agent-backoffice-page .admin-section-head.compact,
    .agent-reconciliation-page .admin-section-head,
    .agent-reconciliation-page .admin-section-head.compact,
    .agent-cancel-page .admin-section-head,
    .agent-cancel-page .admin-section-head.compact {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 14px;
    }

    .agent-backoffice-page .admin-section-head h2,
    .agent-reconciliation-page .admin-section-head h2,
    .agent-cancel-page .admin-section-head h2 {
        font-size: 1.18rem;
    }

    .agent-dashboard-hero .btn.primary,
    .reconciliation-hero-panel .btn.secondary,
    .agent-cancel-hero .btn.secondary,
    .agent-cancel-form-panel .btn.primary,
    .agent-cancel-form-panel .btn.secondary {
        width: 100%;
    }

    .agent-backoffice-page .admin-kpi-grid,
    .agent-reconciliation-page .admin-kpi-grid,
    .agent-filter-panel .admin-filter-grid {
        grid-template-columns: 1fr !important;
    }

    .agent-backoffice-page .admin-kpi-card,
    .agent-reconciliation-page .admin-kpi-card {
        min-height: 118px;
        padding: 14px;
    }

    .agent-filter-panel .form-field:last-child {
        grid-column: auto;
    }

    .agent-table-frame {
        margin-inline: -4px;
        width: calc(100% + 8px);
        max-width: calc(100% + 8px);
    }

    .agent-backoffice-page .agent-bookings-table,
    .agent-reconciliation-page .reconciliation-table {
        min-width: 0;
    }

    .agent-backoffice-page .agent-bookings-table th,
    .agent-backoffice-page .agent-bookings-table td,
    .agent-reconciliation-page .reconciliation-table th,
    .agent-reconciliation-page .reconciliation-table td {
        padding: 12px;
    }

    .agent-backoffice-page .agent-bookings-table tr.empty-state td,
    .agent-reconciliation-page .reconciliation-table tr.empty-state td {
        display: block !important;
        width: 100%;
        min-height: 92px;
        white-space: normal;
    }

    .agent-cancel-meta.summary-grid,
    .agent-cancel-page .support-status-grid,
    .agent-cancel-grid.form-grid {
        grid-template-columns: 1fr !important;
    }

    .agent-cancel-booking-card,
    .agent-cancel-empty,
    .agent-cancel-request-card,
    .agent-cancel-preview-card,
    .agent-cancel-grid .field {
        padding: 14px !important;
    }

    .agent-cancel-page .support-status-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .agent-cancel-page .btn-row {
        width: 100%;
    }
}

/* Professional compact density layer: transactional booking UI */
:root {
    --pro-page-max: 1120px;
    --pro-card-pad: 18px;
    --pro-section-gap: 14px;
    --pro-control-h: 48px;
    --pro-shadow: 0 8px 22px rgba(20, 27, 38, 0.07);
    --pro-shadow-soft: 0 1px 6px rgba(20, 27, 38, 0.045);
}

.public-main {
    background: #f6f7f9 !important;
}

.figma-search-page,
.figma-results-page,
.rb-seat-page,
.figma-passenger-page,
.rb-review-page,
.figma-success-page,
.my-bookings-page .container,
.booking-details-page,
.cancellation-request-page,
.cancellation-status-page,
.login-page.auth-shell {
    width: min(var(--pro-page-max), calc(100% - 40px)) !important;
    padding-top: 18px !important;
    padding-bottom: 32px !important;
}

.pro-search-hero,
.figma-results-page,
.rb-seat-page,
.figma-passenger-page,
.rb-review-page,
.figma-success-page,
.booking-details-page,
.cancellation-request-page,
.cancellation-status-page,
.agent-backoffice-page,
.agent-reconciliation-page,
.agent-cancel-page {
    gap: var(--pro-section-gap) !important;
}

.figma-search-copy,
.figma-passenger-copy,
.figma-review-copy,
.figma-success-copy,
.page-intro > div:first-child {
    gap: 7px !important;
}

.figma-search-copy .page-title,
.figma-results-head .page-title,
.rb-seat-header .page-title,
.figma-passenger-copy .page-title,
.figma-review-copy .page-title,
.figma-success-copy .page-title,
.my-bookings-page .page-title,
.booking-details-page .page-title,
.cancellation-request-page .page-title,
.cancellation-status-page .page-title {
    max-width: 760px !important;
    font-size: clamp(1.75rem, 2.7vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 820 !important;
}

.figma-search-copy .page-title {
    font-size: clamp(2rem, 3.1vw, 3rem) !important;
}

.figma-search-copy p,
.figma-results-head p,
.rb-seat-header p,
.figma-passenger-copy p,
.figma-review-copy p,
.figma-success-copy p,
.page-intro p,
.login-page .auth-hero p {
    max-width: 720px !important;
    font-size: 0.96rem !important;
    line-height: 1.55 !important;
}

.pro-page-kicker,
.admin-section-kicker,
.admin-topbar-kicker {
    min-height: 24px !important;
    padding: 0 9px !important;
    font-size: 0.72rem !important;
}

.figma-search-card,
.rb-filter-panel,
.figma-results-toolbar,
.rb-result-card,
.rb-seat-coach,
.rb-seat-sidebar .panel,
.figma-passenger-form,
.figma-passenger-sidebar > .rb-summary-topline,
.figma-trip-summary,
.figma-sidebar-list,
.rb-review-card,
.rb-review-page .figma-shell-card,
.rb-review-page .figma-review-summary,
.rb-review-page .figma-review-passengers,
.figma-success-card,
.figma-success-state,
.figma-success-empty,
.my-bookings-page .booking-panel-body,
.my-bookings-page .rb-profile-sidebar .panel,
.booking-details-page .summary-card,
.booking-details-page .grid-card,
.booking-details-page .booking-side-panel .panel,
.booking-detail-status,
.booking-details-page .support-status-card,
.cancellation-request-page .support-layout > .panel,
.cancellation-request-page .booking-side-panel .panel,
.cancellation-empty-context,
.cancellation-request-page .support-status-card,
.cancellation-status-page .manage-layout > .summary-card,
.cancellation-status-page .booking-side-panel .panel,
.cancellation-status-current,
.cancellation-status-empty,
.cancellation-status-page .support-status-card,
.login-page .auth-hero,
.login-page .auth-card,
.agent-backoffice-page .admin-panel,
.agent-reconciliation-page .admin-panel,
.admin-body .agent-cancel-page .admin-panel {
    padding: var(--pro-card-pad) !important;
    border-radius: 8px !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.figma-search-card {
    box-shadow: var(--pro-shadow) !important;
}

.form-required-note {
    margin-bottom: 10px !important;
    padding: 8px 10px !important;
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
}

.figma-search-row {
    grid-template-columns: minmax(220px, 1fr) 44px minmax(220px, 1fr) !important;
    gap: 12px !important;
}

.figma-search-footer {
    grid-template-columns: minmax(220px, 0.7fr) minmax(220px, 0.5fr) !important;
    gap: 12px !important;
    margin-top: 12px !important;
}

.figma-search-input-shell,
.rb-date-shell,
.rb-search-btn,
.login-page .input,
.login-page .btn.primary,
.login-page .btn.secondary,
.agent-filter-panel .input,
.agent-filter-panel .btn.primary,
.figma-passenger-page .input,
.figma-passenger-page .btn.primary,
.figma-passenger-page .btn.secondary,
.rb-seat-page .input,
.rb-seat-page .btn.primary,
.rb-review-page .btn.primary,
.rb-review-page .btn.secondary,
.booking-details-page .btn.primary,
.booking-details-page .btn.secondary,
.cancellation-request-page .btn.primary,
.cancellation-request-page .btn.secondary,
.cancellation-status-page .btn.primary,
.cancellation-status-page .btn.secondary,
.agent-cancel-form-panel .btn.primary,
.agent-cancel-form-panel .btn.secondary,
.agent-cancel-hero .btn.secondary {
    min-height: var(--pro-control-h) !important;
}

.figma-search-input-shell,
.rb-date-shell {
    padding: 0 13px !important;
}

.figma-search-card .rb-select,
.figma-search-card .rb-date,
.figma-search-card .rb-city-input,
.figma-passenger-page .input,
.login-page .input,
.agent-filter-panel .input,
.rb-seat-page .input,
.cancellation-request-page .textarea,
.agent-cancel-page textarea.input {
    font-size: 0.95rem !important;
    font-weight: 680 !important;
}

.rb-search-btn {
    padding: 0 20px !important;
    font-size: 0.95rem !important;
    box-shadow: 0 8px 18px rgba(216, 59, 70, 0.18) !important;
}

.rb-search-btn:hover,
.rb-search-btn:focus-visible {
    box-shadow: 0 9px 20px rgba(169, 31, 45, 0.2) !important;
}

.figma-search-swap {
    width: 44px !important;
    height: 44px !important;
    margin-bottom: 2px !important;
}

.figma-quick-chip {
    min-height: 40px !important;
    padding: 0 12px !important;
    font-size: 0.88rem !important;
}

.pro-search-note {
    margin-top: 14px !important;
    padding-top: 13px !important;
    font-size: 0.9rem !important;
}

.rb-step-progress {
    padding: 8px !important;
    gap: 8px !important;
}

.rb-step-progress-item {
    min-height: 42px !important;
    padding: 8px 10px !important;
}

.section-title,
.agent-backoffice-page .admin-section-head h2,
.agent-reconciliation-page .admin-section-head h2,
.agent-cancel-page .admin-section-head h2,
.login-page .auth-card-head h2 {
    font-size: 1.12rem !important;
    line-height: 1.22 !important;
}

.summary-item,
.figma-trip-summary-row,
.queue-primary-cell,
.meta-box,
.rb-filter-checkbox {
    font-size: 0.88rem !important;
}

.rb-summary-total strong,
.figma-review-total strong {
    font-size: 1.25rem !important;
}

.rb-seat-summary-card .summary-item,
.figma-passenger-page .summary-item,
.booking-details-page .summary-item,
.cancellation-status-page .summary-item,
.cancellation-request-page .summary-item {
    gap: 8px !important;
}

.admin-body .admin-shell {
    grid-template-columns: 280px minmax(0, 1fr) !important;
}

.admin-body .admin-sidebar {
    padding: 14px !important;
    border-radius: 0 !important;
    box-shadow: 10px 0 22px rgba(17, 24, 39, 0.12) !important;
}

.admin-body .admin-nav-link {
    min-height: 48px !important;
    padding: 8px 10px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
}

.admin-body .admin-nav-icon {
    width: 34px !important;
    height: 34px !important;
}

.admin-body .admin-main {
    gap: 14px !important;
    padding: 14px !important;
}

.admin-body .admin-topbar {
    padding: 14px 16px !important;
    box-shadow: var(--pro-shadow-soft) !important;
}

.admin-body .admin-topbar-copy h1 {
    font-size: clamp(1.25rem, 1.6vw, 1.6rem) !important;
}

.agent-backoffice-page .admin-kpi-grid,
.agent-reconciliation-page .admin-kpi-grid {
    gap: 10px !important;
}

.agent-backoffice-page .admin-kpi-card,
.agent-reconciliation-page .admin-kpi-card {
    min-height: 104px !important;
    padding: 13px !important;
}

.agent-backoffice-page .admin-kpi-card strong,
.agent-reconciliation-page .admin-kpi-card strong {
    font-size: clamp(1.25rem, 1.55vw, 1.55rem) !important;
}

.agent-filter-panel .admin-filter-grid {
    gap: 10px !important;
}

.agent-table-frame {
    box-shadow: none !important;
}

.agent-backoffice-page .agent-bookings-table tr.empty-state td,
.agent-reconciliation-page .reconciliation-table tr.empty-state td {
    min-height: 86px !important;
    padding: 24px 18px !important;
    text-align: center !important;
}

.agent-backoffice-page .agent-bookings-table tr.empty-state td {
    width: 100% !important;
}

.agent-backoffice-page .agent-bookings-table th,
.agent-backoffice-page .agent-bookings-table td,
.agent-reconciliation-page .reconciliation-table th,
.agent-reconciliation-page .reconciliation-table td {
    padding: 11px 12px !important;
}

.agent-cancel-booking-card,
.agent-cancel-empty,
.agent-cancel-request-card,
.agent-cancel-preview-card,
.agent-cancel-grid .field {
    padding: 13px !important;
}

.public-main .alert,
.validation-summary {
    padding: 10px 12px !important;
    font-size: 0.9rem !important;
}

@media (max-width: 900px) {
    .figma-search-page,
    .figma-results-page,
    .rb-seat-page,
    .figma-passenger-page,
    .rb-review-page,
    .figma-success-page,
    .my-bookings-page .container,
    .booking-details-page,
    .cancellation-request-page,
    .cancellation-status-page,
    .login-page.auth-shell {
        width: min(100% - 24px, var(--pro-page-max)) !important;
        padding-top: 14px !important;
        padding-bottom: 28px !important;
    }

    .figma-search-copy .page-title,
    .figma-results-head .page-title,
    .rb-seat-header .page-title,
    .figma-passenger-copy .page-title,
    .figma-review-copy .page-title,
    .figma-success-copy .page-title,
    .my-bookings-page .page-title,
    .booking-details-page .page-title,
    .cancellation-request-page .page-title,
    .cancellation-status-page .page-title {
        font-size: 1.65rem !important;
    }

    .figma-search-row,
    .figma-search-footer {
        grid-template-columns: 1fr !important;
    }

    .figma-search-swap {
        margin: 0 !important;
        justify-self: stretch !important;
        width: 100% !important;
    }

    .figma-search-swap i {
        transform: rotate(90deg);
    }

    .figma-search-input-shell,
    .rb-date-shell,
    .rb-search-btn {
        min-height: 48px !important;
    }

    .admin-body .admin-shell {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 520px) {
    :root {
        --pro-card-pad: 14px;
        --pro-control-h: 46px;
    }

    .figma-search-page,
    .figma-results-page,
    .rb-seat-page,
    .figma-passenger-page,
    .rb-review-page,
    .figma-success-page,
    .my-bookings-page .container,
    .booking-details-page,
    .cancellation-request-page,
    .cancellation-status-page,
    .login-page.auth-shell {
        width: min(100% - 16px, var(--pro-page-max)) !important;
    }

    .figma-search-copy .page-title,
    .figma-results-head .page-title,
    .rb-seat-header .page-title,
    .figma-passenger-copy .page-title,
    .figma-review-copy .page-title,
    .figma-success-copy .page-title,
    .my-bookings-page .page-title,
    .booking-details-page .page-title,
    .cancellation-request-page .page-title,
    .cancellation-status-page .page-title {
        font-size: 1.5rem !important;
    }

    .figma-search-copy p,
    .figma-results-head p,
    .rb-seat-header p,
    .figma-passenger-copy p,
    .figma-review-copy p,
    .figma-success-copy p,
    .page-intro p {
        font-size: 0.9rem !important;
    }

    .pro-search-note {
        display: grid !important;
        gap: 10px !important;
    }
}
