:root {    /* Color Palette - Premium Pure White Light Theme */    --bg-color: #ffffff;    --panel-bg: #ffffff;    --panel-border: #e5e7eb;        --text-primary: #000000;    --text-secondary: #4b5563;    --text-inverse: #ffffff;        --primary-color: #0070ff;    --primary-hover: #005bb5;        --accent-blue: #2563eb;    --accent-green: #16a34a;    --accent-purple: #9333ea;    --accent-red: #ef4444;    --overlay-light: rgba(0, 0, 0, 0.03);    --overlay-hover: rgba(0, 0, 0, 0.06);    --overlay-border: rgba(0, 0, 0, 0.08);        --header-bg: rgba(255, 255, 255, 0.98);    --modal-bg: rgba(255, 255, 255, 0.98);        /* Shadows & Effects */    --glass-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);    --glass-blur: backdrop-filter: blur(16px);        /* Layout */    --sidebar-width: 250px;    --border-radius: 16px;    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}[data-theme="dark"] {    /* Color Palette - Ultra Dark Premium Theme */    --bg-color: #000000;    --panel-bg: rgba(15, 15, 15, 0.85);    --panel-border: rgba(255, 255, 255, 0.05);        --text-primary: #ffffff;    --text-secondary: #a1a1aa;    --text-inverse: #ffffff;        --primary-color: #0070ff;    --primary-hover: #005bb5;        --accent-blue: #3b82f6;    --accent-green: #10b981;    --accent-purple: #a855f7;    --accent-red: #ef4444;    --overlay-light: rgba(255, 255, 255, 0.05);    --overlay-hover: rgba(255, 255, 255, 0.08);    --overlay-border: rgba(255, 255, 255, 0.1);        --header-bg: rgba(0, 0, 0, 0.95);    --modal-bg: rgba(10, 10, 10, 0.98);        /* Shadows & Effects */    --glass-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);    --glass-blur: backdrop-filter: blur(12px);}* {    margin: 0;    padding: 0;    box-sizing: border-box;}html, body {    overscroll-behavior-y: none;    overflow: hidden;    height: 100%;}body {    font-family: 'Inter', sans-serif;    background-color: var(--bg-color);    background-image:         radial-gradient(circle at 15% 50%, rgba(59, 130, 246, 0.15), transparent 25%),        radial-gradient(circle at 85% 30%, rgba(139, 92, 246, 0.15), transparent 25%);    color: var(--text-primary);    min-height: 100vh;    touch-action: pan-x pan-y;        /* Disable text selection and mobile callouts globally */    -webkit-touch-callout: none;    -webkit-user-select: none;    -khtml-user-select: none;    -moz-user-select: none;    -ms-user-select: none;    user-select: none;}/* Allow text selection inside input fields and textareas */input, textarea {    -webkit-user-select: auto;    -khtml-user-select: auto;    -moz-user-select: auto;    -ms-user-select: auto;    user-select: auto;}/* Extra protection for images to avoid long press save trays */img {    -webkit-user-drag: none;    -webkit-touch-callout: none;}/* Glassmorphism Utilities */.glass-panel {    background: var(--panel-bg);    backdrop-filter: blur(16px);    -webkit-backdrop-filter: blur(16px);    border-radius: var(--border-radius);    box-shadow: var(--glass-shadow);}.gradient-border {    position: relative;    background-clip: padding-box;    border: 1px solid #00000017;}.gradient-border::before {    content: '';    position: absolute;    top: 0; right: 0; bottom: 0; left: 0;    z-index: -1;    margin: -1px;    border-radius: inherit;    background: linear-gradient(to bottom right, rgba(255,255,255,0.2), var(--overlay-light));}/* -------------------- *//* LOGIN SCREEN         *//* -------------------- */.login-wrapper {    display: flex;    align-items: center;    justify-content: center;    height: 100vh;    width: 100vw;    position: fixed;    top: 0;    left: 0;    z-index: 1000;    padding: 16px;}.login-card {    width: 100%;    max-width: 420px;    padding: 40px;    animation: fadeIn 0.5s ease-out;}.login-header {    text-align: center;    margin-bottom: 32px;}.login-header .logo {    justify-content: center;    margin-bottom: 12px;}.login-header p {    color: var(--text-secondary);    font-size: 15px;}.input-with-icon {    position: relative;    display: flex;    align-items: center;}.input-with-icon i {    position: absolute;    left: 16px;    color: var(--text-secondary);    font-size: 20px;}.input-with-icon .glass-input {    padding-left: 48px;}.w-100 {    width: 100%;    justify-content: center;}.login-btn {    margin-top: 32px;    padding: 14px 20px;    font-size: 16px;}/* -------------------- *//* Layout               *//* -------------------- */.app-container {    display: flex;    height: 100%;    width: 100%;    overflow: hidden;}/* Sidebar */.sidebar {    width: var(--sidebar-width);    height: calc(100vh - 48px);    margin: 14px 15px 24px 24px;    display: flex;    flex-direction: column;    padding: 24px;    border-radius: 24px;    background: var(--panel-bg);    backdrop-filter: blur(16px);    -webkit-backdrop-filter: blur(16px);    border: 1px solid var(--panel-border);    box-shadow: 0 10px 30px rgba(0,0,0,0.2);        /* Hide scrollbar on desktop */    overflow-y: auto;    -ms-overflow-style: none;  /* IE and Edge */    scrollbar-width: none;  /* Firefox */}.sidebar::-webkit-scrollbar {    display: none;}@media (min-width: 769px) {    .nav-more-container, .nav-more-dropdown {        display: contents !important;    }    .nav-more-btn {        display: none !important;    }}.logo {    display: flex;    align-items: center;    gap: 12px;    margin-bottom: 40px;}.logo i {    font-size: 28px;    color: var(--primary-color);    filter: drop-shadow(0 0 8px rgba(59, 130, 246, 0.5));}.logo h2, .brand-company-name {    font-size: 22px;    font-weight: 700;    letter-spacing: -0.5px;    background: linear-gradient(to right, #000000 35%, var(--logo-text-color, var(--primary-color)) 100%);    -webkit-background-clip: text;    -webkit-text-fill-color: transparent;    transition: color 0.2s ease;}.logo h2.solid-color, .brand-company-name.solid-color {    background: none !important;    -webkit-background-clip: unset !important;    -webkit-text-fill-color: var(--logo-text-color, var(--primary-color)) !important;    color: var(--logo-text-color, var(--primary-color)) !important;}[data-theme="dark"] .logo h2, [data-theme="dark"] .brand-company-name {    background: linear-gradient(to right, #ffffff 35%, var(--logo-text-color, var(--primary-color)) 100%);    -webkit-background-clip: text;    -webkit-text-fill-color: transparent;}[data-theme="dark"] .logo h2.solid-color, [data-theme="dark"] .brand-company-name.solid-color {    background: none !important;    -webkit-background-clip: unset !important;    -webkit-text-fill-color: var(--logo-text-color, var(--primary-color)) !important;    color: var(--logo-text-color, var(--primary-color)) !important;}.nav-menu {    display: flex;    flex-direction: column;    gap: 8px;    flex: 1;}.nav-item {    display: flex;    align-items: center;    gap: 12px;    padding: 12px 16px;    color: var(--text-secondary);    text-decoration: none;    border-radius: 12px;    font-weight: 500;    transition: var(--transition);}.nav-item i {    font-size: 20px;    transition: var(--transition);    pointer-events: none;}.nav-item span {    font-size: 15px;    pointer-events: none;}.nav-item:hover {    color: var(--text-primary);    background: var(--overlay-light);}.nav-item.active {    color: var(--primary-color);    background: linear-gradient(to right, rgba(59, 130, 246, 0.15), transparent);    border-left: 3px solid var(--primary-color);}.sidebar-footer {    border-top: 1px solid var(--panel-border);    padding-top: 16px;}.btn-transparent {    background: transparent;    border: none;    width: 100%;    cursor: pointer;    font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: 0px;    font-size: 15px;}.btn-transparent:hover {    color: var(--accent-red);}/* Main Content */.main-content {    flex: 1;    display: flex;    flex-direction: column;    padding: 16px 16px 16px 0;    overflow: hidden;}.top-bar {    height: 72px;    display: flex;    justify-content: space-between;    align-items: center;    padding: 0 24px;    margin-bottom: 24px;}.search-bar {    display: flex;    align-items: center;    gap: 12px;    background: rgb(140 140 200 / 20%);    border: 1px solid var(--panel-border);    border-radius: 20px;    padding: 8px 16px;    flex: 1;    transition: var(--transition);    position: relative;}[data-theme="dark"] .search-bar {    background: #2e2d30;}.search-bar:focus-within {    border-color: var(--primary-color);    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);}.search-bar input {    background: transparent;    border: none;    color: var(--text-primary);    font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: 0px;    font-size: 14px;    width: 100%;    outline: none;}.search-bar input::placeholder {    color: var(--text-secondary);}.ph-fill.ph-package {    color: var(--primary-color);}@keyframes breathe {    0%, 100% { opacity: 0.4; transform: scale(0.9); box-shadow: 0 0 4px currentColor; }    50% { opacity: 1; transform: scale(1.1); box-shadow: 0 0 12px currentColor; }}.status-indicator {    display: flex;    align-items: center;    gap: 8px;    font-size: 10px;    font-weight: 400;    color: var(--text-secondary);    white-space: nowrap;}.dot {    width: 8px;    height: 8px;    border-radius: 50%;    animation: breathe 3s ease-in-out infinite;}.dot.red { background-color: var(--accent-red); color: var(--accent-red); }.dot.green { background-color: var(--accent-green); color: var(--accent-green); }.content-area {    flex: 1;    overflow-y: auto;    overflow-x: hidden;    padding-right: 8px;    padding-bottom: 80px; /* Padding for mobile navbar */    -ms-overflow-style: none;  /* IE and Edge */    scrollbar-width: none;  /* Firefox */}.content-area::-webkit-scrollbar {    display: none;}.tab-content {    display: none;    animation: fadeIn 0.4s ease forwards;}.tab-content.active {    display: block;}@keyframes fadeIn {    from { opacity: 0; transform: translateY(10px); }    to { opacity: 1; transform: translateY(0); }}.page-title {    font-size: 28px;    margin-bottom: 24px;    font-weight: 600;}.page-header {    display: flex;    justify-content: space-between;    align-items: center;    margin-bottom: 24px;}/* Metrics Grid */.metrics-grid {    display: grid;    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));    gap: 24px;    margin-bottom: 32px;}.metric-card {    padding: 24px;    display: flex;    align-items: center;    gap: 20px;    transition: var(--transition);}.metric-card:hover {    transform: translateY(-5px);    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);}.metric-icon {    width: 60px;    height: 60px;    border-radius: 16px;    display: flex;    align-items: center;    justify-content: center;    font-size: 28px;    flex-shrink: 0;}.metric-icon.blue { background: rgba(14, 165, 233, 0.1); color: var(--accent-blue); }.metric-icon.green { background: rgba(16, 185, 129, 0.1); color: var(--accent-green); }.metric-icon.red { background: rgba(239, 68, 68, 0.1); color: var(--accent-red); }.metric-details h3 {    font-size: 14px;    color: var(--text-secondary);    font-weight: 500;    margin-bottom: 8px;}.metric-value {    font-size: 19px;    font-weight: 700;}/* Data Table */.table-container {    padding: 24px;    overflow-x: auto;}.data-table {    width: 100%;    border-collapse: collapse;    min-width: 600px;}.data-table th, .data-table td {    padding: 16px;    text-align: left;    border-bottom: 1px solid var(--panel-border);}.data-table th {    color: var(--text-secondary);    font-weight: 600;    font-size: 14px;    text-transform: uppercase;    letter-spacing: 0.5px;}.data-table tbody tr {    transition: var(--transition);}.data-table tbody tr:hover {    background: var(--overlay-hover);}.empty-row {    text-align: center !important;    color: var(--text-secondary);    padding: 40px !important;}/* Financial Specific Styles */.financial-table td {    padding: 12px 16px;}.indent-1 {    padding-left: 32px !important;    color: var(--text-secondary);}.indent-2 {    padding-left: 48px !important;    color: #64748b;    font-size: 14px;}.summary-row td {    font-weight: 700;    color: var(--text-primary);    border-top: 2px solid rgba(255,255,255,0.2);    border-bottom: 2px solid rgba(255,255,255,0.2);}/* Buttons & Inputs */.btn-primary {    background: var(--primary-color);    color: #fff;    border: none;    padding: 10px 20px;    border-radius: 8px;    font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: 0px;    font-weight: 600;    cursor: pointer;    display: flex;    align-items: center;    justify-content: center;    gap: 8px;    transition: var(--transition);}.btn-primary:hover {    background: var(--primary-hover);    transform: scale(1.02);}.btn-primary:active {    transform: scale(0.98);}.settings-card {    padding: 32px;    max-width: 600px;}.settings-desc {    color: var(--text-secondary);    margin-bottom: 24px;    margin-top: 8px;}.form-group {    margin-bottom: 24px;    width: 100%;}.form-group label {    display: block;    margin-bottom: 8px;    font-weight: 500;}.glass-input {    width: 100%;    background: #dedede;    border: 1px solid var(--panel-border);    padding: 12px 16px;    border-radius: 8px;    color: var(--text-primary);    font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: 0px;    font-size: 16px;    transition: var(--transition);}[data-theme="dark"] .glass-input {    background: rgba(0, 0, 0, 0.2);}.glass-input:focus {    outline: none;    border-color: var(--primary-light);    box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.2);}/* Modal Overlay */.modal-overlay {    position: fixed;    top: 0;    left: 0;    width: 100vw;    height: 100vh;    background: rgba(0, 0, 0, 0.6);    backdrop-filter: blur(5px);    z-index: 1000;    display: flex;    justify-content: center;    align-items: center;}.modal-content {    width: 90%;    max-width: 800px;    max-height: 85vh;    overflow-y: auto;    padding: 24px;    border-radius: 16px;    animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);}@keyframes slideUp {    from { opacity: 0; transform: translateY(40px); }    to { opacity: 1; transform: translateY(0); }}.header-actions {    display: flex;    align-items: center;    gap: 12px;}.last-synced-text {    font-size: 12px;    color: var(--text-secondary);    white-space: nowrap;}/* Outstanding Tabs */.outstanding-tabs {    display: flex;    gap: 4px;    background: #dedede;    color: white;    padding: 4px;    border-radius: 12px;    border: 1px solid var(--overlay-light);}[data-theme="dark"] .outstanding-tabs {    background: rgba(0, 0, 0, 0.2);    color: inherit;}.outstanding-tab-btn {    background: transparent;    border: none;    color: var(--text-secondary);    padding: 8px 16px;    border-radius: 8px;    font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: 0px;    font-weight: 500;    cursor: pointer;    transition: var(--transition);}.outstanding-tab-btn.active {    background: var(--primary-color);    color: var(--text-primary);    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);}/* Toast */.toast {    position: fixed;    bottom: 24px;    right: 24px;    padding: 16px 24px;    display: none; /* Changed from flex to none to completely remove from hit-testing */    align-items: center;    gap: 12px;    transform: translateY(100px);    opacity: 0;    visibility: hidden;    pointer-events: none;    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);    z-index: 1000;}.toast.show {    transform: translateY(0);    opacity: 1;    visibility: visible;    pointer-events: auto;}.toast i {    font-size: 20px;    color: var(--primary-color);}.toast.error i { color: var(--accent-red); }.toast.success i { color: var(--accent-green); }.item-img {    width: 48px;    height: 48px;    min-width: 48px; /* prevent squishing */    border-radius: 12px;    object-fit: cover;    margin-right: 14px;    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);    border: 1px solid var(--overlay-light);    flex-shrink: 0;}/* -------------------- *//* MOBILE RESPONSIVE    *//* -------------------- */@media (max-width: 768px) {    .app-container {        flex-direction: column;    }    /* Convert Sidebar to Bottom Navigation */    .sidebar {        position: fixed;        bottom: 0;        left: 0;        transform: none;        width: 100%;        max-width: none;        height: auto;        margin: 0;        padding: 0;        padding-bottom: 8px;        padding-bottom: env(safe-area-inset-bottom, 8px);        flex-direction: row;        border-radius: 20px 20px 0 0;        z-index: 100;        background: var(--panel-bg);        border: 1px solid var(--panel-border);        border-bottom: none;        box-shadow: 0 -5px 20px rgba(0,0,0,0.3);        backdrop-filter: blur(16px);        -webkit-backdrop-filter: blur(16px);        overflow: visible !important;    }    .sidebar .logo {        display: none;     }    .desktop-user-profile {        display: none !important;    }    .sidebar-footer {        display: none;     }    .nav-menu {        flex-direction: row;        justify-content: space-between;        align-items: center;        width: 100%;        min-width: 100%;        padding-bottom: 15px; overflow: visible;        gap: 0;    }    .nav-item {        flex-direction: column;        gap: 6px;        padding: 8px 4px;        font-size: 11px;        border-radius: 16px;        flex: 1;        justify-content: center;        align-items: center;        text-align: center;        white-space: nowrap;        color: var(--text-secondary);        transition: all 0.1s linear;        font-weight: bold;    }    .nav-item i {        font-size: 24px;        transition: all 0.3s ease;        pointer-events: none;    }    .nav-item span {        font-size: 11px;    }    .nav-item.active {        border-left: none;        background: transparent;        color: var(--primary-color);    }    .nav-item:hover {        background: transparent;        color: var(--text-secondary);    }    .nav-item.active:hover {        color: var(--primary-color);    }    .nav-more-container {        position: relative;        display: flex;        flex: 1;    }    .nav-more-dropdown {        display: flex;        flex-direction: column;        position: absolute;        bottom: 100%;        right: 10px;        background: var(--header-bg);        border: 1px solid var(--panel-border);        margin-right: 5px;        border-radius: 12px;        padding: 8px 0;        box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.3);        z-index: 1002;        backdrop-filter: blur(20px);        -webkit-backdrop-filter: blur(20px);        min-width: 150px;        transform-origin: bottom right;        visibility: hidden;        opacity: 0;        transform: translateY(10px) scale(0.95);        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);        pointer-events: none;        overflow: hidden;    }    .nav-more-dropdown.show {        visibility: visible;        opacity: 1;        transform: translateY(0) scale(1);        pointer-events: auto;    }    .nav-more-dropdown .nav-item {        flex-direction: row;        justify-content: flex-start;        padding: 12px 20px;        border-top: none;        border-radius: 0;        font-size: 14px;    }    .nav-more-dropdown .nav-item.active {        border-top: none;        border-left: 3px solid var(--primary-color);        background: var(--overlay-light);    }    .main-content {        padding: 0 16px 16px 16px;        flex: 1;        min-height: 0;    }        .content-area {        padding-right: 0;        padding-top: 8px;    }    .top-bar {        position: sticky;        top: 0;        z-index: 99;        margin-top: 0;        margin-left: -16px;        margin-right: -16px;        width: calc(100% + 32px);        padding: 6px 16px 15px 6px;        border-radius: 0 0 12px 12px;        margin-bottom: 0px;        height: auto;        flex-direction: row;        flex-wrap: wrap;        gap: 5px;        align-items: center;        justify-content: space-between;        background: var(--header-bg);        backdrop-filter: blur(20px);        -webkit-backdrop-filter: blur(20px);        border-bottom: 1px solid var(--panel-border);    }        .user-profile {        display: flex !important;        position: absolute;        bottom: 2px;        left: 16px;        background: transparent;        padding: 0;        border: none;        box-shadow: none;        margin: 0;    }        .status-indicator {        display: flex;        align-items: center;        gap: 3px;        font-size: 10px;        font-weight: 400;        color: var(--text-secondary);        white-space: nowrap;    }    .mobile-logo-text {        display: flex !important;        align-items: center;        gap: 8px;        flex-shrink: 0;    }    .mobile-logo-text i {        font-size: 24px;    }    .mobile-logo-text h2 {        font-size: 20px;        font-weight: 700;        margin: 0;        background: linear-gradient(135deg, #000000 35%, var(--logo-text-color, var(--primary-color)) 100%);        -webkit-background-clip: text;        -webkit-text-fill-color: transparent;        transition: color 0.2s ease;    }    .mobile-logo-text h2.solid-color {        background: none !important;        -webkit-background-clip: unset !important;        -webkit-text-fill-color: var(--logo-text-color, var(--primary-color)) !important;        color: var(--logo-text-color, var(--primary-color)) !important;    }    [data-theme="dark"] .mobile-logo-text h2 {        background: linear-gradient(135deg, #ffffff 35%, var(--logo-text-color, var(--primary-color)) 100%);        -webkit-background-clip: text;        -webkit-text-fill-color: transparent;    }    [data-theme="dark"] .mobile-logo-text h2.solid-color {        background: none !important;        -webkit-background-clip: unset !important;        -webkit-text-fill-color: var(--logo-text-color, var(--primary-color)) !important;        color: var(--logo-text-color, var(--primary-color)) !important;    }        .mobile-profile-menu {        display: flex !important;        flex-shrink: 0;    }    .top-search-container {        width: 100% !important;        flex: 1 1 100%;        flex-direction: row;        align-items: center !important;        order: 3;    }    .search-bar {        width: 100%;        margin-left: 10px;    }    #company-switcher {        width: 100% !important;    }    .page-header {        flex-direction: column;        align-items: flex-start;        gap: 16px;    }    .header-actions {        width: 100%;        flex-direction: column;        align-items: stretch;    }    .outstanding-tabs {        width: 100%;        justify-content: space-between;        margin-right: 0 !important;        margin-bottom: 8px;    }    .outstanding-tab-btn {        flex: 1;        text-align: center;    }    .header-actions button#refresh-outstandings-btn {        width: 100% !important;        margin-right: 0 !important;    }    .toast {        top: auto;        left: 50%;        transform: translateX(-50%) translateY(100px);        width: max-content;        max-width: 90vw;        padding: 8px 16px;        font-size: 13px;        border-radius: 20px;    }        .toast.show {        transform: translateX(-50%) translateY(0);        margin-bottom: 35px;        opacity: 1;    }    .metrics-grid {        grid-template-columns: 1fr;    }        .login-card {        padding: 24px;    }    /* Make table fit mobile screens */    .table-container {        padding: 0;        border-radius: 0;        border-left: none;        border-right: none;        overflow-x: auto;    }    .data-table {        min-width: 100%;        width: 100%;        table-layout: auto;        font-size: 11px; /* Slightly smaller to help fit data */    }    .data-table th, .data-table td {        padding: 8px 4px; /* Tighter padding */        white-space: normal; /* Allow wrapping to fit screen */        word-break: break-word; /* Prevent long unbroken strings from overflowing */    }    .data-table th {        font-size: 10px;        letter-spacing: 0;    }        .financial-table td {        padding: 8px 4px;    }        .indent-1 {        padding-left: 12px !important;    }    .indent-2 {        padding-left: 20px !important;    }        /* Modals Mobile Optimization */    .modal-content {        width: 100vw !important;        height: 100vh !important;        max-width: none !important;        max-height: none !important;        padding: 20px 16px;        margin: 0 !important;        border-radius: 0 !important;        display: flex;        flex-direction: column;    }    .modal-body {        max-height: none !important;        flex: 1;        border-radius: 0 !important;    }    .modal-header h2 {        font-size: 18px !important;    }    /* Modal Form Group Wrapping */    .modal-body > div[style*="display: flex"] {        flex-direction: column;        gap: 8px !important;    }        .modal-body .form-group, .modal-body .search-bar {        width: 100%;        min-width: 100% !important;    }    /* Shrink PDF Previews */    #statement-modal-body, #ledger-statement-modal .modal-body {        padding: 12px !important;    }        #pdf-content-area, #ledger-pdf-content-area {        font-size: 10px !important;    }        #pdf-content-area table th,     #pdf-content-area table td,    #ledger-pdf-content-area table th,     #ledger-pdf-content-area table td {        padding: 4px 2px !important;        font-size: 10px !important;        word-break: break-word;    }    /* Mobile Card View for Inventory */    #inventory-tab .table-container {        padding: 0 !important;        background: transparent !important;        border: none !important;    }    #inventory-tab .data-table {        min-width: 100% !important; /* Reset horizontal scroll for this table */        width: 100% !important;        table-layout: fixed; /* Force table to respect width and prevent side scroll */        background: transparent;    }    #inventory-tab .data-table thead {        display: none; /* Hide header in card view */    }    #inventory-table-body tr.clickable-group-row {        display: grid;        grid-template-columns: 1fr auto auto;        grid-template-areas: "name qty chevron";        align-items: center;        background: var(--panel-bg);        backdrop-filter: blur(10px);        -webkit-backdrop-filter: blur(10px);        border-radius: 16px;        padding: 12px 16px;        margin-bottom: 12px;        position: relative;        border: 1px solid rgb(0 0 0 / 11%);        box-sizing: border-box;        width: 100%;        transition: transform 0.2s ease, background 0.2s ease;    }    body[data-role="admin"] #inventory-table-body tr.clickable-group-row {        grid-template-areas:            "name qty chevron"            "name rate chevron";        row-gap: 4px;    }    #inventory-table-body tr.clickable-group-row:active {        transform: scale(0.98);        background: var(--overlay-border);    }    #inventory-table-body td {        display: none; /* Hide all by default */        border: none;        padding: 0;        background: transparent !important;    }    #inventory-table-body td:nth-child(1) {        display: flex; /* Show Name & Image */        grid-area: name;        flex: 1;        overflow: visible; /* Changed from hidden to prevent icon clipping */        min-width: 0; /* Important to allow text-overflow in flex children */    }        .item-name {        white-space: normal;        word-break: break-word;        font-size: 15px;        font-weight: 500;        line-height: 1.3;        color: var(--text-primary);        display: -webkit-box;        -webkit-line-clamp: 3;        -webkit-box-orient: vertical;        overflow: hidden;    }    #inventory-table-body td.mobile-qty {        display: flex; /* Show Quantity */        grid-area: qty;        justify-self: end;        align-self: end;        align-items: center;        justify-content: center;        background: rgba(16, 185, 129, 0.1);        color: #34d399 !important;        padding: 4px 0px 10px 10px;        border-radius: 20px;        font-weight: 600;        font-size: 13px;        margin-left: 0;        white-space: nowrap;        flex-shrink: 0;    }    #inventory-table-body td.mobile-qty.negative-qty {        background: rgba(239, 68, 68, 0.1);        color: #ef4444 !important;    }    #inventory-table-body td.mobile-rate {        display: block; /* Show Rate */        grid-area: rate;        justify-self: end;        align-self: start;        margin-left: 0;        font-size: 13px;        font-weight: 500;        color: var(--text-secondary);        white-space: nowrap;        flex-shrink: 0;    }    #inventory-table-body td.mobile-chevron {        display: flex; /* Show Chevron */        grid-area: chevron;        align-items: center;        justify-content: center;        margin-left: 10px;        color: var(--text-secondary);        flex-shrink: 0;    }}/* Print/PDF specific optimizations */#pdf-table-body tr, #ledger-pdf-table-body tr {    page-break-inside: avoid;}.pdf-print-only {    display: none !important;}body[data-role="sales"] .admin-only {    display: none !important;}body[data-username="shop24"] .admin-only,body[data-username="shop56"] .admin-only {    display: none !important;}#inventory-breadcrumb {    position: sticky;    top: -1px;    z-index: 90;    background: rgba(15, 23, 42, 0.85) !important;    backdrop-filter: blur(16px) !important;    -webkit-backdrop-filter: blur(16px) !important;    border-bottom: 1px solid var(--panel-border);}@media (max-width: 768px) {    #inventory-breadcrumb {        top: 0px;    }}/* Fix dropdown clipping in tables */#users-tab .table-container {    overflow: visible !important;}/* Filter Chips */.filter-chip {    background: rgb(143 143 143);    border: 1px solid rgba(255, 255, 255, 0.1);    color: #212222;    padding: 6px 14px;    border-radius: 20px;    font-size: 12px;    font-weight: 500;    cursor: pointer;    transition: all 0.2s ease;    white-space: nowrap;}.filter-chip:hover {    background: rgba(255, 255, 255, 0.1);    color: var(--text-primary);}.filter-chip.active {    background: var(--primary-color);    color: white;    border-color: var(--primary-color);    box-shadow: 0 0 10px rgba(37, 99, 235, 0.3);}@media (max-width: 768px) {    /* Item Details Table (Vouchers) Mobile Card View */    #item-details-table {        display: block;        width: 100%;    }    #item-details-table thead {        display: none;    }    #item-details-table-body {        display: flex;        flex-direction: column;        width: 100%;        box-sizing: border-box;        gap: 12px;        padding: 12px 0;    }    #item-details-table-body tr {        display: grid;        grid-template-columns: 1fr auto;        grid-template-areas:             "party qty"            "date rate"            "type value";        row-gap: 4px;        align-items: center;        background: var(--panel-bg);        backdrop-filter: blur(10px);        -webkit-backdrop-filter: blur(10px);        border-radius: 16px;        padding: 12px 16px;        border: 1px solid rgb(0 0 0 / 13%);        /* box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); */        width: 100%;        box-sizing: border-box;    }        #item-details-table-body td {        display: flex;        padding: 0;        border: none;        background: transparent !important;    }        #item-details-table-body td:nth-child(1) { /* Date */        grid-area: date;        font-size: 13px;        color: var(--text-secondary);    }    #item-details-table-body td:nth-child(2) { /* Type */        grid-area: type;    }    #item-details-table-body td:nth-child(3) { /* Party */        grid-area: party;        white-space: normal;        word-break: break-word;        font-size: 15px;        font-weight: 500;        line-height: 1.3;        color: var(--text-primary);        display: -webkit-box;        -webkit-line-clamp: 3;        -webkit-box-orient: vertical;        overflow: hidden;    }    #item-details-table-body td:nth-child(4) { /* Qty */        grid-area: qty;        justify-self: end;        align-items: center;        justify-content: center;        background: rgba(16, 185, 129, 0.1);        padding: 4px 10px;        border-radius: 20px;        font-weight: 600;        font-size: 13px;        white-space: nowrap;    }        #item-details-table-body td:nth-child(4)[style*="--accent-blue"] {        background: rgba(59, 130, 246, 0.1);    }    #item-details-table-body td:nth-child(4)[style*="--accent-red"] {        background: rgba(239, 68, 68, 0.1);    }    #item-details-table-body td:nth-child(5) { /* Rate */        grid-area: rate;        justify-self: end;        font-size: 13px;        color: var(--text-secondary);    }    #item-details-table-body td:nth-child(6) { /* Value */        grid-area: value;        justify-self: end;        font-weight: 600;        font-size: 14px;        color: var(--text-primary);    }        #item-details-table-body td.empty-row {        grid-column: 1 / -1;        justify-content: center;        text-align: center;        padding: 20px;        display: flex;    }}@media (max-width: 768px) {    /* Outstandings Table Mobile Card View */    #outstandings-table {        display: block;        width: 100%;    }    #outstandings-table thead {        display: none;    }    #outstandings-table-body {        display: flex;        flex-direction: column;        width: 100%;        box-sizing: border-box;        gap: 12px;    }    #outstandings-table-body tr {        display: grid;        grid-template-columns: 1fr auto;        grid-template-areas:             "party action"            "refno amt"            "date  amt"            "due   due";        row-gap: 4px;        align-items: center;        background: var(--panel-bg);        backdrop-filter: blur(10px);        -webkit-backdrop-filter: blur(10px);        border-radius: 16px;        padding: 12px 16px;        border: 1px solid rgb(0 0 0 / 11%);        width: 100%;        box-sizing: border-box;    }    #outstandings-table-body td {        display: flex;        padding: 0;        border: none;        background: transparent !important;    }    #outstandings-table-body td:nth-child(1) { /* Date */        grid-area: date;        font-size: 13px;        color: var(--text-primary);    }    #outstandings-table-body td:nth-child(1)::before {        content: "Date: ";        margin-right: 4px;        font-weight: 500;        color: var(--text-secondary);    }    #outstandings-table-body td:nth-child(2) { /* Ref No */        grid-area: refno;        font-size: 13px;        color: var(--text-primary);    }    #outstandings-table-body td:nth-child(2)::before {        content: "Ref No.: ";        margin-right: 4px;        font-weight: 500;        color: var(--text-secondary);    }    #outstandings-table-body td:nth-child(3) { /* Party */        grid-area: party;        white-space: normal;        word-break: break-word;        font-size: 15px;        font-weight: 500;        line-height: 1.3;        color: var(--text-primary);        display: -webkit-box;        -webkit-line-clamp: 3;        -webkit-box-orient: vertical;        overflow: hidden;    }    #outstandings-table-body td:nth-child(4) { /* Amount */        grid-area: amt;        justify-self: end;        font-weight: 600;        font-size: 14px;        display: flex;        flex-direction: column;        align-items: flex-end;        text-align: right;    }    #outstandings-table-body td:nth-child(4)::before {        content: "Amount";        font-size: 11px;        font-weight: 400;        color: var(--text-secondary);        margin-bottom: 2px;    }    #outstandings-table-body td:nth-child(5) { /* Due On */        grid-area: due;        font-size: 13px;        color: var(--text-primary);    }    #outstandings-table-body td:nth-child(5)::before {        content: "Due Date: ";        margin-right: 4px;        font-weight: 500;        color: var(--text-secondary);    }    #outstandings-table-body td:nth-child(6) { /* Actions */        grid-area: action;        justify-self: end;    }    #outstandings-table-body td.empty-row {        grid-column: 1 / -1;        justify-content: center;        text-align: center;        padding: 20px;        display: flex;    }    /* Parties Table Mobile Card View */    #parties-table {        display: block;        width: 100%;    }    #parties-table thead {        display: none;    }    #parties-table-body {        display: flex;        flex-direction: column;        width: 100%;        box-sizing: border-box;        gap: 12px;    }    #parties-table-body tr {        display: grid;        grid-template-columns: 1fr auto;        grid-template-areas:             "name bal"            "group action";        row-gap: 4px;        align-items: center;        background: var(--panel-bg);        backdrop-filter: blur(10px);        -webkit-backdrop-filter: blur(10px);        border-radius: 16px;        padding: 12px 16px;        border: 1px solid rgb(0 0 0 / 11%);        width: 100%;        box-sizing: border-box;    }    #parties-table-body td {        display: flex;        padding: 0;        border: none;        background: transparent !important;    }    #parties-table-body td:nth-child(1) { /* Party Name */        grid-area: name;        font-weight: 500;        font-size: 15px;        color: var(--text-primary);    }    #parties-table-body td:nth-child(2) { /* Group */        grid-area: group;    }    #parties-table-body td:nth-child(3) { /* Balance */        grid-area: bal;        justify-self: end;        font-weight: 600;        font-size: 14px;        display: flex;        flex-direction: column;        align-items: flex-end;        text-align: right;    }    #parties-table-body td:nth-child(3)::before {        content: "Closing Balance";        font-size: 11px;        font-weight: 400;        color: var(--text-secondary);        margin-bottom: 2px;    }    #parties-table-body td:nth-child(4) { /* Actions */        grid-area: action;        justify-self: end;    }    #parties-table-body td.empty-row {        grid-column: 1 / -1;        justify-content: center;        text-align: center;        padding: 20px;        display: flex;    }    #users-tab .data-table thead {        display: none;    }    #users-table-body {        display: flex;        flex-direction: column;        width: 100%;        box-sizing: border-box;        gap: 12px;    }    #users-table-body tr {        display: grid;        grid-template-columns: 1fr auto auto;        grid-template-areas:             "username sales action"            "role role role";        row-gap: 4px;        align-items: center;        background: var(--panel-bg);        backdrop-filter: blur(10px);        -webkit-backdrop-filter: blur(10px);        border-radius: 16px;        padding: 12px 16px;        border: 1px solid rgb(0 0 0 / 11%);        width: 100%;        box-sizing: border-box;    }    #users-table-body td {        display: flex;        padding: 0;        border: none;        background: transparent !important;    }    #users-table-body td:nth-child(1) { /* Username */        grid-area: username;        font-weight: 500;        font-size: 15px;        color: var(--text-primary);    }    #users-table-body td:nth-child(2) { /* Role */        grid-area: role;        font-size: 13px;        color: var(--primary-color);        background: var(--primary-color-light);        padding: 4px 8px;        border-radius: 8px;        width: max-content;        margin-top: 4px;        font-weight: 500;    }    #users-table-body td:nth-child(3) { /* Sales */        grid-area: sales;        justify-self: end;        padding-right: 8px;        align-items: flex-end;        flex-direction: column;        justify-content: center;        gap: 2px;    }    #users-table-body td:nth-child(3)::before {        content: 'Current Monthly Sale';        font-size: 10px;        color: var(--text-secondary);        font-weight: 400;        text-transform: uppercase;        letter-spacing: 0.5px;    }    #users-table-body td:nth-child(4) { /* Actions */        grid-area: action;        justify-self: end;        align-items: center;    }    #users-table-body td.empty-row {        grid-column: 1 / -1;        justify-content: center;        text-align: center;        padding: 20px;        display: flex;    }    /* Monthly Sales Modal Mobile Card View */    #monthly-sales-table {        display: block;        width: 100%;    }    #monthly-sales-table thead {        display: none;    }    #monthly-sales-table-body {        display: flex;        flex-direction: column;        width: 100%;        box-sizing: border-box;        gap: 12px;    }    #monthly-sales-table-body tr {        display: flex;        justify-content: space-between;        align-items: center;        background: var(--panel-bg);        backdrop-filter: blur(10px);        -webkit-backdrop-filter: blur(10px);        border-radius: 16px;        padding: 12px 16px;        border: 1px solid rgb(0 0 0 / 13%);        /* box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); */        width: 100%;        box-sizing: border-box;    }    #monthly-sales-table-body td {        display: flex;        padding: 0;        border: none;        background: transparent !important;    }    #monthly-sales-table-body td:nth-child(1) { /* Party Name */        font-size: 15px;        font-weight: 500;        color: var(--text-primary);        flex: 1;        word-break: break-word;    }    #monthly-sales-table-body td:nth-child(2) { /* Amount */        font-weight: 600;        font-size: 14px;        white-space: nowrap;        margin-left: 12px;    }    #monthly-sales-table-body td.empty-row {        justify-content: center;        text-align: center;        width: 100%;        padding: 20px;    }}@media (max-width: 768px) {    #outstandings-tab .table-container,    #parties-tab .table-container,    #users-tab .table-container {        background: transparent !important;        border: none !important;        box-shadow: none !important;        padding: 0 !important;        backdrop-filter: none !important;        -webkit-backdrop-filter: none !important;    }}/* iOS Toggle Switch */.ios-switch {    position: relative;    display: inline-block;    width: 48px;    height: 28px;    flex-shrink: 0;}.ios-switch input {    opacity: 0;    width: 0;    height: 0;}.ios-slider {    position: absolute;    cursor: pointer;    top: 0;    left: 0;    right: 0;    bottom: 0;    background-color: var(--overlay-light);    transition: .3s;    border-radius: 28px;}.ios-slider:before {    position: absolute;    content: "";    height: 24px;    width: 24px;    left: 2px;    bottom: 2px;    background-color: white;    transition: .3s;    border-radius: 50%;    box-shadow: 0 2px 4px rgba(0,0,0,0.2);}input:checked + .ios-slider {    background-color: var(--primary-color);}input:checked + .ios-slider:before {    transform: translateX(20px);}@media (min-width: 769px) {    #top-user-icon, #top-username-display {        display: none !important;    }}.filter-row {    display: flex;    gap: 12px;    margin-bottom: 20px;    flex-wrap: wrap;    background: var(--overlay-light);    padding: 12px;    border-radius: 8px;}[data-theme="dark"] .filter-row {    background: rgb(120 120 120 / 20%);}[data-theme="dark"] .top-bar {    background: var(--panel-bg);}#aging-summary-container {    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), margin 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);    max-height: 1000px;    opacity: 1;    transform: scaleY(1);    transform-origin: top;    overflow: hidden;}#aging-summary-container.hide-animated {    max-height: 0;    opacity: 0;    margin-bottom: 0 !important;    transform: scaleY(0);}#mobile-profile-dropdown {    display: flex;    flex-direction: column;    position: absolute;    right: 0;    top: 100%;    margin-top: 8px;    background: var(--header-bg);    border: 1px solid var(--panel-border);    border-radius: 12px;    min-width: 160px;    z-index: 1002;    /* box-shadow: rgba(0, 0, 0, 0.3) -3px 10px 20px; */    backdrop-filter: blur(20px);    -webkit-backdrop-filter: blur(20px);    padding: 8px 0;    overflow: hidden;    transform-origin: top right;    visibility: hidden;    opacity: 0;    transform: translateY(-10px) scale(0.95);    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);    pointer-events: none;}#mobile-profile-dropdown.show {    visibility: visible;    opacity: 1;    transform: translateY(0) scale(1);    pointer-events: auto;}.dropdown-overlay {    position: fixed;    top: 0;    left: 0;    width: 100vw;    height: 100vh;    background: transparent;    z-index: 99; /* Below sidebar (100) to allow sidebar clicks, we'll intercept them in JS */    display: none;}.dropdown-overlay.show {    display: block;}#aging-summary-container {    transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1), margin-bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1);    max-height: 500px;    overflow: hidden;    opacity: 1;}#aging-summary-container.hidden-by-search {    max-height: 0;    opacity: 0;    margin-bottom: 0 !important;}/* Modal Native App Animations */.modal-overlay {    opacity: 0;    visibility: hidden;    transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.3s cubic-bezier(0.25, 1, 0.5, 1);}.modal-overlay.show {    opacity: 1;    visibility: visible;}.modal-content {    transform: translateY(100px);    opacity: 0;    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1);}.modal-overlay.show .modal-content {    transform: translateY(0);    opacity: 1;}/* Logo visibility based on theme */.app-logo { display: none; }html:not([data-theme="dark"]) .light-mode-logo { display: inline-block; }html[data-theme="dark"] .dark-mode-logo { display: inline-block; }.sidebar .logo .app-logo {    width: 35px !important;    height: 35px !important;}/* Beautiful Floating Install Banner */.pwa-install-banner {    display: none; /* Hidden by default */    position: fixed;    bottom: 24px;    left: 50%;    transform: translateX(-50%);    width: calc(100% - 32px);    max-width: 400px;    background: rgba(255, 255, 255, 0.95);    backdrop-filter: blur(16px);    -webkit-backdrop-filter: blur(16px);    border: 1px solid rgba(0, 0, 0, 0.08);    border-radius: 20px;    padding: 12px 14px;    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0,0,0,0.05);    z-index: 9999;    align-items: center;    gap: 12px;    animation: slideUpFade 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;}[data-theme="dark"] .pwa-install-banner {    background: rgba(30, 30, 30, 0.92);    border: 1px solid rgba(255, 255, 255, 0.12);    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255,255,255,0.05);}.pwa-banner-app-icon, .pwa-install-banner img {    display: block !important;    width: 44px !important;    height: 44px !important;    border-radius: 11px !important;    object-fit: cover !important;    box-shadow: 0 3px 10px rgba(0,0,0,0.12) !important;    border: 1px solid rgba(0, 0, 0, 0.08) !important;    flex-shrink: 0 !important;    background: #ffffff !important;}.pwa-install-banner-text {    flex: 1;    min-width: 0;}.pwa-install-banner-text h4 {    margin: 0;    font-size: 15px;    font-weight: 700;    color: var(--text-primary);    white-space: nowrap;    overflow: hidden;    text-overflow: ellipsis;}.pwa-install-banner-text p {    margin: 2px 0 0;    font-size: 12.5px;    color: var(--text-secondary);    white-space: nowrap;    overflow: hidden;    text-overflow: ellipsis;}.pwa-install-btn {    background: var(--primary-color);    color: white;    border: none;    padding: 9px 18px;    border-radius: 20px;    font-weight: 600;    font-size: 13.5px;    cursor: pointer;    box-shadow: 0 4px 12px rgba(0, 112, 255, 0.25);    transition: transform 0.2s, box-shadow 0.2s;    flex-shrink: 0;    margin-right: 18px;}.pwa-install-btn:active {    transform: scale(0.95);}.pwa-close-btn {    position: absolute;    top: 7px;    right: 8px;    background: rgba(0, 0, 0, 0.06);    border: 1px solid rgba(0, 0, 0, 0.08);    color: var(--text-secondary);    width: 24px;    height: 24px;    cursor: pointer;    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    font-size: 13px;    z-index: 10;    transition: background 0.2s, color 0.2s;}.pwa-close-btn:hover {    background: rgba(0, 0, 0, 0.12);    color: var(--text-primary);}[data-theme="dark"] .pwa-close-btn {    background: rgba(255, 255, 255, 0.1);    border: 1px solid rgba(255, 255, 255, 0.15);    color: var(--text-secondary);}[data-theme="dark"] .pwa-close-btn:hover {    background: rgba(255, 255, 255, 0.2);    color: var(--text-primary);}@keyframes slideUpFade {    0% { opacity: 0; transform: translate(-50%, 20px); }    100% { opacity: 1; transform: translate(-50%, 0); }}/* Native App Feel - Disable Mobile Tap Highlight & Selection */* {    -webkit-tap-highlight-color: transparent;}body {    -webkit-touch-callout: none; /* iOS Safari */    -webkit-user-select: none; /* Safari */     -khtml-user-select: none; /* Konqueror HTML */       -moz-user-select: none; /* Old versions of Firefox */        -ms-user-select: none; /* Internet Explorer/Edge */            user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */}/* Allow text selection in inputs and textareas */input, textarea {    -webkit-user-select: auto !important;     -khtml-user-select: auto !important;       -moz-user-select: auto !important;        -ms-user-select: auto !important;            user-select: auto !important;}/* --- OFFLINE SCREEN --- */.offline-wrapper {    position: fixed;    top: 0;    left: 0;    width: 100vw;    height: 100vh;    background: var(--bg-color);    z-index: 9999;    display: flex;    align-items: center;    justify-content: center;    flex-direction: column;    text-align: center;    padding: 20px;    animation: fadeIn 0.3s ease;}.offline-wrapper i {    font-size: 64px;    color: #ff4d4d;    margin-bottom: 20px;}.offline-wrapper h3 {    font-size: 24px;    color: var(--text-primary);    margin-bottom: 10px;}.offline-wrapper p {    color: var(--text-secondary);    margin-bottom: 30px;    font-size: 14px;    max-width: 300px;}.dropdown-content::before {    content: "";    position: absolute;    top: -6px;    right: 12px;    width: 10px;    height: 10px;    background: var(--header-bg);    border-top: 1px solid var(--panel-border);    border-left: 1px solid var(--panel-border);    transform: rotate(45deg);    border-radius: 2px;    z-index: -1;}.dropdown-content a:first-of-type,.dropdown-content button:first-of-type {    border-top-left-radius: 8px;    border-top-right-radius: 8px;}.dropdown-content a:last-of-type,.dropdown-content button:last-of-type {    border-bottom-left-radius: 8px;    border-bottom-right-radius: 8px;}@media (max-width: 768px) {    /* Monthly Sales Mobile Card View */    #monthly-sales-table {        display: block;        width: 100%;    }    #monthly-sales-table thead {        display: none;    }    #monthly-sales-table-body {        display: flex;        flex-direction: column;        width: 100%;        box-sizing: border-box;        gap: 12px;        padding: 12px 0;    }    #monthly-sales-table-body tr {        display: grid;        grid-template-columns: 1fr auto;        grid-template-areas:             "party amt";        row-gap: 4px;        align-items: center;        background: var(--panel-bg);        backdrop-filter: blur(10px);        -webkit-backdrop-filter: blur(10px);        border-radius: 16px;        padding: 16px;        border: 1px solid rgb(0 0 0 / 13%);        width: 100%;        box-sizing: border-box;    }    #monthly-sales-table-body td {        display: flex;        padding: 0;        border: none;        background: transparent !important;    }    #monthly-sales-table-body td:nth-child(1) { /* Party */        grid-area: party;        font-size: 15px;        font-weight: 600;        color: var(--text-primary);    }    #monthly-sales-table-body td:nth-child(2) { /* Amount */        grid-area: amt;        font-size: 15px;        font-weight: 600;        text-align: right;        justify-content: flex-end;    }    #monthly-sales-modal .table-container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    
    /* Voucher Register Mobile Card View */
    #voucher-register-table { display: block; width: 100%; }
    #voucher-register-table thead { display: none; }
    #voucher-register-table-body {
        display: flex; flex-direction: column; width: 100%;
        box-sizing: border-box; gap: 12px; padding: 12px 0;
    }
    #voucher-register-table-body tr {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas: 
            "party party"
            "ref amt"
            "date amt";
        row-gap: 4px;
        align-items: center;
        background: var(--panel-bg);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-radius: 16px;
        padding: 16px;
        border: 1px solid rgb(0 0 0 / 13%);
        width: 100%;
        box-sizing: border-box;
    }
    #voucher-register-table-body tr.no-click-row {
        cursor: default !important;
    }
    #voucher-register-table-body td {
        display: flex; padding: 0; border: none; background: transparent !important; align-items: center;
    }
    #voucher-register-table-body td:nth-child(1) { /* Date */
        grid-area: date; font-size: 13px; color: var(--text-secondary);
    }
    #voucher-register-table-body td:nth-child(1)::before {
        content: "Date: "; margin-right: 4px;
    }
    #voucher-register-table-body td:nth-child(2) { /* Ref No */
        grid-area: ref; font-size: 13px; color: var(--text-secondary);
    }
    #voucher-register-table-body td:nth-child(2)::before {
        content: "Ref No.: "; margin-right: 4px;
    }
    #voucher-register-table-body td:nth-child(3) { /* Party + Type */
        grid-area: party; font-size: 15px; font-weight: 600; color: var(--text-primary);
        flex-direction: column; align-items: flex-start; margin-bottom: 8px;
    }
    #voucher-register-table-body td:nth-child(4) { /* Amount */
        grid-area: amt; font-size: 15px; font-weight: 600; text-align: right; justify-content: flex-end; align-items: flex-end; flex-direction: column;
    }
    #voucher-register-table-body td:nth-child(4)::before {
        content: "Amount"; font-size: 12px; color: var(--text-secondary); font-weight: normal; margin-bottom: 2px;
    }
}
/* Inventory Folder Filters */
.folder-filter-btn {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    padding: 8px 16px;
    border-radius: 8px;
    font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: 0px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
.folder-filter-btn:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-primary);
}
.folder-filter-btn.active {
    background: var(--primary-color);
    color: var(--text-primary);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
.folder-filter-btn.active i {
    color: var(--text-primary) !important;
}

.folder-filter-toggle-btn {
    background: transparent;
    border: 1px solid var(--panel-border);
    color: var(--text-secondary);
    padding: 8px 16px;
    border-radius: 8px;
    font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: 0px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    display: none; /* Hidden on desktop */
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
.folder-filter-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-primary);
}
.folder-filter-toggle-btn.active {
    background: var(--primary-color);
    color: var(--text-primary);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
    border-color: var(--primary-color);
}
.folder-filter-toggle-btn.active i {
    color: var(--text-primary) !important;
}

