/* ================= Toolbar (tables) ================= */
.toolbar{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tsearch{position:relative}
.tsearch input{width:230px;padding:8px 34px 8px 12px;border-radius:9px;border:1.5px solid var(--line);background:var(--bg);outline:none}
.tsearch input:focus{border-color:var(--navy-mid);background:#fff}
.tsearch svg{position:absolute;inset-inline-end:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--muted)}
.fpills{display:flex;gap:6px}
.fpill{padding:6.5px 14px;border-radius:99px;font-size:11.5px;font-weight:800;background:var(--gray-soft);color:var(--muted);border:1.5px solid transparent}
.fpill.active{background:var(--navy-soft);color:var(--navy-mid);border-color:var(--navy-mid)}
.tool-sel{padding:7.5px 12px;border-radius:9px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:12px;outline:none}
.tool-chk{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:9px;
  border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:12px;
  color:var(--muted);cursor:pointer;user-select:none}
.tool-chk input{width:15px;height:15px;accent-color:var(--gold);cursor:pointer;margin:0}
.tool-chk:has(input:checked){border-color:var(--gold);background:var(--gold-soft);color:#8A6717}
.tb-end{margin-inline-start:auto;display:flex;gap:8px;align-items:center;position:relative}
.icon-btn{
  display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:9px;
  border:1.5px solid var(--line-2);background:#fff;font-size:11.5px;font-weight:800;color:var(--ink);
}
.icon-btn svg{width:14px;height:14px}
.icon-btn:hover{border-color:var(--navy-mid);color:var(--navy-mid)}
.saved-row{display:flex;gap:7px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);background:#FBFBFD;flex-wrap:wrap}
.saved-row .lbl{font-size:11px;font-weight:800;color:var(--muted)}
.schip{
  display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:99px;
  font-size:11px;font-weight:800;background:#fff;border:1.5px dashed var(--line-2);color:var(--navy-mid);
}
.schip.on{border-style:solid;border-color:var(--gold);background:var(--gold-soft);color:#8A6717}
.schip .x{opacity:.55;font-weight:900}
.colmenu{
  position:absolute;top:calc(100% + 8px);inset-inline-end:0;background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow-lg);padding:10px 6px;min-width:190px;display:none;z-index:30;
}
.colmenu.open{display:block}
.colmenu label{display:flex;align-items:center;gap:9px;padding:7px 12px;font-size:12px;font-weight:700;border-radius:8px;cursor:pointer}
.colmenu label:hover{background:var(--navy-soft)}
.colmenu .hd{font-size:10.5px;font-weight:800;color:var(--muted);padding:4px 12px 6px}

/* ===== تبويبات داخل الدرج (الفاتورة) ===== */
.dtabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1.5px solid var(--line);
  margin:-4px -20px 16px;padding:0 20px;scrollbar-width:none}
.dtabs::-webkit-scrollbar{display:none}
.dtabs button{padding:12px 15px;font-size:12.5px;font-weight:800;color:var(--muted);
  white-space:nowrap;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;cursor:pointer}
.dtabs button:hover{color:var(--ink)}
.dtabs button.on{color:var(--navy);border-bottom-color:var(--gold)}
:root[data-theme="dark"] .dtabs button.on{color:var(--ink)}
.dtab-body{min-height:120px}
/* أزرار المستند: الأساسي بارز، الثانوي هادي، والخطر نص أحمر بس */
.dtab-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:24px;
  padding-top:16px;border-top:1px solid var(--line)}
.dtab-act .btn{flex:0 0 auto}
.dtab-act .btn.primary{flex:1 1 auto;justify-content:center}
.dtab-act .danger-lnk{margin-inline-start:auto;font-size:11.5px;font-weight:800;
  color:var(--muted);padding:8px 6px;cursor:pointer;border-radius:8px}
.dtab-act .danger-lnk:hover{color:var(--red);background:var(--red-soft)}

/* شريط نسبة التحصيل */
.paybar{height:8px;background:var(--gray-soft);border-radius:99px;overflow:hidden;margin:4px 0 6px}
.paybar i{display:block;height:100%;background:var(--green);border-radius:99px}
.paybar-lbl{font-size:11px;font-weight:800;color:var(--muted);margin-bottom:14px}

/* ===== نجمة المفضلة بالتقارير ===== */
.rep-item .star{width:22px;height:22px;display:grid;place-items:center;flex-shrink:0;
  color:var(--line-2);border-radius:6px;cursor:pointer}
.rep-item .star svg{width:15px;height:15px}
.rep-item .star:hover{color:var(--gold);background:var(--gold-soft)}
.rep-item .star.on{color:var(--gold)}
#repSearch{width:250px}
#rpFavBtn svg{width:14px;height:14px}

