/* The report viewer page (inline iframe + popped-out window) - ported from the Refinery's
   /review/{id}/images shell styles, same colors, FARS Manifest's own class names. */
html, body { margin: 0; background: #0d0d0d; color: #d1d5db; font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
#rv-status { padding: .5rem 1rem; color: #8b93a1; font-size: .85em; border-bottom: 1px solid rgba(255,255,255,.18); }
#rv-pages { padding: 1rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.rv-page-wrap { max-width: 100%; }
.rv-page-label { color: #8b93a1; font-size: .8em; margin-bottom: .25rem; }
.rv-page-frame { position: relative; display: inline-block; max-width: 100%; }
.rv-page-frame canvas { display: block; max-width: 100%; height: auto; border: 1px solid rgba(255,255,255,.18); background: #fff; }
.rv-flash canvas { outline: 4px solid #00e5ff; outline-offset: 2px; }
.rv-field-highlight {
    position: absolute; border: 3px solid #00e5ff; background: rgba(0,229,255,.15); border-radius: 3px;
    pointer-events: none; box-shadow: 0 0 0 9999px rgba(0,0,0,.25);
}
.rv-field-highlight + .rv-field-highlight { box-shadow: none; }
#rv-align { position: sticky; top: 0; z-index: 5; padding: .35rem 1rem; background: #1a1a1a; border-bottom: 1px solid rgba(255,255,255,.18); font-size: .8em; color: #8b93a1; }
#rv-loupe {
    position: fixed; top: 1rem; right: 1rem; width: 320px; background: #1a1a1a; border: 1px solid rgba(255,255,255,.25);
    border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.5); overflow: hidden; z-index: 10;
}
#rv-loupe-head { display: flex; justify-content: space-between; align-items: center; padding: .35rem .6rem; background: #232323; font-size: .8em; color: #8b93a1; }
#rv-loupe-close { background: none; border: none; color: #8b93a1; cursor: pointer; font-size: 1.1em; line-height: 1; padding: 0 .3rem; }
#rv-loupe canvas { width: 100%; display: block; background: #fff; }

/* Day mode + scan filters - applied by a popped-out window to itself (the inline iframe is colored
   by the Data Studio's own CSS). Filters touch the report image only, never the highlight. */
body.rv-day { background: #f7f7f5; color: #16181d; }
body.rv-day #rv-status, body.rv-day .rv-page-label { color: #55606e; border-bottom-color: rgba(0,0,0,.18); }
body.rv-day .rv-page-frame canvas { border-color: rgba(0,0,0,.18); }
body.rv-day #rv-align { background: #eef0f2; color: #55606e; border-bottom-color: rgba(0,0,0,.18); }
body.rv-day #rv-loupe { background: #fff; border-color: rgba(0,0,0,.25); }
body.rv-day #rv-loupe-head { background: #eef0f2; color: #55606e; }
body.rv-scan-inverted #rv-pages canvas, body.rv-scan-inverted #rv-loupe canvas { filter: invert(1); }
body.rv-scan-boosted #rv-pages canvas, body.rv-scan-boosted #rv-loupe canvas { filter: contrast(1.6) brightness(1.05); }
body.rv-scan-grayscale #rv-pages canvas, body.rv-scan-grayscale #rv-loupe canvas { filter: grayscale(1) contrast(1.15); }
