/**
 * Mahde-Aghsat Modern Admin Panel UI Engine
 * Unified with Accounting Project Architecture:
 * - Clean Slate-50 / White aesthetic
 * - Yekan Bakh Font with Persian Digits (ss01, tnum)
 * - Rounded-2xl / Rounded-3xl Card Architecture
 * - Ultra-crisp tables, buttons, badges, modals, forms
 * - Privacy mode blur support
 */

/* 1. Global Font, Background and Scale Normalization (Zoom 0.965) */
html, body {
    zoom: 0.965 !important;
}

body {
    font-family: 'Yekan Bakh', 'Yekan-Bakh', 'YekanBakh', 'bakh', 'Vazirmatn', sans-serif !important;
    background-color: #f8fafc !important;
    color: #1e293b !important;
    font-size: 0.8125rem !important; /* 13px - Standard ERP Font Scale */
    line-height: 1.5 !important;
    direction: rtl !important;
    text-align: right !important;
    font-feature-settings: "ss01" 1, "tnum" 1 !important;
    -webkit-font-feature-settings: "ss01" 1, "tnum" 1 !important;
    font-variant-numeric: tabular-nums !important;
    overflow-x: hidden;
}

/* Normalize font-black */
.font-black, [class*="font-black"], .fw-black {
    font-weight: 700 !important;
}

/* 2. Layout Structure */
.admin-shell {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #f8fafc;
}

.admin-main-container {
    flex: 1;
    width: 100%;
    max-width: 1720px;
    margin-left: auto;
    margin-right: auto;
    padding: 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
}

@media (min-width: 1024px) {
    .admin-main-container {
        flex-direction: row;
        padding: 1.5rem 1.5rem;
    }
}

.admin-content-area {
    flex: 1 1 0%;
    min-width: 0;
    width: 100%;
}

/* Hide legacy hardcoded breadcrumbs and duplicate alerts */
.breadcrumb-premium,
ol.breadcrumb-premium,
.main-content-inner > .breadcrumb-premium {
    display: none !important;
}

/* Normalize inner container fluid padding */
main .container-fluid,
.main-content .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
}

/* 3. Cards */
.card,
.modern-card {
    background-color: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.85) !important;
    border-radius: 1.25rem !important; /* rounded-2xl */
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.03), 0 1px 2px -1px rgba(0, 0, 0, 0.03) !important;
    margin-bottom: 1.25rem !important;
    overflow: hidden !important;
    transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.card:hover,
.modern-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.04), 0 2px 4px -2px rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(203, 213, 225, 0.9) !important;
}