@media (max-width: 768px) {
    #inventory-filters {
        /* On mobile, use grid for exact 2-column layout */
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        position: relative;
        padding-right: 0; 
        align-items: start;
        margin-bottom: 16px !important;
    }

    #inventory-filters .folder-filter-btn {
        /* Stop text from overflowing the button */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        justify-content: flex-start;
        padding: 8px 8px; /* Reduced horizontal padding to fit text */
        min-width: 0; /* Ensure flex grid children can shrink */
        font-size: clamp(12.5px, 3.5vw, 14px); /* Increased minimum size for better readability */
        letter-spacing: -0.1px; /* Relaxed letter spacing */
        gap: 6px; /* Reduce gap between icon and text */
    }

    #inventory-filters .folder-filter-btn i {
        font-size: clamp(16px, 4.5vw, 18px) !important; /* Scale icon slightly to match bigger text */
    }

    /* Set default orders for mobile 2-column grid */
    #inventory-filters .folder-filter-btn[data-filter="all"] {
        order: 1;
    }
    #mobile-more-btn {
        order: 2;
        width: 100%;
        justify-content: center;
        display: inline-flex;
    }
    #inventory-filters .folder-filter-btn.active:not([data-filter="all"]) {
        order: 3;
    }
    #inventory-filters .folder-filter-btn:not(.active):not([data-filter="all"]) {
        order: 4;
    }

    /* Collapsed state rules using max-height for animation */
    #inventory-filters {
        overflow: hidden;
        max-height: 1000px; /* Expanded state */
        transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    #inventory-filters.collapsed {
        max-height: 42px; /* Roughly the height of one row of buttons */
    }

    #mobile-filter-toggle-icon {
        transition: transform 0.3s ease;
    }

    #mobile-filter-toggle-icon.expanded {
        transform: rotate(180deg);
    }
}

