:root {
    --usca-navy: #002147;
    --usca-gold: #C5A059;
    --usca-light-gold: #e2c99a;
    --usca-dark: #0a0a0a;
    --usca-gray: #f8f9fa;
    --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--usca-dark);
    background: #fff;
    overflow-x: hidden;
    width: 100%;
}

html {
    overflow-x: hidden;
}

/* --- navbar settings --- */
:root {
    --nav-padding-top: 24px;
    --nav-padding-scrolled: 16px;
    --nav-transition: all 0.3s ease-in-out;
}

.navbar {
    transition: var(--nav-transition);
    padding: var(--nav-padding-top) 0;
    z-index: 9999;
    width: 100%;
}

/* Fixed Navbar (Ana Sayfa İçin) */
.navbar-fixed {
    position: fixed;
    top: 0;
    left: 0;
}

/* Static Navbar (İç Sayfalar İçin) */
.navbar-static {
    position: relative;
    background: #ffffff !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

/* --- Nav Links --- */
.navbar .nav-link {
    color: rgba(255,255,255,0.95) !important;
    transition: var(--nav-transition);
    position: relative;
    display: inline-block;
    padding: 8px 0;
    font-weight: 500;
}

    /* Animated Underline */
    .navbar .nav-link::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        height: 3px;
        width: 100%;
        background: var(--usca-gold);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.32s ease;
        border-radius: 2px;
    }

    .navbar .nav-link:hover::after,
    .navbar .nav-link:focus::after {
        transform: scaleX(1);
    }

/* Logo */
.navbar-brand img {
    width: 200px;
    transition: var(--nav-transition);
    filter: brightness(0) invert(1);
    padding: 5px;
}

/* --- State: Scrolled, Mobile Open, or Static --- 
   Bu üç durumda da navbar aynı görünür (Beyaz zemin, lacivert yazı)
*/
.navbar.scrolled,
.navbar.mobile-menu-open,
.navbar-static {
    padding: var(--nav-padding-scrolled) 0;
    background: rgba(255,255,255,0.98) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 6px 30px rgba(0,0,0,0.08);
}

    .navbar.scrolled .nav-link,
    .navbar.mobile-menu-open .nav-link,
    .navbar-static .nav-link {
        color: var(--usca-navy) !important;
    }

    .navbar.scrolled .navbar-brand img,
    .navbar.mobile-menu-open .navbar-brand img,
    .navbar-static .navbar-brand img {
        filter: none; /* Logoyu orijinal rengine döndür */
    }

/* Toggler Color */
.navbar-toggler {
    border: none;
    color: white;
    font-size: 1.8rem;
}

.navbar.scrolled .navbar-toggler,
.navbar.mobile-menu-open .navbar-toggler,
.navbar-static .navbar-toggler {
    color: var(--usca-navy);
}

/* --- Mobile Responsive --- */
@media (max-width: 991px) {
    .navbar {
        padding: 10px 0; /* Mobilde her zaman biraz daha dar */
    }

    .navbar-collapse {
        background: white;
        margin-top: 15px;
        padding: 20px;
        border-radius: 12px;
        box-shadow: 0 10px 35px rgba(0,0,0,0.12);
    }

    .navbar .nav-link {
        color: var(--usca-navy) !important;
        padding: 12px 0;
        border-bottom: 1px solid #f2f2f2;
        width: 100%;
    }

        .navbar .nav-link::after {
            display: none; /* Mobilde alt çizgiyi kaldır (opsiyonel) */
        }

    .navbar-brand img {
        width: 140px; /* Mobilde logo biraz küçülebilir */
    }

    .navbar .btn-usca {
        padding: 8px 15px;
        font-size: 0.8rem;
    }
}
/* --- end navbar --- */

/* --- Global --- */
.section-padding {
    padding: 60px 20px;
}

.section-title {
    font-weight: 700;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    color: var(--usca-navy);
    margin-bottom: 25px;
    line-height: 1.2;
}

.gold-text {
    color: var(--usca-gold);
    
    letter-spacing: 2px;
    font-weight: 600;
    font-size: 0.8rem;
    display: block;
    margin-bottom: 12px;
}

.btn-usca {
    background: var(--usca-navy);
    color: white;
    border: 1px solid var(--usca-navy);
    border-radius: 0;
    padding: 14px 35px;
    transition: var(--transition);
    font-weight: 500;
    
    letter-spacing: 1px;
    font-size: 0.9rem;
}

    .btn-usca:hover {
        background: var(--usca-gold);
        border-color: var(--usca-gold);
        color: var(--usca-navy);
        transform: translateY(-3px);
        box-shadow: 0 8px 25px rgba(197,160,89,0.3);
    }



.bg-usca-dark {
    background: var(--usca-navy);
    padding: 70px 0;
    color: white;
}

footer a:hover {
    color: var(--usca-gold) !important;
    opacity: 1 !important;
}


