/* ============================================================
   MTC Transport — Deep Navy Blue Theme
   Applied globally over Keenthemes Bootstrap base.
   ============================================================ */

:root {
    --navy-950: #060d1f;
    --navy-900: #0d1b3e;
    --navy-800: #112044;
    --navy-700: #1e3a8a;
    --navy-600: #1d4ed8;
    --navy-500: #2563eb;
    --navy-400: #3b82f6;
    --navy-300: #60a5fa;
    --navy-200: #93c5fd;
    --navy-100: #dbeafe;
    --navy-50:  #eff6ff;
    --navy-accent: #38bdf8;   /* sky blue highlight */
    --navy-success: #22c55e;  /* kept green for success states */
    --body-bg: #f0f4f9;
    --sidebar-width: 265px;
}

/* ── Body & Page Background ─────────────────────────────── */
body {
    background-color: var(--body-bg) !important;
}

/* ── Sidebar ─────────────────────────────────────────────── */
#kt_app_sidebar,
.app-sidebar {
    background: linear-gradient(180deg, var(--navy-900) 0%, var(--navy-950) 100%) !important;
    border-right: 1px solid rgba(59, 130, 246, 0.12) !important;
    box-shadow: 4px 0 24px rgba(13, 27, 62, 0.35) !important;
}

/* Sidebar Logo area */
.app-sidebar-logo {
    border-bottom: 1px solid rgba(59, 130, 246, 0.12) !important;
    background: rgba(255,255,255,0.03) !important;
}

/* Sidebar toggle button */
#kt_app_sidebar_toggle {
    background: var(--navy-700) !important;
    border: 2px solid var(--navy-600) !important;
    color: var(--navy-300) !important;
}
#kt_app_sidebar_toggle:hover {
    background: var(--navy-600) !important;
    color: #fff !important;
}

/* ── Sidebar Menu ─────────────────────────────────────────── */
[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-link {
    border-radius: 8px !important;
    margin: 1px 8px !important;
    transition: all 0.2s ease !important;
}

[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-link:hover {
    background: rgba(59, 130, 246, 0.12) !important;
}

[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-link.active {
    background: linear-gradient(135deg, var(--navy-700) 0%, var(--navy-600) 100%) !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35) !important;
    border-radius: 8px !important;
    transition: color 0.2s ease !important;
}

[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-link.active .menu-icon,
[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-link.active .menu-icon .svg-icon,
[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-link.active .menu-icon i,
[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-link.active .menu-title {
    color: #ffffff !important;
}

[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-sub .menu-item .menu-link.active .menu-title {
    color: var(--navy-300) !important;
}

[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-sub .menu-item .menu-link.active {
    background: rgba(59, 130, 246, 0.15) !important;
    border-radius: 6px !important;
}

[data-kt-app-layout=light-sidebar] .app-sidebar .menu > .menu-item .menu-sub .menu-item .menu-link.active .menu-bullet .bullet {
    background-color: var(--navy-300) !important;
}

/* Menu text colors */
.app-sidebar .menu-title {
    color: #94a3b8 !important;
    font-weight: 500 !important;
}
.app-sidebar .menu-link:hover .menu-title {
    color: var(--navy-200) !important;
}

.app-sidebar .menu-icon i,
.app-sidebar .menu-icon .svg-icon {
    color: #64748b !important;
}
.app-sidebar .menu-link:hover .menu-icon i,
.app-sidebar .menu-link:hover .menu-icon .svg-icon {
    color: var(--navy-300) !important;
}

.app-sidebar .menu-section .menu-content span {
    color: #475569 !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
}

/* All Keenthemes icon overrides for sidebar */
.menu-link.active .ki-duotone,
.menu-link.active .ki-outline,
.menu-link.active .ki-solid {
    color: #ffffff !important;
}
.menu-link:not(.active) .ki-duotone,
.menu-link:not(.active) .ki-outline,
.menu-link:not(.active) .ki-solid {
    color: #64748b !important;
}
.menu-link:not(.active):hover .ki-duotone,
.menu-link:not(.active):hover .ki-outline,
.menu-link:not(.active):hover .ki-solid {
    color: var(--navy-300) !important;
}

/* ── Header ──────────────────────────────────────────────── */
#kt_app_header,
.app-header {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 8px rgba(13, 27, 62, 0.08) !important;
}

/* ── Breadcrumb & Page Title ─────────────────────────────── */
.page-title .fw-bold {
    color: var(--navy-900) !important;
}
.breadcrumb-item a {
    color: var(--navy-500) !important;
}
.breadcrumb-item.active {
    color: #64748b !important;
}

/* ── Cards ───────────────────────────────────────────────── */
.card {
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 12px rgba(13, 27, 62, 0.06) !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
    background: #ffffff;
}
.card:hover {
    box-shadow: 0 6px 24px rgba(13, 27, 62, 0.1) !important;
}

.card-header {
    background: linear-gradient(135deg, var(--navy-900) 0%, var(--navy-700) 100%) !important;
    border-bottom: none !important;
    border-radius: 14px 14px 0 0 !important;
    color: #ffffff !important;
}
.card-header .card-title,
.card-header .card-title span,
.card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5 {
    color: #ffffff !important;
}

/* Stat/metric cards */
.card.card-bordered {
    border-color: #e2e8f0 !important;
}
.card.bg-primary {
    background: linear-gradient(135deg, var(--navy-700) 0%, var(--navy-500) 100%) !important;
    border-color: var(--navy-700) !important;
}
.card.bg-success {
    background: linear-gradient(135deg, #14532d 0%, #15803d 100%) !important;
}
.card.bg-danger {
    background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%) !important;
}
.card.bg-warning {
    background: linear-gradient(135deg, #92400e 0%, #d97706 100%) !important;
}
.card.bg-info {
    background: linear-gradient(135deg, var(--navy-800) 0%, var(--navy-600) 100%) !important;
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn-primary {
    background: linear-gradient(135deg, var(--navy-600) 0%, var(--navy-500) 100%) !important;
    border-color: var(--navy-600) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35) !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}
.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, var(--navy-700) 0%, var(--navy-600) 100%) !important;
    border-color: var(--navy-700) !important;
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.45) !important;
    transform: translateY(-1px) !important;
}

.btn-dark-green,
.btn-dark-green:focus {
    background: linear-gradient(135deg, var(--navy-700) 0%, var(--navy-600) 100%) !important;
    color: #fff !important;
    border-color: var(--navy-700) !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3) !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
}
.btn-dark-green:hover {
    background: linear-gradient(135deg, var(--navy-800) 0%, var(--navy-700) 100%) !important;
    border-color: var(--navy-800) !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.4) !important;
    transform: translateY(-1px) !important;
}

.btn-light-primary {
    background: var(--navy-50) !important;
    color: var(--navy-600) !important;
    border-color: var(--navy-100) !important;
}
.btn-light-primary:hover {
    background: var(--navy-100) !important;
    color: var(--navy-700) !important;
}

.btn-success {
    background: linear-gradient(135deg, #15803d 0%, #16a34a 100%) !important;
    border-color: #15803d !important;
    box-shadow: 0 2px 8px rgba(22, 163, 74, 0.3) !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
.btn-success:hover {
    background: linear-gradient(135deg, #166534 0%, #15803d 100%) !important;
    transform: translateY(-1px) !important;
}

/* Active color utility */
.btn-active-color-primary:hover,
.btn-active-color-primary.active {
    color: var(--navy-500) !important;
}

/* ── Text / Link Utilities ───────────────────────────────── */
.text-primary {
    color: var(--navy-500) !important;
}
.text-dark-green {
    color: var(--navy-600) !important;
}
a.text-hover-primary:hover,
.text-hover-primary:hover {
    color: var(--navy-400) !important;
}
.link-primary {
    color: var(--navy-500) !important;
}
.link-primary:hover {
    color: var(--navy-400) !important;
}

/* ── Background Utilities ────────────────────────────────── */
.bg-primary {
    background-color: var(--navy-600) !important;
}
.bg-light-primary {
    background-color: var(--navy-50) !important;
}

/* ── Badges ──────────────────────────────────────────────── */
.badge.badge-primary,
.badge.bg-primary {
    background: var(--navy-600) !important;
    color: #fff !important;
}
.badge.badge-light-primary {
    background: var(--navy-50) !important;
    color: var(--navy-600) !important;
    border: 1px solid var(--navy-100) !important;
}

/* ── Form Controls ───────────────────────────────────────── */
.form-control:focus,
.form-select:focus {
    border-color: var(--navy-400) !important;
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.2) !important;
}
.form-control,
.form-select {
    border-radius: 8px !important;
    border-color: #cbd5e1 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

/* ── Tables ──────────────────────────────────────────────── */
.table thead th {
    background: var(--navy-900) !important;
    color: #94a3b8 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-weight: 700 !important;
    border-bottom: none !important;
}
.table thead tr th:first-child {
    border-radius: 10px 0 0 0 !important;
}
.table thead tr th:last-child {
    border-radius: 0 10px 0 0 !important;
}
.table > :not(:first-child) {
    border-top: none !important;
}
.table tbody tr:hover td {
    background: var(--navy-50) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--navy-600) !important;
    border-color: var(--navy-600) !important;
    color: #fff !important;
    border-radius: 6px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--navy-50) !important;
    border-color: var(--navy-100) !important;
    color: var(--navy-600) !important;
    border-radius: 6px !important;
}

/* ── Toolbar / Breadcrumb container ─────────────────────── */
.app-toolbar {
    background: transparent !important;
}

/* ── Navbar (top-right user menu) ────────────────────────── */
#kt_header_user_menu_toggle .symbol-label,
.app-navbar .symbol-label {
    background: var(--navy-100) !important;
    color: var(--navy-700) !important;
    font-weight: 700 !important;
}

/* ── Modals ──────────────────────────────────────────────── */
.modal-header {
    background: linear-gradient(135deg, var(--navy-900) 0%, var(--navy-700) 100%) !important;
    border-bottom: none !important;
    border-radius: 14px 14px 0 0 !important;
}
.modal-title {
    color: #ffffff !important;
}
.modal-header .btn-close {
    filter: invert(1) brightness(2) !important;
}
.modal-content {
    border-radius: 14px !important;
    border: none !important;
    box-shadow: 0 20px 60px rgba(13, 27, 62, 0.25) !important;
}

/* ── Dropdown menus ──────────────────────────────────────── */
.menu-sub-dropdown,
.dropdown-menu {
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 32px rgba(13, 27, 62, 0.15) !important;
    border-radius: 12px !important;
}
/* Only override dropdowns, NOT sidebar menu items */
.dropdown-item:hover,
.menu-sub-dropdown .menu-item:hover > .menu-link,
.menu-sub-indention .menu-item:hover > .menu-link {
    background: var(--navy-50) !important;
    color: var(--navy-700) !important;
}
/* Sidebar menu items stay white on hover */
.app-sidebar .menu-item:hover > .menu-link {
    background: rgba(255,255,255,0.10) !important;
    color: #fff !important;
}
.app-sidebar .menu-item:hover > .menu-link .menu-title,
.app-sidebar .menu-item:hover > .menu-link .menu-icon,
.app-sidebar .menu-item:hover > .menu-link i {
    color: #fff !important;
}

/* ── Select2 ─────────────────────────────────────────────── */
.select2-container--bootstrap5 .select2-selection--single:focus,
.select2-container--bootstrap5.select2-container--focus .select2-selection--single {
    border-color: var(--navy-400) !important;
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.2) !important;
}
.select2-container--bootstrap5 .select2-results__option--highlighted {
    background: var(--navy-600) !important;
}
.select2-container--bootstrap5 .select2-results__option--selected {
    background: var(--navy-50) !important;
    color: var(--navy-700) !important;
}

/* ── Loading Indicator ───────────────────────────────────── */
.truck-wrapper {
    border-color: var(--navy-400) !important;
    box-shadow: inset 0 0 10px 4px rgba(13, 27, 62, 0.3),
                inset 0 0 5px 0 var(--navy-400) !important;
}
.truck-wrapper:after {
    background: linear-gradient(to right, var(--navy-700) 0%, var(--navy-500) 100%) !important;
    border-top-color: var(--navy-400) !important;
}

/* ── Shiny action button (keep animation, change color) ──── */
.shiny-button {
    background: linear-gradient(135deg, var(--navy-600) 0%, var(--navy-500) 100%) !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35) !important;
}
.shiny-button:hover {
    background: linear-gradient(135deg, var(--navy-700) 0%, var(--navy-600) 100%) !important;
}

/* ── Scrollbar ───────────────────────────────────────────── */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--navy-400);
}

/* ── Auth Layout ─────────────────────────────────────────── */
.auth-panel-left {
    background: linear-gradient(160deg, var(--navy-900) 0%, var(--navy-700) 60%, var(--navy-500) 100%) !important;
}

/* ── Toastr customization ───────────────────────────────── */
.toast-success {
    background-color: #15803d !important;
}
.toast-error {
    background-color: #dc2626 !important;
}
.toast-info {
    background-color: var(--navy-600) !important;
}
.toast-warning {
    background-color: #d97706 !important;
}

/* ── Sweet Alert 2 ───────────────────────────────────────── */
.swal2-confirm.btn-primary {
    background: linear-gradient(135deg, var(--navy-600) 0%, var(--navy-500) 100%) !important;
}

/* ── DataTables search/length ────────────────────────────── */
.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
    border-color: var(--navy-400) !important;
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.2) !important;
}

