/*
|--------------------------------------------------------------------------
| EnFavori Yönetim Tasarım Sistemi 2026
|--------------------------------------------------------------------------
| Yalnızca görünüm katmanıdır. Route, form, tablo verisi, buton davranışı,
| sıralama, modal, AJAX ve mevcut JavaScript işlevlerine dokunmaz.
*/

:root {
    --ef-admin-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    --ef-admin-navy: #142844;
    --ef-admin-navy-dark: #0d1b2d;
    --ef-admin-navy-soft: #1b365a;
    --ef-admin-brand: #18c7bb;
    --ef-admin-brand-dark: #0f9f95;
    --ef-admin-brand-soft: #e9faf8;
    --ef-admin-page: #f3f6f9;
    --ef-admin-surface: #ffffff;
    --ef-admin-surface-soft: #f8fafc;
    --ef-admin-border: #dbe4ec;
    --ef-admin-border-soft: #eaf0f5;
    --ef-admin-text: #18283b;
    --ef-admin-muted: #67798d;
    --ef-admin-success: #11966f;
    --ef-admin-warning: #e89b0c;
    --ef-admin-danger: #d9364f;
    --ef-admin-info: #2176d2;
    --ef-admin-radius-sm: 8px;
    --ef-admin-radius: 12px;
    --ef-admin-radius-lg: 16px;
    --ef-admin-shadow: 0 8px 24px rgba(13, 35, 58, .07);
    --ef-admin-shadow-hover: 0 12px 30px rgba(13, 35, 58, .11);
    --ef-admin-control-h: 42px;
    --ef-admin-transition: 160ms ease;
}

/* Temel tipografi */
html,
body.enfavori-admin {
    font-family: var(--ef-admin-font) !important;
    color: var(--ef-admin-text);
    background: var(--ef-admin-page);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.enfavori-admin {
    font-size: 14px !important;
    line-height: 1.5;
    letter-spacing: 0;
}

body.enfavori-admin .content-wrapper {
    background: var(--ef-admin-page) !important;
}

body.enfavori-admin .content-header {
    padding-top: 16px;
    padding-bottom: 8px;
}

body.enfavori-admin .content {
    padding-bottom: 28px;
}

body.enfavori-admin h1,
body.enfavori-admin h2,
body.enfavori-admin h3,
body.enfavori-admin h4,
body.enfavori-admin h5,
body.enfavori-admin h6,
body.enfavori-admin .text-title,
body.enfavori-admin .card-title {
    font-family: var(--ef-admin-font) !important;
    color: var(--ef-admin-text);
    letter-spacing: -.018em;
}

body.enfavori-admin .content-header h1,
body.enfavori-admin .content-header .text-title {
    margin: 0;
    font-size: 21px !important;
    font-weight: 750 !important;
    line-height: 1.3;
}

body.enfavori-admin .card-title,
body.enfavori-admin .card-header h1,
body.enfavori-admin .card-header h2,
body.enfavori-admin .card-header h3,
body.enfavori-admin .card-header h4,
body.enfavori-admin .card-header strong {
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.35;
}

body.enfavori-admin label,
body.enfavori-admin .col-form-label {
    margin-bottom: 6px;
    color: var(--ef-admin-text);
    font-size: 13px !important;
    font-weight: 700 !important;
}

body.enfavori-admin .text-muted,
body.enfavori-admin small,
body.enfavori-admin .help-block,
body.enfavori-admin .form-text {
    color: var(--ef-admin-muted) !important;
    font-size: 12.5px;
}

/* Üst bar */
body.enfavori-admin .main-header.navbar {
    min-height: 58px;
    background: #343d47 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    box-shadow: 0 4px 18px rgba(10, 25, 42, .09);
}

body.enfavori-admin .main-header .nav-link,
body.enfavori-admin .main-header .navbar-nav .nav-link {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 650;
    border-radius: 9px;
    transition: background var(--ef-admin-transition), color var(--ef-admin-transition);
}

body.enfavori-admin .main-header .nav-link:hover,
body.enfavori-admin .main-header .nav-link:focus {
    background: rgba(255,255,255,.09);
}

/* Sol menü */
body.enfavori-admin .main-sidebar,
body.enfavori-admin .main-sidebar::before {
    background: var(--ef-admin-navy) !important;
}

body.enfavori-admin .brand-link {
    min-height: 70px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    background: var(--ef-admin-navy) !important;
}

body.enfavori-admin .nav-sidebar {
    padding: 8px 8px 22px;
}

body.enfavori-admin .nav-sidebar .nav-item {
    margin-bottom: 3px;
}

body.enfavori-admin .nav-sidebar .nav-link {
    min-height: 43px;
    display: flex;
    align-items: center;
    padding: 9px 12px;
    color: rgba(255,255,255,.86) !important;
    font-size: 13.5px !important;
    font-weight: 550;
    line-height: 1.35;
    border-radius: 10px;
    transition: background var(--ef-admin-transition), color var(--ef-admin-transition), transform var(--ef-admin-transition);
}

body.enfavori-admin .nav-sidebar .nav-link p {
    margin: 0;
    line-height: 1.35;
}

body.enfavori-admin .nav-sidebar .nav-icon {
    width: 23px !important;
    margin-right: 7px !important;
    font-size: 15px !important;
    text-align: center;
}

body.enfavori-admin .nav-sidebar > .nav-item > .nav-link.active,
body.enfavori-admin .nav-sidebar > .nav-item.menu-open > .nav-link,
body.enfavori-admin .nav-treeview > .nav-item > .nav-link.active {
    color: #fff !important;
    background: rgba(24,199,187,.78) !important;
    box-shadow: none !important;
}

body.enfavori-admin .nav-treeview {
    padding: 3px 0 5px 10px;
}

body.enfavori-admin .nav-treeview > .nav-item > .nav-link {
    min-height: 39px;
    padding-top: 8px;
    padding-bottom: 8px;
    color: rgba(255,255,255,.76) !important;
    font-size: 13px !important;
}

body.enfavori-admin .nav-sidebar .nav-link:hover {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
}

/* Kartlar ve kutular */
body.enfavori-admin .card,
body.enfavori-admin .callout,
body.enfavori-admin .info-box,
body.enfavori-admin .small-box,
body.enfavori-admin .modal-content {
    border: 1px solid var(--ef-admin-border) !important;
    border-radius: var(--ef-admin-radius) !important;
    background: var(--ef-admin-surface);
    box-shadow: var(--ef-admin-shadow);
}

body.enfavori-admin .card {
    overflow: visible;
}

body.enfavori-admin .card-header {
    min-height: 50px;
    padding: 13px 16px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--ef-admin-border-soft) !important;
    background: var(--ef-admin-surface) !important;
    border-radius: var(--ef-admin-radius) var(--ef-admin-radius) 0 0 !important;
}

