/* CourtChat brand tokens — shared across marketing + auth pages.
   Mirrors design/courtchat-admin/styles.css so the whole site stays on
   one palette; the admin console keeps its own stylesheet untouched. */

:root {
  --purple: #6938DF;
  --purple-dark: #4F27AC;
  --purple-tint: #F1ECFD;
  --purple-tint-2: #E4DAFB;
  --secondary: #615B71;
  --bg: #FFFBFF;
  --ink: #1C1B1D;

  --surface: #FFFFFF;
  --line: #E7E4EC;
  --line-strong: #D5D1DD;
  --muted: #6E6A77;
  --muted-2: #908C99;

  --success: #1E7B45;
  --success-tint: #E4F4EA;
  --warning: #9A6700;
  --warning-tint: #FBF1D9;
  --danger: #B3261E;
  --danger-tint: #FBE9E7;
  --info: #2A5BD7;
  --info-tint: #E6ECFB;

  --radius: 10px;
  --radius-sm: 7px;
  --radius-lg: 18px;
  --shadow: 0 1px 2px rgba(28,27,29,.06), 0 1px 3px rgba(28,27,29,.04);
  --shadow-lg: 0 8px 24px rgba(28,27,29,.10);
}

* { box-sizing: border-box; }

html, body { margin: 0; }

body {
  font-family: "Neue Haas Grotesk Display", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  color: var(--ink);
  background: var(--bg);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; font-weight: 650; letter-spacing: -0.015em; }
p { margin: 0; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink);
  padding: 11px 20px; border-radius: 100px; font-size: 14.5px; font-weight: 600;
  cursor: pointer; font-family: inherit; transition: background .15s ease;
}
.btn:hover { background: #FAF8FE; }
.btn.primary { background: var(--purple); border-color: var(--purple); color: #fff; }
.btn.primary:hover { background: var(--purple-dark); }
.btn.lg { padding: 14px 26px; font-size: 15.5px; }
.btn.block { width: 100%; }
.btn.ghost { border-color: transparent; background: transparent; }

.container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

.messages { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.messages li {
  padding: 10px 14px; border-radius: var(--radius-sm); font-size: 13.5px;
  background: var(--purple-tint); color: var(--purple-dark); border: 1px solid var(--purple-tint-2);
}
.messages li.error { background: var(--danger-tint); color: var(--danger); border-color: #F3C9C4; }