/* ── Widget stat numbers ─────────────────────────────────── */
.card .text-gray-900,
.card .fw-bold.text-dark {
    color: var(--navy-900) !important;
}

/* ── Separator ───────────────────────────────────────────── */
.separator {
    border-color: #e2e8f0 !important;
}

/* ── Sidebar footer (customer panel) ─────────────────────── */
.app-sidebar-footer {
    border-top: 1px solid rgba(59, 130, 246, 0.12) !important;
    background: rgba(255, 255, 255, 0.02) !important;
}

/* ── Rate calculator card ────────────────────────────────── */
.rate-calc-card {
    background: linear-gradient(160deg, var(--navy-900) 0%, var(--navy-700) 100%) !important;
    border-radius: 16px !important;
    padding: 2rem !important;
}

/* ── Timeline / Steps ────────────────────────────────────── */
.timeline-item::before {
    border-color: var(--navy-400) !important;
}
.timeline-badge.bg-primary {
    background: var(--navy-600) !important;
}

/* ── Nav tabs ────────────────────────────────────────────── */
.nav-tabs .nav-link.active {
    color: var(--navy-600) !important;
    border-bottom-color: var(--navy-600) !important;
    font-weight: 600 !important;
}
.nav-tabs .nav-link:hover {
    color: var(--navy-400) !important;
}
.nav-line-tabs .nav-item .nav-link.active {
    color: var(--navy-600) !important;
    border-bottom: 2px solid var(--navy-600) !important;
}

/* ── Progress bars ───────────────────────────────────────── */
.progress-bar.bg-primary {
    background: linear-gradient(90deg, var(--navy-700) 0%, var(--navy-400) 100%) !important;
}

/* ── Alerts ──────────────────────────────────────────────── */
.alert-primary {
    background: var(--navy-50) !important;
    border-color: var(--navy-200) !important;
    color: var(--navy-800) !important;
}

/* ── Input group addon ───────────────────────────────────── */
.input-group-text {
    border-color: #cbd5e1 !important;
    background: #f8fafc !important;
    color: var(--navy-700) !important;
    border-radius: 8px 0 0 8px !important;
}

/* ── Checkbox / Radio checked ────────────────────────────── */
.form-check-input:checked {
    background-color: var(--navy-600) !important;
    border-color: var(--navy-600) !important;
}
.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.25) !important;
}

/* ── App content main area (overridden by v3 block below) ── */
.app-main,
#kt_app_main {
    background: var(--body-bg) !important;
}

/* ── Footer ──────────────────────────────────────────────── */
.app-footer {
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    color: #64748b !important;
}

/* ── Page entrance animation ─────────────────────────────── */
/* NOTE: transform removed — even translateY(0) creates a permanent stacking context
   that traps modals below the Bootstrap backdrop appended to <body> */
@keyframes page-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
#kt_app_content {
    animation: page-fade-in 0.25s ease forwards !important;
}

