/* Многошаговая форма вступления */
/* экран успеха */
.ms-success { text-align: center; padding: 48px 36px; }
.ms-success__icon {
  width: 84px; height: 84px; margin: 0 auto 20px;
  display: grid; place-items: center; border-radius: 50%;
  background: var(--c-accent-50, #e6f4ef); color: var(--c-accent-600, #2E9E6B);
}
.ms-success__title {
  font-family: var(--f-display); font-size: 28px; font-weight: 700;
  letter-spacing: -0.01em; margin: 0 0 14px; color: var(--c-ink, #14241C);
}
.ms-success__text { color: var(--c-ink-3, #566B63); font-size: 16.5px; line-height: 1.6; max-width: 480px; margin: 0 auto 28px; }
.ms-success__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 560px) { .ms-success { padding: 36px 20px; } .ms-success__actions .btn { width: 100%; } }

#msForm.card { padding: 36px; }
@media (max-width: 560px) { #msForm.card { padding: 22px 18px; } }

.ms-steps {
  display: flex; gap: 8px; list-style: none; padding: 0; margin: 0 0 16px;
  counter-reset: step; flex-wrap: wrap;
}
.ms-steps li {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600; color: var(--c-ink-4, #8a9b93);
  padding: 8px 14px; border-radius: 999px; background: var(--c-surface-2, #eef3f1);
  transition: all .2s ease;
}
.ms-steps li span {
  display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%;
  background: #fff; color: var(--c-ink-4, #8a9b93); font-size: 13px;
}
.ms-steps li.is-active { background: var(--c-cta, #16A085); color: #fff; }
.ms-steps li.is-active span { background: #fff; color: var(--c-cta, #16A085); }
.ms-steps li.is-done { background: var(--c-accent-50, #e6f4ef); color: var(--c-accent-600, #3A9886); }

.ms-step { border: 0; padding: 0; margin: 0; display: none; }
.ms-step.is-active { display: block; }
.ms-step h3 { font-family: var(--f-display); font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }

/* поля: подпись над полем, аккуратный ритм */
.ms-step label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-ink-2, #2c3a34);
  letter-spacing: .01em;
}
.ms-step label .input,
.ms-step label input,
.ms-step label textarea { margin-top: 7px; }
.ms-step label textarea { min-height: 64px; resize: vertical; }

.ms-nav {
  display: flex; justify-content: space-between; gap: 12px; margin-top: 24px;
  padding-top: 18px; border-top: 1px solid var(--c-line, #e3ebe7);
}

/* подзаголовок раздела */
.ms-subhead {
  font-family: var(--f-display); font-size: 15px; font-weight: 600;
  color: var(--c-ink-2, #2c3a34); margin: 6px 0 -4px;
  padding-top: 14px; border-top: 1px solid var(--c-line, #e3ebe7);
}

/* текст ошибки валидации */
.ms-err { display: none; color: var(--c-danger, #D64545); font-size: 12.5px; font-weight: 500; margin-top: 5px; }
.ms-err.is-show { display: block; }
.input.is-invalid { border-color: var(--c-danger, #D64545); }

/* подсказки DaData */
.ms-dd { position: relative; }
.ms-dd__list {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 40;
  background: #fff; border: 1px solid var(--c-line, #dee7e2); border-radius: 12px;
  box-shadow: 0 14px 40px rgba(20,40,32,.16); max-height: 280px; overflow-y: auto; padding: 5px;
}
.ms-dd__item {
  padding: 9px 12px; border-radius: 8px; font-size: 14px; cursor: pointer; font-weight: 400;
  color: var(--c-ink, #14241C);
}
.ms-dd__item:hover, .ms-dd__item.is-active { background: var(--c-surface-2, #eef3f1); }
.ms-dd__item small { display: block; color: var(--c-ink-3, #566B63); font-size: 12px; }

/* зона загрузки */
.ms-drop {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 36px 20px; border: 2px dashed var(--c-line-2, #cdddd6); border-radius: 16px;
  cursor: pointer; text-align: center; transition: border-color .2s ease, background .2s ease;
}
/* кликабельный, но невидимый file-input поверх всей зоны */
.ms-drop__input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  opacity: 0; cursor: pointer;
}
.ms-drop:hover, .ms-drop.is-drag { border-color: var(--c-cta, #16A085); background: var(--c-surface-2, #f4f8f6); }
.ms-drop.is-filled { border-style: solid; border-color: var(--c-accent-600, #3A9886); background: var(--c-accent-50, #eef7f3); }
.ms-drop__icon { color: var(--c-cta, #16A085); }
.ms-drop__text { font-weight: 600; color: var(--c-ink-2, #2c3a34); }
.ms-drop__name { font-size: 13px; color: var(--c-ink-3, #566B63); word-break: break-all; }

/* подпись */
.ms-sign { position: relative; }
#sigPad {
  width: 100%; height: 200px; touch-action: none;
  border: 2px solid var(--c-line-2, #cdddd6); border-radius: 14px;
  background: #fff; cursor: crosshair; display: block;
}
.ms-sign__clear {
  position: absolute; top: 10px; right: 10px;
  border: 1px solid var(--c-line-2, #cdddd6); background: #fff; color: var(--c-ink-3, #566B63);
  font-size: 13px; padding: 4px 12px; border-radius: 8px; cursor: pointer;
}
.ms-sign__clear:hover { color: var(--c-danger, #D64545); border-color: currentColor; }

@media (max-width: 560px) {
  .ms-steps li { padding: 6px 10px; font-size: 12.5px; }
  .ms-step label > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}
