/* ============================================================================
   Uygulama tema katmani — kurumsal gorunum (v2)
   ----------------------------------------------------------------------------
   Metronic (style.bundle.css) uzerine binen gorsel katman. Markup degistirmeden
   yalnizca gorunumu yeniler; tum secicilar mevcut sinif adlarina dayanir.

   Kimlik: koyu lacivert ust bar + kurumsal mavi vurgu + sakin gri-mavi zemin.
   _Layout / _LayoutAuth / _LayoutPublic icinde EN SON yuklenmelidir.

   Notlar (onceki surumden ogrenilen):
   - Metronic'in kok font boyutu 13px'tir; kucuk tipografi rem degil px ile verilir.
   - .card-header'in min-height'ina dokunulmaz (kaldirilirsa baslik cokuyor).
   - Metronic ".card > .card-header:not(.flex-nowrap)" kurali ayni ozgulukle ezilir.
   ============================================================================ */

:root {
    /* Kurumsal kimlik */
    --app-navy: #0e1a2f;          /* ust bar */
    --app-navy-2: #16294a;        /* ust bar gecisi */
    --app-navy-text: #c7d3e8;     /* ust bar pasif menu */
    --app-navy-text-hi: #ffffff;  /* ust bar aktif menu */

    --app-primary: #2457d6;       /* kurumsal mavi (aksiyon) */
    --app-primary-strong: #1b449f;
    --app-primary-soft: #e8eefc;

    /* Yuzeyler */
    --app-bg: #eef1f6;
    --app-surface: #ffffff;
    --app-surface-muted: #f6f8fb;
    --app-border: #e3e8f0;
    --app-border-strong: #cfd8e6;

    /* Metin */
    --app-text: #16233a;
    --app-text-muted: #55627c;
    --app-text-subtle: #7d8ba4;

    /* Durum renkleri */
    --app-success: #158a45;
    --app-success-soft: #e3f5ea;
    --app-warning: #c26a05;
    --app-warning-soft: #fdf2e2;
    --app-danger: #d32f2f;
    --app-danger-soft: #fdeaea;
    --app-info: #0779a1;
    --app-info-soft: #e3f3f9;

    /* Bicim */
    --app-radius-sm: 8px;
    --app-radius: 12px;
    --app-radius-lg: 14px;

    --app-shadow-xs: 0 1px 2px rgba(15, 26, 47, .06);
    --app-shadow-sm: 0 1px 2px rgba(15, 26, 47, .05), 0 3px 10px rgba(15, 26, 47, .05);
    --app-shadow: 0 2px 4px rgba(15, 26, 47, .05), 0 10px 28px rgba(15, 26, 47, .08);
    --app-shadow-lg: 0 4px 8px rgba(15, 26, 47, .06), 0 20px 48px rgba(15, 26, 47, .14);

    --app-ring: 0 0 0 3px rgba(36, 87, 214, .20);

    --app-font: "Inter", "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---------------------------------------------------------------------------
   1) Temel / tipografi
   --------------------------------------------------------------------------- */
body,
body#kt_body {
    font-family: var(--app-font);
    color: var(--app-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -0.006em;
}

/* Desenli arka plan gorseli yerine sakin kurumsal zemin */
body#kt_body {
    background-image: none !important;
    background-color: var(--app-bg) !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--app-text);
    letter-spacing: -0.02em;
    font-weight: 700;
}

.text-muted {
    color: var(--app-text-muted) !important;
}

a { text-decoration: none; }

::selection {
    background: var(--app-primary);
    color: #fff;
}

/* Sayfa geneli ince kaydirma cubugu */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--app-border-strong) transparent;
}

*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--app-border-strong); border-radius: 99px; }
*::-webkit-scrollbar-track { background: transparent; }

/* ---------------------------------------------------------------------------
   2) UST BAR — koyu lacivert kurumsal serit
   --------------------------------------------------------------------------- */
#kt_header.header,
.header.align-items-stretch {
    background: linear-gradient(90deg, var(--app-navy) 0%, var(--app-navy-2) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    box-shadow: 0 2px 14px rgba(9, 17, 32, .28);
}

/* Logo: koyu zeminde her logoda okunur kalsin diye beyaz plaket */
.header .header-logo a {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    border-radius: 10px;
    padding: 7px 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
}

/* Ust seviye menu ogeleri — acilir paneller (menu-sub) etkilenmez */
.header .header-menu > .menu > .menu-item > .menu-link {
    color: var(--app-navy-text);
    border-radius: var(--app-radius-sm);
    font-weight: 600;
}

.header .header-menu > .menu > .menu-item > .menu-link .menu-title {
    color: inherit;
}

.header .header-menu > .menu > .menu-item:hover > .menu-link,
.header .header-menu > .menu > .menu-item.hover > .menu-link,
.header .header-menu > .menu > .menu-item.show > .menu-link,
.header .header-menu > .menu > .menu-item > .menu-link.active {
    color: var(--app-navy-text-hi);
    background: rgba(255, 255, 255, .10) !important;
}

.header .header-menu > .menu > .menu-item:hover > .menu-link .menu-title,
.header .header-menu > .menu > .menu-item.show > .menu-link .menu-title {
    color: var(--app-navy-text-hi);
}

/* Mobil menu toggle ikonu koyu zeminde gorunur olsun */
.header #kt_header_menu_mobile_toggle,
.header #kt_header_menu_mobile_toggle .svg-icon {
    color: var(--app-navy-text);
}

