/* Hawthorne NPD Workflow — Core Styles
   Brand palette per Brand Guideline (Sept 2024) */

:root {
  --black: #000000;
  --ink-soft: #1C1A17;
  --ivory: #F8F2E9;
  --ivory-d: #ECE3D2;
  --ivory-dd: #DDD0BA;
  --brick: #803A2B;
  --brick-l: #9A4D3C;
  --brick-d: #5E2A1E;
  --moss: #757C4C;
  --herb: #666B36;
  --sand: #CDC4AB;
  --rust: #A35C2F;
  --white: #FFFFFF;
  --muted: #8A8275;
  --muted-l: #B8AE9C;
}

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

html, body {
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--ivory);
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

input, select, textarea, button {
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--ivory-d); }
::-webkit-scrollbar-thumb { background: var(--muted); border-radius: 3px; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
  0%, 100% { opacity: 0.55; }
  50%      { opacity: 1; }
}

.fade-up { animation: fadeUp 0.45s ease both; }
.pulse   { animation: pulse 1.6s ease infinite; }

/* Mobile responsiveness */
@media (max-width: 768px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .product-grid { grid-template-columns: 1fr !important; }
  .toolbar { flex-direction: column; align-items: stretch !important; }
}
