/* WizoTrip branding; operational success/warning/danger colours stay semantic. */
.admin-body .package-builder-page {
    --pb-ink: var(--admin-navy);
    --pb-text: var(--admin-text);
    --pb-muted: var(--admin-muted);
    --pb-blue: var(--admin-blue);
    --pb-border: var(--admin-line);
    --pb-soft: var(--admin-blue-soft);
}
.admin-body .package-builder-page .package-builder-heading-actions a.is-preview,
.admin-body .package-builder-page .package-location-master-link,
.admin-body .package-builder-page .package-route-add,
.admin-body .package-builder-page .package-route-actions button:not(.is-danger) {
    border-color: var(--pb-border);
    background: var(--admin-bg);
    color: var(--pb-blue);
}
.admin-body .package-builder-page .package-workspace-tabs > button { color: var(--pb-text); }
.admin-body .package-builder-page .package-workspace-tabs > button > i,
.admin-body .package-builder-page .package-builder-section > header > i,
.admin-body .package-builder-page .package-type-picker label > span i,
.admin-body .package-builder-page .package-route-primary,
.admin-body .package-builder-page .package-route-summary > span {
    background: var(--pb-soft);
    color: var(--pb-blue);
}
.admin-body .package-builder-page .package-workspace-tabs > button.is-active {
    border-color: var(--pb-border);
    background: var(--pb-soft);
    color: var(--pb-blue);
    box-shadow: inset 3px 0 0 var(--pb-blue);
}
.admin-body .package-builder-page .package-workspace-tabs > button.is-active > i,
.admin-body .package-builder-page .package-location-heading > span,
.admin-body .package-builder-page .package-type-picker input:checked + span i,
.admin-body .package-builder-page .package-route-order {
    background: var(--pb-blue);
    color: #fff;
    box-shadow: none;
}
.admin-body .package-builder-page .package-workspace-tabs-heading,
.admin-body .package-builder-page .package-route-summary,
.admin-body .package-builder-page .package-route-row,
.admin-body .package-builder-page .package-type-picker label > span { border-color: var(--pb-border); }
.admin-body .package-builder-page .package-builder-section > header { background: var(--admin-bg); }
.admin-body .package-builder-page .package-location-card {
    border-color: var(--pb-border);
    background: linear-gradient(135deg, var(--admin-bg), var(--pb-soft));
}
.admin-body .package-builder-page .package-type-picker input:checked + span {
    border-color: var(--pb-blue);
    background: var(--pb-soft);
    box-shadow: 0 0 0 1px rgba(117,70,121,.12);
}
.admin-body .package-builder-page .package-location-heading strong,
.admin-body .package-builder-page .package-type-picker label > span b,
.admin-body .package-builder-page .package-route-summary strong { color: var(--pb-ink); }
.admin-body .package-builder-page .package-route-summary small,
.admin-body .package-builder-page .package-route-summary > span b,
.admin-body .package-builder-page .package-location-help i { color: var(--pb-blue); }
.admin-body .package-builder-page .package-workspace-tabs > button small,
.admin-body .package-builder-page .package-type-picker label > span small,
.admin-body .package-builder-page .package-location-heading small,
.admin-body .package-builder-page .package-location-help { color: var(--pb-muted); }
.admin-body .package-builder-page .package-form-grid label,
.admin-body .package-builder-page .package-route-row > label { color: var(--pb-text); }
.admin-body .package-builder-page .package-form-grid input,
.admin-body .package-builder-page .package-form-grid select,
.admin-body .package-builder-page .package-form-grid textarea {
    border-color: var(--pb-border);
    color: var(--pb-ink);
    background-color: #fff;
}
.admin-body .package-builder-page .package-basics-form .package-form-grid > label:not(.package-switch) :is(input, select, textarea):focus,
.admin-body .package-builder-page .package-route-row :is(input, select):focus {
    border-color: var(--pb-blue);
    box-shadow: 0 0 0 3px rgba(117,70,121,.12);
}
.admin-body .package-builder-page .package-workspace-tabs > button:hover,
.admin-body .package-builder-page .package-type-picker label:hover > span,
.admin-body .package-builder-page .package-location-master-link:hover,
.admin-body .package-builder-page .package-builder-heading-actions a.is-preview:hover,
.admin-body .package-builder-page .package-route-add:hover:not(:disabled),
.admin-body .package-builder-page .package-route-actions button:not(.is-danger):hover:not(:disabled) {
    border-color: var(--pb-blue);
    background: var(--pb-soft);
    color: var(--pb-blue);
}
.admin-body .package-builder-page .package-type-picker input:focus-visible + span {
    box-shadow: 0 0 0 3px rgba(117,70,121,.16);
}
.admin-body .package-builder-page :is(.package-route-add, .package-location-master-link, .package-route-actions button):focus-visible {
    outline: 2px solid var(--pb-blue);
    outline-offset: 2px;
}
.admin-body .package-builder-page .package-progress-track span {
    background: linear-gradient(90deg, var(--pb-blue), var(--admin-blue-strong));
}
.package-admin-page.tenant-package-list,
.package-builder-page.tenant-package-builder {
    --pb-ink: var(--admin-navy);
    --pb-text: var(--admin-text);
    --pb-muted: var(--admin-muted);
    --pb-blue: var(--admin-blue);
    --pb-border: var(--admin-line);
    --pb-soft: var(--admin-blue-soft);
}
.tenant-package-builder .tenant-package-scope {
    margin: 0 0 14px;
    color: var(--pb-muted);
    font-size: var(--pb-type-caption);
}
.tenant-package-builder .tenant-package-tabs > a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 9px;
    border-radius: 9px;
    color: var(--pb-text);
    font-size: var(--pb-type-label);
    font-weight: 700;
    text-decoration: none;
}
.tenant-package-tabs > a > i:first-child { color: var(--pb-blue); background: var(--pb-soft); padding: 8px; border-radius: 8px; }
.tenant-package-tabs > a > i:last-child { margin-left: auto; font-size: 10px; }
.tenant-package-builder .tenant-package-tabs > a:hover { background: var(--pb-soft); color: var(--pb-blue); }
.tenant-package-builder .package-builder-section { scroll-margin-top: 90px; border-color: var(--pb-border); box-shadow: 0 8px 24px rgba(117,70,121,.05); }
.tenant-package-builder .package-builder-section > h2 { margin-bottom: 16px; color: var(--pb-ink); font-size: var(--pb-type-section-title); font-weight: 750; }
.tenant-package-builder .package-builder-section p { color: var(--pb-muted); font-size: var(--pb-type-body); line-height: 1.6; }
.tenant-package-builder .form-label { color: var(--pb-text); font-size: var(--pb-type-label); font-weight: 700; }
.tenant-package-builder .form-control,
.tenant-package-builder .form-select { min-height: 40px; border-color: var(--pb-border); background-color: #fff; color: var(--pb-ink); font-size: var(--pb-type-body); border-radius: 9px; }
.tenant-package-builder textarea.form-control { resize: vertical; }
.tenant-package-builder .form-control:focus,
.tenant-package-builder .form-select:focus { border-color: var(--pb-blue); box-shadow: 0 0 0 .2rem rgba(117,70,121,.12); }
.tenant-package-builder .package-workspace-tabs-heading { border-color: var(--pb-border); }
.tenant-package-builder fieldset.border { border-color: var(--pb-border) !important; background: var(--admin-bg); }
.tenant-package-builder legend { color: var(--pb-blue); font-size: var(--pb-type-subheading); font-weight: 750; }
.tenant-package-builder a:focus-visible { outline: 2px solid var(--pb-blue); outline-offset: 2px; }
.tenant-package-builder .package-builder-heading a { color: var(--pb-text); }
.tenant-route-editor { padding: 16px; border: 1px solid var(--pb-border); border-radius: 12px; background: var(--pb-soft); }
.tenant-route-editor a { color: var(--pb-blue); font-size: var(--pb-type-label); }
.tenant-package-builder .btn-outline-primary { --bs-btn-color: var(--pb-blue); --bs-btn-border-color: var(--pb-blue); --bs-btn-hover-bg: var(--pb-blue); --bs-btn-hover-border-color: var(--pb-blue); --bs-btn-active-bg: var(--pb-blue); --bs-btn-active-border-color: var(--pb-blue); }
.tenant-route-row { display: grid; grid-template-columns: minmax(0,1fr) 90px auto auto auto; gap: 8px; align-items: end; margin-bottom: 10px; }
.tenant-route-row label { font-size: var(--pb-type-label); color: var(--pb-text); font-weight: 700; }
@media (max-width: 767px) {
    .tenant-route-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .tenant-route-row label:first-child { grid-column: span 2; }
}
.tenant-package-list .package-empty > i,
.tenant-package-list .package-edit-link,
.tenant-package-list .package-admin-cover { background: var(--pb-soft); color: var(--pb-blue); }
.tenant-package-list .package-build-stats > span,
.tenant-package-list .package-list-filter input,
.tenant-package-list .package-list-filter select { background: var(--admin-bg); }
.tenant-package-list .package-admin-heading-actions a:not(.is-primary),
.tenant-package-list .package-list-filter > a { color: var(--pb-text); }
.tenant-package-list .package-list-filter label i { color: var(--pb-muted); }
.tenant-package-list .package-summary-grid article,
.tenant-package-list .package-list-panel { box-shadow: 0 8px 24px rgba(117, 70, 121, .05); }
.tenant-package-list .package-admin-heading-actions a.is-primary:hover,
.tenant-package-list .package-list-filter button:hover { background: var(--admin-blue-strong); border-color: var(--admin-blue-strong); }
.tenant-package-list :is(a, button, input, select):focus-visible {
    outline: 2px solid var(--admin-blue);
    outline-offset: 2px;
}
.admin-content.tenant-agent-detail { padding-top: .5rem; }
.tenant-agent-list.agent-list-workspace { background:#fff; border-color:#e9dfea; }
.tenant-agent-list .admin-table-meta { padding-top:9px; padding-bottom:9px; border-color:#eee6f0; }
.tenant-agent-list .agent-list-table [data-field="agency"]>strong,
.tenant-agent-list .agent-list-table [data-field="contact"]>small { white-space:normal; overflow-wrap:anywhere; }
.tenant-agent-list .agent-list-table .admin-table-identity>span:last-child { min-width:0; overflow-wrap:anywhere; }
.tenant-agent-list .admin-table-meta { padding:12px 18px; background:#fff; color:#8b7b95; }
.tenant-agent-list .admin-table-meta > span > strong { color:#754478; }
.tenant-agent-list .agent-list-table .admin-table-avatar { width:44px; height:44px; flex-basis:44px; border-radius:14px; background:linear-gradient(145deg,#95689b,#754478); color:#fff; border:1px solid #fff; box-shadow:0 4px 12px #75447820; font-weight:700; }
.tenant-agent-list .agent-list-table .admin-table-identity { gap:12px; }
.tenant-agent-list .agent-list-table [data-field="contact"] i { color:#9c7aa5; font-size:12px; margin-right:4px; }
.tenant-agent-list .agent-list-table [data-field="contact"] > small { margin-top:5px; }
.tenant-agent-list .agent-list-table .admin-status-chip { border:1px solid transparent; padding:7px 11px; font-weight:650; }
.tenant-agent-list .agent-list-table .admin-status-chip.is-success { border-color:#cbe9dc; background:#edf9f3; color:#117653; }
.tenant-agent-list .agent-list-table .admin-status-chip.is-warning { border-color:#f3dfb1; background:#fff8e8; color:#99600a; }
.tenant-agent-list .agent-list-table [data-field="account"] .admin-status-chip::before { content:""; width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:currentColor; }
.tenant-agent-list .agent-row-actions .admin-table-action { min-height:38px; padding:8px 13px; border:1px solid #e3d4e8; border-radius:10px; background:#f4edf7; color:#754478; white-space:nowrap; font-weight:650; }
.tenant-agent-list .agent-row-actions .admin-table-action:hover { background:#754478; color:#fff; border-color:#754478; }
.tenant-agent-list .agent-row-actions .admin-table-action:focus-visible { outline:2px solid #754478; outline-offset:3px; }
@media(min-width:1200px) {
    .tenant-agent-list .agent-list-table-wrap { padding:2px 14px 10px; background:#fcfafd; }
    .tenant-agent-list .agent-list-table { border-collapse:separate; border-spacing:0 10px; }
    .tenant-agent-list .agent-list-table thead th { padding:13px 16px; background:#f2eaf5; color:#71577d; font-size:11px; font-weight:700; letter-spacing:.035em; border:0; }
    .tenant-agent-list .agent-list-table thead th:first-child { border-radius:10px 0 0 10px; }
    .tenant-agent-list .agent-list-table thead th:last-child { border-radius:0 10px 10px 0; }
    .tenant-agent-list .agent-list-table tbody td { padding:18px 16px; vertical-align:middle; border:0; border-top:1px solid #eadfeb; border-bottom:1px solid #eadfeb; border-radius:0; background:#fff; transition:background-color .15s,border-color .15s; }
    .tenant-agent-list .agent-list-table tbody tr:last-child td { border-bottom:1px solid #eadfeb; }
    .tenant-agent-list .agent-list-table tbody td:first-child { border-left:1px solid #eadfeb; border-radius:14px 0 0 14px; box-shadow:inset 3px 0 #b792bf; }
    .tenant-agent-list .agent-list-table tbody td:last-child { border-right:1px solid #eadfeb; border-radius:0 14px 14px 0; }
    .tenant-agent-list .agent-list-table tbody tr:hover td { background:#faf5fc; border-color:#d9c1e1; }
    .tenant-agent-list .agent-list-table th:nth-child(1) { width:22%; }
    .tenant-agent-list .agent-list-table th:nth-child(2) { width:16%; }
    .tenant-agent-list .agent-list-table th:nth-child(3) { width:22%; }
    .tenant-agent-list .agent-list-table th:nth-child(4),.tenant-agent-list .agent-list-table th:nth-child(5) { width:11%; }
    .tenant-agent-list .agent-list-table th:nth-child(6) { width:9%; }
    .tenant-agent-list .agent-list-table th:nth-child(7) { width:9%; text-align:right; }
    .tenant-agent-list .agent-list-table th:nth-child(4),.tenant-agent-list .agent-list-table th:nth-child(5),
    .tenant-agent-list .agent-list-table td[data-field="kyc"],.tenant-agent-list .agent-list-table td[data-field="account"] { text-align:center; }
    .tenant-agent-list .agent-list-table .admin-status-chip { white-space:normal; justify-content:center; }
    .tenant-agent-list .agent-list-table.density-compact tbody td { padding-top:8px; padding-bottom:8px; }
}
.tenant-header-wallet { display:flex; align-items:center; gap:9px; padding:8px 12px; border:1px solid #e9dfea; border-radius:12px; background:#faf7fb; color:#754478; text-decoration:none; }
.tenant-header .tenant-header-wallet,.tenant-header .profile-button { box-sizing:border-box; height:48px; min-height:48px; padding-top:4px; padding-bottom:4px; }
.tenant-header-wallet > i { font-size:20px; }
.tenant-header-wallet span { display:flex; flex-direction:column; }
.tenant-header-wallet small { font-size:10px; color:#85788e; line-height:1.4; }
.tenant-header-wallet strong { font-size:13px; line-height:1.5; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.tenant-header-wallet:hover { background:#f3ebf5; color:#754478; }
.tenant-header-wallet:focus-visible { outline:2px solid #754478; outline-offset:3px; }
.tenant-header-booking-nav { display:flex; align-items:center; justify-content:center; gap:8px; }
.tenant-header-booking-nav a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:9px 14px; border:1px solid #e5d8e9; border-radius:10px; background:#f8f2fa; color:#754478; font-size:12px; font-weight:700; text-decoration:none; white-space:nowrap; }
.tenant-header-booking-nav a i { font-size:17px; }
.tenant-header-booking-nav a:hover { color:white; background:#754478; border-color:#754478; }
.tenant-header-booking-nav a:focus-visible { outline:2px solid #754478; outline-offset:3px; }
@media(min-width:1440px) {
    .tenant-header-with-booking-actions { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:16px; }
    .tenant-header-with-booking-actions .admin-header-actions { justify-self:end; }
}
@media(max-width:1439px) {
    .admin-header.tenant-header-with-booking-actions { flex-wrap:wrap; gap:10px; padding-block:10px; }
    .tenant-header-with-booking-actions .tenant-header-booking-nav { order:3; width:100%; }
}
@media(max-width:575px) {
    .tenant-header-booking-nav a { min-width:0; flex:1; padding:8px; font-size:11px; gap:6px; }
}
@media(max-width:575.98px) {
    .admin-header.tenant-header { flex-wrap:wrap; gap:8px; padding:10px 12px; }
    .tenant-header .admin-header-actions { width:100%; justify-content:flex-end; gap:8px; }
    .tenant-header-wallet { margin-right:auto; padding:6px 10px; }
}
.tenant-agent-detail .identity-profile-banner {
    border-color: var(--admin-line);
    background: linear-gradient(110deg, #fff, var(--admin-blue-soft));
    box-shadow: 0 9px 25px rgba(117, 70, 121, .06);
}
.tenant-agent-detail .identity-profile-avatar {
    background: var(--admin-blue);
    box-shadow: 0 8px 20px rgba(117, 70, 121, .15);
}
.tenant-agent-detail .identity-card {
    border-color: var(--admin-line);
    box-shadow: 0 7px 22px rgba(117, 70, 121, .05);
}
.tenant-agent-detail .identity-card > header,
.tenant-agent-detail .identity-summary-list > div { border-color: var(--admin-line-soft); }
.tenant-agent-detail .identity-card > header > i { color: var(--admin-blue); background: var(--admin-blue-soft); }
.tenant-agent-detail .identity-card > header:has(.agent-wallet-actions) { flex-wrap:wrap; gap:12px; }
.tenant-agent-detail .agent-wallet-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.tenant-agent-detail .agent-wallet-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; box-sizing:border-box; min-height:42px; padding:10px 14px; line-height:20px; font-size:13px; font-weight:700; white-space:nowrap; border-radius:10px; }
.tenant-agent-detail .agent-wallet-balance { display:flex; align-items:center; gap:10px; padding:7px 12px; margin-right:4px; border:1px solid var(--admin-line); border-radius:10px; background:var(--admin-blue-soft); }
.tenant-agent-detail .agent-wallet-balance > i { color:var(--admin-blue); font-size:20px; }
.tenant-agent-detail .agent-wallet-balance small { display:block; color:var(--admin-muted); font-size:11px; line-height:15px; }
.tenant-agent-detail .agent-wallet-balance strong { display:block; color:var(--admin-blue); font-size:16px; line-height:20px; font-variant-numeric:tabular-nums; }
@media(max-width:767.98px) {
    .tenant-agent-detail .agent-wallet-actions { width:100%; justify-content:flex-start; }
    .tenant-agent-detail .agent-wallet-balance { width:100%; margin-right:0; }
    .tenant-agent-detail .agent-wallet-actions .btn { flex:1; }
}
.tenant-agent-detail .identity-field-grid > div { border-color: var(--admin-line); background: var(--admin-bg); }
.tenant-agent-detail .identity-profile-main h2,
.tenant-agent-detail .identity-card > header h3 { color: var(--admin-navy); }
.tenant-agent-detail .identity-field-grid strong,
.tenant-agent-detail .identity-summary-list strong,
.tenant-agent-detail .identity-card .form-label { color: var(--admin-text); }
.tenant-agent-detail .identity-profile-main p,
.tenant-agent-detail .identity-field-grid small,
.tenant-agent-detail .identity-summary-list span { color: var(--admin-muted); }
.tenant-agent-detail .identity-card .form-control,
.tenant-agent-detail .identity-card .form-select { border-color: var(--admin-line); background-color: #fff; }
.tenant-agent-detail .identity-card .form-control:focus,
.tenant-agent-detail .identity-card .form-select:focus {
    border-color: var(--admin-blue);
    box-shadow: 0 0 0 .2rem rgba(117, 70, 121, .12);
}
.tenant-agent-detail .btn-outline-primary {
    --bs-btn-color: var(--admin-blue);
    --bs-btn-border-color: var(--admin-blue);
    --bs-btn-hover-bg: var(--admin-blue);
    --bs-btn-hover-border-color: var(--admin-blue);
    --bs-btn-active-bg: var(--admin-blue-strong);
    --bs-btn-active-border-color: var(--admin-blue-strong);
    --bs-btn-focus-shadow-rgb: 117, 70, 121;
}
:root {
    --admin-blue: #754679;
    --admin-blue-strong: #58335c;
    --admin-blue-soft: #f5edf6;
    --admin-cyan: #754679;
    --admin-purple: #754679;
    --admin-navy: #2d2033;
    --admin-bg: #fcf8fa;
    --admin-text: #493d50;
    --admin-muted: #817187;
    --admin-line: #eadfe9;
    --admin-line-soft: #f3edf3;
    --bs-primary: #754679;
    --bs-primary-rgb: 117, 70, 121;
    --bs-link-color: #754679;
    --bs-link-hover-color: #58335c;
}
.admin-body .btn-primary, .admin-guest-body .btn-primary {
    --bs-btn-bg: #754679;
    --bs-btn-border-color: #754679;
    --bs-btn-hover-bg: #58335c;
    --bs-btn-hover-border-color: #58335c;
    --bs-btn-active-bg: #58335c;
    --bs-btn-active-border-color: #58335c;
    --bs-btn-disabled-bg: #754679;
    --bs-btn-disabled-border-color: #754679;
    --bs-btn-focus-shadow-rgb: 117, 70, 121;
    box-shadow: 0 5px 14px rgba(117, 70, 121, .15);
}
.admin-body .profile-menu {
    --bs-dropdown-link-color: var(--admin-text);
    --bs-dropdown-link-hover-color: var(--admin-blue-strong);
    --bs-dropdown-link-hover-bg: var(--admin-blue-soft);
    --bs-dropdown-link-active-color: var(--admin-blue-strong);
    --bs-dropdown-link-active-bg: var(--admin-blue-soft);
}
.admin-body .profile-menu-link > i,
.admin-body .nav-glyph {
    color: var(--admin-blue);
    background: var(--admin-blue-soft);
}
.admin-body .profile-menu-link > span strong { color: var(--admin-navy); }
.admin-body .profile-menu-link > span small,
.admin-body .profile-menu-account > span { color: var(--admin-muted); }
.admin-body .profile-menu-link:hover > i,
.admin-body .profile-menu-link:focus-visible > i { color: var(--admin-blue-strong); background: #eadcec; }
.admin-body .sidebar-link:hover,
.admin-body .sidebar-link:focus-visible {
    color: var(--admin-blue-strong);
    border-color: #e1cce4;
    background: var(--admin-blue-soft);
}
.admin-body .sidebar-link:hover .nav-glyph,
.admin-body .sidebar-link:focus-visible .nav-glyph { color: var(--admin-blue-strong); background: #eadcec; }
.admin-body .sidebar-link:focus-visible,
.admin-body .profile-menu-link:focus-visible { outline: 2px solid #b489b8; outline-offset: 2px; }
.admin-body .sidebar-link.active {
    color: #cf2035;
    border-color: #f2d5dc;
    background: #fcf0f3;
}
.admin-body .sidebar-link.active::before { background: #cf2035; }
.admin-body .sidebar-link.active .nav-glyph { color: #cf2035; box-shadow: none; }
/* Booking workspace accents, including its separate service navigation. */
.admin-body .booking-service-sidebar > header > span,
.admin-body .booking-records-panel > header span { color: var(--admin-blue); }
.admin-body .booking-service-sidebar nav a { color: var(--admin-text); }
.admin-body .booking-service-sidebar nav a > span,
.admin-body .booking-service-sidebar nav a b,
.admin-body .booking-service-sidebar > footer > span,
.admin-body .booking-kpi-grid article > span.is-blue,
.admin-body .booking-kpi-grid article > span.is-indigo,
.admin-body .booking-kpi-grid article > span.is-cyan,
.admin-body .booking-empty i { color: var(--admin-blue); background: var(--admin-blue-soft); }
.admin-body .booking-service-sidebar > footer { background: #fcf8fa; }
.admin-body .booking-service-sidebar nav a:hover,
.admin-body .booking-service-sidebar nav a:focus-visible {
    color: var(--admin-blue-strong);
    border-color: #e1cce4;
    background: var(--admin-blue-soft);
}
.admin-body .booking-service-sidebar nav a:focus-visible { outline: 2px solid #b489b8; outline-offset: 2px; }
.admin-body .booking-service-sidebar nav a.is-active {
    color: #cf2035;
    border-color: #f2d5dc;
    background: #fcf0f3;
    box-shadow: inset 3px 0 #cf2035;
}
.admin-body .booking-service-sidebar nav a.is-active > span {
    color: #fff;
    background: #cf2035;
    box-shadow: 0 5px 12px rgba(207, 32, 53, .18);
}
.admin-body .booking-service-sidebar nav a.is-active b { color: #cf2035; background: #fff; }
.admin-body .booking-primary-search input,
.admin-body .booking-easy-search select { border-color: var(--admin-line); background: #fdfafd; color: var(--admin-text); }
.admin-body .booking-primary-search label > i { color: var(--admin-blue); }
.admin-body .booking-primary-search input:focus,
.admin-body .booking-easy-search select:focus {
    border-color: #b489b8;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(117, 70, 121, .12);
}
.admin-body .booking-pagination a:not(.disabled) { color: var(--admin-blue); }
.admin-body .booking-ops-table th { background: #fcf8fa; }
.admin-body .booking-ops-table tbody tr:hover { background: #fdfafd; }
.admin-body .booking-ops-table .service-icon,
.admin-body .booking-agent-cell em { color: var(--admin-blue); background: var(--admin-blue-soft); border-color: var(--admin-line); }
.admin-body .booking-money-cell strong,
.admin-body .booking-view-link { color: var(--admin-blue); }
.admin-body .booking-view-link:hover { color: var(--admin-blue-strong); }
.admin-body .admin-table-avatar { color: #754679; background: #f5edf6; border-color: #eadfe9; }
.admin-body .agent-service-summary .is-enabled { color: #754679; background: #f5edf6; border-color: #e1cce4; }
.admin-body .admin-table-action:not(.agent-action-danger) { color: #754679; background: #fcf8fa; border-color: #eadfe9; }
.admin-body .form-control:focus, .admin-body .form-select:focus,
.admin-guest-body .form-control:focus { border-color: #b489b8; box-shadow: 0 0 0 3px rgba(117, 70, 121, .12); }
.admin-body input[type="checkbox"], .admin-body input[type="radio"] { accent-color: #754679; }
.admin-guest-body { background: #fcf8fa; }
.admin-access-badge { color: #754679; border-color: #eadfe9; background: #f5edf6; }
.admin-login-logo { width: 120px; margin-bottom: .35rem; }
.admin-guest-body .admin-login-shell .login-form-panel { padding: 1.25rem 1.65rem; }
.admin-guest-body .admin-login-shell .admin-access-badge { margin-bottom: .65rem; }
.admin-guest-body .admin-login-shell .login-subtitle { margin-bottom: 1rem; }
.admin-guest-body .admin-login-shell .login-submit { margin-top: .8rem; }
.admin-guest-body .admin-login-shell .login-meta { margin-top: .75rem; padding-top: .65rem; gap: .65rem; }
@media (max-width: 575.98px) {
    .admin-guest-body .admin-login-shell .login-form-panel { padding: 1.1rem 1.25rem; }
}
.admin-body .sidebar-brand-mark { width: 62px; height: 62px; object-fit: contain; max-width: none; }
.admin-body .sidebar-brand-logo { width: 142px; height: 78px; object-fit: contain; }
.agent-bulk-toolbar { display: flex; flex-wrap: wrap; gap: .85rem; align-items: center; padding: 1rem; border-bottom: 1px solid var(--admin-line); background: #fcf8fa; }
.agent-bulk-toolbar label, .agent-bulk-confirm { display: flex; gap: .5rem; align-items: center; }
.agent-bulk-toolbar small { color: var(--admin-muted); }
.agent-select-checkbox { width: 17px; height: 17px; margin-right: .45rem; vertical-align: middle; }
.agent-bulk-names { max-height: 180px; overflow: auto; padding-left: 1.25rem; }
.admin-agent-login-dialog .agent-bulk-confirm { margin: 1rem 0; font-weight: 500; }
.agent-bulk-confirm input { width: 18px; min-width: 18px; height: 18px; }
@media (max-width: 600px) { .agent-bulk-toolbar small { flex-basis: 100%; } }

/* Shared full-builder day workspace follows the admin plum palette. */
.admin-body .package-builder-page .package-day-foundation,
.admin-body .package-builder-page .package-itinerary-optional-panel > summary,
.admin-body .package-builder-page .package-day-secondary-tools > summary { background: #fcf8fa; }
.admin-body .package-builder-page .package-day-foundation-card[open] { border-color: #b489b8; box-shadow: 0 8px 22px rgba(117,70,121,.08); }
.admin-body .package-builder-page .package-day-foundation-number { background: var(--admin-blue); }
.admin-body .package-builder-page .package-day-foundation-intro span,
.admin-body .package-builder-page .package-day-simple-items-heading span { color: var(--admin-blue); }
.admin-body .package-builder-page .package-day-foundation-state,
.admin-body .package-builder-page .package-itinerary-optional-panel > summary > span > i,
.admin-body .package-builder-page .package-day-secondary-tools > summary > span > i,
.admin-body .package-builder-page .package-day-add-service-menu > button > i { color: var(--admin-blue); background: var(--admin-blue-soft); }

/* Tenant detail workspace only; shared directory and other admin pages unchanged. */
.admin-body .admin-content:has(.tenant-manage) { padding-top: .5rem; }
.admin-body .tenant-manage { padding: 0 !important; font-size: 13px; }
.tenant-manage .alert { padding: 10px 14px; border-radius: 12px; font-size: 12px; line-height: 1.6; }
.tenant-manage-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.tenant-manage-identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.tenant-manage-icon { display: grid; place-items: center; flex: 0 0 48px; height: 48px; border: 1px solid #e7d9e8; border-radius: 14px; color: #754478; background: #f3ebf5; font-size: 22px; }
.tenant-manage-summary small { color: #754478; font-size: 10px; font-weight: 750; letter-spacing: 1.2px; }
.tenant-manage-summary h2 { margin: 3px 0 5px; color: #302537; font-size: 21px; font-weight: 750; overflow-wrap: anywhere; }
.tenant-manage-summary p { margin: 0; color: #75697b; font-size: 12px; overflow-wrap: anywhere; }
.tenant-manage-status { display: inline-block; margin-left: 8px; padding: 3px 9px; border-radius: 20px; background: #f3ebf5; color: #754478; font-weight: 700; }
.tenant-manage-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 16px; align-items: start; }
.tenant-manage-sidebar { min-width: 0; border: 1px solid #e9dfea; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(56,32,65,.04); overflow: hidden; }
@media (min-width: 992px) {
    .tenant-manage-sidebar { position: sticky; top: 80px; max-height: calc(100dvh - 96px); display: flex; flex-direction: column; }
    .tenant-manage-sidebar > header { flex-shrink: 0; }
    .tenant-manage-sidebar .tenant-manage-sections { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
}
.tenant-manage-sidebar > header { padding: 20px; border-bottom: 1px solid #f0e8f1; }
.tenant-manage-sidebar small { color: #754478; font-size: 10px; font-weight: 750; letter-spacing: 1.2px; }
.tenant-manage-sidebar h3 { margin: 6px 0 0; color: #302537; font-size: 19px; font-weight: 750; }
.tenant-manage-sections { display: flex; flex-direction: column; gap: 4px; padding: 8px 10px; }
.tenant-manage-sections a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 10px; border: 1px solid transparent; border-radius: 13px; color: #51445a; background: #fff; text-decoration: none; font-size: 12px; font-weight: 700; }
.tenant-manage-sections a > i { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border-radius: 10px; background: #f3ebf5; color: #754478; font-size: 17px; }
.tenant-manage-sections a:hover { color: #754478; border-color: #b489b8; background: #f8f2f9; }
.tenant-manage-sections a[aria-current="location"] { color: #d71938; background: #fbf0f3; border-color: #f3cbd5; box-shadow: inset 4px 0 #d71938; }
.tenant-manage-sections a[aria-current="location"] > i { background: #d71938; color: #fff; }
.tenant-manage-sections a:focus-visible { outline: 2px solid #754478; outline-offset: 3px; }
.tenant-manage-grid { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: start; }
.tenant-manage-grid > [hidden] { display: none !important; }
.tenant-manage .tenant-domain-heading { margin: 0 0 12px; font-size: 13px; font-weight: 700; color: #51445a; }
.tenant-manage .tenant-domain-section { margin-top: 16px; padding: 16px; border: 1px solid #e9dfea; border-radius: 12px; background: #fff; }
.tenant-domain-section > summary { color: #51445a; font-weight: 700; cursor: pointer; }
.tenant-domain-section > summary i { margin-right: 6px; color: #754478; }
.tenant-domain-current { display: inline-block; margin-left: 8px; padding: 3px 9px; border-radius: 20px; background: #f3ebf5; color: #754478; font-size: 11px; }
.tenant-domain-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 16px 0; }
.tenant-domain-fields > div { min-width: 0; }
.tenant-domain-fields > [hidden] { display: none; }
.tenant-domain-wide { grid-column: 1 / -1; }
.tenant-company-logo { display: grid; grid-template-columns: 110px minmax(0,1fr); align-items: center; gap: 16px; padding: 16px; border: 1px solid #e9dfea; border-radius: 12px; }
.tenant-company-preview { display: grid; place-items: center; min-height: 90px; background: #faf7fb; border-radius: 10px; padding: 8px; }
.tenant-company-preview img { max-width: 100%; max-height: 90px; object-fit: contain; }
@media (max-width: 575px) { .tenant-company-logo { grid-template-columns: minmax(0,1fr); } }
#tenant-branding .tenant-company-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
#tenant-branding .tenant-company-section { min-width: 0; padding: 20px; border: 1px solid #eadfe9; border-radius: 14px; background: #fdfbfd; }
#tenant-branding .tenant-company-section .tenant-domain-heading { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; font-size: 15px; }
#tenant-branding .tenant-company-section .tenant-domain-heading i { color: #754679; }
#tenant-branding .tenant-company-gst { grid-column: 1 / -1; }
#tenant-branding .tenant-company-form .tenant-domain-fields { gap: 16px; }
#tenant-branding .tenant-company-form .form-label { margin-bottom: 6px; font-size: 13px; }
#tenant-branding .tenant-company-form textarea { min-height: 88px; }
#tenant-branding .tenant-company-form .tenant-company-logo { padding: 14px; gap: 14px; background: white; margin-bottom: 18px; grid-template-columns: 86px minmax(0,1fr); }
#tenant-branding .tenant-company-preview { min-height: 80px; }
#tenant-branding .tenant-company-preview img { max-height: 76px; }
#tenant-branding .tenant-company-form .text-muted { font-size: 12px; line-height: 1.6; margin: 8px 0 0; }
#tenant-branding .tenant-company-save { margin-top: 20px; padding: 20px; border: 1px solid #eadfe9; border-radius: 14px; background: white; }
#tenant-branding .tenant-company-save .btn { min-width: 190px; }
@media (max-width: 1199.98px) { #tenant-branding .tenant-company-sections { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 575.98px) {
    #tenant-branding .tenant-company-section, #tenant-branding .tenant-company-save { padding: 15px; }
    #tenant-branding .tenant-company-form .tenant-company-logo { grid-template-columns: minmax(0,1fr); }
    #tenant-branding .tenant-company-save .btn { width: 100%; }
}
.tenant-channel-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 24px; }
.tenant-channel-options label { position: relative; cursor: pointer; }
.tenant-channel-options input { position: absolute; top: 18px; left: 14px; accent-color: #754478; }
.tenant-channel-options label > span { display: block; padding: 14px 12px 14px 38px; border: 1px solid #e9dfea; border-radius: 12px; }
.tenant-channel-options strong, .tenant-channel-options small { display: block; }
.tenant-channel-options small { color: #807087; margin-top: 4px; }
.tenant-channel-options input:checked + span { border-color: #754478; background: #f3ebf5; color: #754478; }
.tenant-channel-options input:focus-visible + span { outline: 2px solid #754478; outline-offset: 3px; }
.tenant-service-switch { display: inline-flex; align-items: center; gap: 10px; position: relative; cursor: pointer; }
.tenant-manage #tenant-modules .table th.tenant-service-name { font-size: 15px; font-weight: 750; color: #51445a; letter-spacing: 0; }
.tenant-service-switch input { position: absolute; opacity: 0; width: 38px; height: 24px; }
.tenant-switch-track { width: 38px; height: 22px; border-radius: 20px; background: #b7acbb; position: relative; transition: background .15s; }
.tenant-switch-track::after { content: ''; position: absolute; width: 16px; height: 16px; top: 3px; left: 3px; background: #fff; border-radius: 50%; transition: transform .15s; }
.tenant-service-switch input:checked + .tenant-switch-track { background: #754478; }
.tenant-service-switch input:checked + .tenant-switch-track::after { transform: translateX(16px); }
.tenant-service-switch input:focus-visible + .tenant-switch-track { outline: 2px solid #754478; outline-offset: 3px; }
.tenant-service-switch input:disabled ~ span { opacity: .5; }
.tenant-supplier-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 18px 0 22px; }
.tenant-supplier-card { min-width: 0; border: 1px solid #e9dfea; border-radius: 14px; overflow: hidden; }
.tenant-supplier-card h3 { display: flex; align-items: center; gap: 10px; margin: 0; padding: 16px; background: #faf7fb; color: #51445a; font-size: 15px; font-weight: 750; }
.tenant-supplier-card h3 i { color: #754478; }
.tenant-supplier-channel { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-top: 1px solid #f0e8f1; }
.tenant-supplier-channel strong, .tenant-supplier-channel small { display: block; }
.tenant-supplier-channel small { margin-top: 3px; color: #807087; }
.tenant-supplier-help { margin-top: 18px; font-size: 12px; }
.tenant-supplier-help summary { color: #754478; cursor: pointer; }
.tenant-supplier-help p { margin: 8px 0 0; }
.tenant-check-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.tenant-check-summary > div { border: 1px solid #e9dfea; border-radius: 12px; padding: 14px; background: #faf7fb; }
.tenant-check-summary small { display: block; color: #807087; margin-bottom: 6px; }
.tenant-check-summary strong { font-size: 19px; color: #302537; }
.tenant-check-group { border: 1px solid #e9dfea; border-radius: 12px; margin: 14px 0; overflow: hidden; }
.tenant-check-group > summary { padding: 14px 16px; color: #51445a; font-weight: 750; cursor: pointer; background: #faf7fb; }
.tenant-check-count { display: inline-block; margin-left: 8px; padding: 2px 8px; background: #f3ebf5; color: #754478; border-radius: 20px; }
.tenant-check-row { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-top: 1px solid #f0e8f1; }
.tenant-check-icon { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; border-radius: 10px; font-size: 17px; }
.tenant-check-icon.is-configured { color: #008568; background: #e8f8f2; }
.tenant-check-icon.is-pending { color: #996000; background: #fff4dc; }
.tenant-check-copy { flex: 1; min-width: 0; }
.tenant-check-copy > strong { font-size: 14px; color: #51445a; }
.tenant-check-copy summary { margin-top: 5px; color: #754478; font-size: 12px; cursor: pointer; }
.tenant-check-copy p { margin: 8px 0 0; color: #807087; line-height: 1.6; overflow-wrap: anywhere; }
.tenant-check-manual { font-size: 11px; color: #807087; padding-top: 8px; }
.tenant-check-empty { margin: 14px 16px; }
.tenant-check-portals { margin-top: 20px; }
.tenant-check-portals h3 { color: #51445a; font-size: 14px; font-weight: 750; margin-bottom: 10px; }
@media (max-width: 575px) { .tenant-check-summary { grid-template-columns: minmax(0,1fr); } .tenant-check-row { flex-wrap: wrap; } .tenant-check-copy { flex-basis: calc(100% - 44px); } .tenant-check-row > a, .tenant-check-manual { margin-left: 44px; } }
.tenant-admin-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.tenant-manage .tenant-admin-heading .h5 { margin: 0; padding: 0; border: 0; }
.tenant-admin-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.tenant-admin-badge { display: inline-block; padding: 4px 9px; border-radius: 20px; color: #754478; background: #f3ebf5; white-space: nowrap; }
.tenant-admin-modal { width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 22px; margin: auto; border: 1px solid #e9dfea; border-radius: 18px; color: #51445a; background: #fff; box-shadow: 0 24px 70px rgba(48,37,55,.2); }
.tenant-admin-modal::backdrop { background: rgba(48,37,55,.55); }
.tenant-admin-modal[open] { animation: tenant-admin-enter .18s ease-out; }
.tenant-admin-modal header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.tenant-admin-modal h3 { margin: 0; font-size: 20px; font-weight: 750; color: #302537; }
.tenant-admin-modal header button { border: 0; border-radius: 10px; background: #f3ebf5; color: #754478; width: 36px; height: 36px; font-size: 24px; cursor: pointer; }
.tenant-admin-modal footer { display: flex; justify-content: flex-end; gap: 10px; padding-top: 16px; border-top: 1px solid #e9dfea; }
body.tenant-admin-modal-open { overflow: hidden; }
@keyframes tenant-admin-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .tenant-admin-modal[open] { animation: none; } }
@media (max-width: 575px) { .tenant-admin-heading { align-items: flex-start; flex-wrap: wrap; } .tenant-admin-modal { padding: 16px; } }
@media (max-width: 767px) { .tenant-supplier-cards { grid-template-columns: minmax(0,1fr); } }
[data-tenant-modules] [hidden] { display: none !important; }
@media (max-width: 575px) { .tenant-channel-options { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .tenant-switch-track, .tenant-switch-track::after { transition: none; } }
@media (max-width: 575px) { .tenant-domain-fields { grid-template-columns: minmax(0,1fr); } }
.admin-body .tenant-manage .card { min-width: 0; margin-bottom: 0 !important; border: 1px solid #e9dfea; border-radius: 16px; box-shadow: 0 5px 20px rgba(56,32,65,.035); scroll-margin-top: 100px; }
.admin-body .tenant-manage .card-body { padding: 18px; }
.tenant-manage .h5 { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; padding-bottom: 13px; border-bottom: 1px solid #f0e8f1; color: #35283d; font-size: 15px; font-weight: 750; }
.tenant-manage .h5 i { color: #754478; font-size: 17px; }
.tenant-manage .text-muted { font-size: 12px; line-height: 1.6; }
.tenant-manage .table { margin-bottom: 14px; font-size: 12px; vertical-align: middle; }
.tenant-manage .table th { padding: 10px; color: #7f7086; background: #faf7fb; font-size: 10px; font-weight: 750; letter-spacing: .4px; }
.tenant-manage .table td { padding: 10px; color: #493b50; overflow-wrap: anywhere; }
.tenant-manage .form-label { margin-bottom: 6px; color: #65526d; font-size: 12px; font-weight: 650; }
.admin-body .tenant-manage .form-control, .admin-body .tenant-manage .form-select { min-height: 39px; padding: 9px 11px; border-color: #e4dce9; border-radius: 9px; background-color: #fdfbfe; font-size: 13px; line-height: 1.4; }
.admin-body .tenant-manage .form-select { padding-right: 30px; }
.tenant-manage .table .form-select { min-width: 116px; }
.tenant-manage .form-check { padding-top: 3px; font-size: 12px; line-height: 1.6; color: #726479; }
.admin-body .tenant-manage .btn { padding: 9px 14px; border-radius: 9px; font-size: 12px; font-weight: 650; }
.tenant-manage-branding { grid-column: 1 / -1; }
@media (max-width: 991px) { .tenant-manage-layout { grid-template-columns: minmax(0,1fr); } .tenant-manage-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 575px) {
    .tenant-manage-summary { flex-direction: column; align-items: flex-start; }
    .tenant-manage-summary h2 { font-size: 18px; }
    .admin-body .tenant-manage .card-body { padding: 14px; }
    .tenant-manage-sections { grid-template-columns: minmax(0,1fr); }
    .tenant-manage .form-control, .tenant-manage .form-select { font-size: 16px !important; }
}
