/* PADCORE — فرمِ سمتِ کاربر.
   فاز ۴ گامِ پانزده: سه بلوکِ `<style nonce>`ِ درونِ ویو (`_normal-style`،
   `_picker-style`، `_mode-icons`) به این شیت آمدند و استایل‌های درون‌خطیِ
   `form_show`/`_field`/`form_done`/`forms` کلاس شدند. مقادیر عیناً همان‌هاست.
   خودِ قاعده‌ها زیرِ `.form-normal`/`.survey-mode`/`.fm-icons` دامنه‌دارند، پس
   بارشدنِ همیشگیِ شیت چیزی را عوض نمی‌کند. */

/* ── حالتِ عادیِ فرم (#73) — فقط زیرِ `.form-normal` ─── */

.form-normal{
  --tn-tint:#e3f4ea; --tn-tint-strong:#c7ebd5;
  --tn-surface-solid:#fff; --tn-fill:#f0f4f1; --tn-fill-hover:#e6ede8; --tn-divider:#dbe5de;
  --fn-card:#f3f5f4; --fn-input:#fff;
}
/* ستونِ باریکِ وسط‌چین؛ پهنا با تعدادِ ستون زیاد می‌شود */
body .form-wrap:has(.form-normal){max-width:680px;margin-inline:auto;box-sizing:border-box;padding-inline:16px;overflow-x:clip}
#formFieldsCard.form-normal{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;background:none;border:0;box-shadow:none;padding:0;min-width:0}
.form-normal > .form-section-head,.form-normal > .form-static-block,.form-normal > .fn-full{grid-column:1/-1}
.form-normal > .field-group{background:var(--fn-card);border:0;border-radius:16px;padding:20px 24px;margin:0;min-width:0}
.form-normal > .field-group:first-child,.form-normal > .field-group:last-child{padding:20px 24px}
.form-normal > .field-group.is-collapsed{display:none}
.form-normal > .form-section-head,.form-normal > .form-static-block{border-radius:16px;box-shadow:none;margin:0}
.form-normal .field-label{font-weight:700;font-size:16px;margin-bottom:6px}
.form-normal .field-helper{font-size:12.5px;color:var(--tn-on-surface-faint);margin:0 0 10px}
.form-normal .field-input{background:var(--fn-input);border:1px solid var(--tn-divider);border-radius:12px;max-width:100%}
.form-normal .field-input:focus{background:var(--fn-input)}
/* گزینه‌ها: ردیف‌های شماره‌دار */
.form-normal .radio-group,.form-normal .checkbox-group{display:grid;gap:8px;counter-reset:fnopt}
.form-normal .radio-group > label,.form-normal .checkbox-group > label{counter-increment:fnopt;position:relative;display:flex;align-items:center;gap:12px;background:var(--fn-input);border-radius:12px;padding:12px 14px;cursor:pointer;font-size:15px;color:var(--tn-on-surface);transition:background-color .2s}
.form-normal .radio-group > label::before,.form-normal .checkbox-group > label::before{content:counter(fnopt,persian);flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--tn-fill);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.form-normal .radio-group > label input,.form-normal .checkbox-group > label input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.form-normal .radio-group > label:hover,.form-normal .checkbox-group > label:hover{background:var(--tn-fill-hover)}
.form-normal .radio-group > label:has(input:checked),.form-normal .checkbox-group > label:has(input:checked){background:var(--tn-tint-strong);font-weight:700}
.form-normal .radio-group > label:has(input:checked)::before,.form-normal .checkbox-group > label:has(input:checked)::before{background:var(--tn-primary);color:var(--tn-on-primary,#fff)}
.form-normal .radio-group > label:has(input:focus-visible),.form-normal .checkbox-group > label:has(input:focus-visible){outline:3px solid var(--tn-primary);outline-offset:2px}
/* امتیازِ ستاره‌ای: ستاره‌های تا انتخاب پر می‌شوند */
.form-normal .rating-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.form-normal .rating-stars{display:flex;gap:4px}
.form-normal .rating-star{cursor:pointer;color:var(--tn-divider);line-height:0}
.form-normal .rating-star svg{width:36px;height:36px;fill:currentColor;stroke:currentColor}
.form-normal .rating-star:has(input:checked),.form-normal .rating-star:has(~ .rating-star input:checked){color:#f5a623}
.form-normal .rating-label-first,.form-normal .rating-label-last{font-size:12px;color:var(--tn-on-surface-faint)}
/* آپلود با کادرِ خط‌چین */
.form-normal .file-input-wrap{display:flex;flex-direction:column;position:relative}
.form-normal .file-input{position:absolute;opacity:0;width:1px;height:1px}
.form-normal .file-input-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 12px;border:2px dashed var(--tn-divider);border-radius:12px;background:var(--fn-input);color:var(--tn-on-surface-var);cursor:pointer;text-align:center}
.form-normal .file-input-label:hover{border-color:var(--tn-primary)}
.form-normal .file-input:focus-visible + .file-input-label{outline:3px solid var(--tn-primary);outline-offset:2px}
/* اسلات‌ها: پرشده‌ها کم‌رنگ (event-book.css) — فقط جای‌گیری در ستون */
.form-normal .event-field{max-width:100%;overflow-x:auto}
/* یک قدم تا پایان + دکمهٔ سبزِ «ارسال پاسخ» در گوشهٔ پایین‌چپِ فیزیکی (حتی در RTL) */
.form-actions-row.fn-actions{display:flex;flex-wrap:wrap;gap:12px;direction:ltr;justify-content:flex-start}
.form-actions-row.fn-actions > *{direction:rtl}
.form-actions-row.fn-actions #formSubmitBtn{margin-inline-end:0;background:var(--tn-primary);border-color:var(--tn-primary);color:var(--tn-on-primary)}
.form-actions-row.fn-actions #formSubmitBtn:hover{background:var(--tn-primary-dark,var(--tn-primary));border-color:var(--tn-primary-dark,var(--tn-primary))}
@media (min-width:768px){
  body .form-wrap:has(.fn-cols-2){max-width:960px}
  body .form-wrap:has(.fn-cols-3){max-width:1200px}
  #formFieldsCard.fn-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  #formFieldsCard.fn-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:520px){
  .form-normal > .field-group{padding:16px}
  .form-normal > .field-group:first-child,.form-normal > .field-group:last-child{padding:16px}
  .form-actions-row.fn-actions{flex-direction:row}
}

/* ── انتخابگرِ تاریخ/ساعت (PR #70) — مشترکِ عادی و نظرسنجی ─── */

:is(.survey-mode,.form-normal) .pk{position:relative}
:is(.survey-mode,.form-normal) .pk .inp{padding-inline-end:52px!important;padding-inline-start:16px;text-align:start}
:is(.survey-mode,.form-normal) .pk-btn{position:absolute;inset-inline-end:6px;display:flex;align-items:center;justify-content:center;padding:0;top:50%;margin-top:-18px;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--tn-primary);font-size:18px;line-height:1}
:is(.survey-mode,.form-normal) .pk-btn:hover{background:var(--tn-tint)}
:is(.survey-mode,.form-normal) /* `left`/`top`ِ فیزیکی عمدی است: JSِ `place()` در `form_show` خودش
   `pop.style.left` را می‌نویسد، پس معادلِ منطقی با آن در تضاد می‌افتاد. */
.pk-pop{position:fixed;top:0;left:0;z-index:2147483000;width:292px;max-width:calc(100vw - 16px);box-sizing:border-box;max-height:calc(100vh - 16px);overflow:auto;background:var(--tn-surface-solid);border-radius:16px;padding:12px;box-shadow:0 8px 28px rgba(0,0,0,.18);display:none;direction:rtl}
:is(.survey-mode,.form-normal) .pk-pop.open{display:block}
:is(.survey-mode,.form-normal) .pk-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
:is(.survey-mode,.form-normal) .pk-nav b{font-size:14px;cursor:pointer;padding:2px 8px;border-radius:8px;color:var(--tn-on-surface)}
:is(.survey-mode,.form-normal) .pk-nav b:hover{background:var(--tn-fill)}
:is(.survey-mode,.form-normal) .pk-nav b.y{color:var(--tn-primary)}
:is(.survey-mode,.form-normal) .pk-nb{background:none;border:0;color:var(--tn-primary);padding:4px 8px;line-height:0;display:inline-flex}
:is(.survey-mode,.form-normal) .pk-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
:is(.survey-mode,.form-normal) .pk-g.c3{grid-template-columns:repeat(3,1fr);gap:4px}
:is(.survey-mode,.form-normal) .pk-g.c6{grid-template-columns:repeat(6,1fr);gap:4px}
:is(.survey-mode,.form-normal) .pk-g.c4{grid-template-columns:repeat(4,1fr);gap:4px}
:is(.survey-mode,.form-normal) .pk-c{padding:7px 2px;font-size:13px;border-radius:8px;border:0;background:none;color:var(--tn-on-surface);min-height:32px}
:is(.survey-mode,.form-normal) .pk-c.h{color:var(--tn-on-surface-faint);font-size:11px;font-weight:700;cursor:default}
:is(.survey-mode,.form-normal) button.pk-c:hover{background:var(--tn-fill)}
:is(.survey-mode,.form-normal) .pk-c.sel{background:var(--tn-primary)!important;color:var(--tn-on-primary);font-weight:800}
:is(.survey-mode,.form-normal) .pk-c.today{box-shadow:inset 0 0 0 1px var(--tn-primary)}
:is(.survey-mode,.form-normal) .pk-foot{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--tn-divider)}
:is(.survey-mode,.form-normal) .pk-foot button{border:0;background:none;color:var(--tn-primary);font-weight:700;font-size:13px;padding:4px 8px;border-radius:8px}
:is(.survey-mode,.form-normal) .pk-foot button:hover{background:var(--tn-tint)}
:is(.survey-mode,.form-normal) .jdp-time-row{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--tn-outline,#e2e8f0)}
:is(.survey-mode,.form-normal) .jdp-time-label{font-size:11px;color:#94a3b8;margin-inline-start:auto}
:is(.survey-mode,.form-normal) .jdp-time-input{width:50px;padding:6px;border:1px solid var(--tn-outline,#e2e8f0);border-radius:8px;text-align:center;font-size:14px;background:var(--tn-surface-card);color:inherit;font-family:inherit}
:is(.survey-mode,.form-normal) .jdp-time-sep{font-weight:700;color:#64748b}
:is(.survey-mode,.form-normal) .pk-tl{font-size:11px;color:var(--tn-on-surface-faint);margin:6px 0 4px;font-weight:700}

/* ── سوییچِ حالتِ نمایشِ فرم (#73) ─── */

.form-hero:has(> .fm-icons),#formFieldsCard.survey-mode{position:relative}
.fm-icons{position:absolute;inset-block-start:10px;inset-inline-start:10px;z-index:30;display:flex;gap:4px}
.fm-icons a{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--tn-on-surface-var);background:var(--tn-surface-dim,#eef1ef);text-decoration:none}
.fm-icons a:hover{color:var(--tn-primary)}
.fm-icons a.on{background:var(--tn-primary);color:var(--tn-on-primary,#fff)}
.fm-icons svg{display:block}

/* ── آنچه تا فاز ۴ درون‌خطی بود ─────────────────────────────────────────
   این خانواده‌ها بخشی از D-034 بودند: کلاس داشتند ولی هیچ قاعده‌ای در CSS
   نداشتند، چون ظاهرشان درونِ `style=` بود. */

/* تأییدِ شمارهٔ موبایل با کدِ پیامکی. */
.mobile-otp-box { margin-top: 8px; }
.mobile-otp-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.mobile-otp-code-row { margin-top: 8px; }
/* `display:flex`ِ بالا بر صفتِ `hidden` غلبه می‌کند، پس صریح خاموشش می‌کنیم. */
.mobile-otp-row[hidden] { display: none; }
.mobile-otp-timer { font-variant-numeric: tabular-nums; }
.mobile-otp-code { text-align: center; letter-spacing: .6em; font-size: 1.25em; max-width: 220px; }

/* راهنما/خطای زیرِ فیلد. */
.field-help { font-size: 12px; color: var(--tn-on-surface-faint); }
.field-hint-sm { font-size: 11px; color: var(--tn-on-surface-faint); margin-top: 4px; }
.field-old-file { font-size: 12px; color: var(--tn-on-surface-faint); margin-top: 4px; }
.field-error { font-size: 12px; color: var(--tn-error, #c62828); margin-top: 4px; }
.field-none { font-size: 13px; color: var(--tn-on-surface-faint); }
/* ورودیِ فایلِ پنهان که برچسبش کلیک را می‌گیرد. */
.file-input-hidden { display: none; }

/* یادداشتِ بالای فرم؛ رنگش گاهی از دادهٔ کاربر می‌آید (`--note-bg`/`--note-fg`). */
.form-prev-note--custom { background: var(--note-bg); color: var(--note-fg); }
.form-prev-note--error { background: var(--tn-error-bg); color: var(--tn-error); }
.form-done-msg--error { color: var(--tn-error, #c62828); }

/* فرمِ قفل‌شده (مهلت گذشته/سهمیه پر). */
.form-locked { pointer-events: none; opacity: .6; }

/* تلهٔ ربات: ورودیِ پنهان که باید در دسترسِ بات باشد ولی دیده نشود. */
.form-honeypot {
    position: absolute; inset-inline-start: 0; inset-block-start: 0;
    width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none;
}

/* جعبهٔ شرایط/توافق‌نامهٔ پایانِ فرم. */
.field-group--note { margin-top: 16px; padding: 14px; background: var(--tn-surface-dim); border-radius: 10px; }
.hint--mt { margin-top: 16px; margin-bottom: 0; }

/* نوارِ میان‌بُرِ مدیریت در فهرستِ فرم‌ها. */
.forms-admin-bar {
    display: flex; gap: 8px; flex-wrap: wrap;
    margin-top: 20px; padding: 12px 16px;
    background: var(--tn-surface-dim); border-radius: 8px;
}
.forms-admin-bar .btn { display: inline-flex; align-items: center; gap: 4px; }

/* راهنمای زیرِ پرسشِ امنیتی (اندازه/فاصله‌اش با بقیهٔ راهنماها فرق داشت). */
.field-group--note .field-helper { font-size: 12px; color: var(--tn-on-surface-faint); margin-top: 6px; }


/* ── صفحهٔ «پاسخ شما ثبت شد»: کارتِ پاسخ‌ها (برچسب: مقدار) ─── */
.form-done-card { direction: rtl; }
.form-done-answers { margin: 0 0 24px; text-align: start; }
.form-done-answers-title { font-size: 14px; font-weight: 800; color: var(--tn-on-surface-var); margin: 0 0 10px; }
.form-done-list { margin: 0; padding: 0; display: grid; gap: 8px; background: var(--tn-fill, #f0f4f1); border-radius: 14px; padding: 8px; max-height: 320px; overflow: auto; }
.form-done-row { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 10px 14px; background: var(--tn-surface-card, #fff); border-radius: 10px; }
.form-done-row dt { margin: 0; font-size: 13px; font-weight: 700; color: var(--tn-on-surface-var); overflow-wrap: anywhere; }
.form-done-row dd { margin: 0; font-size: 15px; font-weight: 600; color: var(--tn-on-surface); overflow-wrap: anywhere; white-space: pre-line; }
.form-done-actions { margin-top: 8px; gap: 12px; }
.form-done-actions .form-done-btn { min-width: 120px; text-align: center; }
@media (max-width: 520px) {
  .form-done-card { padding: 28px 18px; }
  .form-done-row { grid-template-columns: 1fr; gap: 2px; }
  .form-done-actions { flex-direction: column-reverse; }
  .form-done-actions .form-done-btn { width: 100%; box-sizing: border-box; }
}

/* ── بازطراحیِ فرم (form-improvement) ─── */
/* بخش = قابِ فیلدهایش؛ فیلدهای بعد از «پایان بخش» بیرونِ قاب‌اند. */
.form-normal > .fn-section{grid-column:1/-1;background:var(--form-section-bg,var(--tn-surface-card,#fff));border:1px solid var(--tn-divider);border-radius:18px;overflow:hidden;min-width:0}
.form-normal .fn-sec-head{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;margin:0;border:0;border-bottom:1px solid var(--tn-divider);border-radius:0;box-shadow:none;background:none}
.form-normal .fn-sec-no{flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--tn-on-surface);color:var(--tn-surface-card,#fff);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.form-normal .fn-sec-titles{min-width:0}
.form-normal .fn-sec-titles .form-section-title{font-size:16px;margin:2px 0 0}
.form-normal .fn-sec-body{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}
.form-normal .fn-sec-body > .field-group{background:var(--fn-card);border:0;border-radius:14px;padding:18px 20px;margin:0;min-width:0}
.form-normal .fn-sec-body > .field-group.is-collapsed{display:none}
.form-normal .fn-sec-body > .form-static-block,.form-normal .fn-sec-body > .fn-full{grid-column:1/-1;margin:0}
.form-normal > .form-section-head,.form-normal > .form-static-block{border-inline-start-width:1px}
@media (min-width:768px){
  #formFieldsCard.fn-cols-2 .fn-sec-body{grid-template-columns:repeat(2,minmax(0,1fr))}
  #formFieldsCard.fn-cols-3 .fn-sec-body{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:520px){.form-normal .fn-sec-body{padding:10px}.form-normal .fn-sec-body > .field-group{padding:14px}}
/* گزینه‌ها: دایره برای تک‌انتخابی، مربع برای چندانتخابی (به‌جای شماره) */
.form-normal .radio-group > label::before,.form-normal .checkbox-group > label::before{content:'';width:20px;height:20px;border-radius:50%;background:transparent;border:1.5px solid var(--tn-on-surface-faint);box-sizing:border-box}
.form-normal .checkbox-group > label::before{border-radius:6px}
.form-normal .radio-group > label:has(input:checked)::before,.form-normal .checkbox-group > label:has(input:checked)::before{background:var(--tn-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;border-color:var(--tn-primary)}
.form-normal .radio-group > label:has(input:checked),.form-normal .checkbox-group > label:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--tn-primary)}
/* امتیازِ بیش از ۵: دکمه‌های عددیِ یک‌ردیفه + برچسبِ دو سر زیرِ آن */
.form-normal .rating-group.is-scale{display:block}
.form-normal .rating-scale{display:grid;grid-template-columns:repeat(var(--rs-n,10),minmax(0,1fr));gap:4px;max-width:560px}
.form-normal .rating-scale .rating-star{line-height:1}
.form-normal .rating-scale .rating-star span{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:9px;background:var(--fn-input);border:1.5px solid var(--tn-divider);font-weight:700;font-size:14px;color:var(--tn-on-surface-var);font-variant-numeric:tabular-nums}
.form-normal .rating-scale .rating-star:has(~ .rating-star input:checked) span{background:var(--tn-tint-strong);border-color:transparent;color:var(--tn-on-surface)}
.form-normal .rating-scale .rating-star:has(input:checked) span{background:var(--tn-primary);border-color:var(--tn-primary);color:var(--tn-on-primary,#fff)}
.form-normal .rating-scale .rating-star:has(input:focus-visible) span{outline:3px solid var(--tn-primary);outline-offset:2px}
.form-normal .rating-ends{display:flex;justify-content:space-between;gap:8px;max-width:560px;margin-top:6px;font-size:12px;color:var(--tn-on-surface-faint)}
/* کارتِ فرایندِ متصل */
.fn-proc{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--tn-surface-card,#fff);border:1px solid var(--tn-divider,#e3e3e3);margin:0 0 16px}
.fn-proc-ic{flex-shrink:0;width:38px;height:38px;border-radius:11px;background:var(--tn-primary-light,#eef2f9);color:var(--tn-primary);display:flex;align-items:center;justify-content:center}
.fn-proc-body{min-width:0;display:flex;flex-direction:column;gap:2px}
.fn-proc-body b{font-size:14px}
.fn-proc-body small{font-size:12px;color:var(--tn-on-surface-faint)}
.fn-proc-steps{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;color:var(--tn-on-surface-faint)}
.fn-proc-steps span{font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:6px;background:var(--tn-surface-dim,#f1f1f1);color:var(--tn-on-surface-var)}
/* پیش‌نویسِ ذخیره‌شده: صریح «ارسال نشده» */
.form-draft-saved{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--tn-warn-bg,#fbf0dc);color:var(--tn-on-surface);text-align:start}
.form-draft-saved svg{flex-shrink:0;color:var(--tn-warn,#a86507);margin-top:2px}
.form-draft-saved b{display:block;font-size:14px;color:var(--tn-warn,#a86507)}
.form-draft-saved p{margin:2px 0 0;font-size:12.5px;color:var(--tn-on-surface-var)}
/* نوارِ ارسال: چسبان پایینِ فرم، بالای ناوبریِ پایینِ سایت */
.form-actions-row.fn-sticky{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:5;margin-top:16px;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--tn-surface-card,#fff) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px -10px rgba(15,23,42,.25);border:1px solid var(--tn-divider,#e3e3e3)}
body:has(.bottom-nav) .form-actions-row.fn-sticky{bottom:calc(86px + env(safe-area-inset-bottom,0px))}

/* ── نزدیک‌تر به دمو: کارتِ سؤالِ بیرونِ بخش سفید با حاشیه؛ ورودی‌ها پرشده و بی‌حاشیه ── */
.form-normal > .field-group{background:var(--form-field-bg,var(--tn-surface-card,#fff));border:1px solid var(--tn-divider)}
.form-normal > .field-group .field-input{background:var(--tn-fill);border-color:transparent}
.form-normal > .field-group .radio-group > label,.form-normal > .field-group .checkbox-group > label{background:var(--tn-fill)}
.form-normal .fn-sec-body > .field-group{background:var(--form-field-bg,var(--fn-card))}
.form-normal .field-input:focus{border-color:var(--tn-primary)!important;box-shadow:none}
.form-normal .field-label .field-required{color:var(--tn-error,#c03a2b)}
.form-normal .form-section-title{font-weight:800}
.form-editing{background:var(--tn-info-bg,#eef2f9)}
.form-editing svg,.form-editing b{color:var(--tn-primary)}
.form-edit-cta{margin:8px 0 12px}
.form-normal > .fn-section.is-collapsed{display:none}

/* ── دموی فرم: سربرگ، تب‌های بخش‌بندی‌شده، ردیف‌های پاسخ، نوارِ ارسال ── */
.form-wrap .form-hero.fh{background:none;border:0;box-shadow:none;padding:4px 0 0;margin-bottom:12px;text-align:start}
.form-wrap .form-hero.fh::before{display:none}
.fh-top{display:flex;gap:14px;align-items:flex-start;margin-bottom:10px}
.fh-badge{flex-shrink:0;width:48px;height:48px;border-radius:14px;background:var(--tn-error-bg,#fbecec);color:var(--tn-primary);display:flex;align-items:center;justify-content:center}
.fh-titles{min-width:0}
.form-wrap .form-hero.fh h1{font-size:20px;margin:2px 0 2px;line-height:1.5}
.form-wrap .form-hero.fh .fh-titles p{font-size:13.5px;margin:0;color:var(--tn-on-surface-var)}
.form-wrap .form-hero.fh .form-prev-note{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;margin-block-start:4px;margin-inline-end:6px;background:var(--tn-surface-dim,#f1f1f1);color:var(--tn-on-surface-var)}
.form-wrap .form-hero.fh .form-required-legend{margin:4px 0 0;font-size:12px}
.form-wrap .tabs.fp-tabs{display:flex;gap:0;max-width:380px;padding:4px;border:0;border-radius:12px;background:var(--tn-surface-dim,#efefef);margin:6px 0 16px}
.form-wrap .tabs.fp-tabs .tab{flex:1;justify-content:center;display:inline-flex;align-items:center;gap:6px;border:0;margin:0;padding:8px 10px;border-radius:9px;font-size:13.5px;color:var(--tn-on-surface-var)}
.form-wrap .tabs.fp-tabs .tab.active{background:var(--tn-surface-card,#fff);color:var(--tn-on-surface);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.form-wrap .fp-cnt{background:var(--tn-primary);color:var(--tn-on-primary,#fff);min-width:18px;line-height:18px;font-size:10.5px}
.form-wrap .fp-list{display:flex;flex-direction:column;gap:8px}
.form-wrap a.fp-row{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;padding:12px 14px;border-radius:16px;border:1px solid var(--tn-divider,#e6e6e6);background:var(--tn-surface-card,#fff)}
.fp-ic{flex-shrink:0;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--tn-surface-dim,#f1f1f1);color:var(--tn-on-surface-var)}
.fp-ic svg{width:20px;height:20px}
.fp-ic--ok{background:var(--tn-success-bg,#e6f3ec);color:var(--tn-success,#1e7a4d)}
.fp-ic--warn{background:var(--tn-warn-bg,#fbf0dc);color:var(--tn-warn,#a86507)}
.fp-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.form-wrap .fp-row .fp-title{font-size:14px;display:flex;align-items:center;gap:6px}
.form-wrap .fp-row .fp-sub{font-size:12px;color:var(--tn-on-surface-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-chev{width:18px;height:18px;color:var(--tn-on-surface-faint);flex-shrink:0}
.fp-cta{flex-shrink:0;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--tn-surface-dim,#f1f1f1)}
.form-actions-row.fn-sticky{direction:rtl;justify-content:flex-start;align-items:center;flex-wrap:nowrap}
.form-actions-row.fn-sticky .fn-act-hint{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tn-on-surface-faint)}
.form-actions-row.fn-sticky .btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
@media (max-width:520px){.form-actions-row.fn-sticky .fn-act-hint{display:none}.form-actions-row.fn-sticky #formSubmitBtn{flex:1;justify-content:center}.form-actions-row.fn-sticky #formDraftBtn span{display:none}}
.form-normal .fn-sec-prog{margin-inline-start:auto;font-size:11.5px;color:var(--tn-on-surface-faint);white-space:nowrap;align-self:center}

:root[data-theme="dark"] .survey-mode{
  /* تمِ تیره: رنگ‌های روشنِ ثابتِ نمای نظرسنجی تیره می‌شوند تا متن خوانا بماند */
  --tn-tint:#1d3a2b; --tn-tint-strong:#24513a; --tn-ripple:rgba(134,239,172,.25);
  --tn-surface-solid:#1b2230; --tn-fill:#252e3d; --tn-fill-hover:#2d3748; --tn-input:#222b39;
  --tn-divider:#334155; --tn-focus:#86efac;
  --bg1:#0f1720; --bg2:#121a26; --bg3:#0f1d24;
  --elev2:0 8px 24px -8px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.4);
}
:root[data-theme="dark"] .survey-mode :is(h1,h2,.qlabel){color:var(--tn-on-surface)}

/* فایلِ انتخاب‌شده: پیش‌نمایش/نشانِ پسوند + نام + حجم */
.file-chosen{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.file-chosen:empty{display:none}
.file-chosen-item{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--tn-divider,#e2e8f0);border-radius:12px;background:var(--tn-surface,#fff)}
.file-chosen-thumb{inline-size:48px;block-size:48px;border-radius:8px;object-fit:cover;flex:none;background:#f1f5f9}
.file-chosen-ext{display:grid;place-items:center;inline-size:48px;block-size:48px;border-radius:8px;flex:none;font-size:11px;font-weight:800;letter-spacing:.03em;color:#fff;background:#64748b;direction:ltr}
.file-chosen-ext[data-ext="pdf"]{background:#dc2626}
.file-chosen-ext[data-ext="doc"],.file-chosen-ext[data-ext="docx"]{background:#2563eb}
.file-chosen-ext[data-ext="xls"],.file-chosen-ext[data-ext="xlsx"],.file-chosen-ext[data-ext="csv"]{background:#16a34a}
.file-chosen-ext[data-ext="zip"],.file-chosen-ext[data-ext="rar"]{background:#a16207}
.file-chosen-ext[data-ext="mp4"],.file-chosen-ext[data-ext="mp3"]{background:#7c3aed}
.file-chosen-info{display:flex;flex-direction:column;min-inline-size:0;gap:2px}
.file-chosen-name{font-size:13px;font-weight:600;color:var(--tn-on-surface,#0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-chosen-meta{font-size:11.5px;color:var(--tn-on-surface-var,#64748b)}
