.rp-page { max-width: 1800px; margin: 0 auto; color: var(--ui-text); }
.rp-head, .rp-section-head, .rp-report-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.rp-head h2 { margin: 5px 0; font-size: 25px; font-weight: 700; }
.rp-page h3 { font-size: 15px; font-weight: 650; margin: 0; }
.rp-head p, .rp-section-head p, .rp-filter > p { font-size: 12px; color: var(--ui-muted); margin: 6px 0 0; line-height: 1.7; }
.rp-eyebrow { font-size: 12px; color: var(--ui-primary); font-weight: 600; }
.rp-filter { margin-bottom: 18px; }
.rp-filter form, .rp-detail-filters { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }
.rp-filter label, .rp-detail-filters label { display: flex; flex: 1 1 140px; flex-direction: column; gap: 7px; color: var(--ui-muted); font-size: 12px; }
.rp-filter .input, .rp-detail-filters .input { min-width: 0; width: 100%; }
.rp-alert { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding: 14px 18px; margin-bottom: 18px; border: 1px solid #bfdbfe; border-radius: var(--ui-radius); background: #eff6ff; color: #1e40af; font-size: 13px; }
.rp-alert p { margin: 5px 0 0; line-height: 1.7; }
.rp-warn { background: #fffbeb !important; color: #92400e !important; border-color: #fde68a; }
.rp-error { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.rp-error-text { color: #b91c1c; font-size: 12px; }
.rp-empty { text-align: center; padding: 45px 20px; color: var(--ui-muted); font-size: 14px; }
.rp-page .list-table table { min-width: 900px; }
.rp-page td { font-size: 12px; vertical-align: top; }
.rp-page td small { display: block; font-size: 11px; color: var(--ui-muted); line-height: 1.6; margin-top: 6px; max-width: 310px; }
.rp-page .list-table th { white-space: nowrap; }
.rp-tag { display: inline-block; padding: 3px 6px; margin: 0 4px 4px 0; border-radius: 4px; background: #eff6ff; color: #1e40af; font-size: 11px; }
.rp-link { background: none; border: 0; padding: 0; text-align: left; cursor: pointer; color: var(--ui-primary); }
.rp-link:hover, .rp-page a:hover { text-decoration: underline; }
.rp-page a { color: var(--ui-primary); }
.rp-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.rp-summary article { display: flex; flex-direction: column; gap: 12px; }
.rp-summary span { color: var(--ui-muted); font-size: 12px; }
.rp-summary strong { font-size: 24px; }
.rp-tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--ui-border); margin-bottom: 18px; }
.rp-tabs button { border: 0; border-bottom: 3px solid transparent; padding: 0 0 12px; background: none; color: var(--ui-muted); cursor: pointer; }
.rp-tabs button.active { border-bottom-color: var(--ui-primary); color: var(--ui-primary); font-weight: 600; }
.rp-specialties { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.rp-specialties button { border: 1px solid var(--ui-border); border-radius: 6px; padding: 6px 10px; background: white; color: var(--ui-muted); font-size: 12px; cursor: pointer; }
.rp-specialties button.active { border-color: #93c5fd; background: #eff6ff; color: var(--ui-primary); }
.rp-detail-filters { margin-bottom: 18px; }
.rp-muted { font-size: 12px; line-height: 1.7; color: var(--ui-muted); }
.rp-dialog { width: min(960px,calc(100vw - 40px)); max-height: 88vh; padding: 24px; border: 1px solid var(--ui-border); border-radius: 12px; color: var(--ui-text); }
.rp-dialog::backdrop { background: rgba(16,24,40,.4); }
.rp-dialog .list-table table { min-width: 480px; }
.rp-dialog .rp-section-head { align-items: start; }
.rp-advice, .rp-notes { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--ui-border); }
.rp-advice article { padding: 10px 14px; background: #f8fafc; border-radius: 6px; margin-top: 10px; }
.rp-advice article p { margin: 4px 0; font-size: 13px; line-height: 1.7; }
.rp-note { border-bottom: 1px solid var(--ui-border); padding: 12px 0; }
.rp-note small { color: var(--ui-muted); font-size: 11px; }
.rp-note p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 7px 0 0; font-size: 13px; line-height: 1.7; }
.rp-notes form { margin-top: 18px; }
.rp-notes label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.rp-note-submit { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
@media (max-width: 767px) { .rp-page { padding: 56px 16px 20px; } .rp-head, .rp-section-head, .rp-report-title, .rp-alert { flex-direction: column; align-items: start; } .rp-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } .rp-dialog { padding: 16px; } }
