.reports-content { color:var(--ink, #14201B); }
.reports-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.reports-eyebrow { color:var(--moss, #0E7C66); font-size:11px; font-weight:600; letter-spacing:2px; }
.reports-heading h2 { font-size:24px; color:var(--pine-deep, #0A5C4B); margin:6px 0; line-height:1.4; }
.reports-heading p,.record-info p { color:var(--ink-soft, #566862); font-size:13px; margin:0; line-height:1.8; }
.reports-heading button { font-family:inherit; font-size:12px; }
.reports-heading [data-reports-refresh] { display:none; }
.reports-link:focus-visible,.reports-action:focus-visible { outline:2px solid #15A38A; outline-offset:4px; }
#reportsContent[aria-busy="true"] .reports-heading { opacity:.65; }
.reports-link { border:0; background:none; color:var(--pine-deep, #0A5C4B); text-decoration:none; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; }
.reports-link:hover { color:var(--moss, #15A38A); }
.report-pdf-link { display:inline-flex; align-items:center; padding:3px 11px; border:1px solid var(--line, #E2ECE7); border-radius:999px; color:var(--moss, #15A38A); font-size:11.5px; line-height:1.7; }
.report-pdf-link:hover { border-color:var(--moss, #15A38A); background:#F0FAF6; }
.reports-action { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:0; padding:12px 22px; border-radius:12px; background:linear-gradient(140deg,#15A38A,#0A5C4B); color:white; font:inherit; font-size:14px; font-weight:600; text-decoration:none; cursor:pointer; transition:box-shadow .2s,transform .2s; }
.reports-action:hover { text-decoration:none; box-shadow:0 6px 18px #0e7c6626; transform:translateY(-1px); }
.reports-empty { text-align:center; padding:36px 12px 44px; }
.reports-empty-icon { display:grid; place-items:center; width:76px; height:76px; border-radius:26px; background:#EAF5F0; margin:0 auto 20px; font-size:34px; }
.reports-empty h3 { margin:0 0 10px; color:var(--pine-deep, #0A5C4B); font-size:20px; }
.reports-empty p { color:var(--ink-soft, #566862); font-size:14px; line-height:1.9; margin:0 0 25px; }
.report-record { display:flex; align-items:center; gap:14px; padding:20px 0; border-top:1px solid var(--line, #E2ECE7); }
.record-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:15px; background:#EAF5F0; flex-shrink:0; font-size:23px; }
.record-info { flex:1; min-width:0; }
.record-info h3 { font-size:15px; margin:0 0 5px; color:var(--pine-deep, #0A5C4B); }
.record-info p { font-size:11.5px; }
.report-badge { padding:4px 10px; border-radius:999px; background:#FBEFD6; color:#89600c; font-size:11.5px; white-space:nowrap; }
.report-badge.approved { background:#E7F6EF; color:#0A5C4B; }
.report-badge.rejected { background:#FCECE5; color:#9d3e23; }
.reports-pagination { display:flex; justify-content:center; align-items:center; gap:22px; border-top:1px solid var(--line, #E2ECE7); padding-top:24px; font-size:13px; color:var(--ink-soft, #566862); }
.reports-pagination a { color:var(--pine-deep, #0A5C4B); text-decoration:none; }
.reports-loading { padding:12px 0; }
.reports-skeleton { height:70px; border-radius:14px; margin:14px 0; background:linear-gradient(100deg,#f0f5f2 25%,#e2eee8 45%,#f0f5f2 65%); background-size:250% 100%; animation:reports-shimmer 1.5s ease-in-out infinite; }
@keyframes reports-shimmer { from { background-position:100% 0; } to { background-position:-100% 0; } }
.reports-back { margin-bottom:22px; display:inline-block; }
.report-detail-status { border-radius:16px; background:#F4F8F6; padding:20px; margin:20px 0; }
.report-detail-status p { color:var(--ink-soft, #566862); font-size:13px; line-height:1.9; margin:10px 0 0; }
.report-detail .report-body { margin:24px 0; }
.report-detail .report-disclaimer { border-top:1px solid var(--line, #E2ECE7); margin-top:24px; padding-top:18px; color:var(--ink-soft, #566862); font-size:12px; line-height:1.9; }
.report-detail .report-reviewer { font-size:13px; color:var(--ink-soft, #566862); margin-top:18px; }
@media(max-width:520px) {
  .reports-heading h2 { font-size:21px; }
  .report-record { flex-wrap:wrap; gap:10px; }
  .record-info { flex-basis:calc(100% - 60px); }
  .report-record .report-badge { margin-left:54px; }
  .report-record .reports-link { margin-left:auto; }
  .reports-empty { padding:28px 4px 32px; }
}
@media(prefers-reduced-motion:reduce) { .reports-skeleton { animation:none; } .reports-action { transition:none; } }
