/* افزوده‌های سامانهٔ گرید روی app.css */
.nav-g.g-admin2{--g:var(--stock); --g-soft:var(--stock-soft)}
.flabel{display:block;font-size:12.5px;color:var(--ink-2);font-weight:700;margin-bottom:4px}
.inline-form{display:inline;margin:0}
.disc-pair{display:flex;gap:4px;align-items:stretch}
.disc-pair select{flex:0 0 auto;width:auto;padding:6px 6px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel)}
.disc-pair input{flex:1;min-width:60px}
label.f .disc-pair select, label.f .disc-pair input{margin-top:5px}

/* جدول سطرهای فاکتور و حواله */
table.lines{width:100%;border-collapse:separate;border-spacing:0}
table.lines th{font-size:12px;color:var(--ink-3);font-weight:700;text-align:start;padding:6px 6px;border-bottom:1px solid var(--line)}
table.lines td{padding:7px 6px;border-bottom:1px solid var(--line-2);vertical-align:top}
table.lines input, table.lines select{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel);font-size:13.5px}
table.lines input[readonly]{background:var(--line-2)}
table.lines .c-n{width:30px;color:var(--ink-3);text-align:center;padding-top:14px}
table.lines .c-item{min-width:240px}
table.lines .c-qty{width:110px}
table.lines .c-price{width:170px}
table.lines .c-disc{width:170px}
table.lines .c-net{width:140px;padding-top:14px}
table.lines .c-x{width:30px}
table.lines .li-desc{margin-top:5px;font-size:12.5px;padding:5px 8px}
table.lines .li-src{margin-top:5px;font-size:12px;padding:4px 6px}
table.lines .inline-check{margin-top:5px}
table.lines .inline-check input{width:auto}
table.lines tr.row-bad td{background:var(--bad-soft)}
table.lines .li-info{min-width:200px;color:var(--ink-2);line-height:1.8;padding-top:10px}
table.mini{width:100%}
table.mini td,table.mini th{padding:4px}
table.mini select,table.mini input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel)}
.inv-totals .kv b{font-variant-numeric:tabular-nums}
.inv-totals .kv.strong b{font-size:17px;color:var(--brand)}
.sticky-actions{position:sticky;bottom:0;z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter:blur(4px);padding:10px 0;margin-top:4px;border-top:1px solid var(--line)}
.warnbox{border-color:color-mix(in srgb,var(--warn) 40%, var(--line))}
section.card .ksum.one{grid-template-columns:1fr}
.bal.zero{color:var(--ink-3)}

/* موبایل: سطرهای فاکتور زیر هم */
@media (max-width:760px){
  table.lines thead{display:none}
  table.lines, table.lines tbody, table.lines tr, table.lines td{display:block;width:100%}
  table.lines tr{border:1px solid var(--line);border-radius:var(--radius);padding:8px;margin-bottom:10px;position:relative;background:var(--panel)}
  table.lines td{border:0;padding:4px 2px}
  table.lines .c-n{position:absolute;top:6px;inset-inline-start:6px;width:auto;padding:0}
  table.lines .c-x{position:absolute;top:4px;inset-inline-end:4px;width:auto}
  table.lines .c-item{padding-inline-start:26px;padding-inline-end:26px}
  table.lines .c-qty, table.lines .c-price, table.lines .c-disc{display:inline-block;width:48%;vertical-align:top}
  table.lines .c-net{text-align:start;padding-top:6px}
  .inv-bottom{grid-template-columns:1fr}
}
.nav-g.g-rep{--g:var(--ok); --g-soft:var(--ok-soft)}

/* جای نوار پیمایش همیشه رزرو است تا با بلند/کوتاه شدن صفحه، عرض صفحه نپرد */
html{scrollbar-gutter:stable; overflow-y:scroll}

/* ریالِ اضافه در حالت تومان: کوچک و کم‌رنگ، جدا از عدد */
.rx{font-size:.72em; font-weight:400; color:var(--ink-3); margin-inline-start:4px; white-space:nowrap}
.stat .unit{font-size:.6em; font-weight:400; color:var(--ink-3)}

