/* Layout additions for the unified data, API and correction workflow. */
.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:24px}
#detail-dialog{width:min(780px,calc(100vw - 24px));max-height:min(90vh,900px);overflow:auto}.document-layer{border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin:11px 0;background:var(--surface)}.document-layer summary{cursor:pointer;font-weight:750}.document-layer p{font-size:12px;margin:10px 0}.document-layer .detail-grid{margin:10px 0}.document-layer .table-scroll{margin-top:10px}.document-layer table{min-width:430px}
.flow-grid .card{display:flex;flex-direction:column;align-items:start}.flow-grid .card p{flex:1}.step{font:700 11px Inter,sans-serif;color:var(--accent);letter-spacing:.14em;margin-bottom:12px}
.section-gap{margin-top:20px}.report-list,.issue-list{display:grid}.report-row,.issue-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-top:1px solid var(--line)}.report-row:first-child,.issue-row:first-child{border-top:0}.report-row strong,.report-row small{display:block}.report-row small{color:var(--muted);font-size:11px}.report-row p,.issue-row p{font-size:12px;margin:4px 0 0}.report-row .status{flex:none}.issue-row h3{margin:2px 0}.issue-row>div:last-child{display:grid;justify-items:end;gap:5px}.issue-row .eyebrow{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em;font-size:10px;margin:0;color:var(--muted)}.filter-explain{align-self:center;color:var(--muted);font-size:12px;max-width:560px}.empty-inline{margin:18px 0}.tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:13px}.tabs button{border:1px solid var(--line);background:var(--surface-strong);color:var(--muted);padding:8px 12px;border-radius:9px}.tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.api-content{padding:20px 0 4px}.api-content p{max-width:780px}.api-content .check-list{margin:16px 0}.api-content code,.detail-grid code{font-family:ui-monospace,SFMono-Regular,monospace;color:var(--accent)}.mini-panel{display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-strong);margin:12px 0;color:var(--ink)}.mini-panel b{font-size:12px}.mini-panel span{font-size:12px;color:var(--muted)}.lineage{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:13px 0}.lineage span{font-size:11px;border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:5px 7px}.lineage b{color:var(--accent)}.dialog-shell h3{font-size:16px;margin:8px 0 0}.dialog-shell .dialog-actions{flex-wrap:wrap}.dialog-shell .split-note{margin:3px 0}.card .secondary{margin-top:5px}.card .upload-drop .primary{margin-top:0}
@media(max-width:1100px){.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.flow-grid{grid-template-columns:1fr}.report-row,.issue-row{display:grid}.issue-row>div:last-child{justify-items:start}.filter-explain{width:100%}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tabs button{min-width:0}.dialog-actions>*{width:100%}}

/* The pinned Lab pattern keeps its native honeycomb scale on every viewport. */
body{background:var(--pattern) left top/104px 90px repeat,var(--bg)}
.nav-backdrop{display:none}
:is(button,a,input,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
:is(.card,.mini-panel,.detail-grid div,.check-item){overflow-wrap:anywhere}
.status{white-space:normal;text-align:center}
.sidebar{overflow-y:auto}
.tabs [role="tab"]:focus-visible{position:relative;z-index:1}
.api-content[role="tabpanel"]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:720px){
  .nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:19;border:0;background:rgba(3,16,14,.58);padding:0}
  .page-head{flex-direction:column;align-items:stretch}
  .page-head .primary{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start}
  .check-item{grid-template-columns:22px minmax(0,1fr)}
  .check-item small{grid-column:2}
  .card-head{flex-wrap:wrap}
}
@media(max-width:420px){
  .topbar{gap:8px}
  .breadcrumbs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .breadcrumbs span{padding:0 3px}
  .mock-label{letter-spacing:0;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){.skeleton{animation:none}.sidebar{transition:none}}
