/* TebTok — patient intake form (7.4.19 redesign: calm, one-column rhythm, named stepper, inline errors, drafts). */
:root { color-scheme: light; -webkit-text-size-adjust:100%; }
body.crp-standalone-page { margin:0; background:var(--tebtok-bg,#f4f7fa); color:#2f3a45; }
body.crp-standalone-page.admin-bar { margin-top:0; }
.crp-standalone-main { display:block; box-sizing:border-box; width:100%; max-width:100%; min-height:100vh; padding:1px 18px; } /* 7.4.24 — بدون border-box، padding به عرض ۱۰۰٪ اضافه می‌شد و صفحهٔ ثبت پرونده در موبایل ۱۶ پیکسل از عرض بیرون می‌زد؛ همین باعث زوم و جابه‌جایی افقی در iOS بود. */

.crp-app {
    --crp-ink:var(--tebtok-ink);
    --crp-muted:var(--tebtok-muted);
    --crp-primary:var(--tebtok-blue);
    --crp-primary-dark:var(--tebtok-blue-dark);
    --crp-primary-soft:var(--tebtok-blue-soft,#eaf1ff);
    --crp-accent:var(--tebtok-blue);
    --crp-line:var(--tebtok-line);
    --crp-line-strong:#c3d3e6;
    --crp-bg:var(--tebtok-bg);
    --crp-surface:#ffffff;
    --crp-danger:#d92d20;
    --crp-warning:#8a4b08;
    --crp-radius:18px;
    --crp-field-radius:12px;
    width:min(920px,100%);
    margin:20px auto 64px;
    color:var(--crp-ink);
    font-family:var(--tebtok-font);
    font-size:15px;
    line-height:1.8;
    text-align:right;
}
.crp-app * { box-sizing:border-box; }
.crp-app button,.crp-app input,.crp-app select,.crp-app textarea { font:inherit; }
.crp-app button { -webkit-tap-highlight-color:transparent; }
.crp-app button,.crp-choice,.crp-chip { touch-action:manipulation; }
.crp-app [hidden] { display:none!important; }
.crp-skip-link { position:fixed; right:20px; top:-100px; z-index:100001; padding:9px 14px; color:#fff; background:var(--crp-primary); border-radius:10px; }
.crp-skip-link:focus { top:12px; }

/* ---------- top bar ---------- */
.crp-topbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 16px; background:#fff; border:1px solid var(--crp-line); border-radius:var(--crp-radius); }
.crp-identity { display:flex; align-items:center; gap:12px; min-width:0; }
.crp-identity>span:last-child { display:flex; flex-direction:column; min-width:0; }
.crp-identity strong { font-size:16px; }
.crp-identity small { color:var(--crp-muted); font-size:12px; }
.crp-portal-role { display:table; margin-bottom:1px; padding:1px 8px; border-radius:999px; color:var(--crp-primary-dark); background:var(--crp-primary-soft); font-size:10.5px; font-weight:700; line-height:1.8; }
.crp-brand-assets { display:flex; align-items:center; flex:0 0 auto; }
.crp-brand-logo { display:block; width:108px; height:auto; }
.crp-brand-mark { display:none; width:40px; height:auto; }
.crp-tabs { display:flex; gap:4px; padding:4px; background:var(--crp-bg); border:1px solid #e8ebf1; border-radius:12px; }
.crp-tab { border:0; background:transparent; color:var(--crp-muted); border-radius:9px; padding:8px 13px; cursor:pointer; white-space:nowrap; text-decoration:none; font-size:13.5px; font-weight:700; }
.crp-tab.is-active { background:#fff; color:var(--crp-primary); box-shadow:0 2px 8px rgba(24,59,72,.08); font-weight:700; }
.crp-tab:focus-visible { outline:3px solid rgba(31,103,237,.2); outline-offset:2px; }

/* ---------- emergency strip ---------- */
.crp-emergency { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin:12px 0; padding:9px 14px; border:1px solid #f1d6a4; border-radius:12px; background:#fff8eb; color:var(--crp-warning); font-size:12.5px; line-height:1.7; }
.crp-emergency strong { white-space:nowrap; }
.crp-emergency span { color:#7a5a2a; }

.crp-panel { display:none; }
.crp-panel.is-active { display:block; }
.crp-card { background:var(--crp-surface); border:1px solid var(--crp-line); border-radius:var(--crp-radius); box-shadow:0 10px 30px rgba(22,56,66,.06); overflow:hidden; }

/* ---------- stepper ---------- */
.crp-progress { position:sticky; top:0; z-index:10; padding:14px 22px 0; background:rgba(255,255,255,.97); backdrop-filter:blur(8px); border-bottom:1px solid #edeff3; }
.crp-stepper { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; margin:0 0 8px; padding:0; list-style:none; }
.crp-stepper.has-seven { grid-template-columns:repeat(7,minmax(0,1fr)); }
.crp-stepper li button { display:flex; flex-direction:column; align-items:center; gap:4px; width:100%; padding:6px 4px; border:0; border-radius:10px; background:transparent; color:var(--crp-muted); cursor:pointer; }
.crp-stepper li button:disabled { cursor:default; }
.crp-stepper li button:not(:disabled):hover { background:var(--crp-bg); }
.crp-stepper i { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; border:1.5px solid #cbd6e4; color:var(--crp-muted); font-size:12px; font-style:normal; font-weight:700; background:#fff; }
.crp-stepper span { font-size:11.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.crp-stepper li.is-current i { border-color:var(--crp-primary); background:var(--crp-primary); color:#fff; box-shadow:0 0 0 4px var(--crp-primary-soft); }
.crp-stepper li.is-current span { color:var(--crp-primary-dark); }
.crp-stepper li.is-done i { position:relative; border-color:#22c55e; background:#22c55e; color:transparent; font-size:0; }
.crp-stepper li.is-done i::before { content:''; position:absolute; inset:0; margin:auto; width:12px; height:12px; background:#fff; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l4.8 4.8L19.5 7'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l4.8 4.8L19.5 7'/%3E%3C/svg%3E") center/contain no-repeat; }
.crp-stepper li.is-done button:disabled,.crp-stepper li.is-current button:disabled { opacity:1; }
.crp-stepper li.is-pay i { border-style:dashed; }
.crp-stepper li.is-pay.is-current i,.crp-stepper li.is-pay.is-done i { border-style:solid; }
.crp-stepper li.is-done span { color:var(--crp-ink); }
.crp-progress-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; color:var(--crp-muted); }
.crp-progress-meta>div { display:flex; gap:8px; align-items:baseline; }
.crp-progress-meta strong { color:var(--crp-ink); font-size:13px; }
.crp-progress-meta em { font-style:normal; color:#22c55e; font-size:11px; }
.crp-progress-meta em:empty { display:none; }
.crp-progress-bar { display:block; height:4px; margin:8px -22px 0; background:#e7eaf0; overflow:hidden; }
.crp-progress-bar i { display:block; width:16.67%; height:100%; background:linear-gradient(90deg,var(--crp-primary),#1dd0bd); transition:width .25s ease; }
.crp-stepper.has-seven ~ .crp-progress-bar i { width:14.28%; }

.crp-draft-banner { display:flex; align-items:center; gap:12px; margin:14px 22px 0; padding:12px 14px; border:1px solid #c7dafb; border-radius:14px; background:var(--crp-primary-soft); }
.crp-draft-banner>span { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:#fff; color:var(--crp-primary); font-size:18px; }
.crp-draft-banner>div:first-of-type { flex:1; min-width:0; }
.crp-draft-banner b { display:block; font-size:14px; color:var(--crp-primary-dark); }
.crp-draft-banner small { color:var(--crp-muted); font-size:12px; }
.crp-draft-banner>div:last-child { display:flex; gap:6px; flex:0 0 auto; }
.crp-draft-banner .crp-primary,.crp-draft-banner .crp-secondary { min-width:0; min-height:38px; padding:6px 12px; font-size:13px; border-radius:10px; }
.crp-form-hints { margin:12px 22px 0; padding:0; color:var(--crp-muted); font-size:12.5px; line-height:1.7; }
.crp-form-hints span { color:var(--crp-primary-dark); font-weight:700; }

/* ---------- steps ---------- */
.crp-step { display:none; padding:22px 22px 8px; }
.crp-step.is-active { display:block; animation:crp-fade .18s ease; }
@keyframes crp-fade { from { opacity:.3; transform:translateY(4px); } to { opacity:1; transform:none; } }
.crp-step-head { display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; }
.crp-step-head>span { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border-radius:11px; color:var(--crp-primary); background:var(--crp-primary-soft); font-size:14px; font-weight:700; }
.crp-step-head h2 { margin:0 0 2px!important; color:var(--crp-primary-dark)!important; font-size:20px!important; line-height:1.5!important; }
.crp-step-head p { margin:0; color:var(--crp-muted); font-size:13px; }
.crp-step-errors { margin:0 0 16px; padding:10px 14px; border:1px solid #f3b8b1; border-radius:12px; background:#fff4f2; color:#a32d24; font-size:13px; }
.crp-step-errors b { display:block; margin-bottom:2px; }
.crp-step-errors ul { display:flex; flex-wrap:wrap; gap:4px 10px; margin:0; padding:0; list-style:none; }
.crp-step-errors button { border:0; padding:2px 0; background:transparent; color:#a32d24; text-decoration:underline; text-underline-offset:3px; cursor:pointer; font-size:12.5px; }

.crp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 18px; }
.crp-grid>label,.crp-question-box,.crp-conditional>label,.crp-optional label,.crp-conditional-text { display:flex; flex-direction:column; gap:6px; color:var(--crp-ink); font-weight:700; font-size:13.5px; }
.crp-grid label b,.crp-app label b,.crp-fieldset legend b,.crp-consents b { color:var(--crp-danger); font-weight:700; }
.crp-full { grid-column:1/-1; }
.crp-helper { color:var(--crp-muted); font-size:12px; font-weight:400; line-height:1.6; }
.crp-field-error { display:block; margin-top:2px; color:var(--crp-danger); font-size:12px; font-weight:600; }
.crp-field-error::before { content:'⚠ '; }

.crp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),
.crp-app select,
.crp-app textarea {
    width:100%;
    min-height:46px;
    color:var(--crp-ink);
    background:#fff;
    border:1px solid var(--crp-line-strong);
    border-radius:var(--crp-field-radius);
    padding:10px 13px;
    outline:0;
    box-shadow:none;
    font-size:15px;
    font-weight:400;
    transition:border-color .15s,box-shadow .15s;
}
.crp-app input:focus,.crp-app select:focus,.crp-app textarea:focus { border-color:var(--crp-primary); box-shadow:0 0 0 3px rgba(31,103,237,.14); }
.crp-app textarea { min-height:112px; resize:vertical; line-height:1.85; }
.crp-app input::placeholder,.crp-app textarea::placeholder { color:#9aa5b5; opacity:1; font-weight:400; }
.crp-app .crp-invalid { border-color:var(--crp-danger)!important; box-shadow:0 0 0 3px rgba(217,45,32,.1)!important; }

.crp-fieldset { min-width:0; margin:20px 0 0; padding:0; border:0; }
.crp-fieldset legend { width:100%; margin:0 0 8px; padding:0; color:var(--crp-ink); font-size:13.5px; font-weight:700; }
.crp-fieldset legend small,.crp-optional summary small { color:var(--crp-muted); font-size:12px; font-weight:400; }
.crp-choice-grid { display:grid; gap:8px; }
.crp-choice-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.crp-choice-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.crp-choice-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.crp-choice-grid-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.crp-choice { display:block; position:relative; min-width:0; cursor:pointer; }
.crp-choice input { position:absolute; opacity:0; pointer-events:none; }
.crp-choice span { display:flex; align-items:center; justify-content:center; gap:6px; min-height:46px; padding:8px 10px; border:1px solid var(--crp-line-strong); border-radius:12px; color:#3b4a5e; background:#fff; text-align:center; font-size:13.5px; font-weight:600; line-height:1.5; transition:border-color .15s,background-color .15s,color .15s; }
.crp-choice:hover span { border-color:var(--crp-primary); }
.crp-choice input:checked+span { border-color:var(--crp-primary); color:var(--crp-primary-dark); background:var(--crp-primary-soft); box-shadow:inset 0 0 0 1px var(--crp-primary); font-weight:700; }
.crp-choice input:checked+span::before { content:'✓'; font-size:12px; color:var(--crp-primary); }
.crp-choice input:focus-visible+span { outline:3px solid rgba(31,103,237,.2); outline-offset:2px; }
.crp-choice.crp-invalid span { border-color:var(--crp-danger); box-shadow:0 0 0 3px rgba(217,45,32,.08); }
.crp-decision-goals span { justify-content:flex-start; padding-right:14px; text-align:right; }

.crp-chip-grid { display:flex; flex-wrap:wrap; gap:8px; }
.crp-chip { display:block; position:relative; cursor:pointer; }
.crp-chip input { position:absolute; opacity:0; }
.crp-chip span { display:block; padding:7px 13px; border:1px solid var(--crp-line-strong); border-radius:999px; color:#3b4a5e; background:#fff; font-size:13px; font-weight:600; transition:.15s; }
.crp-chip:hover span { border-color:var(--crp-primary); }
.crp-chip input:checked+span { border-color:var(--crp-primary); color:#fff; background:var(--crp-primary); font-weight:700; }
.crp-chip input:focus-visible+span { outline:3px solid rgba(31,103,237,.2); }
.crp-choice-tools { display:flex; align-items:center; gap:9px; margin:0 0 10px; padding:8px; border:1px solid #dee2eb; border-radius:12px; background:#f8f9fb; }
.crp-choice-tools .crp-choice-search { min-height:40px; max-width:290px; padding:8px 11px!important; background:#fff!important; font-size:13px; }
.crp-choice-status { margin-left:auto; color:#555f78; font-size:11.5px; white-space:nowrap; }
.crp-choice-toggle { min-height:38px; border:1px solid #a9b5d0; border-radius:10px; padding:7px 11px; color:var(--crp-primary-dark); background:#fff; cursor:pointer; font-size:12px; font-weight:700; }
.crp-smart-choice>label[hidden] { display:none!important; }
.crp-character-counter { display:block; margin-top:-2px; color:#788197; font-size:11px; font-weight:400; text-align:left; direction:rtl; }
.crp-custom-fields { margin-top:20px; padding:16px; border:1px solid #dce0e9; border-radius:14px; background:#fbfcfd; }
.crp-custom-fields-head { margin-bottom:12px; }
.crp-custom-fields-head h3 { margin:0!important; color:var(--crp-primary-dark)!important; font-size:14px!important; }
.crp-custom-fields-head p { margin:2px 0 0; color:var(--crp-muted); font-size:12px; }
.crp-custom-fields .crp-fieldset { margin-top:0; }
.crp-patient-custom-fields { margin:0; }
.crp-conditional-text { margin-top:12px; }
.crp-conditional-text textarea { min-height:88px; }
.crp-yesno-grid { display:grid; grid-template-columns:1fr; gap:0; margin-top:18px; padding-top:2px; border-top:1px solid #edeff3; }
.crp-fieldset.crp-compact { margin-top:16px; }
.crp-conditional { margin:10px 0 2px; padding:12px 14px; border-inline-start:3px solid var(--crp-primary); border-radius:12px; background:#f7f9fc; }
.crp-conditional textarea { min-height:90px; }
.crp-optional { margin-top:18px; border:1px solid var(--crp-line); border-radius:14px; background:#fcfdfe; }
.crp-optional summary { padding:11px 14px; color:#3b4a5e; cursor:pointer; font-size:13px; font-weight:700; }
.crp-optional[open] summary { border-bottom:1px solid #e9ebf1; }
.crp-optional>div,.crp-optional>label { margin:14px; }

.crp-question-starters { margin-top:18px; padding:12px 14px; border:1px solid var(--crp-line); border-radius:14px; background:#fbfcfe; }
.crp-question-starters strong { display:block; margin-bottom:8px; font-size:13px; color:var(--crp-primary-dark); }
.crp-question-starters div { display:flex; flex-wrap:wrap; gap:6px; }
.crp-question-starters button { min-height:36px; padding:5px 12px; border:1px solid var(--crp-line-strong); border-radius:999px; background:#fff; color:#3b4a5e; font-size:13px; font-weight:600; cursor:pointer; }
.crp-question-starters button:hover { border-color:var(--crp-primary); color:var(--crp-primary-dark); }
.crp-question-box { margin-top:16px; padding:16px; border:1px solid #c7dafb; border-radius:16px; background:linear-gradient(145deg,#f5f8fe,#fff); font-size:14px; }
.crp-question-box textarea { min-height:140px; background:#fff; }
/* patient urgency as the three tariff response windows (7.4.18) */
.crp-band-field { margin-top:20px; }
.crp-band-field legend small { display:block; margin-top:4px; color:var(--crp-muted); font-size:12px; font-weight:400; line-height:1.7; }
.crp-band-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.crp-band-choice { position:relative; cursor:pointer; }
.crp-band-choice input { position:absolute; opacity:0; width:0; height:0; }
.crp-band-choice span { display:grid; gap:2px; min-height:96px; padding:12px 14px; border:1px solid var(--crp-line-strong); border-radius:14px; background:#fff; transition:border-color .15s ease,background-color .15s ease; }
.crp-band-choice span b { color:var(--crp-primary-dark); font-size:14.5px; }
.crp-band-choice span strong { color:var(--crp-ink); font-size:13px; font-weight:700; }
.crp-band-choice span small { color:var(--crp-muted); font-size:11.5px; line-height:1.6; }
.crp-band-choice:hover span { border-color:var(--crp-primary); }
.crp-band-choice input:checked+span { border-color:var(--crp-primary); background:var(--crp-primary-soft); box-shadow:inset 0 0 0 1px var(--crp-primary); }
.crp-band-choice input:focus-visible+span { outline:3px solid rgba(31,103,237,.2); }
.crp-patient-notes { margin-top:18px; }
.crp-patient-notes em { margin-inline-start:6px; color:var(--crp-muted); font-style:normal; font-size:11.5px; font-weight:400; }
.crp-patient-notes textarea { min-height:110px; }
.crp-scale-field { margin-top:20px; }
.crp-scale { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; direction:rtl; }
.crp-scale label { position:relative; cursor:pointer; }
.crp-scale input { position:absolute; opacity:0; }
.crp-scale span { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:58px; padding:5px; border:1px solid var(--crp-line-strong); border-radius:12px; color:var(--crp-ink); background:#fff; font-weight:700; }
.crp-scale small { display:block; font-size:10.5px; font-weight:400; white-space:nowrap; }
.crp-scale input:checked+span { border-color:var(--crp-primary); color:var(--crp-primary-dark); background:var(--crp-primary-soft); box-shadow:inset 0 0 0 1px var(--crp-primary); }
.crp-scale input:focus-visible+span { outline:3px solid rgba(31,103,237,.2); }

/* ---------- documents ---------- */
.crp-document-guide { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.crp-document-guide strong { width:100%; margin-bottom:2px; font-size:13px; }
.crp-document-guide span { padding:4px 10px; border-radius:999px; background:#f0f2f6; color:#55607a; font-size:12px; }
.crp-dropzone { border:1.5px dashed #9fb3d3; border-radius:18px; padding:26px 16px; text-align:center; background:#f8fafd; transition:.15s; }
.crp-dropzone.crp-drag { border-color:var(--crp-primary); background:var(--crp-primary-soft); transform:scale(1.003); }
.crp-dropzone input { display:none; }
.crp-dropzone>label { display:inline-flex; align-items:center; gap:6px; min-height:44px; border:0; border-radius:12px; padding:9px 18px; background:var(--crp-primary); color:#fff; font-weight:700; cursor:pointer; }
.crp-dropzone>label:hover { background:var(--crp-primary-dark); }
.crp-dropzone p { margin:10px 0 0; color:var(--crp-muted); font-size:12.5px; }
.crp-dropzone small { display:block; max-width:650px; margin:2px auto 0; color:#848c9f; font-size:11.5px; }
.crp-file-list { display:grid; gap:8px; margin-top:14px; }
.crp-file { display:flex; align-items:center; gap:11px; padding:10px 12px; border:1px solid var(--crp-line); border-radius:13px; background:#fff; }
.crp-file-icon { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; border-radius:11px; color:var(--crp-primary); background:var(--crp-primary-soft); font-size:10px; font-weight:700; text-transform:uppercase; }
.crp-file-data { display:grid; grid-template-columns:minmax(140px,1fr) minmax(210px,.8fr); align-items:center; gap:5px 12px; min-width:0; flex:1; }
.crp-file strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.crp-file small { grid-row:2; color:var(--crp-muted); direction:ltr; text-align:right; font-size:11.5px; }
.crp-file select { grid-column:2; grid-row:1/3; min-height:40px; padding:7px 9px; font-size:13px; }
.crp-file>button { border:1px solid #f2c4be; border-radius:9px; padding:6px 10px; color:var(--crp-danger); background:#fff4f2; cursor:pointer; font-size:12px; }
.crp-note { display:flex; gap:7px; margin-top:14px; padding:10px 13px; border-radius:12px; color:#48526b; background:#f1f3f7; font-size:12.5px; }
.crp-note strong { white-space:nowrap; }

/* ---------- review ---------- */
.crp-review { display:grid; gap:10px; margin-bottom:10px; }
.crp-review-group { padding:12px 14px; background:#f8f9fb; border:1px solid #e4e7ef; border-radius:14px; }
.crp-review-group>header { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.crp-review-group h3 { margin:0; color:var(--crp-primary-dark); font-size:14px; }
.crp-review-group>div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:2px 12px; padding:5px 0; border-top:1px dashed #e4e7ef; }
.crp-review-group>div:first-of-type { border-top:0; }
.crp-review small { color:var(--crp-muted); font-size:12px; }
.crp-review span { display:block; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13.5px; }
.crp-quality-check { margin:12px 0; padding:12px 15px; border:1px solid #abdfc2; border-radius:13px; color:#17633e; background:#eefaf3; }
.crp-quality-check.has-warning { border-color:#ecd19c; color:#805610; background:#fff9ec; }
.crp-quality-check>b { display:block; font-size:13px; }
.crp-quality-check p,.crp-quality-check ul { margin:5px 0 0; font-size:12.5px; }
.crp-quality-check ul { padding-right:18px; }
.crp-text-button { border:0; padding:4px 0; color:var(--crp-primary); background:transparent; cursor:pointer; font-size:12.5px; font-weight:700; }
.crp-consents { display:grid; gap:10px; margin-top:14px; }
.crp-consents>label { display:flex; flex-direction:row; align-items:flex-start; gap:11px; padding:12px 13px; border:1px solid var(--crp-line); border-radius:14px; background:#fcfdfe; font-weight:700; cursor:pointer; }
.crp-consents>label:has(input:checked) { border-color:#9ccfb3; background:#f2fbf5; }
.crp-consents input { width:20px; height:20px; margin-top:3px; accent-color:var(--crp-primary); flex:0 0 auto; }
.crp-consents span { display:block; font-size:13.5px; }
.crp-consents small { display:block; color:var(--crp-muted); font-size:12px; font-weight:400; margin-top:2px; line-height:1.7; }
.crp-consents em { color:var(--crp-muted); font-size:11.5px; font-style:normal; font-weight:400; }
.crp-consents label.crp-invalid { border-color:var(--crp-danger)!important; box-shadow:0 0 0 3px rgba(217,45,32,.08)!important; }

/* ---------- actions ---------- */
.crp-actions { display:flex; justify-content:space-between; gap:12px; padding:16px 22px 20px; border-top:1px solid #edeef2; background:#fff; }
.crp-app button.crp-primary,.crp-app button.crp-secondary { min-width:120px; min-height:46px; border-radius:12px; padding:10px 18px; font-weight:700; cursor:pointer; }
.crp-primary { flex:1; max-width:320px; border:1px solid var(--crp-primary); background:var(--crp-primary); color:#fff; }
.crp-primary:hover { background:var(--crp-primary-dark); border-color:var(--crp-primary-dark); }
.crp-secondary { border:1px solid var(--crp-line-strong); background:#fff; color:var(--crp-ink); }
.crp-app button:disabled { opacity:.5; cursor:not-allowed; }

/* ---------- success ---------- */
.crp-success { padding:36px 24px; text-align:center; }
.crp-success>span { width:72px; height:72px; border-radius:24px; display:grid; place-items:center; margin:0 auto 14px; background:#ecfdf3; color:#067647; font-size:38px; }
.crp-success h2 { margin:0 0 6px!important; color:var(--crp-primary-dark)!important; }
.crp-success p { max-width:560px; margin:6px auto; color:var(--crp-muted); font-size:13px; }
.crp-success>div { display:inline-flex; align-items:center; gap:10px; direction:ltr; margin:14px 0; padding:12px 15px; border:1px dashed #9fb3d3; border-radius:14px; background:#f6f8fb; }
.crp-success code { color:var(--crp-primary); font-size:20px; font-weight:700; }
.crp-success>div button { border:0; border-radius:8px; padding:6px 10px; color:var(--crp-primary); background:var(--crp-primary-soft); cursor:pointer; font-weight:700; }
.crp-success-next { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; max-width:640px; margin:10px auto 6px; padding:0; list-style:none; counter-reset:next; text-align:right; }
.crp-success-next li { position:relative; padding:10px 12px 10px 12px; padding-inline-start:38px; border:1px solid var(--crp-line); border-radius:12px; background:#fff; counter-increment:next; }
.crp-success-next li::before { content:counter(next,persian); position:absolute; top:10px; inset-inline-start:10px; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--crp-primary-soft); color:var(--crp-primary); font-size:12px; font-weight:700; }
.crp-success-next b { display:block; font-size:13px; }
.crp-success-next small { display:block; color:var(--crp-muted); font-size:11.5px; line-height:1.6; }
.crp-success>.crp-primary { display:flex; align-items:center; justify-content:center; width:min(340px,100%); min-height:46px; margin:16px auto 0; text-decoration:none; }
.crp-success-redirect { display:block; margin:9px auto 0; color:var(--crp-muted); font-size:11.5px; }
.crp-success>.crp-secondary { display:block; margin:18px auto 0; }
.crp-success-support { display:inline-block; margin:12px auto 0; color:var(--crp-primary); font-size:13px; font-weight:700; }

/* ---------- tracking / edit ---------- */
.crp-track-card { padding:24px 22px; }
.crp-track-result { margin-top:18px; padding:18px; border-radius:16px; background:#ecfdf3; border:1px solid #abefc6; }
.crp-track-result h3 { margin:0; color:#067647; }
.crp-track-result p { margin:3px 0; }
.crp-track-result small { color:var(--crp-muted); }
.crp-track-result .crp-secondary { display:flex; margin-top:14px; }
.crp-patient-edit-card { margin-top:14px; padding:24px; }
.crp-patient-edit-card>.crp-step-head { margin-bottom:14px; }
.crp-edit-section { margin-top:14px; padding:18px; border:1px solid var(--crp-line); border-radius:15px; background:#fcfdfe; }
.crp-edit-section h3 { margin:0 0 14px; color:var(--crp-primary-dark); font-size:15px; }
.crp-edit-section textarea { min-height:96px; }
.crp-edit-help { margin:-5px 0 13px; color:var(--crp-muted); font-size:12.5px; }
.crp-patient-edit-lock { border:1px solid #edc77f; color:#78500e; background:#fff8e8; }
.crp-existing-file-list { display:grid; gap:8px; margin-bottom:13px; }
.crp-existing-file { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--crp-line); border-radius:12px; background:#fff; }
.crp-existing-file span { min-width:0; }
.crp-existing-file strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.crp-existing-file small { display:block; color:var(--crp-muted); font-size:11.5px; }
.crp-existing-file label { display:flex; flex-direction:row; align-items:center; gap:6px; flex:0 0 auto; color:var(--crp-danger); font-size:12px; cursor:pointer; }
.crp-existing-file input { width:18px; height:18px; accent-color:var(--crp-danger); }
.crp-edit-dropzone { padding:20px 14px; }
.crp-patient-edit-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:16px; }
.crp-patient-edit-actions .crp-primary { min-height:44px; }
.crp-edit-goals { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:12px; border:1px solid var(--crp-line); border-radius:12px; }
.crp-edit-goals legend { padding:0 5px; font-weight:700; }
.crp-edit-goals label { display:flex!important; flex-direction:row!important; align-items:center; gap:6px!important; margin:0!important; padding:7px 10px; border:1px solid #d5dae4; border-radius:999px; font-size:13px; cursor:pointer; }
.crp-edit-goals input { width:18px; height:18px; accent-color:var(--crp-primary); }
.crp-change-request { border-color:#e3c477; background:#fffbef; }
/* 7.4.19 — فهرست نواقص در فرم اصلاح */
.crp-deficiency { margin:0 0 18px; padding:16px 18px; border:1px solid #f1cf7d; border-radius:16px; background:linear-gradient(180deg,#fffaf0,#fff); }
.crp-deficiency-head { display:flex; gap:12px; align-items:flex-start; margin-bottom:10px; }
.crp-deficiency-head>span { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:#fff3d6; color:#b45309; font-weight:700; font-size:18px; }
.crp-deficiency-head h3 { margin:0; color:var(--crp-primary-dark); font-size:16px; }
.crp-deficiency-head p { margin:2px 0 0; color:var(--crp-muted); font-size:12.5px; }
.crp-deficiency ul { margin:0 0 10px; padding:0; list-style:none; display:grid; gap:6px; }
.crp-deficiency li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; border:1px solid #f1cf7d; border-radius:11px; background:#fff; }
.crp-deficiency li b { font-size:14px; }
.crp-deficiency li small { color:var(--crp-muted); font-size:11.5px; white-space:nowrap; }
.crp-deficiency blockquote { margin:0 0 10px; padding:9px 12px; border-inline-start:3px solid #b45309; border-radius:10px; background:#fff; font-size:13.5px; line-height:1.8; white-space:pre-wrap; }
.crp-deficiency-help { margin:0; color:var(--crp-muted); font-size:12.5px; line-height:1.7; }
.crp-completion-note h3 small { margin-inline-start:6px; color:var(--crp-muted); font-size:11.5px; font-weight:400; }
.crp-patient-report { margin-top:18px; padding:22px; border:1px solid #bec6d8; border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(21,55,65,.08); }
.crp-patient-report>header { display:flex; align-items:center; gap:16px; padding-bottom:14px; border-bottom:2px solid #0b2b75; }
.crp-patient-report>header img { width:112px; height:auto; }
.crp-patient-report h2 { margin:0; font-size:20px; }
.crp-patient-report header small { color:var(--crp-muted); }
.crp-patient-report>section { margin-top:13px; padding:14px 16px; border:1px solid #dce0e8; border-radius:12px; break-inside:auto; }
.crp-patient-report>section h3 { margin:0 0 4px; color:#09276c; font-size:13px; break-after:avoid; }
.crp-patient-report>section p { margin:0; white-space:pre-line; overflow-wrap:anywhere; }
.crp-patient-report>footer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:16px; padding-top:14px; border-top:1px solid #dce0e8; }
.crp-patient-report>footer span { color:var(--crp-muted); font-size:11px; }
[data-required-checkbox-group].crp-invalid { padding:6px; border:1px solid var(--crp-danger); border-radius:12px; background:#fff4f2; }

/* ---------- overlays ---------- */
.crp-busy { position:fixed; inset:0; z-index:99999; background:rgba(243,247,248,.88); backdrop-filter:blur(5px); display:grid; place-items:center; }
.crp-busy>div { width:min(360px,calc(100% - 36px)); padding:24px; text-align:center; border-radius:20px; background:#fff; border:1px solid var(--crp-line); box-shadow:0 16px 40px rgba(22,63,70,.12); }
.crp-busy i { display:block; width:38px; height:38px; margin:0 auto 12px; border:4px solid #dce0eb; border-top-color:var(--crp-primary); border-radius:50%; animation:crp-spin .8s linear infinite; }
.crp-busy strong,.crp-busy p { display:block; }
.crp-busy p { color:var(--crp-muted); font-size:12px; margin:5px 0 0; }
@keyframes crp-spin { to { transform:rotate(360deg); } }
.crp-toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,30px); z-index:100000; max-width:min(520px,calc(100% - 32px)); padding:11px 15px; border-radius:12px; color:#fff; background:#123e7c; box-shadow:0 12px 30px rgba(7,29,50,.25); opacity:0; transition:.2s; font-size:13.5px; }
.crp-toast.crp-show { opacity:1; transform:translate(-50%,0); }
.crp-toast.crp-error { background:#a93026; }
.crp-honeypot { position:fixed!important; left:-10000px!important; opacity:0!important; pointer-events:none!important; }

/* ---------- responsive ---------- */
@media (max-width:760px) {
    .crp-standalone-main { padding:1px 8px; }
    .crp-app { margin:8px auto 0; font-size:14px; }
    .crp-topbar { flex-wrap:wrap; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; }
    .crp-identity { flex:1 1 100%; justify-content:space-between; gap:10px; }
    .crp-identity>span:last-child { align-items:flex-end; flex:0 1 auto; }
    .crp-identity strong { font-size:14px; }
    .crp-identity small { display:none; }
    .crp-portal-role { margin:0; white-space:nowrap; }
    .crp-brand-logo { width:96px; }
    .crp-tabs { flex:1 1 100%; padding:3px; }
    .crp-tab { flex:1; justify-content:center; text-align:center; padding:8px 6px; font-size:12px; white-space:nowrap; }
    .crp-emergency { margin:10px 0; padding:9px 12px; font-size:12px; }
    .crp-card { border-radius:16px; }
    .crp-progress { padding:10px 14px 0; }
    .crp-stepper { position:relative; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; margin-bottom:6px; }
    .crp-stepper.has-seven { grid-template-columns:repeat(7,minmax(0,1fr)); }
    .crp-stepper::before { content:''; position:absolute; top:19px; right:calc(100% / 12); left:calc(100% / 12); height:2px; background:#dfe5ee; }
    .crp-stepper.has-seven::before { right:calc(100% / 14); left:calc(100% / 14); }
    .crp-stepper li { position:relative; }
    .crp-stepper li button { padding:6px 0; border-radius:8px; }
    .crp-stepper li button:not(:disabled):hover { background:transparent; }
    .crp-stepper span { display:none; }
    .crp-stepper i { width:26px; height:26px; font-size:11.5px; box-shadow:0 0 0 3px #fff; }
    .crp-stepper li.is-current i { box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--crp-primary-soft); }
    .crp-progress-meta { padding-top:2px; }
    .crp-progress-meta strong { font-size:14px; }
    .crp-progress-bar { margin:8px -14px 0; }
    .crp-draft-banner { flex-wrap:wrap; margin:12px 14px 0; }
    .crp-draft-banner>div:last-child { width:100%; }
    .crp-draft-banner .crp-primary,.crp-draft-banner .crp-secondary { flex:1; }
    .crp-form-hints { margin:10px 14px 0; font-size:12px; }
    .crp-step,.crp-track-card { padding:18px 14px 8px; }
    .crp-patient-edit-card { padding:18px 14px; }
    .crp-patient-report { padding:15px; }
    .crp-patient-report>header,.crp-patient-report>footer { align-items:flex-start; flex-direction:column; }
    .crp-edit-section { padding:14px; }
    .crp-existing-file { align-items:flex-start; }
    .crp-step-head { margin-bottom:16px; }
    .crp-step-head h2 { font-size:18px!important; }
    .crp-step-head p { font-size:12px; }
    .crp-grid { grid-template-columns:1fr; gap:14px; }
    .crp-full { grid-column:auto; }
    .crp-choice-grid-3,.crp-choice-grid-4,.crp-choice-grid-5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .crp-choice span { min-height:44px; font-size:13px; }
    .crp-fieldset { margin-top:18px; }
    .crp-scale { gap:5px; }
    .crp-band-choices { grid-template-columns:minmax(0,1fr); }
    .crp-band-choice span { min-height:0; }
    .crp-scale span { min-height:54px; border-radius:10px; }
    .crp-scale small { font-size:9.5px; }
    .crp-file { align-items:flex-start; flex-wrap:wrap; }
    .crp-file-data { grid-template-columns:1fr; width:calc(100% - 55px); }
    .crp-file small,.crp-file select { grid-column:1; grid-row:auto; }
    .crp-file>button { margin-right:auto; }
    .crp-note { flex-direction:column; gap:1px; }
    .crp-review-group>div { grid-template-columns:1fr; gap:0; }
    .crp-success-next { grid-template-columns:1fr; }
    .crp-actions { position:sticky; bottom:0; z-index:9; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); box-shadow:0 -8px 24px rgba(7,29,50,.06); }
    .crp-app button.crp-primary,.crp-app button.crp-secondary { min-width:0; }
    .crp-primary { max-width:none; }
    .crp-consents>label { padding:11px 12px; }
    .crp-patient-edit-actions { flex-direction:column-reverse; }
    .crp-patient-edit-actions button { width:100%; }
    .crp-deficiency li { flex-direction:column; align-items:flex-start; gap:2px; }
    .crp-deficiency li small { white-space:normal; }
}
@media (max-width:420px) {
    .crp-choice-grid-3,.crp-choice-grid-4,.crp-choice-grid-5,.crp-choice-grid-2 { grid-template-columns:1fr 1fr; }
    .crp-brand-logo { width:88px; }
    .crp-tab { font-size:11.5px; padding:8px 4px; }
}

/* specificity guards against shared admin rules in tebtok-brand.css */
.crp-app .crp-choice { margin:0; padding:0; border:0; }
.crp-app .crp-step { padding:22px 22px 8px; }
@media (max-width:760px) { .crp-app .crp-step { padding:18px 14px 8px; } }

/* 7.4.20 — مرحلهٔ ۷: انتخاب بسته و پرداخت داخل فرم */
.crp-checkout-step { padding-bottom:22px!important; }
.crp-checkout-created { display:flex; align-items:center; gap:12px; margin:0 0 16px; padding:12px 14px; border:1px solid #bfe3cf; border-radius:14px; background:#effaf3; }
.crp-checkout-created>span { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border-radius:50%; color:#fff; background:#22c55e; font-size:16px; font-weight:700; }
.crp-checkout-created>div { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.crp-checkout-created b { color:#106443; font-size:14px; }
.crp-checkout-created small { color:#2f5b45; font-size:12px; line-height:1.7; }
.crp-checkout-created code { padding:1px 6px; border-radius:6px; background:#fff; color:var(--crp-primary-dark); font-size:12.5px; font-weight:700; }
.crp-checkout-created .crp-text-button { flex:0 0 auto; margin:0; }
.crp-checkout-host { min-width:0; }
.crp-checkout-host .crp-checkout { padding:0; }
.crp-checkout-loading { display:flex; align-items:center; gap:10px; padding:26px 14px; color:var(--crp-muted); font-size:13px; }
.crp-checkout-loading i { display:block; width:22px; height:22px; border:3px solid #dce0eb; border-top-color:var(--crp-primary); border-radius:50%; animation:crp-spin .8s linear infinite; }
.crp-checkout-fallback { flex-direction:column; align-items:flex-start; gap:6px; }
.crp-checkout-fallback .crp-primary { margin-top:6px; }
.crp-choice-tools:empty,.crp-choice-tools[hidden] { display:none; }
.crp-choice-tools:not(:has(.crp-choice-search)) { margin:0 0 6px; padding:0; border:0; background:transparent; }
.crp-choice-tools:not(:has(.crp-choice-search)) .crp-choice-status { margin:0; color:var(--crp-primary-dark); font-weight:700; }
@media (max-width:760px) {
    .crp-checkout-created { align-items:flex-start; flex-wrap:wrap; }
    .crp-checkout-created .crp-text-button { width:100%; text-align:center; }
}

/* 7.4.24 — متن کامل رضایت‌نامه/حریم خصوصی/شرایط از مدیریت محتوا */
.crp-legal-texts { display:grid; gap:8px; margin-top:12px; }
.crp-legal-text { border:1px solid var(--crp-line); border-radius:12px; background:#fbfcfe; }
.crp-legal-text>summary { padding:11px 14px; color:var(--crp-primary-dark); font-size:13px; font-weight:700; cursor:pointer; }
.crp-legal-text>div { max-height:260px; overflow:auto; padding:0 14px 14px; color:var(--crp-muted); font-size:13px; line-height:2; }

/* 7.4.30 — پیوند نتیجهٔ آزمایش یا تصویربرداری در مرحلهٔ «مدارک» */
.crp-result-links-box { margin-top:18px; padding:18px; border:1px solid #d7e5fb; border-radius:16px; background:linear-gradient(160deg,#f3f8ff 0%,#fbfdff 100%); }
.crp-result-links-head { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.crp-result-links-icon { display:grid; flex:0 0 auto; place-items:center; width:40px; height:40px; border-radius:12px; background:#fff; color:var(--crp-primary); box-shadow:0 4px 12px rgba(31,103,237,.12); }
.crp-result-links-head strong { display:block; color:var(--tebtok-deep,#123e7c); font-size:15px; font-weight:700; line-height:1.7; }
.crp-result-links-head p { margin:2px 0 0; color:var(--crp-muted); font-size:13px; line-height:1.9; }
.crp-result-links-fields { display:grid; grid-template-columns:150px minmax(0,1.7fr) minmax(0,1fr); gap:10px 12px; align-items:end; }
.crp-result-links-fields label { display:grid; gap:6px; min-width:0; margin:0; font-size:13px; font-weight:600; }
.crp-result-links-fields label small { color:var(--crp-muted); font-weight:400; }
.crp-result-links-fields .crp-rl-label { grid-column:1 / 3; }
.crp-app .crp-result-links-fields input[dir="ltr"] { font-family:Inter,var(--tebtok-font); text-align:left; }
.crp-app .crp-result-links-fields input[dir="ltr"]::placeholder { direction:rtl; text-align:right; font-family:var(--tebtok-font); }
.crp-app .crp-result-links-fields input[aria-invalid] { border-color:var(--crp-danger); }
.crp-app .crp-rl-add { min-height:46px; padding:0 18px; border:1px solid var(--crp-primary); border-radius:var(--crp-field-radius); background:#fff; color:var(--crp-primary); font-weight:700; cursor:pointer; transition:background-color .2s ease, color .2s ease; }
.crp-app .crp-rl-add:hover:not(:disabled) { background:var(--crp-primary); color:#fff; }
.crp-app .crp-rl-add:disabled { opacity:.5; cursor:not-allowed; }
.crp-rl-error { margin:10px 0 0; color:var(--crp-danger); font-size:13px; font-weight:600; }
.crp-rl-list { display:grid; gap:8px; margin:12px 0 0; padding:0; list-style:none; }
.crp-rl-list:empty { display:none; }
.crp-rl-list li { display:flex; align-items:center; gap:10px; margin:0; padding:10px 12px; border:1px solid var(--crp-line); border-radius:12px; background:#fff; }
.crp-rl-chip { flex:0 0 auto; padding:2px 10px; border-radius:999px; background:#eaf1ff; color:var(--crp-primary); font-size:12px; font-weight:700; }
.crp-rl-text { display:grid; flex:1 1 auto; min-width:0; }
.crp-rl-text b { overflow:hidden; font-size:13.5px; text-overflow:ellipsis; white-space:nowrap; }
.crp-rl-text bdi { overflow:hidden; color:var(--crp-muted); font-family:Inter,var(--tebtok-font); font-size:12px; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.crp-rl-text small { color:#15803d; font-size:11.5px; }
.crp-app .crp-rl-remove { flex:0 0 auto; min-height:36px; padding:0 12px; border:1px solid var(--crp-line); border-radius:10px; background:#fff; color:#b4232a; font-size:13px; font-weight:700; cursor:pointer; }
.crp-app .crp-rl-remove:hover { border-color:#f0c5c8; background:#fff3f4; }
.crp-rl-hint { display:block; margin-top:10px; color:var(--crp-muted); font-size:12px; line-height:1.8; }
@media (max-width:700px) {
    .crp-result-links-box { padding:16px 14px; }
    .crp-result-links-fields { grid-template-columns:minmax(0,1fr); }
    .crp-result-links-fields .crp-rl-label { grid-column:auto; }
    .crp-app .crp-rl-add { width:100%; }
}

/* ==========================================================================
   7.4.36 — سلسله‌مراتب «پرسش ↔ پاسخ» در فرم ثبت پرونده
   سه سطح روشن: عنوان مرحله (۲۰px) › پرسش (۱۵٫۵px، ۷۰۰، سرمه‌ای) › پاسخ (۱۵px، ۴۰۰، خاکستری متن
   با نشانگر دایره/مربع). فاصلهٔ پرسش تا پاسخ‌هایش (۱۰px) کمتر از فاصلهٔ دو پرسش (۲۸px) است.
   فقط وزن‌های ۴۰۰/۶۰۰/۷۰۰ یکان‌بخ. انتخابگرها با «.crp-app» تا بر قواعد مشترک tebtok-brand.css غلبه کنند.
   ========================================================================== */
.crp-app {
    --crp-q-color:#123e7c;
    --crp-q-size:15.5px;
    --crp-hint:#6b7785;
    --crp-a-color:#2f3a45;
    --crp-a-border:#cfdbe8;
    --crp-a-size:15px;
    --crp-q-gap:10px;
    --crp-block-gap:28px;
}

/* پرسش‌ها: legend گروه‌های انتخابی و برچسب فیلدهای متنی */
.crp-app .crp-fieldset { margin-top:var(--crp-block-gap); }
.crp-app .crp-fieldset legend { margin:0 0 var(--crp-q-gap); color:var(--crp-q-color); font-size:var(--crp-q-size); font-weight:700; line-height:1.7; }
/* legend شناور می‌شود تا مثل عنوان عادی رفتار کند و فاصله و خط جداکنندهٔ fieldset درست بنشیند */
.crp-app .crp-fieldset>legend { float:right; width:100%; }
.crp-app .crp-fieldset>legend~* { clear:both; }
.crp-app .crp-fieldset legend small { display:block; margin-top:2px; color:var(--crp-hint); font-size:12.5px; font-weight:400; line-height:1.8; }
.crp-app .crp-grid { row-gap:24px; }
.crp-app .crp-step>:not(.crp-step-head)+.crp-grid { margin-top:var(--crp-block-gap); }
.crp-app .crp-grid>label,.crp-app label.crp-question-box { color:var(--crp-q-color); font-size:var(--crp-q-size); font-weight:700; line-height:1.7; }
.crp-app .crp-grid>label>:is(input,select,textarea) { margin-top:var(--crp-q-gap); }
.crp-app .crp-fieldset legend b,.crp-app label>b { margin-inline-start:4px; color:#e5484d; font-weight:700; }
.crp-app label>small,.crp-app .crp-helper { color:var(--crp-hint); font-size:12.5px; font-weight:400; }
/* مقدار واردشده در فیلدها: متن عادی، نه پررنگ */
.crp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),.crp-app select,.crp-app textarea { border-color:var(--crp-a-border); color:var(--crp-a-color); font-weight:400; }
.crp-app input::placeholder,.crp-app textarea::placeholder { color:#8a96a6; }

/* پرسش فرعی (بعد از «بله» یا «سایر» باز می‌شود): یک سطح پایین‌تر و با نوار فیروزه‌ای */
.crp-app .crp-conditional { margin:12px 0 0; padding:14px 16px; border:1px solid #e3eaf2; border-inline-start:3px solid #72dfd5; border-radius:12px; background:#f7fafc; }
.crp-app .crp-conditional>label,.crp-app label.crp-conditional,.crp-app .crp-conditional-text { color:var(--crp-a-color); font-size:14.5px; font-weight:600; line-height:1.7; }
.crp-app .crp-conditional-text { margin-top:14px; }
.crp-app .crp-conditional :is(input,select,textarea),.crp-app .crp-conditional-text textarea { margin-top:8px; }

/* پاسخ‌ها: کارت گزینه با نشانگر؛ دایره = یک انتخاب، مربع = چند انتخاب */
.crp-app .crp-choice-grid { gap:10px; }
/* همهٔ گزینه‌های یک ردیف هم‌قد می‌مانند، حتی اگر متن یکی دو خط شود */
.crp-app .crp-choice { display:flex; }
.crp-app .crp-choice>span { flex:1 1 auto; width:100%; }
.crp-app .crp-choice span {
    justify-content:flex-start; gap:10px; min-height:48px; padding:10px 14px;
    border:1px solid var(--crp-a-border); border-radius:12px; background:#fff; box-shadow:none;
    color:var(--crp-a-color); font-size:var(--crp-a-size); font-weight:400; line-height:1.55; text-align:start;
}
.crp-app .crp-choice span::before { content:''; flex:0 0 auto; box-sizing:border-box; width:18px; height:18px; border:1.5px solid #9fb1c7; border-radius:50%; background:#fff; transition:border-color .15s,border-width .15s,background-color .15s; }
.crp-app .crp-choice input[type=checkbox]+span::before { border-radius:5px; }
.crp-app .crp-choice:hover span { border-color:#8fb0ea; background:#fbfdff; }
.crp-app .crp-choice input:checked+span { border-color:#1f67ed; background:#eef4ff; color:#123e7c; font-weight:600; box-shadow:inset 0 0 0 1px #1f67ed; }
.crp-app .crp-choice input[type=radio]:checked+span::before { content:''; border:5px solid #1f67ed; }
.crp-app .crp-choice input[type=checkbox]:checked+span::before { content:'✓'; display:grid; place-items:center; border-color:#1f67ed; background:#1f67ed; color:#fff; font-size:12px; font-weight:700; line-height:1; }
.crp-app .crp-choice input:focus-visible+span { outline:3px solid rgba(31,103,237,.28); outline-offset:2px; }
.crp-app .crp-choice.crp-invalid span { border-color:#e5484d; box-shadow:0 0 0 3px rgba(229,72,77,.1); }

/* بیماری‌های زمینه‌ای (چیپ): همان زبان تصویری پاسخ‌ها، فشرده‌تر */
.crp-app .crp-chip-grid { gap:10px; }
.crp-app .crp-chip span { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 14px; border-color:var(--crp-a-border); color:var(--crp-a-color); background:#fff; font-size:14.5px; font-weight:400; }
.crp-app .crp-chip span::before { content:''; flex:0 0 auto; box-sizing:border-box; width:16px; height:16px; border:1.5px solid #9fb1c7; border-radius:4px; }
.crp-app .crp-chip input:checked+span { border-color:#1f67ed; color:#123e7c; background:#eef4ff; box-shadow:inset 0 0 0 1px #1f67ed; font-weight:600; }
.crp-app .crp-chip input:checked+span::before { content:'✓'; display:grid; place-items:center; border-color:#1f67ed; background:#1f67ed; color:#fff; font-size:11px; font-weight:700; line-height:1; }

/* پرسش‌های بله/خیر پشت‌سرهم: هر پرسش با خط نازک جدا می‌شود */
.crp-app .crp-yesno-grid { margin-top:var(--crp-block-gap); padding-top:0; border-top:0; }
.crp-app .crp-yesno-grid>.crp-fieldset { margin-top:0; padding-top:20px; border-top:1px solid #eef2f6; }
.crp-app .crp-yesno-grid>.crp-fieldset:first-child { padding-top:0; border-top:0; }
.crp-app .crp-yesno-grid>.crp-conditional { margin-bottom:20px; }

/* مرور و تأیید: برچسب کم‌رنگ، پاسخ پررنگ‌تر */
.crp-app .crp-review-group { padding:14px 16px; border-color:#e3eaf2; background:#fbfcfe; }
.crp-app .crp-review-group h3 { font-size:15px; font-weight:700; }
.crp-app .crp-review-group>div { grid-template-columns:170px minmax(0,1fr); gap:2px 14px; padding:9px 0; border-top-color:#e8edf3; }
.crp-app .crp-review small { color:var(--crp-hint); font-size:12.5px; font-weight:400; line-height:1.8; }
.crp-app .crp-review span { color:var(--crp-a-color); font-size:14.5px; font-weight:600; line-height:1.8; }
.crp-app .crp-review span.is-empty { color:#8a96a6; font-weight:400; }

@media (max-width:760px) {
    .crp-app { --crp-q-size:15px; --crp-block-gap:24px; }
    /* موبایل: فهرست عمودی خواناتر از شبکهٔ دو ستونی با متن شکسته است */
    .crp-app :is(.crp-choice-grid-2,.crp-choice-grid-3,.crp-choice-grid-4,.crp-choice-grid-5) { grid-template-columns:minmax(0,1fr); gap:8px; }
    /* گزینه‌های کوتاه (جنسیت، تکمیل‌کنندهٔ فرم): دو ستون؛ آخرین گزینهٔ فرد تمام‌عرض */
    .crp-app .crp-choice-grid.crp-choice-short { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .crp-app .crp-choice-short>.crp-choice:last-child:nth-child(odd) { grid-column:1/-1; }
    /* بله / خیر / اطلاع ندارم: سه ستون کنار هم */
    .crp-app .crp-compact .crp-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .crp-app .crp-compact .crp-choice span { justify-content:center; gap:7px; padding:10px 6px; font-size:14.5px; text-align:center; }
    .crp-app .crp-yesno-grid>.crp-fieldset { padding-top:18px; }
    .crp-app .crp-conditional { padding:12px; }
    .crp-app .crp-review-group>div { grid-template-columns:minmax(0,1fr); gap:0; padding:8px 0; }
}
@media (max-width:360px) {
    .crp-app .crp-compact .crp-choice span { gap:5px; padding:9px 4px; font-size:13.5px; }
    .crp-app .crp-compact .crp-choice span::before { width:16px; height:16px; }
}