body.enfavori-admin .card-body {
    padding: 16px;
}

body.enfavori-admin .card-footer {
    padding: 13px 16px;
    border-top: 1px solid var(--ef-admin-border-soft) !important;
    background: var(--ef-admin-surface-soft) !important;
    border-radius: 0 0 var(--ef-admin-radius) var(--ef-admin-radius) !important;
}

body.enfavori-admin .card-primary.card-outline,
body.enfavori-admin .card-info.card-outline,
body.enfavori-admin .card-success.card-outline,
body.enfavori-admin .card-warning.card-outline,
body.enfavori-admin .card-danger.card-outline {
    border-top: 3px solid var(--ef-admin-brand) !important;
}

body.enfavori-admin .section-title,
body.enfavori-admin .section-head {
    margin: 0 0 12px;
    padding: 10px 13px;
    color: var(--ef-admin-navy) !important;
    background: var(--ef-admin-brand-soft) !important;
    border: 1px solid #ccefeb !important;
    border-left: 4px solid var(--ef-admin-brand) !important;
    border-radius: var(--ef-admin-radius-sm) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-transform: none !important;
}

/* Buton sistemi */
body.enfavori-admin .btn {
    min-height: 38px;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: var(--ef-admin-font) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25;
    border-radius: var(--ef-admin-radius-sm) !important;
    box-shadow: none !important;
    transition: transform var(--ef-admin-transition), box-shadow var(--ef-admin-transition), background var(--ef-admin-transition), border-color var(--ef-admin-transition);
}

body.enfavori-admin .btn:hover {
    transform: translateY(-1px);
}

body.enfavori-admin .btn:focus {
    box-shadow: 0 0 0 3px rgba(24,199,187,.19) !important;
}

body.enfavori-admin .button-green,
body.enfavori-admin .btn-success,
body.enfavori-admin .bg-green-custom {
    color: #fff !important;
    background: var(--ef-admin-brand-dark) !important;
    border-color: var(--ef-admin-brand-dark) !important;
}

body.enfavori-admin .button-green:hover,
body.enfavori-admin .btn-success:hover {
    background: #0b887f !important;
    border-color: #0b887f !important;
}

body.enfavori-admin .btn-primary,
body.enfavori-admin .button-purple {
    color: #fff !important;
    background: var(--ef-admin-navy) !important;
    border-color: var(--ef-admin-navy) !important;
}

body.enfavori-admin .btn-primary:hover,
body.enfavori-admin .button-purple:hover {
    background: var(--ef-admin-navy-soft) !important;
    border-color: var(--ef-admin-navy-soft) !important;
}

body.enfavori-admin .button-red,
body.enfavori-admin .btn-danger {
    color: #fff !important;
    background: var(--ef-admin-danger) !important;
    border-color: var(--ef-admin-danger) !important;
}

body.enfavori-admin .btn-warning {
    color: #2b2109 !important;
    background: #f8bd43 !important;
    border-color: #f8bd43 !important;
}

body.enfavori-admin .btn-info {
    color: #fff !important;
    background: var(--ef-admin-info) !important;
    border-color: var(--ef-admin-info) !important;
}

body.enfavori-admin .btn-default,
body.enfavori-admin .btn-light,
body.enfavori-admin .btn-outline-secondary,
body.enfavori-admin .btn-sort {
    color: var(--ef-admin-text) !important;
    background: #fff !important;
    border-color: var(--ef-admin-border) !important;
}

