/* page-specific additions */
.async-section { margin-bottom: 14px; border: 1px solid #ececec; border-radius: 16px; padding: 14px; background: #fff; }
.async-section-title { font-size: 14px; font-weight: 700; margin: 0 0 6px 0; }
.async-section-sub { font-size: 12px; color: #666; line-height: 1.6; margin: 0 0 8px 0; }
.async-section .js-section-updated-at { font-size: 11px; color: #888; line-height: 1.5; margin: 0 0 6px 0; }
.async-section .js-section-status { font-size: 12px; color: #666; line-height: 1.6; margin: 0 0 10px 0; }
.async-section .js-section-error { font-size: 12px; color: #444; background: #f7f7f7; border: 1px solid #e1e1e1; border-radius: 10px; padding: 10px 12px; margin-top: 10px; }
.async-section .js-section-retry { margin-top: 10px; }
.async-section .js-section-retry button { width: auto; min-width: 120px; padding: 10px 14px; font-size: 14px; }
.async-section .js-section-stale { opacity: 0.52; filter: grayscale(0.08); margin-bottom: 10px; }
.async-section .js-section-content[hidden], .async-section .js-section-stale[hidden], .async-section .js-section-skeleton[hidden], .async-section .js-section-error[hidden], .async-section .js-section-retry[hidden], .async-section .js-section-status[hidden] { display: none !important; }
.section-skeleton-line { height: 14px; border-radius: 8px; background: #f2f2f2; margin-bottom: 10px; }
.section-skeleton-line.alt { background: #f7f7f7; }
.section-skeleton-line.light { background: #fafafa; }
.section-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.section-metric-card { border: 1px solid #ececec; border-radius: 12px; padding: 12px; background: #fbfbfb; }
.section-metric-label { font-size: 11px; color: #666; margin-bottom: 6px; }
.section-metric-value { font-size: 16px; font-weight: 700; color: #333; word-break: break-word; }
.section-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.section-table th { text-align: left; border-bottom: 1px solid #ddd; padding: 8px; }
.section-table td { border-bottom: 1px solid #eee; padding: 8px; }
.section-table td.num, .section-table th.num { text-align: right; }
.section-empty-row td { color: #bbb; }
