body{font-family:Tahoma,Arial;background:#f4f6fa;margin:0;color:#202938}main{max-width:1100px;margin:auto;padding:20px}section{background:white;padding:18px;margin:14px 0;border-radius:12px;box-shadow:0 2px 10px #0001}input,select,button{padding:10px;margin:5px;border:1px solid #ccd2dc;border-radius:6px}button{background:#174ea6;color:white;cursor:pointer}table{border-collapse:collapse;width:100%;overflow:auto}td,th{border-bottom:1px solid #ddd;padding:9px;text-align:right}.msg{background:#e7f5e8;padding:12px;border-radius:8px}
body{font-family:Tahoma,Arial;background:#f4f6fa;color:#202938;margin:0}main{max-width:1000px;margin:auto;padding:20px}section{background:#fff;padding:18px;margin:14px 0;border-radius:12px;box-shadow:0 2px 10px #0001}input,button{padding:10px;margin:5px;border:1px solid #ccd2dc;border-radius:6px}button{background:#174ea6;color:white;cursor:pointer}table{width:100%;border-collapse:collapse}td,th{padding:9px;border-bottom:1px solid #ddd;text-align:right}.msg{background:#e7f5e8;padding:12px}

body{font-family:Tahoma,Arial,sans-serif;background:#f3f5f8;color:#222;margin:0}main{max-width:1100px;margin:24px auto;padding:18px}section,.paper{background:#fff;padding:20px;border-radius:10px;margin-bottom:16px}input,select,button{padding:9px;margin:4px;border:1px solid #aaa;border-radius:5px}button{background:#174ea6;color:white;cursor:pointer}.head{border-bottom:2px solid #333;padding-bottom:12px;margin-bottom:16px}.muted{color:#555;font-size:12px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border:1px solid #bbb;padding:8px;text-align:right}th{background:#eee}.actions{display:flex;gap:8px;flex-wrap:wrap}
@page{size:A4 portrait;margin:12mm}@media print{body{background:white;font-size:11px}main{max-width:none;margin:0;padding:0}.no-print{display:none!important}.paper{padding:0;margin:0;border-radius:0}table{font-size:10px;page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}thead{display:table-header-group}.head{margin-bottom:10px}}


/* Dashboard */
.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.dashboard-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:18px 0}.nav-card{display:flex;flex-direction:column;gap:8px;padding:16px;background:#fff;border:1px solid #dce3ee;border-radius:14px;text-decoration:none;color:#202938;box-shadow:0 3px 12px #14213d0a}.nav-card:hover,.nav-card:focus{border-color:#7ca5f8;transform:translateY(-2px)}.nav-icon{font-size:26px}.nav-card small,.app-header p{color:#667085}.sale-card{border:2px solid #2e7d58;background:#f0fbf5}section[id]{scroll-margin-top:16px}@media(max-width:600px){.dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
.keyboard-hint{display:inline-block;background:#eaf1ff;color:#174ea6;padding:10px 14px;border-radius:10px;font-size:13px}.app-header h1{margin-bottom:6px}.app-header p{margin-top:0}

/* Responsive layout: phones, tablets, laptops */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{min-width:320px;line-height:1.7;overflow-wrap:anywhere}
main{width:100%;max-width:1180px;margin:clamp(8px,2.5vw,24px) auto;padding:clamp(10px,2.5vw,24px)}
section{min-width:0;overflow-wrap:anywhere}
.app-header{align-items:flex-start}
.dashboard-nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr))}
form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
input,select,button{max-width:100%;min-height:42px;font:inherit}
input,select{flex:1 1 170px;min-width:0}
input[type="hidden"]{display:none}
input[type="date"],input[type="number"]{flex:1 1 145px}
button{flex:0 0 auto;white-space:normal}
table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
th,td{vertical-align:middle}
img,svg,video{max-width:100%;height:auto}
@media(max-width:768px){
  main{padding:12px}
  h1{font-size:clamp(21px,5vw,28px)}
  h2{font-size:clamp(17px,4vw,22px)}
  section{padding:14px;margin:10px 0}
  .app-header{display:flex;flex-direction:column;gap:8px}
  .keyboard-hint{width:100%;font-size:12px}
  .dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .nav-card{padding:12px;min-width:0}
  form{align-items:stretch}
  form input:not([type="hidden"]),form select,form button{flex:1 1 100%;width:100%;margin:2px 0}
  table{font-size:12px}
  th,td{padding:7px}
}
@media(max-width:380px){
  main{padding:8px}
  .dashboard-nav{grid-template-columns:1fr 1fr;gap:7px}
  .nav-card{padding:9px;font-size:13px}
  .nav-icon{font-size:22px}
  section{padding:10px}
}
@media(min-width:769px) and (max-width:1024px){
  main{padding:18px}
  .dashboard-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media print{
  main{width:auto;max-width:none;padding:0}
  table{display:table;overflow:visible;white-space:normal}
}


.upload-label{display:flex;flex:1 1 100%;flex-direction:column;gap:8px;padding:12px;border:1px dashed #b8c4d6;border-radius:10px;color:#344054}
.company-logo-preview{display:block;max-width:160px;max-height:100px;object-fit:contain;margin-top:8px}
.letterhead{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.letterhead-logo{max-width:120px;max-height:90px;object-fit:contain}
.letterhead-info{min-width:0}
.letterhead-info h2{margin:0 0 6px}
.letterhead-info div{margin:2px 0}
@media(max-width:600px){.letterhead{align-items:flex-start;gap:10px}.letterhead-logo{max-width:80px;max-height:70px}}


/* Success and error dialogs */
.result-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:1002;width:min(420px,calc(100vw - 32px));max-width:420px;margin:0;padding:28px 24px;border:0;border-radius:18px;background:#fff;color:#202938;text-align:center;box-shadow:0 24px 80px #0004}
.result-dialog h2{margin:8px 0;font-size:24px;color:#176b42}
.result-dialog p{margin:8px 0 20px;line-height:1.9}
.result-dialog button{min-width:130px}
.dialog-mark{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:0 auto 8px;border-radius:50%;background:#e4f7eb;color:#16834b;font-size:32px;font-weight:bold}
.dialog-backdrop{position:fixed;inset:0;z-index:1001;background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}
.error-msg{background:#fff0f0!important;color:#9b1c1c;border:1px solid #f2b8b8}
body.dialog-visible{overflow:hidden}


/* PWA install action */
.pwa-install-button{background:#176b42;border-color:#176b42;color:#fff;box-shadow:0 3px 10px #176b4222}
.pwa-install-button[hidden]{display:none!important}
.app-header .pwa-install-button{margin-inline-start:auto}
@media(max-width:768px){.app-header .pwa-install-button{width:100%;margin:4px 0}}
@media(display-mode:standalone){.pwa-install-button{display:none!important}}


/* Fast product search in the sales form */
.product-autocomplete{position:relative;flex:1 1 260px;min-width:220px;max-width:100%;margin:4px}
.product-autocomplete .product-search{width:100%;margin:0}
.product-search-hint{display:block;color:#667085;font-size:12px;padding:2px 4px}
.product-suggestions{position:absolute;z-index:30;top:calc(100% + 2px);right:0;left:0;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 12px 28px #0f172a20;max-height:260px;overflow-y:auto}
.product-suggestions[hidden]{display:none}
.product-suggestion{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:2px;margin:0;padding:10px 12px;border:0;border-radius:0;background:#fff;color:#202938;text-align:right;white-space:normal}
.product-suggestion:hover,.product-suggestion:focus,.product-suggestion.active{background:#eaf1ff;color:#174ea6}
.product-suggestion small,.product-suggestion-empty{color:#667085;font-size:12px}
.product-suggestion-empty{padding:12px}
@media(max-width:768px){.product-autocomplete{flex:1 1 100%;width:100%;margin:2px 0}}


/* Purchase/sales report dashboard */
.report-filter{align-items:flex-end;margin-bottom:14px}
.report-filter label{display:flex;flex-direction:column;gap:3px;flex:1 1 180px;color:#475467;font-size:13px}
.report-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:16px 0 24px}
.report-card{display:flex;flex-direction:column;gap:7px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:15px;min-width:0}
.report-card span,.report-card small{color:#667085;font-size:13px}
.report-card strong{font-size:clamp(18px,2.5vw,24px);overflow-wrap:anywhere}
.report-profit strong{color:#16834b}.report-loss strong{color:#b42318}
.report-chart-wrap{width:100%;overflow:hidden;border:1px solid #e2e8f0;border-radius:12px;padding:8px;margin-bottom:16px}
#trade-chart{display:block;width:100%;height:260px}
.report-note{font-size:12px;line-height:1.9;color:#667085;background:#f8fafc;padding:12px;border-radius:8px}


/* Data exchange and report actions */
.button-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;margin:4px;border:1px solid #174ea6;border-radius:6px;background:#fff;color:#174ea6;text-decoration:none}
.button-link:hover{background:#eaf1ff}
pre{max-width:100%;overflow:auto;white-space:pre-wrap;direction:ltr;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;font-size:12px}

/* Automatic CC Page-Turn-inspired transitions and diagonal logo light sweep */
.page-turn-overlay{position:fixed;inset:0;z-index:99990;pointer-events:none;overflow:hidden;perspective:1800px;background:transparent}
.page-turn-sheet{position:absolute;inset:0;background:linear-gradient(110deg,#fff 0%,#f5f7fb 38%,#dce4ef 72%,#fff 100%);transform-style:preserve-3d;backface-visibility:hidden;box-shadow:inset -28px 0 45px #24364d22}
.page-turn-overlay.is-entering .page-turn-sheet{transform-origin:right center;animation:dbuy-page-reveal .78s cubic-bezier(.65,0,.25,1) forwards}
.page-turn-overlay.is-leaving .page-turn-sheet{transform-origin:left center;animation:dbuy-page-cover .68s cubic-bezier(.65,0,.25,1) forwards}
@keyframes dbuy-page-reveal{0%{transform:rotateY(0deg);box-shadow:inset -28px 0 45px #24364d22}100%{transform:rotateY(-105deg);box-shadow:inset -6px 0 18px #24364d08}}
@keyframes dbuy-page-cover{0%{transform:rotateY(105deg);box-shadow:inset 6px 0 18px #24364d08}100%{transform:rotateY(0deg);box-shadow:inset 28px 0 45px #24364d22}}
.brand-flight{position:fixed;z-index:99989;left:0;bottom:0;width:clamp(54px,7vw,92px);height:clamp(54px,7vw,92px);object-fit:contain;pointer-events:none;opacity:0;filter:drop-shadow(0 5px 12px #10182835);animation:dbuy-logo-flight 2.35s cubic-bezier(.35,.05,.65,.95) .12s both}
.brand-flight-wrap{position:fixed;z-index:99989;left:0;bottom:0;width:clamp(54px,7vw,92px);height:clamp(54px,7vw,92px);pointer-events:none;opacity:0;animation:dbuy-logo-flight 2.35s cubic-bezier(.35,.05,.65,.95) .12s both}
.brand-flight-wrap img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 12px #10182835)}
.brand-flight-wrap:after{content:"";position:absolute;inset:-20%;background:linear-gradient(135deg,transparent 38%,#ffffff00 43%,#fffde7 49%,#fff 51%,#ffffff00 57%,transparent 62%);mix-blend-mode:screen;transform:translate(-130%,-130%);animation:dbuy-logo-shine 1.25s ease-in-out .45s both}
@keyframes dbuy-logo-flight{0%{transform:translate(-110%,110%) rotate(-8deg);opacity:0}12%{opacity:.92}82%{opacity:.92}100%{transform:translate(calc(100vw + 110%),calc(-100vw - 110%)) rotate(0deg);opacity:0}}
@keyframes dbuy-logo-shine{0%{transform:translate(-130%,-130%)}100%{transform:translate(130%,130%)}}
@media(prefers-reduced-motion:reduce){.page-turn-overlay,.brand-flight-wrap,.brand-flight{display:none!important;animation:none!important}}
@media print{.page-turn-overlay,.brand-flight-wrap,.brand-flight{display:none!important}}


/* User-controlled appearance settings; all color inputs use the browser's native color picker */
:root{--user-bg:#f3f5f8;--user-text:#202938;--user-button:#174ea6;--user-card:#fff;--user-shadow:0 3px 14px rgba(0,0,0,.08)}
body{background:var(--user-bg)!important;color:var(--user-text)!important}
section,.paper,.nav-card,.report-card,.report-chart-wrap,.product-suggestions,.result-dialog,.appearance-settings-dialog{background:var(--user-card);color:var(--user-text)}
.nav-card,.report-card,.report-chart-wrap,section,.paper{box-shadow:var(--user-shadow)}
button,.appearance-settings-button{background:var(--user-button);color:#fff;border-color:var(--user-button)}
a{color:var(--user-button)}
input,select,textarea{background:var(--user-card);color:var(--user-text)}
.dashboard-nav .sale-card{background:var(--user-card)}
:root[data-appearance-theme="dark"] body{color:var(--user-text)!important}
:root[data-appearance-theme="dark"] section,
:root[data-appearance-theme="dark"] .paper,
:root[data-appearance-theme="dark"] .nav-card,
:root[data-appearance-theme="dark"] .report-card,
:root[data-appearance-theme="dark"] .report-chart-wrap,
:root[data-appearance-theme="dark"] .product-suggestions,
:root[data-appearance-theme="dark"] .product-suggestion,
:root[data-appearance-theme="dark"] .result-dialog{background:var(--user-card);color:var(--user-text);border-color:#374151}
:root[data-appearance-theme="dark"] input,
:root[data-appearance-theme="dark"] select,
:root[data-appearance-theme="dark"] textarea{background:#111827;color:var(--user-text);border-color:#4b5563}
:root[data-appearance-theme="dark"] .nav-card small,
:root[data-appearance-theme="dark"] .app-header p,
:root[data-appearance-theme="dark"] .report-card span,
:root[data-appearance-theme="dark"] .report-card small{color:#cbd5e1}
:root[data-appearance-theme="dark"] .keyboard-hint{background:#1e3a8a;color:#dbeafe}
.appearance-settings-button{position:fixed;z-index:9000;right:16px;bottom:16px;border:0;border-radius:999px;padding:11px 16px;box-shadow:0 5px 20px #0003;cursor:pointer}
.appearance-settings-dialog{width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow:auto;border:1px solid #cbd5e1;border-radius:18px;padding:22px;box-shadow:0 24px 90px #0005}
.appearance-settings-dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}
.appearance-settings-dialog h2{margin:0 0 6px}
.appearance-settings-intro{font-size:13px;color:#667085;line-height:1.8}
.appearance-settings-form{display:flex;flex-direction:column;gap:12px}
.appearance-color-row,.appearance-range-row,.appearance-dark-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e2e8f0}
.appearance-color-row input[type=color]{flex:0 0 58px;width:58px;height:42px;padding:3px;cursor:pointer}
.appearance-range-row input[type=range]{flex:1 1 auto;min-width:70px}
.appearance-range-row output{min-width:38px;text-align:left;font-size:13px}
.appearance-dark-row{justify-content:flex-start}
.appearance-dark-row input{flex:0 0 auto;width:20px;height:20px}
.appearance-settings-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px;flex-wrap:wrap}
.appearance-settings-actions button{margin:0}
.appearance-settings-actions .appearance-reset{background:transparent;color:var(--user-text);border:1px solid #9ca3af}
@media(max-width:480px){.appearance-settings-button{right:10px;bottom:10px}.appearance-settings-dialog{padding:16px}.appearance-settings-actions button{flex:1 1 100%}}
@media print{.appearance-settings-button,.appearance-settings-dialog{display:none!important}}

/* Keep the selected text color consistent across headings, labels, tables and helper text */
body :is(h1,h2,h3,h4,p,span,strong,small,label,td,th,li,summary,legend,output){color:var(--user-text)}

/* Dashboard modules are presented as separate, uncluttered pages */
[hidden]{display:none!important}
.dashboard-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 32px}
.dashboard-nav .nav-card{min-width:0;min-height:108px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;padding:20px;border:1px solid #dbe3ee;border-radius:20px;text-decoration:none;box-shadow:var(--user-shadow);background:var(--user-card);color:var(--user-text)}
.dashboard-nav .nav-card strong{font-size:1.05rem;line-height:1.6}
.dashboard-nav .nav-card small{font-size:.88rem;line-height:1.6;color:#667085}
.dashboard-nav .nav-card:hover,.dashboard-nav .nav-card:focus-visible{border-color:var(--user-button);transform:translateY(-1px)}
.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 22px;padding:12px 0;border-bottom:1px solid #dbe3ee}
.page-toolbar #current-page-title{font-size:1.15rem;font-weight:700}
body[data-current-page]:not([data-current-page="dashboard"]) main>section{margin-top:0}
body[data-current-page]:not([data-current-page="dashboard"]) main>section>h2{margin-top:0}
@media(max-width:700px){.dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 24px}.dashboard-nav .nav-card{min-height:95px;padding:14px;border-radius:16px}.dashboard-nav .nav-card strong{font-size:.98rem}.dashboard-nav .nav-card small{font-size:.8rem}.page-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:360px){.dashboard-nav{grid-template-columns:1fr}}
@media print{.page-toolbar,.dashboard-nav{display:none!important}}

/* Focused transaction dialogs and clean, separate module pages */
.module-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;width:min(760px,calc(100vw - 24px));max-width:760px;max-height:calc(100dvh - 28px);overflow:auto;padding:clamp(14px,3vw,26px);border:1px solid #dbe3ee;border-radius:22px;background:var(--user-card,#fff);color:var(--user-text,#202938);box-shadow:0 24px 90px #0f172a40}
.module-dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}
.module-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #e2e8f0}
.module-dialog-toolbar h2{margin:0;font-size:clamp(20px,4vw,27px)}
.module-dialog .button-link{flex:0 0 auto}
.module-dialog section{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.module-dialog form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px}
.module-dialog form input:not([type=hidden]),.module-dialog form select,.module-dialog form textarea,.module-dialog form button,.module-dialog form label{width:100%;min-width:0;margin:0}
.module-dialog form label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.module-dialog form label input[type=checkbox]{width:auto;min-height:auto;flex:0 0 auto}
.module-dialog form .product-autocomplete{width:100%;min-width:0;margin:0}
.module-dialog form button{grid-column:1/-1;margin-top:8px;min-height:48px}
.module-dialog form input[type=hidden]{display:none}
body:has(.module-dialog[open]){overflow:hidden}
@media(max-width:560px){
 .module-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px;border-radius:16px}
 .module-dialog form{grid-template-columns:minmax(0,1fr)}
 .module-dialog form button{grid-column:auto}
 .module-dialog-toolbar{align-items:flex-start}
}

/* Fail-safe page isolation: even if a script is delayed, dashboard never renders every module below the cards */
body[data-current-page="dashboard"] main>section{display:none!important}
body[data-current-page="product"] main>section#product,
body[data-current-page="crm"] main>section#crm,
body[data-current-page="settings"] main>section#settings,
body[data-current-page="reports"] main>section#reports,
body[data-current-page="balances"] main>section#balances,
body[data-current-page="journal"] main>section#journal{display:block!important}
body[data-current-page="sale"] main>section#sale,
body[data-current-page="purchase"] main>section#purchase{display:none!important}
body[data-current-page="sale"] .dashboard-nav,
body[data-current-page="purchase"] .dashboard-nav,
body[data-current-page="product"] .dashboard-nav,
body[data-current-page="crm"] .dashboard-nav,
body[data-current-page="settings"] .dashboard-nav,
body[data-current-page="reports"] .dashboard-nav,
body[data-current-page="balances"] .dashboard-nav,
body[data-current-page="journal"] .dashboard-nav{display:none!important}
body[data-current-page="dashboard"] .page-toolbar{display:none!important}

/* Explicit return action at the end of focused transaction dialogs */
.module-dialog-footer{display:flex;justify-content:flex-start;margin-top:18px;padding-top:14px;border-top:1px solid #e2e8f0}
.module-dialog-footer .module-back-button{min-height:46px;padding:10px 18px;border-radius:10px;font-weight:700}
.module-dialog-toolbar .button-link{min-height:42px;font-weight:700}

/* The logo itself never moves; only a diagonal light streak crosses its existing position */
.brand-flight,.brand-flight-wrap{display:none!important;animation:none!important}
.logo-shine-overlay{position:absolute;z-index:99989;pointer-events:none;overflow:hidden;border-radius:inherit;background:transparent}
.logo-shine-overlay:after{content:"";position:absolute;inset:-70%;background:linear-gradient(135deg,transparent 43%,rgba(255,255,255,0) 47%,rgba(255,255,230,.95) 49.5%,rgba(255,255,255,.98) 50.5%,rgba(255,255,255,0) 53%,transparent 57%);transform:translate(-65%,-65%);animation:dbuy-logo-stationary-shine 1.3s ease-in-out both}
@keyframes dbuy-logo-stationary-shine{0%{transform:translate(-65%,-65%)}100%{transform:translate(65%,65%)}}
@media(prefers-reduced-motion:reduce){.logo-shine-overlay{display:none!important}}
@media print{.logo-shine-overlay{display:none!important}}

/* Persian accounting typography and language-ready layout */
@font-face{font-family:'B Nazanin';src:local('B Nazanin'),local('B Nazanin Bold');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'B Titr';src:local('B Titr'),local('B Titr Bold');font-weight:700;font-style:normal;font-display:swap}
html{font-family:'B Nazanin',Tahoma,Arial,sans-serif;font-weight:700}
body,input,select,textarea,button,table,th,td,p,li,label,small,strong,span,a{font-family:'B Nazanin',Tahoma,Arial,sans-serif;font-weight:700}
h1,h2,h3,h4,.app-header h1,.nav-card strong{font-family:'B Titr','B Nazanin',Tahoma,Arial,sans-serif;font-weight:700}
.language-setting-label{display:flex;flex-direction:column;gap:5px;min-width:180px;font-weight:700}
html[data-language='en']{direction:ltr}html[data-language='en'] body{text-align:left}html[data-language='en'] td,html[data-language='en'] th{text-align:left}


/* Global typography: uses installed B fonts when available; other systems fall back gracefully. */
html,body,body *:not(code):not(pre){
  font-family:"B Nazanin","BNazanin","B Nazanin Bold","B Nazanin",Tahoma,Arial,sans-serif !important;
  font-weight:700;
}
h1,h2,h3,h4,h5,h6,.app-header h1,.paper h1,.paper h2,header h1,section>h2{
  font-family:"B Titr","BTitr","B Titr Bold","B Nazanin",Tahoma,sans-serif !important;
  font-weight:700;
}
input,select,textarea,button,table,th,td,label,p,span,strong,small,a{
  font-family:"B Nazanin","BNazanin",Tahoma,Arial,sans-serif !important;
  font-weight:700;
}
html[data-language="en"],html[data-language="en"] body,
html[data-language="en"] body *{
  font-family:Arial,Helvetica,sans-serif !important;
}
html[data-language="en"] h1,html[data-language="en"] h2,html[data-language="en"] h3{
  font-family:Arial,Helvetica,sans-serif !important;
}
html[dir="ltr"] th,html[dir="ltr"] td{text-align:left}


/* Global typography: B Titr headings and bold B Nazanin body text.
   If these fonts are not installed on the host computer, the browser uses the listed fallbacks. */
body, input, select, textarea, button, table, th, td, label, p, a, small, strong {
  font-family: "B Nazanin", "BNazanin", Tahoma, Arial, sans-serif;
  font-weight: 700;
}
h1, h2, h3, h4, h5, h6, .app-header h1, .nav-card strong, .dialog-title {
  font-family: "B Titr", "BTitr", "B Nazanin", Tahoma, Arial, sans-serif;
  font-weight: 700;
}
html[data-language="en"] body,
html[data-language="en"] input,
html[data-language="en"] select,
html[data-language="en"] textarea,
html[data-language="en"] button,
html[data-language="en"] table,
html[data-language="en"] th,
html[data-language="en"] td {
  font-family: Arial, Tahoma, sans-serif;
}
.language-setting-label{display:flex;align-items:center;gap:10px;flex:1 1 220px;font-weight:700}
.language-setting-label select{min-width:140px}


/* Larger, visibly bold Persian typography */
@font-face{
  font-family:"B Nazanin Local";
  src:url("../fonts/BNAZANIN.TTF") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"B Nazanin Local";
  src:url("../fonts/BNAZNNBD.TTF") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
@font-face{
  font-family:"B Titr Local";
  src:url("../fonts/BTITRBD.TTF") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
html,body,body *:not(code):not(pre){
  font-family:"B Nazanin Local","B Nazanin",Tahoma,Arial,sans-serif !important;
  font-weight:700 !important;
}
body{font-size:18px;line-height:1.9}
input,select,textarea,button{font-size:17px !important;font-weight:700 !important}
table{font-size:17px}
th,td{font-size:17px;font-weight:700 !important;padding:10px}
p,label,li,small,.nav-card small,.report-note{font-size:17px}
h1,h2,h3,h4,h5,h6,.app-header h1,.nav-card strong,.dialog-title{
  font-family:"B Titr Local","B Titr","B Nazanin Local",Tahoma,Arial,sans-serif !important;
  font-weight:700 !important;
}
h1{font-size:32px}
h2{font-size:27px}
h3{font-size:23px}
@media(max-width:768px){
  body{font-size:17px}
  table,th,td,p,label,li,small{font-size:16px}
  h1{font-size:27px}
  h2{font-size:23px}
  h3{font-size:20px}
}
