.safb-shell,.safb-result-shell,
.safb-shell *,.safb-result-shell *{box-sizing:border-box;font-family:'Vazirmatn',Tahoma,Arial,sans-serif!important;}
.safb-shell{direction:rtl;background:var(--safb-bg,#f8fafc);border-radius:calc(var(--safb-radius,18px) + 10px);padding:24px;margin:24px auto;max-width:860px;color:#111827;font-size:var(--safb-font-size,16px);font-feature-settings:"ss01";}
.safb-shadow{box-shadow:0 26px 80px rgba(15,23,42,.11);}
.safb-cover{width:100%;max-height:290px;object-fit:cover;border-radius:var(--safb-radius,18px);margin-bottom:18px;box-shadow:0 18px 55px rgba(15,23,42,.1);}
.safb-header{text-align:center;margin-bottom:20px;}
.safb-header h2{font-size:30px;font-weight:900;letter-spacing:-.03em;margin:0 0 9px;color:#0f172a;}
.safb-description{color:#475569;line-height:1.95;max-width:680px;margin:0 auto;}
.safb-form{background:var(--safb-card,#fff);border-radius:var(--safb-radius,18px);padding:24px;border:1px solid rgba(226,232,240,.9);box-shadow:0 18px 50px rgba(15,23,42,.07);}
.safb-fields{display:flex;flex-wrap:wrap;gap:16px;}
.safb-field{width:100%;margin-bottom:6px;}
.safb-width-half{width:calc(50% - 8px)}
.safb-width-third{width:calc(33.333% - 12px)}
.safb-label{display:block;margin-bottom:9px;font-weight:850;color:#1f2937;}
.safb-label span{color:#dc2626;}
.safb-field input[type=text],.safb-field input[type=email],.safb-field input[type=number],.safb-field textarea,.safb-field select{width:100%;border:1px solid #d8dfeb;border-radius:15px;padding:14px 15px;background:#fff;color:#111827;transition:.18s ease;font-size:1em;line-height:1.6;}
.safb-field input:focus,.safb-field textarea:focus,.safb-field select:focus{border-color:var(--safb-primary,#2563eb);box-shadow:0 0 0 4px color-mix(in srgb,var(--safb-primary,#2563eb) 16%,transparent);outline:none;}
.safb-field textarea{min-height:130px;}
.safb-help{font-size:13px;color:#64748b;margin-top:7px;line-height:1.8;}
.safb-options{display:grid;gap:10px;}
.safb-options-likert{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));}
.safb-choice{display:flex;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:17px;padding:13px;background:#fff;cursor:pointer;transition:.18s ease;box-shadow:0 4px 14px rgba(15,23,42,.025);}
.safb-choice:hover{border-color:var(--safb-primary,#2563eb);background:#f8fafc;transform:translateY(-1px);}
.safb-choice input{accent-color:var(--safb-primary,#2563eb);}
.safb-choice.selected,.safb-choice:has(input:checked){border-color:var(--safb-primary,#2563eb);background:color-mix(in srgb,var(--safb-primary,#2563eb) 9%,#fff);box-shadow:0 10px 26px color-mix(in srgb,var(--safb-primary,#2563eb) 11%,transparent);}
.safb-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px;}
.safb-rating input{display:none;}
.safb-rating span{font-size:32px;color:#cbd5e1;cursor:pointer;transition:.15s;}
.safb-rating label:hover span,.safb-rating label:hover~label span,.safb-rating input:checked+span,.safb-rating label:has(input:checked)~label span{color:#f59e0b;}
.safb-divider{border:0;border-top:1px dashed #cbd5e1;width:100%;}
.safb-progress{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-bottom:20px;}
.safb-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--safb-primary,#2563eb),var(--safb-secondary,#7c3aed));transition:.28s;}
.safb-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;}
.safb-btn{border:0;border-radius:16px;padding:13px 22px;cursor:pointer;font-weight:850;background:#e5e7eb;color:#111827;transition:.18s ease;}
.safb-btn:hover{transform:translateY(-1px);filter:saturate(1.08);}
.safb-submit,.safb-next{background:linear-gradient(135deg,var(--safb-primary,#2563eb),var(--safb-secondary,#7c3aed));color:#fff;box-shadow:0 16px 34px color-mix(in srgb,var(--safb-primary,#2563eb) 25%,transparent);}
.safb-single-mode .safb-field{display:none;}
.safb-single-mode .safb-field.active{display:block;width:100%;animation:safbFrontIn .24s ease both;}
@keyframes safbFrontIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.safb-single-mode .safb-submit{display:none;}
.safb-single-mode.is-last .safb-submit{display:inline-flex;}
.safb-single-mode.is-last .safb-next{display:none;}
.safb-single-mode.is-first .safb-prev{opacity:.45;pointer-events:none;}
.safb-alert{border-radius:16px;padding:13px 16px;margin-bottom:15px;}
.safb-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;}
.safb-preset-glass{background:radial-gradient(circle at top,#dbeafe,#f8fafc);}
.safb-preset-glass .safb-form{background:rgba(255,255,255,.72);backdrop-filter:blur(18px);}
.safb-preset-minimal{background:#fff;}
.safb-preset-minimal .safb-form{box-shadow:none;}
.safb-preset-warm{background:#fff7ed;}
.safb-preset-warm .safb-form{border-color:#fed7aa;}
.safb-preset-dark{background:#020617;color:#e5e7eb;}
.safb-preset-dark .safb-header h2,.safb-preset-dark .safb-label{color:#f8fafc;}
.safb-preset-dark .safb-description,.safb-preset-dark .safb-help{color:#cbd5e1;}
.safb-preset-dark .safb-form{background:#0f172a;border-color:#1e293b;}
.safb-preset-dark input,.safb-preset-dark textarea,.safb-preset-dark select,.safb-preset-dark .safb-choice{background:#111827;color:#e5e7eb;border-color:#334155;}
.safb-preset-luxury{background:linear-gradient(135deg,#fffaf0,#fff);}
.safb-preset-luxury .safb-submit,.safb-preset-luxury .safb-next{background:linear-gradient(135deg,#9a6a07,#f7d37b);color:#1f1300;}
.safb-density-compact .safb-form{padding:18px}.safb-density-compact .safb-fields{gap:10px}.safb-density-compact input,.safb-density-compact textarea,.safb-density-compact select,.safb-density-compact .safb-choice{padding:10px 12px}
.safb-density-spacious .safb-form{padding:32px}.safb-density-spacious .safb-fields{gap:22px}.safb-density-spacious .safb-field{margin-bottom:12px}
.safb-card-bordered .safb-form{box-shadow:none;border-width:2px}.safb-card-flat .safb-form{box-shadow:none;border-color:transparent}.safb-card-glass .safb-form{background:rgba(255,255,255,.68);backdrop-filter:blur(18px)}
.safb-input-pill input,.safb-input-pill textarea,.safb-input-pill select{border-radius:999px}.safb-input-underline input,.safb-input-underline textarea,.safb-input-underline select{border-width:0 0 2px;border-radius:0;background:transparent}.safb-input-outline input,.safb-input-outline textarea,.safb-input-outline select{background:transparent;border-width:2px}
.safb-button-pill .safb-btn{border-radius:999px}.safb-button-solid .safb-submit,.safb-button-solid .safb-next{background:var(--safb-primary,#2563eb)}.safb-button-outline .safb-submit,.safb-button-outline .safb-next{background:transparent;color:var(--safb-primary,#2563eb);border:2px solid var(--safb-primary,#2563eb);box-shadow:none}
.safb-option-buttons .safb-options{display:flex;flex-wrap:wrap}.safb-option-buttons .safb-choice{display:inline-flex}.safb-option-list .safb-choice{border-radius:8px;box-shadow:none;border-width:0 0 1px;background:transparent}
.safb-label-calm .safb-label{font-weight:650;color:#475569}.safb-label-floating .safb-field{position:relative}.safb-label-floating .safb-label{font-size:13px;margin-bottom:6px;color:var(--safb-primary,#2563eb)}
.safb-result-shell{max-width:880px;margin:24px auto;direction:rtl;background:#f8fafc;border-radius:30px;padding:24px;color:#111827;font-feature-settings:"ss01";}
.safb-result-header{text-align:center;margin-bottom:18px;}
.safb-result-header h2{margin:0;font-size:28px;font-weight:900;letter-spacing:-.03em;}
.safb-result-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:24px;margin-bottom:16px;box-shadow:0 20px 60px rgba(15,23,42,.08);line-height:1.95;}
.safb-result-title h3{margin:0 0 12px;font-size:23px;font-weight:900;color:#0f172a;}
.safb-score-line{display:inline-flex;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:7px 12px;margin-bottom:12px;font-weight:800;}
.safb-result-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:17px;padding:13px 15px;margin:10px 0;color:#334155;}
.safb-subscales{display:flex;gap:8px;flex-wrap:wrap;}
.safb-subscales span{background:#eef2ff;border-radius:999px;padding:7px 12px;}
.safb-answer-note{border-right:4px solid #93c5fd;background:#eff6ff;border-radius:13px;padding:11px 13px;margin:8px 0;line-height:1.9;}
.safb-otp-box{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin-top:9px;}
.safb-send-otp{border:0;border-radius:14px;background:var(--safb-primary,#2563eb);color:#fff;padding:11px 14px;cursor:pointer;font-weight:850;white-space:nowrap;}
.safb-send-otp:disabled{opacity:.65;cursor:wait;}
.safb-otp-code{min-width:120px;}
.safb-otp-status{grid-column:1/-1;font-size:13px;line-height:1.8;}
.safb-otp-status.ok{color:#047857}.safb-otp-status.error{color:#b91c1c}
@media(max-width:700px){.safb-shell,.safb-result-shell{padding:15px;border-radius:22px}.safb-form{padding:17px}.safb-width-half,.safb-width-third{width:100%}.safb-mobile-width-half{width:calc(50% - 8px)}.safb-mobile-width-full{width:100%}.safb-header h2{font-size:23px}.safb-actions{justify-content:stretch}.safb-btn{flex:1}.safb-options-likert{grid-template-columns:1fr}.safb-result-title h3{font-size:20px}}
@media(max-width:420px){.safb-mobile-width-half{width:100%}.safb-otp-box{grid-template-columns:1fr}.safb-send-otp,.safb-otp-code{width:100%}}

/* Definitive custom radio/checkbox UI: independent from theme native input styles */
.safb-choice{position:relative;user-select:none;-webkit-tap-highlight-color:transparent;}
.safb-choice input[type=radio],
.safb-choice input[type=checkbox]{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:.01!important;
  visibility:visible!important;
  display:block!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
}
.safb-control{
  width:21px!important;
  height:21px!important;
  min-width:21px!important;
  flex:0 0 21px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px solid #94a3b8!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px #fff!important;
  transition:.16s ease!important;
  pointer-events:none!important;
}
.safb-choice-radio .safb-control{border-radius:999px!important;}
.safb-choice-checkbox .safb-control{border-radius:7px!important;}
.safb-choice input[type=radio]:checked + .safb-control,
.safb-choice input[type=checkbox]:checked + .safb-control{
  border-color:var(--safb-primary,#2563eb)!important;
  background:var(--safb-primary,#2563eb)!important;
}
.safb-choice input[type=radio]:checked + .safb-control::after{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:#fff;
  display:block;
}
.safb-choice input[type=checkbox]:checked + .safb-control::after{
  content:"✓";
  color:#fff;
  font-size:15px;
  font-weight:900;
  line-height:1;
  font-family:Tahoma,Arial,sans-serif!important;
}
.safb-choice-text{pointer-events:none;line-height:1.8;}
.safb-choice.selected,
.safb-choice:has(input:checked){
  border-color:var(--safb-primary,#2563eb)!important;
  background:color-mix(in srgb,var(--safb-primary,#2563eb) 9%,#fff)!important;
  box-shadow:0 10px 26px color-mix(in srgb,var(--safb-primary,#2563eb) 11%,transparent)!important;
}
.safb-choice.is-keyboard-focus{outline:3px solid color-mix(in srgb,var(--safb-primary,#2563eb) 22%,transparent);}


/* Reliability override: keep native radio/checkbox active and visible so every theme/browser can select options. */
.safb-choice input[type=radio],
.safb-choice input[type=checkbox]{
  position:static!important;
  inline-size:20px!important;
  block-size:20px!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin:0 0 0 8px!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
  display:inline-block!important;
  pointer-events:auto!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
  clip:auto!important;
  clip-path:none!important;
  overflow:visible!important;
  accent-color:var(--safb-primary,#2563eb)!important;
}
.safb-choice .safb-control{display:none!important;}

/* Advanced OTP verification flow */
.safb-mobile-wrap{position:relative;display:flex;align-items:center;}
.safb-mobile-wrap .safb-mobile-input{width:100%;padding-left:46px!important;}
.safb-mobile-verified-badge{position:absolute;left:13px;top:50%;transform:translateY(-50%) scale(.7);width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;box-shadow:0 10px 24px rgba(5,150,105,.28);opacity:0;pointer-events:none;transition:.22s ease;}
.safb-mobile-is-verified .safb-mobile-verified-badge{opacity:1;transform:translateY(-50%) scale(1);}
.safb-mobile-is-verified .safb-mobile-input{border-color:#10b981!important;background:#f0fdf4!important;box-shadow:0 0 0 4px rgba(16,185,129,.11)!important;}
.safb-otp-box{display:block;margin-top:12px;border:1px solid #dbeafe;background:linear-gradient(135deg,#f8fbff,#eef6ff);border-radius:20px;padding:13px;box-shadow:0 16px 36px rgba(37,99,235,.08);transition:.22s ease;}
.safb-otp-graphic{display:flex;gap:10px;align-items:center;margin-bottom:11px;color:#1e3a8a;}
.safb-otp-graphic>span{width:42px;height:42px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 20px rgba(30,58,138,.09);}
.safb-otp-graphic strong{display:block;font-size:14px;font-weight:900;color:#0f172a;}
.safb-otp-graphic small{display:block;font-size:12px;color:#64748b;margin-top:2px;}
.safb-otp-controls{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:8px;align-items:center;}
.safb-otp-code{display:none!important;text-align:center;letter-spacing:4px;font-weight:900;font-size:17px;}
.safb-otp-sent .safb-otp-code,.safb-otp-expired .safb-otp-code{display:block!important;}
.safb-otp-verified .safb-otp-code,.safb-otp-verified .safb-send-otp{display:none!important;}
.safb-send-otp{min-height:44px;border:0;border-radius:15px;background:linear-gradient(135deg,var(--safb-primary,#2563eb),var(--safb-secondary,#7c3aed));color:#fff;padding:11px 16px;cursor:pointer;font-weight:900;white-space:nowrap;box-shadow:0 12px 26px color-mix(in srgb,var(--safb-primary,#2563eb) 22%,transparent);transition:.18s ease;}
.safb-send-otp:hover{transform:translateY(-1px);filter:saturate(1.05);}
.safb-send-otp:disabled{opacity:.72;cursor:wait;transform:none;}
.safb-otp-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;min-height:24px;}
.safb-otp-timer{font-size:12px;color:#475569;font-weight:750;}
.safb-otp-change{display:none;border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:800;cursor:pointer;padding:3px 0;}
.safb-otp-verified .safb-otp-change{display:inline-flex;}
.safb-otp-status{font-size:13px;line-height:1.8;margin-top:6px;}
.safb-otp-status.ok{color:#047857}.safb-otp-status.error{color:#b91c1c}
.safb-otp-sent{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff);}
.safb-otp-verified{border-color:#bbf7d0;background:linear-gradient(135deg,#ecfdf5,#f8fffb);}
.safb-otp-verified .safb-otp-graphic>span{background:#10b981;color:#fff;}
.safb-otp-verified .safb-otp-graphic strong::after{content:'  تایید شد';color:#059669;}
.safb-otp-expired{border-color:#fecaca;background:linear-gradient(135deg,#fff7f7,#fff);}
.safb-otp-loading{opacity:.88;}
@media(max-width:520px){.safb-otp-controls{grid-template-columns:1fr}.safb-send-otp{width:100%}.safb-otp-code{width:100%}.safb-otp-graphic{align-items:flex-start}.safb-otp-box{padding:12px}}

/* Notification log chips */
.safb-log-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-weight:850;font-size:12px;}
.safb-log-sent{background:#dcfce7;color:#166534}.safb-log-failed{background:#fee2e2;color:#991b1b}.safb-log-skipped{background:#f1f5f9;color:#475569}
.safb-log-table small{display:block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
