/* ── Design Tokens ──────────────────────────────────────────────────────── */
:root {
  --color-bg:        #f8f9fa;
  --color-surface:   #ffffff;
  --color-border:    #e0e0e0;
  --color-text:      #202124;
  --color-text-muted:#70757a;
  --color-primary:   #1a73e8;
  --color-primary-light: #e8f0fe;
  --color-danger:    #d93025;
  --color-today-bg:  #1a73e8;
  --color-today-text:#ffffff;
  --font-sans:       system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --radius-sm:       4px;
  --radius-md:       8px;
  --radius-lg:       12px;
  --shadow-sm:       0 1px 3px rgba(0,0,0,.1);
  --shadow-md:       0 4px 12px rgba(0,0,0,.12);
  --shadow-lg:       0 8px 24px rgba(0,0,0,.15);
  --transition:      0.15s ease;
}

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

html, body {
  height: 100%;
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }

button {
  font-family: var(--font-sans);
  font-size: 14px;
  cursor: pointer;
  border: none;
  background: none;
}

input, select, textarea {
  font-family: var(--font-sans);
  font-size: 14px;
}

/* ── Utility ─────────────────────────────────────────────────────────────── */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}

.hidden { display: none !important; }
