:root {
  color-scheme: dark;
  --ink: #0b0d10;
  --panel: #12151a;
  --panel-raised: #181c22;
  --line: #2b3038;
  --line-soft: #20252c;
  --ivory: #f5efe5;
  --muted: #aaa69f;
  --brass: #c8a363;
  --brass-soft: #8f7447;
  --good: #b8c8b3;
  --danger: #d7a69a;
  --sidebar: 17.5rem;
  --topbar: 4.5rem;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--ink);
  color: var(--ivory);
}

/* Owner-approved content review uses the platform's existing private gate. */
body[data-room-mode="owner-review"] #roomGate,
body[data-room-mode="owner-review"] .preview-controls,
body[data-room-mode="owner-review"] .summary-grid,
body[data-room-mode="owner-review"] .notice,
body[data-room-mode="owner-review"] .actual-empty,
body[data-room-mode="owner-review"] .boundary-grid,
body[data-room-mode="owner-review"] .local-demo { display:none !important; }
body[data-room-mode="owner-review"][data-room-state="locked"] [data-view-panel] { display:none !important; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .art-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .art-card:last-child { grid-column:auto;max-width:none; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .image-frame { aspect-ratio: 4/3; background:#141519; padding:0;min-height:0; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .image-frame img { position:absolute;inset:1.2rem 1.2rem 2.5rem;width:calc(100% - 2.4rem);height:calc(100% - 3.7rem);object-fit:contain;padding:0; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .image-frame .presentation-mark { position:absolute;bottom:.7rem;right:1.2rem;left:auto;top:auto;transform:none;white-space:nowrap;padding:0;background:transparent;border:0; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .art-copy { grid-template-columns:auto minmax(0,1fr); }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .art-title,body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .art-meta { overflow-wrap:anywhere; }
@media(max-width:1100px){body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .art-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .art-grid {grid-template-columns:minmax(0,1fr);}}
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .art-meta { font-size:.88rem;line-height:1.55; }
.collection-qualification,.review-limit { color:var(--muted);font-size:.88rem;line-height:1.6;margin:1.25rem 0; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .document-text { font-family:Georgia,'Times New Roman',serif;font-size:1.06rem;line-height:1.8;white-space:pre-wrap; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .status-row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2rem;align-items:start; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .status-row > div { display:block;min-width:0; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .status-row strong { display:block;font-size:1.15rem;line-height:1.4; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .status-row p { margin:.5rem 0 0;font-size:1rem;line-height:1.65;max-width:65ch;overflow-wrap:anywhere; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .status-row .status-pill { white-space:normal;max-width:11rem;line-height:1.5; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .viewer-details { overflow-y:auto;min-height:0; }
.photo-views { flex-wrap:wrap; }
.extra-photo-view { width:100%; }
.evidence-work-link { display:block;margin-top:.5rem;color:var(--brass);background:none;border:0;padding:.3rem 0;font:inherit;font-size:.875rem;text-align:left;cursor:pointer; }
.evidence-filters { display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 1.5rem; }
.evidence-filters button { font:inherit;font-size:.9rem;min-height:44px;padding:.6rem .9rem;background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer; }
.evidence-filters button[aria-pressed="true"] { color:var(--ivory);border-color:var(--brass-soft);background:#252018; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .file-cell { display:flex;gap:1.1rem;align-items:center;min-width:0; }
.evidence-file-copy { display:block;min-width:0;overflow-wrap:anywhere; }
.evidence-image-preview { padding:0;flex:0 0 88px;width:88px;height:94px;border:1px solid var(--line);background:#e8e4de;cursor:zoom-in; }
.evidence-thumbnail { display:block;width:100%;height:100%;object-fit:contain; }
.evidence-source-label { font-size:.8rem;color:var(--muted);line-height:1.5;margin-top:.35rem; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .evidence-row { gap:1.1rem; }
body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .evidence-row strong { line-height:1.5; }
@media(max-width:650px){body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .status-row {grid-template-columns:minmax(0,1fr);}body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .status-row .status-pill {justify-self:start;}body:is([data-room-mode="owner-review"],[data-room-mode="secure"]) .access-hero {grid-template-columns:minmax(0,1fr);} }

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--ink); scroll-behavior: smooth; }
body { margin: 0; min-width: 20rem; background: var(--ink); color: var(--ivory); }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }

.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 100; background: var(--ivory); color: var(--ink); padding: .75rem 1rem; }
.skip-link:focus { top: 1rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); grid-template-rows: var(--topbar) 1fr; }
.topbar { grid-column: 1 / -1; position: sticky; top: 0; z-index: 20; height: var(--topbar); display: flex; align-items: center; justify-content: space-between; padding: 0 1.75rem; background: rgba(11,13,16,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.brand { display: flex; align-items: center; gap: .9rem; }
.brand-mark { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 1px solid var(--brass-soft); color: var(--brass); font-family: Georgia, "Times New Roman", serif; font-size: .8rem; letter-spacing: .08em; }
.brand-name { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; letter-spacing: .05em; }
.owner-chip { display: flex; align-items: center; gap: .55rem; border: 1px solid var(--line); border-radius: 999px; padding: .55rem .8rem; color: var(--muted); font-size: .82rem; letter-spacing: .04em; }
.owner-dot { width: .45rem; height: .45rem; border-radius: 50%; background: var(--good); box-shadow: 0 0 0 .22rem rgba(184,200,179,.1); }
.menu-button { display: none; color: var(--ivory); background: transparent; border: 1px solid var(--line); padding: .55rem .75rem; }

.sidebar { position: sticky; top: var(--topbar); height: calc(100vh - var(--topbar)); display: flex; flex-direction: column; background: #0e1013; border-right: 1px solid var(--line); padding: 2rem 1.2rem 1.35rem; }
.sidebar-intro { padding: 0 .65rem 1.7rem; border-bottom: 1px solid var(--line-soft); }
.eyebrow { margin: 0 0 .65rem; color: var(--brass); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.sidebar-note { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.nav-list { display: grid; gap: .35rem; margin-top: 1.3rem; }
.nav-item { width: 100%; display: flex; justify-content: space-between; align-items: center; border: 1px solid transparent; background: transparent; color: var(--muted); padding: .9rem .8rem; text-align: left; cursor: pointer; border-radius: .25rem; }
.nav-item:hover { color: var(--ivory); background: var(--panel); }
.nav-item.is-active { color: var(--ivory); background: var(--panel-raised); border-color: var(--line); box-shadow: inset 2px 0 0 var(--brass); }
.nav-count { color: #777b82; font-size: .75rem; font-variant-numeric: tabular-nums; }
.sidebar-footer { margin-top: auto; padding: 1rem .65rem 0; border-top: 1px solid var(--line-soft); color: var(--muted); }
.sidebar-footer p { margin: .55rem 0 0; font-size: .8rem; line-height: 1.5; }
.lock-label { color: var(--ivory); font-size: .78rem; letter-spacing: .05em; }

.workspace { min-width: 0; padding: clamp(1.5rem, 4vw, 4.5rem); }
.view { max-width: 92rem; margin: 0 auto; }
.view[hidden] { display: none; }
.view-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.4rem, 5vw, 5.25rem); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.heading-note { max-width: 34rem; margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.55; text-align: right; }

.summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); margin: 1.5rem 0; }
.summary-card { display: flex; flex-direction: column; gap: .4rem; padding: 1.2rem 1.4rem; background: var(--panel); }
.summary-card + .summary-card { border-left: 1px solid var(--line); }
.summary-value { color: var(--ivory); font-family: Georgia, "Times New Roman", serif; font-size: 2rem; }
.summary-label { color: var(--muted); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }

.toolbar { display: flex; gap: .75rem; margin: 1.5rem 0; }
.search-field { flex: 1; }
.search-field input, .select-field select { width: 100%; min-height: 3rem; border: 1px solid var(--line); border-radius: .2rem; background: var(--panel); color: var(--ivory); padding: 0 1rem; }
.search-field input::placeholder { color: #777b82; }
.select-field { width: min(14rem, 36vw); }

.notice { display: grid; grid-template-columns: 11rem 1fr; gap: 1rem; align-items: start; border-left: 2px solid var(--brass); background: linear-gradient(90deg, rgba(200,163,99,.08), transparent); padding: 1rem 1.2rem; margin-bottom: 1.5rem; }
.notice-kicker { color: var(--brass); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.notice p { margin: 0; color: var(--muted); line-height: 1.55; }

.art-grid { display: grid; grid-template-columns: 1.15fr .85fr 1fr; gap: 1rem; align-items: start; }
.art-card { min-width: 0; }
.art-card[hidden] { display: none; }
.art-open { width: 100%; display: block; border: 0; background: transparent; color: inherit; padding: 0; text-align: left; cursor: zoom-in; }
.image-frame { position: relative; display: block; overflow: hidden; background: var(--panel-raised); border: 1px solid var(--line); }
.image-frame-landscape { aspect-ratio: 1.18; }
.image-frame-square { aspect-ratio: .95; }
.image-frame-wide { aspect-ratio: 1.08; }
.image-frame img { width: 100%; height: 100%; object-fit: contain; padding: 1rem; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.art-open:hover img, .art-open:focus-visible img { transform: scale(1.035); }
.sample-flag { position: absolute; left: .75rem; top: .75rem; background: rgba(11,13,16,.88); border: 1px solid rgba(245,239,229,.24); color: var(--ivory); padding: .38rem .52rem; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.art-copy { display: grid; grid-template-columns: auto 1fr; gap: .35rem 1rem; align-items: baseline; padding: 1rem .15rem 1.2rem; }
.art-number { grid-row: span 2; color: var(--brass); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.art-title { font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.art-meta { color: var(--muted); font-size: .86rem; }
.art-summary { border-top: 1px solid var(--line); padding: 1rem .15rem 1.3rem; }
.art-summary-label { display:block;color:var(--brass);font-size:.69rem;letter-spacing:.13em;text-transform:uppercase; }
.art-summary-text { margin:.6rem 0;color:var(--muted);font-size:.92rem;line-height:1.65; }
.art-summary-sources { display:block;color:#8e8a82;font-size:.76rem;line-height:1.45; }
.art-evidence { margin-top:.85rem;min-height:2.75rem;padding:.65rem .9rem;border:1px solid var(--brass-soft);background:transparent;color:var(--brass);cursor:pointer; }
.art-evidence:hover,.art-evidence:focus-visible { border-color:var(--brass);background:var(--panel-raised); }
.evidence-focus { display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:.8rem 1rem;border-left:2px solid var(--brass);background:var(--panel);color:var(--ivory); }
.evidence-focus button { min-height:2.75rem;padding:.55rem .8rem;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer; }

.actual-empty { display: grid; grid-template-columns: minmax(15rem, .75fr) 1.25fr; gap: 3rem; align-items: center; margin-top: 2.5rem; padding: 2rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.actual-empty h2, .empty-state h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.actual-empty > p { margin: 0; color: var(--muted); line-height: 1.7; }
.empty-state { padding: 4rem 1rem; text-align: center; border: 1px solid var(--line); }
.empty-state p:last-child { color: var(--muted); }

.evidence-table { border: 1px solid var(--line); background: var(--panel); }
.evidence-header, .evidence-row { display: grid; grid-template-columns: minmax(14rem, 2fr) minmax(8rem, 1fr) minmax(7rem, .8fr) minmax(10rem, auto); gap: 1rem; align-items: center; padding: 1rem 1.15rem; }
.evidence-header { color: #83878e; background: #0f1115; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.evidence-row { min-height: 5.5rem; border-top: 1px solid var(--line); }
.evidence-row[hidden] { display: none; }
.evidence-row.is-held { background: rgba(255,255,255,.012); }
.file-cell { display: flex; flex-direction: column; gap: .35rem; }
.file-cell strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; font-weight: 400; }
.file-cell small { color: var(--muted); font-size: .75rem; }
.scope-badge, .status-pill { display: inline-flex; align-items: center; width: fit-content; border: 1px solid var(--brass-soft); color: var(--brass); padding: .36rem .55rem; border-radius: 999px; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.scope-held { border-color: var(--line); color: var(--muted); }
.state-text { color: var(--muted); font-size: .86rem; }
.held-button, .disabled-actions button { border: 1px solid var(--line); color: #777b82; background: #101216; padding: .65rem .8rem; cursor: not-allowed; }
.boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
.boundary-grid article { border: 1px solid var(--line); background: var(--panel); padding: 1.2rem; }
.boundary-grid span { color: var(--brass); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.boundary-grid strong { display: block; margin: .7rem 0 .4rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; font-weight: 400; }
.boundary-grid p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.55; }

.access-hero { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; align-items: center; margin: 1.5rem 0; padding: 1.6rem; border: 1px solid var(--line); background: radial-gradient(circle at 0 50%, rgba(200,163,99,.13), transparent 36%), var(--panel); }
.access-seal { display: grid; place-items: center; width: 5.2rem; aspect-ratio: 1; border: 1px solid var(--brass); border-radius: 50%; color: var(--brass); font-family: Georgia, "Times New Roman", serif; letter-spacing: .12em; }
.access-hero h2 { margin: .75rem 0 .45rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.45rem, 3vw, 2.25rem); font-weight: 400; }
.access-hero p { max-width: 55rem; margin: 0; color: var(--muted); line-height: 1.6; }
.status-ready { border-color: #73816e; color: var(--good); }
.status-held { border-color: var(--line); color: var(--muted); }
.status-list { border: 1px solid var(--line); }
.status-row { display: flex; justify-content: space-between; gap: 2rem; align-items: center; min-height: 6rem; padding: 1rem 1.2rem; background: var(--panel); }
.status-row + .status-row { border-top: 1px solid var(--line); }
.status-row > div { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .25rem .8rem; }
.status-index { grid-row: span 2; color: var(--brass); font-size: .75rem; }
.status-row strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.06rem; font-weight: 400; }
.status-row p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.disabled-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }

.viewer { position: fixed; inset: 0; z-index: 80; display: grid; grid-template-rows: auto 1fr; background: rgba(5,6,8,.985); }
.viewer[hidden] { display: none; }
.viewer-topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.2rem; border-bottom: 1px solid var(--line); background: var(--ink); }
.viewer-kicker { color: var(--brass); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.viewer-topbar h2 { margin: .25rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 400; }
.viewer-actions { display: flex; align-items: center; gap: .45rem; }
.viewer-actions button { min-height: 2.5rem; border: 1px solid var(--line); background: var(--panel); color: var(--ivory); padding: 0 .8rem; cursor: pointer; }
.viewer-actions button:hover { border-color: var(--brass-soft); }
#zoomValue { min-width: 3.7rem; text-align: center; color: var(--muted); font-size: .78rem; }
.viewer-body { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 19rem; }
.viewer-stage { min-width: 0; min-height: 0; position: relative; display: grid; place-items: center; overflow: hidden; cursor: grab; background-color: #08090b; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 2rem 2rem; touch-action: none; }
.viewer-stage.is-dragging { cursor: grabbing; }
.viewer-stage img { max-width: 82%; max-height: 82%; object-fit: contain; user-select: none; transform-origin: center; will-change: transform; box-shadow: 0 2rem 6rem rgba(0,0,0,.58); }
.viewer-details { border-left: 1px solid var(--line); background: var(--panel); padding: 1.5rem; overflow-y: auto; }
.viewer-details h3 { margin: 0 0 .4rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; font-weight: 400; }
.viewer-details > p:not(.eyebrow):not(.viewer-help) { margin: 0; color: var(--muted); }
.viewer-details dl { margin: 2rem 0; }
.viewer-details dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-top: 1px solid var(--line); }
.viewer-details dl div:last-child { border-bottom: 1px solid var(--line); }
.viewer-details dt { color: var(--muted); font-size: .78rem; }
.viewer-details dd { margin: 0; text-align: right; font-size: .78rem; }
.viewer-details a { color: var(--brass); text-underline-offset: .25rem; }
.photo-views { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin-top: 1.5rem; }
.photo-views[hidden], .photo-view-note[hidden] { display: none; }
.photo-views button { min-height: 2.75rem; padding: .6rem .5rem; border: 1px solid var(--line); background: var(--ink); color: var(--ivory); font: inherit; font-size: .875rem; cursor: pointer; }
.photo-views button[aria-pressed="true"] { border-color: var(--brass); background: var(--panel); color: var(--brass); }
.photo-views button:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
.viewer-details > .photo-view-note { margin-top: .8rem; font-size: .875rem; line-height: 1.5; color: var(--muted); }
.viewer-help { margin-top: 2rem; color: #83878e; font-size: .8rem; line-height: 1.55; }

@media (max-width: 68rem) {
  :root { --sidebar: 14rem; }
  .art-grid { grid-template-columns: repeat(2, 1fr); }
  .art-card:last-child { grid-column: 1 / -1; max-width: 60%; }
  .evidence-header, .evidence-row { grid-template-columns: minmax(10rem, 1.5fr) minmax(7rem, 1fr) minmax(6rem, .8fr) minmax(9rem, 1fr); gap: .65rem; padding-inline: .85rem; }
}

@media (max-width: 48rem) {
  .shell { display: block; }
  .topbar { padding: 0 1rem; }
  .menu-button { display: inline-flex; }
  .brand-name { display: none; }
  .sidebar { position: fixed; inset: var(--topbar) auto 0 0; z-index: 30; width: min(19rem, 86vw); height: auto; transform: translateX(-102%); transition: transform .25s ease; box-shadow: 1.5rem 0 3rem rgba(0,0,0,.45); }
  .sidebar.is-open { transform: translateX(0); }
  .workspace { padding: 1.5rem 1rem 3rem; }
  .view-heading { display: block; }
  .heading-note { margin-top: 1rem; text-align: left; }
  .summary-grid { grid-template-columns: 1fr; }
  .summary-card + .summary-card { border-left: 0; border-top: 1px solid var(--line); }
  .toolbar { flex-direction: column; }
  .select-field { width: 100%; }
  .notice { grid-template-columns: 1fr; }
  .art-grid { grid-template-columns: 1fr; }
  .art-card:last-child { grid-column: auto; max-width: none; }
  .actual-empty { grid-template-columns: 1fr; gap: 1rem; }
  .evidence-header { display: none; }
  .evidence-row { grid-template-columns: 1fr auto; gap: .7rem; }
  .evidence-row > :nth-child(3) { grid-column: 1 / -1; }
  .evidence-row > :last-child { grid-column: 1 / -1; }
  .boundary-grid { grid-template-columns: 1fr; }
  .access-hero { grid-template-columns: 1fr; }
  .status-row { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .viewer-topbar { align-items: flex-start; flex-direction: column; }
  .viewer-actions { width: 100%; flex-wrap: wrap; }
  .viewer-body { grid-template-columns: 1fr; grid-template-rows: minmax(50vh, 1fr) auto; overflow-y: auto; }
  .viewer-stage { min-height: 50vh; }
  .viewer-details { border-left: 0; border-top: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.preview-controls { max-width: 92rem; margin: 0 auto 2rem; padding: 1rem 1.2rem; border: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; background: var(--panel); }
.preview-controls p { margin: .3rem 0 0; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.preview-controls label { display: grid; gap: .4rem; font-size: .875rem; flex: 0 1 17rem; }
.preview-controls select { color: var(--ivory); background: var(--ink); border: 1px solid var(--line); padding: .7rem; font: inherit; width: 100%; }
.entry-steps { list-style: none; margin: 1.6rem 0 2rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); }
.entry-steps li { padding: 1.2rem; background: var(--panel); }
.entry-steps li + li { border-left: 1px solid var(--line); }
.entry-steps span { color: var(--brass); font-size: .875rem; display: block; margin-bottom: .8rem; }
.entry-steps strong { font-size: 1rem; }
.entry-steps p { color: var(--muted); line-height: 1.6; margin: .45rem 0 0; }
.agreement-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 1.5rem; }
.agreement-paper, .signature-panel { padding: clamp(1.25rem, 2.5vw, 2.5rem); border: 1px solid var(--line); }
.agreement-paper { background: var(--ivory); color: var(--ink); border-top: 3px solid var(--brass); }
.agreement-paper .eyebrow { color: #755521; }
.agreement-paper .status-pill { border-color: #918878; color: #534d44; }
.agreement-paper h2, .signature-panel h2 { font: 400 clamp(1.6rem, 2.7vw, 2.5rem)/1.15 Georgia, serif; margin: 0 0 1.2rem; }
.agreement-paper p, .signature-panel p { line-height: 1.7; }
.agreement-facts { margin: 2rem 0; }
.agreement-facts div { padding: .9rem 0; border-top: 1px solid #cfc5b4; }
.agreement-facts dt { color: #5c5449; font-size: .875rem; margin-bottom: .4rem; }
.agreement-facts dd { margin: 0; overflow-wrap: anywhere; }
.agreement-note { border-top: 1px solid #cfc5b4; padding-top: 1rem; }
.signature-panel { background: var(--panel); }
.signature-panel > p { color: var(--muted); }
.signature-panel > label { display: grid; gap: .5rem; margin: 1.2rem 0; font-size: .875rem; }
.signature-panel > label span { color: var(--muted); }
.signature-panel input[type="text"] { padding: .8rem; min-width: 0; width: 100%; color: var(--ivory); border: 1px solid var(--line); background: var(--ink); font: inherit; font-size: 1rem; }
.signature-statement { border-left: 2px solid var(--brass); padding: .8rem 1rem; background: #0e1013; overflow-wrap: anywhere; }
.signature-panel fieldset { border: 1px solid var(--line); padding: 1rem; margin: 1.4rem 0 0; min-width: 0; }
.signature-panel legend { color: var(--brass); font-size: .875rem; padding: 0 .4rem; }
.consent-row { display: grid; grid-template-columns: auto 1fr; gap: .7rem; line-height: 1.6; margin-bottom: 1rem; }
.consent-row input { margin-top: .35rem; width: 1.1rem; height: 1.1rem; }
.primary-button { border: 1px solid var(--brass); padding: .9rem; background: var(--brass); color: var(--ink); width: 100%; font-weight: 600; }
.primary-button:disabled { opacity: .6; cursor: not-allowed; }
.signature-footnote { font-size: .875rem; }
@media (max-width: 68rem) { .agreement-layout { grid-template-columns: 1fr; } .entry-steps { grid-template-columns: 1fr 1fr; } .entry-steps li:nth-child(3) { border-left: 0; } .entry-steps li:nth-child(n+3) { border-top: 1px solid var(--line); } }
@media (max-width: 48rem) { .preview-controls { align-items: stretch; flex-direction: column; } .preview-controls label { flex-basis: auto; } .entry-steps { grid-template-columns: 1fr; } .entry-steps li + li { border-left: 0; border-top: 1px solid var(--line); } }

/* Readable working surface, including text enlargement. */
.eyebrow, .notice-kicker, .sample-flag, .art-number, .evidence-header,
.boundary-grid span, .viewer-kicker { font-size: .75rem; }
.owner-chip, .summary-label, .lock-label, .scope-badge, .status-pill,
.state-text, .art-meta, .viewer-details dt, .viewer-details dd, #zoomValue { font-size: .875rem; }
.sidebar-note, .sidebar-footer p, .heading-note, .boundary-grid p, .status-row p, .viewer-help { font-size: 1rem; }
.viewer-actions button { min-width: 2.75rem; min-height: 2.75rem; }
.view-heading { padding-bottom: 1.25rem; }
h1 { font-size: clamp(2.4rem, 4vw, 3.8rem); line-height: 1.1; }
.summary-grid { margin: 1rem 0; }
.summary-card { flex-direction: row; align-items: center; gap: 1rem; padding: .75rem 1rem; }
.notice { grid-template-columns: 1fr; gap: .35rem; padding: .7rem 1rem; }
.art-grid { gap: 1.4rem; }
.image-frame { background: #08090b; }
.art-copy { display: flex; flex-direction: column; gap: .4rem; }
.art-title { line-height: 1.3; }
@media (max-width: 48rem) {
  .summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .summary-card { flex-direction: column; align-items: flex-start; gap: .25rem; padding: .6rem; }
  .summary-card + .summary-card { border-top: 0; border-left: 1px solid var(--line); }
  .summary-label { font-size: .875rem; text-transform: none; letter-spacing: 0; }
}

/* Presentation-only branding: separate from the pixels and inspection area.
   This is not a personalized forensic watermark or an access-control layer. */
.image-frame { display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.image-frame img { min-height: 0; }
.presentation-mark { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; margin: 0 1rem .75rem; color: #aa9371; font: 400 .6875rem/1.4 Georgia, "Times New Roman", serif; letter-spacing: .19em; text-transform: uppercase; opacity: .72; }
.presentation-monogram { font: 400 1.15rem/1 Georgia, "Times New Roman", serif; letter-spacing: -.09em; border-right: 1px solid currentColor; padding-right: .65rem; }
.viewer-viewport { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 0; min-width: 0; }
.viewer-imprint { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .6rem 1rem; padding: .85rem 1.25rem; background: #08090b; border-top: 1px solid var(--line-soft); }
.viewer-imprint .presentation-mark { margin: 0; justify-content: flex-start; }
.imprint-note { color: var(--muted); font-size: .75rem; }
.document-imprint { display: flex; align-items: center; gap: .8rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #cfc5b4; color: #87765a; font: 400 .75rem/1.5 Georgia, "Times New Roman", serif; letter-spacing: .16em; text-transform: uppercase; }
.document-imprint small { display: block; margin-top: .3rem; font: 400 .625rem/1.5 system-ui, sans-serif; letter-spacing: .08em; }

/* One local fictional document, using the existing private-showing surface. */
.local-demo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, 17rem); gap: 1.5rem; align-items: center; margin-top: 1.5rem; padding: 1.15rem 1.25rem; border: 1px solid var(--brass-soft); background: var(--panel); }
.local-demo p { margin: .3rem 0; line-height: 1.6; color: var(--muted); }
.local-demo .eyebrow { color: var(--brass); }
.local-demo .demo-status { color: var(--ivory); font-size: .875rem; }
.local-demo label { display: grid; gap: .5rem; font-size: .875rem; }
.local-demo select { min-width: 0; width: 100%; padding: .75rem; border: 1px solid var(--line); background: var(--ink); color: var(--ivory); }
.document-open { border: 1px solid var(--brass-soft); background: transparent; color: var(--brass); padding: .7rem .9rem; min-height: 2.75rem; cursor: pointer; font-size: .875rem; }
.document-open:hover:not(:disabled) { border-color: var(--brass); background: var(--panel-raised); }
.document-open:disabled, .viewer-actions button:disabled { color: var(--muted); border-color: var(--line); cursor: not-allowed; opacity: .7; }
.image-controls { display: flex; align-items: center; gap: .45rem; }
.viewer-actions .save-copy { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .65rem .9rem; border: 1px solid var(--brass-soft); background: var(--panel); color: var(--brass); font-size: 1rem; text-decoration: none; }
.viewer-actions .save-copy:hover { border-color: var(--brass); background: var(--panel-raised); }
.viewer-stage.is-document { display: block; overflow: auto; cursor: auto; touch-action: auto; background-image: none; padding: clamp(1rem, 3vw, 3rem); }
.viewer-document { max-width: 48rem; min-height: 75%; margin: 0 auto; padding: clamp(1.3rem, 4vw, 3.5rem); background: var(--ivory); color: var(--ink); border-top: 3px solid var(--brass); box-shadow: 0 1.5rem 4rem rgba(0,0,0,.25); }
.document-status { margin: 0; font-size: 1rem; line-height: 1.7; color: #5c5449; }
.document-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: 400 1.125rem/1.85 Georgia, "Times New Roman", serif; }
@media (max-width: 68rem) and (min-width: 48.01rem) {
  .evidence-header { display: none; }
  .evidence-row { grid-template-columns: minmax(0, 1fr) auto; }
  .evidence-row > :last-child { justify-self: end; }
}
@media (max-width: 48rem) {
  .local-demo { grid-template-columns: 1fr; gap: 1rem; }
  .document-open { width: 100%; }
  .image-controls { flex-wrap: wrap; }
}
@media (max-width: 48rem) {
  .viewer-body { grid-template-rows: auto auto; }
  .viewer-viewport { height: 65vh; min-height: 55vh; }
  .viewer-stage { min-height: 0; }
  .viewer-details { overflow-y: visible; }
}
/* The owner-review build never renders the old sample workspace as real data. */
body[data-room-mode="secure"] .preview-controls,
body[data-room-mode="secure"] .summary-grid,
body[data-room-mode="secure"] #collectionView > .notice,
body[data-room-mode="secure"] .actual-empty,
body[data-room-mode="secure"] #ownerAccess,
body[data-room-mode="secure"] [data-reviewer-only],
body[data-room-mode="secure"] #agreementView,
body[data-room-mode="secure"] #evidenceView .boundary-grid,
body[data-room-mode="secure"] .local-demo { display: none !important; }
body[data-room-state="locked"] [data-view-panel] { display: none !important; }
.room-gate { max-width: 1040px; min-height: 70vh; margin: 2rem auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items: start; }
.gate-heading { padding: 3rem 0; }
.gate-heading h1 { font: normal clamp(2.8rem, 4vw, 4.5rem)/1.07 Georgia, serif; letter-spacing: -.035em; margin: 1.5rem 0; color: #efe9df; }
.gate-heading > p:last-child { max-width: 31rem; font-size: 1.0625rem; line-height: 1.8; color: #b5b0a8; }
.gate-card { padding: 2rem; border: 1px solid #3a332b; background: #111417; border-top: 2px solid #a88753; }
.gate-card h2 { font: normal 1.75rem/1.25 Georgia, serif; margin: .5rem 0 1.8rem; color: #efe9df; }
.verification-steps { display: flex; padding: 0; margin: 0 0 1.75rem; gap: .7rem; list-style: none; counter-reset: verification; }
.verification-steps li { flex: 1; font-size: .875rem; color: #b2b0ac; padding: .6rem 0; border-bottom: 1px solid #4d4941; counter-increment: verification; }
.verification-steps li::before { content: counter(verification) " "; color: #c8a363; }
.verification-steps li[data-complete="true"] { color: #eee6d8; border-color: #c8a363; }
.room-status { min-height: 3rem; font-size: 1rem; line-height: 1.65; color: #d2cdc3; }
.gate-card form { margin: 1.5rem 0; }
.gate-card label { display: block; margin: 1rem 0 .5rem; font-size: .9375rem; color: #e1dace; }
.gate-card input, .gate-card select { width: 100%; box-sizing: border-box; padding: .85rem; border: 1px solid #55504a; border-radius: 3px; background: #090c0f; color: #f5eee5; font: inherit; font-size: 1rem; }
.room-primary, .room-secondary { min-height: 44px; padding: .8rem 1rem; font: inherit; font-size: .9375rem; cursor: pointer; }
.room-primary { width: 100%; margin-top: 1rem; background: #c8a363; color: #121212; border: 1px solid #c8a363; }
.room-secondary { color: #d6bb90; background: transparent; border: 1px solid #62513c; }
.room-primary:disabled, .room-secondary:disabled { cursor: wait; opacity: .55; }
.gate-card :focus-visible { outline: 2px solid #e6c998; outline-offset: 3px; }
.gate-footnote { font-size: .875rem; line-height: 1.7; color: #9f9b94; margin: 1.5rem 0 0; }
.gate-ownership { grid-column: 1/-1; margin-top: -2rem; font-size: .875rem; color: #9f9b94; }
#roomQr { display: block; margin: 1rem auto; background: #fff; max-width: 100%; height: auto; }
#roomManualKey { display: block; padding: 1rem 0; overflow-wrap: anywhere; color: #e6c998; }
.protected-card-image { min-height: 18rem; position: relative; padding-bottom: 2.4rem; }
.protected-card-image img { object-fit: contain !important; }
.photo-loading { padding: 2rem; color: #b5afa4; font-size: .9375rem; text-align: center; }
.art-meta { white-space: normal; line-height: 1.5; }
@media (max-width: 1050px) { .room-gate { gap: 2rem; } .gate-heading h1 { font-size: 3rem; } }
@media (max-width: 800px) { .room-gate { grid-template-columns: 1fr; margin: 0; gap: 1.5rem; } .gate-heading { padding: .5rem 0; } .gate-heading h1 { font-size: 2.8rem; } .gate-card { padding: 1.5rem; } .gate-ownership { margin-top: 0; } }
.idle-warning{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10000;max-width:calc(100vw - 40px);width:560px;padding:18px 24px;border:1px solid #b28d50;border-radius:10px;background:#211d18;color:#fff8e9;box-shadow:0 8px 36px #0008;font:500 15px/1.5 sans-serif}.idle-warning[hidden]{display:none}
.nda-panel{max-width:920px;margin:24px auto;padding:24px;background:#12151a;color:#d1d5db;border:1px solid #b6a98e;border-radius:12px}.nda-text{color:#d1d5db;white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.7 Georgia,serif;max-height:55vh;overflow:auto;padding:16px;border:1px solid #b6a98e}.nda-panel h2,.nda-panel p,.nda-panel label{color:#d1d5db}.nda-panel button{margin:12px 12px 12px 0}.nda-panel label{display:block;margin:16px 0}.nda-panel input[type=text]{display:block;width:100%;padding:12px;color:#e5e7eb;background:#252a32;border:1px solid #89919e;border-radius:4px}
.admin-panel{color:#d1d5db;padding:24px}.admin-audit{border:1px solid #89919e;border-radius:8px;padding:20px;margin-top:24px}.admin-audit summary{cursor:pointer;font-size:1.15rem}.admin-audit li{padding:12px 0;border-bottom:1px solid #444}.admin-audit p{color:#d1d5db;overflow-wrap:anywhere}.admin-audit button{margin:12px 12px 12px 0;padding:10px 16px}
.room-footer{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:64px;padding:32px 0 20px;border-top:1px solid #3a3f47;color:#b7bec8}.room-footer a{display:block;width:fit-content;color:#d1d5db;margin:12px 0;text-underline-offset:4px}.room-footer a:hover{color:#fff}.room-footer .footer-note{font-size:.875rem;max-width:34ch;line-height:1.6}@media(max-width:640px){.room-footer{grid-template-columns:1fr;gap:20px}}
.invitation-form {display:grid;gap:1rem;max-width:52rem;color:#d0d2d6;}
.invitation-form label {display:grid;gap:.5rem;font-size:1rem;}
.invitation-form input:not([type=checkbox]),.invitation-form select {width:100%;padding:.75rem;background:#171b21;color:#dedfe2;border:1px solid #535963;border-radius:6px;font:inherit;}
.invitation-form label:has(input[type=checkbox]) {display:flex;align-items:flex-start;gap:.75rem;}
.invitation-form input[type=checkbox] {width:1.1rem;height:1.1rem;flex-shrink:0;accent-color:#c8a363;}
.invitation-choices {display:grid;gap:1rem;}
.invitation-choices details {border:1px solid #444a54;padding:1rem;}
.invitation-choices label {margin:.75rem 0;}
.reviewer-access-card {border-top:1px solid #444a54;padding:1rem 0;}
.room-footer{grid-template-columns:minmax(220px,1fr) auto;align-items:start;gap:24px 48px;padding:40px 0 24px}.room-footer .footer-brand{display:flex;align-items:center;gap:14px;text-decoration:none;margin:0}.room-footer .brand-name{display:inline;color:#dedbd4}.room-footer .brand-mark{flex-shrink:0}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px 28px;max-width:550px}.room-footer .footer-links a{margin:0;font-size:.95rem;text-decoration:none;line-height:1.8}.room-footer .footer-links a:hover{text-decoration:underline}.footer-caption{grid-column:1/-1;margin:0;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#89919e}.information-page{min-height:100vh;padding:0 clamp(24px,6vw,96px);display:flex;flex-direction:column}.information-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1200px;width:100%;margin:0 auto;padding:30px 0;border-bottom:1px solid #3a3f47}.information-header a{color:#d1d5db;text-underline-offset:4px}.information-header .brand{text-decoration:none}.information-content{width:100%;max-width:780px;margin:64px auto 48px;line-height:1.8;color:#cbd0d8;font-size:1rem;flex:1}.information-content h1{font-family:Georgia,serif;color:#eee8df;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:400;line-height:1.2;margin:12px 0 32px}.information-content h2{font-family:Georgia,serif;color:#e1ddd5;font-size:1.4rem;font-weight:400;margin:36px 0 12px}.information-content a{color:#ddc392;text-underline-offset:4px}.information-content p{margin:16px 0}.information-content blockquote{margin:24px 0;padding:4px 24px;border-left:2px solid #9b8256}.information-page>.room-footer{max-width:1200px;width:100%;margin:32px auto 0}.policy-crosslink{border-top:1px solid #3a3f47;padding-top:24px}@media(max-width:720px){.room-footer{grid-template-columns:1fr;gap:24px}.footer-links{justify-content:flex-start;gap:12px 24px}.information-header{align-items:flex-start;flex-direction:column}.information-page .brand-name{display:inline}.information-content{margin-top:40px}}

/* Give embedded reading copies the full document stage instead of iframe intrinsic width. */
.viewer-document:has(#protectedReading) { width: 100%; max-width: 64rem; box-sizing: border-box; padding: 1rem; }
.room-tour{position:fixed;inset:auto 24px 24px auto;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:0;padding:26px;border:1px solid #bda369;border-radius:12px;background:#191b1c;color:#ddd;box-shadow:0 18px 65px #000a}
.room-tour::backdrop{background:#0007}
.room-tour h2{font-size:24px;line-height:1.2;color:#eee;margin:8px 0 14px}
.room-tour p{line-height:1.65}.tour-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}
.tour-controls button,.tour-replay{padding:10px 14px;color:#ddd;background:#242728;border:1px solid #555;border-radius:5px;cursor:pointer}
.tour-controls button:disabled{opacity:.4;cursor:default}.tour-highlight{outline:3px solid #d6b56b!important;outline-offset:5px}
.tour-replay{margin-top:16px;width:100%;text-align:left}.evidence-file-copy{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}
.evidence-file-copy strong{display:block;line-height:1.4}.evidence-enclosure-id{font-family:monospace;color:#c9b583}
.evidence-source-label{line-height:1.5}.admin-audit pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:12px}
.evidence-description{color:var(--muted);line-height:1.6}
.maria-gallery-intro{padding:1.1rem 1.25rem;margin:0 0 1rem;border:1px solid var(--line);border-left:3px solid var(--brass-soft);background:var(--panel)}
.maria-gallery-intro[hidden]{display:none}
.maria-gallery-intro h2{margin:0 0 .35rem;font-size:1.25rem;line-height:1.35;color:var(--ivory)}
.maria-gallery-intro p{margin:0;color:var(--muted);font-size:1rem;line-height:1.55}
.evidence-references{margin-top:.35rem;font-size:.85rem}
.evidence-references summary,.evidence-attached-sources>summary{color:var(--brass);cursor:pointer;line-height:1.6}
.evidence-attached-sources{grid-column:1/-1;border-top:1px solid var(--line);padding-top:.65rem;min-width:0}
.evidence-attached-sources>.evidence-row{border:0;padding:.8rem 0 0}
.invitation-choices .invitation-source-options{margin:0 0 1rem 1.4rem;padding:.6rem .8rem;border-color:#444a54;font-size:.9rem}
.nda-text p{white-space:pre-wrap;line-height:1.65}.nda-text h3{color:#eee;font-size:17px;margin:24px 0 10px}
@media(max-width:600px){.room-tour{inset:auto 16px 16px 16px;padding:20px}.evidence-row{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.evidence-table-head{display:none}.evidence-row .scope-badge,.evidence-row .state-text{justify-self:start}}
