/* Карточка формы */
.form-section{ padding:32px 0; }
.page-title{ font:700 28px/1.25 Inter, sans-serif; margin-bottom:16px; }
.form-card{
  border:1px solid #e2e8f0; border-radius:12px; background:#fff;
  padding:20px; box-shadow:0 6px 24px rgba(0,0,0,.06);
}

/* Сетка полей: 2 колонки на десктопе */
.form-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px;
}
.form-field{ display:flex; flex-direction:column; gap:6px; }
.form-field--full{ grid-column:1/-1; }

/* Лейблы и инпуты */
.form-label{ font:600 14px/1.3 Inter, sans-serif; color:#0f172a; }
.input, .select{
  display:block; width:100%;
  padding:10px 12px; font:400 15px/1.3 "Source Sans 3", sans-serif;
  border:1px solid #e2e8f0; border-radius:10px; background:#fff; color:#0f172a;
  outline:2px solid transparent; outline-offset:2px; transition:box-shadow .15s ease, border-color .15s ease;
}
.input:focus, .select:focus{
  border-color:#93c5fd;
  box-shadow:0 0 0 3px rgba(59,130,246,.25);
}

/* Select стрелка (одинарный) */
.select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7l5 6 5-6' stroke='%2364748b' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:18px 18px;
}

/* Мультиселект повыше */
.select-multi{ min-height:110px; }

/* Радио-переключатель пола */
.radio{ position:absolute; left:-9999px; }
.radio-group{ display:flex; gap:8px; flex-wrap:wrap; }
.radio-pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:9999px; border:1px solid #e2e8f0;
  background:#fff; color:#0f172a; cursor:pointer; user-select:none;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.radio:focus + .radio-pill{ box-shadow:0 0 0 3px rgba(59,130,246,.25); border-color:#93c5fd; }
.radio:checked + .radio-pill{
  background:#2563eb; border-color:#2563eb; color:#fff;
}

/* Чипы выбранных профилей */
.chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:9999px; background:#eef2ff; color:#1e3a8a; font-size:14px;
}
.chip__x{
  border:1px solid #c7d2fe; background:#fff; color:#1e3a8a;
  width:18px; height:18px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; line-height:1; cursor:pointer;
}
.chip__x:hover{ background:#e0e7ff; }

/* Кнопка отправки */
.form-actions{ margin-top:16px; display:flex; gap:12px; }
.button--primary{ background:#2563eb; color:#fff; }
.button--primary:hover{ filter:brightness(.95); }

/* Валидация */
.text-danger{ color:#dc2626; font-size:13px; }
.validation-summary{ margin-top:12px; color:#dc2626; }

/* Адаптив */
@media (max-width: 900px){
  .form-grid{ grid-template-columns:1fr; }
}

.input-wrap{ position:relative; }
.input--with-icon-right{ padding-right:42px; }

.input-btn-icon{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #e2e8f0; border-radius:8px; background:#fff; cursor:pointer;
}
.input-btn-icon:hover{ background:#f8fafc; }

.form-grid--single { grid-template-columns: 1fr; }

/* центрирование и узкая карточка */
.auth-shell{ display:flex; justify-content:center; padding:32px 0; }
.auth-card{ width:100%; max-width:420px; }

/* кнопка на всю ширину и стек */
.form-actions--stack{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
.button--full{ width:100%; }

/* help-текст под кнопкой */
.form-help{ text-align:center; color:#64748b; font-size:14px; }
.form-help a{ color:#2563eb; text-decoration:none; font-weight:600; }
.form-help a:hover{ text-decoration:underline; }

/* чтобы ошибки шли строкой под полем, а не сбоку */
.text-danger{ display:block; margin-top:4px; color:#dc2626; font-size:13px; line-height:1.25; }

/* контейнер подсказки */
.pwd-hint {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  cursor: help;
  color: #64748b; /* slate-500 */
  font-size: 0.9rem;
}

/* сама плашка */
.pwd-tooltip {
  position: absolute;
  top: 125%;
  left: 0;
  z-index: 20;

  width: 260px;
  padding: 10px 12px;

  background: #0f172a; /* slate-900 */
  color: #e5e7eb;      /* gray-200 */
  border-radius: 8px;

  font-size: 0.85rem;
  line-height: 1.4;

  box-shadow: 0 10px 25px rgba(0,0,0,.25);

  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: all .15s ease;
}

/* стрелочка */
.pwd-tooltip::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 12px;
  border-width: 6px;
  border-style: solid;
  border-color: transparent transparent #0f172a transparent;
}

/* список */
.pwd-tooltip ul {
  padding-left: 18px;
  margin: 6px 0 0;
}

.pwd-tooltip li {
  margin: 2px 0;
}

/* показать при наведении */
.pwd-hint:hover .pwd-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}