:root{
  --burgundy:#61112b;
  --gold:#c28d39;
  --vanilla:#efe5d2;
  --bordeaux-noir:#1c0a10;
  --bg-base:#12060a;
  --danger:#c2564f;
  --glass-bg:rgba(255,255,255,0.06);
  --glass-border:rgba(255,255,255,0.12);
  --glass-shadow:0 10px 40px rgba(0,0,0,0.5), 0 2px 8px rgba(0,0,0,0.3);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:
    radial-gradient(circle at 15% -10%, rgba(97,17,43,0.55), transparent 45%),
    radial-gradient(circle at 100% 15%, rgba(194,141,57,0.14), transparent 42%),
    radial-gradient(circle at 15% 100%, rgba(97,17,43,0.35), transparent 48%),
    var(--bg-base);
  color:var(--vanilla);font-family:'Avenir','Helvetica Neue',Arial,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
}
a{color:inherit;}
a:hover{color:var(--gold);}

@font-face{font-family:'The Seasons';src:url('../assets/fonts/the-seasons-regular.ttf') format('truetype');font-weight:400;font-style:normal;}
@font-face{font-family:'Avenir';src:url('../assets/fonts/avenir-regular.ttf') format('truetype');font-weight:400;font-style:normal;}

.card{background:var(--glass-bg);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:18px;padding:40px;max-width:380px;width:100%;text-align:center;}
.card h1{font-family:'The Seasons',serif;font-size:28px;margin:0 0 6px;font-weight:400;}
.card .sub{font-size:13px;color:rgba(239,229,210,0.6);margin:0 0 26px;}

.field{margin-bottom:16px;text-align:left;display:flex;flex-direction:column;gap:6px;}
.field label{font-size:12px;letter-spacing:0.5px;text-transform:uppercase;}
input{font-size:16px;padding:12px 14px;border:1px solid rgba(255,255,255,0.18);border-radius:8px;width:100%;color:var(--vanilla);background:rgba(255,255,255,0.06);}
input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,141,57,0.15);}

.btn-primary{width:100%;padding:14px;background:var(--gold);color:var(--bordeaux-noir);border:none;border-radius:8px;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;text-decoration:none;display:block;text-align:center;box-shadow:0 8px 22px rgba(194,141,57,0.28);transition:transform 0.2s, box-shadow 0.2s;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(194,141,57,0.35);}
.btn-google{width:100%;padding:14px;background:rgba(255,255,255,0.06);color:var(--vanilla);border:1px solid rgba(255,255,255,0.2);border-radius:8px;font-size:14px;cursor:pointer;margin-bottom:14px;text-decoration:none;display:block;text-align:center;}
.btn-google:hover{background:rgba(255,255,255,0.1);}
.divider{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:rgba(239,229,210,0.4);}
.divider .line{flex:1;height:1px;background:rgba(255,255,255,0.12);}

.link-secondary{display:block;margin-top:18px;font-size:12px;color:rgba(239,229,210,0.7);text-decoration:none;}
.errors{background:rgba(194,86,79,0.15);color:#e28c86;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:16px;}
.success{background:rgba(74,157,108,0.15);color:#7fd19f;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:16px;}