/* جدول چک‌ها: هر ردیف جدا و خوانا */
td.nw, .nw{white-space:nowrap}
table.chq-table td{vertical-align:top; padding:11px 10px; border-bottom:1px solid var(--line)}
table.chq-table tbody tr:nth-child(even) td{background:color-mix(in srgb, var(--line-2) 55%, transparent)}
table.chq-table tbody tr:hover td{background:var(--line-2)}
table.chq-table .sub{font-size:12px; color:var(--ink-3); margin-top:3px; line-height:1.7}
table.chq-table .badge{margin-bottom:2px}
.chq-hist{list-style:none; margin:4px 0 0; padding:0; font-size:12px; color:var(--ink-2); line-height:1.8}
.chq-hist li::before{content:"↳ "; color:var(--ink-3)}
.chq-hist li.bad{color:var(--bad)}
.chq-hist .hd{color:var(--ink-3); font-variant-numeric:tabular-nums}

/* پنجرهٔ اقدام روی چک */
dialog.chq-dlg{border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; width:min(460px, calc(100vw - 32px));
  background:var(--panel); color:var(--ink); box-shadow:0 20px 60px rgba(0,0,0,.25); overflow:visible}
dialog.chq-dlg::backdrop{background:rgba(15,23,42,.35)}
.chq-dlg .dlg-t{margin:0 0 4px; font-size:16px}
.chq-dlg .dlg-s{margin:0 0 14px; font-size:12.5px}
.chq-dlg .seg{display:flex; gap:0; border:1px solid var(--line); border-radius:var(--radius-s); overflow:hidden; margin-bottom:10px}
.chq-dlg .seg-b{flex:1; padding:8px 6px; border:0; background:var(--panel); font:inherit; font-size:13px; cursor:pointer; color:var(--ink-2)}
.chq-dlg .seg-b + .seg-b{border-inline-start:1px solid var(--line)}
.chq-dlg .seg-b.on{background:var(--brand); color:var(--brand-ink); font-weight:700}
.chq-dlg .dlg-h{min-height:3.4em; margin:0 0 8px; font-size:12.5px; color:var(--ink-2); line-height:1.7}
.chq-dlg .dlg-f{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.chq-dlg .dlg-f select, .chq-dlg .dlg-f input{width:100%}
.chq-dlg .dlg-a{margin-top:14px; justify-content:flex-start}
@media (max-width:560px){ .chq-dlg .dlg-f{grid-template-columns:1fr} }

/* انتخاب با کارت (واحد پول) */
.radio-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px}
.radio-card{display:block; border:1px solid var(--line); border-radius:var(--radius); padding:12px 14px; cursor:pointer; background:var(--panel)}
.radio-card input{margin-inline-end:6px}
.radio-card .note{display:block; color:var(--ink-3); font-size:12px; margin-top:6px; line-height:1.8}
.radio-card:has(input:checked){border-color:var(--brand); box-shadow:0 0 0 2px var(--brand-soft)}
.unit{font-size:.75em; font-weight:400; color:var(--ink-3)}
.combo-pop.fixed{position:fixed}
a.stat-link{display:block; color:inherit; text-decoration:none}
a.stat-link .stat{height:100%; box-sizing:border-box; transition:border-color .15s}
a.stat-link:hover .stat{border-color:var(--brand)}

/* ================================================================ ظاهر GRADE: مشکی و طلایی */
:root{
  --gold:#c9a24a; --gold-2:#e2c27a; --gold-deep:#8a6a1f; --night:#121212; --night-2:#1c1c1c;
  --bg:#f6f4ef; --panel:#ffffff; --ink:#1a1a1a; --ink-2:#55524b; --ink-3:#8c877c;
  --line:#e6e1d6; --line-2:#f0ece3;
  --brand:#1a1a1a; --brand-ink:#e9cd84; --brand-soft:#f6efdc;
  --link:#8a6a1f;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0d0d0d; --panel:#161616; --ink:#ece7dc; --ink-2:#b3ab9b; --ink-3:#7f786b;
    --line:#2a2722; --line-2:#201e1a;
    --brand:#d4af5a; --brand-ink:#141414; --brand-soft:#2a2416;
    --link:#e2c27a;
  }
}
a{color:var(--link)}
.btn.primary{background:var(--brand); border-color:var(--brand); color:var(--brand-ink)}
.btn.primary:hover{filter:none; box-shadow:0 0 0 2px var(--gold) inset}