body.enfavori-admin .btn-sm {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px !important;
}

body.enfavori-admin .btn-lg {
    min-height: 46px;
    padding: 11px 18px;
    font-size: 14px !important;
}

/* Form sistemi */
body.enfavori-admin .form-control,
body.enfavori-admin .custom-select,
body.enfavori-admin select.form-control,
body.enfavori-admin .bootstrap-select > .dropdown-toggle,
body.enfavori-admin .select2-container .select2-selection,
body.enfavori-admin .custom-file-label {
    min-height: var(--ef-admin-control-h);
    color: var(--ef-admin-text) !important;
    background: #fff !important;
    border: 1px solid #cfdbe5 !important;
    border-radius: var(--ef-admin-radius-sm) !important;
    font-family: var(--ef-admin-font) !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

body.enfavori-admin .form-control,
body.enfavori-admin .custom-select,
body.enfavori-admin select.form-control {
    padding: 9px 11px;
}

body.enfavori-admin .form-control:focus,
body.enfavori-admin .custom-select:focus,
body.enfavori-admin .select2-container--focus .select2-selection,
body.enfavori-admin .bootstrap-select.show > .dropdown-toggle {
    border-color: var(--ef-admin-brand) !important;
    box-shadow: 0 0 0 3px rgba(24,199,187,.13) !important;
}

body.enfavori-admin textarea.form-control {
    min-height: 110px;
    line-height: 1.55;
}

body.enfavori-admin .input-group-text {
    min-height: var(--ef-admin-control-h);
    color: var(--ef-admin-muted);
    background: var(--ef-admin-surface-soft);
    border-color: #cfdbe5;
    font-size: 13px;
    font-weight: 650;
}

body.enfavori-admin .custom-control-label,
body.enfavori-admin .form-check-label {
    font-size: 13.5px !important;
    font-weight: 550 !important;
}

/* Tablo sistemi: masaüstünde sade, telefonda mevcut JS ile kart */
body.enfavori-admin .table-responsive,
body.enfavori-admin .enfavori-table-scroll {
    border-radius: var(--ef-admin-radius);
    -webkit-overflow-scrolling: touch;
}

body.enfavori-admin table.table {
    width: 100%;
    margin: 0 !important;
    color: var(--ef-admin-text);
    background: #fff;
    border-collapse: separate;
    border-spacing: 0;
    font-family: var(--ef-admin-font) !important;
    font-size: 14px !important;
}

body.enfavori-admin table.table > thead > tr > th {
    padding: 13px 13px !important;
    color: var(--ef-admin-text) !important;
    background: var(--ef-admin-surface-soft) !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--ef-admin-border) !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 1.35;
    letter-spacing: .005em;
    text-transform: none;
    vertical-align: middle !important;
    white-space: normal;
}

body.enfavori-admin table.table > tbody > tr > td,
body.enfavori-admin table.table > tbody > tr > th {
    padding: 12px 13px !important;
    color: var(--ef-admin-text);
    background: #fff;
    border-top: 0 !important;
    border-bottom: 1px solid var(--ef-admin-border-soft) !important;
    font-size: 14px !important;
    line-height: 1.45;
    vertical-align: middle !important;
}

body.enfavori-admin table.table > tbody > tr:last-child > td,
body.enfavori-admin table.table > tbody > tr:last-child > th {
    border-bottom: 0 !important;
}

body.enfavori-admin table.table-hover > tbody > tr:hover > td,
body.enfavori-admin table.table-hover > tbody > tr:hover > th {
    background: #f4fbfa !important;
}

body.enfavori-admin table.table img {
    max-width: 145px;
    max-height: 84px;
    object-fit: cover;
    border-radius: 8px;
}

body.enfavori-admin table.table .btn-group,
body.enfavori-admin table.table .dropdown {
    display: inline-flex;
    width: auto;
}

body.enfavori-admin table.table .btn-group > .btn,
body.enfavori-admin table.table .dropdown > .btn {
    min-width: 36px;
    min-height: 36px;
    padding: 6px 9px !important;
}

body.enfavori-admin .table-striped tbody tr:nth-of-type(odd) td {
    background: #fbfcfd;
}

/* Rozetler ve durumlar */
body.enfavori-admin .badge,
body.enfavori-admin .status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 999px !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
    line-height: 1.2;
}

body.enfavori-admin .badge-primary,
body.enfavori-admin .badge-info {
    color: #fff;
    background: var(--ef-admin-info) !important;
}

body.enfavori-admin .badge-success {
    color: #fff;
    background: var(--ef-admin-success) !important;
}

body.enfavori-admin .badge-warning {
    color: #4d3600;
    background: #ffd36f !important;
}

body.enfavori-admin .badge-danger {
    color: #fff;
    background: var(--ef-admin-danger) !important;
}

body.enfavori-admin .badge-secondary,
body.enfavori-admin .badge-light {
    color: #536579;
    background: #edf2f6 !important;
}