.header #kt_header_menu_mobile_toggle:hover {
    background: rgba(255, 255, 255, .10);
}

/* Topbar (avatar) butonu */
.header .topbar .btn-custom:hover {
    background: rgba(255, 255, 255, .10);
}

/* Acilir menu panelleri — beyaz zemin acikca verilir, bicimi tazelenir */
.menu-sub-lg-dropdown,
.menu-sub-dropdown {
    background: var(--app-surface);
    border-radius: var(--app-radius) !important;
    border: 1px solid var(--app-border);
    box-shadow: var(--app-shadow-lg) !important;
    overflow: hidden;
}

.menu-sub .menu-item .menu-link {
    border-radius: 0;
    font-weight: 550;
    color: var(--app-text);
}

.menu-sub .menu-item .menu-link .menu-title {
    color: inherit;
}

.menu-sub .menu-item .menu-link:hover {
    background: var(--app-primary-soft) !important;
    color: var(--app-primary-strong) !important;
}

/* Ust seviye menu ikonlari — koyu zeminde yazi ile ayni tonda */
.header .header-menu > .menu > .menu-item > .menu-link .menu-icon {
    color: inherit;
    margin-right: 7px;
}

.header .header-menu > .menu > .menu-item > .menu-link .menu-icon i {
    color: inherit;
    font-size: 15px;
}

/* Icinde bulunulan bolumun ust menusu isaretli kalir (here) */
.header .header-menu > .menu > .menu-item.here > .menu-link {
    color: var(--app-navy-text-hi);
    background: rgba(255, 255, 255, .10) !important;
    box-shadow: inset 0 -2px 0 var(--app-primary-soft);
}

/* Acilir panel ici: bolum basligi */
.app-menu-baslik {
    padding: 8px 25px 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    color: var(--app-text-subtle);
}

.menu-sub .separator {
    border-color: var(--app-border);
}

/* Acilir panel ici: ikonlu ogeler */
.menu-sub .menu-item .menu-link .menu-icon {
    color: var(--app-text-subtle);
    margin-right: 9px;
}

.menu-sub .menu-item .menu-link .menu-icon i {
    font-size: 15px;
    color: inherit;
}

.menu-sub .menu-item .menu-link:hover .menu-icon,
.menu-sub .menu-item .menu-link.active .menu-icon {
    color: var(--app-primary);
}

/* Acilir panel ici: aktif sayfa — sol serit + yumusak mavi zemin */
.menu-sub .menu-item .menu-link.active {
    background: var(--app-primary-soft) !important;
    color: var(--app-primary-strong) !important;
    box-shadow: inset 3px 0 0 var(--app-primary);
}

.menu-sub .menu-item .menu-link.active .menu-title {
    color: inherit;
    font-weight: 650;
}

/* Panel genisligi: uzun basliklar (w-lg-* yardimcisi eksikse) sigsin */
@media (min-width: 992px) {
    .app-menu-panel {
        min-width: 240px;
    }
}

/* Mobilde menu cekmecesi gövdeye tasinir (swapper) — beyaz zemin, koyu metin */
[data-kt-drawer="true"].header-menu.drawer {
    background: #fff;
}

/* Mobil cekmecede (header disinda) ikon ve basliklar koyu tema ile uyumlu */
.header-menu.drawer .menu > .menu-item > .menu-link .menu-icon {
    color: var(--app-text-muted);
    margin-right: 8px;
}

.header-menu.drawer .app-menu-baslik {
    display: block !important;
}

/* ---------------------------------------------------------------------------
   2b) Ana sayfa karsilama seridi (hero)
   Not: Turkce buyuk-I sorunlari nedeniyle text-transform kullanilmaz;
   metinler kaynaktaki halleriyle gosterilir.
   --------------------------------------------------------------------------- */
