diff --git a/app/Controllers/Opd.php b/app/Controllers/Opd.php
index 28470f1..cb3a24b 100644
--- a/app/Controllers/Opd.php
+++ b/app/Controllers/Opd.php
@@ -3586,13 +3586,26 @@ class Opd extends BaseController
return '';
}
- $headingHtml = '' . $label . ' :';
+ // Heading uses same font-size as surrounding content (inherit) so heading
+ // and value are visually consistent; bold weight + uppercase provides
+ // clear separation without a size mismatch.
+ $headingHtml = '' . $label . ' :';
if ($lineBreakAfterLabel) {
- return '
' . $headingHtml . '
' . $value . '
';
+ // List-style sections: heading on its own line, content indented below.
+ return ''
+ . $headingHtml
+ . '
'
+ . $value
+ . '
';
}
- return '' . $headingHtml . ' ' . $value . '
';
+ // Inline sections (Vitals, Investigation, Next Visit): heading + value on same line.
+ return ''
+ . $headingHtml
+ . ' '
+ . $value
+ . '
';
};
$escape = static fn (string $value): string => htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
@@ -3666,7 +3679,7 @@ class Opd extends BaseController
return '';
}
- $listHtml = '';
+ $listHtml = '';
foreach ($items as $item) {
$term = trim((string) ($item['term'] ?? ''));
if ($term === '') {
@@ -3681,15 +3694,16 @@ class Opd extends BaseController
}
}
- $listHtml .= '- ' . $escape($term);
+ // Term in normal weight; detail metadata in muted italic at 90% size.
+ $listHtml .= '
- ' . $escape($term);
if (! empty($details)) {
- $listHtml .= ' (' . $escape(implode(' | ', $details)) . ')';
+ $listHtml .= ' (' . $escape(implode(' | ', $details)) . ')';
}
$listHtml .= '
';
}
$listHtml .= '
';
- return $listHtml === '' ? '' : $listHtml;
+ return $listHtml === '' ? '' : $listHtml;
};
$tokens['vital_content_raw'] = (string) ($tokens['vital_content'] ?? '');