/* ========== RESET & BASE ========== */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bg-default);
  color: var(--text-primary);
  min-height: 100vh;
  min-height: 100svh;
  min-height: var(--app-height, 100dvh);
  height: 100vh;
  height: 100svh;
  height: var(--app-height, 100dvh);
  overflow: hidden;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

.app {
  display: flex;
  min-height: 100vh;
  min-height: 100svh;
  min-height: var(--app-height, 100dvh);
  height: 100vh;
  height: 100svh;
  height: var(--app-height, 100dvh);
}

/* Focus & Accessibility */
*:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: var(--radius); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: var(--grey-400); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--grey-500); }
::-webkit-scrollbar-track { background: transparent; }
