﻿:root {
    --sidebar-width: 290px;
    --bg-dark: #0f172a;
    --bg-dark-2: #020617;
    --accent: #22c55e;
    --accent-soft: rgba(34,197,94,.15);
    --text-muted: #94a3b8;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Vazirmatn, system-ui;
    background: #f1f5f9;
}

    body.lang-fa {
        direction: rtl;
    }

    body.lang-en {
        direction: ltr;
    }

/* ===== Sidebar ===== */
.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    width: var(--sidebar-width);
    background: linear-gradient(180deg, var(--bg-dark), var(--bg-dark-2));
    color: #fff;
    overflow-y: auto;
    z-index: 1000;
    transition: transform .3s ease;
    box-shadow: 0 0 30px rgba(0,0,0,.35);
}

body.lang-fa .sidebar {
    right: 0;
}

body.lang-en .sidebar {
    left: 0;
}

/* Scrollbar */
.sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.15);
    border-radius: 10px;
}

/* ===== Sidebar Header ===== */
.logo {
    padding: 1.75rem 1rem;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.logo-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto;
    border-radius: 16px;
    background: var(--accent-soft);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .logo-icon i {
        font-size: 1.7rem;
        color: var(--accent);
    }

.logo h5 {
    margin-top: .9rem;
    margin-bottom: .2rem;
    font-weight: 600;
}

.logo small {
    color: var(--text-muted);
    font-size: .8rem;
}

/* ===== Menu ===== */
.nav-link {
    color: #e5e7eb;
    padding: .65rem 1.1rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    font-size: .9rem;
    border-radius: .55rem;
    margin: .15rem .5rem;
    transition: all .2s ease;
}

    .nav-link i {
        font-size: 1.05rem;
        opacity: .9;
    }

    .nav-link:hover {
        background: rgba(255,255,255,.08);
        color: #fff;
    }

    .nav-link[aria-expanded="true"] {
        background: var(--accent-soft);
        color: var(--accent);
    }

.submenu {
    margin-bottom: .5rem;
}

    .submenu .nav-link {
        font-size: .85rem;
        padding-inline-start: 2.6rem;
        color: #cbd5f5;
    }

        .submenu .nav-link:hover {
            background: rgba(255,255,255,.06);
            color: #fff;
        }

/* ===== Main ===== */
.main {
    min-height: 100vh;
    padding: 1.25rem;
    transition: margin .3s ease;
}

body.lang-fa .main {
    margin-right: var(--sidebar-width);
}

body.lang-en .main {
    margin-left: var(--sidebar-width);
}

/* ===== Topbar ===== */
.topbar {
    background: #fff;
    border-radius: .9rem;
    padding: .85rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
    margin-bottom: 1.4rem;
}

    .topbar .left {
        display: flex;
        align-items: center;
        gap: .8rem;
    }

.toggle-btn {
    font-size: 1.6rem;
    cursor: pointer;
    color: #0f172a;
}

.lang-btn {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    border: none;
    padding: .45rem .9rem;
    border-radius: .6rem;
    font-size: .8rem;
    color: #fff;
    font-weight: 500;
}

    .lang-btn:hover {
        opacity: .9;
    }

/* ===== Mobile ===== */
@media (max-width: 991px) {
    .sidebar {
        transform: translateX(100%);
    }

    body.lang-en .sidebar {
        transform: translateX(-100%);
    }

    body.sidebar-open .sidebar {
        transform: translateX(0);
    }

    .main {
        margin: 0 !important;
    }
}
