/* ═══ صفحة التبرع الكامل — تايم لاين المراحل ═══ */

.fd-timeline {
    position: relative;
    padding-inline-start: 46px;
}
/* الخط الرأسي الواصل بين العقد */
.fd-timeline::before {
    content: '';
    position: absolute;
    inset-inline-start: 17px;
    top: 20px;
    bottom: 40px;
    width: 3px;
    border-radius: 3px;
    background: #e6dfe2;
}

.fd-stage { position: relative; margin-bottom: 28px; }

/* العقدة الدائرية */
.fd-node {
    position: absolute;
    inset-inline-start: -46px;
    top: 6px;
    width: 37px;
    height: 37px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #e6dfe2;
    color: #b9a9b1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    z-index: 1;
    transition: all .3s;
}
.fd-node i { display: none; font-size: .85rem; }

.fd-stage.fd-active .fd-node {
    border-color: var(--bs-primary, rgb(90,25,50));
    color: var(--bs-primary, rgb(90,25,50));
    box-shadow: 0 0 0 5px rgba(90,25,50,.12);
}
.fd-stage.fd-done .fd-node {
    background: var(--bs-primary, rgb(90,25,50));
    border-color: var(--bs-primary, rgb(90,25,50));
    color: #fff;
}
.fd-stage.fd-done .fd-node .fd-num { display: none; }
.fd-stage.fd-done .fd-node i { display: block; }

/* البطاقة */
.fd-card {
    background: #fff;
    border: 1px solid #eee4e9;
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow .3s;
}
.fd-stage.fd-active .fd-card { box-shadow: 0 10px 30px rgba(90,25,50,.08); border-color: #d9c3ce; }

.fd-stage-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background: #faf6f8;
}
.fd-stage-title { font-weight: 700; }
.fd-stage.fd-active .fd-stage-title { color: var(--bs-primary, rgb(90,25,50)); }

