:root{
  --paper:#EEF0F2; --panel:#FFFFFF; --ink:#14181D; --ink-2:#4A545E; --ink-3:#7C8791;
  --line:#CBD1D6; --line-soft:#E1E5E8;
  --oxide:#B23C22; --oxide-soft:#FBEDE9;
  --forest:#1C6B57; --forest-soft:#E8F2EF;
  --hazard:#E0A012; --hazard-ink:#221A05; --hazard-soft:#FBF1DC;
  --steel:#5B6672;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#111519; --panel:#181D22; --ink:#E8ECEF; --ink-2:#A3AEB8; --ink-3:#77828C;
    --line:#2C343B; --line-soft:#232A30;
    --oxide:#E8664A; --oxide-soft:#2A1A16;
    --forest:#4FBF9F; --forest-soft:#12241F;
    --hazard:#F0B738; --hazard-ink:#1A1405; --hazard-soft:#2A2107;
    --steel:#8C98A4;
  }
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  background:var(--paper);color:var(--ink);
  font-family:"IBM Plex Sans Arabic","Segoe UI",Tahoma,system-ui,sans-serif;
  font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
.num{font-variant-numeric:tabular-nums;direction:ltr;display:inline-block;unicode-bidi:isolate}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:none;background:none}
a{color:inherit;text-decoration:none}
h2,h3{letter-spacing:-.02em}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------- الهيكل ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 14px 90px}
.topbar{position:sticky;top:0;z-index:40;background:var(--panel);border-bottom:1px solid var(--line)}
.topbar-brand{max-width:1180px;margin:0 auto;padding:8px 14px 5px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;border-bottom:1px solid var(--line-soft)}
.topbar-logo{width:34px;height:34px;flex:none;border-radius:3px;object-fit:contain;background:var(--paper);border:1px solid var(--line-soft);margin-inline-start:auto}
.topbar-in{max-width:1180px;margin:0 auto;padding:6px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.brand{min-width:0;flex:1 1 auto}
.mark{width:34px;height:34px;flex:none;border-radius:3px;background:var(--ink);margin-inline-start:auto;
  display:grid;place-items:center;color:var(--paper);font-weight:700;font-size:15px}
.brand h1{margin:0;font-size:13.5px;font-weight:600;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;line-height:1.3}
.brand span{display:block;font-size:11.5px;font-weight:400;color:var(--ink-3);line-height:1.3}
.top-actions{margin-inline-start:auto;display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.topbar-in>.top-actions:only-child{margin-inline-start:0}
.top-actions .btn{padding:6px 9px;font-size:12px;gap:4px}
.top-actions .live{font-size:11px}
.btn-logout{margin-inline-start:auto;border-color:var(--oxide);color:var(--oxide);font-weight:600}
.archive-filter-btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.nav-break{flex-basis:100%;width:0;height:0;margin:0;padding:0}
.live{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-3);white-space:nowrap}
#live-status{gap:6px;order:-1}
.dot{width:6px;height:6px;border-radius:50%;background:var(--forest)}
.viewer-inline{color:var(--hazard);font-weight:600}
.viewer-role{color:var(--ink-3);font-weight:400}
.sp{margin-inline-start:auto}
.mini{font-size:12.5px;color:var(--ink-3);white-space:nowrap}

/* ---------- عناصر التحكم ---------- */
.dd{position:relative;display:inline-block}
.dd > summary{list-style:none;cursor:pointer}
.dd > summary::-webkit-details-marker{display:none}
.dd-menu{position:absolute;inset-inline-end:0;top:calc(100% + 4px);background:var(--panel);
  border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 16px rgba(20,24,29,.14);
  min-width:170px;z-index:50;overflow:hidden}
.dd-menu a{display:block;padding:9px 13px;font-size:13px;color:var(--ink)}
.dd-menu a:hover{background:var(--line-soft)}
.dd-sub{border-top:1px solid var(--line-soft)}
.dd-sub > summary{display:block;padding:9px 13px;font-size:13px;color:var(--ink);list-style:none}
.dd-sub > summary::-webkit-details-marker{display:none}
.dd-sub > summary:hover{background:var(--line-soft)}
.dd-sub .dd-menu{position:static;box-shadow:none;border:none;border-radius:0;background:var(--line-soft);min-width:0}
.dd-sub .dd-menu a{padding-inline-start:26px;font-size:12.5px}
/* نسخة مركزية من القائمة المنسدلة — لصفحات معقّدة قد تسبّب تراكب/تجاوز حدود الشاشة
   للقائمة العادية؛ تظهر بوضوح في منتصف الشاشة فوق طبقة معتمة */
.dd-center-backdrop{position:fixed;inset:0;background:rgba(15,18,22,.45);z-index:300}
.dd-center-menu{position:fixed!important;inset-inline:auto!important;top:50%!important;left:50%!important;
  transform:translate(-50%,-50%);z-index:301;min-width:230px;border-radius:8px;
  box-shadow:0 14px 44px rgba(0,0,0,.4)}
.dd-center-menu a{padding:14px 16px;font-size:15px;text-align:center}
.dd-center-menu .dd-sub > summary{padding:14px 16px;font-size:15px;text-align:center}
@media print{.dd{display:none!important}}
[id^="quote-"],[id^="entry-"]{scroll-margin-top:130px}
.hl-target{animation:hl-flash 2.2s ease-out}
@keyframes hl-flash{0%{background:var(--hazard-ink,#FBF6EA);background:rgba(224,160,18,.28)}100%{background:transparent}}

.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);
  padding:8px 13px;border-radius:3px;font-size:13.5px;font-weight:500;
  display:inline-flex;align-items:center;gap:7px;transition:border-color .12s,background .12s}
.btn:hover{border-color:var(--steel)}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.row:focus-visible,.crow:focus-visible{
  outline:2px solid var(--hazard);outline-offset:2px}
.btn.primary{background:var(--hazard);border-color:var(--hazard);color:var(--hazard-ink);font-weight:600}
.btn.pay-cta{background:var(--forest);border-color:var(--forest);color:#fff;font-weight:700;
  padding:9px 18px;font-size:14px;box-shadow:0 2px 8px rgba(28,107,87,.28)}
.btn.pay-cta:hover{filter:brightness(1.08)}
.btn.quote-cta{background:var(--panel);border:1.5px solid var(--ink);color:var(--ink);font-weight:700;
  padding:9px 18px;font-size:14px}
.btn.quote-cta:hover{background:var(--line-soft)}
.cta-stack{display:inline-flex;flex-direction:column;gap:8px;margin-inline-start:auto}
.cta-stack .btn{width:100%;text-align:center}
.bank-qr-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.bank-qr-text{flex:1;min-width:160px}
.qr-pay-box{flex:none;text-align:center;width:76px}
.qr-pay-img{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;padding:4px}
.btn.primary:hover{filter:brightness(1.06)}
.btn.ghost{border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{background:var(--line-soft)}
.btn.danger{color:var(--oxide)}
.btn.alert{background:var(--oxide);border-color:var(--oxide);color:#fff;font-weight:600;animation:hsb-pulse 2s ease-in-out infinite}
.btn.alert:hover{filter:brightness(1.08)}
.bell-count{display:inline-block;background:#fff;color:var(--oxide);font-size:10.5px;font-weight:800;
  min-width:16px;height:16px;line-height:16px;border-radius:999px;padding:0 3px;margin-inline-start:4px;
  vertical-align:middle}
@keyframes hsb-pulse{0%,100%{box-shadow:0 0 0 0 rgba(178,60,34,.45)}50%{box-shadow:0 0 0 5px rgba(178,60,34,0)}}
.alert-banner{background:var(--oxide-soft);border:1px solid var(--oxide);color:var(--oxide);
  padding:10px 14px;border-radius:4px;font-size:13.5px;font-weight:600;margin-bottom:14px}
.status-pending{color:var(--oxide);font-weight:600}
.row .mid em.status-approved,.crow em.status-approved{color:var(--forest)!important;font-weight:700}
.row .mid em.status-rejected,.crow em.status-rejected{color:var(--oxide)!important;font-weight:700}
.pending-frame{background:rgba(224,160,18,.07);border:1.5px dashed var(--hazard)!important;position:relative}
.pending-frame .panel-head h2{color:var(--hazard)}
.btn.sm{padding:5px 10px;font-size:12.5px}
.btn.xs{padding:5px 8px;font-size:11.5px;border-radius:4px}
.entry-type-row{display:flex;gap:5px;padding:0 14px 12px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.entry-type-row .btn{flex:none;white-space:nowrap}
.btn.xs.receipt-cta{background:var(--forest);border-color:var(--forest);color:#fff;font-weight:700}
.btn.xs.receipt-cta:hover{filter:brightness(1.08)}
.btn.xs.invoice-cta{background:var(--hazard);border-color:var(--hazard);color:var(--hazard-ink);font-weight:700}
.btn.xs.invoice-cta:hover{filter:brightness(1.06)}

.field{display:block;margin-bottom:13px}
.field label,.field > .lbl{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:5px;font-weight:500}
input[type=text],input[type=number],input[type=date],input[type=tel],input[type=password],
input[type=search],select,textarea{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:3px;
  background:var(--panel);font-size:14.5px}
input[dir=ltr]{text-align:start}
textarea{resize:vertical;min-height:74px;line-height:1.55}
.hint{font-size:12px;color:var(--ink-3);margin-top:5px}
.hint a{text-decoration:underline}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media(max-width:520px){.grid2{grid-template-columns:1fr}}
@media (min-width: 900px) {
  body{background:var(--paper)}
  .wrap{padding-top:22px;padding-bottom:60px}
  .panel{border-radius:8px;box-shadow:0 1px 3px rgba(20,24,29,.06);margin-bottom:16px!important}
  .panel-head{padding:14px 18px}
  .panel-head h2{font-size:15px}
  .row,.crow{transition:background .12s}
  .row:hover,.crow:hover{background:var(--paper)}
  .btn{cursor:pointer}
  .btn:not(.alert):hover{box-shadow:0 1px 4px rgba(20,24,29,.1)}
  .readout{border-radius:8px;box-shadow:0 1px 3px rgba(20,24,29,.06)}
  .topbar-brand,.topbar-in{padding-inline:22px}
  .searchbar input[type=search]{flex:0 1 calc(50% - 3px)}
  .searchbar .rep-filter-select{flex:0 1 calc(50% - 3px)}
  .searchbar-break{flex-basis:100%;width:0;height:0;margin:0;padding:0}
  .sheet{border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
  ::-webkit-scrollbar-thumb:hover{background:var(--steel)}
}
.err{color:var(--oxide);font-size:13.5px;font-weight:500;margin:9px 0;
  background:var(--oxide-soft);padding:9px 12px;border-radius:3px}
.ok{color:var(--forest);font-size:13.5px;font-weight:500;margin:9px 0;
  background:var(--forest-soft);padding:9px 12px;border-radius:3px}

/* ---------- شاشة الرصيد ---------- */
.readout{background:var(--panel);border:1px solid var(--line);border-radius:3px;margin:16px 0;overflow:hidden}
.readout-body{padding:20px 18px 16px}
.readout .lbl{font-size:12.5px;color:var(--ink-3);margin:0 0 2px}
.readout .amt{font-size:clamp(34px,10vw,54px);line-height:1.02;font-weight:600;letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;direction:ltr;text-align:start}
.readout .amt small{font-size:.42em;font-weight:500;letter-spacing:0;color:var(--ink-3);margin-inline-start:8px}
.readout .state{font-size:13.5px;margin-top:6px;font-weight:500}
.owed .amt,.owed .state{color:var(--oxide)}
.credit .amt,.credit .state{color:var(--forest)}
.settled .amt,.settled .state{color:var(--ink-2)}
.stripe{height:5px;background:repeating-linear-gradient(115deg,var(--hazard) 0 11px,transparent 11px 22px);opacity:.85}
.owed .stripe{background:repeating-linear-gradient(115deg,var(--oxide) 0 11px,transparent 11px 22px)}
.credit .stripe{background:repeating-linear-gradient(115deg,var(--forest) 0 11px,transparent 11px 22px)}
.readout-meta{display:flex;flex-wrap:wrap;border-top:1px solid var(--line-soft)}
.readout-meta div{flex:1 1 33%;padding:10px 18px;border-inline-start:1px solid var(--line-soft);min-width:110px}
.readout-meta div:first-child{border-inline-start:none}
.readout-meta b{display:block;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;direction:ltr;text-align:start}
.readout-meta em{font-style:normal;font-size:11.5px;color:var(--ink-3)}

/* ---------- الكشف ---------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.panel-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.panel-head h2{margin:0;font-size:14px;font-weight:600}
.searchbar{display:flex;flex-wrap:wrap;gap:4px 5px;padding:11px 10px;border-bottom:1px solid var(--line-soft);align-items:center}
.searchbar input[type=date]{width:auto;flex:0 1 100px;min-width:0;background:var(--hazard-soft);
  border:1px solid var(--hazard);border-radius:4px;padding:5px 3px;font-size:11.5px}
.searchbar input[type=search]{flex:1}
.searchbar .mini{font-size:11px}
.searchbar .btn{padding:6px 9px;font-size:12px}

.row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 8px;
  border-bottom:1px solid var(--line-soft);width:100%;text-align:start;transition:background .12s}
.row:last-of-type{border-bottom:none}
.row:hover{background:var(--line-soft)}
.bar{align-self:stretch;background:var(--steel);min-height:52px;flex:0 0 9px}
.row.debit .bar{background:var(--oxide)}
.row.credit .bar{background:var(--forest)}
.row .date{padding:13px 0;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums;direction:ltr;text-align:start;flex:0 0 58px}
.row .mid{padding:13px 0;flex:1 1 150px;min-width:150px}
.row .mid b{display:block;font-size:13px;font-weight:600;color:var(--ink);white-space:normal;overflow-wrap:break-word;letter-spacing:-.01em;line-height:1.35}
.row .mid em{font-style:normal;font-size:12px;color:var(--ink-3);display:block;white-space:normal;overflow-wrap:break-word;line-height:1.35}
.row .right{padding:13px 14px;text-align:end;flex:0 0 auto;margin-inline-start:auto}
.row .val{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;direction:ltr;display:block}
.row .note-val{color:var(--ink-3);font-size:12.5px;font-weight:400}
.row .run{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;direction:ltr;display:block;text-align:end;margin-top:2px}
/* صفوف لم يفتحها المدير بعد (عروض/دفعات/ملاحظات) — بارزة بخط عريض حتى تُفتح فتعود لوضعها الطبيعي */
.row.unseen .mid b{font-weight:800}
.row.unseen .mid em{font-weight:700;color:var(--ink)}
.row.unseen .date{font-weight:700;color:var(--ink)}

/* كشف حساب على شكل مدين/دائن — مدين (فواتير) يمينًا، دائن (مقبوضات) يسارًا بشكل فعلي بصرف النظر عن اتجاه الصفحة */
.ledger{direction:ltr;display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:170px}
.ledger .credit-col{color:var(--forest);font-weight:600;font-variant-numeric:tabular-nums;text-align:start;white-space:nowrap}
.ledger .debit-col{color:var(--oxide);font-weight:600;font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap}

.crow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 14px;
  border-bottom:1px solid var(--line-soft);width:100%}
.crow:last-of-type{border-bottom:none}
.crow:hover{background:var(--line-soft)}
.crow b{display:block;font-size:14.5px;font-weight:500}
.crow em{font-style:normal;font-size:12px;color:var(--ink-3);direction:ltr;display:block;text-align:start}
.crow em.seen{font-size:10.5px;color:var(--ink-3);opacity:.85;direction:rtl;text-align:start}
.crow.unseen b{font-weight:800}
.crow.unseen em{font-weight:700;color:var(--ink)}
.bal{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap}
.bal .sub{display:block;font-size:11px;font-weight:400;color:var(--ink-3)}
.bal.pos{color:var(--oxide)} .bal.neg{color:var(--forest)} .bal.zero{color:var(--ink-3)}

.empty{padding:44px 20px;text-align:center;color:var(--ink-3);font-size:13.5px}
.empty b{display:block;color:var(--ink);font-size:15px;font-weight:500;margin-bottom:5px}

/* ---------- النوافذ ---------- */
.scrim{position:fixed;inset:0;background:rgba(10,13,16,.55);z-index:60;
  display:flex;align-items:flex-end;justify-content:center}
.scrim[hidden]{display:none}
@media(min-width:700px){.scrim{align-items:center;padding:24px}}
.sheet{background:var(--panel);width:100%;max-width:620px;max-height:92vh;overflow:auto;
  border-radius:6px 6px 0 0;border:1px solid var(--line);animation:up .18s ease-out}
@media(min-width:700px){.sheet{border-radius:4px}}
@keyframes up{from{transform:translateY(14px);opacity:.4}to{transform:none;opacity:1}}
.sheet-head{position:sticky;top:0;background:var(--panel);border-bottom:1px solid var(--line-soft);
  padding:13px 16px;display:flex;align-items:center;gap:10px;z-index:2}
.sheet-head h3{margin:0;font-size:15px;font-weight:600}
.sheet-body{padding:16px}
.sheet-foot{position:sticky;bottom:0;background:var(--panel);border-top:1px solid var(--line-soft);
  padding:12px 16px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}

.gate{max-width:400px;margin:0 auto;padding:34px 0}
.gate h2{margin:0 0 12px;font-size:19px;font-weight:600}
.gate p{margin:0 0 18px;color:var(--ink-3);font-size:13.5px}

.dl{margin:0}
.dl div{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
.dl div:last-child{border-bottom:none}
.dl dt{flex:none;width:104px;color:var(--ink-3);font-size:12.5px;margin:0}
.dl dd{margin:0;flex:1;min-width:0;word-break:break-word}
.shot{width:100%;border:1px solid var(--line);border-radius:3px;display:block;margin-top:12px;background:var(--line-soft)}

.items{width:100%;border-collapse:collapse;margin-top:8px;font-size:13.5px}
.items thead th{font-size:11.5px;color:var(--ink-3);font-weight:500;text-align:start;padding:6px 8px;border-bottom:1px solid var(--line)}
.items td{padding:7px 8px;border-bottom:1px solid var(--line-soft)}
.items td.n{font-variant-numeric:tabular-nums;direction:ltr;text-align:end;white-space:nowrap}
.price-item-row.price-item-excluded td:first-child{text-decoration:line-through;color:var(--ink-3)}
.price-item-row.price-item-excluded{opacity:.6}
.price-item-remove{color:var(--oxide)}
.items tr:last-child td{border-bottom:none}
.items input{padding:6px 8px;font-size:13.5px}
.scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch}

.pick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pick label{border:1px solid var(--line);border-radius:3px;padding:14px 10px;text-align:center;
  cursor:pointer;font-size:13px;font-weight:500;color:var(--ink-2);display:block}
.pick input{position:absolute;opacity:0;pointer-events:none}
.pick label:has(input:checked){border-color:var(--ink);background:var(--line-soft);color:var(--ink)}

.tag{display:inline-block;padding:2px 8px;border-radius:2px;font-size:11.5px;font-weight:500;border:1px solid var(--line)}
.tag.debit{color:var(--oxide);border-color:var(--oxide);background:var(--oxide-soft)}
.tag.credit{color:var(--forest);border-color:var(--forest);background:var(--forest-soft)}

.pinbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pinbox code{font-size:22px;font-weight:600;letter-spacing:.18em;font-variant-numeric:tabular-nums;
  direction:ltr;background:var(--line-soft);padding:7px 14px;border-radius:3px}
.linkbox{background:var(--line-soft);border-radius:3px;padding:10px 12px;font-size:12px;
  word-break:break-all;direction:ltr;text-align:start}

.toast{position:fixed;inset-inline:0;bottom:18px;display:flex;justify-content:center;z-index:90;pointer-events:none}
.toast span{background:var(--ink);color:var(--paper);padding:9px 18px;border-radius:3px;font-size:13.5px}
.spin{width:30px;height:30px;margin:0 auto;border-radius:50%;
  border:3px solid var(--line-soft);border-top-color:var(--hazard);
  animation:hsb-spin .8s linear infinite}
@keyframes hsb-spin{to{transform:rotate(360deg)}}

/* اسم الزبون — أوضح وأكبر في رأس الكشف وصفحة القيد */
.cust-name{font-size:17px!important;font-weight:700!important;color:var(--ink)!important;letter-spacing:-.01em}
.readout .lbl.cust-name{
  font-size:14.5px!important;font-weight:700!important;color:var(--ink)!important;
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,#FBF6EA 0%,var(--panel) 65%);
  border:1px solid var(--hazard);border-radius:999px;
  padding:6px 16px;margin:0 0 10px;
  box-shadow:0 1px 3px rgba(224,160,18,.18)
}
.readout .lbl.cust-name::before{content:"==";font-size:12px;color:var(--hazard);font-weight:700}
.readout .lbl.cust-name::after{content:"==";font-size:12px;color:var(--hazard);font-weight:700}
dd.cust-name{font-size:15px;font-weight:700}

/* تذييل الكشف */
.site-foot{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;align-items:center;
  margin-top:22px;padding:14px 0;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--ink-3);text-align:center}
.site-foot a{text-decoration:underline}

/* وقت آخر تحديث أسفل كلمة "محدَّث" (تصميم عمودي خاص بمؤشر حالة الزبون) */
#live-status .line1{display:flex;align-items:center;gap:5px}
#live-status .upd-time{color:var(--ink-3);font-size:10.5px;font-variant-numeric:tabular-nums;direction:ltr}

/* تفاصيل إضافية تظهر فقط عند الطباعة المفصّلة (الأصناف وتفاصيل الشيك لكل حركة) */
.print-detail{display:none}
@media print{
  body.print-detailed .print-detail{display:block}
}
.print-ledger-table{display:none}
@media print{
  .print-ledger-table{
    display:table;width:100%;border-collapse:collapse;font-size:11.5px;direction:rtl;margin-top:6px;
  }
  .print-ledger-table th,.print-ledger-table td{border:1px solid #ccc;padding:5px 7px;text-align:center}
  .print-ledger-table thead th{background:#f2f2f2;font-weight:700}
  .print-ledger-table td:nth-child(3){text-align:start}
  .print-ledger-table td:nth-child(4){color:#B23C22;font-variant-numeric:tabular-nums;direction:ltr}
  .print-ledger-table td:nth-child(5){color:#1C6B57;font-variant-numeric:tabular-nums;direction:ltr}
  .print-ledger-table td:nth-child(6){font-weight:700;font-variant-numeric:tabular-nums;direction:ltr}
  .print-detail-rows{display:none}
  body.print-detailed .print-ledger-table{display:none}
  body.print-detailed .print-detail-rows{display:block}
}
.print-license{display:none}
@media print{
  .print-license{display:block;text-align:center;font-size:11px;color:#555;margin-top:16px;padding-top:8px;border-top:1px solid #ccc}
}

/* كشف أرصدة الزبائن — تصميم احترافي بجدول محاسبي حقيقي */
.balances-summary{border:none!important;background:transparent!important}
.statement-title{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:14px;border-bottom:3px solid var(--hazard)}
.statement-title img{width:56px;height:56px;object-fit:contain;border-radius:6px;flex:none;margin-inline-start:auto}
.statement-title h2{margin:0 0 6px;font-size:19px;font-weight:700;color:var(--ink);line-height:1.35}
.statement-title p{margin:0 0 4px;font-size:12.5px;color:var(--ink-3);line-height:1.5}
.statement-title p.printed-by{margin-bottom:0}
.balances-table{width:100%;border-collapse:collapse;font-size:13px}
.balances-table thead th{background:var(--ink);color:#fff;font-weight:700;padding:10px 8px;text-align:center;font-size:12px}
.balances-table td{padding:9px 8px;border-bottom:1px solid var(--line-soft);text-align:center}
.balances-table td:nth-child(2){text-align:start;font-weight:600}
.balances-table tbody tr:nth-child(even){background:var(--paper)}
.balances-table td.amt{font-variant-numeric:tabular-nums;direction:ltr;font-weight:600;white-space:nowrap}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700}
.pill-debit{background:var(--oxide-soft);color:var(--oxide)}
.pill-credit{background:var(--forest-soft);color:var(--forest)}
.pill-zero{background:var(--line-soft);color:var(--ink-3)}
.balances-table tfoot td{border-top:2px solid var(--ink);border-bottom:none;font-weight:700;padding:10px 8px;text-align:end}
.balances-table tfoot td:first-child{text-align:start}
.balances-table tfoot tr.net td{border-top:1px solid var(--line);font-size:14.5px;color:var(--ink)}
@media print{
  .balances-table thead th{background:#2a2f36!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .balances-table tbody tr:nth-child(even){background:#f7f7f7!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* صفحة طباعة الإدارة (admin.php?p=print/print_all) مختلفة: "طباعة الأرصدة" تعرض سطراً
   مختصراً لكل زبون فقط (الاسم والرصيد وتاريخ آخر حركة)، و"طباعة مفصّلة" تستبدلها بكشف
   كامل بكل الحركات — كلاهما يظهران معاً على الشاشة للمراجعة، وتُختار إحداهما فقط عند الطباعة */
@media print{
  body.print-detailed .balances-summary{display:none}
  .full-detail-block{display:none}
  body.print-detailed .full-detail-block{display:block}
}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- تنسيق أوسع للشاشات الكبيرة: عرض أضيق يشبه صفحة مستند، مع لمسة أكثر عناية ---------- */
@media(min-width:860px){
  .wrap{max-width:760px;padding-top:26px}
  .topbar-in{max-width:760px}
  .panel,.readout{border-radius:8px;box-shadow:0 1px 2px rgba(20,24,29,.04),0 8px 24px -16px rgba(20,24,29,.18)}
  .readout{margin:22px 0 26px}
  .readout .amt{font-size:clamp(34px,5vw,50px)}
  .panel + .panel{margin-top:18px}
  .gate .panel{border-radius:10px}
  .btn{border-radius:5px}
  .sheet{border-radius:10px}
}
@media(min-width:860px) and (prefers-color-scheme: light){
  body{background:linear-gradient(180deg,#F4F5F7 0%,var(--paper) 320px)}
}

@media print{
  .topbar,.sheet-foot,.noprint,.btn,.searchbar,.scrim{display:none!important}
  body{background:#fff;color:#000}
  .panel,.readout{border-color:#999}
  .wrap{padding:0}
  .ledger{min-width:0}
}
.print-letterhead{display:none}
@media print{
  .print-letterhead{
    display:flex;align-items:center;gap:16px;
    padding:0 0 16px;margin-bottom:18px;border-bottom:3px solid #E0A012;
  }
  .print-letterhead img{width:64px;height:64px;object-fit:contain;border-radius:6px;flex:none}
  .print-letterhead-text{flex:1;min-width:0}
  .print-letterhead-text h1{margin:0;font-size:19px;font-weight:700;color:#14181D}
  .print-letterhead-text p{margin:3px 0 0;font-size:12px;color:#555}
  .print-letterhead-meta{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px;
    font-size:10.5px;color:#777;direction:ltr;white-space:nowrap}
}