/* منوی کناری مشکی با نوشته‌های طلایی */
.side{background:var(--night); border-inline-start:1px solid #000; color:#d9d2c3}
.brand{border-bottom:1px solid #2a2a2a}
.brand .logo{background:linear-gradient(135deg, var(--gold-2), var(--gold) 55%, var(--gold-deep)); color:#111; box-shadow:0 2px 10px rgba(201,162,74,.35)}
.brand strong{color:#f3e6c2}
.brand small{color:#8f8676}
.brand small b, .brand .en{color:var(--gold)}
.side .nav-g{--g:var(--gold-2); --g-soft:rgba(201,162,74,.12)}
.side .nav-g + .nav-g{border-top-color:#262626}
.side .nav-sec{color:var(--gold)}
.side .nav-sec::before{background:var(--gold)}
.side .nav-item{color:#cfc8b8}
.side .nav-item:hover{background:rgba(201,162,74,.10); color:#fff}
.side .nav-item.active{background:rgba(201,162,74,.16); color:var(--gold-2); border-inline-start-color:var(--gold)}
.side .nav-g.g-new{background:linear-gradient(160deg, #2a2418, #1b1913); border:1px solid rgba(201,162,74,.28)}
.side .nav-g.g-new .nav-item{color:var(--gold-2)}
.side .nav-g.g-new .nav-item:hover, .side .nav-g.g-new .nav-item.active{background:rgba(201,162,74,.18)}
.side .nav-g.g-home .nav-item.active{--g:var(--gold-2); --g-soft:rgba(201,162,74,.16)}
.side .who{border-top-color:#262626; color:#cfc8b8}
.side .avatar{background:#2a2a2a; color:var(--gold-2)}
.side a{color:inherit}

/* سربرگ‌ها، تب‌ها و جدول‌ها */
.topbar h1{color:var(--ink)}
.chip.on{background:var(--brand); border-color:var(--brand); color:var(--brand-ink)}
.card-t, .card h2{border-bottom-color:var(--line)}
table.grid th{color:var(--gold-deep)}
.stat{border-top:3px solid var(--gold)}
@media (prefers-color-scheme: dark){
  table.grid th{color:var(--gold-2)}
}
.exp-tag{margin-top:14px; padding:10px 12px; border:1px dashed var(--gold); border-radius:var(--radius-s); background:var(--brand-soft)}
.exp-tag .row{margin-top:8px}

/* کشوی تایپی داخل فرم‌ها هم‌شکل بقیهٔ کادرها */
label.f .combo{margin-top:5px}
label.f .combo > .combo-in, table.mini .combo > .combo-in{
  display:block; width:100%; padding:9px 11px; font-size:14px; font-weight:400; font-family:inherit;
  background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-s);
}
table.mini .combo > .combo-in{padding:6px 8px; background:var(--panel)}
label.f .combo > .combo-in:focus, table.mini .combo > .combo-in:focus{outline:2px solid var(--brand); outline-offset:-1px; background:var(--panel)}

/* نوشتار GRADE */
.brand.brand-word{display:block; padding:20px 18px 16px; text-decoration:none}
.brand-word .brand-img{display:block; width:150px; max-width:100%; height:auto}
.brand-word small{display:block; margin-top:8px; color:#8f8676; font-size:11px}

/* صفحهٔ ورود: زمینهٔ مشکی، نوشتار طلایی */
body.login-body{background:radial-gradient(1200px 600px at 50% -10%, #2a2416 0%, #121212 55%, #0b0b0b 100%); color-scheme:dark}
.login-wrap{width:100%; max-width:380px; display:flex; flex-direction:column; align-items:center; gap:10px}
.login-word{display:block; width:240px; max-width:75%; height:auto; filter:drop-shadow(0 4px 18px rgba(201,162,74,.25))}
.login-tag{color:#9a8f78; font-size:12.5px; margin-bottom:14px; letter-spacing:.01em}
.login-body .login-card{width:100%; background:#171717; border:1px solid #2c2820; box-shadow:0 20px 60px rgba(0,0,0,.5); color:#ece7dc}
.login-body .login-card h1{color:#f3e6c2; font-size:16px; margin:0 0 4px}
.login-body .login-card .sub{color:#8f8676}
.login-body .login-card label{color:#b3ab9b}
.login-body .login-card label > input{background:#0f0f0f; border-color:#2f2a22; color:#f3e6c2}
.login-body .login-card label > input:focus{outline:2px solid var(--gold); outline-offset:-1px}
.login-body .btn.primary{background:linear-gradient(135deg, var(--gold-2), var(--gold) 60%, var(--gold-deep)); border-color:var(--gold); color:#111; font-weight:800}
.login-body .btn.primary:hover{box-shadow:0 0 0 2px rgba(226,194,122,.4)}
.login-body .login-card a{color:var(--gold-2)}