/* Shimmer Loading Animation */
@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}

.shimmer-row td {
    padding: 16px !important;
}

@media (max-width: 768px) {
    #parties-table-body .shimmer-row td,
    #outstandings-table-body .shimmer-row td {
        padding: 4px 0 !important;
    }
}

.shimmer-cell {
    height: 16px;
    background: #f6f7f8;
    background-image: linear-gradient(to right, #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%);
    background-repeat: no-repeat;
    background-size: 1000px 100%; 
    animation-duration: 1.5s;
    animation-fill-mode: forwards; 
    animation-iteration-count: infinite;
    animation-name: shimmer;
    animation-timing-function: linear;
    border-radius: 4px;
}

[data-theme="dark"] .shimmer-cell {
    background: #1e1e1e;
    background-image: linear-gradient(to right, #1e1e1e 0%, #2d2d2d 20%, #1e1e1e 40%, #1e1e1e 100%);
}

/* Fleet Logs Shimmer Skeleton */
.fleet-shimmer-card {
    pointer-events: none;
    opacity: 0.95;
    background: var(--panel-bg);
}
.fleet-shimmer-block {
    background: #f6f7f8;
    background-image: linear-gradient(to right, #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%);
    background-repeat: no-repeat;
    background-size: 1000px 100%;
    animation: shimmer 1.5s infinite linear;
    border-radius: 6px;
    display: block;
}
[data-theme="dark"] .fleet-shimmer-block {
    background: #1e1e1e;
    background-image: linear-gradient(to right, #1e1e1e 0%, #2d2d2d 20%, #1e1e1e 40%, #1e1e1e 100%);
}

/* Hide number input spin buttons */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}

* { -ms-overflow-style: none !important; scrollbar-width: none !important; } *::-webkit-scrollbar { display: none !important; }

.modal-content .data-table { min-width: 100% !important; }
@media (max-width: 768px) {
    .top-bar {
        position: sticky;
        top: 0;
        z-index: 99;
        margin-top: 0;
        margin-left: -16px;
        margin-right: -16px;
        width: calc(100% + 32px);
        padding: 6px 16px 15px 6px;
        margin-bottom: 0px;
        height: auto;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 5px;
        align-items: center;
        justify-content: space-between;
        background: var(--header-bg);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-bottom: 1px solid var(--panel-border);
        box-shadow: var(--glass-shadow);
    }
}
@media (max-width: 768px) {
    .nav-section-title,
    .desktop-user-card,
    .desktop-top-theme-wrap,
    #theme-toggle {
        display: none !important;
    }
    .sidebar {
        position: fixed;
        bottom: 0;
        left: 0;
        transform: none;
        width: 100%;
        max-width: none;
        height: auto;
        margin: 0;
        padding: 0;
        padding-bottom: 8px;
        padding-bottom: env(safe-area-inset-bottom, 8px);
        flex-direction: row;
        border-radius: 20px 20px 0 0;
        z-index: 100;
        background: var(--panel-bg);
        border: 1px solid var(--panel-border);
        border-bottom: none; 
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        overflow: visible !important;
    }
}



/* Strictly hide all admin-only elements for non-admin roles */
html:not([data-role="admin"]) .admin-only,
body:not([data-role="admin"]) .admin-only,
html[data-role="sales"] .admin-only,
body[data-role="sales"] .admin-only,
html[data-role="shop"] .admin-only,
body[data-role="shop"] .admin-only,
html[data-role="driver"] .admin-only,
body[data-role="driver"] .admin-only,
html[data-role="user"] .admin-only,
body[data-role="user"] .admin-only,
html:not([data-role="admin"]) #dash-inv-val-card,
body:not([data-role="admin"]) #dash-inv-val-card {
    display: none !important;
}

@media (max-width: 768px) {
    body[data-role='shop'] .sidebar {
        display: none !important;
    }
    body[data-role='shop'] .content-area {
        padding-bottom: 16px !important;
    }
}

/* --- Inventory Grid View (Shop Role) --- */
body[data-role='shop'].inventory-grid-view #inventory-table thead {
    display: none;
}
body[data-role='shop'].inventory-grid-view #inventory-table-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 8px 0;
}
@media (min-width: 500px) {
    body[data-role='shop'].inventory-grid-view #inventory-table-body {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (min-width: 768px) {
    body[data-role='shop'].inventory-grid-view #inventory-table-body {
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
        gap: 16px;
    }
}

