/* ============================================================
   Dossi — sample report viewer chrome.
   A light, glass reading shell around the genuine report pages;
   report.css itself is untouched.
   ============================================================ */
body{ background:#F1EFE9; }

.viewer{ padding-top:110px; }

.rv-topbar{
  position:fixed;
  top:16px; left:50%; transform:translateX(-50%);
  z-index:50;
  width:min(1100px, calc(100% - 32px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 12px 10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 8px 32px rgba(0,0,0,.08);
  font-family:'DM Sans',sans-serif;
}
.rv-left{ display:flex; align-items:center; gap:14px; min-width:0; }
.rv-back{
  display:inline-flex; align-items:center; gap:8px;
  color:#fff; background:#0A0A0A; text-decoration:none;
  font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  padding:11px 20px; border-radius:999px;
  transition:background .25s ease;
  white-space:nowrap;
}
.rv-back:hover{ background:#333; }
.rv-title{
  color:#0E0D0D; font-size:12.5px; font-weight:600; letter-spacing:.01em;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.rv-title span{ color:#9CA3AF; font-weight:500; }
.rv-sample{
  display:inline-flex; align-items:center; gap:7px;
  font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:#94690F; background:#FFF8DB;
  padding:8px 14px; border-radius:999px;
  white-space:nowrap;
  margin-right:4px;
}
.rv-sample::before{ content:""; width:5px; height:5px; border-radius:50%; background:#94690F; }

/* softer page shadow on the light canvas */
.page{ box-shadow:0 24px 70px -28px rgba(14,13,13,.30), 0 2px 10px -4px rgba(14,13,13,.12); }

.rv-endnote{
  font-family:'DM Sans',sans-serif;
  color:#9CA3AF; font-size:11.5px; letter-spacing:.02em;
  text-align:center; line-height:1.7; max-width:560px;
}

/* phone: pages are scaled by js/report-scale.js via a fixed-size stage */
.pg-stage{ position:relative; }
.pg-stage .page{ transform-origin:top left; }

@media (max-width:720px){
  .rv-title{ display:none; }
  .viewer{ padding-top:96px; }
}