.fd-stage-state::after {
    font-size: .78rem;
    padding: 3px 12px;
    border-radius: 20px;
}
.fd-stage.fd-locked .fd-stage-state::after { content: 'مقفلة'; background: #eee; color: #999; }
.fd-stage.fd-active .fd-stage-state::after { content: 'الحالية'; background: var(--bs-secondary, #D69832); color: #fff; }
.fd-stage.fd-done  .fd-stage-state::after { content: 'مكتملة ✓'; background: #d9efe0; color: #1c7c40; }

.fd-stage-body { padding: 20px; }

/* المرحلة المقفلة: الرأس فقط */
.fd-stage.fd-locked .fd-stage-body { display: none; }
.fd-stage.fd-locked .fd-card { opacity: .6; }
/* المكتملة تبقى مطوية أيضاً لكن بمظهر ناجز */
.fd-stage.fd-done .fd-stage-body { display: none; }

/* المكتملة غير المختومة تُفتح بالنقر على رأسها للمراجعة أو التعديل قبل الدفع.
   بلا هذا المؤشّر لا يعرف المتكفل أن الرجوع ممكن أصلاً. */
.fd-stage.fd-done:not(.fd-sealed) .fd-stage-head { cursor: pointer; }
.fd-stage.fd-done:not(.fd-sealed) .fd-stage-head:hover { background: #f3ebef; }
.fd-stage.fd-done:not(.fd-sealed) .fd-stage-state::before {
    content: 'تعديل';
    font-size: .78rem;
    color: var(--bs-primary, rgb(90,25,50));
    text-decoration: underline;
    margin-inline-end: 10px;
}
.fd-stage.fd-done:not(.fd-sealed) .fd-stage-head:hover .fd-stage-state::before { opacity: .75; }

/* المختومة بعد الدفع: لا رجوع — لا مؤشّر ولا كلمة تعديل */
.fd-stage.fd-sealed .fd-stage-head { cursor: default; }

/* ── محتوى المرحلة ١ ── */
.fd-project-img { width: 220px; max-width: 100%; flex-shrink: 0; }
.fd-project-img img { width: 100%; border-radius: 12px; aspect-ratio: 4/3; object-fit: cover; }
.fd-project-title { font-size: 1.15rem; font-weight: 800; }
.fd-code { color: var(--bs-secondary, #D69832); font-weight: 700; margin: 4px 0 8px; }
.fd-excerpt { color: #666; font-size: .92rem; }
.fd-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.fd-badge {
    background: #faf6f8;
    border: 1px solid #eee4e9;
    border-radius: 20px;
    padding: 4px 12px;
    font-size: .82rem;
}
.fd-badge i { color: var(--bs-secondary, #D69832); margin-inline-end: 4px; }

.fd-amounts { background: #faf6f8; border-radius: 12px; padding: 12px 16px; max-width: 420px; }
.fd-amount-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: .92rem; }
.fd-amount-main { border-top: 1px dashed #d9c3ce; margin-top: 6px; padding-top: 9px; font-size: 1.02rem; }
.fd-amount-main b { color: var(--bs-primary, rgb(90,25,50)); font-size: 1.15rem; }

/* ── صف العنوان: العنوان يميناً والألسنة في الصف نفسه ── */
.fd-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.fd-title-main { min-width: 0; }
.fd-title-main .fd-code { margin-bottom: 0; }

/* ── ألسنة المشروع داخل المرحلة ١ ── */
.fd-tabs { margin-bottom: 4px; }
.fd-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    justify-content: flex-end;
}
.fd-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: 0;
    border-radius: 9px;
    padding: 8px 14px;
    font-size: .88rem;
    font-weight: 600;
    color: #7b6b73;
    cursor: pointer;
    transition: all .2s;
}
.fd-tab-btn:hover { background: #f2e9ee; }
.fd-tab-btn.active {
    background: var(--bs-primary, rgb(90,25,50));
    color: #fff;
}
.fd-tab-btn i { font-size: .85rem; }

/* وسم اللسان الخاص بالمتكفل */
.fd-tab-flag {
    background: var(--bs-secondary, #D69832);
    color: #fff;
    font-size: .66rem;
    font-weight: 700;
    border-radius: 20px;
    padding: 1px 8px;
}
.fd-tab-btn.active .fd-tab-flag { background: #fff; color: var(--bs-primary, rgb(90,25,50)); }
.fd-tab-sponsor:not(.active) { color: var(--bs-primary, rgb(90,25,50)); }

/* مطويّ افتراضياً — البطاقة تبقى بمساحتها حتى يُفتح لسان */
.fd-tabs-body {
    display: none;
    margin-top: 16px;
    padding: 16px 2px 4px;
    border-top: 1px solid #eee4e9;
    max-height: 340px;
    overflow-y: auto;
}
.fd-tabs.tab-open .fd-tabs-body { display: block; }
.fd-tab-pane { display: none; }
.fd-tab-pane.active { display: block; animation: fdFadeTab .2s ease; }
@keyframes fdFadeTab { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.fd-prose { font-size: .92rem; line-height: 1.9; color: #444; }
.fd-prose img { max-width: 100%; border-radius: 8px; }
.fd-prose p:last-child { margin-bottom: 0; }

.fd-update {
    border-inline-start: 3px solid var(--bs-secondary, #D69832);
    padding-inline-start: 12px;
    margin-bottom: 14px;
}
.fd-card-img { width: 100%; border-radius: 10px; }

.fd-doc {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #eee4e9;
    border-radius: 10px;
    padding: 11px 14px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #444;
    font-size: .9rem;
    transition: all .2s;
}
.fd-doc:hover { border-color: var(--bs-secondary, #D69832); background: #fdf9f3; color: #444; }
.fd-doc > i:first-child { color: var(--bs-primary, rgb(90,25,50)); }
.fd-doc-dl { margin-inline-start: auto; color: #b9a9b1; }

/* التأكيد */
.fd-confirm {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fdf9f3;
    border: 1px solid #f0e2c9;
    border-radius: 12px;
    padding: 12px 16px;
    margin-top: 18px;
    cursor: pointer;
}
.fd-confirm input { width: 19px; height: 19px; accent-color: var(--bs-primary, rgb(90,25,50)); flex-shrink: 0; }

/* زر المتابعة */
.fd-next {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bs-primary, rgb(90,25,50));
    color: #fff;
    border: 0;
    border-radius: 12px;
    padding: 10px 26px;
    font-weight: 700;
    margin-top: 16px;
    text-decoration: none;
    transition: all .25s;
}
.fd-next:hover:not(:disabled) { background: #3f1123; color: #fff; }
.fd-next:disabled { opacity: .45; cursor: not-allowed; }

/* ── المرحلة ٢ ── */
.fd-account-ok {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f2faf5;
    border: 1px solid #cdeeda;
    border-radius: 12px;
    padding: 12px 16px;
}
.fd-account-ok i { color: #1c7c40; font-size: 1.6rem; }
.fd-hint { color: #666; font-size: .92rem; margin-top: 12px; }

/* ── المرحلة ٣ ── */
.fd-options { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.fd-option {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #eee4e9;
    border-radius: 12px;
    padding: 11px 14px;
    cursor: pointer;
    transition: all .2s;
}
.fd-option:has(input:checked) { border-color: var(--bs-secondary, #D69832); background: #fdf9f3; }
.fd-option input { width: 18px; height: 18px; accent-color: var(--bs-secondary, #D69832); flex-shrink: 0; }
.fd-option i { color: var(--bs-secondary, #D69832); margin-inline-end: 4px; }

/* ── مسارا الإكمال: بنفسي / عبر مندوب ── */
.fd-paths { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.fd-path {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    text-align: start;
    background: #fff;
    border: 1px solid #eee4e9;
    border-radius: 14px;
    padding: 18px;
    cursor: pointer;
    transition: all .22s;
}
.fd-path:hover { border-color: var(--bs-secondary, #D69832); background: #fdf9f3; transform: translateY(-2px); }
.fd-path.active { border-color: var(--bs-primary, rgb(90,25,50)); box-shadow: 0 0 0 3px rgba(90,25,50,.1); }
.fd-path > i { font-size: 1.5rem; color: var(--bs-secondary, #D69832); }
.fd-path-title { font-weight: 800; }
.fd-path-desc { font-size: .84rem; color: #777; line-height: 1.7; }

.fd-branch { display: none; }

.fd-agent-ok {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f2faf5;
    border: 1px solid #cdeeda;
    border-radius: 12px;
    padding: 12px 16px;
    margin-bottom: 14px;
}
.fd-agent-ok i { color: #1c7c40; font-size: 1.6rem; }

.fd-steps { padding-inline-start: 20px; margin: 0; color: #555; font-size: .9rem; }
.fd-steps li { padding: 4px 0; }

/* ── الدفع ── */
.fd-pay-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-bottom: 14px; }
.fd-pay-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #faf6f8;
    border-radius: 12px;
    padding: 14px 18px;
    font-weight: 700;
    margin-bottom: 16px;
}
.fd-pay-summary b { color: var(--bs-primary, rgb(90,25,50)); font-size: 1.3rem; }
.fd-pay-btn { width: 100%; justify-content: center; padding: 13px; font-size: 1.05rem; }

@media (max-width: 575px) {
    .fd-timeline { padding-inline-start: 38px; }
    .fd-timeline::before { inset-inline-start: 14px; }
    .fd-node { inset-inline-start: -38px; width: 31px; height: 31px; }
    .fd-project-img { width: 100%; }
}

/* شارة «مشروع كامل باسمك» — تُطمئن المتكفّل أن بطاقته ستُصدر نظيفة برقم جديد،
   وتفسّر له غياب سطر «تم جمعه» الذي يراه في صفحة المساهمة العادية. */
.fd-mint-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 15px;
    border-radius: 11px;
    background: #fdf6ec;
    border: 1px solid #f0dcc0;
    color: #6a5433;
    font-size: .9rem;
    line-height: 1.8;
}
.fd-mint-note i { color: #D69832; font-size: 1.05rem; margin-top: 3px; flex-shrink: 0; }

/* ═══ زر التواصل مع المندوب في مرحلة الدفع ═══
   للمتكفّل الذي يملك المال ولا يملك وقتاً للإجراءات — يفتح واتساب برسالة جاهزة
   فيها المشروع ورمزه ومبلغه ورابطه. */
.fd-agent { margin-top: 22px; }

.fd-agent-or {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #b9a9b1;
    font-size: .85rem;
    margin-bottom: 16px;
}
.fd-agent-or::before,
.fd-agent-or::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #eee4e9;
}

.fd-agent-btn {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    padding: 14px 18px;
    border: 1px solid #cfe8d4;
    border-radius: 12px;
    background: #f4fbf6;
    color: #1c5c34;
    text-decoration: none;
    transition: background .2s, border-color .2s, transform .15s;
}
.fd-agent-btn:hover {
    background: #e9f7ee;
    border-color: #25D366;
    color: #1c5c34;
    transform: translateY(-1px);
}
.fd-agent-btn > i { font-size: 1.75rem; color: #25D366; flex-shrink: 0; }
.fd-agent-btn b { display: block; font-size: .98rem; }
.fd-agent-btn small { display: block; color: #5c7a66; font-size: .84rem; margin-top: 2px; line-height: 1.6; }

/* ═══ اختيار طريق الدفع: أونلاين أم عبر المندوب ═══ */
.fd-pay-choice { display: flex; gap: 8px; margin-bottom: 18px; }
.fd-pay-opt {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid #e2d5db;
    border-radius: 11px;
    background: #fff;
    color: #7b6b73;
    font-size: .93rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
}
.fd-pay-opt i { font-size: 1.05rem; }
.fd-pay-opt:hover:not(.active) { border-color: #D69832; color: rgb(90,25,50); }
.fd-pay-opt.active { background: rgb(90,25,50); border-color: rgb(90,25,50); color: #fff; }

/* ═══ صندوق الأخطاء — بدونه كان كل فشل من الخادم صامتاً ═══ */
.fd-alert {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    background: #fdecec;
    border: 1px solid #f5c6c6;
    border-radius: 11px;
    padding: 13px 16px;
    margin-bottom: 18px;
    color: #8a2b2b;
    font-size: .92rem;
    line-height: 1.8;
}
.fd-alert i { font-size: 1.1rem; margin-top: 3px; flex-shrink: 0; }

/* ═══ سطر المساعدة الدائم أسفل مرحلة الدفع ═══ */
.fd-agent-help {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #eee4e9;
    color: #8b7b83;
    font-size: .88rem;
}
.fd-agent-help i { color: #25D366; font-size: 1.15rem; }
.fd-agent-help a { color: rgb(90,25,50); font-weight: 700; text-decoration: underline; }
.fd-agent-help a:hover { color: #D69832; }

/* ═══ سؤال تسمية المشروع (المرحلة ٣ بعد الدمج) ═══
   يظهر في المسارين معاً: من يُكمل بنفسه يكتب الاسم، ومن يختار المندوب يصله
   مكتوباً في رسالة الواتساب فلا يعيد شرحه. */
.fd-naming {
    margin-top: 22px;
    padding: 18px 20px;
    border: 1px solid #f0dcc0;
    border-radius: 12px;
    background: #fdf6ec;
}
.fd-naming-q {
    font-weight: 700;
    color: rgb(90, 25, 50);
    margin-bottom: 14px;
    font-size: 1rem;
}
.fd-naming-q i { color: #D69832; margin-inline-end: 8px; }
.fd-naming-opts { display: flex; flex-wrap: wrap; gap: 10px; }
.fd-naming-opts .fd-option { flex: 1; min-width: 200px; background: #fff; }
.fd-naming-field { margin-top: 14px; }
.fd-naming-field input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #e2d5db;
    border-radius: 10px;
    font-size: .98rem;
}
.fd-naming-field input:focus {
    outline: none;
    border-color: #D69832;
    box-shadow: 0 0 0 3px rgba(214, 152, 50, .15);
}

/* نتيجة حفظ اختيارات المتكفّل */
.fd-prefs-result {
    margin-top: 16px;
    padding: 13px 16px;
    border-radius: 11px;
    font-size: .93rem;
    line-height: 1.8;
}
.fd-prefs-result.ok  { background: #eaf7ef; border: 1px solid #cfe8d4; color: #1c5c34; }
.fd-prefs-result.err { background: #fdecec; border: 1px solid #f5c6c6; color: #8a2b2b; }

/* ══ مودال طلب التواصل مع المندوب ══
   يُلتقط الاسم والجوال قبل فتح واتساب، فطلب التكفّل يبقى عندنا ولو ضاعت الرسالة */
.fd-contact-modal {
    position: fixed; inset: 0; z-index: 1080;
    background: rgba(17, 24, 39, .55);
    display: flex; align-items: center; justify-content: center;
    padding: 18px;
}
.fd-contact-modal[hidden] { display: none; }
.fd-contact-box {
    position: relative;
    width: 100%; max-width: 420px;
    background: #fff; border-radius: 16px;
    padding: 26px 24px 20px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .22);
    animation: fdContactIn .18s ease;
}
@keyframes fdContactIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.fd-contact-box h5 { font-weight: 700; margin-bottom: 6px; }
.fd-contact-x {
    position: absolute; inset-inline-end: 12px; top: 8px;
    border: 0; background: none; font-size: 26px; line-height: 1;
    color: #9aa3af; cursor: pointer;
}
.fd-contact-x:hover { color: #4b5563; }
.fd-contact-label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin: 12px 0 5px; }
.fd-contact-input {
    width: 100%; padding: 11px 13px; font-size: 15px;
    border: 1px solid #d7dbe0; border-radius: 10px; background: #fff;
}
.fd-contact-input:focus { outline: 0; border-color: #25D366; box-shadow: 0 0 0 3px rgba(37, 211, 102, .15); }
.fd-contact-err {
    margin-top: 10px; padding: 9px 12px; border-radius: 8px;
    background: #fdecec; color: #a12525; font-size: 13px;
}
.fd-contact-modal .fd-agent-btn { margin-top: 18px; cursor: pointer; }
.fd-contact-skip {
    display: block; width: 100%; margin-top: 10px;
    border: 0; background: none; color: #8a94a2;
    font-size: 12.5px; text-decoration: underline; cursor: pointer;
}
.fd-contact-skip:hover { color: #4b5563; }

/* ══ بيانات التواصل في مسار المندوب ══
   إلزامية لأن المندوب لا يُكمل شيئاً نيابةً عن متكفّل لا سبيل للوصول إليه */
.fd-contact-fields {
    border: 1px solid #e6dfd0;
    background: #fffdf8;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 16px;
}
.fd-contact-title {
    font-weight: 700;
    font-size: 14.5px;
    color: #5a1932;
    margin-bottom: 10px;
}
.fd-contact-title i { margin-inline-end: 6px; }
.fd-contact-title small {
    display: block;
    font-weight: 400;
    font-size: 12px;
    color: #9a8f7d;
    margin-top: 3px;
}
.fd-field + .fd-field { margin-top: 9px; }
.fd-field label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: #4b5563;
    margin-bottom: 4px;
}
.fd-field input {
    width: 100%;
    padding: 10px 12px;
    font-size: 14.5px;
    border: 1px solid #ded7c9;
    border-radius: 9px;
    background: #fff;
}
.fd-field input:focus {
    outline: 0;
    border-color: #c9a227;
    box-shadow: 0 0 0 3px rgba(201, 162, 39, .13);
}

/* ══ تنبيه تجاوز سقف الدفع الأونلاين ══ */
.fd-limit-note {
    display: flex; gap: 12px; align-items: flex-start;
    background: #fff8e9; border: 1px solid #f0d9a8;
    border-radius: 12px; padding: 13px 15px; margin-bottom: 14px;
}
.fd-limit-note > i { color: #b8860b; font-size: 1.2rem; margin-top: 2px; }
.fd-limit-note b { display: block; color: #7a5b12; font-size: 14.5px; margin-bottom: 3px; }
.fd-limit-note span { display: block; color: #6b6152; font-size: 13px; line-height: 1.8; }

/* سطر التنبيه الدقيق داخل ملاحظة المبالغ الكبيرة */
.fd-limit-note .fd-limit-fine {
    display: block; margin-top: 6px; padding-top: 6px;
    border-top: 1px dashed #ecdcb8; color: #8a7c5e; font-size: 12px;
}
.fd-installment-hint {
    display: flex; align-items: center; gap: 8px;
    background: #f7f4fb; border: 1px solid #e6e0ef; border-radius: 10px;
    padding: 9px 12px; margin-bottom: 12px; font-size: 12.5px; color: #4a4358;
}
.fd-installment-hint i { color: #6b5b95; }

/* الزرّ المدموج: يحفظ الطلب ويفتح واتساب بضغطة واحدة (عنصر button بهيئة الرابط) */
.fd-agent-send {
    font: inherit; text-align: start; cursor: pointer; width: 100%;
}
.fd-agent-send:disabled { opacity: .6; cursor: wait; }
.fd-agent-send > span { display: block; }
.fd-agent-send b { display: block; }
.fd-agent-send small { display: block; color: #4e7a5e; font-size: 12px; margin-top: 2px; }

/* ══ التقسيط الشهري ══ */
.fd-pl-months {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 9px; margin-bottom: 16px;
}
.fd-pl-month {
    border: 1.5px solid #e3ddd2; border-radius: 12px; background: #fffdf9;
    padding: 10px 8px; text-align: center; cursor: pointer;
    transition: border-color .15s, background .15s, transform .1s;
}
.fd-pl-month b { display: block; font-size: 14.5px; color: #33272c; }
.fd-pl-month small { display: block; margin-top: 3px; color: #9a8f7d; font-size: 12px; }
.fd-pl-month:hover { border-color: #c9a227; transform: translateY(-1px); }
.fd-pl-month.active { border-color: #5a1932; background: #faf3f6; }
.fd-pl-month.active b { color: #5a1932; }
#fdPlError { margin-bottom: 12px; }

/* الخطة المحسوبة: عدد الدفعات × قيمة الدفعة */
.fd-pl-plan {
    display: flex; align-items: center; justify-content: center; gap: 14px;
    border: 1.5px solid #e6dfd0; background: #fffdf8; border-radius: 14px;
    padding: 16px 14px; margin-bottom: 10px;
}
.fd-pl-plan-num { text-align: center; }
.fd-pl-plan-num b { display: block; font-size: 26px; color: #5a1932; line-height: 1.1; }
.fd-pl-plan-num span { font-size: 12.5px; color: #9a8f7d; }
.fd-pl-plan-x { color: #c9b68a; font-size: 20px; }
.fd-pl-plan-amt { font-size: 24px; font-weight: 800; color: #5a1932; }
.fd-pl-plan-final { text-align: center; }
.fd-pl-plan-final b { display: block; font-size: 17px; color: #8a6413; }
.fd-pl-plan-final span { font-size: 11.5px; color: #9a8f7d; }
