/* ============================================================
   Martinelli Design System — Base resets + interaction classes
   Faithful to src/styles/globals.css
   ============================================================ */

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

body {
  font-family: var(--font-display);
  color: var(--color-text-primary);
  background: var(--color-background);
  font-size: var(--font-size-sm);
  line-height: var(--line-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* === Buttons: global press / hover feel === */
button {
  transition: all var(--duration-normal) var(--ease-default);
}
button:not(:disabled):hover { filter: brightness(1.05); }
button:not(:disabled):active { transform: scale(0.97); }

/* === Form focus rings === */
input, textarea, select {
  transition: border-color var(--duration-normal) ease, box-shadow var(--duration-normal) ease;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-focus);
  outline: none;
}

/* === Scrollbar (thin) === */
.nav-scroll::-webkit-scrollbar { width: 4px; }
.nav-scroll::-webkit-scrollbar-track { background: transparent; }
.nav-scroll::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: 4px; }
.nav-scroll::-webkit-scrollbar-thumb:hover { background: var(--color-text-disabled); }

/* === Interactive helpers (from globals.css) === */
.card-hover { transition: all 0.25s var(--ease-default); cursor: pointer; }
.card-hover:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--color-primary); }
.card-hover:active { transform: translateY(-1px); }
.kpi-hover { transition: all 0.25s var(--ease-default); }
.kpi-hover:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.list-item { transition: all 0.15s ease; }
.list-item:hover { background: var(--color-off-white); }
.shimmer { animation: shimmer 1.5s ease infinite; background-size: 200% 100%; }
.spin-slow { animation: spin 1s linear infinite; }
