/* BesawebBlazor Admin Layout - ported from BesaWeb admin-fallback.css */

:root {
    --bw-sidebar-width: 250px;
    --bw-sidebar-collapsed-width: 70px;
    --bw-sidebar-bg: #343a40;
    --bw-sidebar-color: #c2c7d0;
    --bw-sidebar-hover-bg: #494e54;
    --bw-sidebar-active-bg: #0d6efd;
    --bw-sidebar-active-color: #fff;
    --bw-sidebar-header-color: #6c757d;
    --bw-topbar-height: 60px;
    --bw-content-bg: #f4f6f9;
    --bw-transition: all 0.3s ease;
}

/* ===== Body ===== */
.bw-admin-body {
    margin: 0;
    padding: 0;
    background-color: var(--bw-content-bg);
    font-family: 'Segoe UI', Tahoma, sans-serif;
    min-height: 100vh;
}

.bw-app-wrapper {
    min-height: 100vh;
    display: flex;
}

/* ===== Sidebar ===== */
.bw-sidebar {
    width: var(--bw-sidebar-width);
    min-width: var(--bw-sidebar-width);
    background-color: var(--bw-sidebar-bg);
    color: var(--bw-sidebar-color);
    transition: var(--bw-transition);
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1030;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Sidebar durumu .bw-app-wrapper üzerinde .bw-sidebar-open / .bw-sidebar-closed
   olarak tutulur ve SUNUCU TARAFINDA (bw-sidebar çerezinden, bkz. MainLayout)
   render edilir. Böylece Blazor enhanced navigation DOM'u yamaladığında da
   tercih korunur. Sınıf yoksa breakpoint varsayılanı geçerlidir
   (masaüstü: açık, küçük ekran: kapalı). */
.bw-app-wrapper.bw-sidebar-open .bw-sidebar {
    margin-left: 0;
}

.bw-app-wrapper.bw-sidebar-closed .bw-sidebar {
    margin-left: calc(-1 * var(--bw-sidebar-width));
}

/* Brand */
.bw-sidebar-brand {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background-color: rgba(0, 0, 0, 0.2);
}

.bw-brand-link {
    color: #fff !important;
    text-decoration: none !important;
    font-size: 1.25rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.bw-brand-link i { font-size: 1.5rem; }

/* Sidebar User Panel */
.bw-sidebar-user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.bw-sidebar-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.3);
    flex-shrink: 0;
}

.bw-sidebar-user-info {
    flex-grow: 1;
    min-width: 0;
}

.bw-sidebar-user-name {
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bw-sidebar-user-status {
    font-size: 0.75rem;
    color: var(--bw-sidebar-color);
}

/* Sidebar Nav */
.bw-sidebar-nav { padding: 0.5rem 0; flex-grow: 1; }

.bw-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bw-nav-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.65rem 1.25rem;
    color: var(--bw-sidebar-color);
    text-decoration: none;
    transition: var(--bw-transition);
    cursor: pointer;
    background: transparent;
    border: none;
    font-size: inherit;
    text-align: left;
}

.bw-nav-link i {
    font-size: 1.1rem;
    width: 1.5rem;
    text-align: center;
    flex-shrink: 0;
}

.bw-nav-link:hover {
    background-color: var(--bw-sidebar-hover-bg);
    color: #fff;
}

.bw-nav-link.active {
    background-color: var(--bw-sidebar-active-bg);
    color: var(--bw-sidebar-active-color);
}

.bw-nav-header {
    padding: 0.75rem 1.25rem 0.25rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--bw-sidebar-header-color);
    letter-spacing: 0.05em;
    font-weight: 600;
}

/* Treeview */
.bw-arrow {
    margin-left: auto;
    transition: transform 0.2s ease;
    font-size: 0.85rem !important;
}

.bw-has-treeview.bw-menu-open > .bw-nav-link .bw-arrow {
    transform: rotate(90deg);
}

.bw-treeview {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background-color: rgba(0, 0, 0, 0.2);
}

.bw-has-treeview.bw-menu-open > .bw-treeview {
    max-height: 500px;
}

.bw-nav-link.bw-sub {
    padding-left: 3rem;
    font-size: 0.92rem;
}

.bw-nav-link.bw-sub i { font-size: 0.6rem; }

