/* ═══════════════════════════════════════════════════════════════════════
   party-pages.css — شاشات الأطراف: العملاء والموردون ومواقعهم والمندوبون
   وحدود الائتمان.

   القوائم تبني على نمط التقارير (co-*) والسجلات على record-page.css (rc-*).
   هنا ما ينقصهما فقط: إجراءات الصف روابطَ، والترقيم بتذييله، وشريط تقدّم
   التصدير داخل الصفحة بدل النافذة، وتبويبات ملف الطرف، ودليل أقسام النموذج.
   البادئة pt- (party).
   ═══════════════════════════════════════════════════════════════════════ */

/* ─────────── القائمة ─────────── */

/* زرّ الرأس رابطًا (<a class="co-btn">): بلا خطّ Bootstrap تحت النص */
a.co-btn, a.co-btn:hover, a.co-tag { text-decoration: none; }

/* حقل داخل بطاقة العمود الجانبي: العمود عمودي، فأساس rc-f (260px) يصير ارتفاعًا فارغًا */
.rc-note .rc-f, .rc-aside .rc-f { flex: none; }

/* الصف الثاني من التصفية: يُفتح بزر «تصفية متقدمة» ويأخذ عرض البطاقة كله */
.pt-more {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .75rem 1rem;
    padding: 1rem 1.4rem;
    border-bottom: 1px solid var(--co-line);
    background: #fbfcfe;
}

.pt-more label {
    display: block;
    font-size: .74rem;
    font-weight: 700;
    color: var(--co-mute);
    margin-bottom: .3rem;
}

.pt-more .co-field,
.pt-more .ui-input { width: 100%; }

.pt-more__end { display: flex; align-items: flex-end; gap: .5rem; }

/* شارة العدد على زر التصفية */
.pt-n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 99px;
    background: #047857;
    color: #fff;
    font-size: .66rem;
    font-weight: 800;
}

.pt-table .co-party__n a { color: inherit; text-decoration: none; }

.pt-code {
    display: inline-block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .74rem;
    font-weight: 700;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: .05rem .45rem;
    direction: ltr;
}

