/* Nafe ERP UI V3 — rebuilt application shell. Presentation only. */
:root {
    --v3-sidebar: 222px;
    --v3-sidebar-mini: 68px;
    --v3-header: 54px;
    --v3-bg: #f5f6f8;
    --v3-surface: #ffffff;
    --v3-ink: #111827;
    --v3-text: #344054;
    --v3-muted: #7b8496;
    --v3-line: #e4e7ec;
    --v3-line-soft: #eef0f3;
    --v3-brand: #2458d3;
    --v3-brand-dark: #1847b8;
    --v3-brand-soft: #edf3ff;
    --v3-success: #138a5b;
    --v3-success-soft: #eaf8f1;
    --v3-warning: #b86809;
    --v3-warning-soft: #fff6e8;
    --v3-danger: #c93b36;
    --v3-danger-soft: #fff0ef;
    --v3-info: #0876a6;
    --v3-info-soft: #eaf7fc;
    --v3-radius: 10px;
    --v3-shadow: 0 1px 2px rgba(16, 24, 40, .025), 0 4px 14px rgba(16, 24, 40, .035);
}

html { scroll-behavior: smooth; }
body.nafe-ui-v3 {
    margin: 0;
    overflow-x: hidden;
    color: var(--v3-text);
    background: var(--v3-bg);
    font-family: "Cairo", "IBM Plex Sans Arabic", sans-serif;
    font-size: 13px;
    -webkit-font-smoothing: antialiased;
}
.nafe-ui-v3 *, .nafe-ui-v3 *::before, .nafe-ui-v3 *::after { box-sizing: border-box; }
.nafe-ui-v3 a, .nafe-ui-v3 button { transition: .16s ease; }

