/* Xmartpro.ai Auth Styles (v8) */
:root{
  --bg-01: #0b1220;
  --card-bg: rgba(16, 26, 45, 0.85);
  --border: #22324d;
  --text: #dbe7ff;
  --muted: #a9b4c7;
  --brand-1: #6bb8ff;
  --brand-2: #8df0ff;
  --glow: rgba(109, 185, 255, 0.25);
}
html, body { height: 100%; }
body.auth-bg{
  background: radial-gradient(1200px 600px at 50% -10%, #0e223d 0%, var(--bg-01) 45%, #070d18 100%);
  color: var(--text);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.auth-wrapper{ width: min(560px, 92vw); }
.auth-card.card{
  background: var(--card-bg);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 30px -10px rgba(0,0,0,.6), 0 0 0 1px rgba(109,185,255,.25) inset;
}
.logo-badge{
  position: absolute; inset: -36px auto auto 50%; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: .6rem; padding: .4rem .8rem;
  border-radius: 10px; background: linear-gradient(180deg, rgba(20,34,61,.85), rgba(10,18,35,.9));
  border: 1px solid var(--border);
  box-shadow: 0 15px 35px -12px rgba(0,0,0,.7), 0 0 50px -20px rgba(109,185,255,.25);
}
.logo-img{ width: 34px; height: 34px; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(107,184,255,.45)); }
.logo-text{ font-weight: 700; letter-spacing: .3px; color: white; text-transform: lowercase; }
.form-label{ color: var(--muted); }
.form-control{
  border-radius: 12px; background: rgba(9, 16, 30, 0.85); border: 1px solid var(--border);
  color: var(--text); padding-top: .65rem; padding-bottom: .65rem;
}
.form-control:focus{
  background: rgba(12, 22, 39, 0.9); border-color: var(--brand-1);
  box-shadow: 0 0 0 .25rem rgba(107,184,255,.15); color: var(--text);
}
.password-field{ position: relative; }
.toggle-pass{
  position: absolute; right: .5rem; top: 50%; transform: translateY(-50%);
  border-radius: 10px; border-color: var(--border) !important; background: rgba(15, 24, 42, .7);
}
.btn-primary{
  --bs-btn-bg: linear-gradient(90deg, var(--brand-1), var(--brand-2));
  --bs-btn-border-color: transparent; --bs-btn-hover-bg: linear-gradient(90deg, var(--brand-2), var(--brand-1));
  --bs-btn-hover-border-color: transparent; --bs-btn-focus-shadow-rgb: 107, 184, 255;
  border-radius: 12px; font-weight: 700; letter-spacing: .2px;
  box-shadow: 0 8px 18px -6px rgba(109,185,255,.45);
}
.demo-line .btn-link{ color: var(--brand-1); text-decoration: underline; text-underline-offset: 3px; }
.demo-line .btn-link:hover{ color: var(--brand-2); }
.bg-waves{ position: fixed; inset: 0; z-index: -2;
  background: radial-gradient(600px 300px at 10% 110%, rgba(104,188,255,.10), transparent 60%),
              radial-gradient(600px 300px at 90% -10%, rgba(141,240,255,.08), transparent 60%); }
.bg-noise{ position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .12;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 120 120"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency=".9" numOctaves="2" stitchTiles="stitch"/></filter><rect width="120" height="120" filter="url(%23n)" opacity=".35"/></svg>');
  mix-blend-mode: overlay; }
.alert{ border-radius: 12px; }
@media (max-width: 420px){ .logo-text{ display:none; } .auth-card.card{ border-radius: 14px; } }


/* v65: make top logo clickable */
.logo-link{ text-decoration:none; color:inherit; display:inline-block; }
.logo-link:hover{ opacity:.96; }