body[data-role='shop'].inventory-grid-view #inventory-table-body tr {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    border: 1px solid var(--panel-border);
    overflow: hidden;
    position: relative;
    padding: 0;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    height: 150px; 
}
[data-theme="dark"] body[data-role='shop'].inventory-grid-view #inventory-table-body tr {
    background: var(--bg-dark);
}

body[data-role='shop'].inventory-grid-view #inventory-table-body td {
    border: none !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Image container */
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(1) > div {
    display: block !important; 
    height: 100%;
}
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(1) .img-wrapper {
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    background: transparent !important;
    margin: 0 !important;
}
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(1) .img-wrapper img {
    object-fit: cover !important;
    border-radius: 0 !important;
}

/* Item Name Overlay */
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(1) strong.item-name {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 2px 10px 10px 5px;
    box-sizing: border-box;
    font-size: 12px;
    line-height: 1.2;
    background: linear-gradient(to top, rgba(255, 255, 255, 1) 70%, rgba(255, 255, 255, 0));
    color: #000;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    z-index: 2;
    padding-right: 48px;
}
[data-theme="dark"] body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(1) strong.item-name {
    background: linear-gradient(to top, var(--bg-dark) 70%, transparent);
    color: var(--text-primary);
}

/* Quantity */
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(3) {
    position: absolute;
    bottom: 8px;
    right: 8px;
    font-size: 11px;
    z-index: 3;
    font-weight: 600 !important;
}

/* Hide other table cells */
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(2),
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(4),
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(5),
body[data-role='shop'].inventory-grid-view #inventory-table-body td:nth-child(6) {
    display: none !important;
}







/* Chart Bar Animation */
@keyframes growBar {
    from {
        transform: scaleY(0);
        opacity: 0;
    }
    to {
        transform: scaleY(1);
        opacity: 1;
    }
}
.chart-bar-animate {
    transform-origin: bottom;
    animation: growBar 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes fadeChartText {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.chart-text-animate {
    animation: fadeChartText 0.5s ease-out forwards;
}

/* Fluid Liquid Wave Chart Animations & Responsive Bar Chart */
@keyframes fluidWaveGrow {
    0% {
        transform: scaleY(0.04);
        opacity: 0.2;
    }
    30% {
        opacity: 1;
    }
    85% {
        transform: scaleY(1.018);
    }
    100% {
        transform: scaleY(1);
        opacity: 1;
    }
}

@keyframes fluidTextFloat {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    35% {
        opacity: 0.35;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.chart-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 0;
    justify-content: flex-end;
    padding: 0 1px;
}

.chart-val-container {
    height: 18px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    margin-bottom: 4px;
}

.chart-val-txt {
    font-size: clamp(6.2px, 1.85vw, 10.5px);
    letter-spacing: -0.4px;
    color: var(--text-primary);
    font-weight: 700;
    white-space: nowrap;
    text-align: center;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    display: inline-block;
}

.chart-bar-butter {
    transform-origin: bottom center;
    will-change: transform;
    animation: fluidWaveGrow 0.95s cubic-bezier(0.25, 1, 0.45, 1) both;
    width: 100%;
    max-width: clamp(12px, 2.5vw, 28px);
    border-radius: 4px 4px 0 0;
}

.chart-bar-static {
    width: 100%;
    max-width: clamp(12px, 2.5vw, 28px);
    border-radius: 4px 4px 0 0;
    transition: height 0.35s ease, background-color 0.2s ease;
}

.chart-text-butter {
    transform-origin: bottom center;
    will-change: transform, opacity;
    animation: fluidTextFloat 0.85s cubic-bezier(0.25, 1, 0.45, 1) both;
}

.chart-month-txt {
    font-size: clamp(7px, 1.9vw, 9.5px);
    font-weight: 600;
    color: var(--text-secondary);
    text-align: center;
    white-space: nowrap;
    line-height: 1.1;
}

.chart-year-txt {
    font-size: clamp(6px, 1.6vw, 8px);
    color: var(--text-secondary);
    opacity: 0.75;
    font-family: monospace;
    text-align: center;
    white-space: nowrap;
    line-height: 1.1;
}

@media (max-width: 380px) {
    .chart-val-txt {
        font-size: 6.2px;
        letter-spacing: -0.5px;
    }
    .chart-bar-butter, .chart-bar-static {
        max-width: 16px;
    }
}

@media (min-width: 381px) and (max-width: 500px) {
    .chart-val-txt {
        font-size: 7.2px;
        letter-spacing: -0.4px;
    }
    .chart-bar-butter, .chart-bar-static {
        max-width: 20px;
    }
}

@media (min-width: 768px) {
    .chart-val-container {
        height: 22px;
        margin-bottom: 6px;
    }
    .chart-val-txt {
        font-size: 10.5px;
        letter-spacing: -0.2px;
    }
    .chart-bar-butter, .chart-bar-static {
        max-width: 34px;
        border-radius: 6px 6px 0 0;
    }
    .chart-month-txt {
        font-size: 10px;
    }
    .chart-year-txt {
        font-size: 8.5px;
    }
}

/* Timeframe Selector Pill Buttons */
.chart-timeframe-selector {
    display: inline-flex;
    background: var(--overlay-light, rgba(255, 255, 255, 0.05));
    border: 1px solid var(--overlay-border, rgba(255, 255, 255, 0.08));
    border-radius: 8px;
    padding: 2px;
    gap: 2px;
}

.chart-tf-btn {
    background: transparent;
    border: none;
    outline: none;
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    line-height: 1.2;
    -webkit-tap-highlight-color: transparent;
}

.chart-tf-btn:hover {
    color: var(--text-primary);
    background: var(--overlay-hover, rgba(255, 255, 255, 0.08));
}

.chart-tf-btn.active {
    background: var(--primary-color, #0070ff);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 112, 255, 0.35);
}

/* Per-Timeframe Dynamic Auto Adjusting (13 Months / 6 Months / 3 Months) */
/* 13 Months: Compact Fit */
#sales-bar-chart[data-tf="13"] .chart-col,
#sales-bar-chart:not([data-tf]) .chart-col {
    padding: 0 1px;
}
#sales-bar-chart[data-tf="13"] .chart-bar-butter,
#sales-bar-chart[data-tf="13"] .chart-bar-static,
#sales-bar-chart:not([data-tf]) .chart-bar-butter,
#sales-bar-chart:not([data-tf]) .chart-bar-static {
    max-width: clamp(14px, 2.5vw, 28px);
}
#sales-bar-chart[data-tf="13"] .chart-val-txt,
#sales-bar-chart:not([data-tf]) .chart-val-txt {
    font-size: clamp(6.2px, 1.85vw, 10.5px);
    letter-spacing: -0.4px;
}

/* 6 Months: Expanded Width & Auto-Adjusted Font */
#sales-bar-chart[data-tf="6"] .chart-col {
    padding: 0 4px;
}
#sales-bar-chart[data-tf="6"] .chart-val-container {
    height: 20px;
}
#sales-bar-chart[data-tf="6"] .chart-bar-butter,
#sales-bar-chart[data-tf="6"] .chart-bar-static {
    max-width: clamp(26px, 6.8vw, 56px);
    border-radius: 6px 6px 0 0;
}
#sales-bar-chart[data-tf="6"] .chart-val-txt {
    font-size: clamp(8.5px, 2.7vw, 13px);
    letter-spacing: -0.2px;
}
#sales-bar-chart[data-tf="6"] .chart-month-txt {
    font-size: clamp(9px, 2.5vw, 12px);
}
#sales-bar-chart[data-tf="6"] .chart-year-txt {
    font-size: clamp(8px, 2.0vw, 10px);
}

/* 3 Months: Hero Width & Auto-Adjusted Font */
#sales-bar-chart[data-tf="3"] .chart-col {
    padding: 0 8px;
}
#sales-bar-chart[data-tf="3"] .chart-val-container {
    height: 24px;
}
#sales-bar-chart[data-tf="3"] .chart-bar-butter,
#sales-bar-chart[data-tf="3"] .chart-bar-static {
    max-width: clamp(42px, 14vw, 92px);
    border-radius: 8px 8px 0 0;
}
#sales-bar-chart[data-tf="3"] .chart-val-txt {
    font-size: clamp(11.5px, 3.8vw, 16px);
    letter-spacing: normal;
}
#sales-bar-chart[data-tf="3"] .chart-month-txt {
    font-size: clamp(11px, 3.2vw, 14px);
    font-weight: 700;
}
#sales-bar-chart[data-tf="3"] .chart-year-txt {
    font-size: clamp(9.5px, 2.6vw, 12px);
}

/* My Recent Logs Header & Date Filter */
.driver-recent-logs-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    gap: 8px;
    width: 100%;
}

.driver-recent-logs-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    flex-shrink: 0;
}

.driver-recent-logs-title i {
    font-size: 17px;
    color: var(--accent-blue);
}

.driver-recent-logs-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    margin-left: auto;
}

.driver-logs-date-filter-wrap {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 6px 3px 8px;
    background: var(--overlay-light);
    border: 1px solid var(--panel-border);
    border-radius: 20px;
    transition: all 0.2s ease;
    position: relative;
    max-width: 160px;
}

.driver-logs-date-filter-wrap:focus-within,
.driver-logs-date-filter-wrap:hover {
    border-color: var(--accent-blue);
    background: var(--panel-bg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.driver-logs-date-filter-wrap.active-filtered {
    border-color: var(--accent-blue);
    background: rgba(37, 99, 235, 0.08);
}

.driver-logs-date-filter-wrap .filter-cal-icon {
    font-size: 14px;
    color: var(--accent-blue);
    pointer-events: none;
    flex-shrink: 0;
}

.driver-logs-date-input {
    background: transparent;
    border: none;
    outline: none;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--text-primary);
    font-family: inherit;
    padding: 2px 0;
    cursor: pointer;
    width: 95px;
    min-width: 0;
    -webkit-appearance: none;
    appearance: none;
}

.driver-logs-date-input::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.65;
    padding: 0;
    margin: 0;
    font-size: 13px;
    filter: invert(0.4);
}
[data-theme="dark"] .driver-logs-date-input::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

.driver-logs-date-clear {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    padding: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 11px;
    transition: all 0.15s ease;
    flex-shrink: 0;
}
.driver-logs-date-clear:hover {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.driver-logs-refresh-btn {
    background: var(--overlay-light);
    border: 1px solid var(--panel-border);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-primary);
    transition: all 0.2s ease;
    flex-shrink: 0;
}
.driver-logs-refresh-btn:hover {
    border-color: var(--accent-blue);
    color: var(--accent-blue);
    transform: rotate(45deg);
}

/* =========================================================
   Driver Recent Logs Responsive Cards UI (Mobile & Desktop)
   ========================================================= */
.recent-logs-cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 14px;
    width: 100%;
}

.driver-log-card {
    background: var(--panel-bg);
    border: 1px solid var(--panel-border);
    border-radius: 14px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    cursor: pointer;
    transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1), 
                box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1), 
                border-color 0.22s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.driver-log-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border-color: rgba(37, 99, 235, 0.35);
}

.driver-log-card:active {
    transform: translateY(0);
}

/* Card Header */
.driver-log-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--panel-border);
    flex-wrap: wrap;
}

.driver-log-card-date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    flex-wrap: wrap;
    row-gap: 5px;
    min-width: 0;
    flex: 1 1 auto;
}

.driver-log-card-date .driver-log-date-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    flex-shrink: 0;
}

.driver-log-card-date i {
    color: var(--accent-blue);
    font-size: 15px;
    flex-shrink: 0;
}

.driver-log-card-total {
    text-align: right;
    display: flex;
    align-items: baseline;
    gap: 4px;
    flex-shrink: 0;
    white-space: nowrap;
    margin-left: auto;
}

.driver-log-card-total .total-label {
    font-size: 10.5px;
    color: var(--text-secondary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.driver-log-card-total .total-val {
    font-size: 15px;
    font-weight: 800;
    color: var(--accent-green);
    letter-spacing: 0.2px;
}

/* Status Badges */
.log-status-badge {
    font-size: 10.5px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: var(--overlay-light);
    color: var(--text-secondary);
    border: 1px solid var(--overlay-border);
    white-space: nowrap;
    flex-shrink: 0;
}
.log-status-badge.completed {
    background: rgba(16, 185, 129, 0.12);
    color: var(--accent-green);
    border: 1px solid rgba(16, 185, 129, 0.25);
}
.log-status-badge.in-progress {
    background: rgba(245, 158, 11, 0.12);
    color: #d97706;
    border: 1px solid rgba(245, 158, 11, 0.25);
}
.log-status-badge.today {
    background: rgba(37, 99, 235, 0.12);
    color: var(--accent-blue);
    border: 1px solid rgba(37, 99, 235, 0.25);
}
.log-status-badge.km-variation {
    background: rgba(245, 158, 11, 0.15);
    color: #d97706;
    border: 1px solid rgba(245, 158, 11, 0.35);
}

/* Daily Log Entry Card Header Badges */
.driver-log-date-badges-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.driver-log-date-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--panel-border);
    border-radius: 10px;
    user-select: none;
    white-space: nowrap;
}

.driver-log-date-pill i {
    color: var(--accent-blue);
    font-size: 15px;
    flex-shrink: 0;
}

.driver-log-date-pill #driver-log-date-text {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: 0.3px;
}

.driver-log-date-pill #driver-date-lock-badge {
    font-size: 10px;
    padding: 2px 7px;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.15);
    color: var(--accent-blue);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.destination-trips-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(16, 185, 129, 0.12);
    color: var(--accent-green);
    border: 1px solid rgba(16, 185, 129, 0.25);
    user-select: none;
    white-space: nowrap;
}

.destination-trips-badge i {
    font-size: 14px;
    flex-shrink: 0;
}

/* Meter Subcards Grid */
.driver-log-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.driver-log-subcard {
    padding: 10px 12px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.driver-log-subcard.morning {
    background: rgba(37, 99, 235, 0.04);
    border: 1px solid rgba(37, 99, 235, 0.14);
}
.driver-log-subcard.evening {
    background: rgba(147, 51, 234, 0.04);
    border: 1px solid rgba(147, 51, 234, 0.14);
}

/* Red color border for missed morning/evening tasks (No Entry) */
.driver-log-subcard.no-entry,
.driver-log-subcard.missed {
    background: rgba(239, 68, 68, 0.06) !important;
    border: 1.5px solid #ef4444 !important;
}
.driver-log-subcard.no-entry .subcard-title,
.driver-log-subcard.missed .subcard-title {
    color: #ef4444 !important;
}
.driver-log-subcard.no-entry .subcard-title i,
.driver-log-subcard.missed .subcard-title i {
    color: #ef4444 !important;
}
.subcard-no-entry-badge {
    color: #ef4444;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    letter-spacing: 0.2px;
}

.driver-log-subcard .subcard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 4px;
}

.driver-log-subcard .subcard-title {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
}
.driver-log-subcard.morning .subcard-title i {
    color: var(--accent-blue);
}
.driver-log-subcard.evening .subcard-title i {
    color: var(--accent-purple);
}

.driver-log-subcard .subcard-time {
    font-size: 10.5px;
    font-weight: 500;
    color: var(--text-secondary);
    white-space: nowrap;
}

.driver-log-subcard .subcard-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
}

.driver-log-subcard .subcard-km {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: visible;
    min-width: 0;
}

.subcard-km .km-unit, .fleet-km-val .km-unit {
    font-size: 0.85em;
    font-weight: 600;
    opacity: 0.85;
    margin-left: 1px;
}

.driver-log-subcard .subcard-thumb {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease;
}
.driver-log-subcard .subcard-thumb:hover {
    transform: scale(1.12);
}

/* Route & Maintenance Previews */
.driver-log-card-destinations {
    display: none !important;
}

