.app-shell { max-width: 430px; margin: 0 auto; }
    /* components.css의 [data-role=guardian] .sec-title(margin-bottom:0)를 이기려면 같은 specificity로 올린다 */
    [data-role="guardian"] .sec-title { font-size: var(--text-headline); font-weight: var(--weight-bold); margin-bottom: var(--space-7); }
    /* 약 카드 박스 간 여유 (stack-tight 4px·u-gap-3 8px 대신 20px) */
    .med-list { gap: var(--space-6); }

    .med-head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); }
    .med-icon {
      width: 40px; height: 40px; border-radius: 12px;
      background: var(--color-accent-soft);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .med-icon iconify-icon { font-size: 20px; color: var(--color-accent); }
    .med-name { font-size: var(--text-headline); font-weight: var(--weight-bold); }
    .med-type { font-size: var(--text-caption); color: var(--color-text-secondary); }

    .med-details {
      display: flex; flex-direction: column;
      margin: var(--space-4) 0;
    }
    .med-row { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; }
    .med-row > iconify-icon { font-size: 18px; color: var(--color-text-tertiary); flex-shrink: 0; }
    .med-d-label { font-size: var(--text-caption); color: var(--color-text-tertiary); }
    .med-d-value { font-size: var(--text-callout); font-weight: var(--weight-semibold); color: var(--color-text-primary); margin-left: auto; }

    .med-warn { margin-top: var(--space-4); }
    .med-warn-head {
      display: flex; align-items: center; gap: var(--space-2);
      font-size: var(--text-callout); font-weight: var(--weight-bold);
      color: var(--palette-amber-700);
      margin-bottom: var(--space-3);
    }
    .med-warn-list {
      display: flex; flex-direction: column; gap: var(--space-2);
      font-size: var(--text-caption); color: var(--color-text-secondary);
      line-height: var(--leading-normal);
    }
    .med-warn-list li { display: flex; gap: var(--space-2); }
    .med-warn-list li::before {
      content: ''; flex-shrink: 0;
      width: 4px; height: 4px; border-radius: var(--radius-pill);
      background: var(--color-warning);
      margin-top: 7px;
    }

    .change-log { display: flex; flex-direction: column; gap: var(--space-6); }
    .change-card { padding: var(--space-5); }
    .change-text { font-size: var(--text-callout); font-weight: var(--weight-semibold); margin-bottom: 2px; }
    .change-date { font-size: var(--text-mini); color: var(--color-text-secondary); margin-bottom: var(--space-2); }
    .change-reason { font-size: var(--text-caption); color: var(--color-text-secondary); line-height: var(--leading-normal); }