/* ===== فلاتر اللوحة ===== */
.dash-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dash-custom{display:flex;gap:6px}
.dash-custom input{font-size:11.5px;padding:6px 9px}

/* ===== مؤشر قابل للضغط ===== */
.kpi-go{display:block;width:100%;text-align:start;cursor:pointer;
  transition:border-color .12s,background .12s}
.kpi-go:not(:disabled):hover{border-color:var(--gold)}
.kpi-go:disabled{cursor:default}
.kpi .kgo{width:13px;height:13px;margin-inline-start:auto;color:var(--line-2);flex-shrink:0}
.kpi-go:not(:disabled):hover .kgo{color:var(--gold)}
.kpi .kd svg{width:12px;height:12px;flex-shrink:0}
.kpi .kd span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ===== التدفق النقدي ===== */
.flow-sum{display:flex;gap:12px;font-size:11px;font-weight:800;margin-inline-start:auto}
.flow-sum .fin{color:var(--green)} .flow-sum .fout{color:var(--red)}
.flow-sum .fnet.pos{color:var(--navy-mid)} .flow-sum .fnet.neg{color:var(--red)}
.chart-empty{text-align:center;color:var(--muted);padding:56px 0;font-size:12.5px}
.rank-empty{text-align:center;color:var(--muted);padding:26px 0;font-size:12px;font-weight:700}

/* ===== Drill-down ===== */
.drill-path{display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding:10px 0 14px;font-size:11.5px;font-weight:700;color:var(--muted);
  border-bottom:1px solid var(--line);margin-bottom:14px}
.drill-path button{color:var(--navy-mid);font-weight:800;cursor:pointer}
.drill-path button:hover{text-decoration:underline}
.drill-path b{color:var(--ink)}
.drill-path .back{margin-inline-start:auto;background:var(--gray-soft);
  padding:5px 12px;border-radius:99px;color:var(--ink)}
.drill-sum{display:flex;justify-content:space-between;align-items:center;
  padding:11px 14px;background:var(--navy-soft);border-radius:10px;margin-bottom:12px;
  font-size:12px;font-weight:800}
.drill-sum b{font-size:14px;color:var(--navy)}
.drill-sum b.warn{color:var(--warn)} .drill-sum b.neg{color:var(--red)}
.drill-row{display:flex;align-items:center;gap:10px;width:100%;text-align:start;
  padding:11px 13px;border:1px solid var(--line);border-radius:10px;margin-bottom:7px;
  background:var(--surface);cursor:pointer;transition:border-color .12s}
.drill-row:hover{border-color:var(--navy-mid)}
.drill-row .m{flex:1;min-width:0}
.drill-row .m b{display:block;font-size:12.5px;font-weight:800;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drill-row .m small{font-size:11px;color:var(--muted);font-weight:700}
.drill-row .v{font-size:13px;font-weight:800;white-space:nowrap}
.drill-row .v.warn{color:var(--warn)} .drill-row .v.neg{color:var(--red)}
.drill-row .v.pos{color:var(--green)}
.drill-row .ar{width:14px;height:14px;color:var(--line-2);flex-shrink:0}
.drill-empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:12.5px;font-weight:700}
.drill-line{display:grid;grid-template-columns:1fr auto 62px;gap:10px;align-items:center;
  padding:10px 13px;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:700}
.drill-line .num{font-weight:800}
.drill-line.neg .num{color:var(--red)}
.drill-line.pos .num{color:var(--green)}
.drill-line.sub{background:var(--gray-soft);font-weight:800}
.drill-line.tot{background:var(--navy);color:#fff;border-radius:10px;margin-top:8px;border:none}
.drill-line.tot .num{color:#E7C168;font-size:14px}
.drill-line .lnk{font-size:10.5px;font-weight:800;color:var(--navy-mid);cursor:pointer}
.drill-line .lnk:hover{text-decoration:underline}
:root[data-theme="dark"] .drill-line.tot{background:var(--navy-soft)}

/* ===== Chips الفلاتر المطبّقة ===== */
.chips-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center;
  padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg)}
.fchip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:99px;
  font-size:11px;font-weight:700;background:var(--surface);border:1px solid var(--line-2);color:var(--ink)}
.fchip b{font-weight:800;color:var(--navy-mid)}
.fchip .x{opacity:.5;font-weight:900;cursor:pointer;font-size:13px;line-height:1}
.fchip .x:hover{opacity:1;color:var(--red)}
.fchip.act{border-style:dashed;color:var(--muted);cursor:pointer}
.fchip.act:hover{border-color:var(--gold);color:#8A6717}

/* ===== لوحة الفلاتر الجانبية ===== */
.fpanel{
  position:fixed;top:0;bottom:0;inset-inline-end:0;width:400px;max-width:100vw;z-index:71;
  background:var(--bg);transform:translateX(-100%);
  transition:transform .26s cubic-bezier(.3,.9,.3,1);
  display:flex;flex-direction:column;box-shadow:var(--shadow-lg);
}
.fpanel.open{transform:none}
.fp-b{flex:1;overflow-y:auto;padding:18px 20px}
.fp-f{display:flex;gap:9px;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface)}

