:root {
  --sidebar-expanded: 280px;
  --sidebar-collapsed: 76px;
  --header-height: 64px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --shadow-sm: 0 4px 14px rgba(18, 32, 44, .06);
  --shadow-md: 0 12px 32px rgba(18, 32, 44, .10);
  --bg: #eef2f5;
  --surface: #ffffff;
  --surface-2: #f7f9fb;
  --surface-3: #e8eef3;
  --text: #18222c;
  --muted: #64727f;
  --line: #d8e0e7;
  --accent: #1769aa;
  --accent-strong: #0d4f82;
  --accent-soft: #e8f3fb;
  --success: #1a7f55;
  --warning: #9a6500;
  --danger: #a62929;
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 15% 0%, rgba(23,105,170,.11), transparent 32rem),
    var(--bg);
  color: var(--text);
}

button, input, select, textarea { font: inherit; }
a { color: inherit; }
img { max-width: 100%; display: block; }

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #12181d;
    --surface: #1a2229;
    --surface-2: #202a32;
    --surface-3: #2b3640;
    --text: #f2f5f7;
    --muted: #a9b5be;
    --line: #34414b;
    --accent: #4aa3df;
    --accent-strong: #7bc0ef;
    --accent-soft: #17354a;
    --shadow-sm: 0 4px 14px rgba(0,0,0,.22);
    --shadow-md: 0 12px 32px rgba(0,0,0,.30);
  }
}
