/* ComicVision v0.9.1 — strict public/admin split + laptop review layout */
:root{
  --cv-admin-left: clamp(220px, 18vw, 284px);
  --cv-admin-right: clamp(286px, 23vw, 342px);
  --cv-admin-gap: 10px;
}

/* PUBLIC SURFACES: public means reader only. No admin/review/lab chrome. */
body[data-cv-surface="public-home"] a[href*="admin"],
body[data-cv-surface="public-home"] a[href*="lab"],
body[data-cv-surface="public-home"] a[href*="import"],
body[data-cv-surface="public-home"] a[href*="research"],
body[data-cv-surface="public-home"] a[href*="playback"],
body[data-cv-surface="public-reader"] a[href*="admin"],
body[data-cv-surface="public-reader"] a[href*="lab"],
body[data-cv-surface="public-reader"] a[href*="import"],
body[data-cv-surface="public-reader"] a[href*="research"],
body[data-cv-surface="public-reader"] a[href*="playback"],
body[data-cv-surface="public-reader"] .admin-link,
body[data-cv-surface="public-reader"] [data-reader-mode="review"],
body[data-cv-surface="public-reader"] [data-reader-mode="debug"],
body[data-cv-surface="public-reader"] .mode-grid,
body[data-cv-surface="public-reader"] .mode-panel{
  display:none!important;
}
body[data-cv-surface="public-home"] header nav,
body[data-cv-surface="public-reader"] .chrome-actions{
  gap:8px!important;
}
body[data-cv-surface="public-home"] .lead,
body[data-cv-surface="public-reader"] .meta-note{
  max-width: 76ch;
}

