/* ═══════════════════════════════════════════════════════════════════════════════════════════
   УНИВЕРСАЛЬНОЕ ОКНО-ВХОД — канонические стили ИЗ ИСТОЧНИКА v5.css (CHG-0360…0363, без правок).
   Перенесены дословно: сборка-зеркало седьмой старше этих решений и стилей не содержит. */
.v5-auth-overlay { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; padding: var(--em-space-4, 1rem); background: color-mix(in srgb, var(--v5-page, #faf8f2) 64%, transparent); backdrop-filter: blur(0.1875rem); }
/* карточка в стиле наших окон: радиус нашего формата, эффект приподнятости как при перетаскивании
   окна (глубокая тень — видно, что окно сверху), без полос сверху */
/* единый размер карточки: высота фиксирована по самому высокому режиму (регистрация) — окно не «скачет»,
   логотип и начало полей всегда в одной точке, вкладки лишь добавляют поля внутри (CHG-0363) */
.v5-auth-card { position: relative; inline-size: min(20.75rem, 92vw); min-block-size: 35rem; padding: var(--em-space-6, 2rem) var(--em-space-5, 1.5rem); background: var(--v5-page, #faf8f2); border: 1px solid var(--v5-border-light, #e4e0d4); border-radius: var(--em-radius-lg, 0.75rem); box-shadow: 0 1.125rem 3rem rgba(0, 0, 0, .28); text-align: center; }
.v5-auth-close { position: absolute; inset-block-start: 0.625rem; inset-inline-end: 0.625rem; display: inline-flex; padding: 0.375rem; border: 0; background: transparent; color: var(--v5-secondary, #6e6b64); cursor: pointer; border-radius: 0.5rem; }
.v5-auth-close:hover { background: var(--v5-page, #faf8f2); }
.v5-auth-brand { display: flex; flex-direction: column; align-items: center; gap: var(--em-space-2, 0.5rem); margin-block-end: var(--em-space-4, 1rem); }
.v5-auth-logo { inline-size: 4rem; block-size: 4rem; object-fit: contain; }
.v5-auth-word { block-size: 0.9375rem; object-fit: contain; }
.v5-auth-sub { margin: var(--em-space-1, 0.25rem) 0 0; color: var(--em-ink-brand, #1f3a5a); font-family: var(--em-font-family, Inter, system-ui, sans-serif); font-size: var(--em-font-base, 0.875rem); font-weight: var(--em-weight-semibold, 600); }
.v5-auth-tabs { display: flex; gap: 0.25rem; margin-block-end: var(--em-space-4, 1rem); border-block-end: 1px solid var(--v5-border-light, #e4e0d4); }
.v5-auth-tab { flex: 1; padding: 0.5rem 0.375rem; border: 0; background: transparent; font: inherit; font-size: var(--em-font-sm, 0.78125rem); color: var(--v5-secondary, #6e6b64); cursor: pointer; border-block-end: 0.125rem solid transparent; margin-block-end: -1px; }
.v5-auth-tab.is-active { color: var(--em-ink-brand, #1f3a5a); font-weight: 600; border-block-end-color: var(--em-ink-brand, #1f3a5a); }
.v5-auth-body { display: flex; flex-direction: column; gap: var(--em-space-3, 0.75rem); text-align: start; }
.v5-auth-rolenote { margin: 0 0 var(--em-space-1, 0.25rem); color: var(--em-ink-brand, #1f3a5a); font-size: var(--em-font-sm, 0.78125rem); }
.v5-auth-rolenote b { font-weight: var(--em-weight-semibold, 600); }
.v5-auth-field { display: flex; align-items: center; gap: var(--em-space-2, 0.5rem); padding: 0 var(--em-space-3, 0.75rem); border: 1px solid var(--v5-border-light, #e4e0d4); border-radius: var(--em-radius-md, 0.75rem); background: var(--v5-card, #fff); }
.v5-auth-field:focus-within { border-color: var(--v5-border, #d3cec0); }
.v5-auth-field svg { inline-size: 1.125rem; block-size: 1.125rem; color: var(--v5-secondary, #6e6b64); flex: none; }
.v5-auth-field input { flex: 1; border: 0; background: transparent; padding: 0.6875rem 0; font: inherit; color: var(--v5-text, #2d3748); outline: none; }
/* убираем синий/жёлтый фон автозаполнения браузера — держим наш белый фон поля */
.v5-auth-field input:-webkit-autofill,
.v5-auth-field input:-webkit-autofill:hover,
.v5-auth-field input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--v5-text, #2d3748);
  -webkit-box-shadow: 0 0 0 62.5rem var(--v5-card, #fff) inset;
  box-shadow: 0 0 0 62.5rem var(--v5-card, #fff) inset;
  caret-color: var(--v5-text, #2d3748);
  transition: background-color 9999s ease-out 0s;
}
.v5-auth-error { margin: 0; color: #b3261e; font-size: var(--em-font-sm, 0.78125rem); }
.v5-auth-notice { margin: 0; color: var(--v5-secondary, #6e6b64); font-size: var(--em-font-sm, 0.78125rem); }
.v5-auth-submit { display: inline-flex; align-items: center; justify-content: center; gap: var(--em-space-2, 0.5rem); margin-block-start: var(--em-space-1, 0.25rem); padding: 0.75rem; border: 0; border-radius: var(--em-radius-md, 0.75rem); background: var(--em-cta, #c3d3e8); color: var(--em-cta-text, #1f3a5a); font: inherit; font-weight: 600; cursor: pointer; }
.v5-auth-submit svg { inline-size: 1.125rem; block-size: 1.125rem; }
.v5-auth-submit:hover { filter: brightness(1.04); }
.v5-auth-submit:disabled { opacity: .6; cursor: default; }
.v5-auth-alt { border: 0; background: transparent; color: var(--em-ink-brand, #1f3a5a); font: inherit; font-size: var(--em-font-sm, 0.78125rem); cursor: pointer; padding: 0.125rem; align-self: center; }
.v5-auth-alt:hover { text-decoration: underline; }
/* согласие с декларацией при регистрации */
.v5-auth-consent { font-size: var(--em-font-sm, 0.78125rem); }
.v5-auth-consent-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--em-space-2, 0.5rem); inline-size: 100%; padding: 0.625rem; border: 1px dashed var(--v5-border, #d3cec0); border-radius: var(--em-radius-md, 0.75rem); background: transparent; color: var(--em-ink-brand, #1f3a5a); font: inherit; font-size: var(--em-font-sm, 0.78125rem); cursor: pointer; }
.v5-auth-consent-btn svg { inline-size: 1rem; block-size: 1rem; }
.v5-auth-consent-ok { display: inline-flex; align-items: center; gap: 0.375rem; color: #0b806a; font-size: var(--em-font-sm, 0.78125rem); }
.v5-auth-consent-ok svg { inline-size: 1rem; block-size: 1rem; }
.v5-auth-link { border: 0; background: transparent; color: var(--em-ink-brand, #1f3a5a); font: inherit; font-size: inherit; cursor: pointer; text-decoration: underline; padding: 0; }
/* окно декларации: читаемые условия + подтверждение */
.v5-decl-overlay { position: fixed; inset: 0; z-index: 62; display: flex; align-items: center; justify-content: center; padding: var(--em-space-4, 1rem); background: color-mix(in srgb, var(--v5-page, #faf8f2) 64%, transparent); backdrop-filter: blur(0.1875rem); }
.v5-decl-card { inline-size: min(23.75rem, 94vw); padding: var(--em-space-5, 1.5rem); background: var(--v5-page, #faf8f2); border: 1px solid var(--v5-border-light, #e4e0d4); border-radius: var(--em-radius-lg, 0.75rem); box-shadow: 0 1.125rem 3rem rgba(0, 0, 0, .28); }
.v5-decl-head { display: flex; align-items: center; justify-content: space-between; margin-block-end: var(--em-space-3, 0.75rem); }
.v5-decl-body { text-align: start; font-size: var(--em-font-sm, 0.78125rem); line-height: var(--em-line-base, 1.5); color: var(--v5-text, #2d3748); }
.v5-decl-body ul { margin: var(--em-space-2, 0.5rem) 0; padding-inline-start: 1.125rem; display: flex; flex-direction: column; gap: 0.25rem; }
.v5-decl-note { color: var(--v5-secondary, #6e6b64); }
.v5-decl-card .v5-auth-submit { inline-size: 100%; margin-block-start: var(--em-space-3, 0.75rem); }
.v5-decl-card .v5-auth-submit { inline-size: 100%; margin-block-start: var(--em-space-3, 0.75rem); }
