@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Elliotts.ai palette */
  --dark: #023547;
  --teal: #008082;
  --cream: #f9f9f3;
  --white: #ffffff;
  --text: #023547;
  --text-muted: #536877;
  --text-light: #708091;
  --border: #e2e5e8;
  --accent-green: #00a63e;
  --accent-red: #e7000b;
  --accent-blue: #0084d1;
  --accent-orange: #e17100;

  /* Dashboard dark palette */
  --dash-bg: #0a0e14;
  --dash-card: #131920;
  --dash-border: #1e2832;
  --dash-text: #e0e6ed;
  --dash-muted: #6b7f8e;
  --dash-green: #00c853;
  --dash-red: #ff3d00;
  --dash-orange: #ff9100;
  --dash-blue: #448aff;

  /* Type */
  --font: 'DM Sans', system-ui, -apple-system, sans-serif;
  --ls: -0.02em;

  /* Spacing */
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 48px;
  --space-xl: 80px;
  --space-2xl: 120px;

  /* Layout */
  --max-w: 1280px;
  --radius: 12px;
  --radius-sm: 8px;
}

html {
  font-family: var(--font);
  letter-spacing: var(--ls);
  line-height: 1.5;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  min-height: 100vh;
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; }