/* ===== Content Area ===== */
.bw-content-area {
    flex-grow: 1;
    margin-left: var(--bw-sidebar-width);
    transition: var(--bw-transition);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.bw-app-wrapper.bw-sidebar-open .bw-content-area {
    margin-left: var(--bw-sidebar-width);
}

.bw-app-wrapper.bw-sidebar-closed .bw-content-area {
    margin-left: 0;
}

/* Top Navbar */
.bw-topbar {
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
    height: var(--bw-topbar-height);
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    position: sticky;
    top: 0;
    z-index: 1020;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.bw-sidebar-toggle {
    background: transparent;
    border: none;
    font-size: 1.5rem;
    color: #495057;
    padding: 0.25rem 0.5rem;
    cursor: pointer;
    border-radius: 4px;
}

.bw-sidebar-toggle:hover { background-color: #f0f0f0; }

.bw-topbar-title { flex-grow: 1; }

.bw-topbar-link {
    color: #495057;
    text-decoration: none;
    padding: 0.4rem 0.8rem;
    border-radius: 4px;
}

.bw-topbar-link:hover {
    background-color: #f0f0f0;
    color: #0d6efd;
}

.bw-topbar-right { margin-left: auto; }

/* Page Header */
.bw-page-header {
    background-color: #fff;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
}

.bw-page-header h3 {
    font-size: 1.5rem;
    color: #212529;
}

.bw-page-header .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
    font-size: 0.875rem;
}

/* Page Content */
.bw-page-content {
    padding: 1.5rem;
    flex-grow: 1;
}

/* Footer */
.bw-footer {
    background-color: #fff;
    border-top: 1px solid #dee2e6;
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    font-size: 0.875rem;
}

.bw-footer a {
    color: #0d6efd;
    text-decoration: none;
}

/* ===== Responsive =====
   Küçük ekranlarda VARSAYILAN kapalıdır. Kullanıcı açıkça açtıysa
   (html.bw-sidebar-open) yukarıdaki daha spesifik kurallar galip gelir,
   sidebar açık kalır ve içerik sağa kayar (üzerine binmez). */
@media (max-width: 991.98px) {
    .bw-sidebar {
        margin-left: calc(-1 * var(--bw-sidebar-width));
    }
    .bw-content-area { margin-left: 0; }
}

/* Çok dar ekranlarda sidebar daralsın ki açıkken içeriğe yer kalsın */
@media (max-width: 575.98px) {
    :root {
        --bw-sidebar-width: 210px;
    }
}

/* İçerik alanı flex çocuğu olarak taşan tablolar yüzünden genişlemesin;
   geniş içerik kendi kabında yatay kaysın (sayfa gövdesi kaymasın). */
.bw-content-area { min-width: 0; }
.bw-page-content { min-width: 0; }

/* Small Box */
.small-box {
    border-radius: 0.5rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 1rem;
    transition: transform 0.2s ease;
}

.small-box:hover {
    transform: translateY(-2px);
}

.small-box .inner { padding: 1rem; }

.small-box .inner h3 {
    font-size: 2.2rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}

.small-box .inner p {
    margin: 0;
    font-size: 1rem;
}

.small-box-icon { z-index: 0; }

.small-box-footer {
    display: block;
    text-align: center;
    padding: 0.5rem;
    text-decoration: none;
    background-color: rgba(0, 0, 0, 0.1);
    color: inherit;
    transition: background-color 0.2s ease;
}

.small-box-footer:hover {
    background-color: rgba(0, 0, 0, 0.2);
    color: inherit;
}

/* ===== AVATAR STİLLERİ ===== */

.profile-avatar-wrapper {
    display: inline-block;
    position: relative;
}

.profile-avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.navbar-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.dropdown-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.4);
}

/* ===== Auth (Login/Register) kartları — BesaWeb'den ===== */
.auth-card {
    max-width: 450px;
    margin: 3rem auto;
}

.auth-card.auth-card-wide {
    max-width: 550px;
}

/* ===== Boş Layout (Login/Register/vb. sayfalar için) ===== */
.bw-empty-layout {
    min-height: 100vh;
    background-color: var(--bw-content-bg);
    padding: 1.5rem;
}

.bw-empty-brand {
    text-align: center;
    padding: 1rem 0;
}

.bw-empty-brand .bw-brand-link {
    color: #212529 !important;
    font-size: 1.4rem;
    font-weight: 600;
}
