:root {
  color-scheme: light;
  --bg: #f7f7f5; --surface: #fff; --text: #20211f; --muted: #666b63;
  --border: #d9dcd5; --accent: #285f9c; --danger: #a12622;
  --space-1: .35rem; --space-2: .7rem; --space-3: 1rem; --space-4: 1.5rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); line-height: 1.5; }
a { color: var(--accent); }
.site-header { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); background: var(--surface); border-bottom: 1px solid var(--border); }
.site-header nav { display: flex; flex: 1; flex-wrap: wrap; gap: var(--space-3); }
.site-header form { margin: 0; }
main { width: min(72rem, 100%); margin-inline: auto; padding: var(--space-4); }
.stack > * + * { margin-top: var(--space-3); }
input, select, textarea, button { font: inherit; }
input, select, textarea { max-width: 100%; padding: .45rem .55rem; border: 1px solid var(--border); border-radius: .25rem; background: var(--surface); color: var(--text); }
button { padding: .45rem .7rem; border: 1px solid var(--border); border-radius: .25rem; background: var(--surface); color: var(--text); cursor: pointer; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: var(--space-2); border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.alert { padding: var(--space-3); border: 1px solid var(--border); border-radius: .25rem; }
.alert-error { border-color: var(--danger); }
.empty-state { color: var(--muted); }
@media (max-width: 40rem) {
  .site-header { align-items: flex-start; flex-direction: column; }
  main { padding: var(--space-3); }
  table { display: block; overflow-x: auto; }
}
