/* Recuperacion de acceso · Liquid Navy */
body.recovery-page {
  --recovery-accent:#e4bd68;
  min-width:0;
  overflow-x:hidden;
  background:#03101f !important;
  color:#eef5ff !important;
  isolation:isolate;
}
body.recovery-page::before {
  content:"";
  position:fixed;
  inset:-28%;
  z-index:-2;
  background:
    radial-gradient(ellipse at 18% 24%,rgba(79,144,207,.56),rgba(25,72,119,.22) 24%,transparent 48%),
    radial-gradient(ellipse at 83% 19%,rgba(207,163,76,.22),transparent 27%),
    radial-gradient(ellipse at 70% 92%,rgba(38,96,147,.42),transparent 33%),
    linear-gradient(138deg,#020a15 10%,#071b32 48%,#051225 74%,#020914);
  animation:recovery-breathe 14s ease-in-out infinite alternate;
}
body.recovery-page::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.14;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(80% 65% at 50% 45%,#000,transparent 75%);
  mask-image:radial-gradient(80% 65% at 50% 45%,#000,transparent 75%);
  animation:recovery-grid 28s linear infinite;
}
body.recovery-page .card {
  position:relative;
  width:min(100%,470px);
  overflow:hidden;
  padding:34px !important;
  color:#eaf3fd !important;
  background:linear-gradient(145deg,rgba(13,37,65,.78),rgba(6,22,43,.72)) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  border-radius:27px !important;
  box-shadow:inset 0 1px rgba(255,255,255,.14),0 36px 90px rgba(0,6,18,.42) !important;
  backdrop-filter:blur(32px) saturate(1.2);
  -webkit-backdrop-filter:blur(32px) saturate(1.2);
  animation:recovery-card .72s cubic-bezier(.22,1,.36,1) backwards;
}
body.recovery-page .card::before {
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  left:-130px;
  top:-150px;
  pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.14),transparent 68%);
}
body.recovery-page .card > * { position:relative; z-index:1; }
body.recovery-page .brand { color:#eef5ff !important; }
body.recovery-page .brand img {
  width:40px;
  height:40px;
  object-fit:contain;
  content:url("/admin/logo-mark.png");
}
body.recovery-page .brand span span,
body.recovery-page .brand i { color:var(--recovery-accent) !important; }
body.recovery-page h1 {
  margin:29px 0 8px !important;
  color:#f1f7ff !important;
  font-size:29px !important;
  font-weight:520 !important;
  letter-spacing:-.045em !important;
}
body.recovery-page p { color:rgba(222,235,250,.61) !important; }
body.recovery-page label { color:rgba(232,242,253,.78) !important; font-weight:550 !important; }
body.recovery-page input {
  height:52px !important;
  color:#f4f8fd !important;
  background:rgba(255,255,255,.065) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:14px !important;
  box-shadow:inset 0 1px rgba(255,255,255,.04) !important;
}
body.recovery-page input::placeholder { color:rgba(218,231,246,.34) !important; }
body.recovery-page input:focus {
  border-color:rgba(231,196,120,.72) !important;
  background:rgba(255,255,255,.095) !important;
  box-shadow:0 0 0 4px rgba(231,196,120,.1),inset 0 1px rgba(255,255,255,.06) !important;
}
body.recovery-page .button,
body.recovery-page button {
  height:52px !important;
  color:#07172d !important;
  background:linear-gradient(135deg,#f0d28d,#d4a44a) !important;
  border:0 !important;
  border-radius:14px !important;
  box-shadow:0 15px 32px rgba(214,166,74,.18),inset 0 1px rgba(255,255,255,.52) !important;
  transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s ease,box-shadow .18s ease !important;
}
body.recovery-page .button:hover,
body.recovery-page button:hover { transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 20px 38px rgba(214,166,74,.25),inset 0 1px rgba(255,255,255,.58) !important; }
body.recovery-page .button:focus-visible,
body.recovery-page button:focus-visible,
body.recovery-page input:focus-visible,
body.recovery-page .back:focus-visible { outline:2px solid var(--recovery-accent); outline-offset:3px; }
body.recovery-page .button:disabled,
body.recovery-page button:disabled { opacity:.55; transform:none; }
body.recovery-page .back { min-height:44px; display:flex !important; align-items:center; justify-content:center; color:var(--recovery-accent) !important; }
body.recovery-page .hint { color:rgba(220,234,249,.44) !important; }
body.recovery-page .message.error { color:#ffc1c4 !important; background:rgba(240,97,106,.12) !important; border-color:rgba(255,140,145,.24) !important; }
body.recovery-page .message.ok { color:#9be4c6 !important; background:rgba(79,208,140,.12) !important; border-color:rgba(114,214,175,.24) !important; }
@keyframes recovery-breathe { to { transform:translate(-2%,2%) scale(1.06); filter:saturate(1.13); } }
@keyframes recovery-grid { to { background-position:54px 54px; } }
@keyframes recovery-card { from { opacity:0; transform:translateY(16px) scale(.985); } }
@media(max-width:520px) {
  body.recovery-page { padding:14px !important; align-items:center !important; }
  body.recovery-page .card { padding:27px 21px !important; border-radius:24px !important; }
  body.recovery-page h1 { font-size:26px !important; }
}
@media(prefers-reduced-motion:reduce) {
  body.recovery-page::before,
  body.recovery-page::after,
  body.recovery-page .card { animation:none !important; }
  body.recovery-page *,body.recovery-page *::before,body.recovery-page *::after { transition-duration:.01ms !important; }
}