/* Uyarılar */
body.enfavori-admin .alert,
body.enfavori-admin .alert-warning-custom,
body.enfavori-admin .env-warning {
    padding: 12px 14px;
    border: 1px solid transparent;
    border-radius: var(--ef-admin-radius-sm) !important;
    font-size: 13px !important;
    line-height: 1.5;
    box-shadow: none !important;
}

body.enfavori-admin .alert-success {
    color: #075d47;
    background: #e7f8f2 !important;
    border-color: #bcebdc !important;
}

body.enfavori-admin .alert-info {
    color: #174c83;
    background: #eaf4ff !important;
    border-color: #c5e0fb !important;
}

body.enfavori-admin .alert-warning,
body.enfavori-admin .alert-warning-custom,
body.enfavori-admin .env-warning {
    color: #654400 !important;
    background: #fff6db !important;
    border-color: #f3d783 !important;
}

body.enfavori-admin .alert-danger {
    color: #842334;
    background: #ffedf0 !important;
    border-color: #f4c3cc !important;
}

/* Sekmeler, açılır menüler, sayfalama */
body.enfavori-admin .nav-tabs {
    border-bottom-color: var(--ef-admin-border);
}

body.enfavori-admin .nav-tabs .nav-link,
body.enfavori-admin .nav-pills .nav-link {
    color: var(--ef-admin-muted);
    font-size: 13px !important;
    font-weight: 700;
    border-radius: var(--ef-admin-radius-sm) var(--ef-admin-radius-sm) 0 0;
}

body.enfavori-admin .nav-tabs .nav-link.active,
body.enfavori-admin .nav-pills .nav-link.active {
    color: var(--ef-admin-navy) !important;
    background: var(--ef-admin-brand-soft) !important;
    border-color: var(--ef-admin-border) var(--ef-admin-border) #fff !important;
}

body.enfavori-admin .dropdown-menu {
    min-width: 190px;
    padding: 7px;
    border: 1px solid var(--ef-admin-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 14px 34px rgba(13,35,58,.14) !important;
    font-size: 13px !important;
}

body.enfavori-admin .dropdown-item {
    min-height: 38px;
    display: flex;
    align-items: center;
    padding: 8px 10px;
    color: var(--ef-admin-text);
    border-radius: 7px;
    font-size: 13px !important;
}

body.enfavori-admin .dropdown-item:hover,
body.enfavori-admin .dropdown-item:focus {
    color: var(--ef-admin-navy);
    background: var(--ef-admin-brand-soft);
}

body.enfavori-admin .pagination {
    gap: 4px;
}

body.enfavori-admin .page-link {
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ef-admin-text) !important;
    background: #fff;
    border-color: var(--ef-admin-border) !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    font-weight: 700;
}

body.enfavori-admin .page-item.active .page-link {
    color: #fff !important;
    background: var(--ef-admin-navy) !important;
    border-color: var(--ef-admin-navy) !important;
}

/* Modal */
body.enfavori-admin .modal-content {
    padding: 0 !important;
    overflow: hidden;
}

body.enfavori-admin .modal-header,
body.enfavori-admin .modal-footer {
    padding: 13px 16px;
    border-color: var(--ef-admin-border-soft);
}

body.enfavori-admin .modal-body {
    padding: 16px;
}

body.enfavori-admin .modal-title {
    font-size: 16px !important;
    font-weight: 750;
}

/* DataTables */
body.enfavori-admin .dataTables_wrapper,
body.enfavori-admin .dataTables_wrapper label,
body.enfavori-admin .dataTables_info {
    font-size: 12.5px !important;
    color: var(--ef-admin-muted);
}

body.enfavori-admin .dataTables_filter input,
body.enfavori-admin .dataTables_length select {
    min-height: 36px;
    border: 1px solid var(--ef-admin-border);
    border-radius: 8px;
}

/* Tablet */
@media (max-width: 991.98px) {
    body.enfavori-admin {
        font-size: 14px !important;
    }

    body.enfavori-admin .content-header h1,
    body.enfavori-admin .content-header .text-title {
        font-size: 20px !important;
    }

    body.enfavori-admin .card-header,
    body.enfavori-admin .card-body,
    body.enfavori-admin .card-footer {
        padding-left: 13px;
        padding-right: 13px;
    }
}

