@layer components {
  .care-stim-priority { margin-top: 1rem; padding: 1rem 1.1rem; border-radius: 14px; background: var(--coral-soft); color: var(--navy); }
  .care-stim-priority h2 { font-size: 1.3rem; line-height: 1.3; }
  .care-stim-priority p { font-size: .9rem; line-height: 1.5; margin-top: .5rem; }
  .care-stim-section { margin-top: 1.5rem; }
  .care-stim-section h2 { font-family: var(--font-sans); font-size: .95rem; line-height: 1.4; }
  .care-stim-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
  .care-stim-section-heading > span { color: var(--periwinkle); font-size: .75rem; white-space: nowrap; }
  .care-stim-progress { appearance: none; display: block; border: 0; border-radius: 3px; overflow: hidden; width: 100%; height: 4px; margin-top: .65rem; background: var(--lilac-soft); color: var(--periwinkle); }
  .care-stim-progress::-webkit-progress-bar { background: var(--lilac-soft); }
  .care-stim-progress::-webkit-progress-value { background: var(--periwinkle); }
  .care-stim-progress::-moz-progress-bar { background: var(--periwinkle); }
  .care-stim-period { font-family: var(--font-sans); font-size: .75rem; color: var(--muted); margin-top: 1rem; }
  .care-stim-appointment { display: grid; gap: .25rem; background: var(--navy-soft); color: white; border-radius: 14px; padding: 1rem; margin-top: .65rem; font-size: .9rem; }
  .care-stim-appointment span, .care-stim-appointment p { color: #c9cff4; font-size: .8rem; }
  .care-stim-upcoming p { font-size: .875rem; line-height: 1.5; margin-top: .5rem; }
  .care-stim-upcoming { padding-block: 1rem; border-top: 1px solid var(--line-strong); }
  .care-stim-upcoming h2 { font-size: .65rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
  .care-stim-upcoming-row { display: flex; align-items: flex-start; gap: .6rem; color: var(--muted); }
  .care-stim-upcoming-row svg { flex: 0 0 16px; width: 16px; height: 16px; margin-top: .15rem; }
}