/* ── Responsive: compact sidebar on mobile ───────────────── */
@media (max-width: 991.98px) {
    #kt_app_sidebar {
        box-shadow: 8px 0 32px rgba(13, 27, 62, 0.4) !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   MTC TRANSPORT — PREMIUM DESIGN SYSTEM EXTENSION v2
   ═══════════════════════════════════════════════════════════ */

/* ── Google Font: Inter ─────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

body, .app-sidebar, .app-header, .card, .modal, input, select, textarea, button {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* ── CSS Variables extension ────────────────────────────── */
:root {
    --surface-0: #ffffff;
    --surface-1: #f8fafc;
    --surface-2: #f0f4f9;
    --border-subtle: #e2e8f0;
    --border-medium: #cbd5e1;
    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-muted: #94a3b8;
    --blue-50: #eff6ff;
    --blue-100: #dbeafe;
    --blue-200: #bfdbfe;
    --blue-500: #3b82f6;
    --blue-600: #2563eb;
    --blue-700: #1d4ed8;
    --blue-800: #1e3a8a;
    --blue-900: #1e2d6e;
    --blue-950: #0d1b3e;
    --glow-sm: 0 0 12px rgba(59,130,246,0.25);
    --glow-md: 0 0 24px rgba(59,130,246,0.35);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --shadow-sm: 0 1px 4px rgba(15,23,42,0.06);
    --shadow-md: 0 4px 16px rgba(15,23,42,0.08);
    --shadow-lg: 0 8px 32px rgba(15,23,42,0.12);
    --shadow-xl: 0 16px 48px rgba(15,23,42,0.18);
}

/* ── SIDEBAR ENHANCEMENTS ───────────────────────────────── */
.app-sidebar-logo {
    padding: 1.25rem 1.5rem !important;
    background: rgba(255,255,255,0.04) !important;
    backdrop-filter: blur(8px) !important;
    border-bottom: 1px solid rgba(59,130,246,0.15) !important;
}

.app-sidebar-logo img {
    filter: brightness(0) invert(1) !important;
}

/* Menu section headings */
.app-sidebar .menu-content .menu-heading {
    color: rgba(148,163,184,0.55) !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.12em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding-left: 1rem !important;
    padding-top: 1.5rem !important;
}

/* Sub-menu item enhanced */
.app-sidebar .menu-sub .menu-item .menu-link {
    border-radius: 6px !important;
    margin: 1px 12px 1px 28px !important;
    padding: 6px 12px !important;
}
.app-sidebar .menu-sub .menu-item .menu-link .menu-bullet .bullet {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: rgba(148,163,184,0.4) !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
}
.app-sidebar .menu-sub .menu-item .menu-link:hover .menu-bullet .bullet {
    background: var(--blue-400, #60a5fa) !important;
    transform: scale(1.4) !important;
}
.app-sidebar .menu-sub .menu-item .menu-link.active .menu-bullet .bullet {
    background: var(--navy-300, #60a5fa) !important;
    box-shadow: 0 0 6px rgba(96,165,250,0.6) !important;
    transform: scale(1.3) !important;
}

/* Sidebar menu accordion arrow */
.app-sidebar .menu-arrow {
    transition: transform 0.25s ease !important;
}
.app-sidebar .menu-item.show > .menu-link .menu-arrow {
    transform: rotate(90deg) !important;
}

/* ── HEADER / NAVBAR ────────────────────────────────────── */
.app-header {
    backdrop-filter: blur(12px) !important;
    background: rgba(255,255,255,0.95) !important;
}

/* Wallet badge in header */
.wallet-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, var(--navy-800, #1e3a8a) 0%, var(--navy-600, #1d4ed8) 100%);
    color: #ffffff;
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none !important;
}
.wallet-badge:hover {
    background: linear-gradient(135deg, var(--navy-700, #1e3a8a) 0%, var(--navy-500, #2563eb) 100%);
    box-shadow: 0 4px 16px rgba(37,99,235,0.45);
    transform: translateY(-1px);
    color: #fff !important;
}
.wallet-badge i { font-size: 1rem; }

/* Notification bell */
.app-navbar .btn-icon.btn-custom {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    background: var(--blue-50) !important;
    border: 1px solid var(--blue-100) !important;
    transition: all 0.2s ease !important;
}
.app-navbar .btn-icon.btn-custom:hover {
    background: var(--blue-100) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(37,99,235,0.2) !important;
}

/* Search bar */
.app_nav_bar_search form {
    background: var(--surface-1) !important;
    border: 1.5px solid var(--border-subtle) !important;
    border-radius: 12px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.app_nav_bar_search form:focus-within {
    border-color: var(--navy-400, #3b82f6) !important;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.15) !important;
    background: #fff !important;
}
.app_nav_bar_search .search-input {
    background: transparent !important;
    font-size: 0.875rem !important;
    color: var(--text-primary) !important;
}

/* ── KPI STAT CARDS ─────────────────────────────────────── */
.kpi-card {
    background: #ffffff;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-subtle);
    box-shadow: var(--shadow-sm);
    padding: 1.5rem;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
}
.kpi-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--blue-600), var(--blue-400));
}
.kpi-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
    border-color: var(--blue-200);
}
.kpi-card .kpi-icon {
    width: 48px; height: 48px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem;
    margin-bottom: 1rem;
}
.kpi-card .kpi-icon.blue   { background: var(--blue-50);   color: var(--blue-600); }
.kpi-card .kpi-icon.green  { background: #f0fdf4;  color: #16a34a; }
.kpi-card .kpi-icon.amber  { background: #fffbeb;  color: #d97706; }
.kpi-card .kpi-icon.red    { background: #fef2f2;  color: #dc2626; }
.kpi-card .kpi-icon.indigo { background: #eef2ff;  color: #4f46e5; }
.kpi-card .kpi-value {
    font-size: 2rem; font-weight: 800;
    color: var(--text-primary);
    line-height: 1;
    margin-bottom: 0.25rem;
}
.kpi-card .kpi-label {
    font-size: 0.8rem; font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.kpi-card .kpi-change {
    font-size: 0.78rem; font-weight: 600;
    margin-top: 0.75rem;
    display: flex; align-items: center; gap: 4px;
}
.kpi-card .kpi-change.up   { color: #16a34a; }
.kpi-card .kpi-change.down { color: #dc2626; }

/* Blue gradient KPI variant */
.kpi-card.kpi-gradient {
    background: linear-gradient(135deg, var(--blue-800) 0%, var(--blue-600) 100%);
    border: none;
    color: #fff;
}
.kpi-card.kpi-gradient::before { display: none; }
.kpi-card.kpi-gradient .kpi-value,
.kpi-card.kpi-gradient .kpi-label { color: rgba(255,255,255,0.95); }
.kpi-card.kpi-gradient .kpi-label { color: rgba(255,255,255,0.7); }
.kpi-card.kpi-gradient:hover { box-shadow: var(--glow-md); }

/* ── QUICK ACTION CARDS ──────────────────────────────────── */
.quick-action-card {
    background: #fff;
    border: 1.5px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none !important;
    color: inherit !important;
    transition: all 0.2s ease;
    cursor: pointer;
}
.quick-action-card:hover {
    border-color: var(--blue-400);
    box-shadow: 0 0 0 3px rgba(59,130,246,0.1), var(--shadow-md);
    transform: translateY(-2px);
    color: var(--blue-700) !important;
}
.quick-action-card .qa-icon {
    width: 44px; height: 44px;
    border-radius: 10px;
    background: var(--blue-50);
    color: var(--blue-600);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
.quick-action-card:hover .qa-icon {
    background: var(--blue-600);
    color: #fff;
}
.quick-action-card .qa-title {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-primary);
}
.quick-action-card .qa-sub {
    font-size: 0.77rem;
    color: var(--text-muted);
    margin-top: 1px;
}

/* ── STATUS BADGES ───────────────────────────────────────── */
.status-badge {
    display: inline-flex; align-items: center; gap: 5px;
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    white-space: nowrap;
}
.status-badge::before {
    content: '';
    width: 5px; height: 5px;
    border-radius: 50%;
    flex-shrink: 0;
}
.status-badge.booked      { background: var(--blue-50); color: var(--blue-700); }
.status-badge.booked::before { background: var(--blue-500); }
.status-badge.in-transit  { background: #fffbeb; color: #92400e; }
.status-badge.in-transit::before { background: #f59e0b; }
.status-badge.delivered   { background: #f0fdf4; color: #14532d; }
.status-badge.delivered::before  { background: #22c55e; }
.status-badge.cancelled   { background: #fef2f2; color: #7f1d1d; }
.status-badge.cancelled::before  { background: #ef4444; }
.status-badge.pending     { background: #f5f3ff; color: #4c1d95; }
.status-badge.pending::before    { background: #8b5cf6; }
.status-badge.processing  { background: #ecfeff; color: #164e63; }
.status-badge.processing::before { background: #06b6d4; }

/* ── CARDS ENHANCED ─────────────────────────────────────── */

/* Card with gradient top-bar accent */
.card.card-accent-blue {
    border-top: 3px solid var(--blue-500) !important;
}
.card.card-accent-green {
    border-top: 3px solid #22c55e !important;
}
.card.card-accent-amber {
    border-top: 3px solid #f59e0b !important;
}

/* Inner card header override for light-background cards */
.card-header.bg-transparent,
.card-header.card-header-plain {
    background: transparent !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    border-radius: 0 !important;
}
.card-header.bg-transparent .card-title,
.card-header.bg-transparent .card-title span,
.card-header.bg-transparent h3,
.card-header.bg-transparent h4,
.card-header.card-header-plain .card-title,
.card-header.card-header-plain h3 {
    color: var(--text-primary) !important;
}

/* Section header inside page */
.section-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 1.25rem;
}
.section-header h4 {
    font-size: 1rem; font-weight: 700; color: var(--text-primary);
    margin: 0;
}

/* ── TABLE ENHANCEMENTS ─────────────────────────────────── */
.table {
    border-collapse: separate;
    border-spacing: 0;
}
.table thead th {
    padding: 0.875rem 1rem !important;
    border-bottom: 2px solid var(--border-subtle) !important;
    background: var(--surface-1) !important;
    color: var(--text-muted) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap;
}
/* Reset table header to transparent/light when not inside dark card */
.card-body .table thead th {
    background: #f8fafc !important;
}
.table tbody tr td {
    padding: 0.875rem 1rem !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    color: var(--text-secondary) !important;
    font-size: 0.875rem !important;
    vertical-align: middle !important;
}
.table tbody tr:last-child td {
    border-bottom: none !important;
}
.table tbody tr {
    transition: background 0.15s ease !important;
}
.table tbody tr:hover td {
    background: #f0f4ff !important;
}
/* DataTables specific */
table.dataTable tbody tr:hover {
    background: #f0f4ff !important;
}
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    font-size: 0.85rem !important;
    color: var(--text-muted) !important;
}
.dataTables_wrapper .dataTables_filter input {
    border-radius: 8px !important;
    border: 1.5px solid var(--border-subtle) !important;
    padding: 6px 12px !important;
    font-size: 0.875rem !important;
}

/* ── FORM ENHANCEMENTS ───────────────────────────────────── */
.form-control, .form-select {
    padding: 0.625rem 1rem !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    border: 1.5px solid var(--border-medium) !important;
    border-radius: 10px !important;
    color: var(--text-primary) !important;
    background: #fff !important;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s !important;
}
.form-control:hover:not(:focus), .form-select:hover:not(:focus) {
    border-color: var(--blue-300, #93c5fd) !important;
}
.form-control:focus, .form-select:focus {
    border-color: var(--blue-500) !important;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.18) !important;
    background: #fff !important;
}
.form-label {
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: var(--text-secondary) !important;
    margin-bottom: 0.4rem !important;
    letter-spacing: 0.01em !important;
}
.form-text {
    font-size: 0.78rem !important;
    color: var(--text-muted) !important;
}
/* Input group */
.input-group .form-control:not(:first-child) {
    border-left: none !important;
    border-radius: 0 10px 10px 0 !important;
}
.input-group .form-control:not(:last-child) {
    border-right: none !important;
    border-radius: 10px 0 0 10px !important;
}
.input-group .input-group-text {
    border-radius: 10px 0 0 10px !important;
    background: var(--surface-1) !important;
    border: 1.5px solid var(--border-medium) !important;
    border-right: none !important;
    color: var(--text-secondary) !important;
    font-size: 0.9rem !important;
    padding: 0.625rem 0.875rem !important;
}
.input-group .input-group-text:last-child {
    border-radius: 0 10px 10px 0 !important;
    border-right: 1.5px solid var(--border-medium) !important;
    border-left: none !important;
}

/* ── BUTTON ENHANCEMENTS ────────────────────────────────── */
.btn {
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    transition: all 0.2s ease !important;
}
.btn-sm { border-radius: 7px !important; font-size: 0.82rem !important; }
.btn-lg { border-radius: 12px !important; font-size: 1rem !important; }

.btn-outline-primary {
    color: var(--blue-600) !important;
    border-color: var(--blue-400) !important;
    background: transparent !important;
}
.btn-outline-primary:hover {
    background: var(--blue-600) !important;
    color: #fff !important;
    border-color: var(--blue-600) !important;
    box-shadow: 0 4px 14px rgba(37,99,235,0.35) !important;
}

.btn-danger {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%) !important;
    border-color: #dc2626 !important;
    box-shadow: 0 2px 8px rgba(220,38,38,0.3) !important;
    border-radius: 8px !important;
}
.btn-danger:hover {
    background: linear-gradient(135deg, #b91c1c 0%, #dc2626 100%) !important;
    box-shadow: 0 4px 14px rgba(220,38,38,0.4) !important;
    transform: translateY(-1px) !important;
}

.btn-warning {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%) !important;
    border-color: #d97706 !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(217,119,6,0.3) !important;
    border-radius: 8px !important;
}
.btn-warning:hover {
    background: linear-gradient(135deg, #b45309 0%, #d97706 100%) !important;
    box-shadow: 0 4px 14px rgba(217,119,6,0.4) !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}

.btn-light {
    background: var(--surface-1) !important;
    border: 1.5px solid var(--border-subtle) !important;
    color: var(--text-secondary) !important;
    border-radius: 8px !important;
}
.btn-light:hover {
    background: var(--blue-50) !important;
    border-color: var(--blue-200) !important;
    color: var(--blue-700) !important;
}

/* ── BREADCRUMB & PAGE TITLE ─────────────────────────────── */
.page-title {
    display: flex;
    align-items: center;
}
.page-title .page-heading {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: var(--text-primary) !important;
    letter-spacing: -0.01em !important;
}
.breadcrumb {
    margin: 0 !important;
}
.breadcrumb-item + .breadcrumb-item::before {
    color: var(--text-muted) !important;
}
.breadcrumb-item a {
    color: var(--blue-600) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
.breadcrumb-item a:hover { color: var(--blue-400) !important; }
.breadcrumb-item.active {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

/* ── MODALS ENHANCED ─────────────────────────────────────── */
.modal-backdrop { background: rgba(6,13,31,0.55) !important; }
.modal-content {
    box-shadow: 0 24px 80px rgba(13,27,62,0.25) !important;
    /* Do NOT set overflow:hidden — it clips Select2 and date pickers */
}
.modal-footer {
    border-top: 1px solid var(--border-subtle) !important;
    padding: 1rem 1.5rem !important;
    background: var(--surface-1) !important;
    border-radius: 0 0 14px 14px !important;
}
.modal-body { padding: 1.5rem !important; }

/* ── ALERT BOXES ─────────────────────────────────────────── */
.alert {
    border-radius: 10px !important;
    border-left: 4px solid !important;
    font-size: 0.875rem !important;
    padding: 0.875rem 1.25rem !important;
}
.alert-primary {
    border-left-color: var(--blue-500) !important;
    background: var(--blue-50) !important;
    color: var(--blue-800) !important;
    border-color: var(--blue-100) !important;
}
.alert-success {
    border-left-color: #22c55e !important;
    background: #f0fdf4 !important;
    color: #14532d !important;
    border-color: #dcfce7 !important;
}
.alert-warning {
    border-left-color: #f59e0b !important;
    background: #fffbeb !important;
    color: #78350f !important;
    border-color: #fef3c7 !important;
}
.alert-danger {
    border-left-color: #ef4444 !important;
    background: #fef2f2 !important;
    color: #7f1d1d !important;
    border-color: #fee2e2 !important;
}

/* ── TABS ─────────────────────────────────────────────────── */
.nav-tabs {
    border-bottom: 2px solid var(--border-subtle) !important;
    gap: 0.25rem !important;
}
.nav-tabs .nav-link {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: var(--text-muted) !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    padding: 0.625rem 1rem !important;
    border-radius: 0 !important;
    margin-bottom: -2px !important;
    transition: color 0.15s, border-color 0.15s !important;
}
.nav-tabs .nav-link:hover {
    color: var(--blue-600) !important;
    border-bottom-color: var(--blue-200) !important;
}
.nav-tabs .nav-link.active {
    color: var(--blue-600) !important;
    border-bottom-color: var(--blue-600) !important;
    background: transparent !important;
}
.nav-pills .nav-link {
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    color: var(--text-secondary) !important;
    padding: 0.5rem 1rem !important;
    transition: all 0.15s ease !important;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background: var(--blue-600) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(37,99,235,0.35) !important;
}
.nav-pills .nav-link:hover:not(.active) {
    background: var(--blue-50) !important;
    color: var(--blue-700) !important;
}

/* ── CARDS — flush header fix ─────────────────────────────── */
/* Cards used as plain containers (no dark header) */
.card.card-flush > .card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    border-radius: 0 !important;
    color: inherit !important;
}
.card.card-flush > .card-header .card-title,
.card.card-flush > .card-header .card-title span,
.card.card-flush > .card-header h3,
.card.card-flush > .card-header h4,
.card.card-flush > .card-header h5 {
    color: var(--text-primary) !important;
}

/* Regular page cards light header */
.card:not(.card-flush) > .card-header:not([style*="background"]):not(.no-override) {
    background: transparent !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    border-radius: 14px 14px 0 0 !important;
    padding: 1.25rem 1.5rem !important;
}
.card:not(.card-flush) > .card-header .card-title span,
.card:not(.card-flush) > .card-header h3,
.card:not(.card-flush) > .card-header h4,
.card:not(.card-flush) > .card-header h5 {
    color: var(--text-primary) !important;
}

/* Explicit dark card header */
.card-header.dark-header {
    background: linear-gradient(135deg, var(--blue-950) 0%, var(--blue-800) 100%) !important;
    color: #fff !important;
    border-radius: 14px 14px 0 0 !important;
}
.card-header.dark-header .card-title,
.card-header.dark-header h3,
.card-header.dark-header h4 {
    color: #fff !important;
}

/* ── BADGE SYSTEM ────────────────────────────────────────── */
.badge {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
}
.badge.rounded-pill { border-radius: 999px !important; }

.badge-light-success { background: #f0fdf4 !important; color: #15803d !important; }
.badge-light-danger  { background: #fef2f2 !important; color: #dc2626 !important; }
.badge-light-warning { background: #fffbeb !important; color: #d97706 !important; }
.badge-light-info    { background: #ecfeff !important; color: #0891b2 !important; }

/* ── PROGRESS BARS ───────────────────────────────────────── */
.progress {
    border-radius: 999px !important;
    overflow: hidden !important;
    background: var(--border-subtle) !important;
    height: 8px !important;
}
.progress-bar {
    border-radius: 999px !important;
    transition: width 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}
.progress-bar.bg-primary {
    background: linear-gradient(90deg, var(--blue-700), var(--blue-400)) !important;
}
.progress-bar.bg-success {
    background: linear-gradient(90deg, #15803d, #4ade80) !important;
}
.progress-bar.bg-warning {
    background: linear-gradient(90deg, #d97706, #fbbf24) !important;
}
.progress-bar.bg-danger {
    background: linear-gradient(90deg, #dc2626, #f87171) !important;
}

/* ── CARD HOVER LINKS ─────────────────────────────────────── */
a.card:hover, .card.card-hoverable:hover {
    text-decoration: none !important;
    border-color: var(--blue-300) !important;
    box-shadow: 0 8px 32px rgba(29,78,216,0.18) !important;
    transform: translateY(-3px) !important;
}

/* ── SECTION DIVIDER ─────────────────────────────────────── */
.section-divider {
    display: flex; align-items: center; gap: 1rem;
    margin: 2rem 0 1.5rem;
    color: var(--text-muted);
    font-size: 0.72rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em;
}
.section-divider::before, .section-divider::after {
    content: ''; flex: 1;
    height: 1px; background: var(--border-subtle);
}

/* ── SHIPMENT STATUS TRACKER ─────────────────────────────── */
.shipment-tracker {
    display: flex;
    align-items: flex-start;
    gap: 0;
    padding: 1.5rem 0;
}
.tracker-step {
    flex: 1;
    text-align: center;
    position: relative;
}
.tracker-step::before {
    content: '';
    position: absolute;
    top: 14px; left: calc(-50% + 14px); right: calc(50% + 14px);
    height: 2px;
    background: var(--border-subtle);
}
.tracker-step:first-child::before { display: none; }
.tracker-step.done::before { background: var(--blue-500); }
.tracker-dot {
    width: 28px; height: 28px;
    border-radius: 50%;
    border: 2px solid var(--border-medium);
    background: #fff;
    margin: 0 auto 0.5rem;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.7rem; font-weight: 700;
    color: var(--text-muted);
    position: relative; z-index: 1;
}
.tracker-step.done .tracker-dot {
    background: var(--blue-600);
    border-color: var(--blue-600);
    color: #fff;
}
.tracker-step.active .tracker-dot {
    background: #fff;
    border-color: var(--blue-500);
    color: var(--blue-600);
    box-shadow: 0 0 0 4px rgba(59,130,246,0.2);
}
.tracker-label {
    font-size: 0.72rem; font-weight: 600;
    color: var(--text-muted);
}
.tracker-step.done .tracker-label { color: var(--blue-700); }
.tracker-step.active .tracker-label { color: var(--blue-600); }

/* ── RATE CARD TABLE ─────────────────────────────────────── */
.rate-table-wrapper {
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    box-shadow: var(--shadow-md);
}
.rate-table-wrapper table thead th {
    background: linear-gradient(135deg, var(--blue-950) 0%, var(--blue-800) 100%) !important;
    color: #93c5fd !important;
    border: none !important;
    font-size: 0.72rem !important;
}
.rate-table-wrapper table tbody tr:hover td {
    background: var(--blue-50) !important;
}

/* ── RATE CALCULATOR FORM ────────────────────────────────── */
.rate-calc-hero {
    background: linear-gradient(135deg, var(--blue-950) 0%, var(--blue-800) 50%, var(--blue-600) 100%);
    border-radius: var(--radius-xl);
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
}
.rate-calc-hero::before {
    content: '';
    position: absolute;
    width: 300px; height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%);
    top: -80px; right: -60px;
}
.rate-calc-hero::after {
    content: '';
    position: absolute;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(96,165,250,0.1) 0%, transparent 70%);
    bottom: -40px; left: 30px;
}
.rate-calc-hero .form-label { color: rgba(255,255,255,0.8) !important; }
.rate-calc-hero .form-control,
.rate-calc-hero .form-select {
    background: rgba(255,255,255,0.1) !important;
    border-color: rgba(255,255,255,0.2) !important;
    color: #fff !important;
}
.rate-calc-hero .form-control::placeholder { color: rgba(255,255,255,0.5) !important; }
.rate-calc-hero .form-control:focus,
.rate-calc-hero .form-select:focus {
    background: rgba(255,255,255,0.18) !important;
    border-color: rgba(255,255,255,0.5) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,0.15) !important;
    color: #fff !important;
}
.rate-calc-hero .form-select option { background: var(--blue-900); color: #fff; }

/* ── RESULT CARD ─────────────────────────────────────────── */
.result-card {
    background: linear-gradient(135deg, var(--blue-800) 0%, var(--blue-600) 100%);
    border-radius: var(--radius-lg);
    padding: 1.75rem;
    color: #fff;
    box-shadow: 0 8px 32px rgba(29,78,216,0.4);
    position: relative;
    overflow: hidden;
}
.result-card::after {
    content: '₹';
    position: absolute;
    right: -10px; bottom: -20px;
    font-size: 8rem;
    color: rgba(255,255,255,0.05);
    font-weight: 900;
    line-height: 1;
}
.result-card .result-amount {
    font-size: 2.5rem; font-weight: 800;
    letter-spacing: -0.02em;
}
.result-card .result-label {
    font-size: 0.78rem; color: rgba(255,255,255,0.7);
    text-transform: uppercase; letter-spacing: 0.08em;
    font-weight: 700;
}

/* ── PICKUP POINT CARD ───────────────────────────────────── */
.pickup-card {
    border-radius: var(--radius-lg);
    border: 1.5px solid var(--border-subtle);
    padding: 1.5rem;
    background: #fff;
    transition: all 0.2s ease;
}
.pickup-card:hover {
    border-color: var(--blue-300);
    box-shadow: var(--shadow-md);
}
.pickup-card .pickup-icon {
    width: 44px; height: 44px;
    border-radius: 10px;
    background: var(--blue-50);
    color: var(--blue-600);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem;
    margin-bottom: 0.875rem;
}

/* ── EMPTY STATE ─────────────────────────────────────────── */
.empty-state {
    text-align: center;
    padding: 3rem 2rem;
}
.empty-state .empty-icon {
    width: 64px; height: 64px;
    border-radius: 16px;
    background: var(--blue-50);
    color: var(--blue-400);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.75rem;
    margin: 0 auto 1.25rem;
}
.empty-state h5 {
    font-size: 1rem; font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}
.empty-state p {
    font-size: 0.875rem;
    color: var(--text-muted);
    max-width: 280px; margin: 0 auto 1.5rem;
    line-height: 1.6;
}

/* ── TOOLTIP ─────────────────────────────────────────────── */
.tooltip-inner {
    background: var(--blue-950) !important;
    color: #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 0.78rem !important;
    padding: 6px 10px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2) !important;
}

/* ── CARD BODY PADDING CONSISTENCY ──────────────────────── */
.card-body {
    padding: 1.5rem !important;
}
.card-header {
    padding: 1.125rem 1.5rem !important;
}

/* ── ORDER STATUS INLINE CHIPS ───────────────────────────── */
.chip {
    display: inline-block;
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 0.73rem;
    font-weight: 700;
}
.chip-blue   { background: var(--blue-50); color: var(--blue-700); }
.chip-green  { background: #f0fdf4; color: #15803d; }
.chip-amber  { background: #fffbeb; color: #92400e; }
.chip-red    { background: #fef2f2; color: #b91c1c; }
.chip-gray   { background: #f8fafc; color: #475569; }
.chip-purple { background: #f5f3ff; color: #5b21b6; }

/* ── NOTIFICATION DROPDOWN ───────────────────────────────── */
.menu-sub-dropdown .menu-item .menu-link {
    border-radius: 8px !important;
    margin: 2px 4px !important;
}

/* ── SIDEBAR FOOTER (customer wallet) ───────────────────── */
#kt_app_sidebar_footer .app-sidebar-footer {
    padding: 1rem !important;
}

/* ── PRINT OVERRIDES ──────────────────────────────────────── */
@media print {
    .app-sidebar, .app-header, .app-toolbar, .app-footer { display: none !important; }
    .app-main { padding: 0 !important; }
    .card { box-shadow: none !important; border: 1px solid #ddd !important; }
}

/* ── SMOOTH TRANSITIONS ──────────────────────────────────── */
.card, .btn, .form-control, .nav-link, .menu-link {
    transition: all 0.18s ease !important;
}

/* ── MOBILE IMPROVEMENTS ─────────────────────────────────── */
@media (max-width: 767.98px) {
    .kpi-card { padding: 1rem !important; }
    .kpi-card .kpi-value { font-size: 1.5rem !important; }
    .card-body { padding: 1rem !important; }
    .rate-calc-hero { padding: 1.5rem !important; }
    .quick-action-card { padding: 1rem !important; }
    .btn { padding: 0.5rem 1rem !important; }
}

/* ── WIDGET COUNT CHIPS (top stats) ──────────────────────── */
.stat-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px; height: 22px;
    border-radius: 6px;
    font-size: 0.72rem; font-weight: 700;
    line-height: 1;
    padding: 0 5px;
}
.stat-badge.blue { background: var(--blue-100); color: var(--blue-700); }
.stat-badge.green { background: #dcfce7; color: #15803d; }
.stat-badge.red { background: #fee2e2; color: #dc2626; }
.stat-badge.amber { background: #fef3c7; color: #d97706; }

/* ── CARD ACTIVE STATE ───────────────────────────────────── */
.card.active-selection {
    border-color: var(--blue-500) !important;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.25), var(--shadow-md) !important;
}

/* ── COPY-TO-CLIPBOARD BUTTON ────────────────────────────── */
.btn-copy {
    background: transparent !important;
    border: 1.5px solid var(--border-subtle) !important;
    color: var(--text-muted) !important;
    border-radius: 8px !important;
    padding: 4px 10px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
}
.btn-copy:hover {
    background: var(--blue-50) !important;
    border-color: var(--blue-300) !important;
    color: var(--blue-600) !important;
}

/* ── GRADIENT TEXT UTILITY ───────────────────────────────── */
.text-gradient-blue {
    background: linear-gradient(135deg, var(--blue-700), var(--blue-400));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── SIDEBAR LOGO TEXT ───────────────────────────────────── */
.sidebar-brand-text {
    font-size: 1.1rem;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.01em;
}

/* ── CARD METRIC HIGHLIGHT ───────────────────────────────── */
.metric-highlight {
    display: flex;
    align-items: baseline;
    gap: 6px;
}
.metric-highlight .amount {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1;
}
.metric-highlight .currency {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-secondary);
}
.metric-highlight .trend {
    font-size: 0.78rem;
    font-weight: 700;
    margin-left: 4px;
}
.metric-highlight .trend.up { color: #16a34a; }
.metric-highlight .trend.down { color: #dc2626; }

/* ── PARTNER LOGOS IN RATE CARDS ────────────────────────── */
.partner-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--surface-1);
    border: 1.5px solid var(--border-subtle);
    border-radius: 8px;
    padding: 4px 10px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
}
.partner-badge img { height: 18px; width: auto; object-fit: contain; }

/* ── WALLET CARD ─────────────────────────────────────────── */
.wallet-card {
    background: linear-gradient(135deg, var(--blue-950) 0%, var(--blue-800) 50%, var(--blue-600) 100%);
    border-radius: var(--radius-xl);
    padding: 2rem;
    color: #fff;
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(29,78,216,0.35);
}
.wallet-card::before {
    content: '';
    position: absolute;
    width: 260px; height: 260px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    top: -80px; right: -60px;
}
.wallet-card .balance-amount {
    font-size: 2.75rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
}
.wallet-card .balance-label {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.65);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.75rem;
}

/* ── SUPPORT TICKET INDICATOR ────────────────────────────── */
.ticket-status {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 0.78rem; font-weight: 700;
}
.ticket-status .dot {
    width: 7px; height: 7px; border-radius: 50%;
    display: inline-block; flex-shrink: 0;
}
.ticket-status.open .dot   { background: #22c55e; box-shadow: 0 0 6px rgba(34,197,94,0.5); }
.ticket-status.closed .dot { background: #94a3b8; }
.ticket-status.pending .dot { background: #f59e0b; box-shadow: 0 0 6px rgba(245,158,11,0.5); }

/* ── OVERVIEW METRIC ROW ─────────────────────────────────── */
.overview-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

/* ── Z-INDEX STACK ───────────────────────────────────────── */
.app-sidebar { z-index: 100; }
.app-header  { z-index: 99; }
.modal       { z-index: 1055; }

/* ── ANCHOR INSIDE CARD HOVER FIX ────────────────────────── */
a.text-decoration-none .card-title,
a.text-decoration-none h4,
a.text-decoration-none h5 {
    transition: color 0.15s ease;
}
a.text-decoration-none:hover .card-title,
a.text-decoration-none:hover h4,
a.text-decoration-none:hover h5 {
    color: var(--blue-600) !important;
}

/* ── RESPONSIVE TABLE WRAPPER ────────────────────────────── */
.table-responsive {
    border-radius: var(--radius-md);
    border: 1px solid var(--border-subtle);
    overflow: hidden;
}

/* ── PAGE HEADER BANNER (optional) ──────────────────────── */
.page-banner {
    background: linear-gradient(135deg, var(--blue-950) 0%, var(--blue-800) 100%);
    border-radius: var(--radius-xl);
    padding: 2rem 2.5rem;
    color: #fff;
    margin-bottom: 2rem;
    position: relative;
    overflow: hidden;
}
.page-banner::after {
    content: '';
    position: absolute;
    right: -30px; top: -60px;
    width: 240px; height: 240px;
    border-radius: 50%;
    background: rgba(255,255,255,0.04);
}
.page-banner h2 { font-size: 1.5rem; font-weight: 800; margin: 0 0 0.25rem; }
.page-banner p  { color: rgba(255,255,255,0.65); margin: 0; font-size: 0.875rem; }

/* ── ANIMATION CLASSES ──────────────────────────────────── */
@keyframes slide-up {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes scale-in {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
}
.animate-slide-up { animation: slide-up 0.35s ease forwards; }
.animate-scale-in { animation: scale-in 0.3s ease forwards; }
.animate-delay-1  { animation-delay: 0.05s; }
.animate-delay-2  { animation-delay: 0.1s; }
.animate-delay-3  { animation-delay: 0.15s; }
.animate-delay-4  { animation-delay: 0.2s; }

/* ── FINAL: Apply transition to common interactive elements ── */
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
select,
textarea {
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

/* ─────────────────────────────────────────────────
   SIDEBAR PREMIUM ENHANCEMENTS
───────────────────────────────────────────────── */
/* Menu item active state — left accent bar */
.app-sidebar .menu-item .menu-link.active {
    background: linear-gradient(90deg, rgba(29,78,216,0.15), rgba(29,78,216,0.05)) !important;
    position: relative;
}
.app-sidebar .menu-item .menu-link.active::before {
    content: '';
    position: absolute;
    left: 0; top: 4px; bottom: 4px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, #3b82f6, #1d4ed8);
}

/* Menu section headings */
.app-sidebar .menu-content .menu-heading {
    font-size: 0.62rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    color: rgba(255,255,255,0.35) !important;
    padding: 0 0.75rem !important;
}

/* Sub-menu bullet dots */
.app-sidebar .menu-sub .menu-link .bullet-dot {
    background: rgba(255,255,255,0.3) !important;
}
.app-sidebar .menu-sub .menu-link.active .bullet-dot {
    background: #3b82f6 !important;
}
.app-sidebar .menu-sub .menu-link:hover .bullet-dot {
    background: #93c5fd !important;
}

/* Menu icon color in sidebar */
.app-sidebar .menu-icon i, .app-sidebar .menu-icon svg path {
    color: rgba(255,255,255,0.55) !important;
    fill: rgba(255,255,255,0.55) !important;
}
.app-sidebar .menu-link.active .menu-icon i,
.app-sidebar .menu-link.active .menu-icon svg path {
    color: #93c5fd !important;
    fill: #93c5fd !important;
}
.app-sidebar .menu-link:hover .menu-icon i {
    color: #bfdbfe !important;
}

/* Menu title text */
.app-sidebar .menu-title {
    color: rgba(255,255,255,0.75) !important;
    font-weight: 500 !important;
    font-size: 0.9rem !important;
}
.app-sidebar .menu-link.active .menu-title {
    color: #fff !important;
    font-weight: 700 !important;
}
.app-sidebar .menu-link:hover .menu-title {
    color: rgba(255,255,255,0.95) !important;
}

/* Sidebar footer — for wallet section */
.app-sidebar-footer {
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    padding: 1rem !important;
}

/* ─────────────────────────────────────────────────
   ORDER TAB NAVIGATION — PREMIUM BLUE
───────────────────────────────────────────────── */
.nav-line-tabs .nav-item .nav-link {
    border-bottom: 3px solid transparent !important;
    color: #64748b !important;
    font-weight: 600 !important;
    padding: 0.85rem 1.25rem !important;
    transition: color 0.2s, border-color 0.2s !important;
    border-radius: 0 !important;
}
.nav-line-tabs .nav-item .nav-link:hover {
    color: #1d4ed8 !important;
    border-bottom-color: #93c5fd !important;
}
.nav-line-tabs .nav-item .nav-link.active {
    color: #1d4ed8 !important;
    border-bottom-color: #1d4ed8 !important;
    font-weight: 700 !important;
}
/* Override green active from text-active-success */
.nav-line-tabs .nav-item .nav-link.text-active-success.active {
    color: #1d4ed8 !important;
}

/* ─────────────────────────────────────────────────
   ORDER INDEX — STATUS FILTER CHIPS
───────────────────────────────────────────────── */
.filters-row { margin-bottom: 1rem; }
.filters-row .filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 700;
    border: 1.5px solid;
    margin: 2px;
}
.filter-chip.include {
    background: #f0fdf4;
    border-color: #86efac;
    color: #166534;
}
.filter-chip.exclude {
    background: #fff1f2;
    border-color: #fecaca;
    color: #991b1b;
}

/* ─────────────────────────────────────────────────
   MODAL — PREMIUM STYLING
───────────────────────────────────────────────── */
.modal-content {
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
    /* overflow:hidden removed — would clip Select2/datepicker dropdowns */
}
.modal-dialog { overflow: visible !important; }
.modal-header {
    background: linear-gradient(135deg, #0d1b3e, #1e3a8a) !important;
    border-bottom: none !important;
    padding: 1.25rem 1.5rem !important;
}
.modal-header h2, .modal-header h3, .modal-header h4, .modal-header h5 {
    color: #fff !important;
    font-weight: 700 !important;
    margin: 0 !important;
}
.modal-header .btn-icon {
    color: rgba(255,255,255,0.7) !important;
}
.modal-header .btn-icon:hover {
    color: #fff !important;
    background: rgba(255,255,255,0.15) !important;
}
.modal-footer {
    border-top: 1px solid #f0f4f9 !important;
    background: #f8fafc !important;
    padding: 1rem 1.5rem !important;
}

/* ─────────────────────────────────────────────────
   QUICK ACTIONS TOOLBAR — TOP RIGHT
───────────────────────────────────────────────── */
[data-kt-docs-table-toolbar="base"] .btn-secondary {
    border-radius: 8px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    border-color: #e2e8f0 !important;
    color: #374151 !important;
}
[data-kt-docs-table-toolbar="base"] .btn-secondary:hover {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1d4ed8 !important;
}

/* ─────────────────────────────────────────────────
   BREADCRUMB PREMIUM STYLE
───────────────────────────────────────────────── */
.breadcrumb-item a {
    color: #64748b !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.breadcrumb-item a:hover { color: #1d4ed8 !important; }
.breadcrumb-item.active { color: #0f172a !important; font-weight: 700 !important; }
.breadcrumb-item + .breadcrumb-item::before { color: #94a3b8 !important; }

/* ─────────────────────────────────────────────────
   DATATABLE — PREMIUM TABLE STYLE
───────────────────────────────────────────────── */
#kt_datatable thead tr th {
    background: #f8fafc !important;
    color: #374151 !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding: 10px 12px !important;
    white-space: nowrap !important;
}
#kt_datatable tbody tr {
    border-bottom: 1px solid #f0f4f9 !important;
    transition: background 0.15s !important;
}
#kt_datatable tbody tr:hover {
    background: #f8fafc !important;
}
#kt_datatable tbody td {
    font-size: 0.83rem !important;
    color: #374151 !important;
    padding: 10px 12px !important;
    vertical-align: middle !important;
}
/* DataTables pagination */
.dataTables_paginate .paginate_button.current {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
    border-radius: 8px !important;
}
.dataTables_paginate .paginate_button:hover {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1d4ed8 !important;
    border-radius: 8px !important;
}

/* ─────────────────────────────────────────────────
   STEPPER — PREMIUM NAVY BLUE
───────────────────────────────────────────────── */
/* Progress bar at top */
.progress-indicator {
    height: 4px;
    background: #e2e8f0;
    border-radius: 0;
    overflow: hidden;
}
.progress-bar-stepper {
    height: 100%;
    background: linear-gradient(90deg, #0d1b3e, #1d4ed8, #3b82f6);
    border-radius: 0;
    transition: width 0.4s ease;
}

/* Stepper nav icons */
.stepper-item .stepper-icon {
    background: #f1f5f9 !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 50% !important;
    color: #94a3b8 !important;
    font-weight: 700 !important;
    transition: all 0.3s ease !important;
}
.stepper-item.current .stepper-icon {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8) !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(29,78,216,0.35) !important;
}
.stepper-item.completed .stepper-icon {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #fff !important;
}
.stepper-item .stepper-title {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #374151 !important;
}
.stepper-item.current .stepper-title {
    color: #1d4ed8 !important;
}
.stepper-item .stepper-desc {
    font-size: 0.72rem !important;
    color: #94a3b8 !important;
}
.stepper-item.current .stepper-desc {
    color: #64748b !important;
}
/* Connector line */
.stepper-line {
    border-color: #e2e8f0 !important;
}

/* Form sections */
.form-section {
    background: #f8fafc;
    border-radius: 12px;
    padding: 1.5rem;
    border: 1px solid #f0f4f9;
    margin-bottom: 1.5rem;
}
.form-section-label {
    font-size: 0.7rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.form-section-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e2e8f0;
}

/* Courier selection cards */
.courier-card {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem;
    cursor: pointer;
    transition: all 0.2s;
    background: #fff;
}
.courier-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 4px 12px rgba(59,130,246,0.12);
    transform: translateY(-2px);
}
.courier-card.selected {
    border-color: #1d4ed8;
    background: #eff6ff;
    box-shadow: 0 4px 16px rgba(29,78,216,0.15);
}
.courier-price {
    font-size: 1.2rem;
    font-weight: 800;
    color: #1d4ed8;
}
.courier-eta {
    font-size: 0.72rem;
    color: #64748b;
    font-weight: 600;
}
.courier-name {
    font-size: 0.85rem;
    font-weight: 700;
    color: #0f172a;
}

/* Review section */
.review-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 1rem;
}
.review-section-header {
    background: linear-gradient(90deg, #eff6ff, #dbeafe);
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #bfdbfe;
    font-size: 0.8rem;
    font-weight: 700;
    color: #1e40af;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.review-row {
    display: flex;
    padding: 0.6rem 1.25rem;
    border-bottom: 1px solid #f0f4f9;
    font-size: 0.83rem;
}
.review-row:last-child { border-bottom: none; }
.review-label { color: #64748b; font-weight: 500; min-width: 140px; }
.review-value { color: #0f172a; font-weight: 700; }

/* ─────────────────────────────────────────────────
   PICKUP POINT CARD — CUSTOMER SELECTION
───────────────────────────────────────────────── */
.pickup-point-card {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.25rem;
    cursor: pointer;
    transition: all 0.2s;
    background: #fff;
}
.pickup-point-card:hover {
    border-color: #3b82f6;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(29,78,216,0.1);
}
.pickup-point-card.selected {
    border-color: #1d4ed8;
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
}

/* ─────────────────────────────────────────────────
   SUPPORT TICKET — STATUS BADGES
───────────────────────────────────────────────── */
.ticket-status-open    { background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe; }
.ticket-status-pending { background:#fffbeb;color:#d97706;border:1px solid #fde68a; }
.ticket-status-closed  { background:#f0fdf4;color:#16a34a;border:1px solid #86efac; }
.ticket-status-escalated { background:#fff1f2;color:#dc2626;border:1px solid #fecaca; }


/* ─────────────────────────────────────────────────
   SIDEBAR LOGO — WHITE ON DARK
───────────────────────────────────────────────── */
.app-sidebar-logo img.app-sidebar-logo-default {
    filter: brightness(0) invert(1);
    opacity: 0.92;
}
.app-sidebar-logo img.app-sidebar-logo-minimize {
    filter: brightness(0) invert(1);
    opacity: 0.92;
}

/* ─────────────────────────────────────────────────
   PAGE TITLE AREA — PREMIUM HEADER
───────────────────────────────────────────────── */
.app-toolbar {
    background: #fff !important;
    border-bottom: 1px solid #f0f4f9 !important;
    padding: 0.75rem 2rem !important;
}
.page-title .page-heading {
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.01em !important;
}
.page-title .page-desc {
    font-size: 0.78rem !important;
    color: #64748b !important;
}

/* ─────────────────────────────────────────────────
   GLOBAL CARD IMPROVEMENTS
───────────────────────────────────────────────── */
.card {
    border: 1px solid #f0f4f9 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
}
.card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
}
.card-custom {
    border-radius: 16px !important;
}

/* ─────────────────────────────────────────────────
   BILLING / INVOICE PAGE IMPROVEMENTS
───────────────────────────────────────────────── */
.invoice-card {
    border-radius: 16px;
    overflow: hidden;
}
.invoice-header {
    background: linear-gradient(135deg, #0d1b3e, #1e3a8a);
    padding: 1.5rem 2rem;
    color: white;
}
.invoice-header .invoice-num {
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
}
.invoice-status-paid {
    background: #f0fdf4;
    color: #16a34a;
    border: 1px solid #86efac;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 700;
}
.invoice-status-pending {
    background: #fffbeb;
    color: #d97706;
    border: 1px solid #fde68a;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 700;
}
.invoice-status-overdue {
    background: #fff1f2;
    color: #dc2626;
    border: 1px solid #fecaca;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 700;
}

/* ─────────────────────────────────────────────────
   WALLET PAGE IMPROVEMENTS
───────────────────────────────────────────────── */
.wallet-hero {
    background: linear-gradient(160deg, #060d1f 0%, #0d1b3e 40%, #1e3a8a 80%, #1d4ed8 100%);
    border-radius: 16px;
    padding: 2rem;
    color: white;
    position: relative;
    overflow: hidden;
}
.wallet-hero::before {
    content: '';
    position: absolute;
    width: 220px; height: 220px;
    border-radius: 50%;
    background: rgba(255,255,255,0.04);
    top: -60px; right: -60px;
}
.wallet-txn-row {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #f0f4f9;
    gap: 12px;
    transition: background 0.15s;
}
.wallet-txn-row:hover { background: #f8fafc; }
.wallet-txn-icon {
    width: 38px; height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.wallet-txn-credit { background: #f0fdf4; color: #16a34a; }
.wallet-txn-debit  { background: #fff1f2; color: #dc2626; }

/* ─────────────────────────────────────────────────
   REMITTANCE PAGE
───────────────────────────────────────────────── */
.remittance-summary-card {
    border-radius: 12px;
    padding: 16px 20px;
    border: 1.5px solid;
}
.remittance-pending {
    background: #fffbeb;
    border-color: #fde68a;
}
.remittance-paid {
    background: #f0fdf4;
    border-color: #86efac;
}

/* ─────────────────────────────────────────────────
   SYSTEM NOTICES (marquee) — UPGRADE
───────────────────────────────────────────────── */
.system-notice {
    background: linear-gradient(90deg, #dc2626, #b91c1c) !important;
    padding: 4px 0;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ─────────────────────────────────────────────────
   RESPONSIVE IMPROVEMENTS
───────────────────────────────────────────────── */
@media (max-width: 768px) {
    .dash-hero { padding: 20px !important; }
    .rate-calculator-wrapper { grid-template-columns: 1fr !important; }
    .stepper-nav { flex-wrap: nowrap; overflow-x: auto; }
    .stepper-item { min-width: fit-content; }
}

/* ─────────────────────────────────────────────────
   DROPZONE — PREMIUM FILE UPLOAD
───────────────────────────────────────────────── */
.dropzone {
    border: 2px dashed #bfdbfe !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    padding: 2rem !important;
    transition: border-color 0.2s, background 0.2s !important;
}
.dropzone:hover, .dropzone.dz-drag-hover {
    border-color: #3b82f6 !important;
    background: #eff6ff !important;
}
.dropzone .dz-message {
    margin: 0 !important;
}
.dropzone .dz-preview .dz-image {
    border-radius: 8px !important;
}
.dropzone .dz-preview .dz-details {
    background: rgba(29,78,216,0.1) !important;
}

/* ─────────────────────────────────────────────────
   ALERT STYLES — PREMIUM OVERRIDES
───────────────────────────────────────────────── */
.alert {
    border-radius: 12px !important;
    border-left-width: 4px !important;
    font-size: 0.875rem !important;
}
.alert-info {
    background: #eff6ff !important;
    border-color: #3b82f6 !important;
    color: #1e40af !important;
}
.alert-warning {
    background: #fffbeb !important;
    border-color: #d97706 !important;
    color: #92400e !important;
}
.alert-success {
    background: #f0fdf4 !important;
    border-color: #16a34a !important;
    color: #166534 !important;
}
.alert-danger {
    background: #fff1f2 !important;
    border-color: #dc2626 !important;
    color: #991b1b !important;
}

/* ─────────────────────────────────────────────────
   SELECT2 DROPDOWN — PREMIUM STYLING
───────────────────────────────────────────────── */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    min-height: 40px !important;
    padding: 4px 10px !important;
    font-size: 0.875rem !important;
    background: #fff !important;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.1) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #1d4ed8 !important;
}
.select2-dropdown {
    border: 1.5px solid #bfdbfe !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
    overflow: hidden !important;
}
.select2-search--dropdown .select2-search__field {
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 6px 10px !important;
    font-size: 0.83rem !important;
}

/* ─────────────────────────────────────────────────
   PINCODE SERVICEABILITY PAGE
───────────────────────────────────────────────── */
.serviceability-card {
    border-radius: 16px;
    overflow: hidden;
}
.serviceability-header {
    background: linear-gradient(135deg, #0d1b3e, #1e3a8a);
    padding: 2rem;
    text-align: center;
    color: white;
}
.serviceability-result {
    padding: 1.5rem;
}
.partner-service-row {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-radius: 10px;
    margin-bottom: 8px;
    background: #f8fafc;
    border: 1px solid #f0f4f9;
    gap: 12px;
    transition: background 0.15s;
}
.partner-service-row:hover { background: #eff6ff; }
.service-available { border-left: 3px solid #16a34a; }
.service-unavailable { border-left: 3px solid #dc2626; }

/* ─────────────────────────────────────────────────
   SIDEBAR — HOVER & ACTIVE TITLE VISIBILITY FIX
───────────────────────────────────────────────── */
/* All sidebar menu link text must stay white */
.app-sidebar .menu-link .menu-title { color: rgba(255,255,255,0.75) !important; }
.app-sidebar .menu-link .menu-icon i,
.app-sidebar .menu-link .menu-icon svg { color: rgba(255,255,255,0.55) !important; }

/* Hover: white text on subtle highlight */
.app-sidebar .menu-item:hover > .menu-link { background: rgba(255,255,255,0.08) !important; }
.app-sidebar .menu-item:hover > .menu-link .menu-title { color: #fff !important; }
.app-sidebar .menu-item:hover > .menu-link .menu-icon i,
.app-sidebar .menu-item:hover > .menu-link .menu-icon svg { color: #93c5fd !important; }

/* Active state */
.app-sidebar .menu-item.here > .menu-link,
.app-sidebar .menu-item.show > .menu-link {
    background: rgba(255,255,255,0.10) !important;
}
.app-sidebar .menu-item.here > .menu-link .menu-title,
.app-sidebar .menu-item.show > .menu-link .menu-title { color: #fff !important; }

/* Submenu arrow icons */
.app-sidebar .menu-arrow { color: rgba(255,255,255,0.4) !important; }
.app-sidebar .menu-item:hover > .menu-link .menu-arrow { color: rgba(255,255,255,0.8) !important; }

/* ═══════════════════════════════════════════════════════════
   MTC TRANSPORT — UI/UX PRECISION IMPROVEMENTS v3
   Targets: contrast, readability, form UX, stepper clarity
   ═══════════════════════════════════════════════════════════ */

/* ── Body & page depth ───────────────────────────────────── */
body {
    background: #e2e9f3 !important;
}
/* Full wrapper chain — all transparent/gray, no white bleed */
#kt_app_content,
#kt_app_main,
.app-main,
.app-wrapper,
#kt_app_wrapper,
.app-page,
#kt_app_page,
.app-root,
#kt_app_root,
.d-flex.flex-column.flex-column-fluid {
    background: #e2e9f3 !important;
}
/* The content container itself transparent so the bg shows */
#kt_app_content_container {
    background: transparent !important;
}

/* ════════════════════════════════════════════════════════════
   SINGLE-CARD LAYOUT — eliminate the double-card illusion
   ════════════════════════════════════════════════════════════
   Strategy:
   • Toolbar becomes transparent so breadcrumbs float on the
     gray page background — it is no longer a "white panel"
   • The .card (content card) is the only white surface
   • row/col gutters inside the container are zeroed out so the
     card edge-to-edges without orphan left/right padding
   ════════════════════════════════════════════════════════════ */

/* Step 1 — toolbar: transparent, no border, no shadow */
#kt_app_toolbar,
.app-toolbar {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding-top: 1.25rem !important;
    padding-bottom: 0.5rem !important;
}

/* Keep page heading legible on the dark-ish gray bg */
.app-toolbar .page-heading,
.app-toolbar .page-title .fw-bold,
.page-title h1 {
    color: #0f172a !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
}
.app-toolbar .breadcrumb-item a { color: #475569 !important; }
.app-toolbar .breadcrumb-item.active { color: #0f172a !important; font-weight: 600 !important; }
.app-toolbar .breadcrumb-item + .breadcrumb-item::before { color: #94a3b8 !important; }

/* Step 2 — content container: no extra padding, no bg */
#kt_app_content_container,
.app-container.container-fluid {
    background: transparent !important;
    padding-top: 0 !important;
}

/* Step 3 — zero out the row > col Bootstrap gutter that
   adds 12px left/right breathing room, making the card
   appear indented and floating inside an invisible box */
#kt_app_content_container > .row,
.app-container.container-fluid > .row {
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
#kt_app_content_container > .row > [class*="col"],
.app-container.container-fluid > .row > [class*="col"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Step 4 — .card.card-custom: the ONLY white surface on the page */
.card.card-custom {
    border-radius: 16px !important;
    border: 1px solid #dde5f0 !important;
    box-shadow: 0 4px 24px rgba(15,23,42,0.08), 0 1px 4px rgba(15,23,42,0.04) !important;
    background: #ffffff !important;
    overflow: hidden !important;
}
/* gutter-b margin stays; don't remove, it gives breathing room between stacked cards */
.card.card-custom.gutter-b { margin-bottom: 2rem !important; }

/* Card body gets clean, consistent padding */
.card.card-custom > .card-body {
    padding: 1.75rem !important;
}

/* Step 5 — All cards are white surfaces on the gray bg */
.card {
    background: #ffffff !important;
}

/* Step 6 — DataTables wrapper: no extra border/bg, card is already the frame */
.dataTables_wrapper {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
div.dataTables_wrapper div.dataTables_length,
div.dataTables_wrapper div.dataTables_filter,
div.dataTables_wrapper div.dataTables_info,
div.dataTables_wrapper div.dataTables_paginate {
    background: transparent !important;
    padding: 0.875rem 0 !important;
}
div.dataTables_wrapper div.dataTables_filter {
    text-align: right !important;
}

/* Step 7 — Content container top padding (space below toolbar) */
#kt_app_content_container {
    padding-top: 1.25rem !important;
    padding-bottom: 2.5rem !important;
}

/* Step 8 — Quick actions toolbar buttons: correct gap + alignment */
#kt_app_toolbar_container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-items: flex-end !important;
}
#kt_app_toolbar .d-flex.justify-content-end {
    margin-bottom: 0 !important;
}

/* Step 9 — "Show N entries" + Search row inside card: light separator */
.card.card-custom > .card-body > .dataTables_wrapper > .row:first-child,
.card.card-custom > .card-body > .row:first-child:has(.dataTables_length) {
    border-bottom: 1px solid #eef2f8 !important;
    padding-bottom: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}

/* Step 10 — Table inside card: remove outer border since card is the frame */
.card.card-custom .table-responsive {
    border: none !important;
    border-radius: 0 !important;
}
.card.card-custom .table {
    margin-bottom: 0 !important;
}
/* Last table row: no orphan bottom border */
.card.card-custom .table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Step 11 — Pagination inside card: tuck neatly */
.card.card-custom .dataTables_paginate {
    padding: 0.75rem 0 0 !important;
    border-top: 1px solid #eef2f8 !important;
    margin-top: 0.25rem !important;
}

/* Step 12 — Billing / any page that uses naked .row > .col directly inside container */
#kt_app_content_container > .row:not(:has(.card)) {
    padding: 0 !important;
}

/* ── Sidebar menu section headings — better contrast ─────── */
.app-sidebar .menu-content .menu-heading,
.app-sidebar .menu-content span.menu-heading {
    color: rgba(255,255,255,0.55) !important;
    font-size: 0.67rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
}

/* ── PREVIOUS / light / secondary buttons — more visible ─── */
.btn-light {
    background: #ffffff !important;
    border: 1.5px solid #c8d6e8 !important;
    color: #374151 !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
}
.btn-light:hover,
.btn-light:focus {
    background: #eff6ff !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
    box-shadow: 0 2px 8px rgba(29,78,216,0.14) !important;
    transform: translateY(-1px) !important;
}
.btn-secondary {
    background: #ffffff !important;
    border: 1.5px solid #c8d6e8 !important;
    color: #374151 !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
}
.btn-secondary:hover {
    background: #f0f4f9 !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

/* ── Form labels — stronger contrast ────────────────────── */
.form-label {
    font-size: 0.83rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 0.45rem !important;
    letter-spacing: 0.01em !important;
}
.form-label.fw-semibold {
    color: #1e293b !important;
}

/* Required asterisk — standardized red */
.form-label .required,
.form-label > .text-danger,
label .required,
label > .text-danger {
    color: #dc2626 !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
}

/* ── Form section container — white with clear border ─────── */
.form-section {
    background: #ffffff !important;
    border: 1px solid #dde5f0 !important;
    border-radius: 14px !important;
    padding: 1.75rem !important;
    margin-bottom: 1.5rem !important;
    box-shadow: 0 1px 6px rgba(15,23,42,0.05) !important;
}

/* ── Form section label — WCAG AA contrast ───────────────── */
.form-section-label {
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 1rem !important;
}
.form-section-label::after {
    background: #dde5f0 !important;
}

/* ── Rate calculator section label ────────────────────────── */
.section-label {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-bottom: 1px solid #e8eef5 !important;
    padding-bottom: 6px !important;
    margin-bottom: 0.875rem !important;
}
.section-label i {
    color: #1d4ed8 !important;
    font-size: 1rem !important;
}

/* ── Stepper — full contrast overhaul ───────────────────── */
/* Inactive step circles */
.stepper-item .stepper-icon {
    background: #dde5f0 !important;
    border: 2px solid #c8d6e8 !important;
    border-radius: 50% !important;
    color: #475569 !important;
    font-weight: 700 !important;
    transition: all 0.3s ease !important;
    min-width: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.stepper-item .stepper-number {
    color: #475569 !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
}

/* Active (current) step */
.stepper-item.current .stepper-icon {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%) !important;
    border-color: #2563eb !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(37,99,235,0.45) !important;
}
.stepper-item.current .stepper-number {
    color: #fff !important;
}

/* Completed step */
.stepper-item.completed .stepper-icon {
    background: linear-gradient(135deg, #15803d 0%, #22c55e 100%) !important;
    border-color: #16a34a !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(22,163,74,0.35) !important;
}

/* Step titles */
.stepper-item .stepper-title {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #64748b !important;
    transition: color 0.2s !important;
}
.stepper-item.current .stepper-title {
    color: #1d4ed8 !important;
    font-weight: 700 !important;
}
.stepper-item.completed .stepper-title {
    color: #374151 !important;
}

/* Step descriptions */
.stepper-item .stepper-desc {
    font-size: 0.72rem !important;
    color: #94a3b8 !important;
    transition: color 0.2s !important;
}
.stepper-item.current .stepper-desc {
    color: #6080c0 !important;
}
.stepper-item.completed .stepper-desc {
    color: #6b7280 !important;
}

/* Connector lines — visible but not distracting */
.stepper-line {
    border-top: 2px solid #c8d6e8 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    height: 0 !important;
    flex: 1 !important;
    margin-top: 20px !important;
}

/* ── Stepper progress bar at card top — with glow ────────── */
.progress-indicator {
    height: 3px !important;
    background: #dde5f0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}
.progress-bar-stepper {
    height: 100% !important;
    background: linear-gradient(90deg, #0d1b3e 0%, #1d4ed8 60%, #60a5fa 100%) !important;
    box-shadow: 0 0 10px rgba(37,99,235,0.5) !important;
    border-radius: 0 3px 3px 0 !important;
    transition: width 0.5s cubic-bezier(0.4,0,0.2,1) !important;
}

/* ── Input fields — improved focus ring ──────────────────── */
.form-control:focus,
.form-select:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important;
    outline: none !important;
}

/* ── Separator (dashed line in form) ─────────────────────── */
.separator-dashed {
    border-top: 1.5px dashed #dde5f0 !important;
    opacity: 1 !important;
}

/* ── Quick select field label ─────────────────────────────── */
.mb-6 > .form-label,
.mb-5 > .form-label,
.mb-4 > .form-label {
    color: #1e293b !important;
}

/* ── Cards — slightly stronger shadow for depth ──────────── */
.card {
    box-shadow: 0 2px 14px rgba(15,23,42,0.07) !important;
}

/* ── Nav header items hover contrast fix ──────────────────── */
.app-navbar .btn-icon,
.app-navbar [data-kt-menu-trigger] {
    transition: all 0.2s ease !important;
}

/* ── Breadcrumb active — clearly readable ────────────────── */
.breadcrumb-item.active {
    color: #1e293b !important;
    font-weight: 600 !important;
}

/* ── WCAG fix: table column headers on light bg ──────────── */
.card-body .table thead th {
    color: #374151 !important;
    background: #f0f4f9 !important;
    font-weight: 700 !important;
}

/* ── Rate calculator input card body padding ─────────────── */
.input-card-body {
    padding: 1.5rem !important;
}

/* ── Stepper footer (Prev / Next row) ─────────────────────── */
.d-flex.justify-content-between .btn-light,
.d-flex.justify-content-end ~ .btn-light,
[data-kt-stepper-action="previous"] {
    background: #fff !important;
    border: 1.5px solid #c8d6e8 !important;
    color: #374151 !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    padding: 0.625rem 1.5rem !important;
    transition: all 0.2s ease !important;
}
[data-kt-stepper-action="previous"]:hover {
    background: #eff6ff !important;
    border-color: #3b82f6 !important;
    color: #1d4ed8 !important;
    box-shadow: 0 2px 8px rgba(29,78,216,0.15) !important;
}
[data-kt-stepper-action="submit"],
[data-kt-stepper-action="next"] {
    border-radius: 10px !important;
    font-weight: 700 !important;
    padding: 0.625rem 2rem !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.01em !important;
}

/* ── Pickup point / courier card improvements ─────────────── */
.pickup-point-card,
.courier-card {
    border: 1.5px solid #dde5f0 !important;
    transition: all 0.2s ease !important;
}
.pickup-point-card:hover,
.courier-card:hover {
    border-color: #3b82f6 !important;
    box-shadow: 0 6px 20px rgba(29,78,216,0.1) !important;
}

/* ── Review section header — brighter blue text ──────────── */
.review-section-header {
    background: linear-gradient(90deg, #dbeafe 0%, #eff6ff 100%) !important;
    color: #1e40af !important;
    border-bottom-color: #bfdbfe !important;
}

/* ── Legacy fs-5 / fs-6 labels inside forms — normalize ─────
   38 inline instances across pages use .required.fs-5.fw-semibold
   Override globally rather than editing each file.             */
label.fs-5,
label.fs-6,
label.fs-5.fw-semibold,
label.fs-6.fw-semibold,
label.required.fs-5,
label.required.fs-6,
label.d-flex.required.fs-5,
label.d-flex.required.fs-6 {
    font-size: 0.83rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 0.4rem !important;
    display: block !important;
}
/* Required red asterisk via .required class on <label> */
label.required::after {
    content: ' *' !important;
    color: #dc2626 !important;
    font-weight: 700 !important;
}
/* Remove stray colon if it still appears in label text */
.form-group label.fs-5::after {
    content: '' !important;
}

/* ── Responsive: stepper text hidden on small screens ─────── */
@media (max-width: 767px) {
    .stepper-desc { display: none !important; }
    .stepper-title { font-size: 0.72rem !important; }
    .stepper-item { margin-left: 0.5rem !important; margin-right: 0.5rem !important; }
}

@media (max-width: 575px) {
    .stepper-title { display: none !important; }
}

/* ══════════════════════════════════════════════════════════════
   ORDERS UI — v4 block
   Status tabs, show-page cards, metric boxes, data items,
   tracking timeline. Admin + customer panels.
   ════════════════════════════════════════════════════════════ */

/* 1. Status Tab Nav — pill-style with active gradient ───────── */
.nav.nav-line-tabs.nav-line-tabs-2x {
    border-bottom: none !important;
    flex-wrap: wrap !important;
    gap: 3px !important;
    padding-bottom: 6px !important;
}
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link {
    border-bottom: none !important;
    border-radius: 12px !important;
    padding: 0.55rem 1.1rem !important;
    color: #475569 !important;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s !important;
    background: rgba(255,255,255,0.75) !important;
    font-weight: 600 !important;
    margin: 2px 0 !important;
}
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link::after {
    display: none !important;
}
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link:hover:not(.active) {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-bottom: none !important;
}
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link.active {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    border-bottom: none !important;
    box-shadow: 0 4px 16px rgba(37,99,235,0.28) !important;
}
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link .fs-2 {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link.active .fs-2,
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link.active i,
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link.active div {
    color: #ffffff !important;
}
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link .ki-solid {
    opacity: 0.65 !important;
    font-size: 1.1rem !important;
    flex-shrink: 0 !important;
}
.nav.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link.active .ki-solid {
    opacity: 1 !important;
    color: rgba(255,255,255,0.9) !important;
}

/* 2. Show-page cards — match .card-custom treatment ─────────── */
.card.mb-6.mb-xl-9,
.card.pt-4.mb-6.mb-xl-9,
.card.h-lg-100,
.card.mb-6 {
    border-radius: 16px !important;
    border: 1px solid #dde5f0 !important;
    box-shadow: 0 4px 24px rgba(15,23,42,0.07), 0 1px 4px rgba(15,23,42,0.04) !important;
    background: #ffffff !important;
}
.card.pt-4.mb-6.mb-xl-9 > .card-header {
    border-bottom: 1px solid #eef2f8 !important;
    padding: 1rem 1.5rem !important;
    min-height: auto !important;
}
.card.pt-4.mb-6.mb-xl-9 > .card-header .card-title h2 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
}

/* 3. Dashed metric boxes — modernize ───────────────────────── */
.border.border-dashed.rounded.min-w-125px {
    border: 1.5px solid #dde5f0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #f8faff 0%, #fafbfe 100%) !important;
    transition: box-shadow 0.18s, border-color 0.18s, transform 0.18s !important;
}
.border.border-dashed.rounded.min-w-125px:hover {
    border-color: #93c5fd !important;
    box-shadow: 0 4px 16px rgba(37,99,235,0.12) !important;
    transform: translateY(-1px) !important;
}
.border.border-dashed.rounded.min-w-125px .fs-4.fw-bold {
    color: #1e293b !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}
.border.border-dashed.rounded.min-w-125px .fw-semibold.fs-6.text-gray-700,
.border.border-dashed.rounded.min-w-125px .fw-semibold.fs-6 {
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #64748b !important;
    margin-top: 0.3rem !important;
    display: block !important;
}

/* 4. Order detail data items — left accent bar ──────────────── */
.card-body .row > [class*="col"] .my-3.py-4 {
    padding-left: 1rem !important;
    border-left: 3px solid #e8eef8 !important;
    border-radius: 0 8px 8px 0 !important;
    transition: border-color 0.18s, background 0.18s !important;
    margin-bottom: 0.4rem !important;
}
.card-body .row > [class*="col"] .my-3.py-4:hover {
    border-left-color: #3b82f6 !important;
    background: #f8faff !important;
}
.card-body .row > [class*="col"] .my-3.py-4 .fs-4.fw-bold.text-gray-800 {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.3 !important;
}
.card-body .row > [class*="col"] .my-3.py-4 .fs-6.fw-semibold.text-muted {
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #94a3b8 !important;
    margin-top: 0.3rem !important;
    display: block !important;
}

/* 5. Status badges — per-status color palette ───────────────── */
.badge.badge-light-success {
    background: #dcfce7 !important;
    color: #15803d !important;
    font-weight: 700 !important;
}
.badge.badge-light-warning {
    background: #fef9c3 !important;
    color: #a16207 !important;
    font-weight: 700 !important;
}
.badge.badge-light-danger {
    background: #fee2e2 !important;
    color: #dc2626 !important;
    font-weight: 700 !important;
}
.badge.badge-light-info {
    background: #eff6ff !important;
    color: #2563eb !important;
    font-weight: 700 !important;
}
.badge.badge-light-primary {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    font-weight: 700 !important;
}
/* Outline badges (table status column) */
.badge.badge-outline.badge-success {
    background: #dcfce7 !important;
    color: #15803d !important;
    border: 1px solid #86efac !important;
    font-weight: 700 !important;
    padding: 0.35em 0.8em !important;
    border-radius: 20px !important;
}
.badge.badge-outline.badge-danger {
    background: #fee2e2 !important;
    color: #dc2626 !important;
    border: 1px solid #fca5a5 !important;
    font-weight: 700 !important;
    padding: 0.35em 0.8em !important;
    border-radius: 20px !important;
}

/* 6. Tracking timeline ──────────────────────────────────────── */
.timeline-line.timeline-line-solid {
    border-left: 2px solid #e0e8f5 !important;
    background: transparent !important;
}
.timeline-item .symbol .symbol-label.bg-light.border {
    background: #f0f6ff !important;
    border: 1.5px solid #bfdbfe !important;
    border-radius: 10px !important;
}
.timeline-item .timeline-content .fs-6.fw-bold {
    font-size: 0.84rem !important;
    color: #1e293b !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}
.timeline-item .fs-8.text-muted {
    font-size: 0.69rem !important;
    color: #94a3b8 !important;
    display: block !important;
    margin-top: 4px !important;
}

/* 7. Show-page header card — courier logo + stat row ────────── */
.card.mb-6.mb-xl-9 > .card-body.pt-9 {
    padding-top: 1.5rem !important;
    padding-bottom: 0.5rem !important;
}
.card.mb-6.mb-xl-9 .d-flex.flex-center.flex-shrink-0.bg-light.rounded {
    border-radius: 16px !important;
    min-height: 80px !important;
}
.card.mb-6.mb-xl-9 .badge.badge-light-success {
    font-size: 0.77rem !important;
    padding: 0.35em 0.9em !important;
    border-radius: 20px !important;
}
.card.mb-6.mb-xl-9 .fs-2.fw-bold.me-3 {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #1e293b !important;
}

/* 8. Courier Activity card toolbar status badge ─────────────── */
.card.h-lg-100 .card-toolbar .btn-light-success,
.card.h-lg-100 .card-toolbar .btn.btn-sm {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    border-radius: 20px !important;
    padding: 0.35em 0.9em !important;
}

/* 9. Table action dropdown polish ───────────────────────────── */
.dropdown-menu.fw-bold.fs-7 .dropdown-item {
    padding: 0.5rem 1rem !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    transition: background 0.12s !important;
}
.dropdown-menu.fw-bold.fs-7 .dropdown-item:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

/* 10. Quick action toolbar buttons ─────────────────────────── */
.quick-actions-wrapper .btn-secondary,
[data-kt-docs-table-toolbar="base"] .btn-secondary {
    background: #ffffff !important;
    border: 1.5px solid #c8d6e8 !important;
    color: #374151 !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    transition: all 0.18s !important;
}
[data-kt-docs-table-toolbar="base"] .btn-secondary:hover {
    background: #eff6ff !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
    box-shadow: 0 2px 8px rgba(29,78,216,0.12) !important;
}
