.recovery-page {
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  padding:40px 20px;
}
.recovery-page .bg {
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 40% 30%,rgba(201,164,108,.04) 0%,transparent 60%),
    radial-gradient(ellipse at 70% 70%,rgba(28,36,48,.5) 0%,transparent 50%),var(--bg-primary);
}
.recovery-container { position:relative;z-index:2;width:100%;max-width:420px; }
.recovery-logo { text-align:center;margin-bottom:40px; }
.recovery-logo a {
  font-family:'Orbitron',sans-serif;font-size:1.3rem;color:var(--gold);letter-spacing:4px;
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
}
.recovery-logo .logo-dot {
  width:8px;height:8px;background:var(--gold);border-radius:50%;
  box-shadow:0 0 8px var(--gold-40);animation:pulse-dot 2s ease-in-out infinite;
}
.recovery-card {
  border:1px solid var(--gold-20);border-radius:14px;padding:40px 36px;
  background:rgba(10,10,10,.7);backdrop-filter:blur(16px);
}
.recovery-header { text-align:center;margin-bottom:28px; }
.recovery-header h1 { font-size:1.15rem;letter-spacing:3px;margin-bottom:10px; }
.recovery-header p { font-size:.75rem;color:var(--text-muted);line-height:1.7; }
.recovery-card .form-group { margin-bottom:18px; }
.recovery-card .form-group label { font-size:.6rem;margin-bottom:6px; }
.recovery-card .form-group input {
  padding:14px 16px;background:rgba(15,23,32,.8);border:1px solid var(--gold-20);
  border-radius:8px;font-size:.85rem;
}
.recovery-card .form-group input:focus {
  border-color:var(--gold);box-shadow:0 0 16px rgba(201,164,108,.12);outline:none;
}
.recovery-card .form-group input::placeholder { color:rgba(138,138,138,.55);font-size:.8rem; }
.recovery-button {
  font-family:'Orbitron',sans-serif;font-size:.7rem;letter-spacing:2px;padding:16px 10px;
  width:100%;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--bg-deep);
  border:0;border-radius:8px;cursor:pointer;transition:all .3s;margin-top:6px;
}
.recovery-button:hover:not(:disabled) { box-shadow:0 0 28px rgba(201,164,108,.4);transform:translateY(-1px); }
.recovery-button:disabled { opacity:.55;cursor:not-allowed;transform:none; }
.recovery-status {
  display:none;margin:0 0 18px;padding:12px 14px;border-radius:8px;font-size:.75rem;line-height:1.6;
  border:1px solid rgba(201,164,108,.2);background:rgba(201,164,108,.07);color:var(--text-secondary);
}
.recovery-status.error { border-color:rgba(255,80,80,.3);background:rgba(255,80,80,.07);color:rgba(255,130,130,.95); }
.recovery-footer { text-align:center;margin-top:24px;font-size:.75rem;color:var(--text-muted); }
.recovery-footer a,.login-forgot-link { color:var(--gold);text-decoration:none; }
.recovery-footer a:hover,.login-forgot-link:hover { color:var(--gold-light); }
.login-forgot { text-align:right;margin:-8px 0 16px;font-size:.7rem; }
.recovery-note { margin:14px 0 0;color:var(--text-muted);font-size:.66rem;line-height:1.6;text-align:center; }

html[data-dashboard-theme="light"] .auth-page .recovery-page .bg {
  background:radial-gradient(ellipse at 25% 20%,#fffdf7 0%,transparent 65%),
    radial-gradient(ellipse at 85% 70%,#e1e9ef 0%,transparent 60%),var(--bg-primary);
}
html[data-dashboard-theme="light"] .auth-page .recovery-card {
  background:radial-gradient(ellipse at 25% 18%,#fffdf7 0%,#f5f1e7 55%,#eae6dc 100%);
  border-color:rgba(121,88,44,.19);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 16px 48px rgba(61,49,30,.12);
}
html[data-dashboard-theme="light"] .auth-page .recovery-button {
  background:linear-gradient(135deg,var(--action-blue),var(--action-blue-dark));color:#fff;
}
html[data-dashboard-theme="light"] .auth-page .recovery-card .form-group input:focus {
  border-color:var(--action-blue);box-shadow:0 0 0 3px rgba(36,76,115,.14);
}
html[data-dashboard-theme="light"] .auth-page .recovery-card .form-group input::placeholder { color:#69756e;opacity:1; }
html[data-dashboard-theme="light"] .auth-page .recovery-status {
  border-color:rgba(36,76,115,.22);background:rgba(36,76,115,.07);
}
@media (max-width:480px) {
  .recovery-page { padding:24px 16px; }
  .recovery-card { padding:28px 20px; }
  .recovery-logo { margin-bottom:28px; }
  .recovery-card .form-group input { font-size:1rem; }
}