/* Telefon: tablolar mevcut JS tarafından bilgi kartına çevrilir. */
@media (max-width: 767.98px) {
    body.enfavori-admin {
        font-size: 14px !important;
    }

    body.enfavori-admin .content-header {
        padding-top: 12px;
    }

    body.enfavori-admin .content-header h1,
    body.enfavori-admin .content-header .text-title {
        font-size: 20px !important;
        line-height: 1.25;
    }

    body.enfavori-admin .card,
    body.enfavori-admin .callout,
    body.enfavori-admin .info-box,
    body.enfavori-admin .small-box {
        border-radius: 13px !important;
    }

    body.enfavori-admin .card-header {
        min-height: 48px;
        padding: 12px;
    }

    body.enfavori-admin .card-body,
    body.enfavori-admin .card-footer {
        padding: 12px;
    }

    body.enfavori-admin .btn {
        min-height: 44px;
        padding: 10px 13px;
        font-size: 13.5px !important;
    }

    body.enfavori-admin .form-control,
    body.enfavori-admin .custom-select,
    body.enfavori-admin select.form-control,
    body.enfavori-admin .bootstrap-select > .dropdown-toggle,
    body.enfavori-admin .select2-container .select2-selection {
        min-height: 44px !important;
        font-size: 16px !important;
    }

    body.enfavori-admin table.ef-mobile-card-table > tbody > tr {
        border: 1px solid var(--ef-admin-border) !important;
        border-radius: 13px !important;
        box-shadow: 0 5px 16px rgba(15,39,68,.05) !important;
    }

    body.enfavori-admin table.ef-mobile-card-table > tbody > tr > td,
    body.enfavori-admin table.ef-mobile-card-table > tbody > tr > th {
        min-height: 46px;
        grid-template-columns: minmax(105px, 38%) minmax(0, 62%) !important;
        gap: 10px;
        padding: 10px 11px !important;
        color: var(--ef-admin-text) !important;
        border-bottom: 1px solid var(--ef-admin-border-soft) !important;
        font-size: 14px !important;
        line-height: 1.4;
    }

    body.enfavori-admin table.ef-mobile-card-table > tbody > tr > td::before,
    body.enfavori-admin table.ef-mobile-card-table > tbody > tr > th::before {
        color: var(--ef-admin-muted) !important;
        font-size: 10.5px !important;
        font-weight: 800 !important;
        letter-spacing: .015em;
    }

    body.enfavori-admin table.ef-mobile-card-table img {
        width: min(100%, 190px);
        max-width: 190px;
        max-height: 105px;
        border-radius: 9px;
    }

    body.enfavori-admin .dropdown-menu {
        max-width: calc(100vw - 24px);
    }
}