.driver-log-card-maintenance {
    background: rgba(245, 158, 11, 0.04);
    border: 1px dashed rgba(245, 158, 11, 0.25);
    border-radius: 8px;
    padding: 8px 10px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
}

.driver-log-card-maintenance .maint-text {
    flex: 1;
    color: var(--text-secondary);
    line-height: 1.35;
    word-break: break-word;
}

/* Card Footer */
.driver-log-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--panel-border);
    margin-top: 2px;
}

.driver-log-card-footer .footer-hint {
    font-size: 11px;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
}

.driver-log-card-footer .btn-view-details {
    padding: 5px 12px;
    font-size: 11.5px;
    font-weight: 600;
    border-radius: 20px;
    background: var(--overlay-light);
    color: var(--accent-blue);
    border: 1px solid var(--panel-border);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.driver-log-card-footer .btn-view-details:hover {
    background: var(--accent-blue);
    color: #fff;
    border-color: var(--accent-blue);
}

/* Mobile Responsiveness for Cards */
@media (max-width: 640px) {
    /* Daily Log Entry Form Card on Mobile */
    .driver-log-entry-card {
        padding: 14px 10px !important;
    }
    .driver-log-entry-header {
        gap: 8px !important;
        margin-bottom: 12px !important;
        padding-bottom: 10px !important;
    }
    .driver-log-date-badges-wrap {
        gap: 5px !important;
        flex-wrap: nowrap !important;
        width: 100%;
        justify-content: flex-start;
    }
    .driver-log-date-pill {
        gap: 4px !important;
        padding: 4px 7px !important;
        border-radius: 8px !important;
    }
    .driver-log-date-pill i {
        font-size: 13px !important;
    }
    .driver-log-date-pill #driver-log-date-text {
        font-size: 11.5px !important;
        letter-spacing: 0.1px !important;
    }
    .driver-log-date-pill #driver-date-lock-badge {
        font-size: 9px !important;
        padding: 1.5px 5px !important;
        border-radius: 6px !important;
    }
    .destination-trips-badge {
        gap: 4px !important;
        padding: 4px 7px !important;
        border-radius: 8px !important;
        font-size: 11px !important;
    }
    .destination-trips-badge i {
        font-size: 12px !important;
    }

    /* Recent Logs Header & Filter on Mobile */
    .driver-recent-logs-header {
        margin-bottom: 12px !important;
        gap: 6px !important;
    }
    .driver-recent-logs-title {
        font-size: 13.5px !important;
        gap: 5px !important;
    }
    .driver-recent-logs-title i {
        font-size: 15px !important;
    }
    .driver-logs-date-filter-wrap {
        padding: 2px 5px 2px 7px !important;
        max-width: 138px !important;
        gap: 3px !important;
    }
    .driver-logs-date-filter-wrap .filter-cal-icon {
        font-size: 13px !important;
    }
    .driver-logs-date-input {
        font-size: 11px !important;
        width: 86px !important;
    }
    .driver-logs-refresh-btn {
        width: 28px !important;
        height: 28px !important;
        font-size: 13px !important;
    }

    /* Recent Logs Card Header on Mobile */
    .driver-log-card-header {
        gap: 6px 10px !important;
        padding-bottom: 8px !important;
        flex-wrap: wrap !important;
        align-items: center !important;
    }
    .driver-log-card-date {
        gap: 5px !important;
        font-size: 12px !important;
        flex-wrap: wrap !important;
        white-space: normal !important;
        row-gap: 4px !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }
    .driver-log-card-date .driver-log-date-label {
        font-size: 12px !important;
        gap: 4px !important;
        white-space: nowrap !important;
    }
    .driver-log-card-date i {
        font-size: 13.5px !important;
    }
    .driver-log-card-date .log-status-badge {
        font-size: 9px !important;
        padding: 1.5px 5px !important;
        gap: 2px !important;
        letter-spacing: 0.2px !important;
        border-radius: 5px !important;
    }
    .driver-log-card-date .log-status-badge i {
        font-size: 9.5px !important;
    }
    .driver-log-card-total {
        gap: 3px !important;
        flex-shrink: 0 !important;
        margin-left: auto !important;
        white-space: nowrap !important;
    }
    .driver-log-card-total .total-label {
        font-size: 9.5px !important;
    }
    .driver-log-card-total .total-val {
        font-size: 13px !important;
    }

    .recent-logs-cards-container {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }
    .driver-log-card {
        padding: 14px 10px;
    }
    .driver-log-card-grid {
        gap: 6px;
    }
    .driver-log-subcard {
        padding: 8px 6px;
    }
    .driver-log-subcard .subcard-body {
        gap: 4px;
    }
    .driver-log-subcard .subcard-km {
        font-size: clamp(10px, 2.75vw, 12px) !important;
        letter-spacing: -0.35px !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }
    .driver-log-subcard .subcard-km .km-unit {
        font-size: 0.8em !important;
        font-weight: 600 !important;
        opacity: 0.85 !important;
        margin-left: 1px !important;
    }
    .driver-log-subcard .subcard-thumb {
        width: 28px !important;
        height: 28px !important;
    }

    /* Destination & Purpose dynamic rows on Mobile (10px font size) */
    .destination-columns-header {
        font-size: 10px !important;
    }
    .destination-row-item {
        gap: 6px !important;
    }
    .destination-row-item .dest-name-input,
    .destination-row-item .dest-purpose-select,
    .destination-row-item .dest-purpose-custom-input,
    .destination-row-item .dest-purpose-input {
        font-size: 10px !important;
        padding: 7px 6px !important;
    }
    .destination-row-item .dest-purpose-select {
        padding-right: 20px !important;
        background-position: right 4px center !important;
        background-size: 10px 10px !important;
    }
    .destination-row-item .dest-purpose-custom-input {
        padding-right: 24px !important;
    }
    .destination-row-item .dest-purpose-select option {
        font-size: 10px !important;
    }
    .destination-row-item .dest-name-input::placeholder,
    .destination-row-item .dest-purpose-custom-input::placeholder {
        font-size: 10px !important;
    }
    .destination-row-item .dest-purpose-clear-btn {
        width: 17px !important;
        height: 17px !important;
        right: 4px !important;
    }
    .destination-row-item .dest-purpose-clear-btn i {
        font-size: 9.5px !important;
    }
    .destination-row-item .dest-remove-btn {
        width: 32px !important;
        height: 32px !important;
    }
    .destination-row-item .dest-remove-btn i {
        font-size: 13px !important;
    }
}

/* Admin vehicle tab visibility: NEVER show Vehicle Tab (Driver & Fleet Monitoring) or vehicle nav items for admin */
html[data-role='admin'] [data-tab="vehicle"],
body[data-role='admin'] [data-tab="vehicle"],
html[data-role='admin'] #vehicle-tab,
body[data-role='admin'] #vehicle-tab,
html[data-role='admin'] .sales-only,
body[data-role='admin'] .sales-only,
[data-role='admin'] [data-tab="vehicle"],
[data-role='admin'] #vehicle-tab,
[data-role='admin'] .sales-only {
    display: none !important;
}

/* Active Item in Nav More Dropdown - Unclickable like active buttons on mobile */
@media (max-width: 768px) {
    .nav-more-dropdown .nav-item.active {
        border: none !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: none !important;
        background: var(--overlay-light) !important;
        color: var(--primary-color) !important;
        font-weight: 600 !important;
        pointer-events: none !important;
        cursor: default !important;
    }
    .nav-more-dropdown .nav-item.active i {
        color: var(--primary-color) !important;
    }
}

/* Vehicle Tab Spacing */
#vehicle-tab {
    padding-bottom: 40px;
}
@media (max-width: 768px) {
    #vehicle-tab {
        padding-bottom: 110px !important;
    }
}

/* Vehicle Page Header Left-Alignment */
.vehicle-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start !important;
    text-align: left !important;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
    width: 100%;
}
.vehicle-page-header .vehicle-header-titles {
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    text-align: left !important;
}
.vehicle-page-header .page-title {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start !important;
    gap: 8px;
    text-align: left !important;
}
.vehicle-page-header #vehicle-tab-subtitle {
    margin: 4px 0 0 0;
    font-size: 13px;
    color: var(--text-secondary);
    text-align: left !important;
}
@media (max-width: 768px) {
    .vehicle-page-header {
        align-items: flex-start !important;
        text-align: left !important;
    }
    .vehicle-page-header .vehicle-header-titles {
        align-items: flex-start !important;
        text-align: left !important;
        width: 100%;
    }
    .vehicle-page-header .page-title {
        text-align: left !important;
        justify-content: flex-start !important;
    }
    .vehicle-page-header #vehicle-tab-subtitle {
        text-align: left !important;
    }
}

/* =========================================================
   Vehicle Daily Log Switchable Tabs (Pro WebApp UI)
   ========================================================= */
.vehicle-tabs-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.vehicle-nav-tab {
    background: var(--panel-bg);
    border: 1.5px solid var(--panel-border);
    border-radius: 14px;
    padding: 12px 14px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    overflow: hidden;
    text-align: left;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    color: var(--text-primary);
}

.vehicle-nav-tab:hover {
    border-color: rgba(0, 112, 255, 0.3);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.vehicle-nav-tab:active {
    transform: translateY(0);
}

.vehicle-nav-tab .vtab-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.vehicle-nav-tab:hover .vtab-icon {
    transform: scale(1.08);
}

.vehicle-nav-tab .vtab-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.vehicle-nav-tab .vtab-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.vehicle-nav-tab .vtab-title {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vehicle-nav-tab .vtab-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 10px;
    background: var(--overlay-light);
    color: var(--text-secondary);
    white-space: nowrap;
    border: 1px solid var(--overlay-border);
}

.vehicle-nav-tab .vtab-sub {
    font-size: 11px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Active tab state indicators */
.vehicle-nav-tab.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 12%;
    right: 12%;
    height: 3px;
    border-radius: 3px 3px 0 0;
}

/* Morning Tab Styling */
.vehicle-nav-tab[data-vtab="morning"] .vtab-icon {
    color: #2563eb;
    background: rgba(37, 99, 235, 0.12);
}
.vehicle-nav-tab[data-vtab="morning"].active {
    border-color: #2563eb;
    background: rgba(37, 99, 235, 0.05);
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.12);
}
.vehicle-nav-tab[data-vtab="morning"].active::after {
    background: #2563eb;
}

/* Evening Tab Styling */
.vehicle-nav-tab[data-vtab="evening"] .vtab-icon {
    color: #9333ea;
    background: rgba(147, 51, 234, 0.12);
}
.vehicle-nav-tab[data-vtab="evening"].active {
    border-color: #9333ea;
    background: rgba(147, 51, 234, 0.05);
    box-shadow: 0 4px 16px rgba(147, 51, 234, 0.12);
}
.vehicle-nav-tab[data-vtab="evening"].active::after {
    background: #9333ea;
}

/* Destination Tab Styling */
.vehicle-nav-tab[data-vtab="destination"] .vtab-icon {
    color: #16a34a;
    background: rgba(22, 163, 74, 0.12);
}
.vehicle-nav-tab[data-vtab="destination"].active {
    border-color: #16a34a;
    background: rgba(22, 163, 74, 0.05);
    box-shadow: 0 4px 16px rgba(22, 163, 74, 0.12);
}
.vehicle-nav-tab[data-vtab="destination"].active::after {
    background: #16a34a;
}

/* Tab Panes Animation */
.vtab-pane {
    animation: vtabFadeIn 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes vtabFadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile Responsiveness for Switchable Tabs */
@media (max-width: 640px) {
    .vehicle-tabs-nav {
        gap: 6px;
        margin-bottom: 14px;
    }
    .vehicle-nav-tab {
        padding: 8px 4px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 4px;
        border-radius: 12px;
        min-height: 70px;
        justify-content: center;
    }
    .vehicle-nav-tab .vtab-icon {
        width: 28px;
        height: 28px;
        font-size: 17px;
        border-radius: 8px;
    }
    .vehicle-nav-tab .vtab-content {
        align-items: center;
        width: 100%;
        gap: 2px;
    }
    .vehicle-nav-tab .vtab-header {
        flex-direction: column;
        align-items: center;
        gap: 2px;
        width: 100%;
    }
    .vehicle-nav-tab .vtab-title {
        font-size: 11px;
        line-height: 1.15;
    }
    .vehicle-nav-tab .vtab-badge {
        font-size: 9px;
        padding: 1px 5px;
        border-radius: 6px;
    }
    .vehicle-nav-tab .vtab-sub {
        display: none; /* Keep clean and compact on small phone screens */
    }
    .vehicle-nav-tab.active::after {
        left: 15%;
        right: 15%;
        height: 2.5px;
    }
}

/* =========================================================
   Prominent Full-Width Centered Meter Capture Button
   ========================================================= */
.meter-capture-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
    text-align: center;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.meter-capture-btn i {
    font-size: 22px;
    transition: transform 0.2s ease;
}

.meter-capture-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.meter-capture-btn:hover i {
    transform: scale(1.1);
}

.meter-capture-btn:active {
    transform: translateY(0);
}

/* Morning capture button */
.meter-capture-btn-morning {
    background: rgba(37, 99, 235, 0.08);
    border: 1.5px dashed rgba(37, 99, 235, 0.45);
    color: var(--accent-blue);
}
.meter-capture-btn-morning:hover {
    background: rgba(37, 99, 235, 0.15);
    border-color: var(--accent-blue);
}

/* Evening capture button */
.meter-capture-btn-evening {
    background: rgba(147, 51, 234, 0.08);
    border: 1.5px dashed rgba(147, 51, 234, 0.45);
    color: var(--accent-purple);
}
.meter-capture-btn-evening:hover {
    background: rgba(147, 51, 234, 0.15);
    border-color: var(--accent-purple);
}

/* Centered photo preview card */
.meter-preview-card {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    animation: vtabFadeIn 0.25s ease-out;
}

.meter-preview-wrapper {
    position: relative;
    display: inline-block;
}

.meter-preview-img {
    max-width: 160px;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: cover;
    border-radius: 12px;
    border: 1.5px solid var(--panel-border);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    display: block;
    transition: transform 0.2s;
}

.meter-preview-img:hover {
    transform: scale(1.02);
}

.meter-clear-btn {
    display: none !important;
}

/* =========================================================
   Missing Input & Box Warning Outline with Shake Animation
   ========================================================= */
@keyframes errorFieldShake {
    0%, 100% {
        transform: translateX(0);
    }
    15%, 45%, 75% {
        transform: translateX(-8px);
    }
    30%, 60%, 90% {
        transform: translateX(8px);
    }
}

.field-shake {
    animation: errorFieldShake 0.45s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important;
}

.field-warning-missing {
    border: 2px solid #ef4444 !important;
    background-color: rgba(239, 68, 68, 0.06) !important;
    box-shadow: 0 0 0 3.5px rgba(239, 68, 68, 0.22) !important;
}

.glass-input.field-warning-missing:focus,
.glass-input.field-warning-missing:focus-visible {
    border-color: #ef4444 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.32) !important;
}

.meter-capture-btn.field-warning-missing {
    border: 2px dashed #ef4444 !important;
    background: rgba(239, 68, 68, 0.08) !important;
    color: #ef4444 !important;
}

.meter-capture-btn.field-warning-missing i,
.meter-capture-btn.field-warning-missing span {
    color: #ef4444 !important;
}

/* Vehicle details card & distance widget responsive tweaks */
#driver-vehicle-card .driver-name-text,
#driver-vehicle-card p {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}
@media (max-width: 640px) {
    #driver-vehicle-card {
        padding: 16px 12px !important;
    }
    #driver-distance-banner {
        min-width: 95px !important;
        padding: 10px 8px !important;
    }
    #driver-distance-banner #driver-calculated-km {
        font-size: 18px !important;
    }
}

/* Destination & Purpose dynamic rows */
.destination-row-item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
}

.destination-row-item .dest-name-input {
    flex: 1.2;
    min-width: 0;
}

.destination-row-item .dest-purpose-container {
    flex: 1;
    min-width: 0;
    position: relative;
    display: flex;
    align-items: center;
}

.destination-row-item .dest-purpose-select {
    width: 100%;
    min-width: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    padding-right: 24px !important;
    cursor: pointer;
}

.destination-row-item .dest-purpose-select option {
    background: #18181b;
    color: #ffffff;
}
[data-theme="light"] .destination-row-item .dest-purpose-select option {
    background: #ffffff;
    color: #000000;
}

.destination-row-item .dest-purpose-custom-wrap {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.destination-row-item .dest-purpose-custom-wrap .dest-purpose-custom-input {
    width: 100%;
    min-width: 0;
    padding-right: 28px !important;
}

.destination-row-item .dest-purpose-clear-btn {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.25);
    color: #ef4444;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.2s ease;
    z-index: 2;
}

.destination-row-item .dest-purpose-clear-btn:hover {
    background: rgba(239, 68, 68, 0.25);
    color: #f87171;
    border-color: #ef4444;
}

.destination-row-item .dest-purpose-clear-btn i {
    font-size: 11px;
}

.destination-row-item .dest-remove-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.25);
    color: #ef4444;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.destination-row-item .dest-remove-btn:hover {
    background: rgba(239, 68, 68, 0.2);
    border-color: #ef4444;
}

@media (max-width: 768px) {
    .destination-columns-header {
        font-size: 10px !important;
    }
    .destination-row-item {
        gap: 6px !important;
    }
    .destination-row-item .dest-name-input,
    .destination-row-item .dest-purpose-select,
    .destination-row-item .dest-purpose-custom-input,
    .destination-row-item .dest-purpose-input {
        font-size: 10px !important;
        padding: 7px 6px !important;
    }
    .destination-row-item .dest-purpose-select {
        padding-right: 20px !important;
        background-position: right 4px center !important;
        background-size: 10px 10px !important;
    }
    .destination-row-item .dest-purpose-custom-input {
        padding-right: 24px !important;
    }
    .destination-row-item .dest-purpose-select option {
        font-size: 10px !important;
    }
    .destination-row-item .dest-name-input::placeholder,
    .destination-row-item .dest-purpose-custom-input::placeholder {
        font-size: 10px !important;
    }
    .destination-row-item .dest-purpose-clear-btn {
        width: 18px !important;
        height: 18px !important;
        right: 4px !important;
    }
    .destination-row-item .dest-purpose-clear-btn i {
        font-size: 9.5px !important;
    }
    .destination-row-item .dest-remove-btn {
        width: 32px !important;
        height: 32px !important;
    }
    .destination-row-item .dest-remove-btn i {
        font-size: 13px !important;
    }
}