.card-header,
.modern-card-header {
    background-color: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 1rem 1.25rem !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    color: #0f172a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.card-header h5,
.card-header h6,
.card-header .card-title {
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.card-body,
.modern-card-body {
    padding: 1.25rem !important;
    background-color: #ffffff !important;
}

.card-footer,
.modern-card-footer {
    background-color: #f8fafc !important;
    border-top: 1px solid #f1f5f9 !important;
    padding: 0.85rem 1.25rem !important;
    font-size: 0.78rem !important;
    color: #64748b !important;
}

/* 4. Tables */
.table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 1rem !important;
}

table,
.table,
.table-premium {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin-bottom: 0 !important;
    font-size: 0.8125rem !important; /* 13px */
    direction: rtl !important;
    text-align: right !important;
}

table th,
.table th,
.table-premium th {
    background-color: #f8fafc !important;
    color: #475569 !important;
    font-weight: 700 !important;
    font-size: 0.78rem !important; /* 12.5px */
    padding: 0.85rem 1rem !important;
    border-top: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-left: none !important;
    border-right: none !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    letter-spacing: normal !important;
}

table th:first-child,
.table th:first-child {
    padding-right: 1.25rem !important;
}

table th:last-child,
.table th:last-child {
    padding-left: 1.25rem !important;
}

table td,
.table td,
.table-premium td {
    padding: 0.85rem 1rem !important;
    vertical-align: middle !important;
    border-top: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-left: none !important;
    border-right: none !important;
    color: #334155 !important;
    font-size: 0.8125rem !important; /* 13px */
    background-color: #ffffff !important;
    white-space: nowrap !important;
}

table td:first-child,
.table td:first-child {
    padding-right: 1.25rem !important;
}

table td:last-child,
.table td:last-child {
    padding-left: 1.25rem !important;
}

table tbody tr:hover td,
.table tbody tr:hover td,
.table-hover tbody tr:hover td {
    background-color: #f8fafc !important;
}

table tbody tr:last-child td,
.table tbody tr:last-child td {
    border-bottom: none !important;
}

/* 5. Buttons */
.btn,
.modern-btn {
    font-family: inherit !important;
    font-size: 0.8125rem !important; /* 13px */
    font-weight: 700 !important;
    border-radius: 0.75rem !important; /* rounded-xl */
    padding: 0.5rem 1rem !important;
    transition: all 0.15s ease-in-out !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    line-height: 1.4 !important;
    border: 1px solid transparent !important;
    cursor: pointer !important;
    text-decoration: none !important;
    user-select: none !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.btn:active,
.modern-btn:active {
    transform: scale(0.98) !important;
}

.btn-primary {
    background-color: #047857 !important; /* Emerald 700 - ERP Theme */
    border-color: #047857 !important;
    color: #ffffff !important;
}

.btn-primary:hover {
    background-color: #065f46 !important; /* Emerald 800 */
    border-color: #065f46 !important;
    color: #ffffff !important;
}

.btn-success {
    background-color: #059669 !important; /* Emerald 600 */
    border-color: #059669 !important;
    color: #ffffff !important;
}

.btn-success:hover {
    background-color: #047857 !important;
    border-color: #047857 !important;
    color: #ffffff !important;
}

.btn-danger {
    background-color: #e11d48 !important; /* Rose 600 */
    border-color: #e11d48 !important;
    color: #ffffff !important;
}

.btn-danger:hover {
    background-color: #be123c !important;
    border-color: #be123c !important;
    color: #ffffff !important;
}

.btn-warning {
    background-color: #d97706 !important; /* Amber 600 */
    border-color: #d97706 !important;
    color: #ffffff !important;
}

.btn-warning:hover {
    background-color: #b45309 !important;
    border-color: #b45309 !important;
    color: #ffffff !important;
}

.btn-info {
    background-color: #0284c7 !important; /* Sky 600 */
    border-color: #0284c7 !important;
    color: #ffffff !important;
}

.btn-info:hover {
    background-color: #0369a1 !important;
    border-color: #0369a1 !important;
    color: #ffffff !important;
}

.btn-light,
.btn-secondary {
    background-color: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
    color: #475569 !important;
}

.btn-light:hover,
.btn-secondary:hover {
    background-color: #e2e8f0 !important;
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
}

.btn-outline-primary {
    background-color: transparent !important;
    border-color: #a7f3d0 !important;
    color: #047857 !important;
}

.btn-outline-primary:hover {
    background-color: #ecfdf5 !important;
    border-color: #047857 !important;
    color: #065f46 !important;
}

.btn-sm {
    padding: 0.35rem 0.75rem !important;
    font-size: 0.75rem !important; /* 12px */
    border-radius: 0.625rem !important;
}

.btn-action,
.table .btn-action,
table .btn-action {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    border-radius: 0.625rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 2px !important;
    font-size: 0.8rem !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.15s ease-in-out !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.btn-action:hover,
.table .btn-action:hover,
table .btn-action:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
}

.btn-action.bg-shop { background-color: #ecfdf5 !important; color: #059669 !important; border: 1px solid #a7f3d0 !important; }
.btn-action.bg-shop:hover { background-color: #059669 !important; color: #ffffff !important; }

.btn-action.bg-view { background-color: #f0f9ff !important; color: #0284c7 !important; border: 1px solid #bae6fd !important; }
.btn-action.bg-view:hover { background-color: #0284c7 !important; color: #ffffff !important; }

.btn-action.bg-info { background-color: #f5f3ff !important; color: #7c3aed !important; border: 1px solid #ddd6fe !important; }
.btn-action.bg-info:hover { background-color: #7c3aed !important; color: #ffffff !important; }

.btn-action.bg-primary { background-color: #ecfdf5 !important; color: #047857 !important; border: 1px solid #a7f3d0 !important; }
.btn-action.bg-primary:hover { background-color: #047857 !important; color: #ffffff !important; }

.btn-action.bg-warning { background-color: #fffbeb !important; color: #d97706 !important; border: 1px solid #fde68a !important; }
.btn-action.bg-warning:hover { background-color: #d97706 !important; color: #ffffff !important; }

.btn-action.bg-edit { background-color: #fefce8 !important; color: #ca8a04 !important; border: 1px solid #fef08a !important; }
.btn-action.bg-edit:hover { background-color: #ca8a04 !important; color: #ffffff !important; }

.btn-action.bg-delete { background-color: #fff1f2 !important; color: #e11d48 !important; border: 1px solid #fecdd3 !important; }
.btn-action.bg-delete:hover { background-color: #e11d48 !important; color: #ffffff !important; }

/* 6. Badges */
.badge,
.badge-premium {
    font-size: 0.75rem !important; /* 12px */
    font-weight: 700 !important;
    border-radius: 0.5rem !important;
    padding: 0.35em 0.7em !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    letter-spacing: normal !important;
    line-height: 1.25 !important;
    border: 1px solid transparent !important;
}

.badge.bg-success,
.badge-premium.bg-success {
    background-color: #ecfdf5 !important;
    color: #065f46 !important;
    border-color: #a7f3d0 !important;
}

.badge.bg-danger,
.badge-premium.bg-danger {
    background-color: #fff1f2 !important;
    color: #9f1239 !important;
    border-color: #fecdd3 !important;
}

.badge.bg-warning,
.badge-premium.bg-warning {
    background-color: #fffbeb !important;
    color: #92400e !important;
    border-color: #fde68a !important;
}

.badge.bg-primary,
.badge-premium.bg-primary {
    background-color: #ecfdf5 !important;
    color: #065f46 !important;
    border-color: #a7f3d0 !important;
}

.badge.bg-info,
.badge-premium.bg-info {
    background-color: #f0f9ff !important;
    color: #075985 !important;
    border-color: #bae6fd !important;
}

.badge.bg-light,
.badge.bg-secondary,
.badge-premium.bg-light {
    background-color: #f8fafc !important;
    color: #475569 !important;
    border-color: #e2e8f0 !important;
}

/* 7. Form Controls & Unified Spacing Architecture (Standard 8px Grid Engine) */

/* 7.1 Global Form Grid Spacing (24px Inter-Row Vertical Rhythm) */
form .row,
.card-body form .row,
.main-content form .row,
.modal form .row,
form .form-row {
    row-gap: 1.5rem !important; /* 24px clean separation between rows of fields */
}

/* Let row-gap strictly govern vertical distance between rows without double margins */
form .row > [class*="col-"],
.card-body form .row > [class*="col-"] {
    margin-bottom: 0 !important;
}

/* Standalone field groups and mb-3 inside forms */
form .form-group,
form .field-group,
form .mb-3:not([class*="col-"]):not([class*="d-flex"]):not([class*="flex"]):not(.btn-group):not(.input-group),
form .mb-4:not([class*="col-"]):not([class*="d-flex"]):not([class*="flex"]):not(.btn-group):not(.input-group) {
    margin-bottom: 1.5rem !important;
}

/* 7.2 Field Labels (8px Proximity to Input) */
.form-label,
label:not(.form-check-label):not(.custom-control-label):not(.btn):not(.switch):not([class*="peer-"]):not([class*="cursor-pointer"]),
form label:not(.form-check-label):not(.custom-control-label):not(.btn):not(.switch):not([class*="peer-"]):not([class*="cursor-pointer"]) {
    font-size: 0.78rem !important; /* ~12.5px */
    font-weight: 700 !important;
    color: #334155 !important; /* Slate-700 */
    margin-bottom: 0.5rem !important; /* Exactly 8px - strict proximity to its input */
    display: block !important;
    line-height: 1.4 !important;
}

/* Required red asterisk indicator */
.form-label .text-danger,
label .text-danger,
.form-label .text-rose-500,
label .text-rose-500 {
    color: #f43f5e !important; /* Rose-500 */
    margin-right: 0.25rem !important;
    font-weight: 700 !important;
}

/* Checkbox, radio and toggle label protection (prevent block display and margins) */
.form-check-label,
.form-check label,
input[type="checkbox"] + label,
input[type="radio"] + label,
.form-check .form-check-label,
label.cursor-pointer,
label:has(input[type="checkbox"]),
label:has(input[type="radio"]) {
    display: inline-flex !important;
    align-items: center !important;
    margin-bottom: 0 !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: #334155 !important;
    cursor: pointer !important;
    user-select: none !important;
}

/* 7.3 Global Removal of Cluttering Helper Descriptions below Form Fields */
form .form-text,
form .help-block,
form .field-hint,
.card-body form .form-text,
.card-body form .help-block {
    display: none !important; /* Removes clutter below form fields across the panel */
}

/* 7.4 Input Controls, Selects, and Textareas */
.form-control,
.form-select,
.input-premium {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.75rem !important; /* rounded-xl (12px) */
    font-size: 0.8125rem !important; /* 13px */
    padding: 0.55rem 0.875rem !important;
    color: #0f172a !important;
    font-family: inherit !important;
    outline: none !important;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease !important;
    width: 100% !important;
    height: 2.75rem !important; /* 44px standard height */
    box-shadow: none !important;
}

textarea.form-control,
textarea.input-premium,
textarea {
    height: auto !important;
    min-height: 5.5rem !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    line-height: 1.6 !important;
}

input[type="file"].form-control,
input[type="file"].input-premium {
    height: auto !important;
    padding: 0.45rem 0.75rem !important;
}

/* Focus States */
.form-control:focus,
.form-select:focus,
.input-premium:focus {
    background-color: #ffffff !important;
    border-color: #10b981 !important; /* Emerald-500 */
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
    outline: none !important;
}

/* Validation & Feedback States */
.form-control.is-invalid,
.form-select.is-invalid {
    border-color: #f87171 !important;
    background-color: #fef2f2 !important;
}

.invalid-feedback {
    display: none;
    font-size: 0.72rem !important;
    color: #ef4444 !important;
    font-weight: 600 !important;
    margin-top: 0.35rem !important;
}

.form-control.is-invalid ~ .invalid-feedback,
.is-invalid + .invalid-feedback,
.invalid-feedback.d-block {
    display: block !important;
}

/* 7.5 Input Groups (RTL Harmonization) */
.input-group {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
}

.input-group .form-control,
.input-group .form-select {
    border-radius: 0 !important;
}

.input-group > :first-child:not(.dropdown-menu) {
    border-top-right-radius: 0.75rem !important;
    border-bottom-right-radius: 0.75rem !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-group > :last-child:not(.dropdown-menu) {
    border-top-left-radius: 0.75rem !important;
    border-bottom-left-radius: 0.75rem !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.input-group-text {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #64748b !important;
    font-size: 0.85rem !important;
    padding: 0.55rem 0.875rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 7.6 Modernized iOS-style Switches Across Panel */
.form-check.form-switch {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.625rem !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    min-height: 2rem !important;
}

.form-check.form-switch .form-check-input {
    width: 2.75rem !important;
    height: 1.5rem !important;
    background-color: #cbd5e1 !important;
    border: none !important;
    border-radius: 2rem !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
    background-position: right 0.2rem center !important;
    background-repeat: no-repeat !important;
    background-size: 1.1rem 1.1rem !important;
    transition: background-position 0.2s ease-in-out, background-color 0.2s ease-in-out !important;
    cursor: pointer !important;
    margin: 0 !important;
    float: none !important;
    box-shadow: none !important;
}

.form-check.form-switch .form-check-input:checked {
    background-color: #10b981 !important; /* Emerald-500 */
    background-position: left 0.2rem center !important;
}

.form-check.form-switch .form-check-label {
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    color: #334155 !important;
    cursor: pointer !important;
    margin-bottom: 0 !important;
    user-select: none !important;
}

/* 8. Modals (Accounting Style & Hybrid Bootstrap Support) */
.modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1055 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    outline: 0 !important;
    padding: 1rem !important;
    box-sizing: border-box !important;
}

.modal:not(.show) {
    display: none !important;
}

.modal.show {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.modal-dialog {
    position: relative !important;
    width: 100% !important;
    max-width: 32rem !important;
    margin: auto !important;
    pointer-events: none !important;
    transform: scale(0.96) translateY(-10px) !important;
    opacity: 0 !important;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease !important;
}

.modal.show .modal-dialog {
    transform: scale(1) translateY(0) !important;
    opacity: 1 !important;
}

.modal-dialog-centered {
    display: flex !important;
    align-items: center !important;
    min-height: calc(100% - 2rem) !important;
}

.modal-dialog.modal-sm,
.modal-sm .modal-dialog {
    max-width: 24rem !important;
}

.modal-dialog.modal-lg,
.modal-lg .modal-dialog {
    max-width: 48rem !important;
}

.modal-dialog.modal-xl,
.modal-xl .modal-dialog {
    max-width: 64rem !important;
}

.modal-content {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    pointer-events: auto !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 1.5rem !important; /* rounded-3xl */
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25) !important;
    overflow: hidden !important;
    outline: 0 !important;
}

.modal-backdrop {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1050 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-color: rgba(15, 23, 42, 0.45) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.modal-backdrop.fade {
    opacity: 0 !important;
    transition: opacity 0.2s linear !important;
}

.modal-backdrop.show {
    opacity: 1 !important;
}

body.modal-open {
    overflow: hidden !important;
}

.modal-header {
    background-color: #f8fafc !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 1.15rem 1.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.modal-header .modal-title {
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 !important;
}

.modal-body {
    position: relative !important;
    flex: 1 1 auto !important;
    padding: 1.5rem !important;
}

.modal-footer {
    background-color: #f8fafc !important;
    border-top: 1px solid #f1f5f9 !important;
    padding: 1rem 1.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.5rem !important;
}

/* 9. Alerts (تبدیل سراسری به سیستم اعلان‌های شناور Toast) */
.alert:not(.keep-alert):not(.toast-skip),
.alert-success:not(.keep-alert):not(.toast-skip),
.alert-danger:not(.keep-alert):not(.toast-skip),
.alert-warning:not(.keep-alert):not(.toast-skip),
.alert-info:not(.keep-alert):not(.toast-skip) {
    display: none !important;
}

/* 10. Dropdowns */
.dropdown-menu {
    background-color: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 1rem !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05) !important;
    padding: 0.35rem !important;
    font-size: 0.78rem !important;
}

.dropdown-item {
    border-radius: 0.625rem !important;
    padding: 0.45rem 0.75rem !important;
    font-weight: 500 !important;
    color: #334155 !important;
    transition: all 0.15s ease !important;
}

.dropdown-item:hover {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
}

/* 11. Pagination */
.pagination {
    display: flex !important;
    gap: 0.25rem !important;
    justify-content: center !important;
    margin-top: 1.25rem !important;
}

.page-item .page-link {
    border-radius: 0.625rem !important;
    border: 1px solid #e2e8f0 !important;
    background-color: #ffffff !important;
    color: #475569 !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 0.4rem 0.75rem !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

.page-item.active .page-link {
    background-color: #4f46e5 !important;
    border-color: #4f46e5 !important;
    color: #ffffff !important;
}

.page-item .page-link:hover {
    background-color: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
}

/* 12. Responsive Grid & Utility Compatibility (Bootstrap & Tailwind Unified) */
.container-fluid {
    width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -0.5rem !important;
    margin-right: -0.5rem !important;
}

.row > * {
    flex-shrink: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    box-sizing: border-box !important;
}

.col-12 { flex: 0 0 auto !important; width: 100% !important; }
.col-6 { flex: 0 0 auto !important; width: 50% !important; }
.col-4 { flex: 0 0 auto !important; width: 33.333333% !important; }
.col-3 { flex: 0 0 auto !important; width: 25% !important; }

@media (min-width: 576px) {
    .col-sm-1 { flex: 0 0 auto !important; width: 8.333333% !important; }
    .col-sm-2 { flex: 0 0 auto !important; width: 16.666667% !important; }
    .col-sm-3 { flex: 0 0 auto !important; width: 25% !important; }
    .col-sm-4 { flex: 0 0 auto !important; width: 33.333333% !important; }
    .col-sm-5 { flex: 0 0 auto !important; width: 41.666667% !important; }
    .col-sm-6 { flex: 0 0 auto !important; width: 50% !important; }
    .col-sm-7 { flex: 0 0 auto !important; width: 58.333333% !important; }
    .col-sm-8 { flex: 0 0 auto !important; width: 66.666667% !important; }
    .col-sm-9 { flex: 0 0 auto !important; width: 75% !important; }
    .col-sm-10 { flex: 0 0 auto !important; width: 83.333333% !important; }
    .col-sm-11 { flex: 0 0 auto !important; width: 91.666667% !important; }
    .col-sm-12 { flex: 0 0 auto !important; width: 100% !important; }
}

@media (min-width: 768px) {
    .col-md-1 { flex: 0 0 auto !important; width: 8.333333% !important; }
    .col-md-2 { flex: 0 0 auto !important; width: 16.666667% !important; }
    .col-md-3 { flex: 0 0 auto !important; width: 25% !important; }
    .col-md-4 { flex: 0 0 auto !important; width: 33.333333% !important; }
    .col-md-5 { flex: 0 0 auto !important; width: 41.666667% !important; }
    .col-md-6 { flex: 0 0 auto !important; width: 50% !important; }
    .col-md-7 { flex: 0 0 auto !important; width: 58.333333% !important; }
    .col-md-8 { flex: 0 0 auto !important; width: 66.666667% !important; }
    .col-md-9 { flex: 0 0 auto !important; width: 75% !important; }
    .col-md-10 { flex: 0 0 auto !important; width: 83.333333% !important; }
    .col-md-11 { flex: 0 0 auto !important; width: 91.666667% !important; }
    .col-md-12 { flex: 0 0 auto !important; width: 100% !important; }
}

@media (min-width: 1024px) {
    .col-lg-1 { flex: 0 0 auto !important; width: 8.333333% !important; }
    .col-lg-2 { flex: 0 0 auto !important; width: 16.666667% !important; }
    .col-lg-3 { flex: 0 0 auto !important; width: 25% !important; }
    .col-lg-4 { flex: 0 0 auto !important; width: 33.333333% !important; }
    .col-lg-5 { flex: 0 0 auto !important; width: 41.666667% !important; }
    .col-lg-6 { flex: 0 0 auto !important; width: 50% !important; }
    .col-lg-7 { flex: 0 0 auto !important; width: 58.333333% !important; }
    .col-lg-8 { flex: 0 0 auto !important; width: 66.666667% !important; }
    .col-lg-9 { flex: 0 0 auto !important; width: 75% !important; }
    .col-lg-10 { flex: 0 0 auto !important; width: 83.333333% !important; }
    .col-lg-11 { flex: 0 0 auto !important; width: 91.666667% !important; }
    .col-lg-12 { flex: 0 0 auto !important; width: 100% !important; }
}

.g-1 { margin-left: -0.25rem !important; margin-right: -0.25rem !important; }
.g-1 > * { padding-left: 0.25rem !important; padding-right: 0.25rem !important; }

.g-2 { margin-left: -0.5rem !important; margin-right: -0.5rem !important; }
.g-2 > * { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }

.g-3 { margin-left: -0.75rem !important; margin-right: -0.75rem !important; }
.g-3 > * { padding-left: 0.75rem !important; padding-right: 0.75rem !important; }

.g-4 { margin-left: -1rem !important; margin-right: -1rem !important; }
.g-4 > * { padding-left: 1rem !important; padding-right: 1rem !important; }

.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }

.align-items-center { align-items: center !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-end { align-items: flex-end !important; }

.justify-content-between { justify-content: space-between !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-start { justify-content: flex-start !important; }

.flex-grow-1 { flex-grow: 1 !important; }
.flex-shrink-0 { flex-shrink: 0 !important; }
.gap-1 { gap: 0.25rem !important; }
.gap-2 { gap: 0.5rem !important; }
.gap-3 { gap: 0.75rem !important; }
.gap-4 { gap: 1rem !important; }

.text-center { text-align: center !important; }
.text-start { text-align: right !important; }
.text-end { text-align: left !important; }
.text-muted { color: #64748b !important; }
.fw-bold { font-weight: 700 !important; }
.small, small { font-size: 0.75rem !important; } /* 12px instead of micro */

.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }

/* 13. Tabs & Navs (Modern Panel & Bootstrap Hybrid Compatibility) */
.nav {
    display: flex !important;
    flex-wrap: wrap !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0 !important;
    list-style: none !important;
}

.nav-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1rem !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.nav-tabs .nav-item {
    margin-bottom: 0 !important;
}

.nav-tabs .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.55rem 1.1rem !important;
    border-radius: 0.75rem !important;
    border: 1px solid transparent !important;
    background-color: transparent !important;
    color: #64748b !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

.nav-tabs .nav-link:hover {
    color: #1e293b !important;
    background-color: #f8fafc !important;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-link[aria-selected="true"] {
    color: #4f46e5 !important;
    background-color: #eef2ff !important;
    border-color: #c7d2fe !important;
    box-shadow: 0 1px 2px rgba(79, 70, 229, 0.08) !important;
}

.tab-content {
    width: 100% !important;
}

.tab-content > .tab-pane {
    display: none !important;
}

.tab-content > .tab-pane.active,
.tab-content > .tab-pane.show {
    display: block !important;
}

/* 15. ERP Style System Extensions (Crisp, Pill, Pastel) */
.btn-pill,
.erp-btn-pill {
    border-radius: 9999px !important;
}

.badge-pill,
.erp-badge-pill {
    border-radius: 9999px !important;
    padding: 0.35em 0.85em !important;
}

.action-circle-btn,
.erp-circle-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    border-radius: 9999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
    transition: all 0.15s ease-in-out !important;
    cursor: pointer !important;
    text-decoration: none !important;
    font-size: 0.78rem !important;
}

.action-circle-btn:hover,
.erp-circle-btn:hover {
    background-color: #ecfdf5 !important;
    color: #047857 !important;
    border-color: #a7f3d0 !important;
    transform: translateY(-1px) !important;
}

.erp-stat-card {
    border-radius: 1.25rem !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    transition: all 0.2s ease !important;
}

.erp-stat-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
}

/* 16. Bootstrap Collapse & Accordion Utility Compatibility */
.collapse {
    visibility: visible !important;
}
.collapse:not(.show) {
    display: none !important;
}
.collapse.show {
    display: block !important;
    visibility: visible !important;
}
.collapsing {
    height: 0;
    overflow: hidden;
    transition: height .35s ease;
    visibility: visible !important;
}




