        /* Alpine x-cloak: init tamamlanana kadar gizle (FOUC önleme) */
        [x-cloak] { display: none !important; }

        body { font-family: 'Inter', sans-serif; }

        /* ============================================================
           BC PORTAL — STANDART YÜKLEME ANİMASYONU
           ============================================================ */

        /* Temel göster/gizle */
        .htmx-indicator { opacity: 0; transition: opacity 250ms ease; pointer-events: none; }
        .htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; pointer-events: auto; }

        /* scorecard: sağ panel yükleme iskeleti (#scorecard-drawer-skeleton) SALT
           GÖRSEL bir geri bildirimdir. Yukarıdaki .htmx-request.htmx-indicator
           kuralı görünürken pointer-events:auto veriyor; burada #id seçici
           (sınıf birleşiminden daha yüksek özgüllük) ile override edilir —
           overlay görünür olsa BİLE tıklamayı yakalamamalı, aksi halde uçuştaki
           bir kartın üstünden ikinci bir Kişi/Firma kartına tıklamak imkânsız
           hâle gelir ve hx-sync="...:replace" (SON TIKLAMA KAZANIR) kararı UI
           üzerinden asla tetiklenemez (review bulgusu — bkz.
           templates/scorecard/index.html #scorecard-drawer-skeleton). */
        #scorecard-drawer-skeleton { pointer-events: none; }

        /* scorecard: ST/Firma kartına tıklanınca (uçuşta istek varken) kartın
           kendisi tekrar tıklanamasın — hx-disabled-elt="this" (bkz.
           templates/scorecard/partials/_cards.html, _summary_card.html) istek
           süresince karta `disabled` attribute'u ekler. Buton için bu native
           olarak tıklamayı zaten engeller; <div> (firma kartı) için `disabled`
           attribute'unun native bir etkisi YOKTUR, bu yüzden burada CSS ile
           pointer-events:none ayrıca zorlanır. (Önceki, htmx-request sınıfına
           dayanan [data-sc-card] seçici runtime'da HİÇ eşleşmiyordu — htmx
           yalnızca hx-indicator HEDEFİNE `htmx-request` sınıfı ekler,
           tetikleyen öğeye DEĞİL; review bulgusuyla düzeltildi.) */
        [data-sc-card][disabled] { pointer-events: none; opacity: .6; }

        /* Keyframes */
        @keyframes bc-spin-cw  { to { transform: rotate(360deg); } }
        @keyframes bc-spin-ccw { to { transform: rotate(-360deg); } }
        @keyframes bc-pulse {
            0%, 100% { transform: scale(0.75); opacity: .55; box-shadow: 0 0 0 0 rgba(16,185,129,0); }
            50%       { transform: scale(1.25); opacity: 1;   box-shadow: 0 0 14px 5px rgba(16,185,129,.25); }
        }
        @keyframes bc-bounce {
            0%, 80%, 100% { transform: translateY(0); }
            40%            { transform: translateY(-9px); }
        }

        /* Spinner bileşeni */
        .bc-spinner { position: relative; width: 68px; height: 68px; flex-shrink: 0; }
        .bc-ring {
            position: absolute; inset: 0; border-radius: 50%;
            border: 2.5px solid transparent;
        }
        .bc-ring-1 { border-top-color: #10b981; border-right-color: #10b981; animation: bc-spin-cw  1.1s linear infinite; }
        .bc-ring-2 { inset: 11px; border-top-color: #6366f1; border-left-color: #6366f1; animation: bc-spin-ccw 1.7s linear infinite; }
        .bc-ring-3 { inset: 22px; border-bottom-color: #f59e0b; border-right-color: #f59e0b; animation: bc-spin-cw .85s linear infinite; }
        .bc-center {
            position: absolute; inset: 30px; border-radius: 50%;
            background: radial-gradient(circle at 35% 35%, #10b981, #6366f1);
            animation: bc-pulse 1.8s ease-in-out infinite;
        }

        /* Zıplayan noktalar */
        .bc-dots { display: flex; gap: 5px; align-items: center; justify-content: center; }
        .bc-dots span {
            display: block; width: 6px; height: 6px; border-radius: 50%;
            animation: bc-bounce 1.4s ease-in-out infinite;
        }
        .bc-dots span:nth-child(1) { background: #10b981; }
        .bc-dots span:nth-child(2) { background: #6366f1; animation-delay: .18s; }
        .bc-dots span:nth-child(3) { background: #f59e0b; animation-delay: .36s; }

        /* Tam ekran overlay */
        .bc-overlay {
            position: absolute; inset: 0;
            display: flex; align-items: center; justify-content: center;
            background: rgba(248,250,252,.9);
            backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
            border-radius: inherit; z-index: 50;
        }

        /* Bağımsız section yükleme bloğu */
        .bc-section {
            display: flex; flex-direction: column; align-items: center;
            justify-content: center; gap: 16px; padding: 56px 24px;
        }

        /* Inline badge */
        .bc-badge {
            display: inline-flex; align-items: center; gap: 7px;
            font-size: .72rem; font-weight: 500; color: #059669;
            background: #ecfdf5; border: 1px solid #a7f3d0;
            padding: 3px 10px 3px 7px; border-radius: 20px; white-space: nowrap;
        }
        .bc-badge-dots { display: flex; gap: 3px; align-items: center; }
        .bc-badge-dots span {
            display: block; width: 4px; height: 4px; border-radius: 50%;
            background: #10b981; animation: bc-bounce 1.4s ease-in-out infinite;
        }
        .bc-badge-dots span:nth-child(2) { animation-delay: .16s; }
        .bc-badge-dots span:nth-child(3) { animation-delay: .32s; }

        /* Buton içi mini spinner */
        .bc-btn-spin {
            display: inline-block; width: 14px; height: 14px;
            border: 2px solid currentColor; border-top-color: transparent;
            border-radius: 50%; animation: bc-spin-cw .7s linear infinite;
            flex-shrink: 0;
        }

        /* Yükleme metinleri */
        .bc-text    { font-size: .78rem; font-weight: 600; color: #475569; letter-spacing: .04em; text-align: center; }
        .bc-subtext { font-size: .70rem; color: #94a3b8; text-align: center; }

        /* Fade-in animations */
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(12px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .animate-fade-in-up { animation: fadeInUp 0.3s ease-out forwards; }
        .animate-fade-in    { animation: fadeInUp 0.2s ease-out forwards; }

        /* Sidebar */
        .sidebar-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 9px 12px;
            border-radius: 10px;
            font-size: 0.875rem;
            font-weight: 500;
            color: rgba(255,255,255,0.65);
            transition: all 0.15s ease;
            cursor: pointer;
            text-decoration: none;
        }
        .sidebar-item:hover {
            background: rgba(255,255,255,0.1);
            color: #fff;
        }
        .sidebar-item.active {
            background: rgba(255,255,255,0.18);
            color: #fff;
            font-weight: 600;
        }
        .sidebar-divider-label {
            font-size: 0.65rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255,255,255,0.3);
            padding: 0 12px;
            margin-top: 20px;
            margin-bottom: 6px;
        }
        .bc-sidebar-copy,
        .bc-sidebar-label,
        .bc-sidebar-status-text,
        .sidebar-divider-label {
            transition: opacity 150ms ease, width 200ms ease;
        }
        .bc-sidebar-label,
        .bc-sidebar-status-text {
            display: inline-block;
        }

        @media (min-width: 1024px) {
            #bc-app-sidebar {
                width: 16rem;
                min-width: 16rem;
                transition: width 200ms ease, min-width 200ms ease, border-width 200ms ease;
            }
            html.bc-sidebar-collapsed-initial #bc-app-sidebar,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar {
                width: 4.5rem;
                min-width: 4.5rem;
            }
            html.bc-sidebar-collapsed-initial #bc-app-sidebar .bc-sidebar-brand,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar .bc-sidebar-brand {
                justify-content: center;
                gap: 0;
                padding-left: 0.75rem;
                padding-right: 0.75rem;
            }
            html.bc-sidebar-collapsed-initial #bc-app-sidebar .sidebar-item,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar .sidebar-item {
                justify-content: center;
                gap: 0;
                padding-left: 0;
                padding-right: 0;
            }
            html.bc-sidebar-collapsed-initial #bc-app-sidebar .bc-sidebar-footer-inner,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar .bc-sidebar-footer-inner {
                justify-content: center;
                gap: 0;
            }
            html.bc-sidebar-collapsed-initial #bc-app-sidebar .bc-sidebar-copy,
            html.bc-sidebar-collapsed-initial #bc-app-sidebar .bc-sidebar-label,
            html.bc-sidebar-collapsed-initial #bc-app-sidebar .bc-sidebar-status-text,
            html.bc-sidebar-collapsed-initial #bc-app-sidebar .sidebar-divider-label,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar .bc-sidebar-copy,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar .bc-sidebar-label,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar .bc-sidebar-status-text,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar .sidebar-divider-label {
                opacity: 0;
                width: 0;
                overflow: hidden;
                white-space: nowrap;
                pointer-events: none;
            }
            html.bc-sidebar-collapsed-initial #bc-app-sidebar .sidebar-divider-label,
            #bc-app-shell.bc-sidebar-collapsed #bc-app-sidebar .sidebar-divider-label {
                height: 0;
                margin: 0;
                padding: 0;
            }
        }

        /* Custom scrollbar */
        ::-webkit-scrollbar { width: 5px; height: 5px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 99px; }
        ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

        /* Navbar search */
        .glass-panel {
            background: rgba(255,255,255,0.7);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.3);
        }

        /* HTMX isteklerinde erişilebilirlik ve etkileşim geri bildirimi */
        [aria-busy="true"] { cursor: progress; }
        .bc-request-disabled { opacity: .72; }

        /* Global toast alanı */
        #toast-container {
            position: fixed;
            top: 16px;
            right: 16px;
            z-index: 9999;
            width: min(92vw, 380px);
            display: flex;
            flex-direction: column;
            gap: 10px;
            pointer-events: none;
        }
        #toast-container .alert {
            pointer-events: auto;
        }