/* =========================================================
   Maintenance Quick Tags & Interactive Selected Tag Input Box
   ========================================================= */
.maintenance-chip-btn {
    background: rgba(245, 158, 11, 0.08);
    border: 1px dashed rgba(245, 158, 11, 0.4);
    color: #d97706;
    padding: 5px 11px;
    border-radius: 16px;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.maintenance-chip-btn:hover {
    background: rgba(245, 158, 11, 0.18);
    border-color: #d97706;
    transform: translateY(-1px);
}

.maintenance-chip-btn.selected {
    background: #f59e0b !important;
    border: 1px solid #d97706 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.35);
}

.maintenance-chip-btn.selected .chip-sign {
    font-weight: 800;
}

.maintenance-tag-box {
    min-height: 48px;
    padding: 6px 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    cursor: text;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--panel-border);
    border-radius: 10px;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.maintenance-tag-box:focus-within {
    border-color: var(--accent-blue);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.maintenance-selected-tags {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.maint-selected-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    background: rgba(245, 158, 11, 0.16);
    border: 1px solid rgba(245, 158, 11, 0.38);
    color: #d97706;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    animation: tagFadeIn 0.15s ease-out;
}

@keyframes tagFadeIn {
    from {
        opacity: 0;
        transform: scale(0.92);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.maint-selected-tag .tag-remove-btn {
    background: rgba(245, 158, 11, 0.22);
    border: none;
    border-radius: 50%;
    color: #b45309;
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: bold;
    cursor: pointer;
    padding: 0;
    margin-left: 2px;
    transition: all 0.15s ease;
}

.maint-selected-tag .tag-remove-btn:hover {
    background: #ef4444;
    color: #ffffff;
    transform: scale(1.15);
}

.maintenance-custom-input {
    flex: 1;
    min-width: 130px;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: var(--text-primary);
    font-size: 13px;
    padding: 4px 2px;
    font-family: inherit;
}

.maintenance-custom-input::placeholder {
    color: var(--text-secondary);
    opacity: 0.7;
    font-size: 12.5px;
}

/* =========================================================
   Custom WebApp Toast - Small Size, Bottom Centered & Transparent Glass
   ========================================================= */
.toast,
#toast {
    position: fixed !important;
    bottom: 24px !important;
    left: 50% !important;
    top: auto !important;
    right: auto !important;
    transform: translateX(-50%) translateY(24px) scale(0.96) !important;
    display: none;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 16px !important;
    max-width: min(92vw, 420px) !important;
    width: max-content !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    border-radius: 9999px !important; /* Smooth compact pill */
    
    /* Transparent / translucent dark glass with heavy blur */
    background: rgba(15, 23, 42, 0.76) !important;
    color: #f8fafc !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    backdrop-filter: blur(14px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(180%) !important;
    
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), 
                visibility 0.22s !important;
    z-index: 999999 !important;
    user-select: none !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
}

[data-theme="dark"] .toast,
[data-theme="dark"] #toast {
    background: rgba(24, 24, 27, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.toast.show,
#toast.show {
    transform: translateX(-50%) translateY(0) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.toast i,
#toast i {
    font-size: 15px !important;
    flex-shrink: 0 !important;
}

.toast #toast-message {
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
}

.toast.success i,
#toast.success i {
    color: #10b981 !important; /* Emerald green */
}

.toast.error i,
#toast.error i {
    color: #ef4444 !important; /* Rose red */
}

.toast.warning i,
#toast.warning i {
    color: #f59e0b !important; /* Amber */
}

.toast.info i,
#toast.info i {
    color: #38bdf8 !important; /* Sky blue */
}

/* Mobile responsive bottom spacing to sit above bottom navigation bar */
@media (max-width: 768px) {
    .toast,
    #toast {
        bottom: 74px !important;
        padding: 6px 14px !important;
        font-size: 12px !important;
        max-width: 88vw !important;
    }
}

/* =========================================================
   Vehicle Usage & Fleet Logs Modal Responsive Table & Cards
   ========================================================= */
.fleet-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.fleet-modal-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fleet-modal-back-btn {
    display: none;
}

.fleet-modal-title-content {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fleet-modal-close-btn-mobile {
    display: none;
}

.fleet-modal-close-btn-desktop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fleet-mobile-export-dropdown-wrapper {
    display: none !important;
}

.driver-details-back-btn {
    display: none;
}

.driver-details-close-btn-desktop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Quick Summary Bar in Log Details Modal (Common / Desktop) */
.driver-quick-summary-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--panel-border);
    gap: 0;
    box-sizing: border-box;
}

.summary-stat-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2px 6px;
    min-width: 0;
    box-sizing: border-box;
}

.summary-stat-cell-divider {
    border-left: 1px solid var(--panel-border);
}

.summary-stat-label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin-bottom: 4px;
    white-space: nowrap;
    line-height: 1;
}

.summary-stat-value {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    white-space: nowrap;
    line-height: 1.2;
    max-width: 100%;
}

.summary-stat-value i {
    color: var(--accent-blue);
    font-size: 16px;
    flex-shrink: 0;
}

.summary-stat-badge {
    justify-content: center;
}

.fleet-modal-actions-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* Filter Toggle Button (Desktop: Hidden) */
.fleet-filter-toggle-btn {
    display: none !important;
}

/* Filter Bar */
.fleet-filter-bar {
    padding: 12px 14px;
    margin-bottom: 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--panel-border);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
}

.fleet-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 14px;
    flex-shrink: 0;
}

@media (min-width: 769px) {
    .fleet-kpi-grid {
        order: 1 !important;
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 12px !important;
        margin-bottom: 14px !important;
        flex-shrink: 0 !important;
    }
    .fleet-filter-bar,
    .fleet-filter-bar.is-collapsed-mobile,
    .fleet-filter-bar.fleet-scroll-hidden {
        order: 2 !important;
        max-height: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        padding: 12px 14px !important;
        margin-bottom: 14px !important;
        border: 1px solid var(--panel-border) !important;
        transform: none !important;
        display: flex !important;
    }
    .fleet-table-container {
        order: 3 !important;
    }
}

.fleet-filter-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fleet-filter-field label {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0;
}

.fleet-filter-field.driver-field {
    min-width: 170px;
}

.fleet-filter-field.status-field {
    min-width: 160px;
}

.fleet-filter-field select,
.fleet-filter-field input[type="date"] {
    padding: 6px 10px;
    font-size: 13px;
    border-radius: 8px;
    height: 36px;
    box-sizing: border-box;
}

.fleet-filter-dates-row {
    display: flex;
    gap: 8px;
    align-items: flex-end;
}

.fleet-filter-search-row {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    flex: 1;
    min-width: 200px;
}

.fleet-search-wrapper {
    position: relative;
    flex: 1;
}

.fleet-search-wrapper i {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-secondary);
    font-size: 14px;
    pointer-events: none;
}

.fleet-search-wrapper input {
    width: 100%;
    padding: 6px 10px 6px 32px;
    font-size: 13px;
    border-radius: 8px;
    height: 36px;
    box-sizing: border-box;
}

.fleet-refresh-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--overlay-light);
    border: 1px solid var(--panel-border);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.fleet-refresh-btn:hover {
    background: var(--overlay-hover);
    color: var(--accent-blue);
}

.fleet-table-container {
    background: transparent;
    border-radius: 12px;
}

.fleet-logs-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.fleet-logs-table th {
    background: var(--header-bg);
    color: var(--text-secondary);
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 11px 12px;
    border-bottom: 1px solid var(--panel-border);
}

.fleet-logs-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--overlay-border);
    vertical-align: middle;
    font-size: 13px;
}

.fleet-log-row {
    transition: background 0.18s ease;
    cursor: pointer;
}

.fleet-log-row:hover {
    background: var(--overlay-hover);
}

/* Date Cell */
.fleet-date-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.fleet-date-text {
    font-weight: 600;
    color: var(--text-primary);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.fleet-badge-today {
    background: rgba(37, 99, 235, 0.15) !important;
    color: var(--accent-blue) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 2px 6px !important;
    border-radius: 6px !important;
    text-transform: uppercase;
}

/* Driver & Vehicle Cell */
.fleet-driver-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 110px;
}

.fleet-driver-name {
    color: var(--accent-blue);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.2;
}

.fleet-vehicle-badge {
    background: var(--overlay-light) !important;
    border: 1px solid var(--panel-border) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--text-secondary) !important;
    padding: 2px 6px !important;
    border-radius: 6px !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
}

/* Meter Cells (Morning & Evening) */
.fleet-meter-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 150px;
}

.fleet-meter-thumb {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    object-fit: cover;
    border: 1.5px solid var(--accent-blue);
    cursor: pointer;
    flex-shrink: 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fleet-col-evening .fleet-meter-thumb {
    border-color: var(--accent-purple);
}

.fleet-meter-thumb:hover {
    transform: scale(1.1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.fleet-meter-placeholder {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--overlay-light);
    border: 1px dashed var(--panel-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    font-size: 14px;
    flex-shrink: 0;
    opacity: 0.6;
}

.fleet-meter-cell.no-entry {
    background: rgba(239, 68, 68, 0.05);
    border: 1px solid rgba(239, 68, 68, 0.4);
    border-radius: 8px;
    padding: 3px 6px;
}

.fleet-meter-placeholder.no-entry {
    border-color: rgba(239, 68, 68, 0.45) !important;
    background: rgba(239, 68, 68, 0.1) !important;
    color: #ef4444 !important;
    opacity: 1 !important;
}

.fleet-badge-no-entry {
    background: rgba(239, 68, 68, 0.14);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.35);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.fleet-meter-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.fleet-km-val {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    white-space: nowrap;
}

.fleet-time-val {
    font-size: 11px;
    color: var(--text-secondary);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.fleet-badge-progress {
    font-size: 11px;
    font-weight: 600;
    color: #d97706;
    background: rgba(217, 119, 6, 0.12);
    border: 1px solid rgba(217, 119, 6, 0.25);
    padding: 2px 6px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

/* Total KM */
.fleet-total-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.fleet-total-km-badge {
    font-weight: 800;
    font-size: 13.5px;
    color: var(--accent-green);
    white-space: nowrap;
}

/* Trips */
.fleet-trips-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fleet-trips-badge {
    background: rgba(16, 185, 129, 0.12) !important;
    color: var(--accent-green) !important;
    border: 1px solid rgba(16, 185, 129, 0.25) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

/* Destinations & Notes */
.fleet-dest-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 280px;
}

.fleet-dest-line, .fleet-notes-line {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fleet-dest-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary);
}

.fleet-notes-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-secondary);
}

.fleet-empty-dash {
    color: var(--text-secondary);
    font-size: 12px;
}

/* Action Button */
.btn-fleet-view {
    padding: 5px 11px;
    font-size: 12px;
    font-weight: 600;
    background: var(--overlay-light);
    border: 1px solid var(--panel-border);
    color: var(--text-primary);
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.btn-fleet-view:hover {
    background: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}

.fleet-mobile-label {
    display: none;
}

/* Mobile Responsiveness for Fleet Monitoring */
@media (max-width: 768px) {
    #vehicle-logs-modal {
        padding: 0 !important;
    }

    #vehicle-logs-modal .modal-content {
        padding: 14px 14px 24px 14px !important;
        max-height: 100dvh !important;
        height: 100dvh !important;
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
        border: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .fleet-modal-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
        padding-bottom: 12px !important;
        border-bottom: 1px solid var(--panel-border) !important;
    }

    .fleet-modal-title-row {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        gap: 6px !important;
    }

    .fleet-modal-back-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: none !important;
        color: var(--text-color, var(--text-primary)) !important;
        padding: 8px !important;
        cursor: pointer !important;
        flex-shrink: 0 !important;
        margin-left: -8px !important;
        line-height: 1 !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .fleet-modal-back-btn:active {
        opacity: 0.65;
        transform: scale(0.95);
    }

    .fleet-modal-title-content {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex: 1 !important;
        min-width: 0 !important;
    }

    .fleet-modal-title-row h2 {
        font-size: 16px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .fleet-modal-title-content span {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .fleet-modal-close-btn-mobile {
        display: none !important;
    }

    .fleet-modal-close-btn-desktop {
        display: none !important;
    }

    .fleet-modal-actions-row {
        display: none !important;
    }

    .fleet-mobile-export-dropdown-wrapper {
        display: inline-flex !important;
        align-items: center;
        position: relative;
        flex-shrink: 0;
        z-index: 2100;
    }

    .fleet-mobile-export-dropdown-wrapper.is-tab-hidden {
        display: none !important;
    }

    .fleet-mobile-export-btn {
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(37, 99, 235, 0.08);
        border: 1px solid rgba(37, 99, 235, 0.25);
        color: var(--accent-blue);
        border-radius: 10px;
        cursor: pointer;
        padding: 0;
        transition: all 0.2s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .fleet-mobile-export-btn:active {
        background: rgba(37, 99, 235, 0.18);
        transform: scale(0.94);
    }

    .fleet-mobile-export-btn i {
        font-size: 20px;
        line-height: 1;
    }

    .fleet-mobile-export-menu {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        min-width: 200px;
        background: var(--modal-bg, var(--panel-bg));
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border: 1px solid var(--panel-border);
        border-radius: 14px;
        /* box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25); */
        padding: 6px;
        z-index: 2101;
        flex-direction: column;
        gap: 0px;
        transform-origin: top right;
        animation: fleetDropdownSlideDown 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        pointer-events: auto !important;
        box-sizing: border-box;
    }

    @keyframes fleetDropdownSlideDown {
        0% {
            opacity: 0;
            transform: translateY(-12px) scale(0.96);
        }
        100% {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }

    .fleet-mobile-export-header {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 14px;
        font-size: 14px;
        font-weight: 600;
        color: var(--text-primary);
        border-bottom: 1px solid var(--panel-border);
        margin-bottom: 4px;
        user-select: none;
        pointer-events: none;
        box-sizing: border-box;
    }

    .fleet-export-option-btn {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 14px;
        background: transparent;
        border: none;
        border-radius: 9px;
        color: var(--text-secondary);
        font-size: 15px;
        font-weight: 500;
        font-family: inherit;
        text-align: left;
        cursor: pointer;
        transition: background 0.15s ease, color 0.15s ease;
        -webkit-tap-highlight-color: transparent;
        pointer-events: auto !important;
        box-sizing: border-box;
    }

    .fleet-export-option-btn * {
        pointer-events: none !important;
    }

    .fleet-export-option-btn:active {
        background: var(--overlay-hover, rgba(0, 0, 0, 0.08));
        transform: scale(0.98);
    }

    .fleet-export-option-btn i {
        font-size: 18px;
        flex-shrink: 0;
    }

    .fleet-filter-toggle-btn {
        order: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 9px 12px !important;
        background: rgba(255, 255, 255, 0.04) !important;
        border: 1px solid var(--panel-border) !important;
        border-radius: 10px !important;
        color: var(--text-primary) !important;
        cursor: pointer !important;
        margin-top: 0 !important;
        margin-bottom: 8px !important;
        font-family: inherit !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
        flex-shrink: 0 !important;
        transform: none !important;
        opacity: 1 !important;
        max-height: none !important;
    }

    .fleet-filter-toggle-btn:hover,
    .fleet-filter-toggle-btn:active {
        background: var(--overlay-hover) !important;
    }

    .fleet-filter-bar {
        order: 2 !important;
        padding: 10px 12px !important;
        margin-bottom: 8px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        max-height: 500px;
        opacity: 1;
        overflow: hidden !important;
        transform: translateY(0);
        transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                    opacity 0.25s ease,
                    padding 0.3s ease,
                    margin 0.3s ease,
                    border-color 0.25s ease,
                    transform 0.3s ease !important;
        flex-shrink: 0 !important;
    }

    .fleet-filter-bar.is-collapsed-mobile {
        max-height: 0 !important;
        opacity: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        border-top-width: 0 !important;
        border-bottom-width: 0 !important;
        border-color: transparent !important;
        transform: translateY(-6px) !important;
        pointer-events: none !important;
    }

    .fleet-filter-field.driver-field {
        width: 100% !important;
        min-width: 0 !important;
    }

    .fleet-filter-field.driver-field select {
        width: 100% !important;
    }

    .fleet-filter-dates-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .fleet-filter-field.date-field input {
        width: 100% !important;
    }

    .fleet-filter-search-row {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        gap: 8px !important;
    }

    /* KPI Summary Cards - Compact Small 2x2 Grid on Mobile */
    .fleet-kpi-grid {
        order: 3 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin-bottom: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
    }

    /* Hide KPI Summary Cards when Filter Toggle Button or Filter Bar is active (expanded) on mobile */
    #admin-fleet-filter-bar:not(.is-collapsed-mobile) ~ .fleet-kpi-grid,
    #fleet-filter-toggle-btn.is-active ~ .fleet-kpi-grid,
    .fleet-kpi-grid.is-filter-active-hidden {
        display: none !important;
    }

    .fleet-kpi-grid .glass-panel {
        padding: 5px 8px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
        border-left-width: 2.5px !important;
    }

    .fleet-kpi-grid .glass-panel > div:first-child {
        font-size: 9.5px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin-bottom: 1px !important;
        color: var(--text-secondary) !important;
        font-weight: 500 !important;
    }

    .fleet-kpi-grid .glass-panel > div:last-child {
        font-size: 13px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
    }

    /* Logs Table Container - Top-aligned, naturally scrollable without clipping top card */
    .fleet-table-container {
        order: 4 !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        padding: 4px 0 40px 0 !important;
        border-radius: 8px !important;
        display: block !important;
        position: relative !important;
    }

    #admin-fleet-logs-table,
    #admin-fleet-logs-table thead,
    #admin-fleet-logs-table tbody,
    #admin-fleet-logs-table tr,
    #admin-fleet-logs-table td {
        display: block;
    }

    #admin-fleet-logs-table {
        min-width: 100% !important;
        width: 100% !important;
        border: none;
    }

    #admin-fleet-logs-table thead {
        display: none !important;
    }

    #admin-fleet-logs-tbody {
        display: block !important;
        padding: 4px 0 !important;
    }

    .fleet-desktop-row {
        display: none !important;
    }

    .fleet-mobile-row {
        display: block !important;
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .fleet-mobile-row > td {
        display: block !important;
        width: 100% !important;
        padding: 0 0 12px 0 !important;
        border: none !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    /* Driver Log Details Modal on Mobile - Full Screen Fit */
    #driver-log-details-modal {
        padding: 0 !important;
    }

    #driver-log-details-modal .modal-content {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        border: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        padding: 14px 14px 18px 14px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .driver-details-modal-header {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin-bottom: 12px !important;
        padding-bottom: 12px !important;
        gap: 6px !important;
        border-bottom: 1px solid var(--panel-border) !important;
    }

    .driver-details-back-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: none !important;
        color: var(--text-color, var(--text-primary)) !important;
        padding: 8px !important;
        cursor: pointer !important;
        flex-shrink: 0 !important;
        margin-left: -8px !important;
        line-height: 1 !important;
        min-width: 44px !important;
        min-height: 44px !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .driver-details-back-btn:active {
        opacity: 0.65;
        transform: scale(0.95);
        background: var(--overlay-light) !important;
        border-radius: 8px !important;
    }

    .driver-details-title-content {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex: 1 !important;
        min-width: 0 !important;
    }

    #driver-details-modal-title {
        font-size: 16px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    #driver-details-modal-subtitle {
        font-size: 11.5px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .driver-details-close-btn-desktop {
        display: none !important;
    }

    /* Mobile Quick Summary Bar */
    .driver-quick-summary-bar {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        padding: 10px 4px !important;
        margin-bottom: 2px !important;
    }

    .driver-quick-summary-bar .summary-stat-cell {
        padding: 2px 2px !important;
    }

    .driver-quick-summary-bar .summary-stat-label {
        font-size: 9px !important;
        letter-spacing: 0.2px !important;
    }

    .driver-quick-summary-bar .summary-stat-value {
        font-size: clamp(10px, 2.7vw, 13px) !important;
        gap: 3px !important;
    }

    .driver-quick-summary-bar .summary-stat-value i {
        font-size: 13px !important;
    }

    #driver-log-details-body {
        flex: 1 !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 28px !important;
    }

    /* Remove bottom close button on mobile, use top back arrow/button */
    .driver-log-details-footer {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .fleet-desktop-row {
        display: table-row !important;
    }
    .fleet-mobile-row {
        display: none !important;
    }
}

/* Non-blocking offline UI */
#offline-screen, .offline-wrapper {
    display: none !important;
}


