@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Vazirmatn:wght@100..900&display=swap");
:root {
    --font-fa: "Vazirmatn", Tahoma, "Segoe UI", sans-serif;
    --font-ui: "Inter", "Vazirmatn", Tahoma, sans-serif;
    --clr-page-bg: #e9f5fa;
    --clr-header-bg: #dfe9ef;
    --clr-sidebar-bg: #00476f;
    --clr-sidebar-divider: rgba(207, 228, 242, 0.7);
    --clr-sidebar-text: #e5f0f8;
    --clr-sidebar-active-bg: #f7fbff;
    --clr-sidebar-active-text: #0a547e;
    --clr-brand-blue: #00476f;
    --clr-search-bg: #edf3f7;
    --clr-search-border: #badff0;
    --clr-search-text: #4d6475;
    --clr-search-placeholder: #606666;
    --clr-surface: #ffffff;
    --clr-table-head: #035583;
    --clr-row-border: #dbe4eb;
    --clr-stat-card-bg: #badff0;
    --clr-card-border: #97b7cb;
    --clr-text-main: #0f172a;
    --clr-text-muted: #5b6f81;
    --shadow-soft: 0 10px 25px rgba(7, 56, 90, 0.14);
    --shadow-strong: 0 14px 30px rgba(6, 64, 96, 0.18);
}
* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body,
button,
input,
select,
textarea,
table,
th,
td {
    font-family: var(--font-fa) !important;
}
.font-fa,
.font-ui {
    font-family: var(--font-fa);
}
.bg-pageBg {
    background-color: var(--clr-page-bg);
}
.bg-headerBg {
    background-color: var(--clr-header-bg);
}
.bg-sidebarBg {
    background-color: var(--clr-sidebar-bg);
}
.bg-brandBlue {
    background-color: var(--clr-brand-blue);
}
.bg-sidebarActiveBg {
    background-color: var(--clr-sidebar-active-bg);
}
.bg-surface {
    background-color: var(--clr-surface);
}
.bg-searchBg {
    background-color: var(--clr-search-bg);
}
.bg-statCardBg {
    background-color: var(--clr-stat-card-bg);
}
.bg-tableHead {
    background-color: var(--clr-table-head);
}
.text-sidebarText {
    color: var(--clr-sidebar-text);
}
.text-sidebarBg,
.text-brandBlue {
    color: var(--clr-brand-blue);
}
.text-sidebarActiveText {
    color: var(--clr-sidebar-active-text);
}
.text-searchText {
    color: var(--clr-search-text);
}
.text-searchPlaceholder {
    color: var(--clr-search-placeholder);
}
.text-textMain {
    color: var(--clr-text-main);
}
.text-textMuted {
    color: var(--clr-text-muted);
}
.border-sidebarDivider {
    border-color: var(--clr-sidebar-divider);
}
.border-searchBorder {
    border-color: var(--clr-search-border);
}
.border-brandBlue {
    border-color: var(--clr-brand-blue);
}
.border-rowBorder {
    border-color: var(--clr-row-border);
}
.border-cardBorder {
    border-color: var(--clr-card-border);
}
.shadow-soft {
    box-shadow: var(--shadow-soft);
}
.shadow-strong {
    box-shadow: var(--shadow-strong);
}
.aq-page-title {
    font-family: var(--font-fa);
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: #035583;
}
.aq-page-subtitle {
    font-family: var(--font-fa);
    font-size: 14px;
    line-height: 1.6;
    color: #606666;
}
.aq-panel-card {
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow-soft);
}
.aq-field-label {
    display: block;
    font-family: var(--font-fa);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: #000;
    text-align: right;
}
.aq-field-input {
    width: 100%;
    border-radius: 12px;
    background: #fff;
    color: #10161d;
    padding-inline: 16px;
    font-family: var(--font-fa);
    font-size: 14px;
    line-height: 1;
    outline: none;
}
.aq-field-input::placeholder {
    color: var(--clr-search-placeholder);
    opacity: 1;
}
.aq-button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-radius: 12px;
    background: var(--clr-brand-blue);
    color: #fff;
    font-family: var(--font-fa);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}
.aq-button-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid var(--clr-brand-blue);
    border-radius: 12px;
    background: #fff;
    color: var(--clr-brand-blue);
    font-family: var(--font-fa);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}
.aq-button-gradient {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-radius: 12px;
    background: linear-gradient(to left, #0088d5, #0b6ea9, #00476f);
    color: #fff;
    font-family: var(--font-fa);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}
.aq-toast {
    position: fixed;
    left: 50%;
    bottom: 92px;
    z-index: 70;
    transform: translateX(-50%);
    border-radius: 9999px;
    background: rgba(0, 71, 111, 0.94);
    color: #fff;
    padding: 10px 18px;
    font-family: var(--font-fa);
    font-size: 13px;
    line-height: 1;
    box-shadow: 0 12px 28px rgba(4, 55, 86, 0.24);
}
.chart-scroll {
    scrollbar-width: thin;
    scrollbar-color: var(--clr-sidebar-bg) transparent;
    scroll-behavior: smooth;
}
.chart-scroll::-webkit-scrollbar {
    height: 8px;
}
.chart-scroll::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 9999px;
}
.chart-scroll::-webkit-scrollbar-thumb {
    background: var(--clr-sidebar-bg);
    border-radius: 9999px;
    border: 0;
}
.stage-enter {
    animation: stage-enter 180ms ease-out;
}
.aq-password-toggle .aq-eye-open,
.aq-password-toggle[data-visible="true"] .aq-eye-closed {
    display: none;
}
.aq-password-toggle[data-visible="true"] .aq-eye-open {
    display: inline-flex;
}
@keyframes stage-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
