/* Dark theme styling for authentication pages */
:root {
  --auth-bg-start: #0b0d10;
  --auth-bg-end: #1d2429;
  --auth-surface: #161b20;
  --auth-border: #2a333b;
  --gold: #d4af37;
  --gold-soft: #e3c96a;
  --focus-ring: rgba(212,175,55,0.35);
  --mint-accent: #0a8f3f;
}

body.auth-bg {
  background: radial-gradient(ellipse at top left,var(--auth-bg-end),var(--auth-bg-start) 60%);
  background-attachment: fixed;
  color: #e6ecef;
}

.auth-shell { width:100%; max-width:520px; }

.brand-title { background: linear-gradient(90deg,var(--gold),var(--gold-soft)); -webkit-background-clip: text; background-clip: text; color: transparent; }

.padlock-wrap { position:relative; width:84px; height:84px; margin:0 auto; }
.padlock-glow { position:absolute; inset:0; border-radius:24px; background: radial-gradient(circle at 40% 40%, rgba(212,175,55,0.35), rgba(212,175,55,0) 70%); filter: blur(8px); }
.padlock-icon { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:42px; color: var(--gold); text-shadow:0 0 12px rgba(212,175,55,0.6); }

.auth-card { background: var(--auth-surface); border: 1px solid var(--auth-border); box-shadow: 0 6px 28px -6px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.03); }
.auth-card h2, .auth-card h3 { color: #f2f6f8; }

.auth-card .form-control { background:#0f1418; border-color:#2d373f; color:#e6ecef; }
.auth-card .form-control:focus { border-color: var(--gold); box-shadow:0 0 0 .15rem var(--focus-ring); }
.auth-card .form-label { font-weight:500; color:#d3dae0; }
.auth-card .form-check-input { background:#0f1418; border-color:#384249; }
.auth-card .form-check-input:focus { box-shadow:0 0 0 .15rem var(--focus-ring); border-color:var(--gold); }
.auth-card .form-check-input:checked { background: var(--gold); border-color: var(--gold); }

.btn-primary { background: var(--mint-accent); border-color: var(--mint-accent); }
.btn-primary:hover { background:#076b2d; border-color:#076b2d; }
.btn-outline-light { color:#e6ecef; border-color:#4a545c; }
.btn-outline-light:hover { background:#222b31; }

.text-gold { color: var(--gold); }

/* Links */
.auth-card a { color: var(--gold); }
.auth-card a:hover { color: var(--gold-soft); }

/* Validation */
.text-danger { color:#ff6b6b !important; }

/* Animations */
@keyframes subtle-float { 0% { transform:translateY(0); } 50% { transform:translateY(-4px);} 100% { transform:translateY(0);} }
.padlock-icon { animation: subtle-float 5s ease-in-out infinite; }

/* Responsive tweaks */
@media (max-width: 575.98px) {
  .auth-card { padding:1.75rem !important; }
  .padlock-wrap { width:72px; height:72px; }
  .padlock-icon { font-size:36px; }
}
