/* Focused report review: one scroll owner, readable evidence, quiet metadata. */
html.report-review-open { overflow:hidden !important; overscroll-behavior:none; }
html.report-review-open body {
    position:fixed !important;
    top:var(--report-scroll-top,0);
    left:0;
    right:0;
    width:100%;
    overflow:hidden !important;
}
#reportDetailModal { overscroll-behavior:contain; overflow:hidden; }
#reportDetailModal .report-detail-dialog {
    width:min(880px,calc(100vw - 48px));
    max-width:880px;
    height:calc(100dvh - 48px);
    max-height:100dvh;
    margin:24px auto;
}
#reportDetailModal .modal-content { height:100%; min-height:0; max-height:100%; border-radius:16px; }
#reportDetailModal .report-detail-toolbar {
    grid-template-columns:40px 1fr 40px 40px;
    flex:none;
    padding:12px 20px;
    border-bottom:1px solid hsl(var(--line));
}
.report-detail-position { color:hsl(var(--muted)); font-size:.82rem; font-weight:550; text-align:left; }
#reportDetailModal .report-detail-body {
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
    padding:28px 36px 36px;
    scroll-behavior:auto;
    scrollbar-width:thin;
    scrollbar-color:hsl(var(--muted) / .5) transparent;
}
#reportDetailModal .report-detail-hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) 150px;
    gap:24px;
    align-items:center;
    max-width:none;
    margin:0 0 26px;
    padding:0 0 26px;
    text-align:left;
}
#reportDetailModal .report-detail-badges { justify-content:flex-start; }
#reportDetailModal .modal-title { margin:12px 0 8px; font-size:1.55rem; line-height:1.3; font-weight:650; letter-spacing:-.025em; }
#reportDetailModal .report-detail-time { font-size:.8rem; line-height:1.6; }
#reportDetailModal .report-detail-score { align-items:flex-start; gap:8px; width:100%; margin:0; }
.report-score-label { color:hsl(var(--muted)); font-size:.75rem; }
#reportDetailModal .report-detail-score strong { font-size:1.9rem; font-weight:650; }
#reportDetailModal .report-detail-score progress { height:5px; }
#reportDetailContent { max-width:none; margin:0; }
#reportDetailModal .report-detail-group h6 { color:hsl(var(--ink)); font-size:.92rem; font-weight:650; }
.report-assessment { margin:0 0 28px; }
.report-assessment > h6 { margin:0 0 14px; }
.report-assessment .report-detail-grid { display:block; border:0; border-radius:0; }
.report-assessment .report-detail-field { display:block; padding:0 0 18px; border:0; }
.report-assessment dt { margin:0 0 7px; color:hsl(var(--muted)); font-size:.75rem; font-weight:550; letter-spacing:0; text-transform:none; }
.report-assessment dd { position:relative; margin:0; padding-right:34px; }
.report-assessment .report-field-pre { max-height:none; overflow:visible; padding:0; border:0; border-radius:0; background:transparent; font-size:.93rem; line-height:1.85; }
.report-assessment .report-copy-button { position:absolute; top:0; right:0; }
#reportDetailModal .report-detail-info-grid { margin:24px 0; border-radius:10px; }
#reportDetailModal .report-detail-info-grid > .report-detail-group { display:block; }
#reportDetailModal .report-detail-info-grid .report-detail-group h6 { padding:14px 18px 6px; border:0; background:transparent; font-size:.83rem; }
#reportDetailModal .report-detail-info-grid .report-detail-grid { padding:0 18px 12px; gap:0 24px; }
#reportDetailModal .report-detail-info-grid .report-detail-field { display:block; padding:10px 0; border-right:0; }
#reportDetailModal .report-detail-info-grid dt { margin-bottom:5px; font-size:.74rem; }
#reportDetailModal .report-detail-info-grid dd { align-items:center; font-size:.9rem; line-height:1.55; }
#reportDetailModal .report-detail-info-grid .report-field-value { flex:1; }
.report-metadata-disclosure { margin:24px 0; border-top:1px solid hsl(var(--line)); border-bottom:1px solid hsl(var(--line)); }
.report-metadata-disclosure > summary { padding:16px 0; color:hsl(var(--muted-ink,var(--ink))); font-size:.82rem; font-weight:550; cursor:pointer; }
.report-metadata-disclosure .report-detail-group { margin:0 0 18px; }
.report-metadata-disclosure h6 { display:none; }
.report-metadata-disclosure .report-detail-grid { border:0; gap:0 24px; }
.report-metadata-disclosure .report-detail-field { padding:10px 0; border-right:0; }
#reportDetailModal .report-extracted-section { margin-top:26px; padding-top:20px; }
#reportDetailModal .report-extracted-section h6 { margin-bottom:12px; }
#reportDetailModal .report-extracted-text { max-height:280px; padding:16px; overscroll-behavior:contain; font-size:.9rem; line-height:1.85; }
#reportDetailModal .report-screenshot-section { margin:0 0 24px; padding:0 0 20px; }
#reportDetailModal button:focus-visible, #reportDetailModal summary:focus-visible, #reportDetailModal a:focus-visible { outline:2px solid hsl(var(--accent)); outline-offset:3px; }
.image-modal-viewport { overscroll-behavior:contain; }
@media (max-width:575.98px) {
    #reportDetailModal .report-detail-dialog { width:100%; height:100dvh; margin:0; }
    #reportDetailModal .modal-content { border:0; border-radius:0; }
    #reportDetailModal .report-detail-toolbar { padding:calc(8px + env(safe-area-inset-top)) 12px 8px; }
    #reportDetailModal .report-detail-body { height:auto; padding:22px 20px max(28px,env(safe-area-inset-bottom)); }
    #reportDetailModal .report-detail-hero { grid-template-columns:minmax(0,1fr); gap:20px; }
    #reportDetailModal .modal-title { font-size:1.35rem; }
    #reportDetailModal .report-detail-score { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px 18px; }
    #reportDetailModal .report-detail-score strong { grid-column:2; grid-row:1 / 3; font-size:1.7rem; }
    #reportDetailModal .report-detail-score progress { grid-column:1; }
    #reportDetailModal .report-detail-info-grid .report-detail-grid { grid-template-columns:1fr; }
    .report-metadata-disclosure .report-detail-grid { grid-template-columns:1fr; }
    .report-assessment .report-field-pre { font-size:.9rem; }
}