/* ===============================
   PAGE HERO (GLOBAL)
================================ */
.page-hero {
    padding: 120px 20px 80px 20px;
    position: relative;
    color: #fff;
    background-size: cover;
    background-position: center;
}

    .page-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( rgba(11,12,32,.85), rgba(11,12,32,.85) );
        z-index: 1;
    }

    .page-hero .container {
        position: relative;
        z-index: 2;
    }
.page-hero-label {
    
    color: var(--usca-gold);
}
    .page-hero h1 {
        margin-top : 10px;
        font-weight: 700;
        font-size: clamp(2rem, 4vw, 3rem);
    }

    .page-hero p {
        margin-top : 15px;
        font-size: 1rem;
        opacity: .95;
    }


/* ===============================
   FORM (GLOBAL)
================================ */
.form-control {
    border-color: rgba(0, 33, 71, 0.1); 
    transition: var(--transition);
}

   
    .form-control:focus {
        border-color: var(--usca-gold);
        box-shadow: 0 0 0 0.25rem rgba(197, 160, 89, 0.15);
        outline: 0;
    }

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control:-webkit-autofill ~ label {
    
    transform: scale(0.85) translateY(-1rem) translateX(0.15rem) !important;
    color: var(--usca-navy) !important;
    
    opacity: 1; 
    background-color: white; 
    padding: 0 0.5rem;
    height: auto;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    
    -webkit-box-shadow: 0 0 0 1000px white inset !important;    
    -webkit-text-fill-color: var(--usca-navy) !important;    
    transition: background-color 5000s ease-in-out 0s;
}


/* ===============================
   LADDA (GLOBAL)
================================ */

/* 1. Temel Yapı ve Geçişlerin Kapatılması */
.ladda-button,
.ladda-button .ladda-label,
.ladda-button .ladda-spinner {
    position: relative !important;
    transition: none !important; /* Tüm gecikmeleri global olarak sıfırladık */
}

    /* 2. Yükleme (Loading) Durumu - Buton Genel */
    .ladda-button[data-loading] {
        pointer-events: none !important;
        opacity: 0.65 !important;
        cursor: not-allowed !important;
    }

        /* 3. Yükleme Anında İçerik (Label ve Spinner) */
        .ladda-button[data-loading] .ladda-label {
            opacity: 0.2 !important;
        }

    .ladda-button .ladda-spinner {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 10 !important;
    }

        .ladda-button .ladda-spinner div {
            background: currentColor !important;
        }

    /* 4. Durma (Stop) Durumu - Spinner'ı Anında Yok Et */
    .ladda-button:not([data-loading]) .ladda-spinner {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }



/* ===============================
   PANEL LAYOUT
================================ */

/* Ana Kapsayıcı */
.panel-layout .wrapper {
    display: flex;
    align-items: stretch;
    min-height: 100vh;
    overflow-x: hidden;
}

/* Sidebar (Sol Menü) */
.panel-layout #sidebar {
    min-width: 260px;
    max-width: 260px;
    background: var(--usca-navy);
    color: #fff;
    transition: all 0.3s;
    position: sticky;
    top: 0;
    min-height: 100vh;
}

    .panel-layout #sidebar .sidebar-header {
        padding: 20px;       
        padding-bottom: 0px;
        text-align: center;  
        margin-top: 10px;
        position: relative;
    }

    #closeSidebar {
        background: transparent;
        border: none;
        color: white;
        transition: transform 0.3s ease;
    }

    #closeSidebar:hover {
        transform: scale(1.1);
    }

    .panel-layout #sidebar ul li a {
        padding: 12px 20px;
        display: block;
        color: #a0aec0;
        text-decoration: none;
        border-left: 3px solid transparent;
    }

        .panel-layout #sidebar ul li a:hover {
            background: #2d3748;
            color: #fff;
            border-left-color: #3182ce;
        }

        .panel-layout #sidebar ul li a i {
            margin-right: 10px;
        }

   
    /* Sağ Taraf (Main Content) */
    .panel-layout #content {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

/* Üst Bar (Topbar) */
.panel-layout .topbar {
    height: 70px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 25px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

/* Render Alanı (Orta Kısım) */
.panel-layout .main-container {
    padding: 30px;
    flex-grow: 1;
    background-color: #f8f9fa; /* İçerik alanı için hafif gri arka plan */
    width: 100%;
    overflow-x: hidden;
}

/* Responsive Panel adjustments */
@media (max-width: 991px) {
    .panel-layout .wrapper {
        display: block;
    }

    .panel-layout #sidebar {
        position: fixed;
        top: 0;
        left: -260px;
        margin-left: 0;
        z-index: 10001;
        min-width: 260px;
        max-width: 260px;
        height: 100vh;
        transition: left 0.3s ease;
    }

    .panel-layout #sidebar.active {
        left: 0;
    }

    .panel-layout .topbar {
        justify-content: space-between;
        padding: 0 15px;
        width: 100%;
    }

    .panel-layout .main-container {
        padding: 15px;
        width: 100%;
    }
}

.sidebar-overlay {
    display: none;
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    top: 0;
    left: 0;
}

    .sidebar-overlay.active {
        display: block;
    }

/* Kullanıcı İkonu ve Profil */
.panel-layout .user-dropdown img {
    width: 35px;
    height: 35px;
    border-radius: 50%;
}

