/* Theme: ivory-neutral (light, high contrast) */

:root{
 --bg-0:#fafafa; --bg-1:#f4f4f5; --acc-0:#111827; --acc-1:#374151;
 --txt-0:#0b1220; --txt-1:#374151; --muted:#6b7280; --card:#ffffff; --border:#e5e7eb;
 --shadow:0 6px 18px rgba(0,0,0,.06);
}


/* Light theme, high legibility baseline */
html, body{
  background: linear-gradient(180deg, var(--bg-0), var(--bg-1));
  color: var(--txt-0);
}
a{ color: var(--acc-1); }
a:hover{ color: var(--acc-0); }

/* Buttons */
button, .btn, [class*="btn-"]{
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.9));
  color: var(--acc-1) !important;
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: var(--shadow);
}
button:hover, .btn:hover, [class*="btn-"]:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
}

/* Cards */
.card, [class*="card"]{
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: 0 4px 14px rgba(0,0,0,.04);
}

/* Headings */
h1, h2, h3, h4, h5, h6{
  color: var(--txt-0);
}

/* Badges / chips */
.badge, [class*="badge"]{
  background: color-mix(in srgb, var(--border) 60%, white);
  color: var(--acc-1);
  border: 1px solid var(--border);
}

/* Tables and inputs gentle borders */
table, th, td, input, select, textarea{
  border-color: var(--border);
}

/* Ensure high contrast for small text within muted areas */
.small, .text-muted, .muted, [class*="muted"]{
  color: var(--txt-1);
}