@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazirmatn-variable.woff2") format("woff2");
    font-weight: 100 900;
    font-display: swap;
}
/* Virashot admin palette, mapped to Frappe's native surfaces and controls. */
html[lang="fa"] {
    --va-canvas: #f7f5f3;
    --va-panel: #fff;
    --va-rail: #f1eeeb;
    --va-line: #e0d9d3;
    --va-ink: #2d2826;
    --va-muted: #5e554f;
    --va-hover: #eae4df;
    --va-selected: #f6e3e7;
    --va-selected-ink: #802332;
    --va-action: #ae2233;
    --va-action-hover: #911b2a;
    --va-focus: #175da7;
    --va-radius: .75rem;
    --va-control-radius: .5rem;
    --bg-color: var(--va-canvas);
    --fg-color: var(--va-panel);
    --surface-sidebar: var(--va-rail);
    --border-color: var(--va-line);
    --text-color: var(--va-ink);
    --text-muted: var(--va-muted);
    --subtle-fg: var(--va-hover);
    --control-bg: var(--va-panel);
    --control-bg-on-gray: var(--va-panel);
    --font-stack: "Vazirmatn", Tahoma, sans-serif;
}
html[lang="fa"][data-theme="dark"] {
    --va-canvas: #211f20;
    --va-panel: #2b2829;
    --va-rail: #262223;
    --va-line: #51484a;
    --va-ink: #f7f0f0;
    --va-muted: #d7c9c8;
    --va-hover: #3e3436;
    --va-selected: #492b32;
    --va-selected-ink: #ffc3ce;
    --va-focus: #9fcbff;
}
html[lang="fa"] body {
    font-family: var(--font-stack);
    background: var(--va-canvas);
    color: var(--va-ink);
    line-height: 1.7;
}
html[lang="fa"] :focus-visible { outline: 3px solid var(--va-focus); outline-offset: 3px; }
html[lang="fa"] :is(.page-head, .layout-main-section, .page-card, .modal-content) {
    background-color: var(--va-panel);
    border-color: var(--va-line);
}
html[lang="fa"] :is(.layout-main-section, .page-card, .modal-content) { border-radius: var(--va-radius); }
html[lang="fa"] :is(.standard-sidebar-item, .sidebar-item-container, .widget.shortcut-widget-box) {
    border-radius: var(--va-control-radius);
}
html[lang="fa"] .widget.shortcut-widget-box .widget-title { color: var(--va-ink); }
html[lang="fa"] .layout-main-section .h4 { color: var(--va-muted); }
html[lang="fa"] .sidebar-header .header-logo:has(img[src*="virashot-logo"]) {
    inline-size: 4.75rem;
    padding-inline: .25rem;
    background: #fff;
}
html[lang="fa"] .header-logo img[src*="virashot-logo"] { object-fit: contain; }
html[lang="fa"] .dock .header-logo:has(img[src*="virashot-logo"]) { background: #fff; }
html[lang="fa"] :is(.standard-sidebar-item, .sidebar-item-container):hover { background-color: var(--va-hover); }
html[lang="fa"] :is(.standard-sidebar-item, .sidebar-item-container).selected {
    color: var(--va-selected-ink);
    background-color: var(--va-selected);
}
html[lang="fa"] :is(.es-button[data-variant="solid"], .btn-primary):not(:disabled) {
    color: #fff;
    background: var(--va-action);
    border-color: var(--va-action);
}
html[lang="fa"] :is(.es-button[data-variant="solid"], .btn-primary):not(:disabled):hover {
    background: var(--va-action-hover);
    border-color: var(--va-action-hover);
}
html[lang="fa"] .login-content .page-card {
    inline-size: min(calc(100% - 2rem), 25rem);
    max-inline-size: none;
    border: 1px solid var(--va-line);
}
html[lang="fa"] .page-card-head img {
    inline-size: 7rem;
    max-inline-size: 100%;
    block-size: auto;
    object-fit: contain;
}
html[lang="fa"] .form-login :is(input, button[type="submit"]) {
    min-block-size: 2.75rem;
    border-radius: var(--va-control-radius);
}
html[lang="fa"] .form-login input { direction: ltr; text-align: start; }
html[lang="fa"] .bonak-desk-context {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.2rem;
    align-items: center;
    padding: 0.7rem 1rem;
    background: var(--va-rail);
    color: var(--va-ink);
    border-block-end: 1px solid var(--va-line);
    font-size: 0.9rem;
}
html[lang="fa"] .bonak-desk-context a { color: var(--va-selected-ink); padding: 0.4rem; }
html[lang="fa"] .bonak-ltr-value input,
html[lang="fa"] .bonak-ltr-value textarea,
html[lang="fa"] .bonak-ltr-value .control-value,
html[lang="fa"] .bonak-ltr-value .like-disabled-input,
html[lang="fa"] code,
html[lang="fa"] pre {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: start;
    font-variant-numeric: tabular-nums;
}
html[lang="fa"] .layout-main-section,
html[lang="fa"] .layout-main,
html[lang="fa"] .page-content,
html[lang="fa"] .form-column { min-inline-size: 0; }
html[lang="fa"] .table-responsive,
html[lang="fa"] .grid-body,
html[lang="fa"] .dt-scrollable { max-inline-size: 100%; overflow-x: auto; }
html[lang="fa"] .page-title .title-text { white-space: normal; overflow-wrap: anywhere; }
html[lang="fa"] .bonak-input-error { color: #9c2525; margin-block-start: 0.35rem; }
html[lang="fa"] input[aria-invalid="true"] { border-color: #9c2525; }
html[lang="fa"] .bonak-date-hint { display: block; margin-block-start: 0.35rem; color: #526277; }
@media (max-width: 768px) {
    html[lang="fa"] .frappe-control input,
    html[lang="fa"] .frappe-control select,
    html[lang="fa"] .frappe-control textarea { font-size: 16px; min-block-size: 44px; }
    html[lang="fa"] .modal-dialog { max-inline-size: calc(100vw - 1rem); margin-inline: auto; }
    html[lang="fa"] .page-head { height: auto; min-block-size: var(--page-head-height); }
    html[lang="fa"] .page-actions { flex-wrap: wrap; gap: 0.5rem; }
    html[lang="fa"] .page-actions .btn { min-block-size: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    html[lang="fa"] *, html[lang="fa"] *::before, html[lang="fa"] *::after {
        animation-duration: 0s !important;
        transition-duration: 0s !important;
        scroll-behavior: auto !important;
    }
}