.app-hero {
    background:
        radial-gradient(560px 240px at 88% -30%, rgba(110, 168, 255, .28), transparent 60%),
        radial-gradient(480px 220px at 8% 130%, rgba(36, 87, 214, .38), transparent 60%),
        linear-gradient(115deg, var(--app-navy) 0%, var(--app-navy-2) 55%, #1d3a6e 100%);
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: var(--app-radius-lg);
    box-shadow: var(--app-shadow);
    padding: 52px 24px;
}

.app-hero-ust {
    color: #9fb4d9;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .12em;
    margin-bottom: 10px;
}

.app-hero-baslik {
    color: #ffffff;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0;
    text-shadow: 0 2px 12px rgba(6, 12, 24, .35);
}

.app-hero-cizgi {
    width: 64px;
    height: 4px;
    border-radius: 99px;
    background: linear-gradient(90deg, #6ea8ff, var(--app-primary));
    margin: 18px auto 0;
}

@media (max-width: 767.98px) {
    .app-hero { padding: 34px 16px; }
    .app-hero-baslik { font-size: 23px; }
    .app-hero-ust { font-size: 12px; }
}

/* ---------------------------------------------------------------------------
   3) Footer
   --------------------------------------------------------------------------- */
.footer {
    background: transparent;
    border-top: 1px solid var(--app-border);
}

/* ---------------------------------------------------------------------------
   4) Kartlar
   --------------------------------------------------------------------------- */
.card {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-lg);
    box-shadow: var(--app-shadow-sm);
}

/* Yatay dolgu Metronic'ten devralinir. Metronic dikey dolguyu 0 birakip
   min-height'a guveniyor; ayni ozgulukte dikey dolgu verilir. */
.card > .card-header,
.card > .card-header:not(.flex-nowrap) {
    background: transparent;
    border-bottom: 1px solid var(--app-border);
    align-items: center;
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}

/* Kart basligina kurumsal isaret: sol tarafta kisa dikey cizgi */
.card > .card-header .card-title {
    position: relative;
    padding-left: 14px;
    margin: 0;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.card > .card-header .card-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 20px;
    border-radius: 99px;
    background: linear-gradient(180deg, var(--app-primary), #6ea8ff);
}

.card-footer {
    background: var(--app-surface-muted);
    border-top: 1px solid var(--app-border);
}

.card-label { letter-spacing: -0.02em; }

/* ---------------------------------------------------------------------------
   5) Tablolar
   --------------------------------------------------------------------------- */
.table {
    --bs-table-bg: transparent;
    color: var(--app-text);
    margin-bottom: 0;
}

.table > :not(caption) > * > * {
    padding: .8rem .85rem;
}

.table thead th {
    background: #f1f5fb;
    color: var(--app-text-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--app-border) !important;
    border-top: 0;
    white-space: nowrap;
    vertical-align: middle;
}

.table tbody td {
    border-bottom: 1px solid var(--app-border);
    vertical-align: middle;
}

.table tbody tr:last-child td { border-bottom: 0; }

/* Kesikli satir cizgileri yerine duz ince cizgi */
.table-row-dashed tbody tr,
.table-row-dashed > :not(caption) > * > * {
    border-bottom-style: solid !important;
    border-bottom-color: var(--app-border) !important;
}

.table tbody tr { transition: background-color .15s ease; }
.table tbody tr:hover { background-color: var(--app-primary-soft); }

.table-bordered > :not(caption) > * > * {
    border-color: var(--app-border) !important;
}

.table-responsive { border-radius: var(--app-radius); }

/* ---------------------------------------------------------------------------
   5b) Islem sutunu sabitleme (.islem-sabit)
   Cok kolonlu tablolarda son kolon (Islem) yatay kaydirmada sagda sabit kalir;
   butonlar ekrandan tasip kaybolmaz. Tabloya "islem-sabit" sinifi verilir.
   --------------------------------------------------------------------------- */
.islem-sabit th:last-child,
.islem-sabit td:last-child {
    position: sticky;
    right: 0;
    z-index: 2;
    background: var(--app-surface);
    white-space: nowrap;
    box-shadow: -6px 0 8px -6px rgba(15, 26, 47, .18);
}

.islem-sabit thead th:last-child {
    z-index: 3;
    background: #f1f5fb;
}

.islem-sabit tbody tr:hover td:last-child {
    background: var(--app-primary-soft);
}

/* ---------------------------------------------------------------------------
   6) Butonlar
   --------------------------------------------------------------------------- */
.btn {
    --bs-btn-font-weight: 600;
    border-radius: var(--app-radius-sm);
    letter-spacing: -0.01em;
    transition: background-color .15s ease, border-color .15s ease,
                box-shadow .15s ease, transform .08s ease;
}

.btn:active { transform: translateY(1px); }

.btn:focus-visible {
    outline: none;
    box-shadow: var(--app-ring);
}

.btn.btn-primary {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
    box-shadow: 0 1px 2px rgba(27, 68, 159, .35);
}

.btn.btn-primary:hover,
.btn.btn-primary:focus {
    background-color: var(--app-primary-strong);
    border-color: var(--app-primary-strong);
}

.btn.btn-success {
    background-color: var(--app-success);
    border-color: var(--app-success);
}

.btn.btn-success:hover { background-color: #0f6f37; border-color: #0f6f37; }

.btn.btn-danger {
    background-color: var(--app-danger);
    border-color: var(--app-danger);
}

.btn.btn-danger:hover { background-color: #b02525; border-color: #b02525; }

.btn-light,
.btn-bg-light {
    background-color: var(--app-surface);
    border: 1px solid var(--app-border-strong) !important;
    color: var(--app-text);
}

.btn-light:hover,
.btn-bg-light:hover {
    background-color: var(--app-surface-muted);
    border-color: var(--app-primary) !important;
    color: var(--app-primary-strong);
}

.btn-icon { border-radius: var(--app-radius-sm); }
.btn-sm { padding: .45rem .8rem; }

/* ---------------------------------------------------------------------------
   7) Formlar
   --------------------------------------------------------------------------- */
.form-control,
.form-select {
    border-radius: var(--app-radius-sm);
    border-color: var(--app-border-strong);
    color: var(--app-text);
    background-color: var(--app-surface);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--app-primary);
    box-shadow: var(--app-ring);
}

.form-control::placeholder { color: var(--app-text-subtle); }

.form-label {
    color: var(--app-text-muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    margin-bottom: .35rem;
}

.form-check-input:checked {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

/* ---------------------------------------------------------------------------
   8) Rozetler / uyarilar
   --------------------------------------------------------------------------- */
.badge {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: .01em;
    padding: .45em .85em;
}

.badge.bg-success {
    background-color: var(--app-success-soft) !important;
    color: #116b37 !important;
}

.badge.bg-warning {
    background-color: var(--app-warning-soft) !important;
    color: #8f4e04 !important;
}

.badge.bg-danger {
    background-color: var(--app-danger-soft) !important;
    color: #a51f1f !important;
}

.badge.bg-info {
    background-color: var(--app-info-soft) !important;
    color: #065f7e !important;
}

.badge.bg-primary {
    background-color: var(--app-primary-soft) !important;
    color: var(--app-primary-strong) !important;
}

.badge.bg-secondary,
.badge.bg-light {
    background-color: #e9edf4 !important;
    color: var(--app-text-muted) !important;
}

.alert {
    border-radius: var(--app-radius);
    border: 1px solid var(--app-border);
    box-shadow: var(--app-shadow-xs);
}

/* ---------------------------------------------------------------------------
   9) Sayfalama / modal
   --------------------------------------------------------------------------- */
.pagination .page-link {
    border-radius: var(--app-radius-sm);
    margin: 0 .12rem;
    border: 1px solid transparent;
    color: var(--app-text-muted);
    font-weight: 600;
}

.pagination .page-link:hover {
    background: var(--app-primary-soft);
    color: var(--app-primary-strong);
}

.pagination .page-item.active .page-link {
    background: var(--app-primary);
    border-color: var(--app-primary);
    color: #fff;
}

.modal-content {
    border-radius: var(--app-radius-lg);
    border: 1px solid var(--app-border);
    box-shadow: var(--app-shadow-lg);
}

.modal-header, .modal-footer { border-color: var(--app-border); }

/* ---------------------------------------------------------------------------
   10) SweetAlert2
   --------------------------------------------------------------------------- */
.swal2-popup {
    border-radius: var(--app-radius-lg) !important;
    box-shadow: var(--app-shadow-lg) !important;
    font-family: var(--app-font) !important;
}

.swal2-title {
    letter-spacing: -0.02em !important;
    font-weight: 700 !important;
}

.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel {
    border-radius: var(--app-radius-sm) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* ---------------------------------------------------------------------------
   11) Erisilebilirlik / hareket tercihi
   --------------------------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--app-primary);
    outline-offset: 2px;
}

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

/* ---------------------------------------------------------------------------
   12) Kucuk ekran
   --------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    .card > .card-header,
    .card > .card-header:not(.flex-nowrap) {
        padding: .9rem 1.1rem;
        row-gap: .6rem;
        flex-wrap: wrap;
    }

    .card > .card-body {
        padding: 1rem 1.1rem 1.15rem;
    }

    .table > :not(caption) > * > * {
        padding: .65rem .6rem;
    }
}

/* ---------------------------------------------------------------------------
   13) Yazdirma
   --------------------------------------------------------------------------- */
@media print {
    .header, .footer, .btn, .form-select, .form-label {
        display: none !important;
    }

    body#kt_body { background: #fff !important; }

    .card { border: 0; box-shadow: none; }
}