/* Çok dar ekran */
@media (max-width: 390px) {
    body.enfavori-admin table.ef-mobile-card-table > tbody > tr > td,
    body.enfavori-admin table.ef-mobile-card-table > tbody > tr > th {
        grid-template-columns: minmax(92px, 36%) minmax(0, 64%) !important;
        padding: 9px 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.enfavori-admin *,
    body.enfavori-admin *::before,
    body.enfavori-admin *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Son güvenlik katmanı: rastgele renkli kutuları tek EnFavori yüzeyine çevirir. */
body.enfavori-admin .card-header.bg-primary,
body.enfavori-admin .card-header.bg-secondary,
body.enfavori-admin .card-header.bg-info,
body.enfavori-admin .card-header.bg-success,
body.enfavori-admin .card-header.bg-warning,
body.enfavori-admin .card-header.bg-danger,
body.enfavori-admin .card-header.bg-dark {
    color: #fff !important;
    background: var(--ef-admin-navy) !important;
    border-color: var(--ef-admin-navy) !important;
}

body.enfavori-admin .card-header.bg-primary *,
body.enfavori-admin .card-header.bg-secondary *,
body.enfavori-admin .card-header.bg-info *,
body.enfavori-admin .card-header.bg-success *,
body.enfavori-admin .card-header.bg-warning *,
body.enfavori-admin .card-header.bg-danger *,
body.enfavori-admin .card-header.bg-dark * {
    color: #fff !important;
}

body.enfavori-admin .info-box.bg-primary,
body.enfavori-admin .info-box.bg-secondary,
body.enfavori-admin .info-box.bg-info,
body.enfavori-admin .info-box.bg-success,
body.enfavori-admin .info-box.bg-warning,
body.enfavori-admin .info-box.bg-danger,
body.enfavori-admin .small-box.bg-primary,
body.enfavori-admin .small-box.bg-secondary,
body.enfavori-admin .small-box.bg-info,
body.enfavori-admin .small-box.bg-success,
body.enfavori-admin .small-box.bg-warning,
body.enfavori-admin .small-box.bg-danger {
    color: var(--ef-admin-text) !important;
    background: #fff !important;
    border-left: 4px solid var(--ef-admin-brand) !important;
}

body.enfavori-admin table.table > tbody > tr > td,
body.enfavori-admin table.table > tbody > tr > th {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

/* ==========================================================================
   EnFavori Admin PRO V2 - 08.08.2026
   Sol menü / ikon / mobil / içerik sağlamlaştırma katmanı
   ========================================================================== */

body.enfavori-admin .main-sidebar {
    border-right: 1px solid rgba(255,255,255,.07) !important;
    box-shadow: 8px 0 28px rgba(8, 24, 42, .08) !important;
}

body.enfavori-admin .main-sidebar .sidebar {
    padding-top: 10px !important;
}

body.enfavori-admin .nav-sidebar {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

body.enfavori-admin .nav-sidebar .nav-item {
    margin-bottom: 4px !important;
}

body.enfavori-admin .nav-sidebar .nav-link {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 8px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 13.5px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    transition: background-color .15s ease, border-color .15s ease !important;
}

body.enfavori-admin .nav-sidebar .nav-link > .nav-icon,
body.enfavori-admin .nav-sidebar .nav-link > i:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.085) !important;
    color: rgba(255,255,255,.92) !important;
    font-size: 13px !important;
    text-align: center !important;
}

body.enfavori-admin .nav-sidebar .nav-link > p {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

body.enfavori-admin .nav-sidebar .nav-link > p > .right,
body.enfavori-admin .nav-sidebar .nav-link > .right {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    margin-left: auto !important;
    color: rgba(255,255,255,.68) !important;
}

body.enfavori-admin .nav-sidebar > .nav-item > .nav-link:hover {
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.07) !important;
    color: #fff !important;
}

body.enfavori-admin .nav-sidebar > .nav-item > .nav-link.active,
body.enfavori-admin .nav-sidebar > .nav-item.menu-open > .nav-link {
    background: #18aaa0 !important;
    border-color: rgba(255,255,255,.16) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(9, 86, 82, .20) !important;
}

body.enfavori-admin .nav-sidebar > .nav-item > .nav-link.active > .nav-icon,
body.enfavori-admin .nav-sidebar > .nav-item.menu-open > .nav-link > .nav-icon,
body.enfavori-admin .nav-sidebar > .nav-item > .nav-link.active > i:first-child,
body.enfavori-admin .nav-sidebar > .nav-item.menu-open > .nav-link > i:first-child {
    background: rgba(255,255,255,.17) !important;
    color: #fff !important;
}

body.enfavori-admin .nav-treeview {
    margin: 3px 0 7px !important;
    padding: 2px 0 2px 13px !important;
    border-left: 1px solid rgba(255,255,255,.10) !important;
}

body.enfavori-admin .nav-treeview > .nav-item > .nav-link {
    min-height: 40px !important;
    margin: 2px 0 !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 12.5px !important;
    font-weight: 550 !important;
}

body.enfavori-admin .nav-treeview > .nav-item > .nav-link > .nav-icon,
body.enfavori-admin .nav-treeview > .nav-item > .nav-link > i:first-child {
    flex-basis: 26px !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    border-radius: 7px !important;
    background: rgba(255,255,255,.055) !important;
    font-size: 11px !important;
}

body.enfavori-admin .nav-treeview > .nav-item > .nav-link.active {
    background: rgba(255,255,255,.12) !important;
    border-left: 0 !important;
    color: #fff !important;
    box-shadow: none !important;
}

body.enfavori-admin .nav-sidebar .badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

body.enfavori-admin .content-wrapper,
body.enfavori-admin .content-wrapper .container-fluid,
body.enfavori-admin .content-wrapper .row,
body.enfavori-admin .content-wrapper [class*="col-"] {
    min-width: 0;
}

body.enfavori-admin .card,
body.enfavori-admin .card-body,
body.enfavori-admin .table-responsive {
    min-width: 0;
}

body.enfavori-admin td,
body.enfavori-admin th,
body.enfavori-admin .alert,
body.enfavori-admin .form-control {
    overflow-wrap: anywhere;
}

/* Desktop: sidebar biraz daha kompakt ve nefesli */
@media (min-width: 992px) {
    :root {
        --enfavori-sidebar-width: 300px;
    }

    body.enfavori-admin .nav-sidebar .nav-link {
        width: calc(100% - 16px) !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }

    body.enfavori-admin .nav-treeview > .nav-item > .nav-link {
        width: calc(100% - 18px) !important;
        margin-left: 9px !important;
        margin-right: 9px !important;
    }
}

/* Tablet / mobil: off-canvas menü, tam okunur metinler */
@media (max-width: 991.98px) {
    body.enfavori-admin .main-sidebar,
    body.enfavori-admin .main-sidebar::before {
        width: min(88vw, 320px) !important;
        max-width: 320px !important;
    }

    body.enfavori-admin .brand-link {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.enfavori-admin .nav-sidebar {
        padding: 8px 8px 90px !important;
    }

    body.enfavori-admin .nav-sidebar .nav-link {
        width: 100% !important;
        margin: 2px 0 !important;
        min-height: 46px !important;
    }

    body.enfavori-admin .nav-sidebar .nav-link > p {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        line-height: 1.3 !important;
    }

    body.enfavori-admin .nav-treeview {
        padding-left: 10px !important;
    }

    body.enfavori-admin .content-wrapper {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    body.enfavori-admin .content {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.enfavori-admin .card {
        max-width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    body.enfavori-admin .main-header.navbar {
        min-height: 54px !important;
    }

    body.enfavori-admin .content-header {
        padding: 11px 10px 7px !important;
    }

    body.enfavori-admin .content {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    body.enfavori-admin .card-header {
        padding: 11px 12px !important;
    }

    body.enfavori-admin .card-body {
        padding: 12px !important;
    }

    body.enfavori-admin .btn {
        max-width: 100%;
        white-space: normal !important;
    }
}

/* ==========================================================================
   EnFavori Admin PRO V3 - Menü başlık ve kurumsal yoğunluk ayarı
   ========================================================================== */
body.enfavori-admin .nav-sidebar > .nav-item > .nav-link {
    letter-spacing: -.01em !important;
}
body.enfavori-admin .nav-sidebar > .nav-item > .nav-link > p {
    font-weight: 700 !important;
}
body.enfavori-admin .nav-sidebar > .nav-item > .nav-link.active {
    box-shadow: inset 3px 0 0 rgba(255,255,255,.9), 0 7px 18px rgba(9,86,82,.18) !important;
}
body.enfavori-admin .nav-treeview > .nav-item > .nav-link > p {
    font-weight: 600 !important;
}

/* ==========================================================================
   EnFavori Admin PRO V3.1 - Global mobil yatay taşma kilidi
   ========================================================================== */
html,
body.enfavori-admin {
    max-width: 100%;
    overflow-x: hidden !important;
}

body.enfavori-admin .wrapper {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

@media (max-width: 991.98px) {
    body.enfavori-admin .content-wrapper,
    body.enfavori-admin .main-header {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
}

@media (max-width: 575.98px) {
    body.enfavori-admin .content-wrapper {
        min-height: 100vh !important;
    }

    body.enfavori-admin .table-responsive {
        max-width: 100% !important;
    }
}

/* EnFavori Admin PRO V3.2 - Mini kart grid güvenliği */
.efcr-field-card-grid,
.efcr-field-card,
.efcr-field-content {
    min-width: 0;
    box-sizing: border-box;
}

/* EnFavori Admin PRO V3.3 - content header mobil güvenliği */
.efcr-page-hero,
.efcr-page-hero-main,
.efcr-page-hero-copy,
.efcr-workflow-alert,
.efcr-workflow-alert-copy {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* ==========================================================================
   EnFavori ADMIN ROOT FIX V4
   AdminLTE mobile sidebar width conflict fix
   ========================================================================== */

@media (max-width: 991.98px) {

    body.enfavori-admin .main-sidebar {
        width: min(88vw, 320px) !important;
        max-width: 320px !important;
        margin-left: 0 !important;
        left: 0 !important;
        transform: translate3d(-100%, 0, 0) !important;
        transition: transform .22s ease-in-out !important;
        will-change: transform;
        box-shadow: none !important;
        z-index: 1045 !important;
    }

    body.enfavori-admin .main-sidebar::before {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        left: 0 !important;
    }

    body.enfavori-admin.sidebar-collapse .main-sidebar,
    body.enfavori-admin.sidebar-closed .main-sidebar,
    body.enfavori-admin.sidebar-collapse .main-sidebar::before,
    body.enfavori-admin.sidebar-closed .main-sidebar::before,
    body.enfavori-admin .wrapper.sidebar-collapse .main-sidebar,
    body.enfavori-admin .wrapper.sidebar-closed .main-sidebar {
        margin-left: 0 !important;
    }

    body.enfavori-admin.sidebar-open .main-sidebar,
    body.enfavori-admin .wrapper.sidebar-open .main-sidebar {
        margin-left: 0 !important;
        transform: translate3d(0, 0, 0) !important;
        box-shadow: 10px 0 30px rgba(8, 24, 42, .22) !important;
    }

    body.enfavori-admin .content-wrapper,
    body.enfavori-admin .main-header,
    body.enfavori-admin .main-footer {
        margin-left: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.enfavori-admin .content-wrapper {
        overflow-x: hidden !important;
    }

    body.enfavori-admin:not(.sidebar-open) .main-sidebar {
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.enfavori-admin.sidebar-open .main-sidebar,
    body.enfavori-admin .wrapper.sidebar-open .main-sidebar {
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.enfavori-admin .brand-link,
    body.enfavori-admin .sidebar,
    body.enfavori-admin .nav-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.enfavori-admin #sidebar-overlay {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 1040;
        background: rgba(8, 24, 42, .38);
    }

    body.enfavori-admin.sidebar-open #sidebar-overlay,
    body.enfavori-admin .wrapper.sidebar-open #sidebar-overlay {
        display: block;
    }
}

@media (max-width: 575.98px) {
    body.enfavori-admin .main-sidebar {
        width: min(86vw, 300px) !important;
        max-width: calc(100vw - 44px) !important;
    }

    body.enfavori-admin .content-wrapper,
    body.enfavori-admin .main-header,
    body.enfavori-admin .main-footer,
    body.enfavori-admin .content,
    body.enfavori-admin .content-header {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
}

/* ==========================================================================
   EnFavori ADMIN ROOT FIX V4.1
   Smooth mobile sidebar close/open animation
   ========================================================================== */

@media (max-width: 991.98px) {

    /* Sidebar her zaman görünür DOM durumunda kalır.
       Kapalıyken yalnızca transform ile ekran dışına çıkar.
       Böylece kapanış animasyonu yarıda kesilmez. */
    body.enfavori-admin .main-sidebar {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: none !important;
        transform: translate3d(-100%, 0, 0) !important;
        transition:
            transform .24s cubic-bezier(.4, 0, .2, 1),
            box-shadow .24s ease !important;
        will-change: transform;
    }

    body.enfavori-admin.sidebar-open .main-sidebar,
    body.enfavori-admin .wrapper.sidebar-open .main-sidebar {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translate3d(0, 0, 0) !important;
        box-shadow: 10px 0 30px rgba(8, 24, 42, .22) !important;
    }

    /* Önceki V4 visibility:hidden kuralını kesin olarak iptal et */
    body.enfavori-admin:not(.sidebar-open) .main-sidebar {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: none !important;
        transform: translate3d(-100%, 0, 0) !important;
    }

    /* Overlay artık display:none ile pat diye kaybolmaz.
       Opacity ile yumuşak açılır/kapanır. */
    body.enfavori-admin #sidebar-overlay {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 1040 !important;
        background: rgba(8, 24, 42, .38) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition:
            opacity .22s ease,
            visibility 0s linear .22s !important;
    }

    body.enfavori-admin.sidebar-open #sidebar-overlay,
    body.enfavori-admin .wrapper.sidebar-open #sidebar-overlay {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition:
            opacity .22s ease,
            visibility 0s linear 0s !important;
    }

    /* Açılıp kapanırken içerik veya header yana oynamaz */
    body.enfavori-admin .content-wrapper,
    body.enfavori-admin .main-header,
    body.enfavori-admin .main-footer {
        transform: none !important;
        transition: none !important;
        margin-left: 0 !important;
        left: 0 !important;
    }

    /* Sidebar içeriğinde kapanış sırasında genişlik sıçramasını önle */
    body.enfavori-admin .main-sidebar,
    body.enfavori-admin .main-sidebar .brand-link,
    body.enfavori-admin .main-sidebar .sidebar,
    body.enfavori-admin .main-sidebar .nav-sidebar {
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }
}

/* Hareket azaltmayı seçen kullanıcılar için */
@media (prefers-reduced-motion: reduce) {
    body.enfavori-admin .main-sidebar,
    body.enfavori-admin #sidebar-overlay {
        transition: none !important;
    }
}

/* ==========================================================================
   EnFavori ADMIN ROOT FIX V4.2
   CLEAN CLOSE - sidebar kapanırken içerik üstünde kaymaz
   ========================================================================== */

@media (max-width: 991.98px) {

    /*
     * KAPALI DURUM
     * Transition yok. sidebar-open sınıfı kalktığı anda sidebar tamamen
     * ekran dışına çıkar. Böylece içerik üstünde kapanış animasyonu görünmez.
     */
    body.enfavori-admin .main-sidebar,
    body.enfavori-admin:not(.sidebar-open) .main-sidebar {
        margin-left: 0 !important;
        left: 0 !important;
        transform: translate3d(-100%, 0, 0) !important;
        transition: none !important;
        box-shadow: none !important;
        pointer-events: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 1045 !important;
    }

    /*
     * AÇIK DURUM
     * Sadece açılırken kısa, kontrollü bir animasyon var.
     */
    body.enfavori-admin.sidebar-open .main-sidebar,
    body.enfavori-admin .wrapper.sidebar-open .main-sidebar {
        transform: translate3d(0, 0, 0) !important;
        transition: transform .18s cubic-bezier(.2,.7,.2,1) !important;
        box-shadow: 8px 0 24px rgba(8, 24, 42, .20) !important;
        pointer-events: auto !important;
    }

    /*
     * OVERLAY
     * Kapandığı anda temizlenir. İçerik üzerinde kalan yarı saydam katman yok.
     */
    body.enfavori-admin #sidebar-overlay {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: none !important;
    }

    body.enfavori-admin.sidebar-open #sidebar-overlay,
    body.enfavori-admin .wrapper.sidebar-open #sidebar-overlay {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 1040 !important;
        background: rgba(8, 24, 42, .34) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: opacity .16s ease !important;
    }

    /*
     * İçerik hiçbir durumda sidebar ile birlikte hareket etmez.
     */
    body.enfavori-admin .content-wrapper,
    body.enfavori-admin .main-header,
    body.enfavori-admin .main-footer {
        margin-left: 0 !important;
        left: 0 !important;
        transform: none !important;
        transition: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /*
     * Sidebar kapanırken iç öğeler ayrıca animasyon yapmasın.
     */
    body.enfavori-admin .main-sidebar *,
    body.enfavori-admin .main-sidebar .nav-link,
    body.enfavori-admin .main-sidebar .nav-treeview {
        transition-property: background-color, color, border-color !important;
    }

    /*
     * AdminLTE'nin eski margin tabanlı sidebar hareketlerini tamamen kapat.
     */
    body.enfavori-admin.sidebar-collapse .main-sidebar,
    body.enfavori-admin.sidebar-closed .main-sidebar,
    body.enfavori-admin.sidebar-collapse .main-sidebar::before,
    body.enfavori-admin.sidebar-closed .main-sidebar::before,
    body.enfavori-admin .wrapper.sidebar-collapse .main-sidebar,
    body.enfavori-admin .wrapper.sidebar-closed .main-sidebar {
        margin-left: 0 !important;
    }
}

@media (max-width: 575.98px) {
    body.enfavori-admin .main-sidebar {
        width: min(86vw, 300px) !important;
        max-width: calc(100vw - 44px) !important;
    }
}