/* ADMIN/REVIEW: review is admin workspace, not public reader. */
body[data-cv-surface="admin-review"]{
  overflow:hidden!important;
}
body[data-cv-surface="admin-review"] #appRoot,
body[data-cv-surface="admin-review"] .app{
  height:100dvh!important;
  grid-template-rows: 40px minmax(42px, 54px) minmax(0, 1fr) minmax(72px, 98px)!important;
  gap: var(--cv-admin-gap)!important;
  padding:10px clamp(8px,1.1vw,16px)!important;
}
body[data-cv-surface="admin-review"] .appbar{
  min-height:40px!important;
}
body[data-cv-surface="admin-review"] .admin-context{
  justify-content:flex-start!important;
  min-width:0!important;
}
body[data-cv-surface="admin-review"] .bar-actions{
  max-width: 42vw;
  overflow:hidden;
}
body[data-cv-surface="admin-review"] .bar-actions .chrome-link[href*="lab"],
body[data-cv-surface="admin-review"] .bar-actions .chrome-link[href*="import"],
body[data-cv-surface="admin-review"] .bar-actions .chrome-link[href*="reader"],
body[data-cv-surface="admin-review"] .bar-actions .public-link{
  opacity:.72;
}
body[data-cv-surface="admin-review"] .facts{
  min-height:42px!important;
  padding:6px!important;
}
body[data-cv-surface="admin-review"] .fact{
  min-width:72px!important;
  padding:6px 8px!important;
}
body[data-cv-surface="admin-review"] .fact b{
  font-size:14px!important;
}
body[data-cv-surface="admin-review"] .main.admin-three-pane{
  display:grid!important;
  grid-template-columns: var(--cv-admin-left) minmax(480px, 1fr) var(--cv-admin-right)!important;
  gap: var(--cv-admin-gap)!important;
  align-items:stretch!important;
  min-height:0!important;
  overflow:hidden!important;
}
body[data-cv-surface="admin-review"] .admin-left-rail,
body[data-cv-surface="admin-review"] .side.admin-right-inspector{
  height:100%!important;
  min-height:0!important;
  overflow:auto!important;
  scrollbar-width:thin!important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:rgba(5,6,12,.42);
  padding:8px;
  contain:layout paint;
}
body[data-cv-surface="admin-review"] .side.admin-right-inspector{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
}
body[data-cv-surface="admin-review"] .admin-left-rail .card,
body[data-cv-surface="admin-review"] .side.admin-right-inspector .card{
  border-radius:16px!important;
  padding:10px!important;
}
body[data-cv-surface="admin-review"] .admin-left-rail .list{
  max-height: min(42dvh, 360px)!important;
}
body[data-cv-surface="admin-review"] .stage-card{
  min-width:0!important;
  border-radius:22px!important;
  padding:10px!important;
}
body[data-cv-surface="admin-review"] .stage-head{
  gap:8px!important;
  align-items:center!important;
}
body[data-cv-surface="admin-review"] .stage-head .title{
  font-size: clamp(15px, 1.35vw, 19px)!important;
  margin:1px 0!important;
}
body[data-cv-surface="admin-review"] .stage-head .soft{
  display:none!important;
}
body[data-cv-surface="admin-review"] .legend{
  max-width:260px;
  justify-content:flex-end;
}
body[data-cv-surface="admin-review"] .svg-stage{
  border-radius:18px!important;
}
body[data-cv-surface="admin-review"] .page-svg{
  height:100%!important;
  width:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:var(--stage-ratio)!important;
  object-fit:contain!important;
}
body[data-cv-surface="admin-review"] .page-slider{
  min-height:72px!important;
  max-height:98px!important;
  padding:7px!important;
}
body[data-cv-surface="admin-review"] .page-slider-head{
  margin-bottom:4px!important;
}
body[data-cv-surface="admin-review"] .page-slider .legend{
  display:none!important;
}
body[data-cv-surface="admin-review"] .page-tile{
  flex-basis:52px!important;
  height:68px!important;
  border-radius:11px!important;
}
body[data-cv-surface="admin-review"] .readonly-grid{
  grid-template-columns:1fr!important;
}
body[data-cv-surface="admin-review"] textarea,
body[data-cv-surface="admin-review"] .jsonbox{
  min-height:54px!important;
}
body[data-cv-surface="admin-review"] .fast-card .hotkey-grid{
  max-height:120px;
  overflow:auto;
}
body[data-cv-surface="admin-review"] .admin-dock-toggle{
  position:fixed;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  z-index:60;
  min-height:32px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  padding:0 12px;
  color:var(--text,#f8f5ef);
  background:rgba(3,4,10,.78);
  box-shadow:0 14px 44px rgba(0,0,0,.38);
  backdrop-filter:blur(14px);
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
body[data-cv-surface="admin-review"] .admin-utility-dock{
  position:fixed;
  z-index:59;
  left:clamp(10px,1.4vw,18px);
  right:clamp(10px,1.4vw,18px);
  bottom:50px;
  max-height:min(46dvh,420px);
  overflow:auto;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:rgba(5,6,12,.94);
  box-shadow:0 30px 90px rgba(0,0,0,.56);
  backdrop-filter:blur(18px);
  padding:10px;
  display:none;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
}
body[data-cv-surface="admin-review"] .admin-utility-dock.open{
  display:grid;
}
body[data-cv-surface="admin-review"] .admin-utility-dock .card{
  max-height:340px;
  overflow:auto;
  border-radius:16px!important;
}
body[data-cv-surface="admin-review"] .admin-layout-marker{
  position:fixed;
  width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
}

@media(max-width:1280px){
  :root{--cv-admin-left: 230px; --cv-admin-right: 300px;}
  body[data-cv-surface="admin-review"] .bar-actions .chrome-link:not(.public-link){display:none!important;}
  body[data-cv-surface="admin-review"] .stage-head .kicker{display:none!important;}
}
@media(max-width:1080px){
  body[data-cv-surface="admin-review"]{overflow:auto!important;}
  body[data-cv-surface="admin-review"] #appRoot,
  body[data-cv-surface="admin-review"] .app{
    height:auto!important;
    min-height:100dvh!important;
    grid-template-rows:auto auto auto auto!important;
  }
  body[data-cv-surface="admin-review"] .main.admin-three-pane{
    grid-template-columns:1fr!important;
    overflow:visible!important;
  }
  body[data-cv-surface="admin-review"] .admin-left-rail,
  body[data-cv-surface="admin-review"] .side.admin-right-inspector{
    max-height:none!important;
    overflow:visible!important;
  }
  body[data-cv-surface="admin-review"] .admin-left-rail{order:2;}
  body[data-cv-surface="admin-review"] .stage-card{order:1;min-height:72dvh;}
  body[data-cv-surface="admin-review"] .side.admin-right-inspector{order:3;}
  body[data-cv-surface="admin-review"] .admin-utility-dock.open{grid-template-columns:1fr;}
}
