/* layout-hub — ALTIN KURAL: inline <style> yasak; Shared/_HubLayout.cshtml den ayiklandi. */
        /* Font degiskeni (--font-brand) fonts-brand.css'te tanimli — onyuz+panel ortak, bkz. layout-hubpanel.css. */
        body { font-family: var(--font-brand); }
        /* Sayfa çubuğu: kalın sistem barı yerine ince, kenardan ayrık başparmak.
           10px oluk + 3px şeffaf kenar = yaklaşık 4px görünen çizgi. */
        * { scrollbar-width: thin; scrollbar-color: rgba(1, 22, 50, 0.28) transparent; }
        ::-webkit-scrollbar { width: 10px; height: 10px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb {
            background-color: rgba(1, 22, 50, 0.22);
            border: 3px solid transparent;
            border-radius: 999px;
            background-clip: padding-box;
        }
        ::-webkit-scrollbar-thumb:hover { background-color: rgba(1, 22, 50, 0.42); }
        [x-cloak] { display: none !important; }
        /* Motor içerik sayfaları (yasal vb.) için ortak başlık — hub turuncu strip. */
        .page-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
        .page-header-strip { display: none; }
        .page-header-text { min-width: 0; flex: 1; }
        .page-header-title { font-size: 22px; font-weight: 700; color: #111827; line-height: 1.25; margin: 0; }
        .page-header-subtitle { font-size: 14px; color: #6b7280; margin: 4px 0 0; }
        @media (min-width: 1024px) {
            .page-header-title { font-size: 28px; }
            .page-header-subtitle { font-size: 15px; }
        }
        .modal-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); backdrop-filter:blur(4px); z-index:9999; align-items:center; justify-content:center; }
        .modal-overlay.active { display:flex !important; }
        .modal-container { background:#fff; max-width:480px; width:95%; box-shadow:0 25px 50px -12px rgba(0,0,0,0.25); display:flex; flex-direction:column; }
        .modal-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #e5e7eb; }
        .modal-title { display:flex; align-items:center; gap:8px; font-size:16px; font-weight:600; color:#111827; margin:0; }
        .modal-close { background:none; border:none; font-size:20px; cursor:pointer; color:#9ca3af; padding:0 4px; line-height:1; }
        .modal-body { padding:20px; font-size:14px; color:#475569; }
        .modal-footer { display:flex; padding:12px 20px; border-top:1px solid #e5e7eb; gap:8px; justify-content:flex-end; }
        .dt-footer-right { display:flex; gap:8px; }
        .btn { padding:8px 18px; font-size:14px; font-weight:600; border-radius:var(--radius, 6px); cursor:pointer; border:none; }
        .btn-secondary { background:#f3f4f6; color:#374151; border:1px solid #e5e7eb; }

/* Hub navbar: tek kırılım noktası (1180px). Altında tamamen sidebar (hamburger) —
   ara "iki satıra taşan" durum yok. Üstünde tek satır; satırın kendi içindeki
   boşluklar (container padding, hn-bar/hn-nav gap) clamp() ile ekran genişliğine
   göre akışkan. Gerçek taşma durumu artık hub-navbar-tasma.js + hn-tasma sınıfıyla
   (aşağıda) ölçülüyor — .hn-nav'da BİLEREK overflow-x:auto YOK: CSS'in "bir eksen
   auto ise diğeri de auto olur" kuralı yüzünden overflow-y'yi de auto'ya zorlar ve
   bu da mega-menu dropdown panellerini (top-full, .hn-nav'ın 80px'lik kutusunun
   dışına taşan) sessizce kırpardı — dropdown'lar tıklayınca "hiçbir şey olmuyor"
   gibi görünmesinin asıl sebebi buydu.
   Tailwind JIT (hub.css) her cshtml değişiminde yeniden üretilmediği için kırılım burada. */
.hn-logo img {
    height: 3rem;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}
.hn-nav,
.hn-desk {
    display: none;
}
.hn-burger {
    display: block;
}
.hn-container {
    padding-left: clamp(1rem, 3vw, 4rem);
    padding-right: clamp(1rem, 3vw, 4rem);
}
@media (min-width: 1180px) {
    .hn-bar {
        flex-wrap: nowrap;
        height: 5rem;
        gap: clamp(0.5rem, 1vw, 2rem);
    }
    .hn-logo img { height: 3rem; }
    .hn-nav {
        display: flex;
        order: 0;
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
        height: 100%;
        justify-content: flex-start;
        gap: clamp(0.75rem, 1.05vw, 1.35rem);
        border-top: 0;
    }
    .hn-desk--block { display: block; }
    .hn-desk--flex { display: flex; }
    .hn-burger { display: none; }
}
@media (min-width: 1536px) {
    .hn-logo img { height: 3.5rem; }
}

/* hn-tasma: 1180px sabit kırılımı bir TAHMİN — çeviri uzunluğu / oturum durumuna göre
   (ör. "Çözüm Masası") menü satırı üstünde bile taşabiliyordu. hub-navbar-tasma.js
   gerçek taşmayı ölçüp bu sınıfı .hn-bar'a ekliyor; üç sınıflı
   seçiciler (özgüllük 3) media sorgusundaki tek sınıflı kurallara (özgüllük 1) karşı
   media/sıra farkı gözetmeksizin kazanır. */
.hn-bar.hn-tasma .hn-nav,
.hn-bar.hn-tasma .hn-desk {
    display: none;
}
.hn-bar.hn-tasma .hn-burger {
    display: block;
}

/* Sağ küme bar kadar uzun olsun; flama (top:100%) çubuğun alt kenarından başlasın. */
.hn-actions { align-self: stretch; }

/* Navbar açılırları: üst kenar düz (çubuğa yapışık), alt iki köşe yuvarlak. */
.hn-drop,
.hn-user {
    background: #fff;
    border-radius: 0 0 0.75rem 0.75rem;
    overflow: hidden;
    box-shadow: 0 14px 28px -12px rgba(1, 22, 50, 0.28);
}
.hn-drop {
    width: max-content;
    max-width: calc(100vw - 2rem);
}
.hn-drop-item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: auto;
    box-sizing: border-box;
    white-space: nowrap;
    background: #fff;
    padding: 0.95rem 1.15rem;
    text-align: left;
    color: #011632;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    border: 0;
    cursor: pointer;
}
.hn-drop-item span { white-space: nowrap; }
.hn-drop-item svg {
    width: 1.35rem;
    height: 1.35rem;
    flex-shrink: 0;
    color: #5f6b76;
}
.hn-drop-item:hover { background: #f4f7f6; color: #017e4e; }
.hn-drop-item:hover svg { color: #019c61; }
.hn-drop-item:focus-visible { outline: 2px solid #019c61; outline-offset: -2px; }
.hn-drop-item--out { color: #dc2626; }
.hn-drop-item--out svg { color: #dc2626; }
.hn-drop-item--out:hover { background: #fef2f2; color: #b91c1c; }
.hn-drop-item--out:hover svg { color: #b91c1c; }

.hn-user { width: 16.5rem; border: 1px solid #e8edf2; }
.hn-user-head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 0.9rem 0.75rem;
    border-bottom: 1px solid #f0f2f4;
}
.hn-user-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    border-radius: 999px;
    background: #eef6f2;
    color: #017e4e;
}
.hn-user-avatar svg { width: 1.15rem; height: 1.15rem; }
.hn-user-name {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #011632;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hn-user-mail {
    display: block;
    font-size: 0.75rem;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hn-user-list { padding: 0.3rem; display: flex; flex-direction: column; }
.hn-user-foot {
    padding: 0.3rem;
    border-top: 1px solid #f0f2f4;
    display: flex;
    flex-direction: column;
}
/* button shrink-to-fit: width:auto satırı doldurmaz; menü genişliğini kaplasın. */
.hn-user .hn-drop-item { border-radius: 0.4rem; width: 100%; }
