/* ═══════════════════════════════════════════════════════════════════════
   Demo ERP login skin — scoped to the website /login page only.
   Injected app-wide via hooks.web_include_css; everything is gated on
   body[data-path="login"] so other website pages are untouched.
   Companion JS (login.js) injects the brand block + rewrites headings.
   ═══════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

body[data-path="login"] {
  --cy-violet: #7c5cfc;
  --cy-cyan: #0ea5c4;
  --cy-bg: #070b16;
  --cy-text: #e7eaf3;
  --cy-mut: #8d96ad;
  font-family: 'Inter', sans-serif;
  background: var(--cy-bg);
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── chrome off: navbar + footer ─────────────────────────────────────── */
body[data-path="login"] .navbar,
body[data-path="login"] footer,
body[data-path="login"] .web-footer {
  display: none !important;
}

/* ── AI backdrop: aurora glows + dot grid ────────────────────────────── */
body[data-path="login"]::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(40rem 40rem at 18% 12%, rgba(124, 92, 252, 0.22), transparent 60%),
    radial-gradient(36rem 36rem at 85% 80%, rgba(14, 165, 196, 0.18), transparent 60%),
    radial-gradient(28rem 28rem at 70% 15%, rgba(124, 92, 252, 0.10), transparent 60%);
  animation: cy-drift 16s ease-in-out infinite alternate;
}
body[data-path="login"]::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(231, 234, 243, 0.055) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: radial-gradient(60rem 40rem at 50% 35%, #000 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(60rem 40rem at 50% 35%, #000 30%, transparent 75%);
}
@keyframes cy-drift {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(0, -28px, 0) scale(1.06); }
}

/* ── layout: center stage ────────────────────────────────────────────── */
body[data-path="login"] .page_content,
body[data-path="login"] .container.my-4 {
  position: relative;
  z-index: 1;
  margin: 0 auto !important;
  padding: 0 16px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* ── brand block (injected by login.js) ──────────────────────────────── */
body[data-path="login"] .cy-brand {
  text-align: center;
  margin-bottom: 26px;
  animation: cy-rise 0.5s ease-out both;
}
body[data-path="login"] .cy-brand .cy-logo {
  width: 54px;
  height: 54px;
  margin: 0 auto 14px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--cy-violet), var(--cy-cyan));
  box-shadow: 0 14px 38px -10px rgba(124, 92, 252, 0.65);
  color: #fff;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 24px;
  font-weight: 700;
}
body[data-path="login"] .cy-brand .cy-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.16em;
  background: linear-gradient(92deg, #b9a6ff 0%, #e7eaf3 45%, #7fe3f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
body[data-path="login"] .cy-brand .cy-tag {
  margin-top: 6px;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  color: var(--cy-mut);
}
@keyframes cy-rise {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── the card: glass ─────────────────────────────────────────────────── */
body[data-path="login"] .login-content.page-card {
  width: min(400px, 92vw);
  margin: 0 !important;
  padding: 30px 30px 26px !important;
  background: rgba(13, 18, 38, 0.62) !important;
  border: 1px solid rgba(231, 234, 243, 0.09) !important;
  border-radius: 22px !important;
  box-shadow:
    0 40px 90px -28px rgba(124, 92, 252, 0.38),
    0 18px 50px -20px rgba(0, 0, 0, 0.7) !important;
  backdrop-filter: blur(22px) saturate(135%);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  animation: cy-rise 0.55s 0.06s ease-out both;
}

/* original logo off; headings re-written by login.js */
body[data-path="login"] .page-card-head img.app-logo { display: none !important; }
body[data-path="login"] .cy-hidden-head { display: none !important; }
body[data-path="login"] .cy-head {
  color: var(--cy-text);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 19px;
  text-align: center;
  margin-bottom: 16px;
}
body[data-path="login"] .page-card-head { border: 0 !important; padding: 0 0 14px !important; }
body[data-path="login"] .login-content h4 {
  color: var(--cy-text) !important;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 19px !important;
  text-align: center;
  margin: 0 0 4px !important;
}

/* ── fields ──────────────────────────────────────────────────────────── */
body[data-path="login"] .login-content .form-control {
  background: rgba(231, 234, 243, 0.055) !important;
  border: 1px solid rgba(231, 234, 243, 0.12) !important;
  border-radius: 12px !important;
  color: var(--cy-text) !important;
  height: 44px;
  font-size: 14px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
body[data-path="login"] .login-content .form-control::placeholder { color: #5f6982 !important; }
body[data-path="login"] .login-content .form-control:focus {
  background: rgba(231, 234, 243, 0.08) !important;
  border-color: var(--cy-violet) !important;
  box-shadow: 0 0 0 3.5px rgba(124, 92, 252, 0.22) !important;
  outline: none !important;
}
body[data-path="login"] .login-content .field-icon {
  filter: invert(0.72) sepia(0.08) saturate(2) hue-rotate(200deg);
  opacity: 0.85;
}
body[data-path="login"] .login-content .toggle-password,
body[data-path="login"] .login-content .forgot-password-message,
body[data-path="login"] .login-content .forgot-password-message a {
  color: var(--cy-mut) !important;
  font-size: 12.5px;
}
body[data-path="login"] .login-content .forgot-password-message a:hover { color: var(--cy-text) !important; }

/* ── primary button: aurora gradient ─────────────────────────────────── */
body[data-path="login"] .login-content .btn-primary {
  background: linear-gradient(92deg, var(--cy-violet), var(--cy-cyan)) !important;
  border: 0 !important;
  border-radius: 12px !important;
  height: 44px;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  color: #fff !important;
  box-shadow: 0 12px 30px -10px rgba(124, 92, 252, 0.6);
  transition: filter 0.15s, transform 0.15s, box-shadow 0.15s;
}
body[data-path="login"] .login-content .btn-primary:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 16px 36px -10px rgba(124, 92, 252, 0.7);
}

/* secondary (email link / social) */
body[data-path="login"] .login-content .btn-default,
body[data-path="login"] .login-content .btn-login-option {
  background: transparent !important;
  border: 1px solid rgba(231, 234, 243, 0.14) !important;
  border-radius: 12px !important;
  height: 42px;
  color: #c6cddd !important;
  font-size: 13.5px !important;
  transition: border-color 0.15s, background 0.15s;
}
body[data-path="login"] .login-content .btn-default:hover,
body[data-path="login"] .login-content .btn-login-option:hover {
  border-color: rgba(124, 92, 252, 0.55) !important;
  background: rgba(124, 92, 252, 0.08) !important;
}

body[data-path="login"] .login-content .social-logins .text-muted,
body[data-path="login"] .login-content .text-muted {
  color: var(--cy-mut) !important;
}

/* sign-up / footer links inside card */
body[data-path="login"] .login-content a { color: #9f8bff; }
body[data-path="login"] .login-content a:hover { color: #c2b4ff; }

/* ── injected page footer ────────────────────────────────────────────── */
body[data-path="login"] .cy-foot {
  margin-top: 26px;
  font-size: 11.5px;
  letter-spacing: 0.06em;
  color: #525c74;
  text-align: center;
  animation: cy-rise 0.6s 0.12s ease-out both;
}
body[data-path="login"] .cy-foot b { color: #7d88a3; font-weight: 600; }

body[data-path="login"] ::selection { background: rgba(124, 92, 252, 0.4); }
