/* ===== Bakery login update: use Inter for English UI text and retain Shabnam for Persian ===== */
@font-face{font-family:"Inter";src:url("../fonts/Inter-Variable.woff2?v=1") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
/* ===== ERP Update Start: Bundle Shabnam as the accounting system's Persian typeface ===== */
@font-face{font-family:"Shabnam";src:url("../fonts/Shabnam-Regular.woff2?v=1") format("woff2");font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:"Shabnam";src:url("../fonts/Shabnam-Bold.woff2?v=1") format("woff2");font-style:normal;font-weight:700;font-display:block}
/* ===== ERP Update End ===== */

/* ===== ERP Update Start: Desktop-only collapsible navigation rail ===== */
.sidebar-collapse-row{display:none}
@media(min-width:992px){
    .erp-body .sidebar,.erp-body .app-shell{transition:width .2s ease,margin-inline-start .2s ease}
    .sidebar-collapse-row{display:flex;justify-content:flex-end;padding:0 8.5px 5.1px}
    .sidebar-collapse-btn{width:26px;height:26px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:6.8px;background:var(--sidebar-bg-elevated);color:var(--sidebar-ink);transition:background-color .15s ease,color .15s ease,transform .2s ease}
    .sidebar-collapse-btn:hover{background:#22262e;color:#fff}
    .sidebar-collapse-btn:focus-visible{outline:2.6px solid rgba(40,120,232,.35);outline-offset:2px}
    .sidebar-collapse-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    /* ===== ERP Update Start: Point the collapse control toward the sidebar edge in each writing direction. ===== */
    html[dir=ltr] .sidebar-collapse-btn{transform:rotate(180deg)}
    html[dir=rtl] .sidebar-collapse-btn{transform:none}
    .erp-body.sidebar-collapsed{--sidebar:65px}
    .sidebar-collapsed .sidebar .brand-lockup{justify-content:center;padding-inline:8.5px}
    .sidebar-collapsed .sidebar .brand-lockup>span:last-child,.sidebar-collapsed .sidebar .nav-section-label,.sidebar-collapsed .sidebar .nav-link-erp>span:last-child,.sidebar-collapsed .sidebar .business-chip>div,.sidebar-collapsed .sidebar .brand-footer-credit-full{display:none}
    .sidebar-collapsed .sidebar-collapse-row{justify-content:center;padding-inline:6.8px}
    html[dir=ltr] .sidebar-collapsed .sidebar-collapse-btn{transform:none}
    html[dir=rtl] .sidebar-collapsed .sidebar-collapse-btn{transform:rotate(180deg)}
    .sidebar-collapsed .sidebar-nav{padding-inline:8.5px}
    .sidebar-collapsed .sidebar .nav-section{margin-block:3.4px 6.8px}
    .sidebar-collapsed .sidebar .nav-link-erp{justify-content:center;gap:0;padding-inline:6.8px}
    .sidebar-collapsed .sidebar-footer{padding-inline:8.5px}
    .sidebar-collapsed .sidebar .business-chip{justify-content:center;padding:8.5px}
    .sidebar-collapsed .sidebar .status-dot{margin-top:0}
}
/* ===== ERP Update End ===== */

/* ===== SaaS redesign: split login layout — dark storytelling aside (left) + white form panel (right) ===== */
.password-field{position:relative}
.password-field .form-control{padding-inline-end:41px}
.password-toggle{position:absolute;inset-block:0;inset-inline-end:6.8px;width:29px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;padding:0;border-radius:6.8px;cursor:pointer}
.password-toggle:hover{background:var(--brand-soft);color:var(--brand-dark)}
.password-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.password-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}

.auth-body{background:var(--bg)}
.auth-shell{grid-template-columns:minmax(0,1fr) minmax(400px,540px)}
.auth-panel{background:var(--surface)}
.auth-brand{gap:12px;margin-bottom:37px}
.auth-logo{width:44px;height:44px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
.auth-wordmark{height:27px;width:auto;object-fit:contain;display:block}
.auth-brand strong{font-size:14px;letter-spacing:-.02em;color:var(--ink)}
.auth-brand small{font-size:8.5px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:4.3px}
.auth-heading .eyebrow{color:var(--brand);font-weight:800}
.auth-heading h1{color:var(--ink);font-size:24px}
.auth-panel .form-label{color:var(--muted)}
.auth-panel .form-control:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem var(--brand-soft)}
.auth-panel .btn-primary{box-shadow:0 6.8px 14px rgba(40,120,232,.18)}
.auth-panel .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8.5px 17px rgba(40,120,232,.25)}
.auth-footer-credit{margin-top:22px;display:flex;align-items:center;gap:6px;font-size:9.4px;color:var(--muted-2);text-decoration:none}
.auth-footer-credit img{height:11px;width:auto;object-fit:contain;opacity:.85}
.auth-footer-credit:hover{color:var(--brand)}
.auth-footer-credit:hover img{opacity:1}
.auth-brand a{display:inline-flex;text-decoration:none}
.auth-brand a:hover .auth-wordmark{opacity:.85}
.auth-aside{padding:60px;display:flex;align-items:flex-end;background:radial-gradient(circle at 12% 12%,#1B2A45,var(--sidebar-bg) 55%);color:#fff;position:relative;overflow:hidden}
.auth-aside:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.12);border-radius:50%;top:-260px;inset-inline-end:-170px;box-shadow:0 0 0 77px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018)}
.auth-aside:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;inset-inline-start:-140px;bottom:-160px;background:rgba(40,120,232,.28);filter:blur(46px)}
.auth-aside>div{position:relative;max-width:640px}
.auth-kicker{font-size:9.4px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-cyan);font-weight:800}
.auth-aside h2{font-size:31px;line-height:1.16;letter-spacing:-.03em;margin:12px 0 19px;color:#fff}
.auth-aside ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;color:#cdd3dd}
.auth-aside ul li{display:flex;align-items:center;gap:8.5px;font-size:11px}
.auth-aside ul li svg{width:22px;height:22px;flex:none;stroke:var(--accent-cyan);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;background:rgba(255,255,255,.07);border-radius:7.7px;padding:4.3px;box-sizing:border-box}
.auth-aside-footer{position:relative;margin-top:29px;font-size:9.4px;color:#7d859a}
html[dir=rtl] .auth-brand{direction:rtl}
html[dir=rtl] .auth-brand small{text-transform:none}
@media(max-width:991.98px){.auth-panel{max-width:600px}.auth-logo{width:44px;height:44px}}
:root{--bg:#F2F4F7;--surface:#FFFFFF;--surface-2:#F7F8FA;--ink:#15171A;--muted:#68707D;--muted-2:#9AA1AC;--line:#E7E9ED;--line-soft:#EEF0F3;--brand:#2878E8;--brand-dark:#1668D8;--brand-soft:#E9F2FF;--accent-cyan:#67D9F3;--tint-cyan:#DDF7FC;--tint-lavender:#EEE8FF;--tint-pink:#F8E4FA;--success:#22A06B;--success-soft:#E4F5EC;--success-strong:#15794E;--warning:#F3A712;--warning-soft:#FDF1DA;--warning-strong:#96690A;--danger:#E5484D;--danger-soft:#FBE4E5;--danger-strong:#B0272C;--sidebar-bg:#121417;--sidebar-bg-elevated:#1A1D21;--sidebar-ink:#C7CBD1;--sidebar-ink-muted:#767C86;--sidebar:223px;--topbar:58px;--radius:10px;--radius-lg:19px;--radius-xl:24px;--shadow:0 1px 2px rgba(21,23,26,.04),0 1px 1px rgba(21,23,26,.03);--shadow-floating:0 12px 32px rgba(21,23,26,.14),0 2px 8px rgba(21,23,26,.06)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:12px;background:var(--bg)}html[dir=rtl] body{font-family:"Shabnam",Tahoma,"Segoe UI",Arial,sans-serif}.erp-body{overflow-x:hidden}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar);background:#fbfcfc;border-inline-end:1px solid var(--line);z-index:1030;flex-direction:column}.brand-lockup{min-height:var(--topbar);display:flex;align-items:center;gap:8.5px;padding:10px 15px;color:var(--ink);text-decoration:none}.brand-lockup>span:last-child{display:flex;flex-direction:column;line-height:1.15}.brand-lockup strong{font-size:13px}.brand-lockup small{font-size:8.5px;color:var(--muted);margin-top:2.6px;letter-spacing:.04em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:27px;height:27px;border-radius:7.7px;background:var(--brand);color:#fff;font-weight:800;font-size:13px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.sidebar-nav{padding:5.1px 8.5px;overflow-y:auto}.nav-section{margin:3.4px 0 12px}.nav-section-label{padding:3.4px 8.5px 5.1px;font-size:8.5px;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#89938f}.nav-link-erp{display:flex;align-items:center;gap:8.5px;min-height:31px;padding:6px 8.5px;border-radius:6.8px;color:#46524f;text-decoration:none;font-weight:550;font-size:11px;margin:1px 0}.nav-link-erp:hover{background:#f0f3f2;color:var(--ink)}.nav-link-erp.active{background:var(--brand-soft);color:var(--brand-dark);font-weight:700}.nav-icon{width:17px;height:17px;display:grid;place-items:center;border-radius:5.1px;border:1px solid transparent;font-size:9.4px;font-weight:800}.active>.nav-icon{background:#fff;border-color:#cbe1da}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:10px}.business-chip{display:flex;align-items:flex-start;gap:7.7px;padding:7.7px;border-radius:7.7px;background:#f5f7f6}.business-chip>div{display:flex;flex-direction:column;min-width:0}.business-chip strong{font-size:9.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-chip small{font-size:8.5px;color:var(--muted);text-transform:capitalize}.status-dot{width:6px;height:6px;border-radius:50%;background:#24a36f;margin-top:3.4px;box-shadow:0 0 0 2.6px #dff3eb}.app-shell{min-height:100vh;margin-inline-start:var(--sidebar)}.topbar{height:var(--topbar);position:sticky;inset-block-start:0;z-index:1020;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 19px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:7.7px;min-width:0}.page-context{display:flex;flex-direction:column;min-width:0}.page-context small{font-size:8.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.page-context strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-icon{width:31px;height:31px;padding:0;display:grid;place-items:center}.btn-quiet{border:1px solid var(--line);background:#fff;color:var(--ink);min-width:32px}.user-button{display:flex;align-items:center;gap:6.8px;border:0;background:transparent;padding:3.4px;border-radius:7.7px;color:var(--ink)}.user-button:hover{background:#f2f4f3}.user-button>span:nth-child(2){display:flex;flex-direction:column;text-align:start;line-height:1.15}.user-button strong{font-size:9.4px}.user-button small{font-size:7.7px;color:var(--muted)}.avatar{width:26px;height:26px;border-radius:7.7px;background:#e7ecea;color:var(--brand-dark);display:grid;place-items:center;font-weight:800}.content-area{padding:17px 19px 37px;max-width:1720px;margin:0 auto}.app-alert{border-radius:8.5px;border-width:1px;padding:8.5px 12px;font-size:11px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.page-head h1{font-size:17px;letter-spacing:-.02em;margin:0}.page-head p{margin:3.4px 0 0;color:var(--muted);font-size:10px}.page-actions{display:flex;gap:6.8px;flex-wrap:wrap}.btn{font-weight:600;border-radius:6.8px;font-size:11px}.btn-primary,.btn-success{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-dark);--bs-btn-hover-border-color:var(--brand-dark)}.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:#8ebdb1;--bs-btn-hover-bg:var(--brand)}.card,.panel{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);background:var(--surface)}.panel{padding:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line-soft)}.panel-head h2{font-size:12px;margin:0}.panel-body{padding:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8.5px;margin-bottom:12px}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:8.5px;padding:11px 12px;min-width:0}.metric-card .label{font-size:9.4px;color:var(--muted);font-weight:650}.metric-card .value{font-size:18px;font-weight:760;letter-spacing:-.03em;margin-top:4.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card .meta{font-size:8.5px;color:var(--muted);margin-top:2.6px}.metric-card.accent{border-color:#b9d9d1;background:#f8fcfb}.metric-card.danger{border-color:#efd1d4}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:10px}.dashboard-stack{display:grid;gap:10px}.table-panel{overflow:hidden}.table-responsive{scrollbar-width:thin}.table{--bs-table-bg:transparent;margin:0;font-size:10px;vertical-align:middle}.table>:not(caption)>*>*{padding:7.7px 10px;border-bottom-color:var(--line-soft)}.table thead th{font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:#707c78;background:#fafbfb;font-weight:750;white-space:nowrap}.table tbody tr:hover{background:#fbfcfc}.table .primary-cell{font-weight:700;color:var(--ink)}.table .secondary-cell{display:block;color:var(--muted);font-size:8.5px;margin-top:2px}.table .amount-cell{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:end}.badge{font-size:7.7px;border-radius:999px;padding:4.3px 6.8px;font-weight:750;letter-spacing:.01em}.text-bg-success{background:#dff3e9!important;color:#176643!important}.text-bg-warning{background:#fff0d3!important;color:#88510b!important}.text-bg-danger{background:#fbe0e3!important;color:#9f2836!important}.text-bg-secondary{background:#e9edeb!important;color:#53605c!important}.text-bg-primary{background:#dceaf7!important;color:#204f73!important}.text-bg-info{background:#e2f0f5!important;color:#23637a!important}.filter-bar{display:flex;align-items:end;gap:6.8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:8.5px;padding:8.5px;margin-bottom:10px}.filter-bar .form-control,.filter-bar .form-select{min-width:150px}.filter-search{min-width:240px!important}.form-label{font-size:9.4px;font-weight:700;color:#53605c;margin-bottom:4.3px}.form-control,.form-select{border-color:#cfd8d4;border-radius:6.8px;font-size:11px;min-height:31px}.form-control:focus,.form-select:focus{border-color:#6aa998;box-shadow:0 0 0 .2rem rgba(22,114,95,.1)}.form-text{font-size:8.5px}.section-title{font-size:10px;font-weight:800;margin:0 0 10px;letter-spacing:.01em}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}.col-span-9{grid-column:span 9}.col-span-12{grid-column:span 12}.form-section{padding:14px;border-bottom:1px solid var(--line-soft)}.form-section:last-child{border-bottom:0}.form-actions{position:sticky;bottom:0;z-index:10;display:flex;justify-content:flex-end;gap:6.8px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:10px 14px;border-radius:0 0 var(--radius) var(--radius)}.line-editor{border:1px solid var(--line);border-radius:8.5px;overflow:hidden}.line-editor .table-responsive{max-height:460px}.line-editor table{min-width:1050px}.line-editor .form-control,.line-editor .form-select{min-height:27px;padding:3.4px 6px;font-size:10px}.line-editor .line-total{font-weight:750;text-align:end;min-width:77px}.totals-box{margin-inline-start:auto;width:min(100%,390px);padding:12px 14px}.total-row{display:flex;justify-content:space-between;gap:17px;padding:4.3px 0;font-size:10px}.total-row.grand{font-size:13px;font-weight:800;border-top:1px solid var(--line);padding-top:8.5px;margin-top:4.3px}.document{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;max-width:1100px;margin:auto}.document-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid var(--line)}.document-brand h1{font-size:17px;margin:0}.document-brand p,.document-meta p{font-size:9.4px;color:var(--muted);margin:2.6px 0}.document-title{text-align:end}.document-title h2{font-size:20px;margin:0}.document-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0}.document-block{border:1px solid var(--line-soft);border-radius:6.8px;padding:10px}.document-block label{display:block;font-size:7.7px;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:4.3px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6.8px}.summary-item{background:var(--surface-2);border:1px solid var(--line-soft);padding:8.5px;border-radius:6.8px}.summary-item span{display:block;color:var(--muted);font-size:7.7px;text-transform:uppercase}.summary-item strong{display:block;margin-top:2.6px;font-size:11px}.timeline{display:flex;align-items:flex-start;gap:0;margin:17px 0}.timeline-step{flex:1;position:relative;padding-top:15px;font-size:8.5px;color:var(--muted)}.timeline-step:before{content:"";position:absolute;top:3.4px;inset-inline-start:0;width:7.7px;height:7.7px;border-radius:50%;background:#cbd4d1;z-index:1}.timeline-step:after{content:"";position:absolute;top:6.8px;inset-inline-start:7.7px;inset-inline-end:0;height:1px;background:#dce3e0}.timeline-step.done:before{background:var(--brand)}.timeline-step.done:after{background:#8cc2b5}.timeline-step:last-child:after{display:none}.timeline-step strong{display:block;color:var(--ink);font-size:8.5px}.empty-state{text-align:center;padding:60px 17px;background:#fff;border:1px dashed #cfd8d4;border-radius:10px}.empty-state h1{font-size:17px}.empty-state p{color:var(--muted);max-width:440px;margin:6.8px auto 15px}.empty-code{font-size:36px;font-weight:850;color:#c3ceca}.auth-body{background:var(--bg);min-height:100vh}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,540px)}.auth-panel{background:var(--surface);padding:36px clamp(24px,6vw,61px);display:flex;flex-direction:column;justify-content:center}.auth-brand{display:flex;align-items:center;gap:8.5px}.auth-brand>span:last-child{display:flex;flex-direction:column}.auth-brand small{font-size:7.7px;color:var(--muted);text-transform:uppercase}.auth-heading .eyebrow{font-size:9.4px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-weight:800;margin-bottom:6.8px}.auth-heading h1{font-size:26px;letter-spacing:-.04em}.auth-heading>p:last-child{color:var(--muted);line-height:1.6;margin-bottom:22px}.demo-credentials{margin-top:24px;padding:8.5px 10px;border:1px dashed var(--line);border-radius:6.8px;display:flex;flex-direction:column;font-size:8.5px;color:var(--muted)}.mobile-nav{max-width:280px}.mobile-nav .offcanvas-header{border-bottom:1px solid rgba(255,255,255,.08)}
/* ===== USD display update: a muted secondary line under any AFN amount, in tables, metric cards, and form inputs. ===== */
.usd-hint{display:block;color:var(--muted);font-size:8.9px;font-weight:500;margin-top:2px;white-space:nowrap}
.metric-card .usd-hint{font-size:9.4px;white-space:normal}
.amount-input-group{display:flex;flex-direction:column;gap:2px}
.total-row-value{display:flex;flex-direction:column;align-items:flex-end}.total-row-value .usd-hint{margin-top:1px}
.usd-rate-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3.4px;max-height:180px;overflow-y:auto}.usd-rate-history li{display:flex;justify-content:space-between;gap:8.5px;font-size:9.4px;padding:3.4px 0;border-bottom:1px solid var(--line-soft)}.usd-rate-history li:last-child{border-bottom:0}.usd-rate-history li span{color:var(--muted)}
.exchange-rate-badge{display:inline-flex;align-items:center;gap:4.3px;padding:4.3px 8.5px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:9.4px;font-weight:650;color:var(--muted);white-space:nowrap;text-decoration:none}
.exchange-rate-badge:hover{color:var(--brand-dark);border-color:#8ebdb1}
@media (max-width:767.98px){.exchange-rate-badge{display:none}}
@media(max-width:1199.98px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:991.98px){.app-shell{margin-inline-start:0}.content-area{padding:14px}.topbar{padding:0 12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{max-width:560px;width:100%;margin:auto;min-height:100vh}.form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.col-span-2,.col-span-3{grid-column:span 3}.col-span-4,.col-span-6{grid-column:span 6}.col-span-8,.col-span-12{grid-column:span 6}}
@media(max-width:575.98px){body{font-size:11px}.content-area{padding:10px 8.5px 31px}.topbar{height:49px}.page-context small{max-width:130px}.user-button>span:last-child{display:none}.page-head{align-items:stretch;flex-direction:column;margin-bottom:10px}.page-actions>*{flex:1}.metric-grid{gap:6.8px}.metric-card{padding:9.4px}.metric-card .value{font-size:15px}.filter-bar{align-items:stretch}.filter-bar>*{width:100%}.filter-bar .form-control,.filter-bar .form-select,.filter-search{width:100%;min-width:0!important}.form-grid{display:block}.form-grid>div{margin-bottom:10px}.panel,.card{border-radius:8.5px}.form-section{padding:11px}.form-actions{margin:0 -13px -13px;padding:8.5px}.form-actions .btn{flex:1}.document{border:0;border-radius:0;padding:14px;margin:0 -10px}.document-head,.document-parties{grid-template-columns:1fr;display:grid}.document-title{text-align:start}.summary-grid{grid-template-columns:repeat(2,1fr)}.auth-panel{padding:26px 19px}.auth-brand{margin-bottom:34px}.table>:not(caption)>*>*{padding:6.8px 7.7px}.totals-box{width:100%}}
@media(max-width:340px){.metric-grid{grid-template-columns:1fr}.topbar-actions{gap:2.6px}.content-area{padding-inline:6.8px}}
@media print{body{background:#fff!important}.sidebar,.topbar,.page-head,.app-alert,.no-print,.form-actions{display:none!important}.app-shell{margin:0!important}.content-area{padding:0!important;max-width:none}.document{border:0!important;padding:0!important;max-width:none}.panel,.card{box-shadow:none!important}.table{font-size:8.5px}.table>:not(caption)>*>*{padding:4.3px 5.1px}@page{size:A4;margin:12mm}}
.report-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.report-link{display:flex;align-items:center;justify-content:space-between;gap:6.8px;padding:7.7px 8.5px;border:1px solid var(--line-soft);border-radius:6.8px;color:var(--ink);text-decoration:none;background:var(--surface-2)}.report-link:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.report-link::after{content:'\2192';color:var(--muted)}html[dir=rtl] .report-link::after{content:'\2190'}.report-total{position:sticky;bottom:0;background:#f2f6f4;box-shadow:0 -1px 0 var(--line)}.report-total th{font-weight:700}@media(max-width:575.98px){.report-links{grid-template-columns:1fr}}

/* ===== ERP Update Start: Increase all visible UI typography by 15 percent ===== */
/* The root scale covers Bootstrap/rem-based text; these overrides cover the app's explicit pixel sizes. */
html{font-size:98%}
body{font-size:13.7px}
.brand-lockup strong,.brand-mark{font-size:14.7px}
.brand-lockup small,.nav-section-label,.business-chip small,.page-context small,.metric-card .meta,.table .secondary-cell,.form-text,.timeline-step,.timeline-step strong,.auth-brand small,.demo-credentials{font-size:9.8px}
.nav-link-erp,.app-alert,.btn,.form-control,.form-select{font-size:12.7px}
.nav-icon{font-size:10.8px}
.business-chip strong,.user-button strong,.metric-card .label,.form-label,.document-brand p,.document-meta p,.auth-heading .eyebrow,.auth-kicker{font-size:10.8px}
.page-context strong,.panel-head h2,.table,.section-title,.total-row{font-size:13.7px}
.page-head h1,.document-brand h1,.empty-state h1{font-size:19.6px}
.page-head p{font-size:11.7px}
.metric-card .value{font-size:20.5px}
.table thead th{font-size:9.8px}
.badge{font-size:8.8px}
.line-editor .form-control,.line-editor .form-select{font-size:11.7px}
.total-row.grand{font-size:14.7px}
.document-title h2{font-size:23.5px}
.document-block label,.summary-item span{font-size:8.8px}
.summary-item strong{font-size:12.7px}
.empty-code{font-size:41.1px}
.auth-heading h1{font-size:29.3px}
.auth-aside h2{font-size:37.1px}
@media(max-width:575.98px){
    body{font-size:12.7px}
    .metric-card .value{font-size:17.6px}
    .table{font-size:9.8px}
}
@media print{.table{font-size:9.8px}}

/* ===== Header update: give language selection a clear globe control and protect the username on small screens. ===== */
.language-switch{display:flex;align-items:center;gap:4.3px;border:1px solid var(--line);background:#fff;border-radius:6.8px;min-height:31px;padding:0 6.8px;color:var(--ink)}
.language-icon{display:grid;place-items:center;color:var(--brand-dark);flex:0 0 auto}
.language-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.language-select{border:0;background:transparent;color:var(--ink);font-size:10px;font-weight:650;min-height:26px;padding:2px 15px 2px 2px;cursor:pointer;outline:0}
.language-select:focus-visible{outline:2px solid rgba(22,114,95,.3);outline-offset:2px;border-radius:3.4px}
.user-name{min-width:0;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-button small{display:none!important}
@media(max-width:767.98px){.topbar-actions{gap:5.1px}.language-switch{padding-inline:5.1px}.language-select{max-width:78px}.user-button>span:nth-child(2){display:flex!important;max-width:110px}.user-button{gap:5.1px}}
@media(max-width:575.98px){.topbar{padding-inline:6.8px}.topbar-left{gap:4.3px}.topbar-actions{gap:3.4px}.language-switch{min-height:29px;padding-inline:4.3px}.language-icon svg{width:14px;height:14px}.language-select{max-width:61px;font-size:9.4px;padding-inline-end:11px}.user-button>span:nth-child(2){max-width:71px}.avatar{width:24px;height:24px}.user-button{padding-inline:2px}}
@media(max-width:360px){.page-context{display:none}.language-select{max-width:53px}.user-button>span:nth-child(2){max-width:61px}}
@media(max-width:575.98px){.language-switch{position:relative;width:29px;min-width:29px;height:29px;padding:0;justify-content:center}.language-switch .language-icon{pointer-events:none}.language-switch .language-select{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:0;cursor:pointer;padding:0}}
/* Persian UI text uses the bundled Shabnam typeface consistently across every RTL element. */
html[dir=rtl]{--bs-body-font-family:"Shabnam",Tahoma,"Segoe UI",Arial,sans-serif;font-family:"Shabnam",Tahoma,"Segoe UI",Arial,sans-serif!important}
html[dir=rtl] body,html[dir=rtl] body *{font-family:"Shabnam",Tahoma,"Segoe UI",Arial,sans-serif!important}
/* ===== ERP Update End ===== */

/* ===== SaaS redesign: shared button, sidebar, and navigation palette on the new blue brand tokens ===== */
/* ===== Sidebar daytime update: use the requested sky-blue rail while restoring the existing night palette unchanged in dark mode. ===== */
:root{--sidebar-bg:#168FD8;--sidebar-bg-elevated:#0E7FC4;--sidebar-ink:#fff;--sidebar-ink-muted:#D8F3FF}
html[data-theme="dark"]{--sidebar-bg:#0B336C;--sidebar-bg-elevated:#0E427F;--sidebar-ink:#EAF3FF;--sidebar-ink-muted:#B7D0F0}
/* ===== Sidebar daytime update end ===== */
.brand-logo{width:29px;height:29px;object-fit:cover;border-radius:8.5px;border:1px solid var(--line);box-shadow:var(--shadow)}
.brand-lockup small{font-size:7.7px!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:var(--sidebar-ink-muted)!important}
.brand-lockup strong{color:#fff}
.btn-primary,.btn-success{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-dark);--bs-btn-hover-border-color:var(--brand-dark);--bs-btn-active-bg:var(--brand-dark);--bs-btn-active-border-color:var(--brand-dark);--bs-btn-color:#fff;--bs-btn-hover-color:#fff}
.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand);--bs-btn-hover-color:#fff}
.btn-outline-secondary,.btn-quiet{--bs-btn-color:var(--muted);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--surface-2);--bs-btn-hover-border-color:var(--muted-2);--bs-btn-hover-color:var(--ink);background:var(--surface)}
.btn-danger{--bs-btn-bg:var(--danger);--bs-btn-border-color:var(--danger);--bs-btn-hover-bg:var(--danger-strong);--bs-btn-hover-border-color:var(--danger-strong)}
.btn-outline-danger{--bs-btn-color:var(--danger);--bs-btn-border-color:var(--danger);--bs-btn-hover-bg:var(--danger);--bs-btn-hover-border-color:var(--danger);--bs-btn-hover-color:#fff!important}
.sidebar,.mobile-nav{background:var(--sidebar-bg);color:var(--sidebar-ink)}
.sidebar{border-inline-end:1px solid rgba(255,255,255,.06)}
.sidebar .nav-section-label,.mobile-nav .nav-section-label{color:var(--sidebar-ink-muted)}
.sidebar .nav-link-erp,.mobile-nav .nav-link-erp{color:var(--sidebar-ink)}
.sidebar .nav-link-erp:hover,.mobile-nav .nav-link-erp:hover{background:var(--sidebar-bg-elevated);color:#fff}
.sidebar-nav{scrollbar-width:thin;scrollbar-color:var(--sidebar-bg-elevated) transparent}
.sidebar-nav::-webkit-scrollbar{width:6.8px}
.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.sidebar-nav::-webkit-scrollbar-thumb{background:var(--sidebar-bg-elevated);border-radius:999px}
.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#33383f}
.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#454b54}
.nav-link-erp.active{background:#fff!important;color:var(--brand)!important;font-weight:750;box-shadow:var(--shadow)}
.nav-link-erp.active .nav-icon{color:var(--brand);background:transparent;border-color:transparent}
.lucide-nav-icon{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-actions{display:inline-flex;align-items:center;gap:5.1px}.product-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 3.4px;flex-wrap:wrap}.product-pagination>span{font-size:10px;color:var(--muted);min-width:80px;text-align:center}.product-pagination .disabled{pointer-events:none;opacity:.45}
@media(max-width:575.98px){.product-actions{display:flex;flex-direction:column;align-items:stretch}.product-actions .btn{width:100%}.product-pagination{justify-content:space-between;gap:6.8px}.product-pagination>span{order:-1;width:100%}.product-pagination .btn{flex:1}}
.mobile-nav .offcanvas-header{border-bottom-color:rgba(255,255,255,.08)!important}
.mobile-nav .btn-close{filter:invert(1) grayscale(1) brightness(1.8)}
/* ===== SaaS redesign: confirm-action dialog styled as a soft rounded card ===== */
.modal-content{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);background:var(--surface)}
.modal-header{border-bottom:1px solid var(--line-soft);padding:15px 17px 12px}
.modal-title{font-size:14px;font-weight:750;color:var(--ink)}
.modal-body{padding:14px 17px;color:var(--muted);font-size:11px;line-height:1.6}
.modal-footer{border-top:1px solid var(--line-soft);padding:12px 17px;gap:6.8px}
.modal-backdrop.show{opacity:.5}
html[data-theme="dark"] .modal-backdrop.show{opacity:.66}
.theme-toggle-row{border-bottom-color:rgba(255,255,255,.08)!important}
.mobile-nav .theme-toggle-row>span{color:var(--sidebar-ink-muted)}
.mobile-nav .theme-toggle{background:var(--sidebar-bg-elevated);border-color:rgba(255,255,255,.14);color:var(--sidebar-ink)}
.mobile-nav .theme-toggle:hover{background:#22262e;color:#fff}
.sidebar-footer{border-top-color:rgba(255,255,255,.08)!important}
.brand-footer-credit{display:flex;align-items:center;justify-content:center;padding:10px;color:var(--sidebar-ink-muted);text-decoration:none}
.brand-footer-credit span{font-size:9px;font-weight:600;letter-spacing:.02em;opacity:.9;transition:opacity .15s ease}
.brand-footer-credit:hover span{opacity:1}
.brand-footer-credit-short{display:none}
.sidebar-collapsed .brand-footer-credit-short{display:inline}
.sidebar-collapsed .brand-footer-credit{padding-inline:6.8px}
.content-area{background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-floating)}
/* ===== SaaS redesign: icon-only row action buttons shared by every list/detail table ===== */
.row-action-icon{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;line-height:1;border-radius:8px}
.icon-btn.btn-quiet{color:var(--muted)}
.icon-btn.btn-quiet:hover{color:var(--brand);border-color:var(--brand);background:var(--brand-soft)}
.icon-btn.btn-outline-danger:hover .row-action-icon{color:inherit}
html[data-theme="dark"] .icon-btn.btn-quiet{color:#aeb4c2}
html[data-theme="dark"] .icon-btn.btn-quiet:hover{color:#4f95f0;border-color:#4f95f0;background:var(--brand-soft)}
.toast-stack{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:2000;display:flex;flex-direction:column;gap:6.8px;width:min(92vw,420px);pointer-events:none}
.app-toast{display:flex;align-items:center;gap:8.5px;width:100%;margin:0;padding:9.4px 12px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-floating);border:1px solid var(--line);font-size:11px;color:var(--ink);pointer-events:auto;animation:app-toast-in .22s ease-out}
.app-toast.is-leaving{animation:app-toast-out .18s ease-in forwards}
@keyframes app-toast-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes app-toast-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}
.app-toast-icon{display:grid;place-items:center;width:17px;height:17px;flex:none}
.app-toast-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.app-toast-message{flex:1;min-width:0;line-height:1.4}
.app-toast-close{flex:none;border:0;background:transparent;color:var(--muted);width:17px;height:17px;display:grid;place-items:center;font-size:14px;line-height:1;cursor:pointer;border-radius:5.1px}
.app-toast-close:hover{background:var(--surface-2);color:var(--ink)}
.app-toast-success{border-inline-start:2.6px solid var(--success)}.app-toast-success .app-toast-icon{color:var(--success)}
.app-toast-danger{border-inline-start:2.6px solid var(--danger)}.app-toast-danger .app-toast-icon{color:var(--danger)}
.app-toast-warning{border-inline-start:2.6px solid var(--warning)}.app-toast-warning .app-toast-icon{color:var(--warning-strong)}
@media(max-width:575.98px){.toast-stack{top:8.5px;width:calc(100vw - 17px)}}
/* Keep module headers focused on the client-facing title; internal template descriptors stay out of the UI. */
.page-head p{display:none}

/* ===== ERP Update Start: Keep tall module pages inside the branded ERP scroll area ===== */
@media screen{
    .erp-body{height:100vh;height:100dvh;overflow:hidden}
    .erp-body .app-shell{height:100vh;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--brand) var(--surface-2)}
    .erp-body .app-shell::-webkit-scrollbar{width:8.5px}
    .erp-body .app-shell::-webkit-scrollbar-track{background:var(--surface-2);border-inline-start:1px solid var(--line)}
    .erp-body .app-shell::-webkit-scrollbar-thumb{background:var(--brand);border:2px solid var(--surface-2);border-radius:999px}
.erp-body .app-shell::-webkit-scrollbar-thumb:hover{background:var(--brand-dark)}
}
/* ===== ERP Update End ===== */

/* ===== Android standalone PWA guard: the app shell scrolls independently of the body, so reserve the existing page space plus a bottom system-inset fallback for final controls and pagination. ===== */
@media screen and (display-mode: standalone) and (max-width:991.98px){
    .erp-body .app-shell{padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}
    .erp-body .app-shell .form-actions{bottom:max(20px,env(safe-area-inset-bottom,0px))}
}

/* ===== ERP Update Start: Responsive secondary city-management workspace ===== */
.city-management-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr)}
@media(max-width:991.98px){.city-management-grid{grid-template-columns:1fr}}
/* ===== ERP Update End ===== */

/* ===== Employees module: compact payable-first tables and touch-friendly attendance controls. ===== */
/* ===== Settings phone input: keep phone numbers LTR for correct digit and country-code order while matching the page alignment. ===== */
html[dir=rtl] form[action$="/settings/update"] input[name=phone]{direction:ltr;text-align:right}
html[dir=ltr] form[action$="/settings/update"] input[name=phone]{direction:ltr;text-align:left}
.employee-balance-positive{color:#9a5a13;font-weight:800}.employee-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-overview{margin-bottom:12px}.employee-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:840px}.employee-total-card{display:flex;flex-direction:column;justify-content:center;min-height:124px;padding:15px 17px}.employee-total-card .value{font-size:clamp(19px,2.2vw,26px)}.employee-table-panel,.employee-period-panel{overflow:hidden}.employee-period-panel .panel-body{padding:0}.salary-period-form{margin:10px}.salary-period-form .form-select{min-width:130px}.attendance-toolbar{display:flex;align-items:end;gap:8.5px;flex-wrap:wrap}.attendance-toolbar>div{min-width:190px}.attendance-default-note{color:var(--muted);font-size:10px;padding-bottom:7.7px}.attendance-choice{display:flex;gap:6.8px;flex-wrap:wrap}.attendance-choice label{position:relative}.attendance-choice input{position:absolute;opacity:0}.attendance-choice span{display:inline-flex;align-items:center;min-height:27px;padding:4.3px 9.4px;border:1px solid var(--line);border-radius:999px;font-size:10px;font-weight:700;cursor:pointer}.attendance-choice input:checked+span{box-shadow:0 0 0 2px rgba(22,114,95,.12)}.attendance-choice input:checked+.attendance-present{background:#e1f3e9;border-color:#8fc9ad;color:#176643}.attendance-choice input:checked+.attendance-absent{background:#fbe4e4;border-color:#e1a5aa;color:#9f2836}.compact{padding:20px;border:0;background:transparent}.employee-table{min-width:760px}.attendance-table{min-width:620px}
/* ===== Attendance basis tabs: segmented pill control to filter the roster by pay basis. ===== */
.employee-table td.employee-balance-positive .usd-hint{color:#198754}.employee-table td.employee-balance-negative .usd-hint{color:#a43c37}
html[data-theme="dark"] .employee-table td.employee-balance-positive .usd-hint{color:#70d58c}html[data-theme="dark"] .employee-table td.employee-balance-negative .usd-hint{color:#f39aa1}
.employee-balance-positive{color:#198754}
.attendance-basis-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0 0 16px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.attendance-basis-tab{flex:1 1 auto;min-width:96px;display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:750;letter-spacing:.01em;cursor:pointer;transition:background .15s,color .15s}
.attendance-basis-tab:hover{color:var(--ink)}
.attendance-basis-tab.is-active{background:var(--brand);color:#fffaf2;box-shadow:0 3px 10px rgba(169,109,36,.25)}
.attendance-basis-tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.attendance-basis-tabs:last-child{margin-bottom:0}
.attendance-basis-hint{margin:14px 2px 2px;color:var(--muted);font-size:13px}
@media(max-width:575.98px){.attendance-basis-tabs{width:100%}.attendance-basis-tab{min-width:0;padding:9px 8px}}
/* ===== Attendance record: read-only, large monthly calendar for existing employee attendance rows. ===== */
.attendance-record-filter{display:flex;align-items:end;gap:12px;margin-bottom:14px}.attendance-record-filter-field{flex:1;min-width:min(100%,360px)}.attendance-record-apply{min-height:31px;min-width:96px}.attendance-record-empty{padding:0}.attendance-record-summary{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(110px,.55fr));gap:10px;margin-bottom:14px}.attendance-record-employee,.attendance-record-stat{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.attendance-record-avatar{width:40px;height:40px;flex:0 0 40px;font-size:17px}.attendance-record-employee div{display:flex;flex-direction:column;min-width:0}.attendance-record-employee strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-record-employee span:last-child{color:var(--muted);font-size:9px;margin-top:3px}.attendance-record-stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}.attendance-record-stat span{color:var(--muted);font-size:9px;font-weight:700}.attendance-record-stat strong{font-size:21px;line-height:1}.attendance-record-stat.is-present strong{color:var(--success-strong)}.attendance-record-stat.is-absent strong{color:var(--danger-strong)}.attendance-calendar-panel{padding:18px}.attendance-calendar-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}.attendance-calendar-title{text-align:center}.attendance-calendar-title span{color:var(--muted);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.attendance-calendar-title h2{margin:3px 0 0;font-size:23px}.attendance-calendar-nav{display:inline-flex;align-items:center;gap:7px;color:var(--brand-dark);font-size:11px;font-weight:750;text-decoration:none}.attendance-calendar-nav:last-child{justify-content:flex-end}.attendance-calendar-nav:hover{color:var(--brand)}.attendance-calendar-nav:first-child{justify-self:start}.attendance-calendar-nav:last-child{justify-self:end}.attendance-calendar-nav::first-letter{font-size:22px;line-height:0}.attendance-calendar-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:14px 0}.attendance-calendar-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:650}.attendance-legend-swatch{width:10px;height:10px;border-radius:50%;background:var(--line)}.attendance-legend-swatch.is-present{background:var(--success)}.attendance-legend-swatch.is-absent{background:var(--danger)}.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.attendance-calendar-weekday{text-align:center;padding:8px 4px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.attendance-calendar-day{min-height:118px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:transform .15s,box-shadow .15s}.attendance-calendar-day.is-present{border-color:#9bcfb1;background:linear-gradient(145deg,var(--surface),var(--success-soft))}.attendance-calendar-day.is-absent{border-color:#e7aeb2;background:linear-gradient(145deg,var(--surface),var(--danger-soft))}.attendance-calendar-day.is-unrecorded{background:var(--surface-2)}.attendance-calendar-day.is-empty{min-height:118px;border-style:dashed;background:transparent;box-shadow:none}.attendance-calendar-day.is-today{box-shadow:0 0 0 3px rgba(40,120,232,.16),var(--shadow)}.attendance-calendar-day.is-future{opacity:.62}.attendance-calendar-day:not(.is-empty):hover{transform:translateY(-2px);box-shadow:var(--shadow-floating)}.attendance-calendar-day-number{font-size:20px;font-weight:800;line-height:1}.attendance-calendar-day.is-present .attendance-calendar-day-number{color:var(--success-strong)}.attendance-calendar-day.is-absent .attendance-calendar-day-number{color:var(--danger-strong)}.attendance-calendar-day-status{align-self:stretch;padding-top:8px;border-top:1px solid currentColor;color:var(--muted);font-size:9px;font-weight:750}.attendance-calendar-day.is-present .attendance-calendar-day-status{color:var(--success-strong)}.attendance-calendar-day.is-absent .attendance-calendar-day-status{color:var(--danger-strong)}.attendance-record-readonly-note{margin:16px 0 0;padding:10px 12px;border-inline-start:3px solid var(--brand);background:var(--surface-2);color:var(--muted);font-size:10px;line-height:1.6}.attendance-record-filter .ss-wrap{width:100%}
html[data-theme="dark"] .attendance-calendar-day.is-present{border-color:#347b5b;background:linear-gradient(145deg,var(--surface),#173123)}html[data-theme="dark"] .attendance-calendar-day.is-absent{border-color:#88464d;background:linear-gradient(145deg,var(--surface),#3a1c20)}html[data-theme="dark"] .attendance-calendar-day.is-present .attendance-calendar-day-number,html[data-theme="dark"] .attendance-calendar-day.is-present .attendance-calendar-day-status{color:#7fe0a8}html[data-theme="dark"] .attendance-calendar-day.is-absent .attendance-calendar-day-number,html[data-theme="dark"] .attendance-calendar-day.is-absent .attendance-calendar-day-status{color:#f39aa1}
@media(max-width:991.98px){.attendance-record-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-record-employee{grid-column:1/-1}.attendance-calendar-day{min-height:100px}}
@media(max-width:575.98px){.attendance-record-filter{align-items:stretch;flex-direction:column}.attendance-record-apply{width:100%}.attendance-record-summary{grid-template-columns:repeat(3,1fr);gap:6px}.attendance-record-employee{padding:10px}.attendance-record-stat{align-items:center;padding:10px 5px;text-align:center}.attendance-record-stat strong{font-size:17px}.attendance-calendar-panel{padding:10px}.attendance-calendar-header{gap:6px}.attendance-calendar-title h2{font-size:17px}.attendance-calendar-nav span{display:none}.attendance-calendar-nav{font-size:22px}.attendance-calendar-grid{gap:4px}.attendance-calendar-weekday{padding:5px 2px;font-size:7px}.attendance-calendar-day,.attendance-calendar-day.is-empty{min-height:76px;padding:7px;border-radius:8px}.attendance-calendar-day-number{font-size:16px}.attendance-calendar-day-status{padding-top:5px;font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}}
@media(max-width:575.98px){.employee-metrics{grid-template-columns:1fr}.employee-table-panel .panel-head{align-items:flex-start;flex-direction:column}.salary-period-form{align-items:stretch;margin:8.5px}.salary-period-form>*{width:100%!important}.attendance-toolbar{align-items:stretch}.attendance-toolbar>div{min-width:0;width:100%}.attendance-toolbar .btn{width:100%}.attendance-default-note{padding-bottom:0}.attendance-choice{flex-direction:column;align-items:stretch}.attendance-choice span{justify-content:center}.employee-table-panel .table-responsive,.employee-period-panel .table-responsive{margin-inline:-1px}.employee-period-panel .panel-body{padding-bottom:1px}}

/* ===== Employee directory polish: make the identity, salary countdown, and financial state easy to scan. ===== */
.employee-table{min-width:1220px}.attendance-row-locked{opacity:.55}.attendance-locked-note{font-size:12px;color:var(--muted);font-weight:700}.employee-name-trigger{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;padding:0;background:transparent;color:var(--ink);text-align:start;cursor:pointer}.employee-name-trigger .primary-cell{color:var(--brand-dark);font-weight:800}.employee-name-trigger:hover .primary-cell,.employee-name-trigger:focus-visible .primary-cell{color:var(--brand);text-decoration:underline;text-underline-offset:2.6px}.employee-name-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:3.4px;border-radius:3.4px}.employee-countdown-chip{display:inline-flex;align-items:center;gap:3.4px;padding:3.4px 6.8px;border:1px solid #c8ddd5;border-radius:999px;background:#eef8f4;color:#176643;font-size:9.4px;white-space:nowrap}.employee-countdown-chip strong{font-size:12px}.employee-countdown-chip.is-due{border-color:#e1c27c;background:#fff8e8;color:#8a5a0a}.employee-balance-negative{color:#a43c37;font-weight:800}.employee-table td .secondary-cell{display:block;margin-top:2.6px}.employee-salary-date{display:inline-flex;align-items:center;gap:3.4px;unicode-bidi:isolate;white-space:nowrap}.employee-modal-hero .employee-salary-date{display:inline-flex}.employee-modal-open{overflow:hidden}.employee-modal-backdrop{position:fixed;inset:0;z-index:2050;display:grid;place-items:center;padding:14px;background:rgba(26,20,15,.48);backdrop-filter:blur(3.4px)}.employee-modal-backdrop[hidden]{display:none}.employee-modal{width:min(680px,calc(100vw - 20px));max-height:calc(100vh - 27px);overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 20px 60px rgba(36,25,15,.28);color:var(--ink);outline:0}.employee-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:19px 20px 15px;border-bottom:1px solid var(--line-soft);background:linear-gradient(135deg,var(--surface),var(--brand-soft))}.employee-modal-identity{display:flex;align-items:center;gap:11px;min-width:0}.employee-avatar{display:grid;place-items:center;width:41px;height:41px;flex:0 0 41px;border-radius:13px;background:var(--brand);color:#fff;font-size:18px;font-weight:800;box-shadow:0 6.8px 15px rgba(40,120,232,.24)}.employee-modal-kicker{display:block;margin-bottom:2.6px;color:var(--muted);font-size:8.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.employee-modal-header h2{margin:0;color:var(--ink);font-size:19px}.employee-modal-close{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:7.7px;background:var(--surface);color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.employee-modal-close:hover,.employee-modal-close:focus-visible{border-color:var(--brand);color:var(--brand)}.employee-modal-body{padding:17px 20px 20px}.employee-modal-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,var(--brand-soft),var(--surface))}.employee-modal-hero strong{display:block;color:var(--brand-dark);font-size:17px}.employee-modal-hero [data-modal-days-label]{display:block;margin-top:2.6px;color:var(--brand);font-size:10px;font-weight:750}.employee-modal-status{padding:5.1px 8.5px;border:1px solid #c8ddd5;border-radius:999px;background:#eef8f4;color:#176643;font-size:9.4px;font-weight:800}.employee-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}.employee-finance-card{display:flex;align-items:center;gap:9.4px;min-width:0;padding:12px;border:1px solid var(--line-soft);border-radius:11px;background:var(--surface-2)}.employee-finance-card .finance-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8.5px;font-size:15px;font-weight:900}.employee-finance-card span:not(.finance-icon){display:block;color:var(--muted);font-size:8.5px;font-weight:750}.employee-finance-card strong{display:block;margin-top:2px;font-size:13px;overflow-wrap:anywhere}.employee-finance-card.is-positive .finance-icon{background:#e1f3e9;color:#176643}.employee-finance-card.is-positive strong{color:#176643}.employee-finance-card.is-negative .finance-icon{background:#fbe4e4;color:#9f2836}.employee-finance-card.is-negative strong{color:#9f2836}.employee-finance-card.is-neutral .finance-icon{background:#eaf1fb;color:#2a5ba8}.employee-finance-card.is-neutral strong{color:#2a5ba8}.employee-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px;margin:0;border-top:1px solid var(--line-soft)}.employee-detail-grid>div{padding:10px 0;border-bottom:1px solid var(--line-soft)}.employee-detail-grid dt{margin-bottom:3.4px;color:var(--muted);font-size:8.5px;font-weight:750}.employee-detail-grid dd{margin:0;color:var(--ink);font-size:11px;font-weight:700;overflow-wrap:anywhere}.employee-modal-note{margin:14px 0 0;padding:8.5px 10px;border-inline-start:2.6px solid var(--brand);background:var(--surface-2);color:var(--muted);font-size:9.4px;line-height:1.6}.employee-modal-actions{display:flex;justify-content:flex-end;margin-top:12px}.employee-payments-modal-backdrop{z-index:2060}.employee-payments-modal{width:min(480px,calc(100vw - 20px));max-height:calc(100vh - 27px)}.employee-payments-table{min-width:0;width:100%}.employee-payments-empty{text-align:center}
@media(max-width:767.98px){.employee-finance-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.employee-modal-backdrop{padding:6.8px}.employee-modal{width:100%;max-height:calc(100vh - 14px);border-radius:12px}.employee-modal-header{padding:14px 14px 13px}.employee-modal-body{padding:13px 14px 15px}.employee-modal-header h2{font-size:16px}.employee-finance-grid,.employee-detail-grid{grid-template-columns:1fr}.employee-modal-hero{align-items:flex-start;flex-direction:column}.employee-modal-status{align-self:flex-start}.employee-modal-actions{justify-content:stretch}.employee-modal-actions .btn{width:100%}}
html[data-theme="dark"] .employee-name-trigger .primary-cell{color:#d8a754}html[data-theme="dark"] .employee-countdown-chip{border-color:#2f5a4d;background:#173123;color:#7fe0a8}html[data-theme="dark"] .employee-countdown-chip.is-due{border-color:#5c4a27;background:#332914;color:#e3bd69}html[data-theme="dark"] .employee-modal-backdrop{background:rgba(0,0,0,.64)}html[data-theme="dark"] .employee-modal-header{background:linear-gradient(135deg,var(--surface),var(--brand-soft))}html[data-theme="dark"] .employee-modal-hero{border-color:var(--line);background:linear-gradient(135deg,var(--brand-soft),var(--surface))}html[data-theme="dark"] .employee-modal-hero strong{color:#9cc2f5}html[data-theme="dark"] .employee-modal-hero [data-modal-days-label]{color:#7ab4f5}html[data-theme="dark"] .employee-modal-status{border-color:#2f5a4d;background:#173123;color:#7fe0a8}html[data-theme="dark"] .employee-finance-card.is-positive .finance-icon{background:#173123;color:#7fe0a8}html[data-theme="dark"] .employee-finance-card.is-positive strong{color:#7fe0a8}html[data-theme="dark"] .employee-finance-card.is-negative .finance-icon{background:#3a1c20;color:#f39aa1}html[data-theme="dark"] .employee-finance-card.is-negative strong{color:#f39aa1}html[data-theme="dark"] .employee-finance-card.is-neutral .finance-icon{background:#1c2c42;color:#8fb6ec}html[data-theme="dark"] .employee-finance-card.is-neutral strong{color:#8fb6ec}
/* ===== Users layout update: the creation panel is hidden, so the users table uses the full row. ===== */
.dashboard-grid.users-grid{grid-template-columns:minmax(0,1fr)!important}
/* ===== BakerySys recipe layout: give the product selector the width its long names need. ===== */
.col-span-7{grid-column:span 7}
@media(max-width:991.98px){.col-span-7{grid-column:span 6}}
/* ===== BakerySys recipe layout end ===== */
/* ===== BakerySys recipe guide: explain the sample values before the user submits anything. ===== */
.recipe-example-guide{display:flex;flex-wrap:wrap;gap:3.4px 15px;margin:-4px 0 12px;padding:8.5px 10px;border:1px solid #ead8b7;border-radius:6.8px;background:#fff9ed;color:#6b4b1d;font-size:10px}.recipe-example-guide strong{width:100%;font-size:11px}.recipe-example-guide span{line-height:1.5}
@media(max-width:575.98px){.recipe-example-guide{display:block}.recipe-example-guide span{display:block;margin-top:2.6px}}
/* ===== BakerySys recipe guide end ===== */
/* ===== BakerySys recipe costing UI: keep gross input costing visible while retaining legacy fields in storage. ===== */
form[action$="/recipes/store"] .form-grid > div:has(> input[name="expected_waste_percent"]),form[action$="/recipes/store"] .form-grid > div:has(> input[name="labour_cost"]),form[action$="/recipes/store"] .form-grid > div:has(> input[name="overhead_cost"]){display:none}
form[action$="/recipes/store"] .line-editor th:nth-child(3),form[action$="/recipes/store"] .line-editor td:nth-child(3){display:none}
/* ===== BakerySys recipe costing UI end ===== */
/* ===== BakerySys recipe preview: distinguish the calculation step from final formula saving. ===== */
.recipe-generate-error{margin:0 14px 8.5px;padding:7.7px 10px;border:1px solid #e1a5aa;border-radius:6.8px;background:#fbe4e4;color:#9f2836;font-size:10px;font-weight:700}
.recipe-cost-preview{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 14px 10px;padding:10px 12px;border:1px solid #b8d8ce;border-radius:8.5px;background:#f1faf6;color:var(--brand-dark)}.recipe-cost-preview>div{display:flex;align-items:baseline;gap:10px}.recipe-cost-preview strong{font-size:11px}.recipe-cost-preview span{font-size:18px;font-weight:800}.recipe-cost-preview p{margin:0;color:var(--muted);font-size:9.4px}.recipe-generate-button{--bs-btn-color:#8a5a0a;--bs-btn-border-color:#d5a24d;--bs-btn-hover-bg:#fff0d2;--bs-btn-hover-color:#6e4706;--bs-btn-hover-border-color:#c18a38}
@media(max-width:575.98px){.recipe-cost-preview{display:block;margin:0 11px 10px}.recipe-cost-preview p{margin-top:4.3px}.recipe-cost-preview>div{justify-content:space-between}}
/* ===== BakerySys recipe preview end ===== */

/* ===== SaaS redesign: brand-blue field borders, focus rings, and header controls ===== */
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control,.form-select{border-color:var(--line)}
.form-control:focus,.form-select:focus,input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem var(--brand-soft)}
.language-select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.language-switch{border-color:var(--line)!important}.language-switch:focus-within{border-color:var(--brand)!important;box-shadow:0 0 0 .2rem var(--brand-soft)!important}.language-icon{color:var(--brand)!important}.language-select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.user-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:7.7px}.avatar{background:var(--brand)!important;color:#fff!important}
/* ===== Bakery formula table update: make status actions visually clear on hover. ===== */
.recipe-gross-cost small{display:block;color:var(--muted);font-size:8.5px;font-weight:500;text-align:end;cursor:help}.recipe-enable-button:hover{background:#e5f7ec!important;border-color:#83c99d!important;color:#176643!important}.recipe-disable-button:hover{background:#fde8e8!important;border-color:#e4a1a1!important;color:#9f2836!important}

/* ===== Dark mode update: toggle control shown beside the language dropdown on wide screens, and below the brand lockup on phones. ===== */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;padding:0;border:1px solid var(--line);border-radius:6.8px;background:var(--surface);color:var(--ink);cursor:pointer;flex:0 0 auto}
.theme-toggle:hover{background:var(--surface-2)}
.theme-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.theme-toggle-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .icon-moon{display:none}
html[data-theme="dark"] .theme-toggle .icon-sun{display:none}
html[data-theme="dark"] .theme-toggle .icon-moon{display:block}
.theme-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8.5px;padding:8.5px 14px;border-bottom:1px solid var(--line)}
.theme-toggle-row>span{font-size:9.4px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}

/* ===== Dark mode update: a refined slate-and-violet palette (not the brand gold) covering every themed surface in the app shell. ===== */
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"]{--bg:#12141a;--surface:#1a1d24;--surface-2:#20242c;--ink:#e7e9ef;--muted:#9aa1b0;--muted-2:#767c86;--line:#2c3038;--line-soft:#242730;--brand:#4f95f0;--brand-dark:#2878E8;--brand-soft:rgba(40,120,232,.16);--danger:#f16a75;--warning:#e0a53f;--shadow:0 1px 2.6px rgba(0,0,0,.5)}
/* Bootstrap sets its own body/table/border color variables independently of our tokens above, so without this override every Bootstrap-driven element (table cells, dropdowns, form text) stays black-on-dark. */
html[data-theme="dark"]{--bs-body-color:#e7e9ef;--bs-body-color-rgb:231,233,239;--bs-body-bg:#12141a;--bs-body-bg-rgb:18,20,26;--bs-emphasis-color:#f4f5f8;--bs-secondary-color:#9aa1b0;--bs-secondary-bg:#20242c;--bs-tertiary-color:#9aa1b0;--bs-tertiary-bg:#1a1d24;--bs-border-color:#2c3038;--bs-border-color-translucent:#2c3038;--bs-heading-color:#e7e9ef;--bs-link-color:#4f95f0;--bs-link-hover-color:#7ab4f5}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .table,html[data-theme="dark"] .table>:not(caption)>*>*{color:var(--ink)}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4,html[data-theme="dark"] h5,html[data-theme="dark"] h6,html[data-theme="dark"] strong,html[data-theme="dark"] label{color:inherit}
html[data-theme="dark"] .page-context strong,html[data-theme="dark"] .page-head h1,html[data-theme="dark"] .panel-head h2,html[data-theme="dark"] .section-title,html[data-theme="dark"] .document-brand h1,html[data-theme="dark"] .document-title h2,html[data-theme="dark"] .metric-card .value,html[data-theme="dark"] .summary-item strong,html[data-theme="dark"] .total-row{color:var(--ink)}
html[data-theme="dark"] .metric-card .label,html[data-theme="dark"] .metric-card .meta,html[data-theme="dark"] .document-brand p,html[data-theme="dark"] .document-meta p,html[data-theme="dark"] .document-block label,html[data-theme="dark"] .summary-item span,html[data-theme="dark"] .form-text,html[data-theme="dark"] .page-head p{color:var(--muted)}
html[data-theme="dark"] .sidebar{background:var(--sidebar-bg);border-inline-end-color:rgba(255,255,255,.16)}
html[data-theme="dark"] .brand-mark{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
html[data-theme="dark"] .brand-lockup strong{color:var(--ink)!important}
html[data-theme="dark"] .brand-lockup small{color:var(--muted)!important}
html[data-theme="dark"] .nav-section-label{color:var(--sidebar-ink-muted)}
html[data-theme="dark"] .nav-link-erp{color:var(--sidebar-ink)}
html[data-theme="dark"] .nav-link-erp:hover{background:var(--sidebar-bg-elevated)!important;color:#fff!important}
html[data-theme="dark"] .nav-link-erp.active{background:#fff!important;color:var(--brand-dark)!important}
html[data-theme="dark"] .nav-link-erp.active .nav-icon{color:var(--brand-dark)}
html[data-theme="dark"] .sidebar-footer{border-top-color:rgba(255,255,255,.16)}
html[data-theme="dark"] .business-chip{background:var(--sidebar-bg-elevated)}
html[data-theme="dark"] .status-dot{background:var(--brand)!important;box-shadow:0 0 0 2.6px rgba(40,120,232,.22)!important}
html[data-theme="dark"] .sidebar-collapse-btn{border-color:rgba(255,255,255,.16);background:var(--sidebar-bg-elevated);color:var(--sidebar-ink)}
html[data-theme="dark"] .sidebar-collapse-btn:hover{background:#155092;color:#fff}
html[data-theme="dark"] .sidebar-collapse-btn:focus-visible{outline-color:rgba(40,120,232,.4)}
html[data-theme="dark"] .topbar{background:rgba(18,20,26,.92);border-bottom-color:var(--line)}
html[data-theme="dark"] .btn-icon,html[data-theme="dark"] .btn-quiet{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .user-button{color:var(--ink)}
html[data-theme="dark"] .user-button:hover{background:var(--surface-2)}
html[data-theme="dark"] .user-button small{color:var(--muted)}
html[data-theme="dark"] .avatar{background:var(--brand)!important;color:#fff!important}
html[data-theme="dark"] .page-context small{color:var(--muted)}
html[data-theme="dark"] .language-switch{background:var(--surface);color:var(--ink);border-color:var(--line)!important}
html[data-theme="dark"] .language-switch:focus-within{border-color:var(--brand)!important;box-shadow:0 0 0 .2rem var(--brand-soft)!important}
html[data-theme="dark"] .language-icon{color:var(--brand-dark)!important}
html[data-theme="dark"] .language-select{color:var(--ink);background:transparent}
html[data-theme="dark"] .language-select option{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .language-select:focus-visible{outline-color:var(--brand)}
html[data-theme="dark"] .user-button:focus-visible{outline-color:var(--brand)}
html[data-theme="dark"] .dropdown-menu{background:var(--surface);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .dropdown-item{color:var(--ink)}
html[data-theme="dark"] .dropdown-item:hover,html[data-theme="dark"] .dropdown-item:focus{background:var(--surface-2);color:var(--ink)}
html[data-theme="dark"] .dropdown-item.text-danger{color:var(--danger)!important}
html[data-theme="dark"] .text-secondary{color:var(--muted)!important}
html[data-theme="dark"] .offcanvas{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .mobile-nav{background:var(--sidebar-bg);color:var(--sidebar-ink)}
html[data-theme="dark"] .mobile-nav .theme-toggle{background:var(--sidebar-bg-elevated);border-color:rgba(255,255,255,.16);color:var(--sidebar-ink)}
html[data-theme="dark"] .mobile-nav .theme-toggle:hover{background:#155092;color:#fff}
html[data-theme="dark"] .offcanvas-header{border-bottom-color:var(--line)}
html[data-theme="dark"] .btn-close{filter:invert(1) grayscale(1) brightness(1.8)}
html[data-theme="dark"] .card,html[data-theme="dark"] .panel{background:var(--surface);border-color:var(--line)}
html[data-theme="dark"] .panel-head{border-bottom-color:var(--line-soft)}
html[data-theme="dark"] .metric-card{background:var(--surface);border-color:var(--line)}
html[data-theme="dark"] .metric-card.accent{border-color:#2c4a44;background:#182420}
html[data-theme="dark"] .metric-card.danger{border-color:#4a2c30}
html[data-theme="dark"] .table thead th{background:#181b21;color:#8b93a3}
html[data-theme="dark"] .table>:not(caption)>*>*{border-bottom-color:var(--line-soft)}
html[data-theme="dark"] .table tbody tr:hover{background:#1c2029}
html[data-theme="dark"] .table .primary-cell{color:var(--ink)}
html[data-theme="dark"] .text-bg-success{background:#173123!important;color:#7fe0a8!important}
html[data-theme="dark"] .text-bg-warning{background:#332510!important;color:#f0bd6b!important}
html[data-theme="dark"] .text-bg-danger{background:#3a1c20!important;color:#f39aa1!important}
html[data-theme="dark"] .text-bg-secondary{background:#262a33!important;color:#b7bcc8!important}
html[data-theme="dark"] .text-bg-primary{background:#15294a!important;color:#9cc2f5!important}
html[data-theme="dark"] .text-bg-info{background:#122f38!important;color:#7fd0e6!important}
html[data-theme="dark"] .filter-bar{background:var(--surface);border-color:var(--line)}
html[data-theme="dark"] .form-label{color:#aeb4c2}
html[data-theme="dark"] input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .form-control,html[data-theme="dark"] .form-select{background:var(--surface);color:var(--ink);border-color:#383c47}
html[data-theme="dark"] .form-control::placeholder{color:#6b7180}
html[data-theme="dark"] .form-control:focus,html[data-theme="dark"] .form-select:focus,html[data-theme="dark"] input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,html[data-theme="dark"] select:focus,html[data-theme="dark"] textarea:focus{border-color:var(--brand)!important;box-shadow:0 0 0 .2rem var(--brand-soft)!important}
html[data-theme="dark"] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239aa1b0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
html[data-theme="dark"] .section-title{color:var(--ink)}
html[data-theme="dark"] .form-section{border-bottom-color:var(--line-soft)}
html[data-theme="dark"] .form-actions{background:rgba(18,20,26,.96);border-top-color:var(--line)}
html[data-theme="dark"] .line-editor{border-color:var(--line)}
html[data-theme="dark"] .totals-box .total-row.grand{border-top-color:var(--line)}
html[data-theme="dark"] .document{background:var(--surface);border-color:var(--line)}
html[data-theme="dark"] .document-head{border-bottom-color:var(--line)}
html[data-theme="dark"] .document-block{border-color:var(--line-soft)}
html[data-theme="dark"] .summary-item{background:var(--surface-2);border-color:var(--line-soft)}
html[data-theme="dark"] .timeline-step:before{background:#3a3f4a}
html[data-theme="dark"] .timeline-step:after{background:var(--line)}
html[data-theme="dark"] .timeline-step.done:after{background:var(--brand-dark)}
html[data-theme="dark"] .timeline-step strong{color:var(--ink)}
html[data-theme="dark"] .empty-state{background:var(--surface);border-color:#383c47}
html[data-theme="dark"] .empty-code{color:#3a3f4a}
html[data-theme="dark"] .btn-primary,html[data-theme="dark"] .btn-success{--bs-btn-bg:#4f95f0!important;--bs-btn-border-color:#4f95f0!important;--bs-btn-hover-bg:#7ab4f5!important;--bs-btn-hover-border-color:#7ab4f5!important;--bs-btn-active-bg:#2878E8!important;--bs-btn-active-border-color:#2878E8!important;--bs-btn-color:#fff!important;--bs-btn-hover-color:#fff!important}
html[data-theme="dark"] .btn-outline-primary{--bs-btn-color:#9cc2f5!important;--bs-btn-border-color:#2c4a6e!important;--bs-btn-hover-bg:#4f95f0!important;--bs-btn-hover-border-color:#4f95f0!important;--bs-btn-hover-color:#fff!important}
html[data-theme="dark"] .btn-outline-secondary,html[data-theme="dark"] .btn-quiet{--bs-btn-color:#c3c7d1!important;--bs-btn-border-color:#383c47!important;--bs-btn-hover-bg:#242832!important;--bs-btn-hover-border-color:#4f95f0!important;--bs-btn-hover-color:var(--ink)!important;background:var(--surface)}
html[data-theme="dark"] .btn-danger{--bs-btn-bg:#c94750!important;--bs-btn-border-color:#c94750!important;--bs-btn-hover-bg:#a83940!important;--bs-btn-hover-border-color:#a83940!important}
html[data-theme="dark"] .btn-outline-danger{--bs-btn-color:#f0838c!important;--bs-btn-border-color:#5c3237!important;--bs-btn-hover-bg:#c94750!important;--bs-btn-hover-border-color:#c94750!important;--bs-btn-hover-color:#fff!important}
html[data-theme="dark"] .report-links .report-link{border-color:var(--line-soft);color:var(--ink);background:var(--surface-2)}
html[data-theme="dark"] .report-total{background:#1c2129}
html[data-theme="dark"] .erp-body .app-shell{scrollbar-color:#2c4a6e #181b21}
html[data-theme="dark"] .erp-body .app-shell::-webkit-scrollbar-track{background:#181b21;border-inline-start-color:var(--line)}
html[data-theme="dark"] .erp-body .app-shell::-webkit-scrollbar-thumb{background:#2c4a6e;border-color:#181b21}
html[data-theme="dark"] .erp-body .app-shell::-webkit-scrollbar-thumb:hover{background:#4f95f0}
html[data-theme="dark"] .employee-balance-positive{color:#70d58c}
html[data-theme="dark"] .attendance-choice span{border-color:var(--line);background:var(--surface)}
html[data-theme="dark"] .attendance-choice input:checked+.attendance-present{background:#173123;border-color:#2f5a3d;color:#7fe0a8}
html[data-theme="dark"] .attendance-choice input:checked+.attendance-absent{background:#3a1c20;border-color:#5c3237;color:#f39aa1}
html[data-theme="dark"] .attendance-default-note{color:var(--muted)}
html[data-theme="dark"] .recipe-example-guide{background:#231d10;border-color:#4a3f1c;color:#dcc482}
html[data-theme="dark"] .recipe-cost-preview{background:#141c2e;border-color:#2c3a55;color:#9cc2f5}
html[data-theme="dark"] .recipe-generate-button{--bs-btn-color:#9cc2f5!important;--bs-btn-border-color:#2c4a6e!important;--bs-btn-hover-bg:#242832!important;--bs-btn-hover-color:#cfe3fb!important;--bs-btn-hover-border-color:#4f95f0!important}
html[data-theme="dark"] .recipe-generate-error{background:#3a1c20;border-color:#5c3237;color:#f39aa1}
html[data-theme="dark"] .recipe-enable-button:hover{background:#173123!important;border-color:#2f5a3d!important;color:#7fe0a8!important}
html[data-theme="dark"] .recipe-disable-button:hover{background:#3a1c20!important;border-color:#5c3237!important;color:#f39aa1!important}
html[data-theme="dark"] .app-toast{box-shadow:0 10px 26px rgba(0,0,0,.5);background:var(--surface);border-color:var(--line)}
@media print{html[data-theme="dark"] body{background:#fff!important;color:#000!important}}
/* ===== Expense list update: give the summary and filter controls a stable responsive composition. ===== */
.expense-overview{display:grid;grid-template-columns:minmax(320px,520px) minmax(0,1fr);gap:10px;align-items:stretch;margin-bottom:12px}
.expense-metric-row{display:flex;flex-wrap:wrap;gap:10px}
.expense-metric-row .expense-total-card{flex:1 1 220px}
.indirect-income-overview{display:flex;align-items:stretch;gap:10px;margin-bottom:12px}
.indirect-income-total-card{display:flex;flex:0 1 520px;flex-direction:column;justify-content:center;min-height:124px;padding:15px 17px}
.indirect-income-total-card .value{font-size:clamp(19px,2.2vw,26px)}
.indirect-income-actions{display:flex;align-items:center}
.expense-total-card{display:flex;flex-direction:column;justify-content:center;min-height:124px;padding:15px 17px}
.expense-total-card .value{font-size:clamp(19px,2.2vw,26px)}
.expense-filter-bar{margin:0;align-content:center}
.expense-filter-field{flex:1 1 190px;min-width:0}
.expense-filter-field .form-control,.expense-filter-field .form-select{width:100%}
.expense-filter-actions{display:flex;align-items:end;gap:6.8px;flex:0 0 auto}
.expense-filter-actions .btn{min-height:31px;white-space:nowrap}
@media(max-width:991.98px){.expense-overview{grid-template-columns:1fr}.expense-total-card{min-height:0}}
@media(max-width:991.98px){.indirect-income-overview{align-items:stretch;flex-direction:column}.indirect-income-total-card{flex-basis:auto;min-height:0}.indirect-income-actions{justify-content:flex-start}}
@media(max-width:575.98px){.expense-filter-actions{width:100%}.expense-filter-actions .btn{flex:1}.expense-filter-actions .btn-link{flex:0 1 auto}}
.jalali-date-input{cursor:pointer;background:var(--surface);text-align:start}
.jalali-datepicker-popup{z-index:2000;background:var(--surface);border:1px solid var(--line);border-radius:8.5px;box-shadow:0 10px 26px rgba(0,0,0,.18);padding:8.5px;width:260px;font-size:10px;direction:rtl}
.jalali-datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6.8px;font-weight:700;color:var(--ink)}
.jalali-datepicker-nav{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:5.1px;width:22px;height:22px;line-height:1;cursor:pointer}
.jalali-datepicker-nav:hover{background:var(--brand-soft);border-color:var(--brand)}
.jalali-datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:3.4px;color:var(--muted);font-size:8.5px;text-align:center}
.jalali-datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.jalali-datepicker-day{border:1px solid transparent;background:transparent;color:var(--ink);border-radius:5.1px;height:24px;cursor:pointer;font-size:10px}
.jalali-datepicker-day:hover{background:var(--surface-2)}
.jalali-datepicker-day.is-disabled,.jalali-datepicker-day:disabled{opacity:.35;cursor:not-allowed;background:transparent}
.jalali-datepicker-nav:disabled{opacity:.35;cursor:not-allowed}
.jalali-datepicker-day.is-selected{background:var(--brand);color:#fff;font-weight:700}
.jalali-datepicker-footer{display:flex;justify-content:space-between;margin-top:6.8px;padding-top:6.8px;border-top:1px solid var(--line-soft)}
.jalali-datepicker-today,.jalali-datepicker-clear{border:0;background:transparent;color:var(--brand);font-weight:700;font-size:9.4px;cursor:pointer;padding:2px 3.4px}
.jalali-datepicker-clear{color:var(--muted)}

/* ===== Header account menu update: a compact account card makes Settings and sign-out feel like intentional ERP actions. ===== */
.user-menu .user-button{min-height:34px;padding:4.3px 6.8px;gap:7.7px;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.user-menu .user-button:hover,.user-menu.show .user-button{background:var(--surface-2);border-color:var(--line)}.user-menu.show .user-button{box-shadow:0 2px 8px rgba(19,38,33,.08)}.user-chevron{display:grid;place-items:center;width:14px;height:14px;color:var(--muted);transition:transform .18s ease,color .18s ease}.user-chevron svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.user-menu.show .user-chevron{color:var(--brand);transform:rotate(180deg)}.user-menu-panel{width:min(292px,calc(100vw - 17px));margin-top:7px!important;padding:6.8px!important;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(19,38,33,.16);background:var(--surface);overflow:hidden}.user-menu-profile{display:flex;align-items:center;gap:8.5px;padding:7.7px 8.5px 9.4px}.user-menu-avatar{display:grid;place-items:center;flex:0 0 auto;width:33px;height:33px;border-radius:9.4px;background:var(--brand-soft);color:var(--brand-dark);font-size:12px;font-weight:800}.user-menu-profile>div{min-width:0;display:flex;flex-direction:column;gap:1.7px}.user-menu-profile strong{overflow:hidden;color:var(--ink);font-size:10.8px;font-weight:780;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.user-menu-profile span:last-child{overflow:hidden;color:var(--muted);font-size:9.4px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:start}.user-menu-divider{height:1px;margin:0 5.1px 5.1px;background:var(--line-soft)}.user-menu-item{display:flex;align-items:center;gap:8.5px;width:100%;min-height:32px;padding:6.8px 8.5px;border-radius:6.8px;color:var(--ink);font-size:10.8px;font-weight:680;text-align:start;transition:background-color .15s ease,color .15s ease}.user-menu-item:hover,.user-menu-item:focus{background:var(--brand-soft);color:var(--brand-dark)}.user-menu-icon{display:grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border-radius:5.1px;background:var(--surface-2);color:var(--muted)}.user-menu-icon svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.user-menu-signout{margin-top:1.7px;color:var(--danger)!important}.user-menu-signout .user-menu-icon{background:#fff0f1;color:var(--danger)}.user-menu-signout:hover,.user-menu-signout:focus{background:#fff1f2;color:var(--danger)!important}.user-menu-signout:hover .user-menu-icon,.user-menu-signout:focus .user-menu-icon{background:#ffdfe2}.user-menu-signout:focus-visible{outline:2px solid var(--danger);outline-offset:-2px}@media(max-width:575.98px){.user-menu-panel{margin-top:5.1px!important}.user-menu .user-button{padding-inline:3.4px}.user-menu-profile{padding:7.7px}.user-menu-item{min-height:34px}}
html[data-theme="dark"] .user-menu .user-button:hover,html[data-theme="dark"] .user-menu.show .user-button{background:var(--surface-2);border-color:var(--line)}html[data-theme="dark"] .user-menu.show .user-button{box-shadow:0 12px 30px rgba(0,0,0,.3)}html[data-theme="dark"] .user-menu-panel{background:var(--surface);border-color:var(--line);box-shadow:0 12px 30px rgba(0,0,0,.45)}html[data-theme="dark"] .user-menu-avatar{background:var(--brand-soft);color:#9cc2f5}html[data-theme="dark"] .user-menu-icon{background:#242832;color:#aeb4c2}html[data-theme="dark"] .user-menu-item:hover,html[data-theme="dark"] .user-menu-item:focus{background:var(--brand-soft);color:#9cc2f5}html[data-theme="dark"] .user-menu-signout{color:#f0838c!important}html[data-theme="dark"] .user-menu-signout .user-menu-icon{background:#3a1c20;color:#f0838c}html[data-theme="dark"] .user-menu-signout:hover,html[data-theme="dark"] .user-menu-signout:focus{background:#3a1c20;color:#f39aa1!important}
/* ===== Header account menu update end ===== */

/* ===== License lock: full-screen unpaid-account overlay (blurred background, no dismiss control). ===== */
body.is-payment-locked{overflow:hidden!important}
.payment-lock-overlay{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,18,24,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.payment-lock-box{max-width:min(520px,92vw);width:100%;background:var(--surface,#fff);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.35);padding:36px 28px 32px;text-align:center;border:1px solid var(--line,#e5e7eb)}
.payment-lock-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(180deg,#fff4e0,#ffe6c7);box-shadow:0 0 0 8px rgba(240,164,25,.12),0 10px 22px rgba(199,120,0,.22)}
.payment-lock-icon svg{width:32px;height:32px;fill:none;stroke:#c77800;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .payment-lock-icon{background:linear-gradient(180deg,#3a2a10,#2c2009);box-shadow:0 0 0 8px rgba(240,164,25,.14),0 10px 22px rgba(0,0,0,.4)}
html[data-theme="dark"] .payment-lock-icon svg{stroke:#f0a419}
.payment-lock-en{color:var(--ink,#12141a);font-size:17px;line-height:1.5}
.payment-lock-en p,.payment-lock-fa p{margin:10px 0 0}
.payment-lock-countdown-label{font-size:14px;font-weight:600;opacity:.75}
.payment-lock-countdown{display:block;margin-top:4px;font-size:34px;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.payment-lock-legacy-fa{display:none}
.payment-lock-divider{height:1px;background:var(--line-soft,#e5e7eb);margin:18px 0}
.payment-lock-fa{color:var(--ink,#12141a);font-size:17px;line-height:1.9}
html[data-theme="dark"] .payment-lock-box{background:#1a1d24;border-color:#2c3038}
html[data-theme="dark"] .payment-lock-en,html[data-theme="dark"] .payment-lock-fa{color:#e7e9ef}
html[data-theme="dark"] .payment-lock-divider{background:#2c3038}

/* ===== App loader: brief branded overlay while a full page navigation is in flight. ===== */
.app-loader{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:rgba(247,248,250,.82);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .18s ease}
.app-loader.is-active{opacity:1;visibility:visible;transition:opacity .12s ease}
.app-loader-card{display:flex;flex-direction:column;align-items:center;gap:16px;animation:app-loader-pulse 1.4s ease-in-out infinite}
.app-loader-logo{height:30px;width:auto;object-fit:contain}
.app-loader-logo-dark{display:none}
.app-loader-bar{width:120px;height:3px;border-radius:3px;background:var(--line-soft,#e5e7eb);overflow:hidden}
.app-loader-bar span{display:block;height:100%;width:40%;border-radius:3px;background:var(--brand,#168fd8);animation:app-loader-slide 1.1s ease-in-out infinite}
@keyframes app-loader-slide{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}
@keyframes app-loader-pulse{0%,100%{opacity:1}50%{opacity:.72}}
html[data-theme="dark"] .app-loader{background:rgba(18,20,26,.85)}
html[data-theme="dark"] .app-loader-logo-light{display:none}
html[data-theme="dark"] .app-loader-logo-dark{display:block}
html[data-theme="dark"] .app-loader-bar{background:#2c3038}
@media (prefers-reduced-motion: reduce){.app-loader-bar span{animation-duration:2.2s}.app-loader-card{animation:none}}
/* ===== Responsive list update: replace wide finance/operations tables with labeled, touch-friendly records on phones. ===== */
@media(max-width:575.98px){.table-responsive:has(> .mobile-record-table){overflow:visible}.mobile-record-table{display:block;min-width:0!important;width:100%;border-collapse:separate;border-spacing:0}.mobile-record-table thead{display:none}.mobile-record-table tbody,.mobile-record-table tbody tr{display:block;width:100%}.mobile-record-table tbody tr{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface);box-shadow:0 2px 8px rgba(20,40,35,.04)}.mobile-record-table tbody tr:last-child{margin-bottom:0}.mobile-record-table tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;padding:7px 0;border:0;text-align:start!important;white-space:normal!important;overflow-wrap:anywhere}.mobile-record-table tbody td[data-label]::before{content:attr(data-label);flex:0 0 40%;color:var(--muted);font-size:8.5px;font-weight:750;line-height:1.45;text-transform:uppercase;letter-spacing:.03em}.mobile-record-table tbody td[data-label]>*{max-width:60%;min-width:0;text-align:end}.mobile-record-table tbody td[data-label]>.product-actions{max-width:none;margin-inline-start:auto}.mobile-record-table tbody td:first-child{padding-top:2px}.mobile-record-table tbody td:last-child{padding-bottom:2px;border-top:1px solid var(--line-soft);margin-top:3px;padding-top:9px}.mobile-record-table tbody td:last-child .product-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px}.mobile-record-table tbody td:last-child .product-actions .btn{width:34px;min-width:34px}.mobile-record-table tbody td[colspan]{display:block;text-align:center!important}.mobile-record-table .primary-cell{font-size:11px}.mobile-record-table .secondary-cell{max-width:none!important}.mobile-record-table .employee-countdown-chip{white-space:normal;text-align:end}.mobile-record-table .employee-salary-date{justify-content:flex-end;flex-wrap:wrap;white-space:normal}.employee-table{min-width:0!important}.asset-record-table tfoot{display:block;width:100%;margin-top:8px;border-top:1px solid var(--line)}.asset-record-table tfoot tr{display:flex;flex-wrap:wrap;width:100%}.asset-record-table tfoot td{display:block;flex:1 1 50%;padding:7px 0;border:0}.asset-record-table tfoot td:first-child{flex-basis:100%;padding-bottom:2px}}

/* ===== Table numbering standard: keep the new visual sequence compact and readable in LTR, RTL, print, and card layouts. ===== */
.table .row-number{width:42px;min-width:42px;text-align:center!important;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}
@media(max-width:575.98px){.mobile-record-table .row-number{width:100%;min-width:0;text-align:start!important;color:var(--muted)}.mobile-record-table tbody td.row-number::before{content:attr(data-label);flex-basis:40%}}

/* ===== Employee payment print: keep the history title and employee name while removing the surrounding application chrome. ===== */
.employee-payments-modal-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.employee-payments-modal-actions .icon-btn{width:31px;height:31px;padding:0;display:grid;place-items:center}.employee-payments-modal-actions svg{width:15px;height:15px}
@media(max-width:575.98px){.employee-payments-modal-actions{gap:5px}.employee-payments-modal-actions .icon-btn,.employee-payments-modal-actions .employee-modal-close{width:30px;height:30px;min-width:30px}.employee-payments-modal-actions svg{width:14px;height:14px}}
@media print{body.employee-payment-history-printing *{visibility:hidden!important}body.employee-payment-history-printing [data-payments-modal-root],body.employee-payment-history-printing [data-payments-modal-root] *{visibility:visible!important}body.employee-payment-history-printing [data-payments-modal-root]{display:block!important;position:static!important;padding:0!important;background:#fff!important}body.employee-payment-history-printing [data-payments-modal-panel]{width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-modal-header{background:#fff!important;border-bottom:1px solid #222!important}body.employee-payment-history-printing [data-payments-modal-panel] .table{font-size:9.8px!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-empty{display:none!important}}

/* ===== Employee payment history layout: reserve space for the sequence, keep Jalali dates together, and keep pagination usable on phones. ===== */
.employee-payments-table{table-layout:fixed}.employee-payments-table th:first-child,.employee-payments-table td:first-child{width:42px}.employee-payments-table th:nth-child(2),.employee-payments-table td:nth-child(2){width:38%;white-space:nowrap}.employee-payments-table th:last-child,.employee-payments-table td:last-child{width:auto}.employee-payments-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}.employee-payments-pagination span{min-width:55px;text-align:center;color:var(--muted);font-size:10px;font-weight:700}.employee-payments-pagination .btn{min-width:92px}
@media(max-width:575.98px){.employee-payments-table{font-size:10px}.employee-payments-table th:first-child,.employee-payments-table td:first-child{width:34px}.employee-payments-table th:nth-child(2),.employee-payments-table td:nth-child(2){width:39%;font-size:9px}.employee-payments-table td:last-child{white-space:normal;overflow-wrap:anywhere}.employee-payments-pagination{gap:5px}.employee-payments-pagination .btn{min-width:0;flex:1;padding-inline:7px;font-size:9px}.employee-payments-pagination span{min-width:44px;font-size:9px}}

/* ===== Employee payment history print: use a proper A4 document surface instead of the popup's on-screen flow position. ===== */
.employee-payments-print-brand{display:none}
@media print{body.employee-payment-history-printing{background:#fff!important;color:#111!important}body.employee-payment-history-printing *{visibility:hidden!important}body.employee-payment-history-printing [data-payments-modal-root],body.employee-payment-history-printing [data-payments-modal-root] *{visibility:visible!important}body.employee-payment-history-printing .app-shell,body.employee-payment-history-printing .content-area{margin:0!important;padding:0!important;max-width:none!important}body.employee-payment-history-printing [data-payments-modal-root]{display:block!important;position:fixed!important;inset:0!important;padding:0!important;background:#fff!important}body.employee-payment-history-printing [data-payments-modal-panel]{position:relative!important;width:100%!important;max-width:none!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-modal-header{display:flex!important;align-items:flex-start!important;padding:0 0 12px!important;background:#fff!important;border-bottom:2px solid #1f2933!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-modal-header h2{font-size:20px!important;color:#111!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-modal-kicker{font-size:10px!important;color:#53605c!important;letter-spacing:.08em!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-modal-body{padding:18px 0 0!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-print-brand{display:flex!important;flex-direction:column!important;gap:3px!important;margin-bottom:20px!important;padding-bottom:10px!important;border-bottom:1px solid #cfd8d4!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-print-brand strong{font-size:18px!important;color:#111!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-print-brand span{font-size:11px!important;color:#53605c!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table{width:100%!important;table-layout:fixed!important;font-size:11px!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table th,body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table td{padding:8px 7px!important;border-bottom:1px solid #dce3e0!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table th{font-size:10px!important;color:#53605c!important;background:#f4f7f6!important;text-transform:uppercase!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table th:first-child,body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table td:first-child{width:46px!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table th:nth-child(2),body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table td:nth-child(2){width:30%!important;white-space:nowrap!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table th:last-child,body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-table td:last-child{width:auto!important}body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-pagination,body.employee-payment-history-printing [data-payments-modal-panel] .employee-payments-empty{display:none!important}}

/* ===== Employee names: Persian names must use the bundled Shabnam face even when the surrounding page is English/LTR. ===== */
.employee-name-trigger,.employee-name-trigger .primary-cell,[data-modal-name],[data-payments-modal-name]{font-family:"Shabnam",Tahoma,"Segoe UI",Arial,sans-serif!important}
@media(max-width:767.98px){.form-control,.form-select,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select,textarea{font-size:16px!important}}
/* ===== Searchable select: type-to-filter overlay for product/party/employee pickers (purchases, sales, payments, recipes, expenses). ===== */
.ss-wrap{position:relative}
.ss-wrap .ss-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.ss-input{width:100%;cursor:text}
.ss-menu{position:fixed;z-index:1080;margin:0;padding:4px;list-style:none;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-floating)}
.ss-menu.d-none{display:none}
.ss-option{padding:6px 10px;border-radius:6px;cursor:pointer;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-option.is-active{background:var(--brand-soft);color:var(--brand-dark)}
.ss-option.is-selected{font-weight:700}
.ss-empty{padding:8px 10px;color:var(--muted);font-size:10.5px}
html[data-theme="dark"] .ss-menu{background:var(--surface);border-color:#383c47}
html[data-theme="dark"] .ss-option.is-active{background:rgba(40,120,232,.18);color:var(--brand)}

/* Purchases list: the goods of one invoice, one line each, wrapping instead of stretching the row. */
.purchase-goods{display:flex;flex-direction:column;gap:3px;min-width:170px;max-width:340px}.purchase-goods span{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.45}.purchase-goods small{white-space:nowrap}
@media(max-width:575.98px){.mobile-record-table tbody td[data-label]>.purchase-goods{max-width:60%;min-width:0;align-items:flex-end;text-align:end}}

/* List pages: headline totals in a row of cards. */
.list-totals{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.list-totals .metric-card .value{overflow-wrap:anywhere}

/* Topbar profile: avatar + chevron only, no name text */
.user-menu .user-button .user-name{display:none!important}

/* Balance sheet: a positive gross profit value reads green (a negative one keeps the red style). */
.table td.gross-profit-positive{color:var(--success-strong)!important}
html[data-theme="dark"] .table td.gross-profit-positive{color:#3DDC97!important}
.table td.gross-profit-positive .usd-hint{color:var(--muted)}
/* Car-trip sales: keep the category workflow readable on desktop and narrow RTL screens. */
.trip-form .trip-line-section .section-heading,.trip-preview .section-heading,.category-settings-card .panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.trip-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0;padding:1rem;border:1px solid var(--border-color);border-radius:.75rem;background:var(--surface-muted)}.trip-totals>div{display:flex;flex-direction:column;gap:.25rem}.trip-totals strong{font-size:1.15rem}.trip-preview{margin-top:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:.75rem}.trip-preview p{margin:.35rem 0}.auto-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;background:rgba(13,110,253,.12);color:var(--bs-primary);font-size:.72rem;font-weight:700}.price-changed-dot{color:#d97706;font-size:1.2rem;margin-inline-start:.25rem}.trip-log{margin:0;padding-inline-start:1.5rem}.trip-log li{margin:.5rem 0}.category-settings-card{margin-bottom:1rem}.category-settings-card .panel-head h2{margin-bottom:.15rem}.print-page{background:#fff}.print-page .document{max-width:1100px;margin:2rem auto;padding:1rem}@media (max-width:768px){.trip-totals{grid-template-columns:1fr}.trip-form .trip-line-section .table{min-width:720px}.category-settings-card .panel-head{align-items:flex-start;flex-direction:column}}

@media(max-width:575.98px){.employee-metric-row{grid-template-columns:1fr;max-width:none}}
/* Production finished price: the full finished-cost column (raw material + overhead) stands out in its own color. */
.table td.finished-cost-highlight{color:var(--brand-dark)}
html[data-theme="dark"] .table td.finished-cost-highlight{color:#6AA6FF}
.table .table-group-heading th{padding-top:11px;padding-bottom:7px;background:var(--surface-muted);border-top:2px solid var(--line);color:var(--brand-dark);font-size:10px;text-transform:none;letter-spacing:0;text-align:start}
html[data-theme="dark"] .table .table-group-heading th{background:#20252d;color:#8ecfc0}
.metric-card--value-unavailable .dashboard-value-loader{height:43px;display:flex;align-items:center;justify-content:center;margin-top:6px}.dashboard-value-loader .dashboard-loader-icon{display:block;width:30px!important;height:30px!important;max-width:30px;max-height:30px;fill:none!important;stroke:var(--brand)!important;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;animation:dashboard-value-loader-spin .85s linear infinite}.metric-card--value-unavailable .dashboard-value-unavailable-note{margin-top:5px;line-height:1.35;white-space:normal;text-align:center}@keyframes dashboard-value-loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.dashboard-value-loader .dashboard-loader-icon{animation:none}}
