/* Поток — общий стиль страниц входа/регистрации (на тех же токенах, что и лендинг) */

/* КРИТИЧНО: author-правила display (например .auth-form label{display:flex})
   перебивают UA-правило [hidden]{display:none} — из-за этого шаги формы
   (имя/пароль/«зафиксированный e-mail») были видны все сразу, и страница входа
   выглядела как регистрация. Возвращаем семантику hidden принудительно. */
[hidden]{display:none!important}
.auth-body{min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--sans);
  display:flex;align-items:center;justify-content:center;padding:24px;
  background-image:radial-gradient(60% 50% at 50% -10%,rgba(44,92,73,.08),transparent 60%)}
.auth-shell{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;gap:18px}
.auth-brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);
  font-family:var(--serif);font-size:20px;letter-spacing:.01em;margin-bottom:6px}
.auth-brand span{font-weight:600}

.auth-card{width:100%;background:var(--surface);border-radius:24px;padding:36px 32px 30px;
  box-shadow:var(--sh-2);border:1px solid rgba(34,30,23,.06)}
.auth-card h1{font-family:var(--serif);font-size:28px;font-weight:600;margin:0 0 8px;line-height:1.1}
.auth-sub{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0 0 22px}
.auth-sub a{color:var(--forest);font-weight:600;text-decoration:none}
.auth-sub a:hover{text-decoration:underline}

.auth-form{display:flex;flex-direction:column;gap:14px}
.auth-form label{display:flex;flex-direction:column;gap:6px}
.auth-form label span{font-size:13px;font-weight:600;color:var(--ink-2)}
.auth-form input{font:inherit;font-size:15px;padding:13px 15px;border:1px solid rgba(34,30,23,.14);
  border-radius:12px;background:var(--surface-2);color:var(--ink);outline:none;
  transition:border-color .15s,background .15s,box-shadow .15s}
.auth-form input:focus{border-color:var(--forest);background:var(--surface);
  box-shadow:0 0 0 3px rgba(44,92,73,.12)}
.auth-form input::placeholder{color:var(--ink-3)}

.auth-err{background:#FBE5DE;color:#A33A1E;font-size:13.5px;padding:10px 13px;border-radius:10px;
  border:1px solid rgba(163,58,30,.18)}

.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;
  font:inherit;font-size:15px;font-weight:600;padding:13px 18px;border-radius:12px;border:none;
  cursor:pointer;transition:transform .12s ease,background .15s,box-shadow .15s,border-color .15s}
.auth-btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}
.auth-btn-primary{background:var(--forest);color:var(--on-forest);margin-top:6px}
.auth-btn-primary:hover{background:var(--forest-hover);transform:translateY(-1px);box-shadow:var(--sh-2)}
.auth-btn-google{background:var(--surface);color:var(--ink);border:1.5px solid rgba(34,30,23,.14)}
.auth-btn-google:hover{border-color:var(--forest);transform:translateY(-1px)}

.auth-sep{position:relative;text-align:center;margin:22px 0 16px;color:var(--ink-3);font-size:12px}
.auth-sep::before,.auth-sep::after{content:"";position:absolute;top:50%;width:42%;height:1px;background:rgba(34,30,23,.1)}
.auth-sep::before{left:0}.auth-sep::after{right:0}
.auth-sep span{background:var(--surface);padding:0 10px;position:relative}

.auth-help{text-align:center;font-size:13.5px;color:var(--ink-2);margin:18px 0 0}
.auth-help a{color:var(--forest);font-weight:600;text-decoration:none}
.auth-help a:hover{text-decoration:underline}

.auth-foot{font-size:12.5px;color:var(--ink-3);text-align:center;max-width:380px;line-height:1.55}
.auth-foot a{color:var(--ink-2);text-decoration:underline}

.auth-fallback{margin-top:22px;border-top:1px solid rgba(34,30,23,.08);padding-top:18px;color:var(--ink-2);font-size:13px}
.auth-fallback summary{cursor:pointer;color:var(--ink-2);font-weight:600}
.auth-fallback a{color:var(--forest);font-weight:600;text-decoration:none}

/* Единый флоу (Wispr-style): зафиксированный e-mail + «Изменить» */
.auth-locked{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 15px;border:1px solid rgba(34,30,23,.1);border-radius:12px;
  background:var(--surface-2);font-size:14.5px}
.auth-locked-mail{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-edit{font:inherit;font-size:13px;font-weight:600;color:var(--forest);background:none;
  border:none;cursor:pointer;padding:2px 4px;border-radius:6px;flex:0 0 auto}
.auth-edit:hover{text-decoration:underline}

/* Чекбокс согласия (только на странице регистрации) */
.auth-consent{flex-direction:row!important;align-items:flex-start;gap:10px;
  font-size:12.5px;line-height:1.5;color:var(--ink-2);cursor:pointer;margin-top:2px}
.auth-consent input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;
  accent-color:var(--forest);cursor:pointer}
.auth-consent span{font-weight:400}
.auth-consent a{color:var(--forest);font-weight:600;text-decoration:none}
.auth-consent a:hover{text-decoration:underline}

/* #58 — плашка приветственного триала (на странице регистрации) */
.auth-trial{display:flex;align-items:flex-start;gap:12px;margin:0 0 20px;
  padding:14px 15px;border-radius:14px;
  background:color-mix(in srgb,var(--forest) 7%,var(--surface));
  border:1px solid color-mix(in srgb,var(--forest) 22%,transparent)}
.auth-trial-badge{flex:0 0 auto;font-size:12px;font-weight:700;letter-spacing:.01em;
  color:var(--on-forest);background:var(--forest);border-radius:999px;
  padding:5px 11px;line-height:1;margin-top:1px}
.auth-trial-text{font-size:13px;line-height:1.5;color:var(--ink-2)}
.auth-trial-text b{color:var(--ink);font-weight:600}

/* Toast подтверждения / ошибки регистрации */
.auth-toast{position:fixed;top:24px;left:50%;transform:translateX(-50%);
  background:var(--ink);color:var(--on-forest);padding:14px 20px;border-radius:12px;
  box-shadow:var(--sh-3);font-size:14px;font-weight:500;z-index:50;
  animation:authToast .4s var(--ease)}
@keyframes authToast{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