/* ----- application geometry ----- */
.nafe-ui-v3 .app-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    width: var(--v3-sidebar);
    color: var(--v3-text);
    background: #fff;
    border-left: 1px solid var(--v3-line);
    box-shadow: none;
}
.nafe-ui-v3 .main-sidebar-header {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1002;
    width: var(--v3-sidebar);
    height: var(--v3-header);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-bottom: 1px solid var(--v3-line);
}
.nafe-ui-v3 .main-sidebar-header .main-logo { max-width: 116px; max-height: 40px; object-fit: contain; }
.nafe-ui-v3 .main-sidemenu { height: 100%; padding-top: var(--v3-header); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #d7dce5 transparent; }

.nafe-ui-v3 .main-header.side-header {
    position: fixed;
    top: 0;
    right: var(--v3-sidebar) !important;
    left: 0 !important;
    z-index: 999;
    width: calc(100vw - var(--v3-sidebar)) !important;
    max-width: calc(100vw - var(--v3-sidebar));
    height: var(--v3-header) !important;
    min-height: var(--v3-header) !important;
    margin: 0;
    padding: 0;
    background: rgba(255, 255, 255, .98);
    border-bottom: 1px solid var(--v3-line);
    box-shadow: none;
    backdrop-filter: blur(12px);
}
.nafe-ui-v3 .main-header .container-fluid,
.nafe-ui-v3 .nafe-topbar__inner { height: var(--v3-header) !important; min-height: var(--v3-header) !important; }
.nafe-ui-v3 .nafe-topbar__inner { width: 100% !important; max-width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 13px; overflow: visible; }
.nafe-ui-v3 .nafe-topbar__start,
.nafe-ui-v3 .nafe-topbar__actions { min-width: 0; max-width: calc(100% - 44px); display: flex; align-items: center; gap: 6px; flex: 0 1 auto; white-space: nowrap; }
.nafe-ui-v3 .nafe-topbar__start { flex: 0 0 auto; }
html[dir="rtl"] .nafe-ui-v3 .nafe-topbar__actions { margin-right: auto !important; margin-left: 0 !important; }
html[dir="ltr"] .nafe-ui-v3 .nafe-topbar__actions { margin-right: 0 !important; margin-left: auto !important; }
.nafe-ui-v3 .main-header-left,
.nafe-ui-v3 .main-header-right { margin: 0 !important; }
.nafe-ui-v3 .responsive-logo { display: none !important; }

.nafe-ui-v3 .app-content {
    min-height: 100vh;
    margin-right: var(--v3-sidebar);
    padding-top: var(--v3-header);
    overflow: visible;
    background: var(--v3-bg);
}
.nafe-ui-v3 .nafe-page-shell-v3 { width: 100%; max-width: 1660px; min-height: calc(100vh - var(--v3-header) - 44px); margin: 0 auto; padding: 14px 16px 28px; }

/* ----- topbar controls ----- */
.nafe-ui-v3 .nafe-icon-button,
.nafe-ui-v3 button.app-sidebar__toggle {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    color: #475467;
    background: #fff;
    border: 1px solid var(--v3-line);
    border-radius: 8px;
    box-shadow: none;
    cursor: pointer;
}
.nafe-ui-v3 .nafe-icon-button:hover,
.nafe-ui-v3 button.app-sidebar__toggle:hover { color: var(--v3-brand); background: var(--v3-brand-soft); border-color: #cbd9fb; }
.nafe-ui-v3 .nafe-language-menu .nafe-icon-button { width: 34px; padding: 0; }
.nafe-ui-v3 .nafe-language-menu .nafe-icon-button span { display: none !important; }

.nafe-ui-v3 .nafe-branch-switch {
    min-width: 148px;
    max-width: 205px;
    height: 36px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 3px 7px;
    color: var(--v3-text);
    background: #fff;
    border: 1px solid var(--v3-line);
    border-radius: 8px;
}
.nafe-ui-v3 .nafe-branch-switch:hover { color: var(--v3-brand); border-color: #cbd9fb; background: #fafcff; }
.nafe-ui-v3 .nafe-branch-switch__icon { width: 27px; height: 27px; display: grid; place-items: center; color: #fff; background: var(--v3-brand); border-radius: 6px; flex: 0 0 auto; }
.nafe-ui-v3 .nafe-branch-switch__copy { min-width: 0; flex: 1; line-height: 1.1; }
.nafe-ui-v3 .nafe-branch-switch__copy small { display: block; color: var(--v3-muted); font-size: 7px; }
.nafe-ui-v3 .nafe-branch-switch__copy strong { display: block; overflow: hidden; margin-top: 2px; color: var(--v3-ink); font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.nafe-ui-v3 .nafe-branch-switch__chevron { color: #98a2b3; font-size: 9px; }

.nafe-ui-v3 .nafe-profile-trigger {
    height: 38px;
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 2px 5px;
    color: var(--v3-text);
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}
.nafe-ui-v3 .nafe-profile-trigger:hover { background: #f6f7f9; }
.nafe-ui-v3 .nafe-avatar-wrap { position: relative; }
.nafe-ui-v3 .nafe-avatar-wrap img { width: 31px; height: 31px; object-fit: cover; border: 1px solid #dfe3e9; border-radius: 8px; }
.nafe-ui-v3 .nafe-online-dot { position: absolute; right: -1px; bottom: -1px; width: 8px; height: 8px; background: #17a66b; border: 2px solid #fff; border-radius: 50%; }
.nafe-ui-v3 .nafe-profile-trigger__copy { min-width: 80px; max-width: 132px; flex-direction: column; align-items: flex-start; line-height: 1.1; text-align: right; }
.nafe-ui-v3 .nafe-profile-trigger__copy strong,
.nafe-ui-v3 .nafe-profile-trigger__copy small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nafe-ui-v3 .nafe-profile-trigger__copy strong { color: var(--v3-ink); font-size: 9px; font-weight: 800; }
.nafe-ui-v3 .nafe-profile-trigger__copy small { margin-top: 3px; color: var(--v3-muted); font-size: 7px; }

.nafe-ui-v3 .dropdown-menu { padding: 6px; background: #fff; border: 1px solid var(--v3-line); border-radius: 10px; box-shadow: 0 14px 36px rgba(16, 24, 40, .13); }
.nafe-ui-v3 .dropdown-item { min-height: 34px; display: flex; align-items: center; gap: 8px; padding: 7px 9px; color: var(--v3-text); border-radius: 7px; font-size: 9px; font-weight: 700; }
.nafe-ui-v3 .dropdown-item:hover { color: var(--v3-brand); background: var(--v3-brand-soft); }
.nafe-ui-v3 .nafe-profile-dropdown { min-width: 240px; }
.nafe-ui-v3 .nafe-profile-dropdown__head { display: flex; align-items: center; gap: 9px; margin-bottom: 5px; padding: 9px; background: #f7f8fa; border-radius: 8px; }
.nafe-ui-v3 .nafe-profile-dropdown__head img { width: 36px; height: 36px; border: 1px solid #e0e4ea; border-radius: 8px; }
.nafe-ui-v3 .nafe-profile-dropdown__head strong,
.nafe-ui-v3 .nafe-profile-dropdown__head span { display: block; max-width: 165px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nafe-ui-v3 .nafe-profile-dropdown__head strong { color: var(--v3-ink); font-size: 10px; }
.nafe-ui-v3 .nafe-profile-dropdown__head span { margin-top: 2px; color: var(--v3-muted); font-size: 8px; }
.nafe-ui-v3 .nafe-logout-link { color: var(--v3-danger); }

/* ----- navigation ----- */
.nafe-ui-v3 .nafe-nav-search-v3 { position: relative; margin: 10px 9px 7px; }
.nafe-ui-v3 .nafe-nav-search-v3 > i { position: absolute; top: 10px; right: 10px; color: #98a2b3; font-size: 12px; pointer-events: none; }
.nafe-ui-v3 .nafe-nav-search-v3 input { width: 100%; height: 34px; padding: 7px 29px 7px 28px; color: var(--v3-ink); background: #f7f8fa; border: 1px solid transparent; border-radius: 8px; font: 600 9px "Cairo", sans-serif; outline: none; }
.nafe-ui-v3 .nafe-nav-search-v3 input:focus { background: #fff; border-color: #b8caf5; box-shadow: 0 0 0 3px rgba(36, 88, 211, .08); }
.nafe-ui-v3 .nafe-nav-search-v3 button { position: absolute; top: 5px; left: 5px; width: 24px; height: 24px; display: none; padding: 0; color: #98a2b3; background: transparent; border: 0; border-radius: 6px; cursor: pointer; }
.nafe-ui-v3 .nafe-nav-search-v3.has-value button { display: block; }
.nafe-ui-v3 .side-menu { margin: 0; padding: 3px 7px 18px; }
.nafe-ui-v3 .app-sidebar .side-item.side-item-category { display: block; margin: 8px 9px 5px; padding: 0; color: #a0a7b4; font-size: 7px; font-weight: 800; }
.nafe-ui-v3 .slide { margin: 1px 0; }
.nafe-ui-v3 .side-menu .slide .side-menu__item { min-height: 36px; height: auto; display: flex; align-items: center; gap: 8px; margin: 0; padding: 7px 9px; color: #4b5565; border: 0; border-radius: 7px; }
.nafe-ui-v3 .side-menu__label { color: inherit; font-size: 9.5px; font-weight: 700; }
.nafe-ui-v3 .side-menu__icon { width: 15px; height: 15px; margin: 0 !important; color: #8791a2; stroke-width: 1.8; }
.nafe-ui-v3 .side-menu__item .angle { width: 12px; height: 12px; margin-right: auto; color: #b1b7c2; }
.nafe-ui-v3 .side-menu__item:hover { color: var(--v3-brand); background: #f5f7fb; }
.nafe-ui-v3 .side-menu__item.active,
.nafe-ui-v3 .slide.is-expanded > .side-menu__item { color: var(--v3-brand); background: var(--v3-brand-soft); }
.nafe-ui-v3 .side-menu__item.active .side-menu__icon,
.nafe-ui-v3 .slide.is-expanded > .side-menu__item .side-menu__icon { color: var(--v3-brand); }
.nafe-ui-v3 .side-menu li ul.slide-menu { margin: 2px 14px 5px 0; padding: 2px 9px 2px 0 !important; border-right: 1px solid #dde2ea; }
.nafe-ui-v3 .slide-menu .slide-item { min-height: 29px; display: flex; align-items: center; gap: 6px; padding: 5px 7px; color: #687386; border-radius: 6px; font-size: 8.5px; font-weight: 650; }
.nafe-ui-v3 .slide-menu .slide-item svg { width: 11px; height: 11px; }
.nafe-ui-v3 .slide-menu .slide-item::before { display: none !important; }
.nafe-ui-v3 .slide-menu .slide-item:hover,
.nafe-ui-v3 .slide-menu .slide-item.active { color: var(--v3-brand); background: #f4f7ff; }
.nafe-ui-v3 .slide.is-nav-filtered-out { display: none !important; }

/* ----- page headings and generic surfaces ----- */
.nafe-ui-v3 .breadcrumb-header { min-height: 46px; display: flex; align-items: center; margin: 0 0 10px; padding: 0 2px 9px; border-bottom: 1px solid var(--v3-line); }
.nafe-ui-v3 .breadcrumb-header .content-title,
.nafe-ui-v3 .main-content-title { margin: 0; color: var(--v3-ink); font-size: 17px !important; font-weight: 850; }
.nafe-ui-v3 .breadcrumb-header .text-muted { color: var(--v3-muted) !important; font-size: 8px !important; }
.nafe-ui-v3 .card { margin-bottom: 13px; background: #fff; border: 1px solid var(--v3-line); border-radius: var(--v3-radius); box-shadow: var(--v3-shadow); overflow: visible; }
.nafe-ui-v3 .card-header { min-height: 50px; padding: 11px 13px; background: #fff; border-bottom: 1px solid var(--v3-line-soft); border-radius: var(--v3-radius) var(--v3-radius) 0 0; }
.nafe-ui-v3 .card-header.pb-0 { padding-bottom: 11px !important; }
.nafe-ui-v3 .card-body { padding: 13px; }
.nafe-ui-v3 .card-title { color: var(--v3-ink); font-size: 12px; font-weight: 800; }

/* ----- document list: structurally compact ----- */
.nafe-ui-v3 .document-list-card { overflow: hidden; }
.nafe-ui-v3 .document-list-toolbar { min-height: 54px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 9px 12px !important; }
.nafe-ui-v3 .document-list-toolbar > .col-sm-1,
.nafe-ui-v3 .document-list-toolbar > .col-md-2 { width: auto; max-width: none; padding: 0; flex: 0 0 auto; }
.nafe-ui-v3 .document-list-toolbar h5 { margin-left: auto !important; color: var(--v3-ink); font-size: 11px; font-weight: 800; }
.nafe-ui-v3 .document-list-body { padding: 0 !important; }

.nafe-ui-v3 .document-filter-disclosure { background: #fafbfc; border-bottom: 1px solid var(--v3-line); }
.nafe-ui-v3 .document-filter-disclosure summary { height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 13px; color: #475467; cursor: pointer; list-style: none; user-select: none; }
.nafe-ui-v3 .document-filter-disclosure summary::-webkit-details-marker { display: none; }
.nafe-ui-v3 .document-filter-summary__main,
.nafe-ui-v3 .document-filter-summary__hint { display: flex; align-items: center; gap: 7px; }
.nafe-ui-v3 .document-filter-summary__main { font-size: 9px; font-weight: 800; }
.nafe-ui-v3 .document-filter-summary__main > i { color: var(--v3-brand); }
.nafe-ui-v3 .document-filter-summary__hint { color: var(--v3-muted); font-size: 8px; }
.nafe-ui-v3 .document-filter-count { min-width: 18px; height: 18px; display: inline-grid; place-items: center; color: #fff; background: var(--v3-brand); border-radius: 99px; font-size: 8px; }
.nafe-ui-v3 .document-filter-chevron { transition: transform .16s ease; }
.nafe-ui-v3 .document-filter-disclosure[open] .document-filter-chevron { transform: rotate(180deg); }
.nafe-ui-v3 .invoice-filter-card { margin: 0 !important; padding: 10px 12px 12px !important; background: #fff !important; border: 0 !important; border-top: 1px solid var(--v3-line-soft) !important; border-radius: 0 !important; box-shadow: none !important; }
.nafe-ui-v3 .invoice-filter-grid { display: grid !important; grid-template-columns: minmax(120px,.9fr) minmax(150px,1.25fr) minmax(135px,1.05fr) minmax(120px,.9fr) minmax(120px,.85fr) minmax(120px,.85fr) auto; gap: 8px !important; align-items: end !important; }
.nafe-ui-v3 .invoice-filter-card label { display: block; margin: 0 0 4px; color: #667085 !important; font-size: 7.5px !important; font-weight: 800 !important; }
.nafe-ui-v3 .invoice-filter-actions { display: flex; gap: 5px; align-items: stretch; }
.nafe-ui-v3 .invoice-filter-actions .btn { min-width: 62px; }

/* ----- controls ----- */
.nafe-ui-v3 .btn { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 6px 11px; border-radius: 7px; font-family: inherit; font-size: 9px; font-weight: 800; box-shadow: none; }
.nafe-ui-v3 .btn-sm { min-height: 28px; padding: 4px 7px; border-radius: 6px; font-size: 8px; }
.nafe-ui-v3 .btn-lg { min-height: 36px; padding: 7px 12px; border-radius: 8px; font-size: 9.5px; }
.nafe-ui-v3 .btn-primary { color: #fff; background: var(--v3-brand); border-color: var(--v3-brand); }
.nafe-ui-v3 .btn-primary:hover { color: #fff; background: var(--v3-brand-dark); border-color: var(--v3-brand-dark); }
.nafe-ui-v3 .btn-secondary { color: #475467; background: #f1f3f6; border-color: #e6e9ee; }
.nafe-ui-v3 .btn-success { background: var(--v3-success); border-color: var(--v3-success); }
.nafe-ui-v3 .btn-danger { background: var(--v3-danger); border-color: var(--v3-danger); }
.nafe-ui-v3 .btn-warning { color: #fff; background: var(--v3-warning); border-color: var(--v3-warning); }
.nafe-ui-v3 .btn-info { background: var(--v3-info); border-color: var(--v3-info); }
.nafe-ui-v3 .btn-light { color: #475467; background: #fff; border: 1px solid var(--v3-line); }
.nafe-ui-v3 .btn-outline-primary { color: var(--v3-brand); background: #fff; border-color: #bdcbec; }

.nafe-ui-v3 label { margin-bottom: 5px; color: #475467; font-size: 8.5px; font-weight: 750; }
.nafe-ui-v3 .form-group { margin-bottom: 11px; }
.nafe-ui-v3 .form-control,
.nafe-ui-v3 .custom-select { min-height: 34px; height: auto; padding: 6px 9px; color: var(--v3-ink); background: #fff; border: 1px solid #d9dee7; border-radius: 7px; font-family: inherit; font-size: 9px; }
.nafe-ui-v3 textarea.form-control { min-height: 72px; }
.nafe-ui-v3 .form-control:focus,
.nafe-ui-v3 .custom-select:focus { color: var(--v3-ink); background: #fff; border-color: #8facf0; box-shadow: 0 0 0 3px rgba(36, 88, 211, .08); }
.nafe-ui-v3 .form-control[readonly],
.nafe-ui-v3 .form-control:disabled { background: #f4f5f7; }
.nafe-ui-v3 .select2-container { width: 100% !important; }
.nafe-ui-v3 .select2-container .select2-selection--single,
.nafe-ui-v3 .select2-container .select2-selection--multiple { min-height: 34px; background: #fff; border: 1px solid #d9dee7 !important; border-radius: 7px !important; }
.nafe-ui-v3 .select2-container .select2-selection--single .select2-selection__rendered { min-height: 32px; padding: 5px 9px; color: var(--v3-ink); font-size: 9px; line-height: 21px; }
.nafe-ui-v3 .select2-container .select2-selection--single .select2-selection__arrow { top: 4px; }
.select2-dropdown { border: 1px solid var(--v3-line) !important; border-radius: 8px !important; box-shadow: 0 12px 30px rgba(16,24,40,.12); overflow: hidden; }
.select2-results__option { padding: 7px 9px !important; font: 600 9px "Cairo", sans-serif; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--v3-brand) !important; }

/* ----- tables and DataTables ----- */
.nafe-ui-v3 .table-responsive { overflow-x: auto; border-radius: 0; }
.nafe-ui-v3 .table { width: 100%; margin: 0; color: var(--v3-text); font-size: 9.5px; }
.nafe-ui-v3 .table thead th { padding: 9px 9px; color: #667085; background: #f7f8fa; border-top: 1px solid var(--v3-line-soft); border-bottom: 1px solid var(--v3-line); font-size: 7.5px; font-weight: 850; vertical-align: middle; white-space: nowrap; }
.nafe-ui-v3 .table tbody td { padding: 9px; color: #344054; border-color: var(--v3-line-soft); vertical-align: middle; }
.nafe-ui-v3 .table-hover tbody tr:hover { color: inherit; background: #fafcff; }
.nafe-ui-v3 .dataTables_wrapper { padding: 10px 12px 12px; }
.nafe-ui-v3 .dataTables_wrapper .table-responsive,
.nafe-ui-v3 .dataTables_wrapper > .row { margin-inline: 0; }
.nafe-ui-v3 .dataTables_wrapper .dataTables_length,
.nafe-ui-v3 .dataTables_wrapper .dataTables_filter { margin: 0 0 8px; color: var(--v3-muted); font-size: 8px; }
.nafe-ui-v3 .dataTables_wrapper .dataTables_filter input,
.nafe-ui-v3 .dataTables_wrapper .dataTables_length select { min-height: 30px; margin-inline: 5px; padding: 4px 7px; background: #fff; border: 1px solid #d9dee7; border-radius: 6px; outline: none; }
.nafe-ui-v3 .dataTables_wrapper .dataTables_info { padding-top: 9px; color: var(--v3-muted); font-size: 7.5px; }
.nafe-ui-v3 .page-link,
.nafe-ui-v3 .dataTables_wrapper .dataTables_paginate .paginate_button { min-width: 28px; min-height: 28px; margin: 0 1px; padding: 5px 7px !important; color: #475467 !important; background: #fff !important; border: 1px solid var(--v3-line) !important; border-radius: 6px !important; box-shadow: none !important; font-size: 8px; }
.nafe-ui-v3 .page-item.active .page-link,
.nafe-ui-v3 .dataTables_wrapper .dataTables_paginate .paginate_button.current { color: #fff !important; background: var(--v3-brand) !important; border-color: var(--v3-brand) !important; }

/* ----- badges, alerts, modals ----- */
.nafe-ui-v3 .badge { padding: 4px 7px; border-radius: 99px; font-size: 7px; font-weight: 850; }
.nafe-ui-v3 .badge-success { color: #08764c; background: var(--v3-success-soft); }
.nafe-ui-v3 .badge-warning { color: #9b5708; background: var(--v3-warning-soft); }
.nafe-ui-v3 .badge-danger { color: #ad2f2b; background: var(--v3-danger-soft); }
.nafe-ui-v3 .badge-info,
.nafe-ui-v3 .badge-primary { color: #17608a; background: var(--v3-info-soft); }
.nafe-ui-v3 .alert { margin-bottom: 10px; padding: 9px 11px; border: 1px solid transparent; border-radius: 8px; font-size: 9px; }
.nafe-ui-v3 .alert-success { color: #08764c; background: var(--v3-success-soft); border-color: #bce7d2; }
.nafe-ui-v3 .alert-danger { color: #ad2f2b; background: var(--v3-danger-soft); border-color: #f0c7c4; }
.nafe-ui-v3 .modal-content { border: 0; border-radius: 11px; box-shadow: 0 24px 64px rgba(16,24,40,.2); overflow: hidden; }
.nafe-ui-v3 .modal-header { padding: 11px 13px; background: #f8f9fb; border-bottom: 1px solid var(--v3-line); }
.nafe-ui-v3 .modal-title { color: var(--v3-ink); font-size: 11px; font-weight: 850; }
.nafe-ui-v3 .modal-body { padding: 13px; }
.nafe-ui-v3 .modal-footer { padding: 9px 13px; background: #f8f9fb; border-top: 1px solid var(--v3-line); }

/* ----- invoice editor compatibility ----- */
.nafe-ui-v3 .section-card,
.nafe-ui-v3 .totals-wrap { background: #fff; border: 1px solid var(--v3-line); border-radius: 9px; box-shadow: none; }
.nafe-ui-v3 .section-card { padding: 13px; }
.nafe-ui-v3 .section-title { margin-bottom: 10px; color: var(--v3-ink) !important; font-size: 9px !important; }
.nafe-ui-v3 .section-title::before { width: 3px !important; height: 13px !important; background: var(--v3-brand) !important; }
.nafe-ui-v3 #invoice-items thead th { padding: 8px !important; color: #fff !important; background: #26364f !important; font-size: 7.5px !important; }
.nafe-ui-v3 #invoice-items tbody td { padding: 5px 6px !important; border-color: var(--v3-line-soft) !important; }
.nafe-ui-v3 #invoice-items .form-control { min-height: 31px; font-size: 8.5px; }
.nafe-ui-v3 .btn-add-row { padding: 7px 11px !important; background: var(--v3-brand) !important; border-radius: 7px !important; font-size: 8.5px !important; }
.nafe-ui-v3 .totals-wrap .row-final { background: #26364f !important; }

/* ----- dashboard: dense operational overview ----- */
.nafe-ui-v3 .dash-shell { max-width: none !important; padding: 0 !important; background: transparent !important; }
.nafe-ui-v3 .dash-topbar { margin-bottom: 12px !important; padding: 0 1px 10px; border-bottom: 1px solid var(--v3-line); }
.nafe-ui-v3 .dash-greeting h2 { margin: 0 0 2px !important; color: var(--v3-ink) !important; font-size: 17px !important; font-weight: 850 !important; }
.nafe-ui-v3 .dash-greeting p { margin: 0 !important; color: var(--v3-muted) !important; font-size: 8px !important; }
.nafe-ui-v3 .dash-actions { gap: 5px !important; }
.nafe-ui-v3 .btn-pos,
.nafe-ui-v3 .btn-tables { min-height: 34px !important; padding: 6px 10px !important; border-radius: 7px !important; font-size: 8.5px !important; box-shadow: none !important; }
.nafe-ui-v3 .btn-pos { color: #fff !important; background: var(--v3-brand) !important; border: 1px solid var(--v3-brand) !important; }
.nafe-ui-v3 .btn-tables { color: #475467 !important; background: #fff !important; border: 1px solid var(--v3-line) !important; }
.nafe-ui-v3 .metric-strip { gap: 8px !important; margin-bottom: 8px !important; }
.nafe-ui-v3 .metric { min-height: 78px; gap: 9px !important; padding: 11px 12px !important; background: #fff !important; border: 1px solid var(--v3-line) !important; border-radius: 9px !important; box-shadow: none !important; }
.nafe-ui-v3 .metric::before { display: none !important; }
.nafe-ui-v3 .metric:hover { transform: translateY(-1px); border-color: #cfd6e1 !important; box-shadow: var(--v3-shadow) !important; }
.nafe-ui-v3 .metric-icon { width: 34px !important; height: 34px !important; border-radius: 8px !important; font-size: .85rem !important; }
.nafe-ui-v3 .metric-label { margin-bottom: 2px !important; color: var(--v3-muted) !important; font-size: 8px !important; }
.nafe-ui-v3 .metric-val { color: var(--v3-ink) !important; font-size: 16px !important; line-height: 1.2 !important; }
.nafe-ui-v3 .sec-head { margin: 17px 1px 7px !important; }
.nafe-ui-v3 .sec-head .dot { width: 3px !important; height: 14px !important; border-radius: 3px !important; }
.nafe-ui-v3 .sec-head h3 { color: var(--v3-ink) !important; font-size: 11px !important; }
.nafe-ui-v3 .perf-row { gap: 8px !important; margin-bottom: 14px !important; }
.nafe-ui-v3 .perf-card { min-height: 91px; padding: 11px !important; background: #fff !important; border: 1px solid var(--v3-line) !important; border-radius: 9px !important; box-shadow: none !important; }
.nafe-ui-v3 .perf-top { margin-bottom: 5px !important; }
.nafe-ui-v3 .perf-top span { color: var(--v3-muted) !important; font-size: 8px !important; }
.nafe-ui-v3 .perf-val { margin-bottom: 5px !important; color: var(--v3-ink) !important; font-size: 15px !important; }
.nafe-ui-v3 .perf-sub { font-size: 7.5px !important; }
.nafe-ui-v3 .perf-bar { height: 3px !important; }
.nafe-ui-v3 .dtbl { margin-bottom: 14px !important; background: #fff !important; border: 1px solid var(--v3-line) !important; border-radius: 9px !important; box-shadow: none !important; }
.nafe-ui-v3 .dtbl-head { padding: 10px 11px !important; }
.nafe-ui-v3 .dtbl-head h4 { font-size: 9px !important; }
.nafe-ui-v3 .dtbl table { font-size: 8.5px !important; }
.nafe-ui-v3 .dtbl thead th { padding: 8px !important; font-size: 7px !important; background: #f7f8fa !important; }
.nafe-ui-v3 .dtbl tbody td { padding: 8px !important; }

/* ----- footer and utilities ----- */
.nafe-ui-v3 .main-footer { min-height: 40px; height: auto; color: #98a2b3; background: transparent; border-top: 1px solid var(--v3-line); }
.nafe-ui-v3 .main-footer .footer { padding: 12px 0; font-size: 7.5px; text-align: center; }
.nafe-ui-v3 #back-to-top { width: 34px; height: 34px; display: grid; place-items: center; background: var(--v3-brand); border-radius: 8px; box-shadow: 0 8px 18px rgba(36,88,211,.22); }

/* ----- collapsed and responsive ----- */
@media (min-width: 768px) {
    .nafe-ui-v3.sidenav-toggled .app-sidebar,
    .nafe-ui-v3.sidenav-toggled .main-sidebar-header { width: var(--v3-sidebar-mini); }
    .nafe-ui-v3.sidenav-toggled .main-header.side-header { right: var(--v3-sidebar-mini) !important; width: calc(100vw - var(--v3-sidebar-mini)) !important; max-width: calc(100vw - var(--v3-sidebar-mini)); }
    .nafe-ui-v3.sidenav-toggled .app-content { margin-right: var(--v3-sidebar-mini); }
    .nafe-ui-v3.sidenav-toggled .nafe-nav-search-v3 { display: none; }
    .nafe-ui-v3.sidenav-toggled .side-menu { padding-inline: 5px; }
}

@media (max-width: 1200px) {
    .nafe-ui-v3 .invoice-filter-grid { grid-template-columns: repeat(3, minmax(135px, 1fr)); }
}

@media (max-width: 767px) {
    .nafe-ui-v3 .app-sidebar { right: calc(var(--v3-sidebar) * -1); width: var(--v3-sidebar); }
    .nafe-ui-v3.sidenav-toggled .app-sidebar { right: 0; width: var(--v3-sidebar); }
    .nafe-ui-v3 .main-sidebar-header { width: var(--v3-sidebar); }
    .nafe-ui-v3 .main-header.side-header { right: 0 !important; left: 0 !important; width: 100vw !important; max-width: 100vw; }
    .nafe-ui-v3 .app-content,
    .nafe-ui-v3.sidenav-toggled .app-content { min-width: 100%; margin-right: 0; }
    .nafe-ui-v3 .nafe-profile-trigger__copy,
    .nafe-ui-v3 .nafe-branch-switch__copy,
    .nafe-ui-v3 .nafe-branch-switch__chevron { display: none !important; }
    .nafe-ui-v3 .nafe-branch-switch { min-width: 34px; width: 34px; padding: 3px; }
    .nafe-ui-v3 .nafe-branch-switch__icon { width: 26px; height: 26px; }
    .nafe-ui-v3 .nafe-page-shell-v3 { padding: 10px 8px 22px; }
    .nafe-ui-v3 .breadcrumb-header { min-height: 40px; }
    .nafe-ui-v3 .breadcrumb-header .content-title { font-size: 14px !important; }
    .nafe-ui-v3 .document-list-toolbar { flex-wrap: wrap; justify-content: stretch; }
    .nafe-ui-v3 .document-list-toolbar .btn,
    .nafe-ui-v3 .document-list-toolbar .btn-group { flex: 1; }
    .nafe-ui-v3 .invoice-filter-grid { grid-template-columns: 1fr; }
    .nafe-ui-v3 .invoice-filter-actions .btn { flex: 1; }
    .nafe-ui-v3 .dash-topbar { align-items: flex-start !important; }
    .nafe-ui-v3 .dash-actions { width: 100%; flex-wrap: wrap; }
    .nafe-ui-v3 .dash-actions > a { flex: 1; }
}

@media print {
    .nafe-ui-v3 .app-sidebar,
    .nafe-ui-v3 .main-header,
    .nafe-ui-v3 .main-footer,
    .nafe-ui-v3 #back-to-top { display: none !important; }
    .nafe-ui-v3 .app-content { margin: 0 !important; padding: 0 !important; background: #fff !important; }
    .nafe-ui-v3 .nafe-page-shell-v3 { max-width: none; padding: 0; }
    .nafe-ui-v3 .card { border: 0; box-shadow: none; }
}

/* V3 readability pass: compact geometry without miniature typography. */
.nafe-ui-v3 .nafe-branch-switch__copy small,
.nafe-ui-v3 .nafe-profile-trigger__copy small { font-size: 11px; }
.nafe-ui-v3 .nafe-branch-switch__copy strong,
.nafe-ui-v3 .nafe-profile-trigger__copy strong { font-size: 13px; }
.nafe-ui-v3 .dropdown-item { font-size: 13px; }
.nafe-ui-v3 .nafe-profile-dropdown__head strong { font-size: 14px; }
.nafe-ui-v3 .nafe-profile-dropdown__head span { font-size: 12px; }
.nafe-ui-v3 .nafe-nav-search-v3 input { font-size: 13px; }
.nafe-ui-v3 .app-sidebar .side-item.side-item-category { font-size: 10px; letter-spacing: .02em; }
.nafe-ui-v3 .side-menu__label { font-size: 13px; }
.nafe-ui-v3 .slide-menu .slide-item { min-height: 32px; font-size: 12px; }
.nafe-ui-v3 .breadcrumb-header .text-muted { font-size: 12px !important; }
.nafe-ui-v3 .card-title,
.nafe-ui-v3 .document-list-toolbar h5 { font-size: 14px; }
.nafe-ui-v3 .document-filter-summary__main { font-size: 13px; }
.nafe-ui-v3 .document-filter-summary__hint { font-size: 12px; }
.nafe-ui-v3 .document-filter-count { font-size: 11px; }
.nafe-ui-v3 .invoice-filter-card label,
.nafe-ui-v3 label { font-size: 12px !important; }
.nafe-ui-v3 .btn { font-size: 13px; }
.nafe-ui-v3 .btn-sm { font-size: 12px; }
.nafe-ui-v3 .btn-lg { font-size: 14px; }
.nafe-ui-v3 .form-control,
.nafe-ui-v3 .custom-select,
.nafe-ui-v3 .select2-container .select2-selection--single .select2-selection__rendered { font-size: 13px; }
.select2-results__option { font-size: 13px; }
.nafe-ui-v3 .table { font-size: 13px; }
.nafe-ui-v3 .table thead th { font-size: 12px; }
.nafe-ui-v3 .dataTables_wrapper .dataTables_length,
.nafe-ui-v3 .dataTables_wrapper .dataTables_filter { font-size: 12px; }
.nafe-ui-v3 .dataTables_wrapper .dataTables_info { font-size: 11px; }
.nafe-ui-v3 .page-link,
.nafe-ui-v3 .dataTables_wrapper .dataTables_paginate .paginate_button { font-size: 12px; }
.nafe-ui-v3 .badge { font-size: 11px; }
.nafe-ui-v3 .alert { font-size: 13px; }
.nafe-ui-v3 .modal-title { font-size: 15px; }
.nafe-ui-v3 .section-title { font-size: 13px !important; }
.nafe-ui-v3 #invoice-items thead th { font-size: 11px !important; }
.nafe-ui-v3 #invoice-items .form-control,
.nafe-ui-v3 .btn-add-row { font-size: 12px !important; }
.nafe-ui-v3 .dash-greeting p { font-size: 12px !important; }
.nafe-ui-v3 .btn-pos,
.nafe-ui-v3 .btn-tables { font-size: 12px !important; }
.nafe-ui-v3 .metric-label { font-size: 12px !important; }
.nafe-ui-v3 .sec-head h3 { font-size: 15px !important; }
.nafe-ui-v3 .perf-top span { font-size: 12px !important; }
.nafe-ui-v3 .perf-sub { font-size: 11px !important; }
.nafe-ui-v3 .dtbl-head h4 { font-size: 14px !important; }
.nafe-ui-v3 .dtbl table { font-size: 12px !important; }
.nafe-ui-v3 .dtbl thead th { font-size: 11px !important; }
.nafe-ui-v3 .main-footer .footer { font-size: 11px; }

/* Direction-safe header bounds. */
html[dir="ltr"] .nafe-ui-v3 .main-header.side-header {
    right: 0 !important;
    left: var(--v3-sidebar) !important;
}
@media (min-width: 768px) {
    html[dir="ltr"] .nafe-ui-v3.sidenav-toggled .main-header.side-header {
        right: 0 !important;
        left: var(--v3-sidebar-mini) !important;
    }
}
@media (max-width: 767px) {
    html[dir="ltr"] .nafe-ui-v3 .main-header.side-header { left: 0 !important; }
}
