*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;
     background:#F1F5F9;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;
     color:#0F172A;padding:24px}
.card{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:36px 32px;
      box-shadow:0 4px 24px rgba(15,23,42,.08)}
.brand{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
       color:#6366F1;margin-bottom:20px}
h1{margin:0 0 8px;font-size:23px;font-weight:800}
.sub{margin:0 0 26px;font-size:14px;color:#64748B}
label{display:block;font-size:13px;font-weight:600;margin-bottom:16px;color:#334155}
input{display:block;width:100%;margin-top:6px;padding:12px 14px;font-size:15px;
      border:1.5px solid #E2E8F0;border-radius:10px;outline:none;font-family:inherit}
input:focus{border-color:#6366F1}
button{width:100%;padding:13px;font-size:15px;font-weight:600;color:#fff;
       background:#6366F1;border:0;border-radius:10px;cursor:pointer;
       font-family:inherit;margin-top:4px}
button:disabled{opacity:.6;cursor:default}
.err{color:#DC2626;font-size:13px;min-height:20px;margin:4px 0 10px}

/* блок ручной отправки ссылки: показывается, когда почта на сервере отключена */
.manual {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--border, #262638);
  border-radius: 10px;
  background: rgba(232, 163, 61, .07);
}
.manual-title { margin: 0 0 6px; font-size: 12.5px; font-weight: 700; color: #e8a33d; }
.manual-hint  { margin: 0 0 10px; font-size: 11.5px; line-height: 1.55; color: var(--muted, #8a93a6); }
.manual-link  { display: flex; gap: 6px; }
.manual-link input {
  flex: 1; min-width: 0;
  padding: 8px 10px; font-size: 11.5px; font-family: ui-monospace, Menlo, monospace;
  color: var(--text, #f3f2fa); background: var(--bg, #0b0e14);
  border: 1px solid var(--border, #262638); border-radius: 7px;
}
.manual-link button {
  padding: 8px 13px; font-size: 11.5px; font-weight: 650;
  color: #fff; background: var(--accent, #7c4deb);
  border: 0; border-radius: 7px; cursor: pointer; white-space: nowrap;
}
.ok { font-size: 12px; color: #34d399; line-height: 1.5; margin-top: 4px; }

.forgot {
  display: block;
  margin-top: 16px;
  text-align: center;
  font-size: 12.5px;
  color: var(--muted, #8a93a6);
  text-decoration: none;
  transition: color .15s;
}
.forgot:hover { color: var(--accent, #7c4deb); text-decoration: underline; }
