/* =====================================================================
 * Revelanza — design system / brand stylesheet.
 *
 * Layers on top of Bootstrap 5 (loaded first via CDN). This is the single
 * source of truth for the look & feel; the same :root tokens + component
 * rules can be copied verbatim into the adverts / website repos so every
 * Revelanza surface matches. Keep custom CSS small — prefer Bootstrap
 * utilities, and reach for these tokens rather than hard-coded values.
 *
 * Font: Inter (Google Fonts). Bootstrap: 5.3.x.
 * ===================================================================== */

:root {
  /* Brand palette */
  --rev-brand: #6d28d9;          /* primary — violet */
  --rev-brand-rgb: 109, 40, 217;
  --rev-brand-dark: #5b21b6;     /* hover / active */
  --rev-brand-soft: #ede9fe;     /* tints, badges, hover rows */
  --rev-accent: #f59e0b;         /* amber — highlights, "money" */

  /* Ink & surfaces */
  --rev-ink: #1f2937;            /* body text */
  --rev-muted: #6b7280;          /* secondary text */
  --rev-bg: #fbfaff;             /* page background */
  --rev-surface: #ffffff;        /* cards, navbar */
  --rev-border: #e9e7f3;         /* hairlines */

  /* Shape & depth */
  --rev-radius: 0.75rem;         /* cards, inputs, buttons */
  --rev-radius-sm: 0.5rem;
  --rev-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 30px rgba(var(--rev-brand-rgb), .07);

  /* Map Bootstrap's primary onto the brand so utilities/links follow. */
  --bs-primary: var(--rev-brand);
  --bs-primary-rgb: var(--rev-brand-rgb);
  --bs-link-color: var(--rev-brand);
  --bs-link-color-rgb: var(--rev-brand-rgb);
  --bs-link-hover-color: var(--rev-brand-dark);
  --bs-body-color: var(--rev-ink);
  --bs-body-bg: var(--rev-bg);
  --bs-border-radius: var(--rev-radius);
}

body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background-color: var(--rev-bg);
  color: var(--rev-ink);
}

/* --- Brand mark ------------------------------------------------------- */
.navbar-brand {
  font-weight: 700;
  color: var(--rev-brand);
  letter-spacing: -0.02em;
}
.navbar-brand:hover { color: var(--rev-brand-dark); }

/* --- Buttons ---------------------------------------------------------- */
.btn-primary {
  --bs-btn-bg: var(--rev-brand);
  --bs-btn-border-color: var(--rev-brand);
  --bs-btn-hover-bg: var(--rev-brand-dark);
  --bs-btn-hover-border-color: var(--rev-brand-dark);
  --bs-btn-active-bg: var(--rev-brand-dark);
  --bs-btn-active-border-color: var(--rev-brand-dark);
  --bs-btn-disabled-bg: var(--rev-brand);
  --bs-btn-disabled-border-color: var(--rev-brand);
}
.btn-outline-primary {
  --bs-btn-color: var(--rev-brand);
  --bs-btn-border-color: var(--rev-brand);
  --bs-btn-hover-bg: var(--rev-brand);
  --bs-btn-hover-border-color: var(--rev-brand);
  --bs-btn-active-bg: var(--rev-brand-dark);
}
.btn {
  --bs-btn-border-radius: var(--rev-radius-sm);
  font-weight: 500;
}

/* --- Cards ------------------------------------------------------------ */
.card {
  --bs-card-border-color: var(--rev-border);
  --bs-card-border-radius: var(--rev-radius);
  --bs-card-bg: var(--rev-surface);
  box-shadow: var(--rev-shadow);
}

/* --- Forms ------------------------------------------------------------ */
.form-control, .form-select {
  border-color: var(--rev-border);
  border-radius: var(--rev-radius-sm);
  padding: 0.625rem 0.75rem;
}
.form-control:focus, .form-select:focus {
  border-color: var(--rev-brand);
  box-shadow: 0 0 0 0.2rem rgba(var(--rev-brand-rgb), .15);
}

/* --- Top navigation (authenticated app) ------------------------------ */
.rev-navbar {
  background-color: var(--rev-surface);
  border-bottom: 1px solid var(--rev-border);
}
.rev-navbar .nav-link { color: var(--rev-muted); font-weight: 500; }
.rev-navbar .nav-link.active { color: var(--rev-brand); }

/* --- Stat cards (dashboard) ------------------------------------------ */
.stat-card .stat-label {
  color: var(--rev-muted);
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.stat-card .stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.1;
}
.stat-card .stat-icon {
  width: 2.75rem; height: 2.75rem;
  display: grid; place-items: center;
  border-radius: var(--rev-radius-sm);
  background: var(--rev-brand-soft);
  color: var(--rev-brand);
}
.text-money { color: var(--rev-accent); }

/* --- Auth screen (login) --------------------------------------------- */
.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background:
    radial-gradient(1200px 500px at 50% -10%, var(--rev-brand-soft), transparent 60%),
    var(--rev-bg);
}
.auth-card {
  width: 100%;
  max-width: 24rem;
  border: 1px solid var(--rev-border);
  border-radius: var(--rev-radius);
  background: var(--rev-surface);
  box-shadow: var(--rev-shadow);
}
.auth-brand {
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--rev-brand);
  letter-spacing: -0.02em;
}
