/*
 * Collection claims register — twelve cells per claim: an eight-cell identity strip, claim position + next action, client position + debtor position.
 * The register is a working screen, not a printed spreadsheet: wide desktop keeps a
 * single readable row; compact screens switch to cards before text becomes cramped.
 */
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table-wrap{
  width:100%;
  margin:0;
  overflow-x:auto;
  overflow-y:visible;
  border:1px solid #d6e3de;
  border-radius:14px;
  background:#fff;
  scrollbar-gutter:stable;
}
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table{
  width:100%;
  min-width:1180px;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  white-space:normal;
  direction:inherit;
}
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table th,
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table td{
  min-width:0;
  max-width:none;
  padding:13px 12px;
  white-space:normal;
  vertical-align:top;
  overflow-wrap:break-word;
  word-break:normal;
  text-align:start;
  line-height:1.55;
  border-bottom:1px solid #e7efec;
}
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:linear-gradient(180deg,#edf6f2,#e5f0ec);
  color:#174f43;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table td>b,
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table td>strong{
  display:block;
  color:var(--navy,#142d49);
}
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table td>small{
  display:block;
  margin-top:4px;
  color:#6b7b89;
}
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table tbody tr:last-child td{border-bottom:0}
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table tbody tr:nth-child(even) td{background:#fbfdfc}
:is(.collection-claims-index,.client-claim-roll) .collection-claims-table tbody tr:hover td{background:#f6faf8}
.collection-claim-open-row{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}
/* مؤشر الصف منطقي (بداية السطر في الاتجاهين) وحلقة التركيز خضراء بتباين ≥3:1 بدل الذهبي */
.collection-claim-open-row>td:first-child{border-inline-start:3px solid transparent}
.collection-claim-open-row:hover>td:first-child,
.collection-claim-open-row:focus-visible>td:first-child{border-inline-start-color:var(--hasad-green-700,#0c7259)}
.collection-claim-open-row:focus-visible{outline:2px solid var(--hasad-green-700,#0c7259);outline-offset:-2px}
.collection-follow-cell{
  display:table-cell;
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
}
.collection-follow-block{display:grid;gap:4px;min-width:0}
.collection-follow-block+.collection-follow-block{
  margin-top:10px;
  padding-top:9px;
  border-top:1px dashed #d7e2de;
}
.collection-follow-label{
  margin:0!important;
  color:#557068!important;
  font-size:.67rem;
  font-weight:850;
}
.collection-follow-block>b,
.collection-follow-block>span{
  min-width:0;
  color:var(--navy,#142d49);
  font-size:.81rem;
  font-weight:750;
  overflow-wrap:break-word;
  word-break:normal;
}
.collection-follow-date{
  margin:0!important;
  /* HQ-0050: ≥4.5:1 on the follow-cell surfaces (#fcfdfc / #edf7f2) and ≥.75rem. */
  color:var(--muted,#5c6a64)!important;
  font-size:.75rem;
}
.collection-claim-owner{font-weight:750}
.collection-claim-opponents{font-weight:650}

@page collection-claims-a4{size:A4 landscape;margin:10mm 8mm 13mm}
@media print{
  body.hasad-standard-print:has(.collection-claims-index,.client-claim-roll) #view{page:collection-claims-a4}
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll){overflow:visible!important}
  body.hasad-standard-print .client-claim-roll{padding:0!important;border:0!important}
  body.hasad-standard-print .collection-claims-index{padding:0!important}
  body.hasad-standard-print .collection-claims-index>.panel-head{
    margin:0!important;
    padding:2.5mm 3mm!important;
    border:1px solid #b9cec6;
    border-bottom:0;
    border-radius:2mm 2mm 0 0;
    background:#edf6f2!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table-wrap{
    overflow:visible!important;
    border:1px solid #aebfb9!important;
    border-radius:0!important;
  }
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    white-space:normal!important;
    font-size:7pt!important;
  }
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table thead{display:table-header-group}
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table tr{break-inside:avoid;page-break-inside:avoid}
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table th,
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table td{
    padding:1.35mm!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.45!important;
  }
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table th{
    background:#0b6f5d!important;
    color:#fff!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table thead tr,
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table tbody tr{display:grid!important;grid-template-columns:minmax(104px,.85fr) minmax(88px,.7fr) minmax(120px,1.1fr) minmax(88px,.7fr) minmax(130px,1.1fr) minmax(120px,1.1fr) minmax(92px,.8fr) minmax(92px,.8fr)}
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table tbody td:nth-child(9),
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table tbody td:nth-child(11){grid-column:1/5}
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table tbody td:nth-child(10),
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claims-table tbody td:nth-child(12){grid-column:5/9}
  body.hasad-standard-print :is(.collection-claims-index,.client-claim-roll) .collection-claim-box-title{font-weight:800;text-align:center}
}


/* توزيع العملاء على موظفي التحصيل */
.collection-portfolio-table td small{display:block;color:var(--muted,#6b7280);font-size:12px}
.collection-portfolio-actions{white-space:nowrap}
.collection-portfolio-actions button{margin-inline-start:6px}
.collection-portfolio-table td .badge{margin-inline-end:4px}

/* التوزيع من بطاقة الموظف: اختيار الموظف ثم تحديد عملائه دفعة واحدة */
.portfolio-mode-tabs{display:flex;gap:8px;margin:12px 0}
.portfolio-mode-tabs button{min-width:132px}
.portfolio-agent-list,.responsibility-owner-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:14px}
.portfolio-agent-list button,.responsibility-owner-list button{display:block;width:100%;text-align:inherit;padding:10px 12px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:var(--surface,#fff);cursor:pointer}
.portfolio-agent-list button b,.responsibility-owner-list button b{display:block;font-size:14px}
.portfolio-agent-list button small,.responsibility-owner-list button small{display:block;margin-top:4px;color:var(--muted,#6b7280);font-size:12px}
.portfolio-agent-list button.active,.responsibility-owner-list button.active{border-color:var(--brand,#0f766e);box-shadow:0 0 0 1px var(--brand,#0f766e) inset}
.portfolio-agent-actions,.responsibility-owner-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:var(--surface-muted,#f9fafb)}
.collection-portfolio-agent-panel td small,.responsibility-owner-panel td small{display:block;color:var(--muted,#6b7280);font-size:12px}
.portfolio-filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:var(--surface,#fff)}
.portfolio-filter-search{flex:1 1 240px;min-width:200px;padding:8px 10px;border:1px solid var(--line,#e5e7eb);border-radius:8px;font:inherit}
.portfolio-filter-chips{display:flex;gap:6px;flex-wrap:wrap}
.portfolio-filter-chips button.active{border-color:var(--brand,#0f766e);box-shadow:0 0 0 1px var(--brand,#0f766e) inset}
.portfolio-filter-count,.portfolio-selected-count{color:var(--muted,#6b7280);font-size:13px;white-space:nowrap}
.portfolio-filter-count b,.portfolio-selected-count b{color:inherit;font-variant-numeric:tabular-nums}
tr[data-portfolio-row][hidden]{display:none}
.collection-portfolio-agent-panel .claim-instrument-option,.responsibility-owner-panel .claim-instrument-option{align-items:flex-start}
.collection-portfolio-agent-panel .claim-instrument-option b,.responsibility-owner-panel .claim-instrument-option b{display:block}



/* Internal claim notes are operational-only and never part of printed/exported claim documents. */
.collection-internal-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.collection-internal-note-claim{grid-column:1/-1}
.collection-internal-note-side{display:grid;gap:10px;padding:12px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--surface,#fff)}
.collection-internal-note-side h3{margin:0;font-size:.95rem}
.collection-internal-note-log{display:grid;gap:8px}
.collection-internal-note-log article{padding:10px;border:1px solid #e1e9e6;border-radius:10px;background:#fbfdfc}
.collection-internal-note-log p{margin:0 0 6px;white-space:pre-wrap}
.collection-internal-note-log small{color:var(--muted,#6b7280)}
.collection-internal-note-side form{display:grid;gap:8px}
.collection-internal-note-side textarea{min-height:88px}
@media screen and (max-width:760px){.collection-internal-notes-grid{grid-template-columns:1fr}}
@media print{.collection-internal-notes{display:none!important}}

