/* login.css — RM MAHAL login page
   Recreated from rmm-uix/project/RM MAHAL Login.html + login-variations.jsx.
   Three themes selected via [data-theme="pearl|velvet|sunset"] on .lv-stage.
*/

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; height: 100%; }
body {
  font-family: 'Outfit', ui-sans-serif, system-ui, -apple-system, sans-serif;
  background: #0b0b14;
  color: #f1ecdf;
  overflow: hidden;
}

/* ── STAGE ────────────────────────────────────────────────────── */
.lv-stage {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  isolation: isolate;
  --mx: 0;
  --my: 0;
}

/* Theme backgrounds */
.lv-stage[data-theme="sunset"] {
  background:
    radial-gradient(120% 90% at 15% 95%, #ff8c42 0%, transparent 55%),
    radial-gradient(110% 90% at 85% 0%,  #6f3ce6 0%, transparent 55%),
    linear-gradient(135deg, #ff4e8d 0%, #c44ce6 50%, #6f3ce6 100%);
}
.lv-stage[data-theme="velvet"] {
  background:
    radial-gradient(70% 60% at 80% 10%, #6a2dd8 0%, transparent 60%),
    radial-gradient(60% 60% at 15% 95%, #d83d80 0%, transparent 55%),
    radial-gradient(60% 50% at 50% 50%, #2a1059 0%, transparent 70%),
    linear-gradient(160deg, #0c0726 0%, #1d0d4a 50%, #07041c 100%);
}
.lv-stage[data-theme="pearl"] {
  background:
    radial-gradient(100% 80% at 90% 100%, #f5b85e 0%, transparent 55%),
    radial-gradient(90% 70% at 10% 0%,    #fff5e8 0%, transparent 60%),
    radial-gradient(70% 60% at 50% 50%,   #f5c8c8 0%, transparent 70%),
    linear-gradient(135deg, #f9d5d5 0%, #f0a3b2 50%, #c97a8a 100%);
}

/* ── SPHERES (decorative) ────────────────────────────────────── */
.lv-sphere {
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow:
    inset -8px -12px 24px rgba(0,0,0,.18),
    inset 14px 18px 30px rgba(255,255,255,.35),
    0 24px 60px rgba(40, 5, 60, .35);
  pointer-events: none;
  will-change: transform;
  transform: translate3d(calc(var(--mx) * var(--depth, 16px)),
                         calc(var(--my) * var(--depth, 16px)), 0);
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
@media (prefers-reduced-motion: reduce) {
  .lv-sphere { transition: none !important; transform: none !important; }
  .lv-card   { transition: none !important; transform: none !important; }
}

/* Sphere positions/sizes/gradients per theme (positions in % of stage).
   Sizes are also % of stage width — values mirror the prototype's % units. */

/* Pearl (Rose Veil) */
[data-theme="pearl"] .lv-sphere-1 { width: 28%; top: -6%;  right: 6%;   z-index: 3; --depth: 16px;
  background: radial-gradient(circle at 30% 26%, #fff8f0 0%, #f7d5b8 25%, #e69aa8 60%, #b06578 100%); }
[data-theme="pearl"] .lv-sphere-2 { width: 34%; top: 28%;  left: -16%;  z-index: 1; --depth: 28px;
  background: radial-gradient(circle at 28% 26%, #fff5e8 0%, #f8c8a8 25%, #d68a90 60%, #8e4a5e 100%); }
[data-theme="pearl"] .lv-sphere-3 { width: 12%; top: 56%;  left: 30%;   z-index: 3; --depth: 9px;
  background: radial-gradient(circle at 28% 26%, #fff8e8 0%, #fcd896 30%, #f5a85e 70%, #c46e3a 100%); }
[data-theme="pearl"] .lv-sphere-4 { width: 32%; bottom: -10%; right: -12%; z-index: 1; --depth: 30px;
  background: radial-gradient(circle at 28% 26%, #fff0f0 0%, #f5b8c5 30%, #c46e80 75%, #7a3a4e 100%); }
[data-theme="pearl"] .lv-sphere-5 { width: 7%;  top: 9%;   left: 10%;   z-index: 3; --depth: 12px;
  background: radial-gradient(circle at 30% 26%, #fff8f0 0%, #fcd896 50%, #f5a85e 100%); }
[data-theme="pearl"] .lv-sphere-6 { width: 3%;  top: 18%;  right: 28%;  z-index: 3; --depth: 5px;
  background: radial-gradient(circle, #fff8e8 0%, #fcd896 60%, transparent 100%); box-shadow: none; }

/* Velvet (Night) */
[data-theme="velvet"] .lv-sphere-1 { width: 38%; top: -14%; right: -10%; z-index: 1; --depth: 26px;
  border-radius: 52% 48% 64% 36% / 40% 56% 44% 60%;
  transform: translate3d(calc(var(--mx) * 26px), calc(var(--my) * 26px), 0) rotate(-12deg);
  background: radial-gradient(circle at 30% 30%, #c7a3ff 0%, #6a2dd8 45%, #1a0a4a 100%); }
[data-theme="velvet"] .lv-sphere-2 { width: 14%; top: 12%; left: 8%; z-index: 3; --depth: 12px;
  background: radial-gradient(circle at 30% 28%, #ffe3c6 0%, #ffb27a 30%, #ff6f6f 70%, #b22e6e 100%); }
[data-theme="velvet"] .lv-sphere-3 { width: 22%; top: 38%; left: -12%; z-index: 1; --depth: 20px;
  background: radial-gradient(circle at 30% 28%, #d6fff0 0%, #5fe6c2 35%, #1d8a78 75%, #053b3a 100%); }
[data-theme="velvet"] .lv-sphere-4 { width: 42%; bottom: -16%; right: -18%; z-index: 1; --depth: 32px;
  border-radius: 60% 40% 48% 52% / 56% 44% 56% 44%;
  transform: translate3d(calc(var(--mx) * 32px), calc(var(--my) * 32px), 0) rotate(18deg);
  background: radial-gradient(circle at 30% 30%, #ffb3d9 0%, #c44ce6 35%, #4a16a3 80%); }
[data-theme="velvet"] .lv-sphere-5 { width: 6%; top: 22%; right: 22%; z-index: 3; --depth: 6px;
  background: radial-gradient(circle, #fff8e8 0%, #ffe3a3 60%, transparent 100%); box-shadow: none; }
[data-theme="velvet"] .lv-sphere-6 { width: 4%; top: 75%; left: 18%; z-index: 3; --depth: 5px;
  background: radial-gradient(circle, #fff 0%, #fff 50%, transparent 80%); box-shadow: none; }

/* Sunset Bloom */
[data-theme="sunset"] .lv-sphere-1 { width: 30%; top: -8%;  right: 6%;   z-index: 3; --depth: 18px;
  background: radial-gradient(circle at 32% 28%, #ffe0ef 0%, #ff9ec7 18%, #ff5fa3 38%, #b746d8 70%, #6d2dc7 100%); }
[data-theme="sunset"] .lv-sphere-2 { width: 36%; top: 28%;  left: -16%;  z-index: 1; --depth: 30px;
  background: radial-gradient(circle at 30% 28%, #ffd0ec 0%, #d987f0 22%, #8a3ed8 55%, #4a16a3 100%); }
[data-theme="sunset"] .lv-sphere-3 { width: 10%; top: 56%;  left: 32%;   z-index: 3; --depth: 8px;
  background: radial-gradient(circle at 30% 28%, #ffe3c6 0%, #ffb27a 30%, #ff6f6f 65%, #d63a83 100%); }
[data-theme="sunset"] .lv-sphere-4 { width: 34%; bottom: -10%; right: -14%; z-index: 1; --depth: 36px;
  background: radial-gradient(circle at 30% 28%, #ffd9ee 0%, #c97df0 25%, #7a36c8 65%, #3d0e8a 100%); }
[data-theme="sunset"] .lv-sphere-5 { width: 8%; top: 6%; left: 6%; z-index: 1; --depth: 14px;
  background: radial-gradient(circle at 30% 28%, #fff0e0 0%, #ffb27a 35%, #ff6f6f 80%); }
[data-theme="sunset"] .lv-sphere-6 { display: none; }

/* ── CARD ─────────────────────────────────────────────────────── */
.lv-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(420px, calc(100vw - 48px));
  max-height: calc(100vh - 96px);
  border-radius: 28px;
  padding: 36px 30px 28px;
  display: flex;
  flex-direction: column;
  z-index: 2;
  overflow: hidden;
  will-change: transform;
  transform: translate(-50%, -50%) translate3d(calc(var(--mx) * -4px), calc(var(--my) * -4px), 0);
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
}

[data-theme="pearl"] .lv-card {
  background: linear-gradient(135deg, rgba(255,255,255,.42) 0%, rgba(255,230,235,.22) 100%);
  border: 1px solid rgba(255,255,255,.65);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(255,255,255,.08),
    0 30px 80px rgba(150, 50, 80, .25);
  color: #4a1f30;
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
[data-theme="velvet"] .lv-card {
  background: linear-gradient(150deg, rgba(255,235,210,.10) 0%, rgba(120,80,200,.10) 100%);
  border: 1px solid rgba(255,220,180,.30);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(255,255,255,.08),
    0 30px 80px rgba(0, 0, 30, .55);
  color: #fdf2e6;
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  backdrop-filter: blur(22px) saturate(140%);
}
[data-theme="sunset"] .lv-card {
  background: linear-gradient(135deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.08) 100%);
  border: 1px solid rgba(255,255,255,.38);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(255,255,255,.08),
    0 30px 80px rgba(50, 0, 80, .35);
  color: #fff;
}

/* sheen overlay */
.lv-sheen {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
[data-theme="pearl"]  .lv-sheen { background: linear-gradient(160deg, rgba(255,255,255,.55), transparent 45%); }
[data-theme="velvet"] .lv-sheen { background: linear-gradient(165deg, rgba(255,230,200,.18), transparent 45%); }
[data-theme="sunset"] .lv-sheen { background: linear-gradient(160deg, rgba(255,255,255,.22), transparent 40%); }

/* ── BRAND ────────────────────────────────────────────────────── */
.lv-brand {
  text-align: center;
  margin-bottom: 18px;
  position: relative;
}
.lv-brand-mark {
  width: 84px;
  height: 84px;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.4),
    0 10px 26px rgba(0,0,0,.45);
}
[data-theme="pearl"]  .lv-brand-mark { background: radial-gradient(circle at 30% 28%, #2a0e1c 0%, #1a0612 75%, #0e030a 100%); }
[data-theme="velvet"] .lv-brand-mark { background: radial-gradient(circle at 30% 28%, #1a0a3a 0%, #07041c 70%, #02010e 100%); }
[data-theme="sunset"] .lv-brand-mark { background: radial-gradient(circle at 30% 28%, #2a0a1f 0%, #14041a 70%, #07020e 100%); }
.lv-brand-mark img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.45));
}
.lv-brand-word {
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 6px;
}
[data-theme="pearl"]  .lv-brand-word { font-family: 'Cormorant Garamond', serif; letter-spacing: 16px; }
[data-theme="velvet"] .lv-brand-word { font-family: 'Cormorant Garamond', 'Outfit', serif; letter-spacing: 14px; }
[data-theme="sunset"] .lv-brand-word { font-family: 'Outfit', sans-serif; letter-spacing: 8px; }

.lv-brand-tagline {
  font-size: 13px;
  font-weight: 400;
  font-style: italic;
  letter-spacing: .04em;
  opacity: .9;
  font-family: 'Cormorant Garamond', 'Outfit', serif;
}
[data-theme="pearl"]  .lv-brand-tagline { color: rgba(74,31,48,.72); }
[data-theme="velvet"] .lv-brand-tagline { color: rgba(253,242,230,.78); }
[data-theme="sunset"] .lv-brand-tagline { color: rgba(255,255,255,.86); }

/* ── FORM FRAME ──────────────────────────────────────────────── */
.lv-frame {
  border-radius: 14px;
  padding: 18px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 4px;
  position: relative;
  z-index: 1;
}
[data-theme="pearl"]  .lv-frame { border: 1px solid rgba(255,255,255,.85); }
[data-theme="velvet"] .lv-frame { border: 1px solid rgba(255,220,180,.30); }
[data-theme="sunset"] .lv-frame { border: 1px solid rgba(255,255,255,.38); }

.lv-field {
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  padding: 9px 14px 9px 12px;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
[data-theme="pearl"]  .lv-field { background: rgba(255,255,255,.45); border: 1px solid rgba(255,255,255,.85); color: #4a1f30; }
[data-theme="velvet"] .lv-field { background: rgba(255,240,220,.10); border: 1px solid rgba(255,220,180,.30); color: #fdf2e6; }
[data-theme="sunset"] .lv-field { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.38); color: #fff; }

.lv-field-icon { display: inline-flex; flex-shrink: 0; opacity: .9; }
.lv-field input {
  flex: 1;
  background: transparent;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: 13.5px;
  letter-spacing: .02em;
  color: inherit;
  min-width: 0;
  padding: 2px 0;
}
.lv-field input::placeholder { opacity: .65; color: inherit; }
.lv-field:focus-within { box-shadow: 0 0 0 3px rgba(255,255,255,.18); }

/* ── META (remember + forgot) ────────────────────────────────── */
.lv-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2px;
  font-size: 11.5px;
}
[data-theme="pearl"]  .lv-meta { color: rgba(74,31,48,.72); }
[data-theme="velvet"] .lv-meta { color: rgba(253,242,230,.78); }
[data-theme="sunset"] .lv-meta { color: rgba(255,255,255,.86); }

.lv-meta a {
  color: inherit;
  text-decoration: none;
  filter: brightness(1.4);
}
.lv-meta a:hover { text-decoration: underline; }

.lv-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  -webkit-user-select: text;
  user-select: text;
  position: relative;
}
.lv-check input { position: absolute; opacity: 0; pointer-events: none; }
.lv-box {
  width: 13px; height: 13px;
  border-radius: 3.5px;
  border: 1.2px solid currentColor;
  display: grid; place-items: center;
  transition: background .15s ease;
}
.lv-box svg { opacity: 0; transition: opacity .15s ease; color: currentColor; }
.lv-check input:checked + .lv-box svg { opacity: 1; }
[data-theme="pearl"]  .lv-check input:checked + .lv-box { background: #4a1f30; color: #fff; }
[data-theme="velvet"] .lv-check input:checked + .lv-box { color: #ffd6a0; }
[data-theme="sunset"] .lv-check input:checked + .lv-box { color: #fff; }

/* ── BUTTON ──────────────────────────────────────────────────── */
.lv-btn {
  margin-top: 18px;
  width: 100%;
  padding: 13px 16px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 4px;
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease, box-shadow .2s ease;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    0 8px 24px rgba(40, 5, 60, .25);
  font-family: 'Outfit', sans-serif;
  position: relative;
  z-index: 1;
}
[data-theme="pearl"]  .lv-btn { background: linear-gradient(180deg, rgba(74,31,48,.92), rgba(122,58,78,.92)); border: 1px solid rgba(74,31,48,.95); color: #fff8f0; }
[data-theme="velvet"] .lv-btn { background: linear-gradient(180deg, rgba(255,225,180,.25), rgba(180,120,200,.18)); border: 1px solid rgba(255,225,180,.45); color: #fdf2e6; }
[data-theme="sunset"] .lv-btn { background: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.16)); border: 1px solid rgba(255,255,255,.5); color: #fff; }
.lv-btn:hover { transform: translateY(-1px); filter: brightness(1.05); }
.lv-btn:active { transform: translateY(0); }
.lv-btn:disabled { opacity: .6; cursor: wait; }

/* ── ERROR ───────────────────────────────────────────────────── */
.lv-error {
  margin-top: 12px;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 12px;
  text-align: center;
  background: rgba(220, 50, 50, .15);
  border: 1px solid rgba(220, 50, 50, .45);
  color: #ffd6d6;
  position: relative;
  z-index: 1;
}
[data-theme="pearl"] .lv-error { background: rgba(140, 20, 40, .12); color: #5a1020; border-color: rgba(140, 20, 40, .35); }

/* ── SIGN-UP TOGGLE ──────────────────────────────────────────── */
.lv-signup {
  margin-top: 14px;
  text-align: center;
  font-size: 11.5px;
  position: relative;
  z-index: 1;
}
[data-theme="pearl"]  .lv-signup { color: rgba(74,31,48,.72); }
[data-theme="velvet"] .lv-signup { color: rgba(253,242,230,.78); }
[data-theme="sunset"] .lv-signup { color: rgba(255,255,255,.86); }
.lv-signup a {
  font-weight: 600;
  text-decoration: none;
  color: inherit;
  filter: brightness(1.4);
  margin-left: 4px;
}
.lv-signup a:hover { text-decoration: underline; }

/* ── THEME SWITCHER CHIPS ────────────────────────────────────── */
.lv-theme-switcher {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 5;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .25);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .12);
}
.lv-chip {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid transparent;
  padding: 0;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
.lv-chip:hover { transform: scale(1.08); }
.lv-chip[aria-checked="true"] { border-color: rgba(255,255,255,.95); box-shadow: 0 0 0 2px rgba(0,0,0,.4), 0 4px 10px rgba(0,0,0,.5); }
.lv-chip-pearl  { background: linear-gradient(135deg, #f9d5d5 0%, #f0a3b2 50%, #c97a8a 100%); }
.lv-chip-velvet { background: linear-gradient(160deg, #0c0726 0%, #6a2dd8 50%, #d83d80 100%); }
.lv-chip-sunset { background: linear-gradient(135deg, #ff4e8d 0%, #c44ce6 50%, #6f3ce6 100%); }

/* ──────────────────────────────────────────────────────────────
   THEME 4 — CLASSIC (legacy dark / gold-blue accent)
   Mirrors the look of the legacy in-app authOverlay.
   ──────────────────────────────────────────────────────────── */
.lv-stage[data-theme="classic"] {
  background:
    radial-gradient(ellipse at 60% 40%, rgba(66,133,244,.07) 0%, transparent 65%),
    radial-gradient(ellipse at 20% 80%, rgba(66,133,244,.04) 0%, transparent 55%),
    #0d0d0d;
}
/* Hide all decorative spheres in classic theme */
[data-theme="classic"] .lv-sphere { display: none; }

[data-theme="classic"] .lv-card {
  background: linear-gradient(160deg, #1c1c1c 0%, #141414 100%);
  border: 1px solid rgba(66,133,244,.22);
  border-radius: 18px;
  box-shadow:
    0 8px 48px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.03),
    inset 0 1px 0 rgba(255,255,255,.06);
  color: #f0ead6;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  padding: 44px 40px 36px;
  width: min(460px, calc(100vw - 48px));
}
[data-theme="classic"] .lv-sheen { display: none; }

/* Brand: large Cormorant serif title + uppercase letter-spaced tagline + gold divider */
[data-theme="classic"] .lv-brand-mark {
  width: 84px; height: 84px;
  background: transparent;
  border: 0;
  box-shadow: none;
}
[data-theme="classic"] .lv-brand-mark img {
  filter: drop-shadow(0 4px 16px rgba(66,133,244,.35));
}
[data-theme="classic"] .lv-brand-word {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: #f0ead6;
  line-height: 1.1;
  margin-bottom: 2px;
}
[data-theme="classic"] .lv-brand-tagline {
  font-family: 'Outfit', sans-serif;
  font-style: normal;
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #b0a89e;
  margin-top: 6px;
  padding-bottom: 14px;
  position: relative;
}
[data-theme="classic"] .lv-brand-tagline::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #4285F4, transparent);
  border-radius: 2px;
}

/* Frame & fields: square inputs with gold/blue focus ring */
[data-theme="classic"] .lv-frame {
  border: 0;
  padding: 12px 0 0;
  gap: 12px;
}
[data-theme="classic"] .lv-field {
  background: #252525;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 11px 14px 11px 12px;
  color: #f0ead6;
}
[data-theme="classic"] .lv-field input {
  font-size: .88rem;
  letter-spacing: 0;
}
[data-theme="classic"] .lv-field input::placeholder { color: #b0a89e; opacity: 1; }
[data-theme="classic"] .lv-field:focus-within {
  border-color: #4285F4;
  box-shadow: 0 0 0 3px rgba(66,133,244,.12);
}

[data-theme="classic"] .lv-meta { color: #b0a89e; }
[data-theme="classic"] .lv-meta a { color: #4285F4; filter: none; }
[data-theme="classic"] .lv-check input:checked + .lv-box { background: #4285F4; color: #fff; border-color: #4285F4; }

/* Sign-in button: gold-blue gradient, uppercase letter-spacing */
[data-theme="classic"] .lv-btn {
  background: linear-gradient(135deg, #4285F4 0%, #2563c4 100%);
  border: 0;
  border-radius: 8px;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 4px 14px rgba(66,133,244,.3);
}
[data-theme="classic"] .lv-btn:hover { filter: none; opacity: .88; }

[data-theme="classic"] .lv-error {
  background: rgba(219, 68, 55, .12);
  border-color: rgba(219, 68, 55, .35);
  color: #ffb3ad;
}

[data-theme="classic"] .lv-signup { color: #b0a89e; }
[data-theme="classic"] .lv-signup a { color: #4285F4; filter: none; }

/* Chip for classic theme on the switcher (dark with blue accent) */
.lv-chip-classic { background: linear-gradient(135deg, #1c1c1c 0%, #4285F4 100%); }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-height: 720px) {
  .lv-card { padding: 24px 24px 22px; }
  .lv-brand { margin-bottom: 12px; }
  .lv-brand-mark { width: 68px; height: 68px; }
  .lv-brand-mark img { width: 44px; height: 44px; }
}
@media (max-width: 480px) {
  .lv-card { padding: 24px 20px 22px; }
}

/* ── Password eye toggle ── */
/* Edge/Chromium on Windows injects its own reveal eye inside the input,
   duplicating the .lv-eye toggle — suppress the native one. */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear { display: none; }
.lv-eye {
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; padding: 4px; margin-right: 2px;
  background: none; border: none; cursor: pointer;
  opacity: .6; transition: opacity .15s; color: inherit;
}
.lv-eye:hover { opacity: 1; }
.lv-eye svg { display: none; }
.lv-eye svg.lv-eye-visible { display: block; }
