.report-open { display:flex; justify-content:space-between; align-items:center; width:100%; padding:13px 16px; border:1px solid var(--line); border-radius:8px; color:var(--brand); background:#fff; font-weight:600; }
.report-open:hover { background:var(--pale); border-color:var(--brand); }
#report-reader { padding:0; width:min(1180px,94vw); max-width:94vw; height:92dvh; max-height:92dvh; border:0; border-radius:16px; color:var(--ink); overflow:hidden; background:#fff; }
#report-reader[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
#report-reader::backdrop { background:rgba(15,29,35,.72); }
#report-reader .reader-header { position:static; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 24px; border-bottom:1px solid var(--line); box-shadow:none; }
#report-title { margin:4px 0 0; font-size:18px; line-height:1.4; }
#report-reader button { min-height:40px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); padding:8px 14px; }
#report-reader button:hover:not(:disabled) { background:var(--pale); border-color:var(--brand); }
#report-reader button:disabled { opacity:.35; cursor:default; }
#report-reader button:focus-visible { outline:3px solid var(--brand); outline-offset:2px; }
.reader-body { display:grid; grid-template-columns:132px minmax(0,1fr); min-height:0; }
.reader-thumbs { padding:16px; overflow:auto; background:#fff; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:12px; }
#report-reader .reader-thumbs button { flex-shrink:0; padding:8px; }
.reader-thumbs img { width:64px; height:86px; object-fit:contain; margin:0 auto 6px; }
#report-reader .reader-thumbs [aria-current=page] { border:2px solid var(--brand); background:var(--pale); color:var(--brand); }
.reader-stage { overflow:auto; background:#e9eef0; padding:24px; overscroll-behavior:contain; }
.reader-image { display:block; width:100%; max-width:none; height:auto; margin:auto; box-shadow:0 3px 16px #172e3514; }
.reader-stage.zoom-150 .reader-image { width:150%; }
.reader-stage.zoom-200 .reader-image { width:200%; }
#report-reader [hidden] { display:none!important; }
#report-reader .reader-status { color:var(--muted); padding:40px 0; text-align:center; }
#report-reader .reader-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 24px; margin:0; background:#fff; color:var(--ink); border-top:1px solid var(--line); }
.reader-toolbar>div { display:flex; align-items:center; gap:12px; }
.reader-count,.reader-zoom { font-size:14px; min-width:44px; text-align:center; font-variant-numeric:tabular-nums; }
@media(max-width:640px) {
  #report-reader { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; }
  #report-reader .reader-header { padding:12px 16px; gap:12px; }
  #report-title { font-size:15px; }
  #report-reader .reader-header button { flex-shrink:0; }
  .reader-body { grid-template-columns:1fr; }
  .reader-thumbs { display:none; }
  .reader-stage { padding:12px; }
  #report-reader .reader-toolbar { padding:10px 8px max(10px,env(safe-area-inset-bottom)); gap:6px; flex-wrap:wrap; }
  .reader-toolbar>div { gap:6px; }
  #report-reader .reader-toolbar button { padding:8px 10px; }
}
@media(prefers-reduced-motion:no-preference) {
  #report-reader[open] { animation:reader-open 160ms ease-out; }
  @keyframes reader-open { from { opacity:.5; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