.panel-layout .disabled-function {
    cursor: not-allowed !important; /* Stop/Yasak işareti */
    opacity: 0.8;
    position: relative;
}

    .panel-layout .disabled-function a {        
        pointer-events: none;
        color: #6c757d !important;
    }

    /* Garanti çözüm: Üst katmanda görünmez bir kalkan oluşturur */
    .panel-layout .disabled-function::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        cursor: not-allowed !important;
        z-index: 10;
    }


.bg-usca-navy{
    background:var(--usca-navy);
}
.card-header .bi-chevron-down {
    transition: transform 0.3s ease;
}



/* ===============================
   DATA TABLE
================================ */


/* Header kapalıyken (collapsed iken) ikonu yan çevir veya ters çevir */
.card-header.collapsed .bi-chevron-down {
    transform: rotate(180deg); /* Kapalıyken sola baksın */
}

/* Genel Tablo Tasarımı */
table.dataTable {
    border-collapse: collapse !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0,0,0,0.02);
}

    /* Header: Koyu/Modern Görünüm */
    table.dataTable thead th {
        background-color: var(--usca-navy) !important; /* USCA Sidebar uyumlu koyu renk */
        color: #e9ecef !important;
        font-weight: 600;
        font-size: 0.8rem;
        letter-spacing: 0.5px;
        padding: 15px !important;
        border: none;
    }

   

    /* Hücre İçerikleri */
    table.dataTable tbody td {
        padding: 12px !important;
        color: #495057;
        font-size: 0.9rem;
        vertical-align: middle;
    }

/* Pagination (Sayfalama) Tasarımı */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0.5rem 0.75rem !important;
    margin-left: 2px !important;
    border-radius: 6px !important;
    border: 1px solid #dee2e6 !important;
    background: #fff !important;
    color: #0d6efd !important;
}

    .dataTables_wrapper .dataTables_paginate .paginate_button.current {
        background-color: #0d6efd !important; /* Primary Mavi */
        color: white !important;
        border-color: #0d6efd !important;
    }

    .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
        background: #e9ecef !important;
        color: #0a58ca !important;
    }

/* Arama Kutusu ve Selectbox */
.dataTables_filter input {
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    margin-left: 10px !important;
    padding: 4px 8px !important;
}

.modal-xl {
    max-width: 90%;
}

.swal2-container {
    z-index: 10000 !important;
}
/* 1. Kutunun col-md-6 içinde tam genişlikte durmasını sağlar */
.select2-container {
    width: 100% !important;

}

/* 2. Hepsini Seç butonunu kutunun içine sağa yaslar */
.select2-container-multipicker {
    position: relative;
}

.select-all {
    position: absolute;
    right: 35px; /* Ok işaretinin veya çarpının üzerine gelmemesi için */
    top: 50%;
    transform: translateY(-50%);
    z-index: 99;
    font-size: 10px !important;
    font-weight: bold;
    color: #0d6efd;
    cursor: pointer;
    background: rgba(13, 110, 253, 0.1);
    padding: 1px 5px;
    border-radius: 3px;
    white-space: nowrap;
    user-select: none;
}

    .select-all:hover {
        background: #0d6efd;
        color: #fff;
    }

/* 3. Seçilen öğelerin butona çarpmasını engellemek için sağdan boşluk */
.select2-container--default .select2-selection--multiple {
    padding-right: 90px !important;
    min-height: 38px; /* Standart input yüksekliği */
    border: 1px solid #dee2e6 !important;
}

/* 4. Single select (tekli seçim) için yükseklik düzeltmesi */
.select2-container--default .select2-selection--single {
    height: 38px !important;
    border: 1px solid #dee2e6 !important;
}

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 36px !important;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 36px !important;
    }





/* Ana Takvim Kutusu */
.ui-datepicker {
    background: #ffffff !important;
    border: 1px solid #1a237e !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
    z-index: 9999 !important;
}

/* Başlık (Header) Lacivert */
.ui-datepicker-header {
    background: #1a237e !important;
    color: #ffffff !important;
    border: none !important;
}



/* Sağ-Sol Okları Görünür Yapma */
.ui-datepicker-prev span, .ui-datepicker-next span {
    display: none !important; /* Varsayılan ikonları gizle */
}

.ui-datepicker-prev::after {
    content: '◀';
    color: white;
    position: absolute;
    left: 10px;
    top: 8px;
    cursor: pointer;
}

.ui-datepicker-next::after {
    content: '▶';
    color: white;
    position: absolute;
    right: 10px;
    top: 8px;
    cursor: pointer;
}

/* Gün İsimleri */
.ui-datepicker th {
    color: #1a237e !important;
}

/* Seçili Gün */
.ui-datepicker td .ui-state-active {
    background: #1a237e !important;
    color: white !important;
    border-radius: 4px !important;
    border: none !important;
}

/* Bugün */
.ui-datepicker td .ui-state-highlight {
    background: #f1f3f9 !important;
    border: 1px solid #1a237e !important;
    color: #1a237e !important;
}