/* ─── Base ───────────────────────────────────────────────────────── */

:root {
  --bg:          #FFFFFF;
  --card:        #FFFFFF;
  --text:        #111111;
  --text-mute:   #6B6B6B;
  --text-faint:  #A8A8A8;
  --border:      #E8E6E0;
  --border-soft: #F2F0EA;
  --green:       #116466;
  --green-ink:   #0A4849;
  --green-soft:  #D1E8E2;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'ss01', 'ss03';
  letter-spacing: -0.005em;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  color: var(--text);
  font-weight: 700;
  letter-spacing: -0.01em;
}

p { margin: 0; }

/* ─── Animations ─────────────────────────────────────────────────── */

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-in {
  animation: fadeIn 0.35s ease-out forwards;
}

/* ─── Scrollbar ──────────────────────────────────────────────────── */

::-webkit-scrollbar       { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #D8D8D5; border-radius: 999px; border: 2px solid var(--bg); }
::-webkit-scrollbar-thumb:hover { background: #A8A8A8; }

/* ─── Reset opinionated form/button defaults ─────────────────────── */
/* Components in app.js use inline styles; don't override them here.   */

button {
  font-family: inherit;
  font-size: inherit;
}

input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  color: var(--text);
}

input:focus, select:focus, textarea:focus {
  outline: none;
}

/* ─── Print ──────────────────────────────────────────────────────────── */

@media print {
  header { display: none !important; }
  body { background: #fff !important; font-size: 12px; }
  .fade-in { animation: none !important; }
  canvas { display: none !important; }
  /* Hide overlays/drawers/modals so they don't print over the page */
  [role="dialog"],
  [aria-modal="true"],
  div[style*="position: fixed"][style*="z-index: 1100"],
  div[style*="position: fixed"][style*="z-index: 1101"],
  div[style*="position: fixed"][style*="zIndex: 1100"],
  div[style*="position: fixed"][style*="zIndex: 1101"] { display: none !important; }
  /* Recommendations drawer: when open during print, expand inline so the
     full report still prints. Overrides the generic dialog hide above. */
  [data-recs-drawer="true"] {
    display: flex !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: auto !important;
  }
  [data-recs-backdrop="true"] { display: none !important; }
  /* Stack panels full-width */
  div[style*="width: 65%"],
  div[style*="width: 35%"] { width: 100% !important; border: none !important; }
  /* Avoid page breaks inside rec cards (uses 6px borderRadius in current build) */
  div[style*="border-radius: 6px"],
  div[style*="borderRadius: 6px"],
  div[style*="borderRadius: 12px"] { page-break-inside: avoid; }
}