/* ===== حالة فارغة بمعنى ===== */
td.qt-empty{text-align:center;padding:44px 20px !important;white-space:normal !important}
td.qt-empty svg{width:44px;height:44px;color:var(--line-2);margin-bottom:12px}
td.qt-empty b{display:block;font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:4px}
td.qt-empty span{display:block;font-size:11.5px;color:var(--muted);font-weight:700;margin-bottom:14px}

/* ================= Tables ================= */
.twrap{overflow:auto;max-height:calc(100vh - 300px)}
table.grid thead th{position:sticky;top:0;z-index:2}
.qt-grip{position:absolute;inset-inline-start:0;top:0;bottom:0;width:7px;
  cursor:col-resize;user-select:none}
.qt-grip:hover{background:var(--gold);opacity:.35}
table.grid th{position:relative}
table.grid{width:100%;border-collapse:collapse;font-size:12.5px;min-width:760px}
table.grid th{
  text-align:right;padding:11px 14px;font-size:11px;font-weight:800;color:var(--muted);
  border-bottom:1.5px solid var(--line-2);white-space:nowrap;background:#FBFBFD;
  cursor:pointer;user-select:none;
}
table.grid th .arr{opacity:0;font-size:10px;margin-inline-start:4px}
table.grid th.sorted .arr{opacity:1;color:var(--gold)}
table.grid td{padding:11.5px 14px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:700}
table.grid tbody tr{transition:background .1s;cursor:pointer}
table.grid tbody tr:hover{background:var(--navy-soft)}
table.grid .mono{color:var(--navy-mid);font-weight:800}
table.grid .money{font-weight:800}
.st{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:99px;font-size:10.5px;font-weight:800}
.st::before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}
.st.posted{background:var(--green-soft);color:var(--green)}
.st.draft{background:var(--gray-soft);color:var(--muted)}
.st.void{background:var(--red-soft);color:var(--red)}
.st.goldb{background:var(--gold-soft);color:#8A6717}
.tfoot{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;font-size:11.5px;color:var(--muted);font-weight:700}
.pager{display:flex;gap:5px}
.pager button{width:29px;height:29px;border-radius:8px;border:1.5px solid var(--line);font-weight:800;font-size:11.5px}
.pager button.cur{background:var(--navy-mid);border-color:var(--navy-mid);color:#fff}
.debt-bar{width:110px;height:5px;background:var(--gray-soft);border-radius:99px;overflow:hidden;display:inline-block;vertical-align:middle;margin-inline-start:8px}
.debt-bar i{display:block;height:100%;background:var(--gold)}
.debt-bar i.over{background:var(--red)}

/* chart */
.chart-wrap{height:210px}
.chart-wrap svg{width:100%;height:100%}

/* ================= Drawer (document detail) ================= */
.ov{position:fixed;inset:0;background:rgba(10,20,40,.45);z-index:70;opacity:0;pointer-events:none;transition:opacity .2s}
.ov.open{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;bottom:0;inset-inline-end:0;width:560px;max-width:100vw;z-index:71;background:var(--bg);
  transform:translateX(-100%);transition:transform .28s cubic-bezier(.3,.9,.3,1);
  overflow-y:auto;box-shadow:var(--shadow-lg);
}
[dir="rtl"] .drawer{transform:translateX(-100%)}
.drawer.open{transform:none}
.dr-h{
  position:sticky;top:0;background:var(--navy);color:#fff;padding:16px 20px;z-index:5;
  display:flex;align-items:center;justify-content:space-between;
}
.dr-h .t{font-weight:800;font-size:14.5px}
.dr-h .s{font-size:11px;opacity:.7}
.dr-x{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.1);color:#fff;
      display:grid;place-items:center;transition:background .12s}
.dr-x:hover{background:rgba(255,255,255,.2)}
.dr-x svg{width:16px;height:16px}
.dr-b{padding:18px 20px 30px}
/* بيانات المستند: بلا صناديق ولا حدود — مسافات بس */
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px;
  background:none;border:none;border-radius:0;overflow:visible;margin-bottom:20px}
