@font-face {
    font-family: "Yekan";
    src: url("/assets/fonts/Yekan.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Yekan";
    src: url("/assets/fonts/Yekan.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Yekan";
    src: url("/assets/fonts/Yekan.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Yekan";
    src: url("/assets/fonts/Yekan.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Nicer glyphs for Persian / Arabic-Indic digits only */
@font-face {
    font-family: "Yekan";
    src: url("https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+06F0-06F9, U+0660-0669;
}

@font-face {
    font-family: "Yekan";
    src: url("https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+06F0-06F9, U+0660-0669;
}

@font-face {
    font-family: "Yekan";
    src: url("https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+06F0-06F9, U+0660-0669;
}

@font-face {
    font-family: "Yekan";
    src: url("https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+06F0-06F9, U+0660-0669;
}

:root {
    --bs-body-font-family: "Yekan", Tahoma, sans-serif;
    --bs-font-sans-serif: "Yekan", Tahoma, sans-serif;
    --bs-headings-font-family: "Yekan", Tahoma, sans-serif;
}

html,
body {
    font-family: "Yekan", Tahoma, sans-serif !important;
}

body,
h1, h2, h3, h4, h5, h6,
p, span, a, label, button, input, select, textarea,
.btn,
.form-control,
.form-select,
.form-label,
.nav-link,
.dropdown-menu,
.table,
.card,
.card-body,
.alert {
    font-family: "Yekan", Tahoma, sans-serif !important;
}

.font-monospace,
.fs-4.font-monospace {
    font-family: "Yekan", Tahoma, sans-serif !important;
    font-feature-settings: "ss01" 0;
    letter-spacing: 0.02em;
}

.page-login {
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(13, 110, 253, 0.18), transparent 42%),
        radial-gradient(circle at bottom left, rgba(25, 135, 84, 0.14), transparent 40%),
        linear-gradient(160deg, #eef3fb 0%, #f7f9fc 45%, #e8eef8 100%) !important;
}

.page-login main {
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.page-login .card {
    backdrop-filter: blur(6px);
    background: rgba(255, 255, 255, 0.92);
}

.page-login .form-control {
    text-align: center;
}

.app-brand {
    display: block;
    font-size: 0.95rem;
    line-height: 1.5;
}

.app-brand-mobile {
    font-size: 0.85rem;
    line-height: 1.4;
}

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

.app-sidebar {
    width: 240px;
    flex-shrink: 0;
    display: none;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
}

.app-content {
    flex: 1;
    min-width: 0;
}

.content-wrap {
    width: 100%;
    max-width: none;
}

.app-sidebar .nav-link {
    color: #495057;
    border-radius: 0.5rem;
}

.app-sidebar .nav-link:hover {
    background: #f8f9fa;
    color: #212529;
}

.app-sidebar .nav-link.active {
    background: #0d6efd;
    color: #fff;
}

.btn-icon {
    width: 2rem;
    height: 2rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-icon svg {
    display: block;
}

.avatar {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border: 1px solid var(--bs-border-color);
}

.avatar-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 700;
}

[data-actions-confirm][hidden],
[data-actions-default][hidden] {
    display: none !important;
}

.chart-wrap {
    position: relative;
    width: 100%;
    min-height: 220px;
}

@media (min-width: 992px) {
    .app-sidebar {
        display: flex;
    }
}