/* ==========================================================================
   ROLE-BASED VIEW ISOLATION (Zero-flash protection for Driver & Shop roles)
   ========================================================================== */

/* DRIVER ROLE: strictly isolate to Vehicle Logs */
html[data-role="driver"] #dashboard-tab,
body[data-role="driver"] #dashboard-tab,
html[data-role="driver"] #inventory-tab,
body[data-role="driver"] #inventory-tab,
html[data-role="driver"] #parties-tab,
body[data-role="driver"] #parties-tab,
html[data-role="driver"] #outstandings-tab,
body[data-role="driver"] #outstandings-tab,
html[data-role="driver"] #vouchers-tab,
body[data-role="driver"] #vouchers-tab,
html[data-role="driver"] #followups-tab,
body[data-role="driver"] #followups-tab,
html[data-role="driver"] #settings-tab,
body[data-role="driver"] #settings-tab,
html[data-role="driver"] #users-tab,
body[data-role="driver"] #users-tab,
html[data-role="driver"] [data-tab="dashboard"],
body[data-role="driver"] [data-tab="dashboard"],
html[data-role="driver"] [data-tab="inventory"],
body[data-role="driver"] [data-tab="inventory"],
html[data-role="driver"] [data-tab="parties"],
body[data-role="driver"] [data-tab="parties"],
html[data-role="driver"] [data-tab="outstandings"],
body[data-role="driver"] [data-tab="outstandings"],
html[data-role="driver"] [data-tab="followups"],
body[data-role="driver"] [data-tab="followups"],
html[data-role="driver"] [data-tab="settings"],
body[data-role="driver"] [data-tab="settings"],
html[data-role="driver"] [data-tab="users"],
body[data-role="driver"] [data-tab="users"],
html[data-role="driver"] [data-tab="fleet"],
body[data-role="driver"] [data-tab="fleet"],
html[data-role="driver"] .nav-more-container,
body[data-role="driver"] .nav-more-container,
html[data-role="driver"] #nav-more-btn,
body[data-role="driver"] #nav-more-btn,
html[data-role="driver"] #admin-mobile-menu,
body[data-role="driver"] #admin-mobile-menu,
html[data-role="driver"] #sales-mobile-menu,
body[data-role="driver"] #sales-mobile-menu,
html[data-role="driver"] .search-bar,
body[data-role="driver"] .search-bar,
html[data-role="driver"] #header-search-bar,
body[data-role="driver"] #header-search-bar,
html[data-role="driver"] #connection-status,
body[data-role="driver"] #connection-status,
html[data-role="driver"] #refresh-dashboard-btn,
body[data-role="driver"] #refresh-dashboard-btn {
    display: none !important;
}

html[data-role="driver"] [data-tab="vehicle"],
body[data-role="driver"] [data-tab="vehicle"] {
    display: flex !important;
}

@media (max-width: 768px) {
    html[data-role="driver"] .sidebar,
    body[data-role="driver"] .sidebar {
        display: none !important;
    }
}

/* SHOP ROLE: strictly isolate to Inventory */
html[data-role="shop"] #dashboard-tab,
body[data-role="shop"] #dashboard-tab,
html[data-role="shop"] #parties-tab,
body[data-role="shop"] #parties-tab,
html[data-role="shop"] #outstandings-tab,
body[data-role="shop"] #outstandings-tab,
html[data-role="shop"] #vouchers-tab,
body[data-role="shop"] #vouchers-tab,
html[data-role="shop"] #followups-tab,
body[data-role="shop"] #followups-tab,
html[data-role="shop"] #settings-tab,
body[data-role="shop"] #settings-tab,
html[data-role="shop"] #users-tab,
body[data-role="shop"] #users-tab,
html[data-role="shop"] #vehicle-tab,
body[data-role="shop"] #vehicle-tab,
html[data-role="shop"] [data-tab="dashboard"],
body[data-role="shop"] [data-tab="dashboard"],
html[data-role="shop"] [data-tab="parties"],
body[data-role="shop"] [data-tab="parties"],
html[data-role="shop"] [data-tab="outstandings"],
body[data-role="shop"] [data-tab="outstandings"],
html[data-role="shop"] [data-tab="followups"],
body[data-role="shop"] [data-tab="followups"],
html[data-role="shop"] [data-tab="settings"],
body[data-role="shop"] [data-tab="settings"],
html[data-role="shop"] [data-tab="users"],
body[data-role="shop"] [data-tab="users"],
html[data-role="shop"] [data-tab="vehicle"],
body[data-role="shop"] [data-tab="vehicle"],
html[data-role="shop"] [data-tab="fleet"],
body[data-role="shop"] [data-tab="fleet"],
html[data-role="shop"] .nav-more-container,
body[data-role="shop"] .nav-more-container,
html[data-role="shop"] #nav-more-btn,
body[data-role="shop"] #nav-more-btn,
html[data-role="shop"] #admin-mobile-menu,
body[data-role="shop"] #admin-mobile-menu,
html[data-role="shop"] #sales-mobile-menu,
body[data-role="shop"] #sales-mobile-menu {
    display: none !important;
}

html[data-role="shop"] [data-tab="inventory"],
body[data-role="shop"] [data-tab="inventory"] {
    display: flex !important;
}

@media (max-width: 768px) {
    html[data-role="shop"] .sidebar,
    body[data-role="shop"] .sidebar {
        display: none !important;
    }
}


/* Fleet Nav Tabs & Vehicle Fleet Cards */
.fleet-nav-tabs {
    display: flex !important;
    width: 100% !important;
    gap: 6px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid var(--panel-border) !important;
    padding-bottom: 8px !important;
    flex-shrink: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

.fleet-nav-tabs button,
.fleet-tab-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: 0 !important;
    padding: 8px 4px !important;
    font-size: 12px !important;
    font-weight: 500;
    border-radius: 8px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    border: 1px solid var(--panel-border);
    background: var(--panel-bg);
    color: var(--text-secondary);
    cursor: pointer;
    pointer-events: auto;
    transition: all 0.2s ease;
    user-select: none;
    box-sizing: border-box !important;
}

.fleet-nav-tabs button i,
.fleet-tab-btn i {
    font-size: 14px !important;
    flex-shrink: 0 !important;
}

.fleet-nav-tabs button:hover:not(.active):not(:disabled),
.fleet-tab-btn:hover:not(.active):not(:disabled) {
    background: var(--overlay-hover);
    color: var(--text-primary);
    border-color: rgba(0, 0, 0, 0.15);
}

/* Active tab: unclickable pressed grey color bg */
.fleet-nav-tabs button.active,
.fleet-nav-tabs button:disabled,
.fleet-tab-btn.active,
.fleet-tab-btn:disabled {
    background: #e2e8f0 !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    font-weight: 700 !important;
    cursor: default !important;
    pointer-events: none !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(1px) !important;
}

[data-theme="dark"] .fleet-nav-tabs button.active,
[data-theme="dark"] .fleet-nav-tabs button:disabled,
[data-theme="dark"] .fleet-tab-btn.active,
[data-theme="dark"] .fleet-tab-btn:disabled {
    background: #27272a !important;
    color: #f4f4f5 !important;
    border: 1px solid #3f3f46 !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

@media (max-width: 440px) {
    .fleet-nav-tabs {
        gap: 4px !important;
    }
    .fleet-nav-tabs button,
    .fleet-tab-btn {
        padding: 7px 2px !important;
        font-size: 11px !important;
        gap: 3px !important;
        letter-spacing: -0.2px !important;
    }
    .fleet-nav-tabs button i,
    .fleet-tab-btn i {
        font-size: 13px !important;
    }
}

.fleet-vehicle-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fleet-vehicle-card:hover {
    border-color: rgba(37, 99, 235, 0.4) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

@media (max-width: 640px) {
    #fleet-vehicles-container {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================================
   GLOBAL CANCEL BUTTON STYLES (Red background across entire app)
   ========================================================================= */
.btn-cancel,
button.btn-cancel,
.btn-secondary.btn-cancel,
button[data-action="cancel"],
.modal-content button.btn-cancel {
    background: #ef4444 !important;
    color: #ffffff !important;
    border: 1px solid #dc2626 !important;
    padding: 8px 18px !important;
    border-radius: 8px !important;
    font-family: system-ui, -apple-system, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.25) !important;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.btn-cancel:hover,
button.btn-cancel:hover,
.btn-secondary.btn-cancel:hover,
button[data-action="cancel"]:hover,
.modal-content button.btn-cancel:hover {
    background: #dc2626 !important;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35) !important;
    transform: translateY(-1px) !important;
}

.btn-cancel:active,
button.btn-cancel:active,
.btn-secondary.btn-cancel:active,
button[data-action="cancel"]:active,
.modal-content button.btn-cancel:active {
    background: #b91c1c !important;
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(185, 28, 28, 0.25) !important;
}

/* =========================================================
   Follow-ups Responsive Table & Mobile Cards
   ========================================================= */
.followup-form {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.followup-form input[type="text"]#fu-customer {
    flex: 1;
    min-width: 200px;
}

.followup-form input[type="datetime-local"]#fu-date {
    flex: 1;
    min-width: 200px;
}

.followup-form input[type="text"]#fu-notes {
    flex: 2;
    min-width: 250px;
}

.fu-customer-content {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fu-customer-icon {
    font-size: 18px;
    color: var(--accent-blue);
    flex-shrink: 0;
}

.fu-date-content {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.fu-overdue-badge {
    background: rgba(239, 68, 68, 0.15) !important;
    color: var(--accent-red) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    padding: 2px 7px !important;
    border-radius: 6px !important;
}

.fu-notes-content {
    display: flex;
    align-items: center;
    gap: 6px;
}

.fu-user-badge {
    background: rgba(37, 99, 235, 0.1) !important;
    color: var(--accent-blue) !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    padding: 3px 9px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    border: 1px solid rgba(37, 99, 235, 0.2) !important;
}

.fu-filter-pill {
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.12));
    background: var(--panel-bg, rgba(255, 255, 255, 0.05));
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    outline: none;
}

.fu-filter-pill:hover {
    color: var(--text-primary);
    border-color: var(--accent-blue);
    background: rgba(37, 99, 235, 0.08);
}

.fu-filter-pill.active {
    background: var(--accent-blue) !important;
    color: #ffffff !important;
    border-color: var(--accent-blue) !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
}

.complete-fu-btn {
    padding: 6px 14px;
    font-size: 12.5px;
    background: var(--accent-green) !important;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.complete-fu-btn:active {
    transform: scale(0.95);
    opacity: 0.9;
}

.fu-action-group {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.edit-fu-btn {
    background: rgba(37, 99, 235, 0.08);
    color: var(--accent-blue);
    border: 1px solid rgba(37, 99, 235, 0.25);
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    transition: all 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.edit-fu-btn:hover {
    background: rgba(37, 99, 235, 0.16);
    border-color: rgba(37, 99, 235, 0.45);
}

.edit-fu-btn:active {
    transform: scale(0.95);
}

/* Follow-ups Mobile Screen Responsiveness */
@media (max-width: 768px) {
    #followups-tab {
        padding-bottom: 120px !important;
    }

    #followups-tab .followup-form-card {
        padding: 16px !important;
        margin-bottom: 16px !important;
        border-radius: 14px !important;
    }

    #followups-tab .followup-form {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    #followups-tab .followup-form input,
    #followups-tab .followup-form button {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #followups-tab .followup-form input {
        padding: 12px 14px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
    }

    #followups-tab .followup-form button {
        height: 44px !important;
        padding: 0 16px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        justify-content: center !important;
        border-radius: 10px !important;
    }

    #followups-tab .followups-table-container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    #followups-table {
        display: block !important;
        width: 100% !important;
    }

    #followups-table thead {
        display: none !important;
    }

    #followups-table-body {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #followups-table-body tr.followup-item-row {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        grid-template-areas:
            "cust act"
            "date act"
            "notes notes"
            "user user" !important;
        row-gap: 8px !important;
        align-items: start !important;
        background: var(--panel-bg) !important;
        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;
        border-radius: 14px !important;
        padding: 14px 16px !important;
        border: 1px solid var(--panel-border) !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #followups-table-body tr:not(.followup-item-row) {
        display: block !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        text-align: center !important;
        padding: 24px 0 !important;
    }

    #followups-table-body td {
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .fu-cell-customer {
        grid-area: cust !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: var(--text-primary) !important;
    }

    .fu-cell-action {
        grid-area: act !important;
        justify-content: flex-end !important;
        align-self: start !important;
    }

    .fu-action-group {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        align-items: flex-end !important;
        min-width: 82px !important;
    }

    .fu-action-group .complete-fu-btn {
        padding: 6px 14px !important;
        font-size: 12.5px !important;
        min-height: 32px !important;
        border-radius: 8px !important;
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    .fu-action-group .edit-fu-btn {
        padding: 6px 14px !important;
        font-size: 12.5px !important;
        min-height: 32px !important;
        border-radius: 8px !important;
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    .fu-cell-date {
        grid-area: date !important;
        font-size: 12.5px !important;
        color: var(--text-secondary) !important;
    }

    .fu-cell-notes {
        grid-area: notes !important;
        font-size: 13px !important;
        color: var(--text-primary) !important;
        background: rgba(37, 99, 235, 0.05) !important;
        padding: 8px 12px !important;
        border-radius: 8px !important;
        border-left: 3px solid var(--accent-blue) !important;
    }

    .fu-cell-user {
        grid-area: user !important;
        font-size: 12px !important;
    }
}

/* Push Notification Permission Modal (Mobile Native UI for iOS & Android) */
#notification-permission-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 99999 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0.72) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

#notification-permission-modal.show {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#notification-permission-modal.show .modal-content {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
}

/* Month Selection in Monthly Sales & Monthly Collection Modals */
.month-selection-row {
    margin: 10px 0 14px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#monthly-sales-month-select,
#monthly-collection-month-select,
#monthly-collection-salesman-select {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    line-height: 42px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 38px !important;
    padding-right: 32px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    background-color: var(--panel-bg) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--panel-border) !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

#monthly-sales-month-select option,
#monthly-collection-month-select option,
#monthly-collection-salesman-select option {
    background-color: var(--panel-bg, #1e1e1e);
    color: var(--text-primary, #ffffff);
    padding: 10px;
    font-size: 14px;
}

#monthly-sales-prev-month-btn,
#monthly-sales-next-month-btn,
#monthly-collection-prev-month-btn,
#monthly-collection-next-month-btn {
    height: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    border-radius: 10px !important;
    background: var(--panel-bg) !important;
    border: 1px solid var(--panel-border) !important;
    color: var(--text-primary) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: opacity 0.2s, background 0.2s;
}

#monthly-sales-prev-month-btn:disabled,
#monthly-sales-next-month-btn:disabled,
#monthly-collection-prev-month-btn:disabled,
#monthly-collection-next-month-btn:disabled {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
}

/* ==========================================================================
   DESKTOP SIDEBAR ELEVATION (Linear / Stripe / Apple Caliber UI)
   ========================================================================== */