.meta-grid>div{background:none;padding:9px 0;border-bottom:1px solid var(--line)}
.meta-grid .k{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.2px}
.meta-grid .v{font-size:13.5px;font-weight:800;margin-top:3px}
/* journal — signature: balanced beam */
.jr{border:none;border-radius:0;overflow:visible;background:none;margin-bottom:22px}
.jr-h{background:none;color:var(--muted);padding:0 0 8px;font-size:10.5px;font-weight:800;`r`n  letter-spacing:1.2px;display:flex;justify-content:space-between;align-items:center;`r`n  border-bottom:1.5px solid var(--line-2)}
.jr-h .bal{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#E7C168}
.jr table{width:100%;border-collapse:collapse;font-size:12px}
.jr th{background:none;padding:9px 0;font-size:10.5px;font-weight:700;color:var(--muted);text-align:right;border-bottom:1px solid var(--line)}
.jr td{padding:10px 0;border-bottom:1px solid var(--line);font-weight:700}
.jr tr:last-child td{border-bottom:none}
.jr .tot td{background:none;font-weight:800;color:var(--ink);border-bottom:none;`r`n  border-top:1.5px solid var(--line-2);padding-top:12px}
.beam{height:2px;background:var(--gold);opacity:.55}
/* audit timeline */
.tl{position:relative;padding-inline-start:18px}
.tl::before{content:"";position:absolute;inset-inline-start:5px;top:6px;bottom:6px;width:2px;background:var(--line-2)}
.tl-i{position:relative;padding:0 0 14px}
.tl-i::before{content:"";position:absolute;inset-inline-start:-18px;top:5px;width:9px;height:9px;border-radius:99px;background:#fff;border:2.5px solid var(--navy-mid)}
.tl-i.gold::before{border-color:var(--gold)}
.tl-i .t{font-size:12px;font-weight:800}
.tl-i .s{font-size:11px;color:var(--muted)}

/* journal page rows */
.je-lines{display:none}
.je-lines.open{display:table-row}
.je-lines td{background:#FBFBFD !important;padding:0 !important}
.je-inner{padding:6px 30px 14px}

/* placeholder page */
.ph{
  border:1.5px dashed var(--line-2);border-radius:16px;background:#fff;
  padding:60px 30px;text-align:center;color:var(--muted);
}
.ph svg{width:42px;height:42px;color:var(--line-2);margin-bottom:10px}
.ph .t{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:4px}
.ph .s{font-size:12px;max-width:420px;margin:0 auto}
.ph .phase{display:inline-block;margin-top:14px;font-size:11px;font-weight:800;color:#8A6717;background:var(--gold-soft);padding:5px 14px;border-radius:99px}

.toast{
  position:fixed;bottom:22px;inset-inline-start:50%;transform:translate(-50%,150%);z-index:99;
  background:var(--navy);color:#fff;padding:11px 20px;border-radius:11px;font-size:12.5px;font-weight:800;
  transition:transform .3s;box-shadow:var(--shadow-lg);white-space:nowrap;
}
[dir="rtl"] .toast{transform:translate(50%,150%)}
.toast.show{transform:translate(50%,0)}

/* ================= Responsive ================= */
@media (max-width:1100px){.kpis{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}}
@media (max-width:900px){
  .sidebar{transform:translateX(100%);transition:transform .25s}
  .sidebar.open{transform:none}
  .main{margin-inline-start:0}
  .burger{display:grid;place-items:center}
  .branch-sel span{display:none}
  .content{padding:16px 14px 30px}
  .drawer{width:100vw}
  .tsearch input{width:150px}
}
@media print{
  .sidebar,.topbar,.toolbar,.saved-row,.tfoot,.actions,.ov,.drawer,.toast{display:none !important}
  .main{margin:0}.content{padding:0}
  .panel{border:none;box-shadow:none}
  body{background:#fff}
  .page{display:none}.page.active{display:block}
}

/* ===== Auth screens ===== */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);padding:20px}
.auth-card{background:#fff;border-radius:20px;padding:34px 30px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}
.auth-card .lg{text-align:center;margin-bottom:6px}
.auth-card h2{text-align:center;font-size:19px;color:var(--navy);margin-bottom:2px;font-weight:800}
.auth-card .s{text-align:center;font-size:12px;color:var(--muted);margin-bottom:20px}
.fld{margin-bottom:12px}
.fld label{display:block;font-size:11.5px;font-weight:800;color:var(--muted);margin-bottom:5px}
.fld input,.fld select,.fld textarea{width:100%;padding:11px 13px;border-radius:10px;border:1.5px solid var(--line-2);outline:none;font-size:13.5px;background:#fff}
.fld input:focus,.fld select:focus{border-color:var(--navy-mid)}
.auth .btn{width:100%;justify-content:center;padding:12px}
.auth-alt{text-align:center;margin-top:14px;font-size:12px;color:var(--muted)}
.auth-alt button{color:var(--navy-mid);font-weight:800;text-decoration:underline}
.err-box{background:var(--red-soft);color:var(--red);border-radius:10px;padding:10px 13px;font-size:12px;font-weight:700;margin-bottom:12px;display:none}
.setup-note{background:var(--gold-soft);border:1px solid #E6D3A0;border-radius:12px;padding:12px 15px;font-size:12px;margin-bottom:14px;line-height:1.8}

/* ===== Modals ===== */
.modal-ov{position:fixed;inset:0;background:rgba(8,16,36,.5);z-index:80;display:none;align-items:flex-start;justify-content:center;padding:30px 14px;overflow-y:auto}
.modal-ov.open{display:flex}
.modal{background:var(--bg);border-radius:18px;width:100%;max-width:620px;box-shadow:var(--shadow-lg);animation:fade .18s ease;margin-bottom:30px}
.modal.sm{max-width:420px}
.modal-h{background:var(--navy);color:#fff;border-radius:18px 18px 0 0;padding:14px 20px;display:flex;justify-content:space-between;align-items:center}
.modal-h .t{font-weight:800;font-size:14.5px}
.modal-b{padding:18px 20px 22px}
.frow2{display:flex;gap:12px}
.frow2 .fld{flex:1}
.line-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;margin-bottom:8px}
.line-item .n{flex:1;font-size:12.5px;font-weight:800;min-width:0}
.line-item .n .sub-in{width:110px;border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:12px;margin-top:4px;outline:none}
.qtyc{display:flex;align-items:center;gap:2px}
.qtyc button{width:27px;height:27px;border-radius:8px;background:var(--navy-soft);color:var(--navy-mid);font-weight:800;font-size:14px}
.qtyc span{min-width:26px;text-align:center;font-weight:800;font-size:13px}
.rmx{width:25px;height:25px;border-radius:7px;background:var(--red-soft);color:var(--red);
     display:grid;place-items:center;font-size:13px}
.sumx{background:#fff;border:1.5px solid var(--line);border-radius:13px;padding:3px 15px;margin:12px 0}
.sumx .r{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:12.5px;font-weight:700;color:var(--muted)}
.sumx .r:last-child{border-bottom:none}
.sumx .r b{color:var(--ink);font-weight:800}
.sumx .r.big b{color:var(--navy);font-size:15px}
.sumx .sumline{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:8px 0;border-bottom:1px dashed var(--line);font-size:12.5px;font-weight:700;color:var(--muted)}
.sumx .sumline:last-child{border-bottom:none}
.sumx .sumline .v{color:var(--ink);font-weight:800;white-space:nowrap}
.sumx .sumline.net{color:var(--navy)}
.sumx .sumline.net .v{color:var(--navy);font-size:15.5px;font-weight:900}
.sumx .sumline.rem .v{color:var(--red)}
.loadbar{height:2px;background:var(--gold);position:fixed;top:0;inset-inline:0;z-index:99;display:none;animation:load 1s linear infinite;background-size:200% 100%}
.loadbar.on{display:block}
@keyframes load{to{background-position:-200% 0}}

/* invoice detailed lines */
.meta-strip{display:flex;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 14px;font-size:12.5px;font-weight:800;color:var(--navy);margin-bottom:12px}
.ln-head{display:grid;grid-template-columns:1fr 110px 96px 100px 30px;gap:8px;padding:7px 12px;font-size:10.5px;font-weight:800;color:var(--muted);letter-spacing:.3px}
.ln-row{display:grid;grid-template-columns:1fr 110px 96px 100px 30px;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;margin-bottom:8px}
.ln-row .nm{font-size:12.5px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ln-row input.pin{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12.5px;outline:none;background:#FBFAF7;text-align:center}
.ln-row input.pin:focus{border-color:var(--navy-mid)}
.ln-row .lt{font-weight:800;font-size:13px;text-align:left}
.payblock{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:14px 15px;margin:12px 0}
.payblock .ttl{font-size:12px;font-weight:800;color:var(--navy);margin-bottom:10px}
.payopts{display:flex;gap:8px;margin-bottom:12px}
.payopt{flex:1;text-align:center;padding:9px;border-radius:11px;border:1.5px solid var(--line-2);font-size:12px;font-weight:800;color:var(--muted);cursor:pointer}
.payopt.on{border-color:var(--navy-mid);background:var(--navy-soft);color:var(--navy-mid)}
@media (max-width:640px){.ln-head{display:none}.ln-row{grid-template-columns:1fr 80px 80px;grid-auto-rows:auto}}

/* ===== فاتورة الشراء: جدول بنود موسّع ===== */
.modal.lg{max-width:1000px}
.pln-cols{grid-template-columns:minmax(150px,1.4fr) 74px 100px 92px 92px 100px 108px 28px}
.pln-head{display:grid;gap:7px;padding:6px 12px;font-size:10.5px;font-weight:800;color:var(--muted);
  border:1px solid transparent}
.pln-head span:not(:first-child){text-align:center}
.pln-row{display:grid;gap:7px;align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:9px 12px;margin-bottom:7px}
.pln-row .nm{font-size:12.5px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pln-row .nm small{display:block;font-weight:700;color:var(--muted);font-size:10.5px}
.pln-row input.cin{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 6px;
  font-size:12.5px;outline:none;background:#FBFAF7;text-align:center;font-variant-numeric:tabular-nums}
.pln-row input.cin:focus{border-color:var(--navy-mid);background:#fff}
.pln-row input.cin.req{background:#FFF8F5;border-color:#E7CFC6}
.pln-row .landed{text-align:center;font-weight:800;font-size:12.5px;color:var(--gold);
  background:var(--gold-soft);border-radius:8px;padding:6px 4px}
.pln-row .ltot{text-align:left;font-weight:800;font-size:13px;color:var(--navy)}
@media (max-width:980px){
  .pln-head{display:none}
  .pln-row{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .pln-row .nm{grid-column:1/-1}
  .pln-row input.cin::placeholder{color:var(--muted)}
  .pln-row .ltot{grid-column:1/3;text-align:start}
}
/* ===== صفحة مجموعات التقارير ===== */
.rep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
@media(max-width:1150px){.rep-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.rep-grid{grid-template-columns:1fr}}
.rep-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow);overflow:hidden}
.rep-card .rh{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.rep-card .rh .box{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;
  flex-shrink:0;border:none;box-shadow:none}
.rep-card .rh .box svg{width:19px;height:19px;stroke-width:1.75;filter:none}
.rep-card .rh .t{font-size:14.5px;font-weight:800;color:var(--navy);line-height:1.4}
.rep-card .rh .c{font-size:10.5px;color:var(--muted);font-weight:700}
.rep-card .rb{padding:7px}
.rep-item{display:flex;align-items:center;gap:9px;width:100%;text-align:start;padding:10px 12px;
  border-radius:10px;font-size:13px;font-weight:700;color:var(--ink);transition:background .12s,color .12s}
.rep-item:hover{background:var(--navy-soft);color:var(--navy-mid)}
.rep-item .dot{width:5px;height:5px;border-radius:99px;background:var(--line-2);flex-shrink:0}
.rep-item:hover .dot{background:var(--gold)}
.rep-item .ar{margin-inline-start:auto;width:14px;height:14px;opacity:0;transition:opacity .12s}
.rep-item:hover .ar{opacity:.7}

.rep-back{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;
  color:var(--navy-mid);padding:6px 12px;border-radius:9px;background:var(--navy-soft);margin-bottom:10px}
.rep-back:hover{background:var(--line)}
.rep-back svg{width:14px;height:14px}

/* ===== لوحة التحكم التنفيذية ===== */
.kpis.k6{grid-template-columns:repeat(6,1fr)}
@media(max-width:1400px){.kpis.k6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.kpis.k6{grid-template-columns:repeat(2,1fr)}}
.kpi{position:relative;overflow:hidden}
.kpi .kh{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.kpi .ki{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;
  border:none;box-shadow:none}
.kpi .ki svg{width:16px;height:16px;stroke-width:1.9}
.kpi .kt{font-size:11px;font-weight:800;color:var(--muted);line-height:1.35}
.kpi .kv{font-size:21px;font-weight:900;font-family:'Noto Kufi Arabic';color:var(--ink);letter-spacing:-.3px}
.kpi .kv small{font-size:10.5px;font-weight:700;color:var(--muted);font-family:'Almarai'}
.kpi .kd{font-size:10.5px;font-weight:800;margin-top:4px;display:flex;align-items:center;gap:4px}
.kpi .kd.up{color:var(--green)}.kpi .kd.dn{color:var(--red)}.kpi .kd.flat{color:var(--muted)}
.kpi .kd svg{width:12px;height:12px}

.dash-2{display:grid;grid-template-columns:1.75fr 1fr;gap:15px;margin-bottom:16px}
.dash-3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:16px}
@media(max-width:1150px){.dash-2,.dash-3{grid-template-columns:1fr}}
.lgnd{display:flex;gap:13px;font-size:10.5px;font-weight:800}
.lgnd span{display:flex;align-items:center;gap:5px;color:var(--muted)}
.lgnd span::before{content:"";width:9px;height:3px;border-radius:2px}
.lgnd .l1::before{background:#1A3157}
.lgnd .l2::before{background:#B58A2A}

.ranks{padding:8px}
.rank{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px}
.rank:hover{background:var(--navy-soft)}
.rank .no{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;
  font-size:10.5px;font-weight:900;background:var(--gray-soft);color:var(--muted)}
.rank:first-child .no{background:var(--gold);color:#2E2205}
.rank .nm{flex:1;min-width:0;font-size:12.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank .nm small{display:block;font-weight:700;font-size:10.5px;color:var(--muted)}
.rank .vl{font-size:12.5px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
.rank .bar{height:4px;border-radius:99px;background:var(--gray-soft);margin-top:5px;overflow:hidden}
.rank .bar i{display:block;height:100%;background:var(--navy-mid)}
.ranks .empty{padding:22px;text-align:center;color:var(--muted);font-size:12.5px;font-weight:700}

.alert{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;margin-bottom:8px;
  border:1px solid var(--line);cursor:pointer;transition:border .12s}
.alert:hover{border-color:var(--navy-mid)}
.alert:last-child{margin-bottom:0}
.alert .ai{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;color:#fff}
.alert .ai svg{width:16px;height:16px}
.alert .at{flex:1;min-width:0}
.alert .at b{display:block;font-size:12.5px;font-weight:800}
.alert .at span{font-size:11px;color:var(--muted);font-weight:700}
.alert .av{font-size:13px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
.alert.ok{border-style:dashed}
.a-red{background:var(--red-soft);color:var(--red)}
.a-amber{background:var(--warn-soft);color:var(--warn)}
.a-blue{background:var(--info-soft);color:var(--info)}
.a-green{background:var(--green-soft);color:var(--green)}

.act{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px dashed var(--line);font-size:12px}
.act:last-child{border-bottom:none}
.act .ad{width:7px;height:7px;border-radius:99px;background:var(--navy-mid);flex-shrink:0}
.act .an{flex:1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act .aw{font-size:10.5px;color:var(--muted);font-weight:700;white-space:nowrap}
.chart-wrap{height:230px}

/* ===== شريط الجدول المضغوط ===== */
.qt-bar{gap:8px}
.qt-drop{position:relative}
.qt-drop .icon-btn svg{width:14px;height:14px}
.qt-drop .icon-btn.on{border-color:var(--gold);background:var(--gold-soft);color:#8A6717}
.qt-count{font-size:11.5px;font-weight:800;color:var(--muted);white-space:nowrap;margin-inline-end:4px}
.qt-bar .colmenu{min-width:230px;max-height:70vh;overflow-y:auto}
.qt-bar .colmenu label{gap:8px}
.tfoot:empty{display:none}

/* ===== بطاقات الخزائن ===== */
.trz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:13px}
.trz{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:14px 15px;cursor:pointer;transition:border .12s,transform .12s;text-align:start;width:100%}
.trz:hover{border-color:var(--line-2);background:var(--gray-soft)}
.trz .ic{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;
  border:none;box-shadow:none}
.trz .ic svg{width:19px;height:19px;stroke-width:1.8;filter:none}
.trz .bd{flex:1;min-width:0}
.trz .nm{font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trz .ty{font-size:10.5px;font-weight:700;color:var(--muted)}
.trz .bl{font-size:16px;font-weight:900;font-family:'Noto Kufi Arabic';white-space:nowrap;
  font-variant-numeric:tabular-nums;color:var(--navy)}
.trz .bl.neg{color:var(--red)}
.trz .bl small{font-size:10px;font-weight:700;color:var(--muted);font-family:'Almarai'}

/* ===== قائمة منسدلة خاصة بالنظام (بدل قائمة ويندوز) ===== */
.xsel{position:relative;display:block;width:100%}
.xsel.inline{display:inline-block;width:auto;min-width:150px;vertical-align:middle}
.xsel > select{position:absolute;width:0;height:0;opacity:0;pointer-events:none;padding:0;border:0}
.xsel-btn{display:flex;align-items:center;gap:8px;width:100%;text-align:start;
  padding:11px 13px;border-radius:10px;border:1.5px solid var(--line-2);background:#fff;
  font-size:13.5px;font-weight:700;color:var(--ink);transition:border .12s,box-shadow .12s}
.xsel-btn .lb{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xsel-btn .cv{width:15px;height:15px;color:var(--muted);flex-shrink:0;transition:transform .18s}
.xsel-btn:hover{border-color:var(--navy-mid)}
.xsel-btn.ph .lb{color:var(--muted);font-weight:600}
.xsel-btn[disabled]{background:var(--gray-soft);color:var(--muted);cursor:not-allowed}
.xsel.open .xsel-btn{border-color:var(--navy-mid);box-shadow:0 0 0 3px var(--navy-soft)}
.xsel.open .xsel-btn .cv{transform:rotate(180deg);color:var(--navy-mid)}
.xsel.sm .xsel-btn{padding:7.5px 12px;font-size:12px;font-weight:800;border-radius:9px;border-width:1.5px}
.xsel-pop{position:absolute;top:calc(100% + 6px);inset-inline-start:0;min-width:100%;z-index:95;
  display:none;background:#fff;border:1px solid var(--line);border-radius:13px;
  box-shadow:var(--shadow-lg);overflow:hidden}
.xsel.open .xsel-pop{display:block;animation:xpop .14s ease}
.xsel.up .xsel-pop{top:auto;bottom:calc(100% + 6px)}
@keyframes xpop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.xsel-s{padding:9px;border-bottom:1px solid var(--line);background:#FBFBFD}
.xsel-s input{width:100%;padding:8px 11px;border-radius:9px;border:1.5px solid var(--line);
  background:#fff;outline:none;font-size:12.5px;font-family:inherit;font-weight:700}
.xsel-s input:focus{border-color:var(--navy-mid)}
.xsel-list{max-height:264px;overflow-y:auto;padding:6px;scrollbar-width:thin}
.xsel-g{font-size:9.5px;font-weight:800;letter-spacing:1.4px;color:var(--muted);padding:10px 12px 5px}
.xsel-o{padding:9px 12px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;gap:8px;transition:background .1s}
.xsel-o:hover,.xsel-o.hv{background:var(--navy-soft);color:var(--navy-mid)}
.xsel-o.on{background:var(--navy-mid);color:#fff}
.xsel-o.on::after{content:"";margin-inline-start:auto;width:6px;height:6px;border-radius:99px;
  background:var(--gold);flex-shrink:0}
.xsel-o.dis{opacity:.42;cursor:not-allowed}
.xsel-o.dis:hover{background:transparent;color:inherit}
.xsel-empty{padding:18px;text-align:center;color:var(--muted);font-size:12.5px;font-weight:700}

/* ===== مربع اختيار عصري ===== */
.chk{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.chk input{position:absolute;opacity:0;width:0;height:0}
.chk .bx{width:21px;height:21px;border-radius:7px;border:1.5px solid var(--line-2);background:#fff;
  display:grid;place-items:center;flex-shrink:0;transition:all .14s}
.chk .bx svg{width:13px;height:13px;color:#fff;opacity:0;transform:scale(.6);transition:all .14s}
.chk input:checked + .bx{background:var(--navy-mid);border-color:var(--navy-mid)}
.chk input:checked + .bx svg{opacity:1;transform:none}
.chk:hover .bx{border-color:var(--navy-mid)}

/* حقول التاريخ */
input[type="date"]{font-family:inherit;font-weight:700}
input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;padding:2px}
input[type="date"]::-webkit-calendar-picker-indicator:hover{opacity:1}

/* ===== الأرقام التسلسلية ===== */
.ser-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;
  font-size:10.5px;font-weight:800;background:var(--navy-soft);color:var(--navy-mid);
  border:1.5px solid transparent;margin-top:5px;font-variant-numeric:tabular-nums}
.ser-btn.warn{background:var(--red-soft);color:var(--red);border-color:#E7C7C0}
.ser-btn.ok{background:var(--green-soft);color:var(--green)}
.ser-panel{background:#FBFAF7;border:1.5px dashed #D9C79A;border-radius:12px;
  padding:11px 13px;margin:-3px 0 8px}
.ser-panel .hd{font-size:11.5px;font-weight:800;color:var(--navy);margin-bottom:8px}
.ser-in{display:flex;gap:8px;margin-bottom:9px}
.ser-in input{flex:1;padding:9px 12px;border-radius:9px;border:1.5px solid var(--line-2);
  outline:none;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;background:#fff}
.ser-in input:focus{border-color:var(--navy-mid)}
.ser-chips{display:flex;flex-wrap:wrap;gap:6px}
.ser-chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line-2);
  border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums}
.ser-chip button{color:var(--red);font-weight:900;line-height:1;opacity:.55;font-size:13px}
.ser-chip button:hover{opacity:1}
.ser-hint{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.7}
.ser-pick{max-height:200px;overflow-y:auto;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:5px}
.ser-pick label{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;
  font-size:12.5px;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums}
.ser-pick label:hover{background:var(--navy-soft)}
.ser-pick .empty{padding:14px;text-align:center;color:var(--muted);font-size:12px}

.filebox{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px dashed var(--line-2);
  border-radius:12px;padding:11px 14px;font-size:12.5px;color:var(--muted)}
.filebox svg{width:17px;height:17px;color:var(--navy-mid);flex-shrink:0}
.filebox input{flex:1;font-size:12px}
.chipx{display:inline-flex;align-items:center;gap:6px;background:var(--navy-soft);color:var(--navy-mid);
  border-radius:999px;padding:4px 11px;font-size:11px;font-weight:800}

