/* Visual das páginas de autenticação do EpiCV — céu dramático + silhueta de
   montanhas em CSS/SVG (sem depender de foto de terceiros), na paleta navy/
   dourado já usada no painel. */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&family=Public+Sans:wght@400;500;600;700&display=swap');

*{ box-sizing:border-box; }

body{
  margin:0;
  min-height:100vh;
  font-family:'Public Sans', sans-serif;
  color:#EDEFF2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  position:relative;
  overflow-x:hidden;
  background:
    radial-gradient(ellipse 900px 500px at 50% 15%, rgba(226,115,95,0.35), transparent 60%),
    linear-gradient(180deg, #0B1730 0%, #16294A 32%, #2F5A6E 62%, #5A6E5A 78%, #16294A 100%);
  background-attachment:fixed;
}

.mountains{
  position:fixed; left:0; right:0; bottom:0; width:100%; height:46vh;
  z-index:0; pointer-events:none;
}

.card{
  position:relative;
  z-index:1;
  width:100%;
  max-width:380px;
  background:rgba(11,23,48,0.55);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:14px;
  padding:32px 30px 28px;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 20px 60px -15px rgba(0,0,0,0.6);
}

.card img.logo{
  display:block;
  height:52px;
  width:auto;
  margin:0 auto 14px;
  background:#fff;
  border-radius:10px;
  padding:6px;
}

.card h1{
  font-family:'Source Serif 4', Georgia, serif;
  font-size:22px;
  font-weight:700;
  text-align:center;
  letter-spacing:0.03em;
  margin:0 0 22px;
  color:#fff;
}

.field{ margin-bottom:16px; }
.field label{
  display:block;
  font-size:12.5px;
  font-weight:600;
  color:#CBD5E1;
  margin-bottom:6px;
}
.field input{
  width:100%;
  padding:10px 12px;
  font-size:14px;
  font-family:inherit;
  color:#0B1730;
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(255,255,255,0.3);
  border-radius:7px;
  outline:none;
  transition:box-shadow 150ms ease, border-color 150ms ease;
}
.field input::placeholder{ color:#7C8798; }
.field input:focus{
  border-color:#A6832E;
  box-shadow:0 0 0 3px rgba(166,131,46,0.35);
}

.btn{
  width:100%;
  padding:11px;
  font-size:14.5px;
  font-weight:700;
  font-family:inherit;
  color:#0B1730;
  background:#EDEFF2;
  border:none;
  border-radius:7px;
  cursor:pointer;
  transition:background 150ms ease, transform 150ms ease;
}
.btn:hover{ background:#fff; transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }

.row-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:16px;
  gap:12px;
  flex-wrap:wrap;
}
.row-links a{
  color:#F0D9A8;
  font-size:12.5px;
  font-weight:600;
  text-decoration:none;
}
.row-links a:hover{ text-decoration:underline; }

.foot-link{
  text-align:center;
  margin-top:18px;
  font-size:12.5px;
  color:#CBD5E1;
}
.foot-link a{ color:#F0D9A8; font-weight:600; text-decoration:none; }
.foot-link a:hover{ text-decoration:underline; }

.alert{
  font-size:13px;
  padding:10px 12px;
  border-radius:7px;
  margin-bottom:16px;
  line-height:1.4;
}
.alert.error{
  background:rgba(193,68,59,0.22);
  border:1px solid rgba(226,115,95,0.5);
  color:#FBD8D3;
}
.alert.success{
  background:rgba(43,110,99,0.28);
  border:1px solid rgba(107,183,158,0.5);
  color:#CFEFE4;
}

.brandline{
  text-align:center;
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#9FB0C8;
  margin-bottom:6px;
}