@media (min-width: 769px) {
    /* Main Content Spacing on Desktop */
    .main-content {
        padding: 16px 20px 16px 0 !important;
    }

    /* Sidebar Base Shell on Desktop */
    .sidebar {
        width: 256px !important;
        min-width: 256px !important;
        height: calc(100vh - 32px) !important;
        margin: 16px 20px 16px 20px !important; /* Generous 20px right margin separating sidebar from content */
        padding: 16px 12px 14px 12px !important;
        border-radius: 20px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        overflow: hidden !important;
        z-index: 50;
    }

    /* Dark Mode Sidebar */
    html[data-theme="dark"] .sidebar,
    body[data-theme="dark"] .sidebar {
        background: rgba(14, 15, 19, 0.9) !important;
        backdrop-filter: blur(24px) saturate(160%) !important;
        -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 20px 48px -12px rgba(0, 0, 0, 0.55), inset 0 1px 0 0 rgba(255, 255, 255, 0.05) !important;
    }

    /* Light Mode Sidebar */
    html:not([data-theme="dark"]) .sidebar{
        background: rgba(255, 255, 255, 0.96) !important;
        backdrop-filter: blur(24px) saturate(160%) !important;
        -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.05), inset 0 1px 0 0 rgba(255, 255, 255, 0.9) !important;
    }

    /* Sidebar Logo / Header */
    .sidebar .logo {
        display: flex !important;
        align-items: center !important;
        gap: 11px !important;
        padding: 4px 8px 16px 8px !important;
        margin-bottom: 8px !important;
        flex-shrink: 0 !important;
    }
    html[data-theme="dark"] .sidebar .logo,
    body[data-theme="dark"] .sidebar .logo {
        border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    }
    html:not([data-theme="dark"]) .sidebar .logo{
        border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    }
    .sidebar .logo .app-logo {
        width: 32px !important;
        height: 32px !important;
        border-radius: 8px !important;
        filter: drop-shadow(0 2px 6px rgba(0, 112, 255, 0.25)) !important;
    }
    .sidebar .logo .brand-company-name {
        font-size: 19px !important;
        font-weight: 700 !important;
        letter-spacing: -0.4px !important;
        line-height: 1 !important;
    }

    /* Sidebar Navigation Container */
    .sidebar .nav-menu {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        flex: 1 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-right: 2px !important;
        scrollbar-width: none !important;
    }
    .sidebar .nav-menu::-webkit-scrollbar {
        display: none !important;
    }

    /* Hide More button on Desktop */
    .nav-more-container, .nav-more-dropdown {
        display: contents !important;
    }
    .nav-more-btn,
    #nav-more-btn,
    .sidebar .nav-more-btn,
    .sidebar #nav-more-btn,
    .sidebar .nav-item#nav-more-btn,
    .sidebar .nav-item.nav-more-btn {
        display: none !important;
    }

    /* Section Group Titles */
    .nav-section-title {
        display: flex !important;
        align-items: center !important;
        font-size: 10.5px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.09em !important;
        padding: 14px 10px 6px 10px !important;
        user-select: none !important;
        line-height: 1 !important;
    }
    .nav-section-title:first-of-type {
        padding-top: 4px !important;
    }
    html[data-theme="dark"] .nav-section-title,
    body[data-theme="dark"] .nav-section-title {
        color: #94a3b8 !important;
        opacity: 0.65 !important;
    }
    html:not([data-theme="dark"]) .nav-section-title{
        color: #64748b !important;
        opacity: 0.8 !important;
    }

    /* Nav Items */
    .sidebar .nav-item {
        display: flex !important;
        align-items: center !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 10px !important;
        border-radius: 9px !important;
        text-decoration: none !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        letter-spacing: -0.15px !important;
        transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.1s ease !important;
        position: relative !important;
        cursor: pointer !important;
        border: 1px solid transparent !important;
        background: transparent !important;
        white-space: nowrap !important;
    }

    html[data-theme="dark"] .sidebar .nav-item,
    body[data-theme="dark"] .sidebar .nav-item {
        color: #94a3b8 !important;
    }
    html:not([data-theme="dark"]) .sidebar .nav-item{
        color: #475569 !important;
    }

    .sidebar .nav-item i {
        width: 22px !important;
        height: 22px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 18px !important;
        margin-right: 11px !important;
        flex-shrink: 0 !important;
        text-align: center !important;
        line-height: 1 !important;
        color: inherit !important;
        transition: color 0.15s ease, transform 0.15s ease !important;
    }

    .sidebar .nav-item span {
        font-size: 13.5px !important;
        font-weight: inherit !important;
        line-height: 1.2 !important;
        color: inherit !important;
        flex: 1 !important;
        text-align: left !important;
    }

    /* Nav Item Hover State */
    html[data-theme="dark"] .sidebar .nav-item:hover,
    body[data-theme="dark"] .sidebar .nav-item:hover {
        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.06) !important;
        border-color: rgba(255, 255, 255, 0.05) !important;
    }
    html:not([data-theme="dark"]) .sidebar .nav-item:hover{
        background: rgba(0, 0, 0, 0.04) !important;
        border-color: rgba(0, 0, 0, 0.03) !important;
        color: #0f172a !important;
    }
    .sidebar .nav-item:active {
        transform: scale(0.985) !important;
    }

    /* Nav Item Active State - Dark Mode */
    html[data-theme="dark"] .sidebar .nav-item.active,
    body[data-theme="dark"] .sidebar .nav-item.active {
        background: rgba(37, 99, 235, 0.16) !important;
        border: 1px solid rgba(59, 130, 246, 0.35) !important;
        border-left: 1px solid rgba(59, 130, 246, 0.35) !important;
        color: #ffffff !important;
        font-weight: 600 !important;
        box-shadow: 0 2px 10px -2px rgba(37, 99, 235, 0.3) !important;
    }
    html[data-theme="dark"] .sidebar .nav-item.active i,
    body[data-theme="dark"] .sidebar .nav-item.active i {
        color: #60a5fa !important;
    }

    /* Nav Item Active State - Light Mode */
    html:not([data-theme="dark"]) .sidebar .nav-item.active{
        background: rgba(37, 99, 235, 0.08) !important;
        border: 1px solid rgba(37, 99, 235, 0.22) !important;
        border-left: 1px solid rgba(37, 99, 235, 0.22) !important;
        color: #1d4ed8 !important;
        font-weight: 600 !important;
        box-shadow: 0 2px 6px -1px rgba(37, 99, 235, 0.15) !important;
    }
    html:not([data-theme="dark"]) .sidebar .nav-item.active i{
        color: #2563eb !important;
    }

    .sidebar .nav-item.active::before {
        content: '' !important;
        position: absolute !important;
        left: -1px !important;
        top: 25% !important;
        height: 50% !important;
        width: 3.5px !important;
        border-radius: 0 3px 3px 0 !important;
        background: var(--primary-color) !important;
        box-shadow: 0 0 10px var(--primary-color) !important;
    }

    /* Sidebar Footer & User Card */
    .sidebar-footer {
        padding-top: 10px !important;
        margin-top: 6px !important;
        flex-shrink: 0 !important;
    }
    html[data-theme="dark"] .sidebar-footer,
    body[data-theme="dark"] .sidebar-footer {
        border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
    }
    html:not([data-theme="dark"]) .sidebar-footer{
        border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    }

    .desktop-user-card {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 8px 10px !important;
        border-radius: 12px !important;
        transition: background 0.2s ease, border-color 0.2s ease !important;
    }
    html[data-theme="dark"] .desktop-user-card,
    body[data-theme="dark"] .desktop-user-card {
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
    }
    html:not([data-theme="dark"]) .desktop-user-card{
        background: rgba(0, 0, 0, 0.02) !important;
        border: 1px solid rgba(0, 0, 0, 0.06) !important;
    }
    html[data-theme="dark"] .desktop-user-card:hover,
    body[data-theme="dark"] .desktop-user-card:hover {
        background: rgba(255, 255, 255, 0.06) !important;
        border-color: rgba(255, 255, 255, 0.12) !important;
    }
    html:not([data-theme="dark"]) .desktop-user-card:hover{
        background: rgba(0, 0, 0, 0.04) !important;
        border-color: rgba(0, 0, 0, 0.1) !important;
    }

    .desktop-user-avatar {
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        background: linear-gradient(135deg, rgba(37, 99, 235, 0.2), rgba(59, 130, 246, 0.35)) !important;
        border: 1px solid rgba(59, 130, 246, 0.3) !important;
        color: #60a5fa !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 16px !important;
        position: relative !important;
        flex-shrink: 0 !important;
        overflow: visible !important;
    }
    .desktop-user-avatar img {
        width: 100% !important;
        height: 100% !important;
        border-radius: 9px !important;
        object-fit: cover !important;
        display: block;
    }
    .user-live-status {
        position: absolute !important;
        bottom: -2px !important;
        right: -2px !important;
        width: 8px !important;
        height: 8px !important;
        border-radius: 50% !important;
        background: #10b981 !important;
        z-index: 2 !important;
    }
    html[data-theme="dark"] .user-live-status,
    body[data-theme="dark"] .user-live-status {
        border: 1.5px solid #0d0e12 !important;
    }
    html:not([data-theme="dark"]) .user-live-status{
        border: 1.5px solid #ffffff !important;
    }

    .desktop-user-meta {
        display: flex !important;
        flex-direction: column !important;
        min-width: 0 !important;
        flex: 1 !important;
        gap: 1px !important;
        text-align: left !important;
    }
    .desktop-user-name {
        font-size: 13px !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        line-height: 1.2 !important;
    }
    html[data-theme="dark"] .desktop-user-name,
    body[data-theme="dark"] .desktop-user-name {
        color: #ffffff !important;
    }
    html:not([data-theme="dark"]) .desktop-user-name{
        color: #0f172a !important;
    }

    .desktop-user-role-badge {
        font-size: 9.5px !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        line-height: 1.2 !important;
    }
    html[data-theme="dark"] .desktop-user-role-badge,
    body[data-theme="dark"] .desktop-user-role-badge {
        color: #94a3b8 !important;
    }
    html:not([data-theme="dark"]) .desktop-user-role-badge{
        color: #64748b !important;
    }

    .desktop-logout-btn {
        width: 30px !important;
        height: 30px !important;
        border-radius: 8px !important;
        background: transparent !important;
        border: 1px solid transparent !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 17px !important;
        cursor: pointer !important;
        transition: all 0.15s ease !important;
        flex-shrink: 0 !important;
        padding: 0 !important;
    }
    html[data-theme="dark"] .desktop-logout-btn,
    body[data-theme="dark"] .desktop-logout-btn {
        color: #94a3b8 !important;
    }
    html:not([data-theme="dark"]) .desktop-logout-btn{
        color: #64748b !important;
    }
    .desktop-logout-btn:hover {
        background: rgba(239, 68, 68, 0.12) !important;
        color: #ef4444 !important;
        border-color: rgba(239, 68, 68, 0.25) !important;
        transform: scale(1.04) !important;
    }
    .desktop-logout-btn:active {
        transform: scale(0.96) !important;
    }

    /* Dedicated Desktop Theme Toggle Button */
    .desktop-top-theme-wrap {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
    #theme-toggle {
        width: 36px !important;
        height: 36px !important;
        border-radius: 10px !important;
        background: var(--overlay-light) !important;
        border: 1px solid var(--panel-border) !important;
        color: var(--text-secondary) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        transition: background 0.2s, color 0.2s, transform 0.15s !important;
    }
    #theme-toggle:hover {
        background: var(--overlay-hover) !important;
        color: var(--text-primary) !important;
        transform: scale(1.05) !important;
    }
}

/* Shop role isolation on section titles */
body[data-role="shop"] .nav-section-title {
    display: none !important;
}

/* Offline Mode Status Dot */
.dot.yellow {
    background-color: #f59e0b !important;
    color: #f59e0b !important;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.4) !important;
}

/* ==========================================================================
   MOBILE DROPDOWN & MENU UNIFIED DESIGN SYSTEM
   Applies consistent container, typography, icons, padding and hover states across:
   1. Profile dropdown (#mobile-profile-dropdown)
   2. More bottom navigation dropdown (.nav-more-dropdown)
   3. Vehicle log export dropdown (#fleet-mobile-export-dropdown / .fleet-mobile-export-menu)
   ========================================================================== */
#mobile-profile-dropdown,
.fleet-mobile-export-menu {
    min-width: 200px !important;
    padding: 6px !important;
    border-radius: 14px !important;
    background: var(--modal-bg, var(--panel-bg)) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid var(--panel-border) !important;
    box-shadow: rgba(0, 0, 0, 0.3) -3px 10px 20px;
    box-sizing: border-box !important;
}

#mobile-profile-dropdown .mobile-profile-header,
.fleet-mobile-export-header {
    display: flex !important;
    align-items: center !important;
    padding: 10px 14px 10px 14px !important;
    border-bottom: 1px solid var(--panel-border) !important;
    margin-bottom: 4px !important;
    box-sizing: border-box !important;
}

#mobile-profile-dropdown .mobile-profile-header strong,
#mobile-username-display-inner,
.fleet-mobile-export-header span {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.mobile-profile-item,
#mobile-profile-dropdown button,
.fleet-export-option-btn {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    border: none !important;
    background: transparent !important;
    border-radius: 9px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    color: var(--text-secondary) !important;
    cursor: pointer !important;
    text-align: left !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}

.mobile-profile-item:hover,
.mobile-profile-item:active,
#mobile-profile-dropdown button:hover,
#mobile-profile-dropdown button:active,
.fleet-export-option-btn:hover,
.fleet-export-option-btn:active {
    background: var(--overlay-light) !important;
    color: var(--text-primary) !important;
}

/* Hide Export Excel option on Android devices */
html.is-android #fleet-mobile-export-excel-btn,
body.is-android #fleet-mobile-export-excel-btn,
[data-device="android"] #fleet-mobile-export-excel-btn,
.is-android #fleet-mobile-export-excel-btn {
    display: none !important;
}

.mobile-profile-item i,
#mobile-profile-dropdown button i,
.fleet-export-option-btn i {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    flex-shrink: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mobile-profile-item span,
#mobile-profile-dropdown button span,
.fleet-export-option-btn span {
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    flex: 1 !important;
    text-align: left !important;
}

.mobile-profile-item.logout-action {
    color: var(--accent-red) !important;
}
.mobile-profile-item.logout-action i {
    color: var(--accent-red) !important;
}
.mobile-profile-item.logout-action:hover,
.mobile-profile-item.logout-action:active {
    background: rgba(239, 68, 68, 0.1) !important;
    color: var(--accent-red) !important;
}

/* Also ensure mobile "More" dropdown and bottom nav have matching razor-sharp alignment & typography */
@media (max-width: 768px) {
    .nav-more-dropdown {
        min-width: 200px !important;
        padding: 6px !important;
        border-radius: 14px !important;
        background: var(--modal-bg, var(--panel-bg)) !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        border: 1px solid var(--panel-border) !important;
        /* box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important; */
        box-sizing: border-box !important;
    }

    .nav-more-dropdown .nav-item {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 14px !important;
        border-radius: 9px !important;
        border: none !important;
        width: 100% !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: var(--text-secondary) !important;
        background: transparent !important;
        text-decoration: none !important;
        transition: background 0.15s ease, color 0.15s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .nav-more-dropdown .nav-item:hover,
    .nav-more-dropdown .nav-item:active {
        background: var(--overlay-light) !important;
        color: var(--text-primary) !important;
    }

    /* Never show vehicle nav item or sales-only items in More dropdown for admin */
    html[data-role='admin'] .nav-more-dropdown .nav-item[data-tab="vehicle"],
    body[data-role='admin'] .nav-more-dropdown .nav-item[data-tab="vehicle"],
    [data-role='admin'] .nav-more-dropdown .nav-item[data-tab="vehicle"],
    html[data-role='admin'] .nav-more-dropdown .nav-item.sales-only,
    body[data-role='admin'] .nav-more-dropdown .nav-item.sales-only,
    [data-role='admin'] .nav-more-dropdown .nav-item.sales-only {
        display: none !important;
    }

    .nav-more-dropdown .nav-item.active {
        border: none !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: none !important;
        background: var(--overlay-light) !important;
        color: var(--primary-color) !important;
        font-weight: 600 !important;
        pointer-events: none !important;
        cursor: default !important;
    }

    .nav-more-dropdown .nav-item.active i {
        color: var(--primary-color) !important;
    }

    .nav-more-dropdown .nav-item i {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 20px !important;
        flex-shrink: 0 !important;
        text-align: center !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    .nav-more-dropdown .nav-item span {
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        flex: 1 !important;
        text-align: left !important;
    }

    /* Fixed 24px icon box for bottom navigation bar */
    .sidebar .nav-menu .nav-item i {
        width: 24px !important;
        height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
    }
}

/* Monthly Sales Modal Segmented Filter Pills */
.monthly-sales-filter-row {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.monthly-sales-filter-row::-webkit-scrollbar {
    display: none;
}
.monthly-sales-filter-btn {
    padding: 6px 14px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    border-radius: 20px !important;
    border: 1px solid var(--panel-border) !important;
    background: transparent !important;
    color: var(--text-secondary) !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.monthly-sales-filter-btn:hover {
    background: var(--overlay-light) !important;
    color: var(--text-primary) !important;
}
.monthly-sales-filter-btn.active {
    background: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 2px 8px rgba(0, 112, 255, 0.25) !important;
}

@media (max-width: 768px) {
    /* Monthly Collection Modal Mobile Card View */
    #monthly-collection-table {
        display: block;
        width: 100%;
    }
    #monthly-collection-table thead {
        display: none;
    }
    #monthly-collection-table-body {
        display: flex;
        flex-direction: column;
        width: 100%;
        box-sizing: border-box;
        gap: 12px;
    }
    #monthly-collection-table-body tr {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: var(--panel-bg);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-radius: 16px;
        padding: 12px 16px;
        border: 1px solid rgb(0 0 0 / 13%);
        width: 100%;
        box-sizing: border-box;
    }
    #monthly-collection-table-body td {
        display: flex;
        padding: 0;
        border: none;
        background: transparent !important;
    }
    #monthly-collection-table-body td:nth-child(1) { /* Party Name */
        font-size: 15px;
        font-weight: 500;
        color: var(--text-primary);
        flex: 1;
        word-break: break-word;
        flex-direction: column;
        align-items: flex-start;
    }
    #monthly-collection-table-body td:nth-child(2) { /* Collected Amount */
        font-weight: 600;
        font-size: 14px;
        white-space: nowrap;
        margin-left: 12px;
    }
    #monthly-collection-table-body td.empty-row {
        justify-content: center;
        text-align: center;
        width: 100%;
        padding: 20px;
    }
}

/* Item Details Filter Chips Loading State */
.item-filter-chips .filter-chip:disabled,
.item-filter-chips .filter-chip.disabled {
    pointer-events: none !important;
    opacity: 0.45 !important;
    cursor: not-allowed !important;
}

/* Inventory Row Loading State in Mobile Chevron */
#inventory-table-body tr.clickable-group-row.loading .mobile-chevron .ph-caret-right {
    display: none !important;
}
#inventory-table-body tr.clickable-group-row.loading .mobile-chevron .row-loading-spinner {
    display: inline-block !important;
}


