/* ===========================================================================
   زیرسیستم حسابداری — استایل نمایشی هم‌راستا با تم Clinical Trust (--jf-*)
   =========================================================================== */

.fin-page { --fin-gap: var(--jf-sp-4, 16px); }

/* ---------- نوار بخش ---------- */
.fin-section-head {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: var(--jf-sp-5, 22px) 0 var(--jf-sp-3, 12px);
}
.fin-section-head__bar {
    width: 5px; height: 24px; border-radius: 999px;
    background: linear-gradient(160deg, var(--jf-primary, #1f9a8a), var(--jf-acc, #c69749));
    box-shadow: 0 3px 10px -3px color-mix(in srgb, var(--jf-primary, #1f9a8a) 60%, transparent);
}
.fin-section-head__title { font-weight: 800; font-size: 1.08rem; color: var(--jf-text, #1d2c38); letter-spacing: -.01em; }
.fin-section-head__count {
    margin-inline-start: auto; font-size: .78rem; font-weight: 700;
    color: var(--jf-primary-dark, #0f6f62);
    background: linear-gradient(135deg, color-mix(in srgb, var(--jf-primary,#1f9a8a) 18%, #fff), color-mix(in srgb, var(--jf-acc,#c69749) 14%, #fff));
    border: 1px solid color-mix(in srgb, var(--jf-primary,#1f9a8a) 22%, transparent);
    padding: 3px 12px; border-radius: 999px;
}

/* ---------- کارت حوزه ---------- */
.fin-card {
    position: relative;
    height: 100%;
    border: 1px solid var(--jf-border, #e6dfd0);
    border-radius: var(--jf-radius-lg, 18px);
    background:
        radial-gradient(120% 100% at 100% 0%, color-mix(in srgb, var(--fin-accent, #1f9a8a) 7%, transparent), transparent 55%),
        linear-gradient(180deg, #fff, color-mix(in srgb, var(--fin-accent, #1f9a8a) 4%, #fff));
    padding: var(--jf-sp-4, 18px);
    overflow: hidden;
    transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
    display: flex; flex-direction: column;
}
.fin-card::before {
    content: ""; position: absolute; inset-inline: 0; inset-block-start: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--fin-accent, var(--jf-primary, #1f9a8a)), color-mix(in srgb, var(--fin-accent,#1f9a8a) 35%, transparent));
}
.fin-card:hover {
    box-shadow: 0 22px 48px -26px color-mix(in srgb, var(--fin-accent,#1f9a8a) 75%, rgba(12,34,51,.5));
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--fin-accent, #1f9a8a) 55%, var(--jf-border,#e6dfd0));
}
.fin-card__head { display: flex; align-items: flex-start; gap: .7rem; margin-bottom: .6rem; }
.fin-card__icon {
    flex: none; width: 48px; height: 48px; border-radius: 14px;
    display: grid; place-items: center;
    color: #fff;
    background: linear-gradient(150deg, var(--fin-accent, #1f9a8a), color-mix(in srgb, var(--fin-accent,#1f9a8a) 60%, #061320));
    box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--fin-accent,#1f9a8a) 75%, transparent);
}
.fin-card__no { font-size: .72rem; font-weight: 700; color: var(--jf-text-muted, #5f6c77); }
.fin-card__title { font-size: 1.08rem; font-weight: 800; color: var(--jf-text, #1d2c38); line-height: 1.4; }
.fin-card__tag { font-size: .85rem; color: var(--jf-text-muted, #5f6c77); margin-bottom: .8rem; flex: 1; }
.fin-card__subs { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .9rem; }
.fin-card__sub {
    font-size: .72rem; color: var(--jf-text-soft, #41505c);
    background: color-mix(in srgb, var(--fin-accent, #1f9a8a) 7%, #fff);
    border: 1px solid color-mix(in srgb, var(--fin-accent, #1f9a8a) 20%, transparent);
    padding: 2px 9px; border-radius: 999px; white-space: nowrap;
    transition: background .2s ease;
}
.fin-card:hover .fin-card__sub { background: color-mix(in srgb, var(--fin-accent, #1f9a8a) 13%, #fff); }
.fin-card__more { font-size: .72rem; color: var(--fin-accent, var(--jf-primary, #1f9a8a)); align-self: center; font-weight: 700; }

.fin-card--heart {
    background:
        radial-gradient(130% 110% at 100% 0%, color-mix(in srgb, var(--jf-acc,#c69749) 16%, transparent), transparent 55%),
        linear-gradient(160deg, color-mix(in srgb, var(--jf-acc,#c69749) 9%, #fff), #fff);
    border-color: color-mix(in srgb, var(--jf-acc,#c69749) 35%, var(--jf-border,#e6dfd0));
}
.fin-card--heart .fin-card__icon { background: linear-gradient(150deg, var(--jf-acc-soft,#e3bd7b), #a87a2e); box-shadow: 0 8px 18px -8px rgba(168,122,46,.7); }

/* ---------- KPI tile ---------- */
.fin-kpi {
    position: relative;
    height: 100%;
    border: 1px solid var(--jf-border, #e6dfd0);
    border-radius: var(--jf-radius-lg, 18px);
    background:
        radial-gradient(110% 90% at 100% 0%, color-mix(in srgb, var(--fin-accent, #1f9a8a) 9%, transparent), transparent 60%),
        linear-gradient(180deg, #fff, color-mix(in srgb, var(--fin-accent, #1f9a8a) 4%, #fff));
    padding: var(--jf-sp-4, 18px);
    overflow: hidden;
    transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.fin-kpi:hover {
    box-shadow: 0 20px 44px -26px color-mix(in srgb, var(--fin-accent,#1f9a8a) 70%, rgba(12,34,51,.5));
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--fin-accent,#1f9a8a) 45%, var(--jf-border,#e6dfd0));
}
.fin-kpi__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .6rem; }
.fin-kpi__icon {
    width: 44px; height: 44px; border-radius: 13px;
    display: grid; place-items: center;
    color: #fff;
    background: linear-gradient(150deg, var(--fin-accent, #1f9a8a), color-mix(in srgb, var(--fin-accent,#1f9a8a) 60%, #061320));
    box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--fin-accent,#1f9a8a) 75%, transparent);
}
.fin-kpi__trend { font-size: .76rem; font-weight: 700; display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 999px; }
.fin-kpi__trend--up { color: var(--jf-success, #157567); background: var(--jf-success-soft, rgba(21,117,103,.12)); }
.fin-kpi__trend--down { color: var(--jf-error, #b3402f); background: var(--jf-error-soft, rgba(179,64,47,.12)); }
.fin-kpi__value { font-size: 1.55rem; font-weight: 800; color: var(--jf-text, #1d2c38); line-height: 1.1; direction: rtl; }
.fin-kpi__label { font-size: .85rem; color: var(--jf-text-muted, #5f6c77); margin-top: 4px; }

/* ---------- پنل / جدول ---------- */
.fin-panel {
    border: 1px solid var(--jf-border, #e6dfd0);
    border-radius: var(--jf-radius-lg, 18px);
    background: var(--jf-surface, #fff);
    overflow: hidden; height: 100%;
    box-shadow: 0 10px 30px -28px rgba(12,34,51,.5);
}
.fin-panel__head {
    display: flex; align-items: center; gap: .55rem;
    padding: var(--jf-sp-3, 14px) var(--jf-sp-4, 18px);
    border-bottom: 1px solid var(--jf-border, #e6dfd0);
    background: linear-gradient(180deg, color-mix(in srgb, var(--jf-primary,#1f9a8a) 8%, #fff), var(--jf-surface-muted, #f6f2ea));
}
.fin-panel__head .fin-panel__title { font-weight: 800; color: var(--jf-text, #1d2c38); }
.fin-panel__body { padding: var(--jf-sp-3, 14px) var(--jf-sp-4, 18px); }

.fin-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.fin-table th {
    text-align: right; font-weight: 700; color: var(--jf-text-soft, #41505c);
    padding: 11px 12px; border-bottom: 2px solid var(--jf-border-strong, #d9d0bd);
    position: sticky; top: 0; z-index: 1;
    background: linear-gradient(180deg, color-mix(in srgb, var(--jf-primary,#1f9a8a) 6%, #fff), #fff);
}
.fin-table td { padding: 9px 12px; border-bottom: 1px solid var(--jf-divider, #eee5d4); color: var(--jf-text, #1d2c38); }
.fin-table tbody tr:hover td { background: var(--jf-surface-muted, #faf7f0); }
.fin-table tbody tr:last-child td { border-bottom: none; }
.fin-num { direction: ltr; text-align: left; font-variant-numeric: tabular-nums; font-weight: 600; }
.fin-code { direction: ltr; font-family: var(--jf-font-en, monospace); color: var(--jf-navy, #123a5a); font-weight: 700; }

/* ---------- chip شدت/وضعیت ---------- */
.fin-pill { display: inline-flex; align-items: center; gap: 5px; font-size: .76rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.fin-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.fin-pill--ok    { color: var(--jf-success, #157567); background: var(--jf-success-soft, rgba(21,117,103,.12)); }
.fin-pill--info  { color: var(--jf-info, #1f6f9a);   background: var(--jf-info-soft, rgba(31,111,154,.12)); }
.fin-pill--warn  { color: #9a6a14;                    background: rgba(198,151,73,.16); }
.fin-pill--error { color: var(--jf-error, #b3402f);   background: var(--jf-error-soft, rgba(179,64,47,.12)); }
.fin-pill--muted { color: var(--jf-text-muted, #5f6c77); background: var(--jf-surface-muted, #f0ece2); }

/* ---------- ردیف محاسبه ---------- */
.fin-calc { border: 1px solid var(--jf-border, #e6dfd0); border-radius: var(--jf-radius-lg, 18px); overflow: hidden; }
.fin-calc__row { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; border-bottom: 1px dashed var(--jf-divider, #eee5d4); }
.fin-calc__row:last-child { border-bottom: none; }
.fin-calc__row--total { background: var(--jf-primary-soft, rgba(31,154,138,.1)); font-weight: 800; }
.fin-calc__row--total .fin-num { color: var(--jf-primary-dark, #0f6f62); }

/* ---------- هشدارها ---------- */
.fin-alert { display: flex; gap: .7rem; align-items: flex-start; padding: 12px 14px; border-radius: var(--jf-radius-md, 12px); border: 1px solid var(--jf-border, #e6dfd0); margin-bottom: 8px; background: var(--jf-surface, #fff); }
.fin-alert__dot { flex: none; width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; }
.fin-alert--error .fin-alert__dot { background: var(--jf-error, #b3402f); }
.fin-alert--warning .fin-alert__dot { background: var(--jf-acc, #c69749); }
.fin-alert--info .fin-alert__dot { background: var(--jf-info, #1f6f9a); }
.fin-alert__body { flex: 1; }
.fin-alert__title { font-weight: 700; color: var(--jf-text, #1d2c38); font-size: .92rem; }
.fin-alert__detail { color: var(--jf-text-muted, #5f6c77); font-size: .82rem; }
.fin-alert__date { color: var(--jf-text-muted, #5f6c77); font-size: .76rem; white-space: nowrap; }
