/* BhagyaVaani — Admin design foundation ("Stripe meets Sanskrit manuscript").
   Shared token + primitive layer for the admin panel, introduced in Batch D1.
   Everything is namespaced under .bv-scope so it never fights the existing
   Tailwind/Inertia styles on inner (D2+) pages. */

:root {
  --bv-cream: #FAF6F1;
  --bv-paper: #F5EDE0;
  --bv-ink: #1F1510;
  --bv-muted: #8B6B5E;
  --bv-magenta: #9C2E5E;
  --bv-magenta-deep: #7A1F4A;
  --bv-plum: #2A0514;
  --bv-gold: #C89A5C;
  --bv-pink: #F4E4EC;
  --bv-hair: #ECE0D0;

  --bv-radius: 14px;
  --bv-radius-card: 20px;
  --bv-shadow-card: 0 1px 2px rgba(31, 21, 16, .05), 0 24px 48px -28px rgba(42, 5, 20, .30);
  --bv-shadow-btn: 0 8px 20px -4px rgba(156, 46, 94, .40);
  --bv-grad: linear-gradient(135deg, #2A0514 0%, #7A1F4A 55%, #9C2E5E 100%);

  --bv-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --bv-font-ui: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bv-font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
  --bv-font-deva: 'Tiro Devanagari Hindi', serif;
}

/* ── primitives ─────────────────────────────────────────────── */
.bv-scope { font-family: var(--bv-font-ui); color: var(--bv-ink); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.bv-eyebrow { font-family: var(--bv-font-mono); font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--bv-muted); margin: 0; }
.bv-display { font-family: var(--bv-font-display); font-optical-sizing: auto; color: var(--bv-ink); }
.bv-wordmark { font-family: var(--bv-font-display); font-optical-sizing: auto; font-weight: 600; letter-spacing: -.015em; color: var(--bv-ink); }
.bv-wordmark em { font-style: italic; font-weight: 500; color: var(--bv-magenta-deep); }
.bv-deva { font-family: var(--bv-font-deva); color: var(--bv-magenta-deep); }
.bv-card { background: #fff; border: 1px solid var(--bv-hair); border-radius: var(--bv-radius-card); box-shadow: var(--bv-shadow-card); }
.bv-hair { border: 0; border-top: 1px solid var(--bv-hair); margin: 0; }

.bv-btn-primary {
  font-family: var(--bv-font-ui); font-size: 15px; font-weight: 600; color: #fff; border: 0; cursor: pointer;
  background: var(--bv-grad); border-radius: var(--bv-radius); box-shadow: var(--bv-shadow-btn);
  padding: 13px 18px; width: 100%;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.bv-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -4px rgba(156, 46, 94, .52); }
.bv-btn-primary:active { transform: translateY(0); filter: brightness(.97); }
.bv-btn-primary:focus-visible { outline: 3px solid var(--bv-pink); outline-offset: 2px; }

.bv-label { display: block; font-family: var(--bv-font-ui); font-size: 13px; font-weight: 500; color: var(--bv-ink); margin: 0 0 6px; }
.bv-input {
  font-family: var(--bv-font-ui); font-size: 15px; color: var(--bv-ink); width: 100%; box-sizing: border-box;
  background: var(--bv-cream); border: 1px solid var(--bv-hair); border-radius: 12px; padding: 12px 14px; outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.bv-input::placeholder { color: #bdab9e; }
.bv-input:focus { border-color: var(--bv-magenta); background: #fff; box-shadow: 0 0 0 3px var(--bv-pink); }
.bv-error { display: block; color: #B4213A; font-size: 12.5px; margin-top: 6px; }

/* ── login page ─────────────────────────────────────────────── */
.bv-login-page { margin: 0; min-height: 100vh; background: var(--bv-cream); display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.bv-login-wrap { width: 100%; max-width: 400px; }
.bv-login-card { padding: 40px 32px 28px; }
.bv-login-brandmark { font-size: 26px; line-height: 1; margin-bottom: 22px; }
.bv-login-title { font-size: 32px; line-height: 1.05; margin: 10px 0 0; }
.bv-login-sub { font-size: 14.5px; color: var(--bv-muted); margin: 8px 0 26px; line-height: 1.5; }
.bv-login-form { display: flex; flex-direction: column; gap: 16px; }
.bv-field { text-align: left; }
.bv-remember { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--bv-muted); cursor: pointer; user-select: none; }
.bv-remember input { accent-color: var(--bv-magenta); width: 15px; height: 15px; }
.bv-login-btn { margin-top: 4px; }
.bv-login-status { background: var(--bv-pink); color: var(--bv-magenta-deep); border-radius: 10px; padding: 10px 14px; font-size: 13.5px; margin-bottom: 18px; }
.bv-login-foot { margin: 18px 0 0; font-size: 12px; color: var(--bv-muted); text-align: center; }

@media (max-width: 420px) {
  .bv-login-card { padding: 32px 22px 24px; }
  .bv-login-title { font-size: 28px; }
}