.pt-contact { display: flex; flex-direction: column; gap: .1rem; font-size: .82rem; }
.pt-contact a { color: #1a2b45; text-decoration: none; font-weight: 600; direction: ltr; unicode-bidi: isolate; }
.pt-contact a:hover { color: #047857; }
.pt-contact small { color: var(--co-mute); font-size: .72rem; }
.pt-mute { color: #b6bccb; }

/* الرصيد: مدين بالأحمر لأنه مال عند الغير، دائن بالأخضر */
.pt-bal {
    display: inline-flex;
    align-items: baseline;
    gap: .3rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    white-space: nowrap;
}
.pt-bal small { font-size: .68rem; font-weight: 700; }
.pt-bal--dr { color: #b91c1c; }
.pt-bal--cr { color: #047857; }
.pt-bal--zero { color: #b6bccb; font-weight: 600; }

/* إجراءات الصف: أيقونات رمادية بلا خلفية، تتلوّن عند المرور */
.pt-acts { display: flex; align-items: center; justify-content: flex-end; gap: .15rem; }

.pt-act {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 0;
    background: transparent;
    color: #8a93a6;
    font-size: .95rem;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.pt-act:hover { background: #ecfdf5; color: #047857; }
.pt-act--bad:hover { background: #fef2f2; color: #b91c1c; }
.pt-act:focus-visible { outline: 2px solid #047857; outline-offset: 1px; }

/* تذييل القائمة: «عرض س إلى ص من ن» ثم حجم الصفحة ثم الأرقام */
.pt-foot {
    display: flex;
    align-items: center;
    gap: .75rem 1.25rem;
    flex-wrap: wrap;
    padding: .85rem 1.4rem;
    border-top: 1px solid var(--co-line);
    font-size: .8rem;
    color: var(--co-mute);
}
.pt-foot b { color: #1a2b45; font-variant-numeric: tabular-nums; }
.pt-foot__size { display: inline-flex; align-items: center; gap: .4rem; }
.pt-foot__size select { padding: .3rem .5rem; }

.pt-pager { display: flex; align-items: center; gap: .25rem; margin-inline-start: auto; flex-wrap: wrap; }
.pt-pager button {
    min-width: 34px;
    height: 34px;
    padding: 0 .55rem;
    border-radius: 9px;
    border: 1px solid #e6e9f0;
    background: #fff;
    color: var(--co-mute);
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
    font-variant-numeric: tabular-nums;
}
.pt-pager button:hover:not(:disabled) { border-color: #a7f3d0; color: #047857; }
.pt-pager button.on { background: #047857; border-color: #047857; color: #fff; }
.pt-pager button:disabled { opacity: .45; cursor: default; }
.pt-pager span { padding: 0 .2rem; color: #b6bccb; }

/* تقدّم التصدير داخل البطاقة: لا نافذة تحجب الصفحة */
.pt-prog {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .7rem 1.4rem;
    border-bottom: 1px solid var(--co-line);
    background: #f0fdf4;
    font-size: .8rem;
    font-weight: 700;
    color: #065f46;
}
.pt-prog__bar { flex: 1; height: 7px; border-radius: 99px; background: #d1fae5; overflow: hidden; }
.pt-prog__bar span { display: block; height: 100%; background: #10b981; transition: width .2s; }
.pt-prog small { font-variant-numeric: tabular-nums; color: #047857; }

/* الجوّال: كل صف بطاقة، وعنوان كل خلية قبلها */
@media (max-width: 760px) {
    .pt-table thead { display: none; }
    .pt-table, .pt-table tbody, .pt-table tr, .pt-table td { display: block; width: 100%; }
    .pt-table tbody tr { border-bottom: 1px solid var(--co-line); padding: .6rem 0; }
    .pt-table tbody td { border: 0; padding: .3rem 1rem !important; display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
    .pt-table tbody td[data-label]::before { content: attr(data-label); font-size: .72rem; font-weight: 700; color: var(--co-mute); }
    .pt-table tbody td.pt-td-main { display: block; }
    .pt-table tfoot { display: none; }
    .pt-foot { justify-content: center; }
    .pt-pager { margin-inline-start: 0; }
}

/* ─────────── ملف الطرف ─────────── */

/* الحروف الأولى في صدر الملف بدل أيقونة عامة */
.pt-hero-ava { font-size: 1.15rem; font-weight: 800; letter-spacing: .02em; }

/* التبويبات: كل قسم من الملف بزر، والعدد بجانبه يقول ما فيه قبل فتحه */
.pt-tabbar {
    display: flex;
    gap: .3rem;
    flex-wrap: wrap;
    padding: .35rem;
    margin-bottom: 1.15rem;
    background: #fff;
    border: 1px solid var(--rc-line);
    border-radius: 13px;
}

.pt-tab {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem 1rem;
    border-radius: 10px;
    border: 0;
    background: transparent;
    color: var(--rc-mut);
    font: inherit;
    font-size: .88rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.pt-tab:hover { background: #f1f5f9; color: var(--rc-ink); }
.pt-tab.on { background: #0f172a; color: #fff; }
.pt-tab b {
    min-width: 20px;
    padding: 0 .4rem;
    border-radius: 99px;
    background: #eef2f7;
    color: #475569;
    font-size: .72rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.pt-tab.on b { background: rgba(255, 255, 255, .18); color: #fff; }
.pt-tab:focus-visible { outline: 2px solid var(--rc-accent); outline-offset: 2px; }

/* نوع المستند في سجل النشاط */
.pt-kind {
    display: inline-block;
    padding: .1rem .5rem;
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}
.pt-kind--INV { background: #ecfdf5; color: #047857; }
.pt-kind--CTR { background: #eff6ff; color: #1d4ed8; }
.pt-kind--QUO { background: #f5f3ff; color: #6d28d9; }
.pt-kind--TSK { background: #fff7ed; color: #c2410c; }
.pt-kind--PI  { background: #ecfeff; color: #0e7490; }

/* شريط تصفية كشف الحساب */
.pt-stmt-bar { display: flex; align-items: flex-end; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.pt-stmt-bar .rc-f { flex: 0 1 180px; }
.pt-stmt-quick { display: flex; gap: .3rem; flex-wrap: wrap; }
.pt-stmt-quick button {
    border: 1px solid var(--rc-line);
    background: #fff;
    border-radius: 99px;
    padding: .38rem .8rem;
    font: inherit;
    font-size: .78rem;
    font-weight: 700;
    color: var(--rc-mut);
    cursor: pointer;
}
.pt-stmt-quick button.on { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }

.pt-tbl-open td { background: #f8fafc; font-weight: 700; color: var(--rc-mut); }
.rc-tbl tfoot td { background: var(--rc-ground); font-weight: 800; border-top: 2px solid var(--rc-line); padding: .6rem .7rem; }
.rc-tbl .pt-dr { color: #b91c1c; }
.rc-tbl .pt-cr { color: #047857; }
.rc-tbl a { color: var(--rc-accent); text-decoration: none; font-weight: 700; }
.rc-tbl a:hover { text-decoration: underline; }
.pt-scroll { overflow-x: auto; }

/* بطاقات المواقع داخل الملف */
.pt-locs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .8rem; }
.pt-loc {
    border: 1px solid var(--rc-line);
    border-radius: 12px;
    padding: .85rem .95rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: border-color .15s, box-shadow .15s;
}
.pt-loc:hover { border-color: #a7f3d0; box-shadow: 0 4px 14px rgba(4, 120, 87, .08); }
.pt-loc__h { display: flex; align-items: center; gap: .45rem; font-weight: 800; color: var(--rc-ink); }
.pt-loc__h .bi { color: #047857; }
.pt-loc__s { font-size: .8rem; color: var(--rc-mut); }
.pt-loc__f { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: auto; }

/* الخريطة في تفاصيل الموقع: إطار للعرض لا للتعديل */
.pt-map { width: 100%; height: 340px; border: 0; border-radius: 12px; display: block; background: #eef2f7; }

/* ─────────── النموذج ─────────── */

/* دليل الأقسام في العمود الجانبي: النموذج طويل، والقفز إلى القسم أسرع من التمرير */
.pt-secnav { display: flex; flex-direction: column; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.pt-secnav button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .6rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    font: inherit;
    font-size: .83rem;
    font-weight: 700;
    color: var(--rc-mut);
    text-align: start;
    cursor: pointer;
}
.pt-secnav button:hover { background: #f1f5f9; color: var(--rc-ink); }
.pt-secnav .bi { color: var(--rc-faint); }
.pt-secnav button:hover .bi { color: #047857; }
.pt-secnav small { margin-inline-start: auto; font-size: .7rem; color: #b6bccb; font-weight: 700; }

/* القسم المطوي: بيانات تكميلية لا يحتاجها كل عميل */
.pt-fold { border: 0; background: transparent; padding: 0; font: inherit; color: var(--rc-accent); font-size: .8rem; font-weight: 700; cursor: pointer; }
.rc-card[id] { scroll-margin-top: 96px; }

/* ─────────── حدود الائتمان ─────────── */
.pt-use { display: flex; align-items: center; gap: .5rem; min-width: 150px; }
.pt-use__bar { flex: 1; height: 7px; border-radius: 99px; background: #eef2f7; overflow: hidden; }
.pt-use__bar span { display: block; height: 100%; }
.pt-use b { font-size: .76rem; font-variant-numeric: tabular-nums; min-width: 44px; text-align: end; }

.pt-limit-edit { display: inline-flex; align-items: center; gap: .3rem; }
.pt-limit-edit input { width: 130px; text-align: end; direction: ltr; }

.pt-legend { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .74rem; color: var(--co-mute); padding: .7rem 1.4rem; border-top: 1px solid var(--co-line); }
.pt-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-inline-end: .3rem; vertical-align: -1px; }

@media print {
    .pt-acts, .pt-foot, .pt-more, .pt-prog, .pt-tabbar, .pt-stmt-bar { display: none !important; }
}
