@font-face{
  font-family:"Archivo Expanded";
  src:url("fonts/semper-archivo-expanded-latin-variable.woff2") format("woff2");
  font-weight:100 900;
  font-stretch:100% 125%;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"IBM Plex Sans";
  src:url("fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"IBM Plex Sans";
  src:url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"IBM Plex Mono";
  src:url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --navy:#151B2D; --navy-rgb:21,27,45; --navy-raised:#1E2642;
  --brand-red:#E63946; --brand-red-rgb:230,57,70; --brand-cyan:#22D3EE; --brand-cyan-rgb:34,211,238;
  --canvas-rgb:242,242,242; --ink-faint-rgb:86,97,116; --struct-rgb:0,107,120;
  --canvas:#F2F2F2; --panel:#FFFFFF; --ink:#151B2D; --ink-soft:#465064; --ink-faint:#566174;
  --rule:#E1E5EB; --rule-strong:#BBC4D0;
  --text-axis:#A71930; --text-axis-soft:#FBE9EC;
  --struct-axis:#006B78; --struct-axis-soft:#DDF8FC; --struct-ink:#006B78;
  --status-pass:#1D704D; --status-pass-rgb:29,112,77; --status-pass-soft:#DFEFE6;
  --status-warning:#8A5710; --status-warning-rgb:138,87,16; --status-warning-soft:#FFF4D6;
  --status-failure:#8B2635; --status-failure-rgb:139,38,53; --status-failure-soft:#F8E9EC;
  --status-blocker:#5C1527; --status-blocker-rgb:92,21,39; --status-blocker-soft:#F3E7EA;
  --pos:var(--status-pass); --pos-soft:var(--status-pass-soft);
  --neg:var(--status-blocker); --warn:var(--status-warning); --warn-ink:var(--status-warning);
  /* Severity is a status, never the brand accent. Red marks selection only. */
  --sev-blocker:var(--status-blocker); --sev-major:var(--status-failure); --sev-minor:var(--status-warning); --sev-review:var(--struct-axis);
  --on-navy:#FFFFFF; --on-navy-soft:#D8DFEA; --on-navy-faint:#A9B3C2;
  --action:var(--brand-red); --action-soft:#FBE9EC; --action-ink:#A71930; --action-press:#851629;
  --shadow:0 1px 0 rgba(21,27,45,.03),0 18px 44px rgba(21,27,45,.10);
  --shadow-overlay:0 28px 90px rgba(21,27,45,.28);
  --font-ui:"IBM Plex Sans",Avenir Next,Segoe UI,sans-serif;
  --font-display:"Archivo Expanded","IBM Plex Sans",Avenir Next,Segoe UI,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:var(--canvas)}
body{
  min-height:100vh;
  color:var(--ink);
  font-family:var(--font-ui);
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  background:var(--canvas);
}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-faint);
  font-weight:560;
}
.wrap{max-width:1210px;margin:0 auto;padding:0 30px}

/* header */
header.app{
  border-bottom:1px solid var(--rule-strong);
  background:var(--panel);
  position:sticky;
  top:0;
  z-index:30;
  box-shadow:0 1px 0 rgba(255,255,255,.74) inset;
}
.app-bar{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:flex;align-items:baseline;gap:13px}
.brand .mark{
  font-family:var(--font-display);
  font-weight:760;
  font-stretch:122%;
  font-size:20px;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.brand .by{
  font-family:var(--font-mono);
  font-size:10px;
  color:var(--ink-faint);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.brand .dot{
  width:8px;
  height:8px;
  border-radius:1px;
  background:var(--struct-axis);
  display:inline-block;
  position:relative;
  top:-3px;
  margin-right:6px;
  box-shadow:10px 0 0 var(--text-axis),20px 0 0 var(--rule-strong);
}
.head-right{display:flex;align-items:center;gap:12px}
.src-pill{
  display:flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--ink-soft);
  background:rgba(var(--canvas-rgb),.76);
  border:1px solid var(--rule-strong);
  padding:7px 11px;
  border-radius:0;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  text-transform:uppercase;
  letter-spacing:.08em;
  /* Stay one line: a wrapping pill grows taller than the fixed-height topbar
     and overflows above it, clipping over the adjacent controls. */
  white-space:nowrap;
  flex:0 1 auto;
  min-width:0;
}
.src-pill #srcText{overflow:hidden;text-overflow:ellipsis}
.src-pill .led{
  flex:none;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ink-faint);
  box-shadow:0 0 0 1px var(--panel),0 0 0 3px rgba(var(--ink-faint-rgb),.2);
}
.src-pill.live .led{background:var(--pos);box-shadow:0 0 0 1px var(--panel),0 0 0 4px rgba(var(--status-pass-rgb),.16)}
.src-pill.demo .led{background:var(--warn)}
.src-pill.empty .led{background:var(--struct-axis)}
.btn{
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:650;
  color:var(--ink);
  background:var(--panel);
  border:1px solid var(--rule-strong);
  border-radius:0;
  padding:8px 13px;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.08em;
  transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;
}
.btn:hover{border-color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn.primary{background:var(--action-ink);color:#fff;border-color:var(--action-ink)}
.btn.primary:hover{background:var(--action-press);border-color:var(--action-press)}
.btn.primary:disabled{background:var(--rule);border-color:var(--rule);color:var(--ink-faint);cursor:not-allowed;transform:none;box-shadow:none}
.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.dark:hover{background:#000;border-color:#000}
.btn:focus-visible{outline:2px solid var(--struct-axis);outline-offset:2px}
/* signed-in identity chip */
.who{display:inline-flex;flex-direction:column;line-height:1.12;padding:5px 11px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--panel);cursor:pointer;text-align:left}
.who-name{font-family:var(--font-ui);font-weight:680;font-size:12px;color:var(--ink)}
.who-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}

/* tabs */
.tabs{
  display:flex;
  gap:0;
  border-bottom:1px solid var(--rule);
  background:var(--panel);
  position:sticky;
  top:64px;
  z-index:20;
}
.tabs button{
  font-family:var(--font-mono);
  font-weight:650;
  font-size:11px;
  color:var(--ink-faint);
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  padding:14px 2px 12px;
  margin-right:30px;
  cursor:pointer;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--struct-axis)}
.tabs button:focus-visible{outline:2px solid var(--struct-axis);outline-offset:2px}
.tabs .grow{flex:1}
.tabs .hint{align-self:center;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}

.view{display:none}
.view.on{display:block}

main{counter-reset:sec}
section{padding:38px 0;counter-increment:sec}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:22px;position:relative}
.sec-head::before{
  content:"0" counter(sec);
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.14em;
  color:var(--struct-axis);
  position:absolute;
  left:-28px;
  top:4px;
  writing-mode:vertical-rl;
}
.sec-head h2{
  font-family:var(--font-display);
  font-stretch:118%;
  font-weight:720;
  font-size:24px;
  line-height:1;
  letter-spacing:.01em;
  text-transform:uppercase;
  margin:8px 0 0;
}
.sec-head p{margin:8px 0 0;color:var(--ink-soft);font-size:14px;max-width:58ch}
.metric-text{color:var(--text-axis);font-weight:700}
.metric-struct{color:var(--struct-axis);font-weight:700}

/* shared instrument frames */
.panel{
  position:relative;
  background:var(--panel);
  border:1px solid var(--rule-strong);
  border-radius:0;
  box-shadow:var(--shadow);
}

.panel::before,
.panel::after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  pointer-events:none;
  opacity:.72;
}
.panel::before{
  left:8px;
  top:8px;
  border-left:1px solid var(--struct-axis);
  border-top:1px solid var(--struct-axis);
}
.panel::after{
  right:8px;
  bottom:8px;
  border-right:1px solid var(--text-axis);
  border-bottom:1px solid var(--text-axis);
}

.panel{margin-bottom:24px}
.panel .ph{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--rule-strong);background:rgba(var(--canvas-rgb),.42)}
.panel .ph h3{font-family:var(--font-display);font-stretch:116%;font-weight:720;font-size:14px;text-transform:uppercase;margin:0}
.panel .ph .sub{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}
.panel .pb{padding:10px 18px 18px}
.linkbtn{font-family:var(--font-mono);font-size:11px;color:var(--struct-ink);background:none;border:none;cursor:pointer;padding:0;text-transform:uppercase;letter-spacing:.08em}
.linkbtn:hover{text-decoration:underline}
.switch{width:36px;height:20px;border-radius:0;background:var(--rule-strong);position:relative;cursor:pointer;flex:none;transition:.15s}
.switch[aria-checked="true"]{background:var(--struct-axis)}
.switch::after{content:"";position:absolute;width:14px;height:14px;border-radius:0;background:#fff;top:3px;left:3px;transition:.15s;box-shadow:0 1px 0 rgba(var(--navy-rgb),.2)}
.switch[aria-checked="true"]::after{left:19px}
.switch:focus-visible{outline:2px solid var(--struct-axis);outline-offset:2px}

/* dropzone overlay */
#drop{position:fixed;inset:0;background:rgba(21,27,45,.64);z-index:60;display:none;align-items:center;justify-content:center}
#drop.on{display:flex}
#drop .box{background:var(--panel);border:2px dashed var(--struct-axis);border-radius:0;padding:42px 58px;text-align:center;box-shadow:var(--shadow-overlay)}
#drop .box h3{font-family:var(--font-display);font-stretch:118%;font-size:18px;text-transform:uppercase;margin:0 0 6px}
#drop .box p{color:var(--ink-soft);font-size:13px;margin:0}

/* shortcuts modal */
#shortcuts{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(21,27,45,.66)}
#shortcuts.on{display:flex}
#feedback{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(21,27,45,.66)}
#feedback.on{display:flex}
.feedback-card{max-width:460px;width:100%}
.feedback-card textarea{width:100%;margin:10px 0;padding:8px 10px;border:1px solid var(--rule-strong);border-radius:2px;font:inherit;font-size:13px;resize:vertical;background:#fff;color:var(--ink)}
.op-feedback-row{border:1px solid var(--rule);border-radius:2px;padding:8px 10px;margin-bottom:8px}
.op-feedback-row .who-line{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}
.op-feedback-row p{margin:0;font-size:13px}
.shortcuts-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--rule-strong);box-shadow:var(--shadow-overlay);position:relative;padding:24px 26px 26px}
.shortcuts-card h3{font-family:var(--font-display);font-stretch:116%;font-weight:720;font-size:18px;text-transform:uppercase;margin:0 0 4px;letter-spacing:.01em}
.shortcuts-card .x{position:absolute;right:16px;top:14px;font-size:22px;color:var(--ink-faint);background:none;border:none;cursor:pointer;line-height:1}
.shortcuts-card .x:hover{color:var(--ink)}
.shortcuts-grid{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;margin:16px 0 0;align-items:center}
.shortcuts-grid dt{text-align:right}
.shortcuts-grid dd{margin:0;font-size:13px;color:var(--ink-soft)}
.shortcuts-grid kbd{font-family:var(--font-mono);font-size:11px;background:var(--canvas);border:1px solid var(--rule-strong);border-bottom-width:2px;border-radius:3px;padding:2px 6px;color:var(--ink)}

footer{border-top:1px solid var(--rule);padding:28px 0 42px;color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);letter-spacing:.04em}
footer a{color:var(--struct-axis)}

/* ============================ REVIEW (primary surface) ============================ */
[hidden]{display:none!important}

/* review empty state */
.review-empty{display:block;padding:44px 0}
.review-intake{
  max-width:720px;
  min-height:290px;
  border:2px dashed var(--rule-strong);
  background:var(--panel);
  padding:34px 36px;
  position:relative;
  cursor:pointer;
  box-shadow:var(--shadow);
  transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;
}
.review-intake::before,.review-intake::after{
  content:"";
  position:absolute;
  width:22px;
  height:22px;
  pointer-events:none;
}
.review-intake::before{left:10px;top:10px;border-left:1px solid var(--struct-axis);border-top:1px solid var(--struct-axis)}
.review-intake::after{right:10px;bottom:10px;border-right:1px solid var(--action);border-bottom:1px solid var(--action)}
.review-intake:hover,.review-intake:focus-visible,.review-intake.drag{
  border-color:var(--action);
  background:#fff;
  transform:translateY(-1px);
  box-shadow:var(--shadow);
}
.review-intake:focus-visible{outline:2px solid var(--struct-axis);outline-offset:1px}
.review-intake h1{
  font-family:var(--font-display);
  font-stretch:118%;
  font-weight:760;
  font-size:clamp(24px,3.2vw,30px);
  line-height:1;
  letter-spacing:.005em;
  text-transform:uppercase;
  margin:14px 0 0;
}
.review-intake p{max-width:48ch;margin:14px 0 22px;color:var(--ink-soft);font-size:15px}
.review-intake .btn{pointer-events:none}
.intake-formats{margin-top:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.review-empty-help{max-width:720px;margin:14px 0 0;font-size:13px;color:var(--ink-soft)}
.review-empty-help .linkbtn{font-size:11px}

/* review header */
.review-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 28px;padding:34px 0 20px;border-bottom:1px solid var(--rule-strong)}
.rh-id{flex:1 1 280px}
.rh-id h1{font-family:var(--font-display);font-stretch:120%;font-weight:760;font-size:clamp(24px,3vw,30px);line-height:1;text-transform:uppercase;margin:8px 0 0}
.rh-sub{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);margin-top:10px;letter-spacing:.03em}
.rh-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rh-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;flex-basis:100%}
.sev-chip{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--rule-strong);padding:6px 9px;background:rgba(255,255,255,.5);display:inline-flex;gap:5px;align-items:center}
.sev-chip b{font-size:14px;font-variant-numeric:tabular-nums}
.sev-chip.blocker b{color:var(--sev-blocker)}
.sev-chip.major b{color:var(--sev-major)}
.sev-chip.minor b{color:var(--sev-minor)}
.sev-chip.needs_review{border-style:dashed}
.sev-chip.needs_review b{color:var(--sev-review)}
.review-workflow{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.review-workflow-meta{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.review-workflow-meta .wf-chip{border:1px solid var(--rule-strong);padding:3px 7px;text-transform:uppercase;letter-spacing:.05em}
.review-workflow-meta .wf-chip.in_review{border-style:dashed}
.review-workflow-meta .wf-chip.approved{border-color:var(--struct-axis);color:var(--struct-axis)}
.review-workflow-meta .wf-chip.rejected{border-color:var(--neg);color:var(--neg)}
.review-workflow-meta .wf-chip.changes_requested{border-color:var(--warn-ink);color:var(--warn-ink)}
.review-workflow-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.workflow-sign-dialog{border:1px solid var(--rule-strong);padding:20px 22px;max-width:420px;background:var(--paper,#fff);color:var(--ink);font-family:var(--font-sans)}
.workflow-sign-dialog::backdrop{background:rgba(var(--navy-rgb),.35)}
.workflow-sign-dialog h3{margin:0 0 8px;font-family:var(--font-display);font-size:20px}
.workflow-sign-field{display:flex;flex-direction:column;gap:4px;margin:12px 0;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}
.workflow-sign-field input{font:14px/1.3 var(--font-sans);text-transform:none;letter-spacing:0;padding:8px 10px;border:1px solid var(--rule-strong);background:#fff;color:var(--ink)}
.workflow-sign-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.thresh{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}
.thresh input[type=range]{width:118px;accent-color:var(--struct-axis)}
.thresh output{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:650}
.review-lineage-setting{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--rule);font:10px/1.4 var(--font-mono);color:var(--ink-soft)}

.export-tray{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:13px 0;border-bottom:1px solid var(--rule)}
.export-tray .tray-lbl{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}
.export-tray .tray-link{font-family:var(--font-mono);font-size:11px;color:var(--struct-axis);border:1px solid var(--rule-strong);padding:6px 10px;text-decoration:none}
.export-tray .tray-link:hover{border-color:var(--struct-axis);background:var(--struct-axis-soft)}
.export-tray .tray-link.annotated{background:var(--struct-axis);border-color:var(--struct-axis);color:#fff}
.export-tray .tray-link.annotated:hover{filter:brightness(.92)}
.export-tray .tray-note{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}
@media(max-width:760px){.export-tray .tray-note{flex-basis:100%;margin-left:0}}

/* two-column body */
.review-body{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:start;padding:24px 0}
.review-data.busy:not(.busy-preserve){opacity:.7}
.drawing-pane{position:sticky;top:120px}
.drawing-pane .pb{padding:14px}
.stage{position:relative;background:#fff;border:1px solid var(--rule);line-height:0;overflow:hidden}
.stage-zoom{position:relative;transform-origin:0 0;will-change:transform}
.stage-zoom.zoomable{cursor:grab;touch-action:none}
.stage-zoom.panning{cursor:grabbing}
.stage-zoom.animate{transition:transform .28s cubic-bezier(.22,.61,.36,1)}
.stage img{display:block;width:100%;height:auto;-webkit-user-drag:none;user-select:none}
.drawing-pdf-canvas{display:block;width:100%;height:auto;background:#fff}
.drawing-resolution-status{position:absolute;left:14px;bottom:14px;z-index:7;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(var(--struct-rgb),.28);background:rgba(255,255,255,.94);box-shadow:var(--shadow);color:var(--ink-soft);font:10px/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;pointer-events:none}
.drawing-resolution-status[hidden]{display:none}
.drawing-resolution-status span{width:11px;height:11px;border:2px solid rgba(var(--struct-rgb),.22);border-top-color:var(--struct-axis);border-radius:50%;animation:drawing-resolution-spin .75s linear infinite}
.drawing-resolution-status b{font:inherit;color:inherit}
@keyframes drawing-resolution-spin{to{transform:rotate(360deg)}}
.measurement-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.drawing-measurement-form label{display:grid;gap:4px;color:var(--ink-soft);font:10px/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.drawing-measurement-form input,.drawing-measurement-form select,.drawing-measurement-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);padding:7px;font:12px/1.3 var(--font-body);text-transform:none;letter-spacing:normal}
.drawing-measurement-form textarea{resize:vertical;margin-top:4px}
.measurement-form-actions{display:flex;align-items:center;gap:8px;margin-top:10px}
.measurement-form-actions .muted-note{margin-left:auto}
.extraction-measure{margin-left:6px}
@media(max-width:760px){.measurement-form-grid{grid-template-columns:1fr}.measurement-form-actions{flex-wrap:wrap}.measurement-form-actions .muted-note{width:100%;margin-left:0}}
@media(prefers-reduced-motion:reduce){.drawing-resolution-status span{animation:none}}
.markup{position:absolute;inset:0;width:100%;height:100%;pointer-events:visiblePainted}
.zoom-ctl{position:absolute;right:10px;bottom:10px;z-index:6;display:flex;align-items:stretch;background:var(--panel);border:1px solid var(--rule-strong);box-shadow:var(--shadow)}
.zoom-ctl button{font-family:var(--font-mono);font-size:14px;line-height:1;color:var(--ink);background:transparent;border:none;border-left:1px solid var(--rule);padding:7px 11px;cursor:pointer;min-width:34px}
.zoom-ctl button:first-child{border-left:none}
.zoom-ctl button:hover{background:var(--struct-axis-soft)}
.zoom-ctl #zoomPct{font-size:11px;letter-spacing:.03em;color:var(--ink-soft)}
.zoom-ctl #zoomReset{min-width:52px}
.markup .mk{color:var(--struct-axis);pointer-events:all;cursor:pointer;transition:opacity .14s}
.markup .mk.blocker{color:var(--sev-blocker)}
.markup .mk.major{color:var(--sev-major)}
.markup .mk.minor{color:var(--sev-minor)}
.markup .mk.review{color:var(--sev-review)}
.markup .mk.dim{opacity:.3}
.markup .mk-box{fill:rgba(255,255,255,.08);stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision}
.markup .mk.review .mk-box{stroke-dasharray:8 5}
.markup .mk-leader{stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:square;opacity:.95}
.markup .mk-label-bg{fill:rgba(255,255,255,.96);stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 0 rgba(var(--navy-rgb),.18))}
.markup .mk-label-index{fill:currentColor;stroke:none}
.markup .mk-label-num{font-family:var(--font-mono);font-size:16px;font-weight:800;fill:#fff;dominant-baseline:auto;pointer-events:none}
.markup .mk-label-text{font-family:var(--font-mono);font-size:20px;font-weight:800;letter-spacing:.02em;fill:var(--ink);dominant-baseline:auto;pointer-events:none}
.markup .mk:hover .mk-box,.markup .mk:hover .mk-label-bg,.markup .mk.sel .mk-box,.markup .mk.sel .mk-label-bg{stroke-width:3}
.markup .mk.sel .mk-box{fill:rgba(var(--struct-rgb),.08)}
.markup .mk-pin{fill:rgba(var(--struct-rgb),.08);stroke:var(--struct-axis);stroke-width:2.5;vector-effect:non-scaling-stroke;animation:mkpin .9s ease-out 1;shape-rendering:geometricPrecision}
@keyframes mkpin{0%{fill:rgba(var(--struct-rgb),.28)}100%{fill:rgba(var(--struct-rgb),.08)}}
.stage-empty{padding:56px 20px;text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);line-height:1.6}
.markup-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px;font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;line-height:1.2}
.markup-legend span{display:flex;align-items:center;gap:5px}
.markup-legend i{width:12px;height:10px;border:2px solid currentColor;display:inline-block}
.markup-legend i.sev-blocker{color:var(--sev-blocker)}
.markup-legend i.sev-major{color:var(--sev-major)}
.markup-legend i.sev-minor{color:var(--sev-minor)}
.markup-legend i.sev-review{color:var(--sev-review);border-style:dashed}
/* drawing/3D view toggle */
.stage-toggle{margin-left:auto;display:inline-flex;border:1px solid var(--rule-strong);line-height:1}
.stage-toggle button{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;background:var(--panel);color:var(--ink-soft);border:none;border-left:1px solid var(--rule);cursor:pointer}
.stage-toggle button:first-child{border-left:none}
.stage-toggle button[aria-pressed="true"]{background:var(--struct-axis);color:#fff}
.stage-toggle button:disabled{opacity:.4;cursor:not-allowed}
/* native 3D model viewer */
.stage3d{position:relative;width:100%;height:clamp(360px,58vh,640px);background:var(--canvas);line-height:normal}
.stage3d model-viewer{width:100%;height:100%;display:block;--poster-color:transparent;background:var(--canvas)}
.stage-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);line-height:1.6}
.no-findings.model3d-note{color:var(--ink-soft);line-height:1.6;text-align:left}
.no-findings.model3d-note b{display:block;color:var(--ink);margin-bottom:4px;font-family:var(--font-display);text-transform:none}

/* findings pane */
.findings-pane{display:flex;flex-direction:column;position:relative;background:var(--panel);border:1px solid var(--rule-strong);box-shadow:var(--shadow)}
.findings-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--rule-strong);background:rgba(var(--canvas-rgb),.42);flex-wrap:wrap}
.findings-filter{display:inline-flex;border:1px solid var(--rule-strong)}
.findings-filter button{font-family:var(--font-mono);font-size:10px;font-weight:650;padding:6px 10px;background:transparent;border:none;border-left:1px solid var(--rule);cursor:pointer;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}
.findings-filter button:first-child{border-left:none}
.findings-filter button[aria-pressed="true"]{background:var(--ink);color:#fff}
.findings-filter button b{font-variant-numeric:tabular-nums;opacity:.7;font-weight:650}
.findings-filter button[aria-pressed="true"] b{opacity:.9}
/* toolbar: status segment + facet selects + bulk */
.findings-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;margin-top:4px}
.findings-toolbar .facets{display:flex;flex-wrap:wrap;gap:6px}
.facet-sel{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--ink-soft);background:var(--panel);border:1px solid var(--rule-strong);padding:5px 6px;cursor:pointer;letter-spacing:.02em}
.facet-sel:hover{border-color:var(--ink)}
.findings-toolbar .bulk{display:flex;align-items:center;gap:7px;margin-left:auto}
.findings-toolbar .showing{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.bulk-btn{font-family:var(--font-mono);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;padding:5px 9px;border:1px solid var(--rule-strong);background:rgba(255,255,255,.9);color:var(--ink-soft);cursor:pointer}
.bulk-btn:hover:not(:disabled){border-color:var(--pos);color:var(--pos)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.bulk-btn:disabled{opacity:.4;cursor:not-allowed}
.kbd-hint{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-faint);background:none;border:1px solid var(--rule);padding:2px 6px;margin-left:6px;cursor:pointer;text-transform:none}
.kbd-hint:hover{border-color:var(--struct-axis);color:var(--struct-axis)}
.findings-list{padding:4px 0;max-height:80vh;overflow:auto}
.no-findings{padding:24px 18px;color:var(--ink-soft);font-size:13px}
.no-findings.warn{color:var(--warn-ink);font-family:var(--font-mono);font-size:12px}
.fam-group{border-bottom:1px solid var(--rule)}
.fam-group:last-child{border-bottom:none}
.fam-head{display:flex;justify-content:space-between;align-items:center;padding:11px 16px 7px;background:rgba(var(--canvas-rgb),.3)}
.fam-name{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.fam-count{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}
.finding{padding:13px 16px;border-top:1px solid var(--rule);cursor:pointer;border-left:3px solid transparent;transition:background .12s}
.fam-group .finding:first-of-type{border-top:none}
.finding:hover{background:rgba(var(--struct-rgb),.28)}
.finding.sel{background:rgba(var(--struct-rgb),.55);border-left-color:var(--struct-axis)}
.finding.link{box-shadow:inset 0 0 0 1px var(--struct-axis)}
.finding.blocker{border-left-color:var(--sev-blocker)}
.finding.major{border-left-color:var(--sev-major)}
.finding.minor{border-left-color:var(--sev-minor)}
.finding.needs{border-left-style:dashed}
.finding.done{opacity:.6}
.finding:focus-visible{outline:2px solid var(--struct-axis);outline-offset:-2px}
.f-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.f-sev{font-family:var(--font-mono);font-size:10px;font-weight:670;text-transform:uppercase;letter-spacing:.06em;padding:3px 6px;border:1px solid currentColor;color:var(--ink-faint)}
.f-sev.blocker{color:var(--sev-blocker)}
.f-sev.major{color:var(--sev-major)}
.f-sev.minor{color:var(--sev-minor)}
.f-fam{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}
.f-conf-val{margin-left:auto;font-family:var(--font-mono);font-size:11px;font-weight:650;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.conf-bar{display:block;width:100%;height:6px;margin:8px 0 6px;overflow:visible}
.conf-bg{fill:rgba(var(--struct-rgb),.22)}
.conf-fill{transform-origin:left center}
.conf-fill.blocker{fill:var(--sev-blocker)}
.conf-fill.major{fill:var(--sev-major)}
.conf-fill.minor{fill:var(--sev-minor)}
.f-expl{font-size:13px;margin:6px 0 0;line-height:1.45}
.f-fix{font-size:12px;margin-top:8px;color:var(--ink-soft);background:rgba(var(--canvas-rgb),.55);border-left:2px solid var(--struct-axis);padding:6px 9px}
.f-fix .lbl{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--struct-axis);margin-right:7px}
.f-evidence{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);margin-top:6px}
.f-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:9px}
.src-chip{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);border:1px solid var(--rule-strong);padding:3px 7px;background:rgba(255,255,255,.5);letter-spacing:.02em}
.f-owner{font-family:var(--font-mono);font-size:10px;color:var(--pos)}
.status-badge{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.07em;padding:3px 6px;border:1px solid currentColor}
.status-badge.needs{color:var(--sev-review);border-style:dashed}
.status-badge.accepted{color:var(--pos)}
.status-badge.rejected{color:var(--status-failure)}
.status-badge.blocked{color:var(--status-blocker)}
.status-badge.resolved{color:var(--ink-faint)}
.f-actions{display:flex;gap:7px;margin-top:11px}
.dispo{font-family:var(--font-mono);font-size:10px;font-weight:650;padding:6px 11px;border:1px solid var(--rule-strong);background:rgba(255,255,255,.9);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}
.dispo:hover{border-color:var(--ink);color:var(--ink)}
.dispo:focus-visible{outline:2px solid var(--struct-axis);outline-offset:1px}
.dispo.accept.on{background:var(--pos);color:#fff;border-color:var(--pos)}
.dispo.reject.on{background:var(--neg);color:#fff;border-color:var(--neg)}
.dispo.resolve.on{background:var(--ink-faint);color:#fff;border-color:var(--ink-faint)}
/* deterministic explainability detail panel */
.f-detail{margin:11px -2px 1px;padding:12px 13px 11px;background:rgba(var(--canvas-rgb),.45);border:1px solid var(--rule);border-left:2px solid var(--struct-axis)}
.fd-rule{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:4px}
.fd-origin{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;color:#fff;background:var(--ink)}
.fd-origin.plant_brain{background:var(--struct-axis)}
.fd-origin.asme_y14_5,.fd-origin.iso_gps{background:var(--warn);color:var(--ink)}
.fd-origin.deterministic{background:var(--ink-faint)}
.fd-ref{font-family:var(--font-mono);font-size:10px;color:var(--ink)}
.fd-ver{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}
.fd-sec{margin:8px 0 0}
.fd-lbl{display:block;font-family:var(--font-mono);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:2px}
.fd-sec p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-soft)}
.fd-dims{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.fd-dim{font-family:var(--font-mono);font-size:11px;background:var(--panel);border:1px solid var(--rule-strong);padding:3px 8px;cursor:pointer;color:var(--ink)}
.fd-dim:hover{border-color:var(--struct-axis);color:var(--struct-axis)}
.fd-gate{font-size:12px;line-height:1.5;color:var(--ink-soft);font-style:italic;border-top:1px dashed var(--rule);padding-top:8px;margin-top:10px}
.fd-copilot{margin-top:10px;padding-top:9px;border-top:1px solid var(--rule)}
.fd-cop-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fd-explain{font-family:var(--font-mono);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;padding:4px 9px;border:1px solid var(--struct-axis);background:var(--struct-axis-soft);color:var(--struct-ink);cursor:pointer}
.fd-explain:hover{background:var(--struct-axis);color:#fff}
.fd-sample{display:inline-block;margin-left:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--struct-axis);background:var(--struct-axis-soft);border-radius:3px;padding:2px 5px;vertical-align:1px}
.fd-cop-body{font-size:13px;line-height:1.55;color:var(--ink);margin-top:6px;white-space:pre-wrap}
.fd-cop-body.busy{color:var(--ink-faint);font-style:italic}
.fd-cop-note{font-size:12px;line-height:1.5;color:var(--ink-soft);margin-top:6px}
.fd-cop-note.warn{color:var(--neg)}
.fd-cached{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border:1px solid var(--rule);padding:1px 4px;vertical-align:middle}
.fd-ask-item{margin-top:8px;border-left:2px solid var(--rule-strong);padding-left:9px}
.fd-q{font-size:12px;font-weight:600;color:var(--ink)}
.fd-q::before{content:"Q ";font-family:var(--font-mono);color:var(--ink-faint)}
.fd-a{font-size:13px;line-height:1.55;color:var(--ink-soft);margin-top:2px;white-space:pre-wrap}
.fd-ask{display:flex;gap:6px;margin-top:9px}
.fd-ask-in{flex:1;font-family:var(--font-ui);font-size:12px;padding:6px 8px;border:1px solid var(--rule-strong);background:var(--panel);color:var(--ink)}
.fd-ask-in:focus-visible{outline:2px solid var(--struct-axis);outline-offset:1px}
.fd-ask-btn{font-family:var(--font-mono);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;padding:5px 11px;border:1px solid var(--rule-strong);background:rgba(255,255,255,.9);color:var(--ink-soft);cursor:pointer}
.fd-ask-btn:hover{border-color:var(--struct-axis);color:var(--struct-axis)}

/* extraction inspector */
.inspector{margin-top:10px}
.inspector .ph{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--rule-strong);background:rgba(var(--canvas-rgb),.42)}
.ph-toggle{display:flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;padding:0}
.ph-toggle .ph-t{font-family:var(--font-display);font-stretch:116%;font-weight:720;font-size:14px;text-transform:uppercase;margin:0}
.ph-toggle .caret{font-size:10px;color:var(--struct-axis)}
.ph-toggle.rail-toggle .ph-t{font:720 10px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.sheet-section .rail-toggle{padding:12px 0 4px;width:100%}
.inspector .sub{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase}
.inspector .pb{padding:18px}
.insp-sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.insp-kv{border:1px solid var(--rule);padding:9px 11px;background:rgba(255,255,255,.6)}
.insp-kv span{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:4px}
.insp-kv b{font-family:var(--font-mono);font-size:13px;font-weight:650}
.insp-views{margin-bottom:16px}
.view-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.view-pill{font-family:var(--font-mono);font-size:11px;border:1px solid var(--rule-strong);padding:5px 9px;cursor:pointer;background:rgba(255,255,255,.5)}
.view-pill:hover{border-color:var(--struct-axis);background:var(--struct-axis-soft)}
.dim-table{width:100%;border-collapse:collapse}
.dim-table th{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:right;padding:8px 10px;border-bottom:1px solid var(--rule-strong)}
.dim-table th.l{text-align:left}
.dim-table td{font-family:var(--font-mono);font-size:12px;text-align:right;padding:9px 10px;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}
.dim-table td.l{text-align:left}
.dim-row{cursor:pointer}
.dim-row:hover{background:rgba(var(--struct-rgb),.3)}
.dim-row.sel{background:var(--struct-axis-soft);box-shadow:inset 3px 0 0 var(--struct-axis)}
.dim-row.sel td{font-weight:600}
.dim-row.link{background:rgba(var(--struct-rgb),.4);box-shadow:inset 3px 0 0 var(--struct-axis)}
.dim-row.link.sel{background:var(--struct-axis-soft)}
.view-pill.sel{border-color:var(--struct-axis);background:var(--struct-axis);color:#fff}
.dim-table .muted-note{color:var(--ink-soft);text-align:left}

/* review queue */
.queue-list{display:flex;flex-direction:column;gap:12px}
.q-item{display:grid;grid-template-columns:1fr 280px;gap:18px;border:1px solid var(--rule-strong);background:var(--panel);padding:16px;box-shadow:var(--shadow);border-left:3px solid transparent}
.q-item.blocker{border-left-color:var(--sev-blocker)}
.q-item.major{border-left-color:var(--sev-major)}
.q-item.minor{border-left-color:var(--sev-minor)}
.q-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:4px}
.q-side{display:flex;flex-direction:column;gap:8px}
.q-side .txt{font-family:var(--font-mono);font-size:11px;border:1px solid var(--rule);padding:7px 8px;background:rgba(var(--canvas-rgb),.55)}
.q-side .txt:focus-visible{outline:2px solid var(--struct-axis);outline-offset:0;background:#fff}
.q-acts{display:flex;gap:7px}
.q-locate{font-size:10px}

@media(prefers-reduced-motion:no-preference){
  .fade{opacity:0;transform:translateY(12px);animation:rise .62s cubic-bezier(.18,.72,.22,1) forwards}
  section.fade:nth-of-type(2){animation-delay:.08s}
  section.fade:nth-of-type(3){animation-delay:.16s}
  section.fade:nth-of-type(4){animation-delay:.24s}
  @keyframes rise{to{opacity:1;transform:none}}
}
@media(max-width:980px){
  .review-empty{grid-template-columns:1fr}
  .review-body,.q-item{grid-template-columns:1fr}
  .drawing-pane{position:static}
  .findings-list{max-height:none}
  .sec-head::before{display:none}
}
@media(max-width:700px){
  body{overflow-x:hidden}
  .wrap{padding:0 16px}
  .app-bar{height:auto;padding:12px 0;flex-wrap:wrap;gap:10px}
  .brand .by{display:none}
  .head-right{width:100%;justify-content:space-between}
  .head-right .btn:not(#addDrawingBtn){display:none}
  .tabs{top:69px;overflow-x:auto}
  .review-head{padding-top:24px}
  .q-item{grid-template-columns:1fr}
  .tabs .hint{display:none}
  .review-intake{padding:26px 22px;min-height:250px}
  .review-intake h1{font-size:30px}
  .sec-head{flex-wrap:wrap}
}

/* ===================================================================
   SEMPER APP SHELL v2 - sidebar + topbar + surfaces
   =================================================================== */
:root{--topbar-h:58px;--side-w:236px}
.shell{display:flex;min-height:100vh;align-items:stretch}
.side{width:var(--side-w);flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;
  padding:20px 16px;border-right:1px solid rgba(255,255,255,.12);background:var(--navy);z-index:25}
.side-brand{display:flex;align-items:center;gap:10px;padding:4px 6px 22px}
.side-lockup{display:block;width:min(168px,100%);height:auto;max-height:58px;object-fit:contain;object-position:left center}
.side-mark{display:none;width:36px;height:36px;object-fit:contain}
.side-name{font-family:var(--font-display);font-weight:820;font-stretch:116%;font-size:14px;line-height:.98;text-transform:uppercase;letter-spacing:.02em;color:#fff}
.product-switch{display:block;margin:-12px 6px 14px}
.product-switch select{width:100%;border:1px solid var(--rule-strong);border-radius:3px;background:#fff;padding:8px 10px;color:var(--ink);font:inherit}
.side-nav{display:flex;flex-direction:column;gap:1px}
.side-nav button{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border:none;background:none;border-radius:3px;cursor:pointer;
  font-family:var(--font-ui);font-size:13px;font-weight:560;color:var(--on-navy-soft);text-align:left;transition:background .14s,color .14s}
.side-nav button svg{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.side-nav button span{flex:1}
.side-nav button:hover{background:var(--navy-raised);color:#fff}
.side-nav button.on{color:var(--navy);background:#fff;box-shadow:inset 3px 0 0 var(--brand-red)}
.nav-workspace{margin:8px 0 2px;padding-top:8px;border-top:1px solid rgba(255,255,255,.18)}
.nav-workspace-toggle{width:100%;padding:7px 11px;color:var(--on-navy-soft);font:650 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:left}
.nav-workspace-toggle:hover{color:var(--brand-cyan);background:var(--navy-raised)}
.nav-workspace-body{display:flex;flex-direction:column;gap:1px}
.nav-workspace-body button{padding-left:17px}
.nav-count{flex:none;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--action-ink);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.side-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}
.side-conf-top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-navy-soft)}
.side-conf-top b{color:#fff}
.side-bar{height:5px;margin-top:6px;background:rgba(255,255,255,.18);border-radius:3px;overflow:hidden}
.side-bar i{display:block;height:100%;background:var(--brand-cyan);transition:width .3s}
.side-status{display:flex;align-items:center;gap:7px;margin-top:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--on-navy-soft)}
.side-status .led{width:7px;height:7px;border-radius:50%;background:var(--on-navy-faint);flex:none}
.side-status .led.live{background:var(--pos);box-shadow:0 0 0 3px rgba(var(--status-pass-rgb),.16)}

.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--canvas);overflow-x:clip}
.topbar{position:sticky;top:0;z-index:24;display:flex;align-items:center;gap:9px;height:var(--topbar-h);padding:0 22px;
  background:var(--panel);border-bottom:1px solid var(--rule)}
.topbar .grow{flex:1}
.topbar .btn{padding:7px 11px;font-size:11px}
/* Topbar hierarchy: keep one filled focal action (Add drawing) and let the
   menu triggers recede to quiet ghost buttons. The 1px border stays
   transparent at rest so the hover state adds no shift. */
.topbar .btn:not(.primary){
  background:none;
  border-color:transparent;
  color:var(--ink-soft);
  box-shadow:none;
}
.topbar .btn:not(.primary):hover{
  background:#fff;
  border-color:var(--rule-strong);
  color:var(--ink);
  transform:none;
  box-shadow:0 1px 0 rgba(var(--navy-rgb),.05);
}
.topbar .btn:not(.primary):disabled{color:var(--ink-faint);background:none;border-color:transparent}
.popup-menu-wrap{position:relative;flex:none}
.popup-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:70;min-width:184px;padding:5px;border:1px solid var(--rule-strong);background:var(--panel);box-shadow:var(--shadow-overlay)}
.popup-menu[hidden]{display:none}
.popup-menu [role^="menuitem"]{display:block;width:100%;border:0;background:none;padding:9px 10px;color:var(--ink);font:12px var(--font-ui);text-align:left;text-decoration:none;cursor:pointer}
.popup-menu [role^="menuitem"]:hover,.popup-menu [role^="menuitem"]:focus-visible{background:var(--struct-axis-soft);outline:none}
.popup-menu [role^="menuitem"]:disabled{color:var(--ink-faint);cursor:not-allowed;background:none}
.popup-menu .popup-menu-featured{display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:680}
.popup-menu-badge{flex:none;padding:2px 5px;border:1px solid var(--struct-axis);color:var(--struct-ink);font:650 10px var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.popup-menu-context{padding:8px 10px 9px;border-bottom:1px solid var(--rule);color:var(--ink-soft);font:10px/1.45 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.popup-menu-separator{height:1px;margin:5px 0;background:var(--rule)}
.help-menu-trigger{position:relative}
.help-unread-dot{position:absolute;right:3px;top:3px;width:7px;height:7px;border-radius:50%;background:var(--action-ink);box-shadow:0 0 0 2px var(--canvas)}
.help-unread-dot[hidden]{display:none}
.side-collapse{border:none;background:none;font-size:18px;color:var(--ink-soft);cursor:pointer;padding:6px;line-height:1;border-radius:3px}
.side-collapse:hover{background:#fff}
.crumbs{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}
.crumbs b{color:var(--ink);font-weight:600}
.crumbs .sep{opacity:.5}
.icon-btn{position:relative;border:1px solid var(--rule-strong);background:#fff;border-radius:3px;padding:6px 9px;cursor:pointer;font-size:13px;line-height:1}
.notif-dot{position:absolute;top:4px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--action);box-shadow:0 0 0 2px #fff}
.content{flex:1;min-width:0}

/* Release brief: non-modal by design. On wide screens the workspace yields
   room to the drawer; laptop and mobile widths keep their layout and let the
   drawer overlay without a dimming backdrop. */
.release-drawer{
  position:fixed;right:0;top:var(--topbar-h);bottom:0;z-index:66;
  width:min(390px,100vw);overflow-y:auto;background:var(--panel);
  border-left:1px solid var(--rule-strong);box-shadow:-18px 0 44px rgba(var(--navy-rgb),.10);
  padding:27px 24px 22px;
}
.release-drawer[hidden]{display:none}
.release-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.release-drawer-head h2{margin:7px 0 0;font-family:var(--font-display);font-size:28px;font-stretch:116%;line-height:1.08;letter-spacing:-.01em}
.release-close,.release-later,.release-item-action{
  border:0;background:none;color:var(--struct-ink);cursor:pointer;font:650 11px var(--font-mono);
  letter-spacing:.04em;text-decoration:none;
}
.release-close{padding:4px 0;text-transform:uppercase;color:var(--ink-soft)}
.release-close:hover,.release-later:hover,.release-item-action:hover,.release-notes-link:hover{color:var(--action-ink);text-decoration:underline;text-underline-offset:3px}
.release-close:focus-visible,.release-later:focus-visible,.release-item-action:focus-visible,.release-notes-link:focus-visible{outline:2px solid var(--struct-axis);outline-offset:3px}
.release-summary{margin:10px 0 18px;color:var(--ink-soft);font-size:14px;line-height:1.55}
.release-items{border-top:1px solid var(--rule)}
.release-item{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;padding:20px 0;border-bottom:1px solid var(--rule)}
.release-item-number{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--action-ink);color:#fff;font:700 10px var(--font-mono)}
.release-item-copy h3{margin:0;font-size:15px;line-height:1.35}
.release-item-copy p{margin:7px 0 10px;color:var(--ink-soft);font-size:13px;line-height:1.55}
.release-item-action{display:inline-block;padding:2px 0;color:var(--struct-ink)}
.release-drawer-actions{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding-top:20px}
.release-later{justify-self:center;color:var(--ink-soft)}
.release-drawer-actions .btn{width:100%}
.release-notes-link{display:block;margin-top:17px;text-align:center;color:var(--struct-ink);font:650 11px var(--font-mono);letter-spacing:.03em;text-decoration:none}
.release-once-note{margin:18px 0 0;text-align:center;color:var(--ink-faint);font:10px/1.45 var(--font-mono);letter-spacing:.03em}
@media(min-width:1360px){
  .release-open .main{margin-right:390px}
}
@media(max-width:760px){
  .release-drawer{top:var(--topbar-h);width:100vw;padding:22px 20px 20px}
  .release-drawer-head h2{font-size:25px}
  .release-item{padding:17px 0}
  .release-drawer-actions{position:sticky;bottom:-20px;margin:0 -20px -20px;padding:14px 20px 20px;background:var(--panel);border-top:1px solid var(--rule)}
}
@media(prefers-reduced-motion:no-preference){
  .release-drawer{animation:release-drawer-in .22s cubic-bezier(.4,0,.2,1)}
  @keyframes release-drawer-in{from{transform:translateX(18px);opacity:.72}to{transform:none;opacity:1}}
}
.shell.nav-collapsed .side{width:66px}
.shell.nav-collapsed .side-name,.shell.nav-collapsed .side-lockup,.shell.nav-collapsed .side-nav span,.shell.nav-collapsed .nav-count,.shell.nav-collapsed .side-foot{display:none}
.shell.nav-collapsed .side-brand{justify-content:center;padding:4px 0 22px}
.shell.nav-collapsed .side-mark{display:block}
.shell.nav-collapsed .side-nav button{justify-content:center;padding:10px 0}
.shell.nav-collapsed .nav-workspace{border-top:0;margin:5px 0;padding-top:0}
.shell.nav-collapsed .nav-workspace-toggle{justify-content:center;padding:10px 0}
.shell.nav-collapsed .nav-workspace-toggle svg{display:block}
.shell.nav-collapsed .nav-workspace-body button{padding:10px 0}

/* legacy sticky offsets now reference the topbar */
.main .drawing-pane{top:calc(var(--topbar-h) + 14px)}

/* surface headers */
.surf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:30px 0 18px;border-bottom:1px solid var(--rule)}
.surf-head h2{font-family:var(--font-display);font-weight:800;font-stretch:116%;font-size:28px;letter-spacing:-.01em;margin:6px 0 0;color:var(--ink)}
.surf-head p{font-size:14px;color:var(--ink-soft);margin:8px 0 0;max-width:64ch;line-height:1.5}
.surf-head-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.demo-tag{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--struct-axis);background:var(--struct-axis-soft);border-radius:3px;padding:2px 6px;vertical-align:middle}

/* dashboard */
.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:22px 0}
.stat-tile{background:var(--panel);border:1px solid var(--rule-strong);border-radius:4px;padding:16px 17px;box-shadow:var(--shadow)}
.stat-tile .sv{font-family:var(--font-mono);font-size:30px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}
.stat-tile.alert .sv{color:var(--neg)}
.stat-tile .sl{font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-top:9px}
.stat-tile .sd{font-size:12px;color:var(--ink-soft);margin-top:5px}
.dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:30px}
.dashboard-scope{display:flex;align-items:center;gap:10px;margin:18px 0 0;padding:10px 12px;border:1px solid var(--rule-strong);border-left:3px solid var(--struct-axis);background:#fff;color:var(--ink-soft);font-size:12px}
.dashboard-scope strong{color:var(--ink)}
.dashboard-totals{margin-top:2px}
.dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-top:20px}
.dashboard-section-head h3{margin:0;font-size:16px;color:var(--ink)}
.dashboard-section-head p{margin:4px 0 0;color:var(--ink-faint);font-size:12px}
.dashboard-selected{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);margin-bottom:20px}
.dashboard-selected-body{padding:12px 0 18px}
.dashboard-selected .dash-row{border:1px solid var(--rule);background:#fff}
.dash-panel .pb{padding:4px 0}
.dash-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 18px;border:0;border-bottom:1px solid var(--rule);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.dash-row:last-child{border-bottom:none}
.dash-row:hover{background:#F2F2F2}
.dash-row .dr-main{flex:1;min-width:0}
.dash-row .dr-t{font-weight:600;font-size:13px;color:var(--ink)}
.dash-row .dr-s{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);margin-top:2px}
.dash-empty{padding:22px 18px;font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}

/* findings / evidence trace */
.ev-empty{padding:40px 0;font-family:var(--font-mono);font-size:13px;color:var(--ink-soft)}
.ev-grid{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1.2fr);border:1px solid var(--rule-strong);border-radius:4px;margin:22px 0 32px;background:var(--panel);box-shadow:var(--shadow);min-height:520px}
.ev-col-head{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);padding:13px 16px;border-bottom:1px solid var(--rule)}
.ev-sheets{border-right:1px solid var(--rule)}
.ev-sheet{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 16px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--rule);color:var(--ink)}
.ev-sheet.on{background:var(--action-soft);box-shadow:inset 2px 0 0 var(--action)}
.ev-sheet .c{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}
.ev-listwrap{border-right:1px solid var(--rule);display:flex;flex-direction:column;min-width:0}
.ev-list{overflow:auto}
.ev-item{padding:12px 16px;border-bottom:1px solid var(--rule);cursor:pointer}
.ev-item:hover{background:#F2F2F2}
.ev-item.on{background:var(--action-soft)}
.ev-item .ei-top{display:flex;gap:6px;align-items:center}
.ev-item .ei-msg{font-size:13px;color:var(--ink);margin-top:7px;line-height:1.4}
.ev-item .ei-zone{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px}
.ev-trace{padding:18px 20px;overflow:auto;min-width:0}
.ev-trace .et-empty{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);padding-top:30px}
.et-head{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.et-head h4{font-family:var(--font-display);font-weight:760;font-size:15px;margin:0;color:var(--ink)}
.et-sec{margin-bottom:15px}
.et-sec .et-lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.et-sec p{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:0}
.et-check{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;padding:9px 12px;border:1px solid var(--rule);border-radius:3px;background:#F2F2F2}
.et-check .res{font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.et-check .res.fail{color:var(--neg)}
.et-check .res.pass{color:var(--pos)}
.et-chain{list-style:none;margin:0;padding:0}
.et-chain li{position:relative;padding:0 0 11px 18px;font-size:13px;color:var(--ink-soft);line-height:1.45}
.et-chain li::before{content:"";position:absolute;left:2px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--struct-axis);z-index:1}
.et-chain li::after{content:"";position:absolute;left:5px;top:11px;bottom:0;width:1px;background:var(--rule-strong)}
.et-chain li:last-child::after{display:none}

/* shared severity pill */
.sev-pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:3px;color:#fff}
.sev-pill.blocker{background:var(--sev-blocker)}
.sev-pill.major{background:var(--sev-major)}
.sev-pill.minor{background:var(--sev-minor)}
.sev-pill.pass{background:var(--status-pass)}
.sev-pill.needs_review,.sev-pill.review{background:#fff;color:var(--sev-review);box-shadow:inset 0 0 0 1px var(--sev-review)}

/* documents */
.docs-filter{display:grid;gap:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.docs-filter select{min-width:190px;border:1px solid var(--rule-strong);border-radius:3px;background:#fff;padding:8px 30px 8px 9px;font:12px var(--font-ui);letter-spacing:0;text-transform:none;color:var(--ink)}
.docs-table{margin:22px 0 32px;border:1px solid var(--rule-strong);border-radius:4px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}
.docs-row{display:grid;grid-template-columns:minmax(160px,1fr) 150px 110px 90px 130px 122px;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--rule);font-size:13px}
.docs-row:last-child{border-bottom:none}
.docs-row.h{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);background:#F2F2F2}
.docs-row .dn{font-weight:600;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.docs-row .da{display:flex;gap:7px;justify-content:flex-end}
.docs-row .doc-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}
.doc-open{height:30px;padding:0 10px;border:1px solid var(--struct-axis);border-radius:3px;background:#fff;color:var(--struct-axis);font:650 10px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.doc-open:hover{background:var(--struct-axis-soft)}
.doc-delete{width:30px;height:30px;display:inline-grid;place-items:center;border:1px solid var(--rule-strong);border-radius:3px;background:#fff;color:var(--neg);cursor:pointer}
.doc-delete:hover{background:rgba(var(--status-failure-rgb),.08);border-color:rgba(var(--status-failure-rgb),.45)}
.doc-delete svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.doc-no-action{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}
.docs-empty{padding:30px 18px;text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}
#docsTurnoverPanel{margin:0 0 32px}
#docsTurnoverPanel .docs-filter{margin:0 0 12px;max-width:280px}
#docsTurnoverPanel .docs-filter input{border:1px solid var(--rule-strong);border-radius:3px;background:#fff;padding:8px 9px;font:12px var(--font-ui);color:var(--ink)}
.docs-turnover-status{font:12px/1.45 var(--font-ui);color:var(--ink-soft);margin:0 0 12px}
.docs-turnover-group{margin:0 0 14px}
.docs-turnover-group h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;color:var(--ink-faint)}
.docs-turnover-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;font-size:13px}
.docs-turnover-row span:last-child{color:var(--ink-soft);font-size:12px}
.doc-stat{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--rule-strong);border-radius:3px;color:var(--ink-soft);background:#F2F2F2}
@media(max-width:900px){
  .docs-row{grid-template-columns:minmax(0,1fr) 110px 112px;gap:8px 12px}
  .docs-row.h span:nth-child(3),.docs-row.h span:nth-child(4),.docs-row.h span:nth-child(5),
  .docs-row span:nth-child(3),.docs-row span:nth-child(4),.docs-row span:nth-child(5){display:none}
  .docs-row .da{justify-content:flex-start}
}
.mtr-intake{display:grid;gap:14px}
.mtr-run-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:10px;align-items:end}
.mtr-run-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mtr-intake-datalists{display:none}
.mtr-input-details{display:grid;gap:8px;margin-top:14px}
.mtr-disclosure{border:1px solid var(--rule);border-radius:4px;background:#F2F2F2}
.mtr-disclosure summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:44px;padding:12px 14px;cursor:pointer;list-style-position:inside;font-weight:680;color:var(--ink)}
.mtr-disclosure summary small{color:var(--ink-faint);font-weight:400;font-size:11px;text-align:right}
.mtr-disclosure summary:focus-visible{outline:2px solid var(--struct-axis);outline-offset:-2px}
.mtr-disclosure-body{padding:0 14px 14px}
.mtr-intake.busy{opacity:.72;pointer-events:none}
.mtr-upload-grid{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:10px;align-items:center}
.mtr-upload-grid input{width:100%;border:1px solid var(--rule-strong);border-radius:3px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit}
.mtr-spec-status{border-left:3px solid var(--rule-strong);padding-left:10px}
.mtr-spec-status.validated{border-left-color:var(--pos)}
.mtr-spec-status.needs-review{border-left-color:var(--struct-axis)}
.mtr-intelligence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid var(--rule);padding-top:14px}
.mtr-intelligence-grid select{width:100%;border:1px solid var(--rule-strong);border-radius:3px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit}
.mtr-intelligence-card{display:grid;gap:5px;border:1px solid var(--rule);border-radius:4px;background:#F2F2F2;padding:9px 10px;min-width:0}
.mtr-field-label{font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.mtr-intelligence-status{margin:0;padding-left:8px;font-size:11px;line-height:1.35}
.mtr-intelligence-status.validated{border-left:3px solid var(--pos)}
.mtr-intelligence-status.needs-review{border-left:3px solid var(--struct-axis)}
.mtr-evidence-upload input{font:12px var(--font-ui);color:var(--ink-soft);max-width:100%}
.mtr-evidence-upload small{font-size:11px;line-height:1.35;color:var(--ink-faint)}
.mtr-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 14px}
.mtr-capability-grid .set-radio{align-items:start;border:1px solid var(--rule);border-radius:3px;padding:9px;background:#F2F2F2}
.mtr-capability-grid .set-radio small{display:block;margin-top:3px;line-height:1.35}
.mtr-spec-queue{display:grid;gap:10px}
.mtr-spec-queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--rule-strong);border-left:3px solid var(--struct-axis);border-radius:4px;background:#fff;padding:12px 14px}
.mtr-spec-queue-item.needs_curated_json,.mtr-spec-queue-item.hash_mismatch{border-left-color:var(--neg)}
.mtr-spec-queue-item span{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--neg)}
.mtr-spec-queue-item h4{margin:3px 0 4px;font-size:13px;color:var(--ink);overflow-wrap:anywhere}
.mtr-spec-queue-item p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.42}
.mtr-spec-queue-item small{display:block;margin-top:5px;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}
.mtr-spec-queue-actions{display:grid;gap:6px;justify-items:end}
.mtr-spec-queue-actions b{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.mtr-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid var(--rule);padding-top:14px}
.mtr-context-grid input{width:100%;border:1px solid var(--rule-strong);border-radius:3px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit}
#mtrMatrix{overflow-x:auto;max-width:100%}
.mtr-table{display:grid;margin-top:6px;border:1px solid var(--rule-strong);border-radius:4px;overflow:hidden;background:#fff}
.mtr-head,.mtr-row{display:grid;grid-template-columns:1fr 1.4fr 1fr 1.2fr .8fr;border-bottom:1px solid var(--rule)}
.mtr-head{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);background:#F2F2F2}
.mtr-head span,.mtr-row span{padding:10px 12px;border-right:1px solid var(--rule);min-width:0;overflow:hidden;text-overflow:ellipsis}
.mtr-head span:last-child,.mtr-row span:last-child{border-right:0}
.mtr-row:last-child{border-bottom:0}
.mtr-row span b{display:block;color:var(--ink);font-weight:780;overflow-wrap:anywhere}
.mtr-row span small{display:block;margin-top:3px;font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;color:var(--ink-faint);overflow-wrap:anywhere}
.mtr-row.fail span:last-child,.mtr-row.missing span:last-child,.mtr-row.missing_unit span:last-child{color:var(--neg);font-weight:800}
.mtr-row.needs_review span:last-child,.mtr-row.not_parsed span:last-child,.mtr-row.unsupported_conversion span:last-child{color:var(--struct-ink);font-weight:800}
.mtr-row.blocker span:last-child{color:var(--sev-blocker);font-weight:800}
.mtr-row.major span:last-child{color:var(--sev-major);font-weight:800}
.mtr-row.minor span:last-child{color:var(--sev-minor);font-weight:800}
.mtr-row.pass span:last-child{color:var(--pos);font-weight:800}
.mtr-row.reference span:last-child{color:var(--ink-faint);font-weight:800}
.mtr-summary{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:10px;margin-bottom:14px}
.mtr-verdict{grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(0,1fr);gap:16px;align-items:start;border:1px solid var(--rule-strong);border-left-width:4px;border-radius:4px;background:#fff;padding:14px 16px}
.mtr-verdict span{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.mtr-verdict strong{display:block;margin-top:3px;font-family:var(--font-display);font-size:22px;line-height:1.05;color:var(--ink)}
.mtr-verdict p{margin:5px 0 0;max-width:62ch;font-size:13px;color:var(--ink-soft);line-height:1.42;overflow-wrap:anywhere}
.mtr-verdict.blocked{border-left-color:var(--neg)}
.mtr-verdict.needs-review{border-left-color:var(--struct-axis)}
.mtr-verdict.acceptable{border-left-color:var(--pos)}
.mtr-verdict button{white-space:nowrap}
.mtr-verdict-action{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:6px;min-width:0;max-width:none}
.mtr-verdict-action small{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-faint)}
.mtr-readiness-line{display:block;margin-top:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;color:var(--struct-ink)}
.mtr-stale-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:10px;padding:8px 10px;border:1px solid var(--status-warning);border-radius:3px;background:var(--status-warning-soft);color:var(--ink-soft);font-size:11px;line-height:1.35}
.mtr-stale-warning b{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--warn-ink)}
.mtr-ocr-status{margin:8px 0 0;padding:6px 8px;border:1px solid var(--rule-strong);border-left:3px solid var(--struct-axis);border-radius:3px;background:var(--struct-axis-soft);display:grid;gap:2px}
.mtr-ocr-status[data-ocr-status="limited"],.mtr-ocr-status[data-ocr-status="needs_review"]{border-left-style:dashed;border-left-color:var(--warn);background:#FFFFFF}
.mtr-ocr-status[data-ocr-status="unavailable"]{border-left-style:dotted;border-left-color:var(--status-failure);background:var(--status-failure-soft)}
.mtr-ocr-status span{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.mtr-ocr-status small{font-size:11px;line-height:1.35;color:var(--ink-soft);overflow-wrap:anywhere}
.mtr-charpy-readings ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.mtr-charpy-readings li{display:grid;grid-template-columns:minmax(72px,.55fr) minmax(0,1fr);gap:4px 8px;align-items:baseline}
.mtr-charpy-readings li b{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}
.mtr-charpy-readings li span{font-size:12px;color:var(--ink-soft);overflow-wrap:anywhere}
.mtr-charpy-readings li small{grid-column:2;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}
.mtr-charpy-aggregate{margin:7px 0 0;font-size:11px;color:var(--ink-soft)}
.mtr-charpy-aggregate strong{font-family:var(--font-mono);color:var(--ink)}
.mtr-summary-total,.mtr-summary-chip{border:1px solid var(--rule-strong);border-radius:4px;background:#fff;padding:12px 14px;display:grid;gap:2px}
.mtr-summary-total strong,.mtr-summary-chip strong{font-family:var(--font-display);font-size:22px;line-height:1;color:var(--ink)}
.mtr-summary-total span,.mtr-summary-chip span{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}
.mtr-summary-chip.blocker strong{color:var(--sev-blocker)}
.mtr-summary-chip.major strong{color:var(--sev-major)}
.mtr-summary-chip.minor strong{color:var(--sev-minor)}
.mtr-summary-chip.needs_review strong{color:var(--struct-ink)}
.mtr-attachment-policy{display:grid;gap:4px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--rule-strong);border-left:3px solid var(--struct-axis);border-radius:4px;background:#F2F2F2;color:var(--ink-soft);font-size:12px;line-height:1.4}
.mtr-attachment-policy strong{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.mtr-extract{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.mtr-extract div{border:1px solid var(--rule);border-radius:4px;background:#F2F2F2;padding:10px 12px;min-width:0}
.mtr-extract span{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:4px}
.mtr-extract strong{display:block;font-size:12px;color:var(--ink-soft);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtr-intelligence-summary{grid-column:1/-1;display:grid;gap:10px;border:1px solid var(--rule-strong);border-left:3px solid var(--struct-axis);border-radius:4px;background:#fff;padding:12px}
.mtr-intelligence-head{display:flex;justify-content:space-between;gap:12px;align-items:end;border-bottom:1px solid var(--rule);padding-bottom:8px}
.mtr-intelligence-head span,.mtr-intelligence-facts span,.mtr-intelligence-section-label{display:block;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.mtr-intelligence-head strong{display:block;margin-top:3px;font-size:14px;color:var(--ink)}
.mtr-intelligence-head small{font:10px var(--font-mono);color:var(--ink-faint)}
.mtr-intelligence-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mtr-intelligence-facts>div{border:1px solid var(--rule);border-radius:3px;background:#F2F2F2;padding:8px 9px;min-width:0}
.mtr-intelligence-facts strong{display:block;margin-top:4px;font-size:12px;overflow-wrap:anywhere;color:var(--ink)}
.mtr-intelligence-facts small{display:block;margin-top:4px;font-size:10px;line-height:1.35;color:var(--ink-faint)}
.mtr-derived{display:grid;gap:5px}
.mtr-intelligence-section-label{margin-bottom:1px}
.mtr-derived-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--rule);padding:7px 0}
.mtr-derived-row b{display:block;font-size:12px;color:var(--ink)}
.mtr-derived-row small{display:block;margin-top:2px;font:10px var(--font-mono);color:var(--ink-faint);overflow-wrap:anywhere}
.mtr-derived-row>strong{font:650 12px var(--font-mono);text-align:right;color:var(--struct-ink);white-space:nowrap}
.mtr-derived-row>strong.pass{color:var(--pos)}
.mtr-derived-row>strong.fail{color:var(--neg)}
.mtr-derived-row>strong small{font-weight:400}
.mtr-correction-workbench,.mtr-spec-workbench{grid-column:1/-1;display:grid;gap:10px;border:1px solid var(--rule-strong);border-left:3px solid var(--action);border-radius:4px;background:#fff;padding:12px}
.mtr-spec-workbench{border-left-color:var(--struct-axis)}
.mtr-workbench-head{display:flex;justify-content:space-between;align-items:end;gap:12px;border-bottom:1px solid var(--rule);padding-bottom:8px}
.mtr-workbench-head span{display:block;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.mtr-workbench-head strong{display:block;margin-top:3px;font-size:14px;color:var(--ink)}
.mtr-workbench-head small{font:10px var(--font-mono);color:var(--ink-faint);overflow-wrap:anywhere;text-align:right}
.mtr-correction-list{display:grid;gap:5px}
.mtr-correction-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--rule);padding:7px 0}
.mtr-correction-row>div{min-width:0}
.mtr-correction-row b,.mtr-correction-row span{display:block;overflow-wrap:anywhere}
.mtr-correction-row b{font-size:12px;color:var(--ink)}
.mtr-correction-row span{margin-top:2px;font:10px var(--font-mono);color:var(--ink-faint)}
.mtr-correction-form{display:grid;gap:10px;border-top:1px solid var(--rule);padding-top:10px}
.mtr-correction-form form,.mtr-spec-workbench{min-width:0}
.mtr-correction-form form{display:grid;gap:9px}
.mtr-correction-form label,.mtr-spec-workbench>label{display:grid;gap:4px;color:var(--ink-soft);font-size:11px}
.mtr-correction-form input,.mtr-correction-form select,.mtr-correction-form textarea,.mtr-spec-workbench textarea{width:100%;border:1px solid var(--rule-strong);border-radius:3px;background:#fff;padding:8px 9px;color:var(--ink);font:inherit}
.mtr-correction-form textarea,.mtr-spec-workbench textarea{resize:vertical;min-height:60px}
.mtr-spec-workbench textarea{font:11px var(--font-mono);line-height:1.45;min-height:180px}
.mtr-spec-group{display:grid;gap:9px;margin:0;padding:12px;border:1px solid var(--rule);border-radius:3px;background:#F2F2F2;min-width:0}
.mtr-spec-group legend{padding:0 5px;font-weight:700;color:var(--ink)}
.mtr-spec-group>.muted-note{margin:0}
.mtr-guided-editor{display:grid;gap:10px;min-width:0}
.mtr-guided-row{display:grid;grid-template-columns:minmax(110px,1.2fr) repeat(3,minmax(70px,.7fr)) 68px minmax(150px,1.4fr);gap:7px;align-items:end;padding-top:9px;border-top:1px solid var(--rule)}
.mtr-guided-row label,.mtr-spec-list-field{display:grid;gap:4px;font-size:10px;color:var(--ink-soft)}
.mtr-guided-label{min-width:0;padding-bottom:7px}.mtr-guided-label b,.mtr-guided-label small{display:block;overflow-wrap:anywhere}.mtr-guided-label b{font-size:12px;color:var(--ink)}.mtr-guided-label small{margin-top:2px;font:10px var(--font-mono);color:var(--ink-faint)}
.mtr-guided-row input,.mtr-spec-list-field textarea{width:100%;min-width:0;border:1px solid var(--rule-strong);border-radius:3px;background:#fff;padding:7px 8px;color:var(--ink);font:inherit}
.mtr-check-field{align-items:center}.mtr-check-field input{width:18px;height:18px;justify-self:start}.mtr-guided-evidence{grid-column:span 1}
.mtr-spec-list-field{padding-top:8px;border-top:1px solid var(--rule)}.mtr-spec-list-field span{font-weight:650;color:var(--ink)}.mtr-spec-list-field small{color:var(--ink-faint)}.mtr-spec-list-field textarea{font:11px var(--font-mono);resize:vertical}
.mtr-spec-empty{padding:8px 0;color:var(--ink-faint);font-size:12px}
.mtr-spec-advanced{border-top:1px solid var(--rule);padding-top:8px}.mtr-spec-advanced summary{cursor:pointer;font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--struct-ink)}.mtr-spec-advanced pre{max-height:240px;overflow:auto;margin:8px 0 0;padding:10px;background:#F2F2F2;color:var(--ink-soft);font:10px/1.45 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}
.mtr-spec-errors{border-left:3px solid var(--status-blocker);padding:8px 10px;background:var(--status-blocker-soft);color:var(--ink-soft);font-size:12px}.mtr-spec-errors b{color:var(--status-blocker)}.mtr-spec-errors ul{margin:6px 0 0;padding-left:18px}
.mtr-next-actions,.mtr-checklist-workbench{display:grid;gap:10px;margin:0 0 14px;border:1px solid var(--rule-strong);border-left:3px solid var(--action);border-radius:4px;background:#fff;padding:12px}
.mtr-checklist-workbench{border-left-color:var(--struct-axis)}
.mtr-next-list{display:grid;gap:6px}.mtr-next-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;width:100%;padding:9px 10px;border:1px solid var(--rule);border-radius:3px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.mtr-next-row:hover{border-color:var(--struct-axis);background:var(--struct-axis-soft)}.mtr-next-row:focus-visible{outline:2px solid var(--struct-axis);outline-offset:2px}.mtr-next-marker{font:700 16px var(--font-mono);color:var(--action-ink)}.mtr-next-row b,.mtr-next-row small{display:block}.mtr-next-row b{font-size:12px}.mtr-next-row small{margin-top:2px;color:var(--ink-soft);font-size:11px;line-height:1.4}
.mtr-checklist-summary,.mtr-checklist-coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mtr-checklist-summary>div,.mtr-checklist-coverage{border:1px solid var(--rule);border-radius:3px;background:#F2F2F2;padding:9px 10px;min-width:0}.mtr-checklist-summary span,.mtr-checklist-coverage span{display:block;font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.mtr-checklist-summary strong,.mtr-checklist-coverage strong{display:block;margin-top:4px;color:var(--ink);overflow-wrap:anywhere}.mtr-checklist-summary small,.mtr-checklist-coverage small{display:block;margin-top:3px;color:var(--ink-faint);font-size:10px;overflow-wrap:anywhere}.mtr-checklist-coverage-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mtr-checklist-unresolved{border-top:1px solid var(--rule);padding-top:9px}.mtr-checklist-unresolved>b{font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--warn-ink)}.mtr-checklist-unresolved ul{display:grid;gap:6px;margin:7px 0 0;padding:0;list-style:none}.mtr-checklist-unresolved li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:7px 0;border-bottom:1px solid var(--rule);font-size:12px}.mtr-checklist-unresolved li small{grid-column:1;color:var(--ink-faint);font-size:11px}.mtr-checklist-unresolved li .linkbtn{grid-column:2;grid-row:1/3;align-self:center}.mtr-checklist-clear,.mtr-checklist-loading{margin:0;padding:10px;border:1px solid var(--rule);background:#F2F2F2;color:var(--ink-soft);font-size:12px}.mtr-checklist-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mtr-checklist-empty{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mtr-inline-reason{color:var(--ink-faint);font-size:11px;line-height:1.4}
.mtr-workbench-approved{font:10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--pos);align-self:center}
.mtr-matrix-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:14px;align-items:start}
.mtr-table.matrix-v2{gap:0}
.mtr-table.matrix-v2 .mtr-row{grid-template-columns:.95fr minmax(180px,1.35fr) minmax(150px,1fr) minmax(150px,1fr) minmax(112px,.7fr)}
.mtr-row.annotation-focus{outline:2px solid var(--struct-axis);outline-offset:-2px;background:var(--struct-axis-soft)}
.mtr-row.evidence-focus{box-shadow:inset 3px 0 0 var(--action);background:#FFFFFF}
.mtr-group{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--rule);background:#F2F2F2}
.mtr-group h4{margin:0;font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.mtr-group span{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.mtr-evidence{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;border-top:1px solid var(--rule);background:var(--canvas)}
.mtr-evidence-col{min-width:0;border:1px solid var(--rule);border-radius:3px;background:#fff;padding:9px 10px}
.mtr-evidence-col b{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}
.mtr-evidence-col p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.42;overflow-wrap:anywhere}
.mtr-evidence-col small{display:block;margin-top:5px;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);line-height:1.35}
.mtr-evidence-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px}
.mtr-preview-link{margin-top:7px;font-size:10px}
.mtr-row-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0 12px 12px;background:#F2F2F2}
.mtr-row-details:empty{display:none}
.mtr-refs,.mtr-condition-panel,.mtr-row-finding,.mtr-charpy-readings{min-width:0;border:1px solid var(--rule);border-radius:3px;background:#fff;padding:9px 10px}
.mtr-refs>b,.mtr-condition-panel>b,.mtr-row-finding>b,.mtr-charpy-readings>b{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.mtr-refs>div{display:flex;flex-wrap:wrap;gap:6px}
.mtr-refs a,.mtr-refs span{display:inline-flex;align-items:center;max-width:100%;padding:3px 6px;border:1px solid var(--rule-strong);border-radius:3px;background:#F2F2F2;font-family:var(--font-mono);font-size:10px;line-height:1.2;color:var(--ink-soft);text-decoration:none;overflow:hidden;text-overflow:ellipsis}
.mtr-refs a:hover{border-color:var(--ink-faint);color:var(--ink)}
.mtr-condition-panel dl{display:grid;gap:5px;margin:0}
.mtr-condition-panel dl div{display:grid;grid-template-columns:minmax(95px,.7fr) minmax(0,1fr);gap:8px;align-items:start}
.mtr-condition-panel dt{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}
.mtr-condition-panel dd{margin:0;font-size:12px;color:var(--ink-soft);overflow-wrap:anywhere}
.mtr-row-finding p{margin:0 0 6px;font-size:12px;line-height:1.42;color:var(--ink-soft);overflow-wrap:anywhere}
.mtr-row-finding small{display:block;font-family:var(--font-mono);font-size:10px;line-height:1.35;color:var(--ink-faint);overflow-wrap:anywhere}
.mtr-row-link{display:inline-block;margin-top:4px;font-size:10px}
.mtr-side-stack{position:sticky;top:14px;display:grid;gap:12px;max-height:calc(100vh - 170px);overflow:auto}
.mtr-evidence-preview,.mtr-annotations{display:grid;gap:10px;border:1px solid var(--rule-strong);border-radius:4px;background:#fff;padding:12px;min-width:0}
.mtr-evidence-preview[hidden],.mtr-annotations[hidden]{display:none}
.mtr-preview-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mtr-preview-tabs button{border:1px solid var(--rule-strong);border-radius:3px;background:#F2F2F2;padding:7px 8px;font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer}
.mtr-preview-tabs button.on,.mtr-preview-tabs button[aria-pressed="true"]{border-color:var(--action);background:#FBE9EC;color:var(--action-ink)}
.mtr-preview-source{display:grid;grid-template-columns:minmax(160px,42%) minmax(0,1fr);gap:10px;align-items:start}
.mtr-source-sheet{position:relative;aspect-ratio:8.5/11;border:1px solid var(--rule-strong);border-radius:3px;background:var(--canvas);overflow:hidden}
.mtr-source-sheet--live{background:#F2F2F2}
.mtr-source-page{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.mtr-source-region{position:absolute;border:2px solid var(--action);background:rgba(var(--brand-red-rgb),.12);box-shadow:0 0 0 2px rgba(255,255,255,.78);z-index:1}
.mtr-source-empty{position:absolute;inset:0;display:grid;place-items:center;padding:10px;text-align:center;font:10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);z-index:0}
.mtr-source-details{min-width:0}
.mtr-source-details>span{display:block;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}
.mtr-source-details strong{display:block;font-size:12px;color:var(--ink);overflow-wrap:anywhere;margin-bottom:7px}
.mtr-source-details dl{display:grid;gap:4px;margin:0}
.mtr-source-details dl div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:6px;align-items:start}
.mtr-source-details dt{font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.mtr-source-details dd{margin:0;font-size:11px;line-height:1.35;color:var(--ink-soft);overflow-wrap:anywhere}
.mtr-preview-raw{border:1px solid var(--rule);border-radius:3px;background:#F2F2F2;padding:9px 10px}
.mtr-preview-raw b{display:block;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px}
.mtr-preview-raw p{margin:0;font-size:12px;line-height:1.42;color:var(--ink-soft);overflow-wrap:anywhere}
.mtr-preview-alt{justify-self:start;font-size:10px}
.mtr-matrix-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:12px}
.mtr-filter-chips{display:flex;flex-wrap:wrap;gap:6px}
.mtr-filter-chip{border:1px solid var(--rule-strong);border-radius:999px;background:#F2F2F2;padding:5px 10px;font:10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer}
.mtr-filter-chip.on{border-color:var(--action);background:#FBE9EC;color:var(--action-ink)}
.mtr-filter-chip b{margin-left:4px}
.mtr-matrix-search,.mtr-matrix-compare{min-width:180px;flex:1}
.mtr-group{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-top:1px solid var(--rule);background:#F2F2F2;padding:8px 10px;cursor:pointer;text-align:left}
.mtr-group h4{margin:0;font-size:12px}
.mtr-group span{font:10px var(--font-mono);color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase}
.mtr-group.collapsed{opacity:.85}
.mtr-ocr-banner{display:grid;gap:4px;border:1px solid var(--status-warning);background:var(--status-warning-soft);border-radius:4px;padding:10px 12px;margin-bottom:12px}
.mtr-ocr-banner.blocked{border-color:var(--status-blocker);background:var(--status-blocker-soft)}
.mtr-ocr-banner strong{font-size:12px}
.mtr-ocr-banner span{font-size:12px;color:var(--ink-soft)}
.mtr-register-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px;align-items:end}
.mtr-register-list,.mtr-spec-coverage{display:grid;gap:8px}
.mtr-compare-panel{border:1px solid var(--rule-strong);border-radius:4px;padding:12px;margin-bottom:12px;background:#fff}
.mtr-compare-head{display:grid;gap:4px;margin-bottom:10px}
.mtr-modal{border:none;padding:0;background:transparent;max-width:min(520px,92vw)}
.mtr-modal::backdrop{background:rgba(var(--navy-rgb),.45)}
.mtr-modal-card{display:grid;gap:12px;background:#fff;border:1px solid var(--rule-strong);border-radius:6px;padding:18px;box-shadow:var(--shadow-overlay)}
.mtr-modal-card h3{margin:0}
.mtr-verdict-action{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:flex-start;min-width:0;max-width:none}
.mtr-annotations-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--rule);padding-bottom:9px}
.mtr-annotations-head h4{margin:0;font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.mtr-annotations-head span{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}
.mtr-annotation-card{display:grid;gap:7px;border:1px solid var(--rule);border-radius:4px;background:#F2F2F2;padding:10px;min-width:0}
.mtr-annotation-card.editing{background:#fff}
.mtr-annotation-top{display:flex;align-items:start;justify-content:space-between;gap:8px}
.mtr-annotation-top b{font-size:13px;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
.mtr-annotation-top span,.mtr-annotation-card small{font-family:var(--font-mono);font-size:10px;line-height:1.35;color:var(--ink-faint);overflow-wrap:anywhere}
.mtr-annotation-card p{margin:0;font-size:12px;line-height:1.4;color:var(--ink-soft);overflow-wrap:anywhere}
.mtr-annotation-card label{display:grid;gap:4px;font-size:11px;color:var(--ink-faint)}
.mtr-annotation-card textarea{resize:vertical;min-height:70px}
.mtr-annotation-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.linkbtn.danger{color:var(--neg)}
.mtr-findings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 10px}
.mtr-findings-head h4{margin:0;font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.02em}
.mtr-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.mtr-findings{display:grid;gap:10px}
.mtr-finding{border:1px solid var(--rule-strong);border-radius:4px;background:#fff;padding:13px 14px;box-shadow:0 1px 0 rgba(255,255,255,.65) inset}
.mtr-finding-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mtr-finding p{margin:0 0 10px;color:var(--ink)}
.mtr-finding-note{font-size:12px;color:var(--ink-soft);border-top:1px solid var(--rule);padding-top:8px;margin-top:8px}
.mtr-finding-note span{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:2px}
.mtr-review-dock{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:184px;margin-top:16px;border:1px solid var(--rule-strong);border-radius:4px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}
.mtr-review-dock[hidden]{display:none}
.mtr-dock-tabs{border-right:1px solid var(--rule);background:#F2F2F2}
.mtr-dock-tabs button{display:block;width:100%;min-height:44px;text-align:left;padding:13px 16px;border:0;border-bottom:1px solid var(--rule);background:transparent;font:12px var(--font-mono);color:var(--ink-soft);cursor:pointer}
.mtr-dock-tabs button.on{color:var(--action-ink);background:#fff;box-shadow:inset 3px 0 0 var(--action)}
.mtr-dock-tabs b{float:right;font:10px var(--font-mono);color:var(--ink-faint)}
.mtr-dock-body{min-width:0;display:flex;flex-direction:column}
.mtr-dock-panel{display:none;min-height:0;height:100%}
.mtr-dock-panel.on{display:flex;flex-direction:column}
.mtr-comment-form input{font-family:var(--font-ui)}
.mtr-copilot{background:#fff;margin:0}
.mtr-copilot .copilot-panel{display:grid;gap:8px}
.mtr-copilot .copilot-result{margin-top:2px}
.mtr-decision-assist{border-top:1px solid var(--rule);padding-top:10px;margin-top:4px}
.mtr-decision-assist .copilot-result{margin-top:8px}

/* card grids (standards / templates) */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:22px 0 32px}
.std-source-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.std-card,.tpl-card{background:var(--panel);border:1px solid var(--rule-strong);border-radius:4px;padding:17px 18px;box-shadow:var(--shadow)}
.std-card{cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s}
.std-card:hover,.std-card.on{border-color:var(--action);transform:translateY(-1px);box-shadow:var(--shadow)}
.std-card.on{box-shadow:inset 0 0 0 2px rgba(var(--brand-red-rgb),.16),var(--shadow)}
.std-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.std-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--struct-axis);background:var(--struct-axis-soft);padding:3px 7px;border-radius:3px}
.std-state{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.std-state.on{color:var(--pos)}
.std-card h3,.tpl-card h3{font-family:var(--font-display);font-weight:740;font-stretch:112%;font-size:16px;margin:0 0 6px;color:var(--ink)}
.std-card p,.tpl-card p{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:0}
.std-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-top:13px;border-top:1px solid var(--rule);padding-top:11px}
.std-rule-browser{grid-column:1/-1;background:var(--panel);border:1px solid var(--rule-strong);box-shadow:var(--shadow);padding:18px;margin-top:2px}
.std-browser-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:14px}
.std-browser-head h3{font-family:var(--font-display);font-size:22px;font-weight:760;font-stretch:116%;margin:4px 0 4px}
.std-browser-head p{max-width:720px;margin:0;color:var(--ink-soft);font-size:13px;line-height:1.5}
.std-search{display:block;min-width:260px}
.std-search span{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.std-search input{width:100%;border:1px solid var(--rule-strong);background:#fff;padding:9px 10px;font:12px var(--font-ui);color:var(--ink)}
.std-rules{display:grid;gap:10px}
.std-rule{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 15px;border:1px solid var(--rule);background:#fff}
.std-rule.draft{border-color:rgba(0,107,120,.42);background:var(--struct-axis-soft)}
.std-rule-id{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--ink-faint);overflow-wrap:anywhere}
.std-rule-id span{margin-left:8px;color:var(--struct-axis);text-transform:uppercase}
.std-rule h4{font-size:15px;margin:5px 0 7px;color:var(--ink);font-weight:760}
.std-rule p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.48}
.std-rule .std-why,.std-rule .std-standard{margin-top:7px}
.std-rule p b{color:var(--ink)}
.std-rule-actions{display:flex;gap:10px;align-items:flex-start;white-space:nowrap}
.std-rule-actions .warn{color:var(--neg)}
.std-rule-editor{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--rule);padding-top:12px}
.std-rule-editor label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.std-rule-editor input,.std-rule-editor textarea{font:13px var(--font-ui);letter-spacing:0;text-transform:none;color:var(--ink);border:1px solid var(--rule-strong);padding:9px;background:#fff;resize:vertical}
.std-rule-editor label:nth-child(n+2){grid-column:1/-1}
.std-editor-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center}
.std-empty{font-size:13px;color:var(--ink-soft);border:1px dashed var(--rule-strong);background:#fff;padding:18px}
.std-empty code{font-family:var(--font-mono);font-size:12px}
.tpl-fams{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}
.tpl-fams span{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:#F2F2F2;border:1px solid var(--rule);border-radius:3px;padding:3px 7px}
.tpl-card.on{border-color:var(--action);box-shadow:inset 3px 0 0 var(--action)}
.tpl-card .btn{margin-top:13px}

/* review profiles */
.rp-module-toggle{display:flex;gap:8px;margin:0 0 16px}
.rp-module-toggle .btn[aria-selected="true"]{background:var(--action);color:#fff;border-color:var(--action)}
.rp-active{margin:18px 0 14px;font-size:13px;color:var(--ink-soft)}
.rp-active .linkbtn{margin-left:10px}
.rp-editor{max-width:720px}
.rp-hint{font-size:13px;color:var(--ink-faint)}
.rp-fam{margin:14px 0}
.rp-fam h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 6px}
.rp-rule{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--rule)}
.rp-en{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}
.rp-rule select{font-family:var(--font-mono);font-size:11px;padding:4px 6px;border:1px solid var(--rule-strong);background:var(--panel);border-radius:2px}

/* mtr batch dossier actions */
.mtr-batch-actions{margin:10px 0 4px}

/* standards console */
.standards-console-wrap{max-width:none;padding:28px 28px 40px}
.stdc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
.stdc-head h2{font-family:var(--font-display);font-size:28px;font-stretch:116%;font-weight:780;margin:4px 0 4px;color:var(--ink)}
.stdc-head p{margin:0;color:var(--ink-soft);font-size:13px}
.stdc-head-actions{display:flex;align-items:center;gap:12px}
.stdc-search{position:relative;display:block;min-width:310px}
.stdc-search::after{content:"⌕";position:absolute;right:11px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);color:var(--ink-faint)}
.stdc-search input{width:100%;height:36px;border:1px solid var(--rule-strong);background:#fff;padding:0 34px 0 12px;font:12px var(--font-ui);color:var(--ink)}
.stdc-tabs,.module-tabs{display:flex;gap:28px;border-bottom:1px solid var(--rule);margin-bottom:12px}
.stdc-tabs button,.module-tabs button{border:0;background:transparent;padding:14px 0 12px;font:700 12px var(--font-ui);color:var(--ink-soft);cursor:pointer;position:relative}
.stdc-tabs button.on,.stdc-tabs button[aria-selected="true"],.module-tabs button.on,.module-tabs button[aria-selected="true"]{color:var(--ink)}
.stdc-tabs button.on::after,.stdc-tabs button[aria-selected="true"]::after,.module-tabs button.on::after,.module-tabs button[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--action)}
a.btn,a.linkbtn,a.docs-link{text-decoration:none;display:inline-flex;align-items:center}
.tab-count{font:600 10px var(--font-mono);color:var(--ink-faint);margin-left:5px;letter-spacing:.04em}
.tab-count.blocker{color:var(--neg)}
.stdc-console{min-height:620px}
.stdc-layout{display:grid;grid-template-columns:300px minmax(430px,1fr) minmax(360px,38vw);gap:0;border:1px solid var(--rule-strong);background:#fff;box-shadow:var(--shadow)}
.stdc-library,.stdc-editor,.stdc-live{min-width:0;min-height:620px}
.stdc-library{border-right:1px solid var(--rule);background:#F2F2F2}
.stdc-editor{border-right:1px solid var(--rule);background:#fff}
.stdc-live{background:#F2F2F2}
.stdc-pane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid var(--rule)}
.stdc-pane-head b,.stdc-section-title{font:760 12px var(--font-ui);color:var(--ink)}
.stdc-filter{padding:10px 12px;border-bottom:1px solid var(--rule)}
.stdc-filter select,.stdc-rule-title select,.stdc-live-head select,.stdc-testbar select{width:100%;border:1px solid var(--rule-strong);background:#fff;padding:8px 30px 8px 9px;font:11px var(--font-ui);color:var(--ink)}
.stdc-lib-head{display:grid;grid-template-columns:1fr 64px;gap:10px;padding:8px 12px;font:700 10px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--rule)}
.stdc-lib-list{max-height:calc(100vh - 250px);overflow:auto;padding:6px}
.stdc-std{border-bottom:1px solid var(--rule)}
.stdc-std-row{display:grid;grid-template-columns:18px minmax(0,1fr) 42px 12px;gap:8px;align-items:center;width:100%;border:0;background:transparent;text-align:left;padding:9px 7px;cursor:pointer;color:var(--ink)}
.stdc-std.on .stdc-std-row,.stdc-std-row:hover{background:#fff}
.stdc-std-row input{accent-color:var(--action)}
.stdc-std-row b{display:block;font-size:12px;line-height:1.15}
.stdc-std-row small{display:block;margin-top:2px;font:10px var(--font-mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em}
.stdc-std-row i{font-style:normal;font:10px var(--font-mono);color:var(--ink-soft);text-align:right}
.stdc-std-row em{width:7px;height:7px;border-radius:50%;background:var(--rule-strong)}
.stdc-std-row em.live{background:var(--pos)}
.stdc-std-row em.draft{background:var(--warn)}
.stdc-cats{padding:0 0 8px 32px}
.stdc-cat{font-size:12px;color:var(--ink-soft);padding:6px 8px;border-left:2px solid transparent}
.stdc-cat.on{border-left-color:var(--action);background:#fff}
.stdc-cat>span{font-weight:650;color:var(--ink)}
.stdc-cat>b{float:right;font:10px var(--font-mono);color:var(--ink-faint)}
.stdc-cat-rules{clear:both;display:grid;gap:3px;padding-top:7px}
.stdc-cat-rules button{border:0;background:transparent;text-align:left;padding:6px 8px;font-size:11px;color:var(--ink-soft);cursor:pointer;border-radius:2px}
.stdc-cat-rules button.on,.stdc-cat-rules button:hover{background:#FBE9EC;color:var(--action-ink)}
.stdc-cat-rules em{font-style:normal;font:10px var(--font-mono);color:var(--ink-faint);text-transform:uppercase}
.stdc-breadcrumb{padding:13px 16px 0;font:10px var(--font-mono);color:var(--ink-faint)}
.stdc-breadcrumb span{margin:0 6px;color:var(--ink-soft)}
.stdc-rule-title{display:flex;justify-content:space-between;gap:14px;padding:8px 16px 12px;border-bottom:1px solid var(--rule)}
.stdc-rule-title h3{margin:0 0 8px;font-size:20px;color:var(--ink)}
.stdc-rule-state{display:inline-flex;align-items:center;gap:6px;font:10px var(--font-mono);text-transform:uppercase;color:var(--ink-faint)}
.stdc-rule-state::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rule-strong)}
.stdc-rule-state.on{color:var(--pos)}
.stdc-rule-state.on::before{background:var(--pos)}
.stdc-rule-form{padding:14px 16px 16px;display:grid;gap:12px}
.stdc-rule-form label{display:flex;flex-direction:column;gap:6px;font:10px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}
.stdc-rule-form input,.stdc-rule-form textarea,.stdc-rule-form select{border:1px solid var(--rule-strong);background:#fff;padding:9px 10px;font:13px var(--font-ui);color:var(--ink);text-transform:none;letter-spacing:0;resize:vertical}
.stdc-rule-form input:disabled{background:#F2F2F2;color:var(--ink-soft)}
.stdc-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stdc-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--rule);padding-top:12px}
.stdc-toggle{margin-right:auto;flex-direction:row!important;align-items:center;font-family:var(--font-ui)!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink-soft)!important}
.stdc-toggle input{accent-color:var(--pos)}
.stdc-history{padding:0 16px 16px}
.stdc-history-grid{display:grid;grid-template-columns:70px 92px minmax(0,1fr) 90px;gap:8px 10px;margin-top:8px;font-size:11px;color:var(--ink-soft)}
.stdc-history-grid b{font:10px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}
.stdc-live-head{display:grid;grid-template-columns:1fr minmax(170px,260px);gap:12px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--rule);background:#fff}
.stdc-live-head b{font-size:12px;color:var(--ink)}
.stdc-preview-frame{position:relative;margin:12px;border:1px solid var(--rule-strong);background:#fff;min-height:320px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.stdc-preview-frame img{display:block;width:100%;height:auto}
.stdc-preview-empty{padding:40px 20px;color:var(--ink-faint);font:12px var(--font-mono)}
.stdc-region{position:absolute;border:2px solid var(--action);background:rgba(var(--brand-red-rgb),.08);box-shadow:0 0 0 2px rgba(255,255,255,.72)}
.stdc-callout{position:absolute;right:16px;top:16px;max-width:220px;background:#fff;border:1px solid var(--rule-strong);box-shadow:var(--shadow);padding:9px 10px;font:10px/1.4 var(--font-mono);color:var(--ink-soft)}
.stdc-callout.fail{border-color:rgba(var(--status-failure-rgb),.45);color:var(--status-failure)}
.stdc-testbar{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:10px;align-items:end;padding:0 12px 12px}
.stdc-testbar label{font:10px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}
.stdc-testbar label select{display:block;margin-top:6px}
.stdc-results{display:grid;gap:8px;padding:0 12px 14px}
.stdc-result{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:start;background:#fff;border:1px solid var(--rule);padding:10px 11px;font-size:12px;color:var(--ink-soft)}
.stdc-result b{font:10px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--rule-strong);padding:2px 5px;text-align:center}
.stdc-result small{display:block;margin-top:3px;font:10px var(--font-mono);color:var(--ink-faint)}
.stdc-result.fail b{color:var(--status-failure);border-color:rgba(var(--status-failure-rgb),.38);background:var(--status-failure-soft)}
.stdc-result.pass b{color:var(--pos);border-color:rgba(var(--status-pass-rgb),.38);background:var(--pos-soft)}
.stdc-result.warn b{color:var(--status-warning);border-color:rgba(var(--status-warning-rgb),.38);background:var(--status-warning-soft)}
.stdc-result.muted{display:block;color:var(--ink-faint);font-family:var(--font-mono)}
.stdc-flat{border:1px solid var(--rule-strong);background:#fff;box-shadow:var(--shadow);padding:14px;display:grid;gap:10px}
.stdc-local-notice{font:650 11px var(--font-ui);line-height:1.4;color:var(--ink-soft);background:var(--struct-axis-soft);border:1px solid var(--rule-strong);border-left:3px solid var(--struct-axis);padding:8px 11px;margin:0}
.stdc-editor>.stdc-local-notice{margin:12px 14px 0}
.stdc-check-row{display:grid;grid-template-columns:minmax(0,1fr) 280px 70px;gap:14px;align-items:center;border:1px solid var(--rule);background:#fff;text-align:left;padding:12px;cursor:pointer}
.stdc-check-row:hover{border-color:var(--action);background:var(--action-soft)}
.stdc-check-row b{font-size:13px;color:var(--ink)}
.stdc-check-row span{font-size:12px;color:var(--ink-soft)}
.stdc-check-row i{font-style:normal;font:10px var(--font-mono);color:var(--ink-faint);text-transform:uppercase;text-align:right}
.review-profile-status{margin:10px 0 0;font-size:13px;color:var(--ink-soft)}
.stdc-profiles-error{display:grid;gap:10px;padding:14px;border:1px solid var(--rule-strong);background:#fff}
.stdc-profiles-error p{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.45}
.stdc-policy{display:grid;grid-template-columns:20px minmax(0,1fr) 70px;gap:10px;align-items:start;border:1px solid var(--rule);padding:13px;background:#fff}
.stdc-policy input{accent-color:var(--pos)}
.stdc-policy b{display:block;font-size:13px;color:var(--ink)}
.stdc-policy small{display:block;margin-top:4px;font-size:12px;color:var(--ink-soft);line-height:1.4}
.stdc-policy em{font-style:normal;font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-align:right}
@media (max-width:1280px){
  .stdc-layout{grid-template-columns:260px minmax(360px,1fr);}.stdc-live{grid-column:1/-1;border-top:1px solid var(--rule);border-right:0}.stdc-editor{border-right:0}
}

/* audit timeline */
.timeline{margin:24px 0 36px;padding-left:6px}
.tl-item{position:relative;padding:0 0 20px 26px;border-left:1px solid var(--rule-strong);margin-left:6px}
.tl-item:last-child{border-left-color:transparent;padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-5px;top:2px;width:9px;height:9px;border-radius:50%;background:var(--struct-axis);box-shadow:0 0 0 3px var(--canvas)}
.tl-when{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}
.tl-what{font-size:13px;color:var(--ink);margin-top:3px}
.tl-what b{font-weight:640}
.tl-who{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);margin-top:3px}
.audit-deleted-docs{border:1px solid rgba(var(--status-warning-rgb),.28);background:var(--status-warning-soft);padding:14px 16px;margin:0 0 20px 0;display:grid;gap:10px}
.audit-deleted-docs>div:first-child{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid rgba(var(--status-warning-rgb),.18);padding-bottom:10px}
.audit-deleted-docs b{font-size:13px;color:var(--ink)}
.audit-deleted-docs p{margin:2px 0 0;font-size:12px;color:var(--ink-soft);line-height:1.4}
.audit-deleted-row{display:grid;grid-template-columns:120px minmax(140px,260px) minmax(0,1fr);gap:12px;align-items:start;font-size:12px;color:var(--ink-soft)}
.audit-deleted-row span{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}
.audit-deleted-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.audit-deleted-row em{font-style:normal;line-height:1.35;color:var(--ink-soft)}

/* settings */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px 0 32px}
.set-panel .pb{padding:14px 18px}
.set-kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:13px}
.set-kv:last-child{border-bottom:none}
.set-kv span{color:var(--ink-faint)}
.set-kv b{color:var(--ink)}
.set-radio{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--rule)}
.set-radio:last-child{border-bottom:none}
.set-radio b{display:block;font-size:13px;color:var(--ink)}
.set-radio small{display:block;font-size:12px;color:var(--ink-soft);margin-top:3px}
.set-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--rule);font-size:13px;color:var(--ink)}
.set-row:last-child{border-bottom:none}
.set-coming-soon{margin:0;font-size:13px;line-height:1.45;color:var(--ink-soft)}
.copilot-status{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--rule);background:rgba(255,255,255,.48);padding:10px 12px;margin-bottom:12px}
.copilot-status span{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.copilot-status b{font-size:13px;color:var(--ink)}
.copilot-status.on{border-color:rgba(var(--status-pass-rgb),.35);background:var(--pos-soft)}
.copilot-status.off{border-style:dashed}
.copilot-status.sample{background:var(--struct-axis-soft);border-color:rgba(var(--struct-rgb),.35)}
.copilot-note{font-size:13px;color:var(--ink-soft);line-height:1.55;margin:0 0 12px}
.copilot-select{display:block;margin-bottom:12px}
.copilot-select span{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.copilot-select select{width:100%;font-family:var(--font-ui);font-size:13px;font-weight:650;color:var(--ink);padding:9px 32px 9px 10px;border:1px solid var(--rule-strong);border-radius:0;background:var(--panel);appearance:none}
.copilot-select select:focus-visible{outline:2px solid var(--struct-axis);outline-offset:1px}
.copilot-candidates{display:grid;gap:8px}
.copilot-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-top:1px solid var(--rule);padding-top:8px;font-size:12px}
.copilot-row:first-child{border-top:none}
.copilot-row b{display:block;font-size:13px;color:var(--ink)}
.copilot-row small{display:block;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);margin-top:2px}
.copilot-row>span{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);text-align:right;max-width:190px}
.copilot-row.ok>span{color:var(--pos)}

/* review workspace toolbar */
.rv-toolbar{display:flex;align-items:center;gap:14px;padding:10px 0;margin-top:6px;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.hide-markup #markup{display:none}
.rv-menu-wrap .rv-menu{left:0;right:auto;min-width:196px}
.rv-menu-trigger{border:1px solid var(--rule-strong);border-radius:3px;background:#fff;color:var(--ink-soft);padding:7px 11px;font:10px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.rv-menu-trigger:hover,.rv-menu-trigger[aria-expanded="true"]{border-color:var(--ink);background:#fff;color:var(--ink)}
.rv-menu-item{font:12px var(--font-ui)!important;letter-spacing:normal!important;text-transform:none!important}
.rv-menu-item[role="menuitemradio"]::before{content:'○';display:inline-block;width:18px;color:var(--ink-faint)}
.rv-menu-item[role="menuitemradio"][aria-checked="true"]::before{content:'●';color:var(--struct-axis)}
.rv-menu-item[role="menuitemcheckbox"]::before{content:'□';display:inline-block;width:18px;color:var(--ink-faint)}
.rv-menu-item[role="menuitemcheckbox"][aria-checked="true"]::before{content:'✓';color:var(--struct-axis);font-weight:700}
.rv-menu-item.on{background:var(--struct-axis-soft);color:var(--ink)}
.rv-demo{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:6px 11px;border:1px dashed var(--rule-strong);background:none;color:var(--ink-faint);border-radius:3px;cursor:not-allowed}
.review-stage-hidemarkup .markup{display:none}

/* review bottom timeline */
.rv-timeline{display:flex;gap:8px;align-items:center;padding:14px 0 4px;overflow-x:auto;border-top:1px solid var(--rule);margin-top:8px}

/* screenshot-faithful Reviews workspace */
.review-workspace{
  --rv-red:var(--action-ink);
  --rv-rail:#F2F2F2;
  --rv-line:#E1E5EB;
  --rv-muted:var(--ink-faint);
  padding:0;
}
.review-topline{
  display:grid;
  /* Two tiers instead of one dense band: the drawing identity holds the left
     column, while the severity summary and the tuning controls stack on the
     right — status above, actions below — so chips, slider, and buttons no
     longer compete on a single line. */
  grid-template-columns:minmax(220px,1fr) auto;
  grid-template-areas:"id summary" "id controls";
  align-items:center;
  gap:8px 18px;
  padding:12px 18px;
  border-bottom:1px solid var(--rv-line);
  background:rgba(255,255,255,.84);
}
.review-topline .review-doc-id{grid-area:id}
.review-topline .rh-summary{grid-area:summary;justify-self:end}
.review-topline .review-controls{grid-area:controls;justify-self:end}
.review-doc-id h1,.doc-name{
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:760;
  letter-spacing:.02em;
  margin:0;
  text-transform:uppercase;
}
.review-controls{display:flex;align-items:center;gap:8px}
.review-save-state{margin-top:7px;font:10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--pos)}
.review-progress{position:sticky;top:var(--topbar-h);z-index:24;display:flex;align-items:center;gap:9px;padding:9px 18px;border-bottom:1px solid rgba(var(--struct-rgb),.28);background:var(--struct-axis-soft);color:var(--struct-ink);font:11px var(--font-mono);letter-spacing:.04em}
.review-progress[hidden]{display:none}
.review-progress-dot{width:9px;height:9px;border-radius:50%;border:2px solid rgba(var(--struct-rgb),.28);border-top-color:var(--struct-axis);animation:review-progress-spin .8s linear infinite}
@keyframes review-progress-spin{to{transform:rotate(360deg)}}
.topbar .btn.primary.context-secondary{background:#fff;color:var(--action-ink);border-color:var(--rule-strong)}
.topbar .btn.primary.context-secondary:hover{background:var(--action-soft);border-color:var(--action-ink)}
.drawing-share-panel{margin:0 0 12px;padding:12px 14px;border:1px solid var(--line,#BBC4D0);border-radius:2px;background:var(--panel,#F2F2F2)}
.drawing-share-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.drawing-share-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.drawing-share-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line,#E1E5EB)}
.drawing-share-row:first-child{border-top:0;padding-top:0}
.drawing-share-revoke{flex:0 0 auto}
.mtr-share-panel{margin:0 0 12px;padding:12px 14px;border:1px solid var(--line,#BBC4D0);border-radius:2px;background:var(--panel,#F2F2F2)}
.mtr-share-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.mtr-share-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.mtr-share-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line,#E1E5EB)}
.mtr-share-row:first-child{border-top:0;padding-top:0}
.mtr-share-revoke{flex:0 0 auto}
.mtr-share-status{display:inline-block;margin-left:8px;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.mtr-share-status-active{color:var(--status-pass)}
.mtr-share-status-expired{color:var(--status-warning)}
.mtr-share-status-revoked{color:var(--status-failure)}
.rc-params{display:flex;align-items:center;gap:8px;padding-right:12px;margin-right:2px;border-right:1px solid var(--rule)}
.thresh.compact{min-width:185px}
.thresh.compact span{font-size:10px}
.review-lab{
  display:grid;
  grid-template-columns:clamp(218px,18vw,232px) minmax(640px,1fr) clamp(272px,22vw,304px);
  min-height:calc(100vh - var(--topbar-h));
  background:#F2F2F2;
  border-top:1px solid rgba(255,255,255,.7);
}
.review-lab.findings-collapsed{grid-template-columns:minmax(640px,1fr) clamp(272px,22vw,304px)}
.review-lab.findings-collapsed .review-left{display:none}
.review-lab.evidence-collapsed{grid-template-columns:clamp(218px,18vw,232px) minmax(640px,1fr)}
.review-lab.evidence-collapsed .evidence-panel{display:none}
.review-lab.findings-collapsed.evidence-collapsed{grid-template-columns:minmax(0,1fr)}
.review-left,.evidence-panel{
  background:var(--rv-rail);
  border-right:1px solid var(--rv-line);
  min-height:inherit;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.evidence-panel{border-right:none;border-left:1px solid var(--rv-line)}
/* The evidence-sheet backdrop only exists at phone widths (see the <=760px
   block, which flips this to display:block). */
.ev-backdrop{display:none}
.review-left-head,.ep-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:16px 16px 12px;
  border-bottom:1px solid var(--rv-line);
}
.ep-head{
  min-height:51px;
  padding:10px 12px;
  align-items:center;
  background:#fff;
}
.doc-rev{
  margin-top:5px;
  font-family:var(--font-mono);
  font-size:10px;
  color:var(--rv-muted);
}
.review-status-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  padding:12px 14px;
  border-bottom:1px solid var(--rv-line);
}
.review-status-strip div{background:#fff;padding:8px 9px;border:1px solid var(--rv-line)}
.review-status-strip b{display:block;color:var(--rv-red);font-size:18px;line-height:1;font-family:var(--font-display)}
.review-status-strip span{display:block;margin-top:5px;font-family:var(--font-mono);font-size:10px;color:var(--rv-muted);text-transform:uppercase;letter-spacing:.06em}
.sheet-search{display:block;padding:14px 14px 8px}
.sheet-search input,.comment-form input,.review-workspace input[type="search"]{
  width:100%;
  border:1px solid var(--rv-line);
  background:#fff;
  padding:9px 10px;
  font:11px var(--font-mono);
  color:var(--ink);
}
.rail-title{
  font-family:var(--font-mono);
  color:var(--ink-faint);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:720;
}
.sheet-section{padding:0 14px 12px;border-bottom:1px solid var(--rv-line)}
.sheet-list{display:flex;flex-direction:column;gap:6px;margin-top:9px;max-height:180px;overflow:auto}
.sheet-row{
  display:grid;
  grid-template-columns:20px 58px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  border:1px solid transparent;
  background:transparent;
  padding:7px 6px;
  text-align:left;
  cursor:pointer;
  color:var(--ink-soft);
}
.sheet-row:hover,.sheet-row.on{background:#fff;border-color:var(--rv-line);color:var(--ink)}
.sheet-row .sheet-no{font:11px var(--font-mono);color:var(--rv-muted)}
.sheet-row img{width:58px;height:42px;object-fit:cover;border:1px solid var(--rv-line);background:#fff}
.sheet-row .sheet-title{font-size:11px;font-weight:690}
.sheet-row .sheet-count{min-width:18px;height:18px;border-radius:50%;background:var(--rv-red);color:#fff;font:10px/18px var(--font-mono);text-align:center}
.review-findings{
  border:none;
  box-shadow:none;
  background:transparent;
  min-height:0;
  flex:1;
}
.review-findings .findings-head{display:block;padding:13px 14px 8px;background:transparent;border-bottom:none}
.review-findings .findings-toolbar{margin-top:8px}
.review-findings .findings-filter,.review-findings .facets,.review-findings .bulk{display:none}
.review-findings.filters-open .findings-filter{display:inline-flex}
.review-findings.filters-open .facets{display:flex}
.review-findings.filters-open .bulk{display:flex}
.review-findings .findings-list{max-height:none;overflow:auto;padding:0 10px 10px}
.review-findings .fam-head{display:none}
.review-findings .finding{
  position:relative;
  margin:0 0 6px;
  padding:10px 10px 10px 34px;
  border:1px solid var(--rv-line);
  border-left:1px solid var(--rv-line);
  background:#fff;
  opacity:1;
  min-width:0;
  overflow:hidden;
}
.review-findings .finding::before{
  content:attr(data-callout-no);
  position:absolute;
  left:10px;
  top:11px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--rv-red);
  color:#fff;
  font:10px/18px var(--font-mono);
  text-align:center;
}
.review-findings .finding.sel{border-color:var(--rule-strong);background:#fff;box-shadow:inset 3px 0 0 var(--brand-red)}
.review-findings .finding.done{opacity:.82}
.review-findings .f-top{gap:6px}
.review-findings .f-sev{display:none}
.review-findings .f-fam{font-size:11px;text-transform:none;color:var(--ink);font-weight:760;min-width:0;overflow-wrap:anywhere}
.review-findings .f-conf-val,.review-findings .conf-bar,.review-findings .f-fix,.review-findings .f-evidence,.review-findings .f-actions,.review-findings .f-detail{display:none}
.review-findings .f-expl{font-size:11px;line-height:1.35;margin:4px 0;color:var(--ink-soft);overflow-wrap:anywhere}
.review-findings .f-rule-summary{margin-top:7px;min-width:0}
.review-findings .f-foot{font-size:10px;gap:4px;min-width:0}
.review-findings .src-chip{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.3;
}
.reviewer-disposition{
  padding:14px;
  border-top:1px solid var(--rv-line);
  background:#fff;
}
.rd-selected{margin:9px 0 11px;color:var(--rv-muted);font-size:11px;line-height:1.35}
.rd-actions{display:grid;grid-template-columns:1fr;gap:8px}
.rd-actions .btn{text-align:center}
.rd-actions .resolve{display:none}
.review-canvas{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) 168px;
  min-width:0;
  background:#F2F2F2;
}
.review-canvas .rv-toolbar{
  margin:0;
  padding:8px 12px;
  min-height:51px;
  border-bottom:1px solid var(--rv-line);
  background:#fff;
  gap:8px;
  align-items:flex-start;
}
.zoom-inline{display:inline-flex;border:1px solid var(--rv-line);background:#fff;overflow:hidden;border-radius:3px}
.finding-nav{display:inline-flex;border:1px solid var(--rv-line);background:#fff;overflow:hidden;border-radius:3px}
.zoom-inline button,.finding-nav button{
  border:none;
  border-left:1px solid var(--rv-line);
  background:#fff;
  color:var(--ink-soft);
  min-width:29px;
  padding:7px 8px;
  font:12px var(--font-mono);
  cursor:pointer;
}
.zoom-inline button:first-child,.finding-nav button:first-child{border-left:none}
.zoom-inline button:hover,.finding-nav button:hover{background:var(--struct-axis-soft);color:var(--struct-ink)}
.finding-nav button:disabled{opacity:.4;cursor:not-allowed;background:#fff;color:var(--ink-faint)}
.review-panel-controls{display:inline-flex;border:1px solid var(--rv-line);background:#fff;overflow:hidden;border-radius:3px}
.review-panel-controls button{border:0;border-left:1px solid var(--rv-line);padding:7px 9px;background:#fff;color:var(--ink-soft);font:10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.review-panel-controls button:first-child{border-left:0}
.review-panel-controls button[aria-pressed="true"]{background:var(--struct-axis-soft);color:var(--struct-axis)}
.compare-select{
  border:1px solid var(--rv-line);
  background:#fff;
  padding:8px 28px 8px 10px;
  font:11px var(--font-mono);
  color:var(--ink);
  cursor:pointer;
}
.compare-select:disabled{opacity:.55;cursor:not-allowed;background:#F2F2F2;color:var(--ink-faint)}
.drawing-pane{
  position:relative;
  padding:18px 18px 10px;
  min-height:0;
}
.canvas-hint{position:absolute;left:30px;right:30px;top:30px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid rgba(var(--struct-rgb),.24);background:rgba(255,255,255,.96);box-shadow:var(--shadow);color:var(--ink-soft);font:11px var(--font-mono);line-height:1.35}
.canvas-hint[hidden]{display:none}
.canvas-hint button{flex:none;border:0;background:transparent;color:var(--struct-axis);font:10px var(--font-mono);text-transform:uppercase;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.insp-kv b.needs-review{color:var(--warn-ink);font-weight:650}
.drawing-pane .stage{
  height:100%;
  max-height:calc(100vh - 320px);
  min-height:480px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#F2F2F2;
  border:1px solid var(--rv-line);
  box-shadow:var(--shadow);
}
.stage-zoom{width:100%}
.stage img{max-height:calc(100vh - 340px);object-fit:contain;margin:0 auto}
.stage-minimap{
  position:absolute;
  right:18px;
  top:18px;
  width:116px;
  height:78px;
  border:1px solid var(--rv-line);
  background:#fff center/cover no-repeat;
  box-shadow:var(--shadow);
  z-index:6;
  opacity:.82;
  pointer-events:none;
}
.stage-minimap .mini-viewport{
  position:absolute;
  border:1px dashed var(--rv-red);
  background:rgba(var(--brand-red-rgb),.05);
}
.measure-readout{
  position:absolute;
  left:30px;
  bottom:72px;
  z-index:7;
  background:#fff;
  border:1px solid var(--rv-line);
  padding:8px 10px;
  font:11px var(--font-mono);
  box-shadow:var(--shadow);
}
.review-dock{
  border-top:1px solid var(--rv-line);
  background:#fff;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:168px;
}
.dock-tabs{
  border-right:1px solid var(--rv-line);
  padding:0;
}
.dock-tabs button{
  display:block;
  width:100%;
  text-align:left;
  padding:13px 18px;
  border:none;
  border-bottom:1px solid var(--rv-line);
  background:#fff;
  font:12px var(--font-mono);
  color:var(--ink-soft);
  cursor:pointer;
}
.dock-tabs button.on{color:var(--rv-red);box-shadow:inset 3px 0 0 var(--rv-red)}
.dock-body{min-width:0;display:flex;flex-direction:column}
.dock-panel{display:none;min-height:0;height:100%}
.dock-panel.on{display:flex;flex-direction:column}
.comment-list{flex:1;overflow:auto;padding:12px 18px;display:flex;gap:12px;flex-direction:column}
.comment-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font:12px/32px var(--font-mono);text-align:center}
.comment-bubble{font-size:12px;color:var(--ink);line-height:1.4}
.comment-bubble b{font-size:11px}
.comment-bubble time{margin-left:6px;color:var(--ink-faint);font:10px var(--font-mono)}
.comment-policy{display:grid;gap:4px;margin:0 18px 10px;padding:9px 10px;border:1px solid var(--rv-line);border-left:3px solid var(--struct-axis);background:#F2F2F2;color:var(--ink-soft);font-size:12px;line-height:1.35}
.comment-policy strong{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.comment-form{display:grid;grid-template-columns:minmax(0,1fr) 36px 36px;gap:0;border-top:1px solid var(--rv-line)}
.comment-form input{border:none;border-right:1px solid var(--rv-line);padding:12px 14px}
.copilot-panel{padding:14px;overflow:auto}
.copilot-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.copilot-actions .linkbtn{border:1px solid var(--rule);background:#fff;padding:7px 10px;text-decoration:none}
.copilot-actions .linkbtn.on{border-color:var(--struct-axis);background:var(--struct-axis-soft)}
.copilot-actions .linkbtn:disabled{opacity:.55;cursor:wait}
.copilot-note{margin:0 0 10px;color:var(--ink-soft);font-size:12px;line-height:1.45}
.copilot-result{border:1px solid var(--rule);background:#fff;padding:12px 13px;box-shadow:var(--shadow)}
.copilot-result.busy{color:var(--ink-faint);font-style:italic}
.copilot-result p{margin:10px 0 0;white-space:normal;font-size:13px;line-height:1.55}
.copilot-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}
.copilot-meta b,.copilot-meta em{font-style:normal;color:var(--struct-axis);background:var(--struct-axis-soft);border:1px solid rgba(var(--struct-rgb),.18);padding:2px 6px}
.copilot-meta small{font:inherit;color:var(--ink-soft);text-transform:none;letter-spacing:0}
.evidence-panel{min-width:0}
.ep-head h2{
  margin:6px 0 0;
  font-size:15px;
  font-family:var(--font-display);
  text-transform:none;
}
.evidence-body{padding:14px;overflow:auto}
.ev-card{
  border:1px solid var(--rv-line);
  background:#fff;
  padding:11px;
  margin-bottom:12px;
  border-radius:3px;
}
.ev-label{font:10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:7px}
.ev-source-zone{height:86px;background:#F2F2F2 center/cover no-repeat;border:1px solid var(--rv-line);position:relative;overflow:hidden}
.ev-source-zone::after{content:"";position:absolute;inset:18px 42px;border:1px dashed var(--rv-red)}
.ev-source-zone.none{display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center}
.ev-source-zone.none::after{display:none}
.ev-source-zone.none span{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);line-height:1.5}
.ev-check{display:flex;justify-content:space-between;gap:12px;align-items:center}
.ev-check .fail{color:var(--rv-red);font:10px var(--font-mono)}
.rule-detail-card p{margin:9px 0 0;font-size:12px;line-height:1.45;color:var(--ink-soft)}
.rule-detail-card p b{color:var(--ink)}
.rule-kv{display:grid;grid-template-columns:66px minmax(0,1fr);gap:8px;margin-top:6px;font:10px var(--font-mono)}
.rule-kv span{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}
.rule-kv b{font-weight:650;color:var(--ink);overflow-wrap:anywhere}
.specificity-note{padding-top:8px;border-top:1px solid var(--rv-line);font-family:var(--font-mono);font-size:11px!important;color:var(--ink-faint)!important}
.ask-ai-note{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.45}
.ask-ai-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.ask-ai-card .et-chain{margin-top:12px}
.severity-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}
.sev-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--rv-red)}
.ev-audit{display:flex;flex-direction:column;gap:7px}
.audit-row{display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:9px;font-size:11px;color:var(--ink-soft)}
.audit-row i{font-style:normal;color:var(--pos)}
.user-markup{fill:rgba(var(--brand-red-rgb),.06);stroke:var(--rv-red);stroke-width:2;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}
.comment-pin circle{fill:var(--navy);stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke}
.comment-pin text{font:700 12px var(--font-mono);fill:#fff;pointer-events:none}
.measure-line line{stroke:var(--struct-axis);stroke-width:2;vector-effect:non-scaling-stroke}
.measure-line text{font:700 16px var(--font-mono);fill:var(--struct-axis);stroke:#fff;stroke-width:3;paint-order:stroke}
.overlay-item rect{fill:rgba(var(--struct-rgb),.06);stroke:var(--struct-axis);stroke-width:2;vector-effect:non-scaling-stroke}
.overlay-item text{font:700 17px var(--font-mono);fill:var(--struct-axis);stroke:#fff;stroke-width:3;paint-order:stroke}
.overlay-item.gdt rect{stroke:var(--action);stroke-dasharray:none}
.overlay-item.gdt text{fill:var(--action)}
/* Certainty via line pattern + label text — not color alone. */
.overlay-item.gdt.gdt-state-validated-complete rect{stroke-dasharray:none;stroke-width:2}
.overlay-item.gdt.gdt-state-validated-incomplete rect{stroke-dasharray:6 4;stroke-width:2}
.overlay-item.gdt.gdt-state-parser-incomplete rect{stroke-dasharray:2 3;stroke-width:2}
.overlay-item.gdt.gdt-state-ambiguous rect{stroke-dasharray:1 3 6 3;stroke-width:2.5}
.overlay-item.gdt.gdt-state-legacy rect{stroke-dasharray:8 2 2 2;stroke-width:1.5}
.overlay-item.gdt.gdt-state-parser-incomplete text,
.overlay-item.gdt.gdt-state-validated-incomplete text,
.overlay-item.gdt.gdt-state-ambiguous text{font-style:italic}
.overlay-item.note rect{stroke:var(--warn);stroke-dasharray:5 4}
.overlay-item.note text{fill:var(--warn)}
.overlay-item.datum rect{fill:#fff;stroke:var(--ink)}
.overlay-item.datum text{fill:var(--ink);stroke:none}
.toast-stack{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:10px}
.toast{background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:var(--shadow-overlay);padding:11px 13px;font-size:12px;max-width:320px}
.toast button{margin-left:10px;border:none;background:#fff;color:var(--navy);padding:4px 7px;font:10px var(--font-mono);cursor:pointer}

@media(max-width:1440px){
  .review-topline{grid-template-columns:1fr;grid-template-areas:"id" "summary" "controls";align-items:start}
  .review-topline .rh-summary,.review-topline .review-controls{justify-self:start}
  .review-controls{flex-wrap:wrap;row-gap:8px}
  .review-lab,.review-lab.evidence-collapsed{
    position:relative;
    grid-template-columns:clamp(210px,22vw,232px) minmax(0,1fr);
    overflow:hidden;
  }
  .review-lab.findings-collapsed,.review-lab.findings-collapsed.evidence-collapsed{grid-template-columns:minmax(0,1fr)}
  .review-lab .evidence-panel{
    display:flex;
    position:absolute;
    top:0;right:0;bottom:0;
    z-index:18;
    width:min(360px,calc(100% - 210px));
    min-height:100%;
    border-left:1px solid var(--rv-line);
    border-top:0;
    box-shadow:var(--shadow-overlay);
    transform:translateX(101%);
    transition:transform .22s cubic-bezier(.4,0,.2,1);
  }
  .review-lab .evidence-panel.sheet-open{transform:none}
  .review-lab.evidence-collapsed .evidence-panel{transform:translateX(101%)}
  .review-lab.findings-collapsed .evidence-panel{width:min(380px,92%)}
}
@media(max-width:1180px){
  .review-lab .evidence-panel{position:static;grid-column:1/-1;display:flex;width:auto;min-height:0;max-height:none;border-left:0;border-top:1px solid var(--rv-line);box-shadow:none;transform:none}
  .review-lab .evidence-panel.sheet-open{transform:none}
  .review-lab.findings-collapsed .evidence-panel{width:auto}
  .review-lab.evidence-collapsed .evidence-panel{display:none}
  .review-lab{grid-template-columns:220px minmax(420px,1fr)}
  .review-lab.findings-collapsed{grid-template-columns:minmax(0,1fr)}
  .review-topline{grid-template-columns:1fr;grid-template-areas:"id" "summary" "controls";align-items:start}
  .review-topline .rh-summary,.review-topline .review-controls{justify-self:start}
  .review-controls{flex-wrap:wrap;row-gap:8px}
  .rc-params{border-right:none;padding-right:0;flex-wrap:wrap}
  .stat-tiles{grid-template-columns:repeat(2,1fr)}
  .dash-cols,.settings-grid{grid-template-columns:1fr}
  .ev-grid{grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);min-height:0}
  .ev-listwrap{border-right:none}
  .ev-trace{display:block;grid-column:1/-1;border-top:1px solid var(--rule);padding:16px 18px;max-height:none}
  .mtr-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mtr-intelligence-grid{grid-template-columns:1fr}
  .mtr-intelligence-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mtr-capability-grid{grid-template-columns:1fr}
  .mtr-spec-queue-item{grid-template-columns:1fr}
  .mtr-spec-queue-actions{justify-items:start}
  .mtr-matrix-layout{grid-template-columns:1fr}
  .mtr-side-stack{position:static;max-height:none;overflow:visible}
  .mtr-preview-source{grid-template-columns:minmax(120px,38%) minmax(0,1fr)}
  .review-dock{grid-template-columns:1fr}
  .dock-tabs{display:flex;border-right:0;border-bottom:1px solid var(--rv-line);overflow-x:auto}
  .dock-tabs button{white-space:nowrap}
  .mtr-review-dock{grid-template-columns:1fr}
  .mtr-dock-tabs{display:flex;border-right:0;border-bottom:1px solid var(--rule);overflow-x:auto}
  .mtr-dock-tabs button{white-space:nowrap;border-bottom:0;border-right:1px solid var(--rule)}
  .mtr-table.matrix-v2 .mtr-row{grid-template-columns:1fr 1.4fr 1fr 1fr .8fr}
  .mtr-row-details{grid-template-columns:1fr}
}
@media(max-width:900px){
  .side{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--shadow-overlay)}
  .shell.nav-open .side{transform:none}
  .review-lab,.review-lab.evidence-collapsed,.review-lab.findings-collapsed,.review-lab.findings-collapsed.evidence-collapsed{grid-template-columns:minmax(0,1fr)}
  .topbar .btn:not(#addDrawingBtn):not(#helpMenuTrigger){display:none}
  .ev-grid{grid-template-columns:1fr}
  .ev-sheets,.ev-listwrap{border-right:0;border-bottom:1px solid var(--rule)}
  .ev-list{max-height:260px}
  .ev-trace{grid-column:auto}
  .mtr-run-fields,.mtr-upload-grid,.mtr-context-grid,.mtr-evidence,.mtr-verdict{grid-template-columns:1fr}
  .mtr-run-fields .btn{width:100%}
  .mtr-summary{grid-template-columns:1fr 1fr}
  .mtr-intelligence-facts{grid-template-columns:1fr}
  .mtr-stale-warning{grid-template-columns:1fr}
  .mtr-table.matrix-v2 .mtr-row{grid-template-columns:1fr}
  .mtr-table.matrix-v2 .mtr-head{display:none}
  .mtr-row span{border-right:0;border-bottom:1px solid var(--rule)}
  .mtr-row span:last-child{border-bottom:0}
  .mtr-row-details{grid-template-columns:1fr;padding-top:0}
  .mtr-condition-panel dl div{grid-template-columns:1fr}
  .mtr-guided-row{grid-template-columns:1fr 1fr}
  .mtr-guided-label,.mtr-guided-evidence{grid-column:1/-1}
  .mtr-checklist-coverage-grid{grid-template-columns:1fr 1fr}
}

/* Operator panel (internal admins) */
.table-scroll{overflow-x:auto;}
.op-table{width:100%;border-collapse:collapse;font-size:13px;}
.op-table th,.op-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;}
.op-table th{color:var(--ink-soft);}
.op-table tr.on td{background:rgba(var(--struct-rgb),.08);}
.op-table .linklike{background:none;border:0;padding:0;cursor:pointer;color:inherit;text-align:left;font:inherit;}
.op-table .chip{border:1px solid var(--rule-strong);border-radius:3px;padding:2px 10px;background:none;color:var(--ink-soft);cursor:pointer;font-size:12px;margin:1px 2px 1px 0;}
.op-table .chip.on{border-color:var(--pos);color:var(--pos);}
.op-member-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.op-member-form input,.op-member-form select{padding:7px 10px;border-radius:3px;border:1px solid var(--rule-strong);background:#fff;color:var(--ink);}

.rule-kv b{overflow-wrap:anywhere}

/* Small screens: the review workspace is desktop-first; keep its header and
   tool rows contained instead of overflowing the viewport. */
@media (max-width:760px){
  .review-controls{flex-wrap:wrap;row-gap:8px}
  .rc-params{border-right:none;padding-right:0;flex-wrap:wrap}
  .rh-summary{flex-wrap:wrap;row-gap:6px}
  .zoom-inline{max-width:100%;overflow-x:auto}
  .thresh.compact{max-width:100%}
  /* Standards Console: the 3-track desktop grid forces ~620px of min content;
     stack it so phones stop horizontal-scrolling (audit 2026-07-13). */
  .stdc-layout{grid-template-columns:1fr}
  .stdc-editor,.stdc-live{border-right:0}
  .stdc-library,.stdc-editor,.stdc-live{min-height:0}
  .stdc-head-actions{flex-wrap:wrap;max-width:100%}
  .stdc-breadcrumb{flex-wrap:wrap;max-width:100%}
  /* Dimension inspector table scrolls inside its pane, not the page. */
  .insp-dims{overflow-x:auto;max-width:100%}
  /* Comfortable thumb targets on touch widths (WCAG 2.5.8 floor, 40px+ for
     primary controls). */
  .side-nav button{min-height:44px}
  .topbar .btn,.side-collapse{min-height:40px;min-width:40px}
  #productSwitch{min-height:40px}
  .btn{min-height:40px}
  .dispo{min-height:40px}
  .linkbtn{padding:8px 4px}
  .ph-toggle{min-height:40px}
  .stdc-tabs,.module-tabs{overflow-x:auto;max-width:100%}
  .stdc-tabs button,.module-tabs button{min-height:40px;flex:none}
  input[type=checkbox],input[type=radio]{width:18px;height:18px}
  /* Collapse the findings rail + canvas grid to a single column so the
     workspace stops forcing a 640px+ track and horizontal scroll on phones.
     The findings rail stacks above the canvas; the evidence panel (already
     full-width below 1180px) follows. */
  .review-lab{grid-template-columns:1fr}
  .review-left{border-right:none;border-bottom:1px solid var(--rv-line)}
  .review-canvas{min-height:64vh}
  /* Stack the review header (doc id / severity / gate+actions) instead of
     holding side-by-side tracks that overflow a phone. */
  .review-topline{grid-template-columns:1fr;grid-template-areas:"id" "summary" "controls";gap:12px}
  .review-topline .rh-summary,.review-topline .review-controls{justify-self:start}
  /* The breadcrumb is a fixed path that cannot fit a phone topbar; clip it
     rather than let it push the page into horizontal scroll. */
  .crumbs{flex:0 1 auto;min-width:0;overflow:hidden}
  /* Evidence trace as a bottom sheet: on a phone the panel would otherwise sit
     far below the canvas, so the product's whole "traces back to evidence"
     payoff is a long scroll away. Selecting a finding now slides it up as a
     sheet — one tap to the evidence, one tap (backdrop, handle, or close) back. */
  .review-lab .evidence-panel{
    position:fixed;left:0;right:0;top:auto;bottom:0;z-index:60;
    width:auto;min-height:0;max-height:86vh;margin:0;border-left:none;
    border-top:1px solid var(--rv-line);
    border-radius:14px 14px 0 0;
    box-shadow:var(--shadow-overlay);
    transform:translateY(101%);
    transition:transform .26s cubic-bezier(.4,0,.2,1);
    display:flex;flex-direction:column;
  }
  .review-lab .evidence-panel.sheet-open{transform:none}
  .review-lab .evidence-panel .ep-head{position:relative;padding-top:20px}
  .review-lab .evidence-panel .ep-head::before{
    content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);
    width:38px;height:4px;border-radius:2px;background:var(--rule-strong);
  }
  .evidence-body{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .ev-backdrop{display:block;position:fixed;inset:0;z-index:55;background:rgba(var(--navy-rgb),.42);
    opacity:0;transition:opacity .26s;pointer-events:none}
  .ev-backdrop.on{opacity:1;pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){
  .review-lab .evidence-panel{transition:none}
  .ev-backdrop{transition:none}
  .review-progress-dot{animation:none}
}
/* A wide extraction table scrolls within its own panel, never the page. */
.insp-dims{overflow-x:auto}

/* MTR batch (PO roll-up) results */
.mtr-batch-result{display:grid;gap:10px;margin-top:12px}
.mtr-batch-result .pid-summary{margin-bottom:0}

/* P&ID consistency workspace */
.pid-upload{display:inline-flex;cursor:pointer}
.pid-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.pid-verdict{font-family:var(--font-mono);font-size:11px;font-weight:640;letter-spacing:.1em;text-transform:uppercase;color:#fff;border-radius:2px;padding:5px 10px;background:var(--warn-ink)}
.pid-verdict.ok{background:var(--pos)}
.pid-verdict.blocked{background:var(--status-blocker)}
.pid-count{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule-strong);border-radius:2px;padding:4px 8px;background:#fff}
.pid-finding{border:1px solid var(--rule-strong);border-left:3px solid var(--rule-strong);border-radius:3px;background:#fff;padding:12px 14px;margin-bottom:10px}
.pid-f-head{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px}
.pid-f-head b{overflow-wrap:anywhere}
.pid-finding p{font-size:13px;color:var(--ink-soft);margin:7px 0 9px;line-height:1.45}
.pid-sev{font-family:var(--font-mono);font-size:10px;font-weight:640;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:3px 7px;color:#fff;background:var(--warn-ink)}
.pid-sev.blocker{background:var(--status-blocker)}
.pid-sev.major{background:var(--sev-major)}
.pid-sev.minor{background:var(--sev-minor)}
.pid-sev.match{background:#fff;color:var(--ink-soft);border:1px solid var(--rule-strong)}
.pid-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pid-compare>div{border:1px solid var(--rule);border-radius:2px;padding:8px 10px}
.pid-compare .lbl{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--struct-axis,#006B78)}
.pid-compare b{display:block;font-family:var(--font-mono);font-size:12px;margin:3px 0;overflow-wrap:anywhere}
.pid-compare i{display:block;font-family:var(--font-mono);font-size:10px;font-style:normal;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}
@media (max-width:760px){.pid-compare{grid-template-columns:1fr}}
.pid-result-actions{margin-left:auto}
.pid-result-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.pid-drawing-workspace{display:grid;grid-template-columns:68px minmax(0,1.25fr) minmax(280px,.85fr);min-height:460px;border:1px solid var(--rule-strong);background:var(--canvas,#F2F2F2);overflow:hidden}
.pid-finding-rail{display:flex;flex-direction:column;gap:7px;padding:10px 7px;border-right:1px solid var(--rule);background:#F2F2F2;min-width:0}
.pid-rail-title{font:10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);text-align:center}
.pid-finding-rail-list{display:flex;flex-direction:column;gap:6px;overflow:auto}
.pid-rail-finding{display:grid;place-items:center;min-height:32px;border:1px solid var(--rule-strong);border-radius:50%;background:#fff;color:var(--warn-ink);font:700 11px var(--font-mono);cursor:pointer}
.pid-rail-finding.sheet{border-style:dashed;color:var(--ink-faint)}.pid-rail-finding.sel{background:var(--warn-ink);border-color:var(--warn-ink);color:#fff}.pid-rail-finding:focus-visible{outline:2px solid var(--struct-axis);outline-offset:2px}
.pid-sheet-checks-btn{margin-top:auto;border:1px solid var(--rule-strong);background:#fff;color:var(--ink-soft);padding:6px 3px;font:10px/1.25 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.pid-sheet-checks{position:absolute;z-index:30;width:min(300px,80vw);margin-left:57px;padding:6px;border:1px solid var(--rule-strong);background:#fff;box-shadow:var(--shadow-overlay)}
.pid-sheet-check{display:block;width:100%;padding:8px;border:0;border-bottom:1px solid var(--rule);background:#fff;text-align:left;cursor:pointer}.pid-sheet-check:last-child{border-bottom:0}.pid-sheet-check b,.pid-sheet-check small{display:block}.pid-sheet-check small{margin-top:3px;color:var(--ink-soft);font-size:11px}
.pid-preview-pane{min-width:0;display:flex;flex-direction:column}.pid-canvas-toolbar{display:flex;align-items:center;gap:7px;min-height:43px;padding:6px 10px;border-bottom:1px solid var(--rule);background:#fff}.pid-sheet-label{min-width:72px;text-align:center;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.pid-canvas-toolbar .linkbtn{margin-left:auto}
.pid-stage{height:min(68dvh,640px);min-height:360px;position:relative;background:#fff;overflow:auto;overscroll-behavior:contain}
.pid-canvas{position:relative;min-width:100%;min-height:100%;line-height:0}.pid-canvas img{display:block;max-width:none;height:auto}.pid-canvas .markup{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto}.pid-marker{cursor:pointer}.pid-marker:focus{outline:none}.pid-marker:focus .mk-label-bg{stroke:var(--struct-axis);stroke-width:3}.pid-leader,.pid-leader-arrow{fill:none;stroke:var(--warn-ink);stroke-width:2;vector-effect:non-scaling-stroke}.pid-region-focus{box-shadow:inset 0 0 0 3px var(--struct-axis)}
.pid-matrix{margin-bottom:14px}
.pid-matrix-group{margin-bottom:14px;border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:#fff}
.pid-matrix-group h4{margin:0;padding:8px 12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#F2F2F2;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:8px}
.pid-matrix-count{font-size:10px;letter-spacing:.08em;border:1px solid var(--rule);border-radius:999px;padding:2px 8px;background:#fff;color:var(--ink-soft)}
.pid-matrix-none,.pid-matrix-empty{margin:0;padding:10px 12px}
.pid-matrix-table{width:100%;border-collapse:collapse;font-size:12px}
.pid-matrix-table th,.pid-matrix-table td{padding:7px 10px;border-top:1px solid var(--rule);text-align:left;vertical-align:top}
.pid-matrix-table th{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.pid-matrix-table tr{cursor:pointer}
.pid-matrix-table tr.sel{background:rgba(var(--struct-rgb),.08)}
.pid-matrix-table tr:hover,.pid-matrix-table tr:focus{background:rgba(var(--struct-rgb),.04);outline:none}
.pid-matrix-table tr:focus-visible{outline:2px solid var(--struct-axis);outline-offset:-2px}
.pid-matrix-table tr.pid-match .pid-match-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.pid-finding.sel{border-color:var(--struct-axis);box-shadow:inset 3px 0 0 var(--struct-axis)}
.pid-evidence-drawer{border:0;border-left:1px solid var(--rule-strong);border-radius:0;background:#fff;padding:12px 14px;margin:0;max-height:calc(100dvh - 220px);overflow:auto;box-shadow:-8px 0 18px rgba(var(--navy-rgb),.05)}
.pid-evidence-head{margin-bottom:10px}
.pid-evidence-nav{display:flex;align-items:center;gap:5px}.pid-evidence-nav .eyebrow{margin-right:auto}.pid-evidence-nav .icon-btn{font-size:10px;padding:4px 6px}
.pid-evidence-head h4{margin:4px 0 0;font-size:15px;overflow-wrap:anywhere}
.pid-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.pid-ev-side{border:1px solid var(--rule);border-radius:2px;padding:8px 10px}
.pid-ev-ref{margin-top:8px;padding-top:8px;border-top:1px solid var(--rule)}
.pid-ev-ref:first-of-type{margin-top:6px;padding-top:0;border-top:0}
.pid-ev-ref b{display:block;font-family:var(--font-mono);font-size:11px;margin-bottom:4px;overflow-wrap:anywhere}
.pid-ev-ref .lbl{display:inline;margin-right:4px}
.pid-drawer-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.pid-drawer-section p{margin:5px 0;color:var(--ink-soft);font-size:12px}.pid-source-crop{position:relative;overflow:hidden;margin-top:7px;border:1px solid var(--rule);background:#F2F2F2}.pid-source-crop img{position:absolute;max-width:none;user-select:none}.pid-source-crop span{position:absolute;border:2px solid var(--warn-ink);background:rgba(var(--status-warning-rgb),.1)}.pid-source-crop.none{display:grid;place-items:center;padding:14px;color:var(--ink-soft);font-size:11px}.pid-drawer-actions{display:flex;gap:7px;margin-top:12px}.pid-correction-label{display:grid;gap:4px;margin-top:8px;font:10px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.pid-correction-label input,.pid-correction-label textarea{border:1px solid var(--rule-strong);padding:6px;background:#fff;color:var(--ink);font:12px var(--font-ui);text-transform:none;letter-spacing:0}.pid-correction-label textarea{min-height:58px;resize:vertical}
.pid-result-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:760px){.pid-evidence-grid{grid-template-columns:1fr}}
@media (max-width:1179px){.pid-drawing-workspace{grid-template-columns:56px minmax(0,1fr) 360px}.pid-finding-rail{padding-left:5px;padding-right:5px}.pid-result-layout{grid-template-columns:1fr}}
@media (max-width:760px){.pid-drawing-workspace{grid-template-columns:1fr;min-height:0;overflow:visible}.pid-finding-rail{order:2;flex-direction:row;border-top:1px solid var(--rule);border-right:0;overflow:auto}.pid-rail-title,.pid-sheet-checks-btn{display:none}.pid-finding-rail-list{flex-direction:row}.pid-rail-finding{min-width:32px}.pid-sheet-checks{margin:42px 0 0;left:7px}.pid-findings-pane{order:3}.pid-evidence-drawer{position:fixed;z-index:60;left:0;right:0;bottom:0;max-height:70dvh;border:1px solid var(--rule-strong);box-shadow:0 -8px 24px rgba(var(--navy-rgb),.14)}.pid-register-controls{width:100%}.pid-register-controls input{width:100%!important}.pid-canvas-toolbar{flex-wrap:wrap}}
.pid-register{margin-top:14px;border:1px solid var(--rule-strong);background:#fff}.pid-register-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:12px;border-bottom:1px solid var(--rule)}.pid-register-head h4{margin:3px 0 0;font-size:14px}.pid-register-controls{display:flex;gap:6px;flex-wrap:wrap}.pid-register-controls input,.pid-register-controls select{min-height:30px;border:1px solid var(--rule-strong);padding:4px 7px;background:#fff;color:var(--ink);font:11px var(--font-ui)}.pid-register-rows{max-height:280px;overflow:auto}.pid-register-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--rule);background:#fff;text-align:left;cursor:pointer}.pid-register-row:hover,.pid-register-row.sel{background:rgba(var(--struct-rgb),.07)}.pid-register-row b{font:600 12px var(--font-ui);overflow-wrap:anywhere}.pid-register-row span{grid-column:1;color:var(--ink-soft);font:10px var(--font-mono);overflow-wrap:anywhere}.pid-register-row em{grid-column:2;grid-row:1;color:var(--struct-axis);font:10px var(--font-mono);font-style:normal;text-transform:uppercase}
.pid-intake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.pid-file{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.pid-file input{font-family:var(--font-ui);font-size:13px;text-transform:none;letter-spacing:0;border:1px solid var(--rule-strong);border-radius:2px;padding:8px 10px;background:#fff;color:var(--ink)}
.pid-intake-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
#pidExtraction{font-size:12px;line-height:1.5;margin-top:6px}
@media (max-width:760px){.pid-intake-grid{grid-template-columns:1fr}}

/* accessibility floor: visible focus on every interactive (design.md) */
:where(a,button,[role="button"],select,summary):focus-visible,
.side-nav button:focus-visible,.side-collapse:focus-visible,.sheet-row:focus-visible,.dock-tabs button:focus-visible,.mtr-dock-tabs button:focus-visible,.rv-tool:focus-visible,.ov-toggle:focus-visible,.findings-filter button:focus-visible,.stage-toggle button:focus-visible,.linkbtn:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--struct-axis);outline-offset:1px}

/* Drawing-first review workspace — Option 2.
   The index, canvas, details drawer, and dock each have one job. */
.review-workspace{
  --df-index:84px;
  --df-drawer:400px;
  --df-dock-collapsed:40px;
  --df-dock-open:220px;
  --df-paper:#fff;
  --df-canvas:#F2F2F2;
  --df-line:#E1E5EB;
}
.review-topline{
  grid-template-columns:minmax(240px,1fr) auto auto;
  grid-template-areas:"id summary controls";
  gap:10px 18px;
  padding:10px 16px;
  min-height:76px;
  background:#fff;
}
.review-topline .review-doc-id{min-width:0}
.review-doc-id h1{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-topline .eyebrow{font-size:10px}
.review-topline .rh-sub{margin-top:5px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-profile-status,.review-save-state{margin:3px 0 0;font-size:10px}
.review-topline .rh-summary{justify-self:end;gap:5px}
.review-topline .sev-chip{padding:4px 7px;font-size:10px;gap:4px}
.review-topline .sev-chip b{font-size:12px}
.review-topline .review-controls{justify-self:end;flex-wrap:nowrap}
.review-settings-menu{right:0;left:auto;width:300px;padding:14px}
.review-settings-menu .rc-params{display:grid;gap:14px;padding:0;margin:0;border:0}
.review-settings-menu .thresh{justify-content:space-between;min-width:0}
.review-settings-menu .thresh input[type="range"]{width:128px}

.review-lab,
.review-lab.evidence-collapsed,
.review-lab.findings-collapsed,
.review-lab.findings-collapsed.evidence-collapsed{
  position:relative;
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  height:calc(100dvh - var(--topbar-h) - 108px);
  min-height:0;
  overflow:hidden;
  background:var(--df-canvas);
}
.review-lab.findings-collapsed .review-left{display:flex}
.review-left{
  grid-column:1;
  grid-row:1;
  width:var(--df-index);
  min-height:0;
  border-right:1px solid var(--df-line);
  background:#F2F2F2;
  overflow:visible;
}
.review-left-head,.review-status-strip,.reviewer-disposition{display:none}
.sheet-section{padding:14px 8px 10px;border-bottom:1px solid var(--df-line);flex:none}
.sheet-section .rail-toggle{display:flex;min-height:22px;padding:0 2px;border:0;pointer-events:none}
.sheet-section .rail-toggle .caret{display:none}
.sheet-section .rail-toggle .ph-t,.review-findings .rail-title{font-size:10px;letter-spacing:.1em}
.sheet-search{display:none}
.sheet-list{gap:6px;margin-top:8px;max-height:132px}
.sheet-row{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:38px;
  padding:0;
  border:1px solid var(--df-line);
  background:#fff;
  color:var(--ink-soft);
}
.sheet-row:hover,.sheet-row.on{border-color:var(--rv-red);box-shadow:inset 2px 0 0 var(--rv-red)}
.sheet-row img,.sheet-row .sheet-title{display:none}
.sheet-row .sheet-no{font:700 11px var(--font-mono);color:inherit}
.sheet-row .sheet-count{
  position:absolute;right:5px;top:5px;min-width:6px;width:6px;height:6px;border-radius:50%;
  overflow:hidden;color:transparent;font-size:0;background:var(--rv-red);
}
.review-findings{display:flex;min-height:0;flex:1;overflow:visible}
.review-findings .findings-head{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:3px;padding:12px 8px 7px;align-items:center}
.review-findings .kbd-hint{width:16px;height:16px;font-size:10px}
.review-findings #reviewFilterBtn{width:24px;height:24px;min-width:24px;padding:0}
.review-findings .findings-toolbar{display:none}
.review-findings .findings-list{display:flex;flex-direction:column;gap:5px;min-height:0;padding:0 8px 8px;overflow-y:auto;overflow-x:hidden}
.review-findings .finding-index-item{
  position:relative;display:flex;align-items:center;justify-content:flex-start;gap:6px;
  width:100%;min-height:36px;margin:0;padding:4px 6px;border:1px solid transparent;
  background:transparent;cursor:pointer;color:var(--ink-soft);overflow:visible;
}
.review-findings .finding-index-item::before{display:none}
.review-findings .finding-index-number{
  display:grid;place-items:center;width:26px;height:26px;flex:none;border:1px solid currentColor;
  border-radius:50%;background:#fff;font:700 11px var(--font-mono);font-variant-numeric:tabular-nums;
}
.review-findings .finding-index-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.review-findings .finding-index-item.blocker{--finding-color:var(--sev-blocker);color:var(--sev-blocker)}
.review-findings .finding-index-item.major{--finding-color:var(--sev-major);color:var(--sev-major)}
.review-findings .finding-index-item.minor{--finding-color:var(--sev-minor);color:var(--sev-minor)}
.review-findings .finding-index-item.needs{--finding-color:var(--sev-review);color:var(--sev-review)}
.review-findings .finding-index-item:hover{background:#fff;border-color:var(--df-line)}
.review-findings .finding-index-item.sel{background:#fff;border-color:var(--rule-strong);box-shadow:inset 3px 0 0 var(--brand-red)}
.review-findings .finding-index-item.sel .finding-index-number{color:#fff;background:var(--finding-color,var(--rv-red))}
.review-findings .finding-index-item.done{opacity:.5}
.sheet-checks-wrap{position:relative;margin:auto 8px 10px;flex:none}
.sheet-checks-btn{
  display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:4px;
  width:100%;margin:0;padding:7px 5px;border:1px solid var(--df-line);background:#fff;
  color:var(--ink-soft);font:10px var(--font-mono);text-align:left;text-transform:uppercase;cursor:pointer;
}
.sheet-checks-btn[hidden]{display:none}
.sheet-checks-btn b{font:inherit;line-height:1.2}.sheet-checks-btn em{font-style:normal;color:var(--rv-red)}
.sheet-checks-btn:hover,.sheet-checks-btn.on{border-color:var(--rv-red);color:var(--rv-red)}
.sheet-checks-menu{
  position:absolute;z-index:48;left:calc(100% + 8px);bottom:0;width:310px;max-height:360px;overflow:auto;
  padding:6px;border:1px solid var(--df-line);background:#fff;box-shadow:var(--shadow-overlay);
}
.sheet-check-item{
  display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;width:100%;padding:9px 8px;
  border:0;border-bottom:1px solid var(--df-line);background:#fff;color:var(--ink);font:11px var(--font-ui);text-align:left;cursor:pointer;
}
.sheet-check-item:last-child{border-bottom:0}.sheet-check-item:hover,.sheet-check-item:focus-visible{background:var(--struct-axis-soft)}
.sheet-check-number{display:grid;place-items:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font:700 10px var(--font-mono)}
.sheet-check-item.blocker{color:var(--sev-blocker)}.sheet-check-item.major{color:var(--sev-major)}.sheet-check-item.minor{color:var(--sev-minor)}.sheet-check-item.needs{color:var(--sev-review)}
.sheet-check-item b{display:block;font:600 11px var(--font-ui);color:currentColor}.sheet-check-item small{display:block;margin-top:3px;color:var(--ink-soft);font:10px/1.35 var(--font-ui)}
.review-left.filters-open .sheet-search{
  display:block;position:absolute;z-index:44;left:72px;top:38px;width:280px;padding:10px;
  border:1px solid var(--df-line);background:#fff;box-shadow:var(--shadow-overlay);
}
.review-findings.filters-open .findings-toolbar{
  display:flex;position:absolute;z-index:43;left:72px;top:98px;width:360px;padding:12px;
  border:1px solid var(--df-line);background:#fff;box-shadow:var(--shadow-overlay);
}
.review-findings.filters-open .findings-filter,.review-findings.filters-open .facets,.review-findings.filters-open .bulk{display:flex}

.review-canvas{
  position:relative;grid-column:2;grid-row:1;display:grid;
  grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:var(--df-canvas);
}
.review-canvas .rv-toolbar{padding:9px 14px;min-height:52px;align-items:center;z-index:12}
.review-canvas .drawing-pane{position:relative;top:auto;padding:14px 16px 46px;min-height:0;overflow:hidden}
.drawing-pane .stage{height:100%;min-height:0;max-height:none;border-color:var(--df-line);background:#fff}
.stage img{max-height:none}
.markup-legend{position:absolute;left:24px;bottom:47px;z-index:5;margin:0;padding:5px 8px;background:rgba(255,255,255,.92);border:1px solid var(--df-line)}

.review-dock{
  position:absolute;z-index:16;left:0;right:0;bottom:0;height:var(--df-dock-collapsed);
  min-height:0;display:grid;grid-template-columns:1fr;background:#fff;border-top:1px solid var(--df-line);
  box-shadow:0 -1px 8px rgba(var(--navy-rgb),.04);transition:height .2s ease;
}
.review-dock.open{height:var(--df-dock-open);grid-template-rows:minmax(0,1fr) 40px}
.dock-tabs{display:flex;align-items:stretch;border:0;border-bottom:0;overflow-x:auto}
.dock-tabs button{width:auto;min-width:140px;height:40px;padding:0 18px;border:0;border-right:1px solid var(--df-line);white-space:nowrap;text-align:left}
.dock-tabs button.on{box-shadow:inset 0 2px 0 var(--rv-red);color:var(--rv-red)}
.dock-body{display:none;min-height:0;border-top:1px solid var(--df-line);background:#fff}
.review-dock.open .dock-tabs{grid-row:2;border-top:1px solid var(--df-line)}
.review-dock.open .dock-body{display:grid;grid-row:1;grid-template-rows:34px minmax(0,1fr);border-top:0;border-bottom:1px solid var(--df-line)}
.dock-body-head{display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 16px;border-bottom:1px solid var(--df-line);font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.dock-panel{min-height:0;overflow:auto}.dock-panel.on{min-height:0}
#extractionPanel{padding:12px 16px 18px}
#extractionPanel .insp-sheet{margin-bottom:12px}
.extraction-register{min-width:0}
.extraction-register-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 12px}
.extraction-register-head p{margin:5px 0 0;color:var(--ink-faint);font:10px/1.4 var(--font-mono)}
.extraction-register-controls{display:flex;gap:7px;align-items:center}
.extraction-register-controls input,.extraction-register-controls select{min-height:32px;border:1px solid var(--df-line);background:#fff;padding:5px 8px;font:11px var(--font-ui);color:var(--ink)}
.extraction-register-controls input{width:min(260px,30vw)}
.extraction-table td small{display:block;margin-top:3px;color:var(--ink-faint);font:10px/1.35 var(--font-mono)}
.extraction-table .extraction-row{cursor:pointer}
.extraction-table .extraction-row:hover,.extraction-table .extraction-row.sel{background:var(--struct-axis-soft)}
.extraction-state{display:inline-block;margin:5px 0 0 7px;padding:2px 4px;border:1px solid var(--struct-axis);color:var(--struct-axis);font:10px var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.extraction-correction-editor{position:sticky;left:0;bottom:0;margin-top:12px;padding:12px;border:1px solid var(--struct-axis);background:#fff;box-shadow:var(--shadow)}
.extraction-correction-editor form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr);gap:10px;align-items:end}
.extraction-correction-editor .eyebrow{grid-column:1/-1}
.extraction-correction-editor label{display:grid;gap:4px;font:10px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}
.extraction-correction-editor input,.extraction-correction-editor textarea{width:100%;min-height:34px;border:1px solid var(--df-line);padding:7px;font:12px var(--font-ui);text-transform:none;letter-spacing:0;color:var(--ink);resize:vertical}
.extraction-correction-editor form>div:last-child{grid-column:1/-1;display:flex;gap:7px}
.overlay-item.characteristic rect{fill:rgba(var(--struct-rgb),.04);stroke:var(--struct-axis);stroke-width:1.2;stroke-dasharray:3 3}
.overlay-item.characteristic text{fill:var(--struct-axis);font-weight:700}
.overlay-item.revision-change rect{fill:rgba(var(--brand-red-rgb),.1);stroke:var(--rv-red);stroke-width:2;stroke-dasharray:8 4}
.overlay-item.revision-change text{fill:var(--rv-red);font-weight:800}
.compare-pane{position:absolute;z-index:11;left:16px;right:16px;top:66px;max-height:calc(100% - 124px);overflow:auto;background:rgba(255,255,255,.97);border:1px solid var(--df-line);box-shadow:var(--shadow-overlay)}
.compare-workspace{margin:0;border:0}
.compare-workspace-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.compare-modes{display:flex;align-items:center;border:1px solid var(--df-line)}
.compare-modes button{border:0;border-left:1px solid var(--df-line);background:#fff;padding:6px 9px;font:10px var(--font-mono);text-transform:uppercase;cursor:pointer}.compare-modes button:first-child{border-left:0}.compare-modes button.on{background:var(--struct-axis);color:#fff}
.compare-side{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.compare-side figure{margin:0;border:1px solid var(--df-line);background:#F2F2F2}.compare-side img{display:block;width:100%;height:auto}.compare-side figcaption{padding:6px;font:10px var(--font-mono);color:var(--ink-soft)}
.compare-register{overflow:auto;margin:12px 0}.compare-register table{width:100%;border-collapse:collapse;font:10px var(--font-mono)}.compare-register th,.compare-register td{padding:7px;border:1px solid var(--df-line);text-align:left}
.compare-warning{padding:7px 9px;background:var(--status-warning-soft);border-left:2px solid var(--status-warning);font-size:11px;color:var(--ink-soft)}.compare-mode-note{font-size:11px;color:var(--ink-soft)}
.review-workspace > .inspector{display:none}

.review-lab .evidence-panel{
  display:flex;position:absolute;z-index:30;top:0;right:0;bottom:var(--df-dock-collapsed);
  width:min(400px,calc(100% - 84px));min-height:0;max-height:none;
  border:0;border-left:1px solid var(--df-line);background:#fff;box-shadow:-8px 0 24px rgba(var(--navy-rgb),.08);
  transform:translateX(102%);visibility:hidden;pointer-events:none;
  transition:transform .22s cubic-bezier(.4,0,.2,1),visibility 0s linear .22s;
}
.review-lab:has(#reviewDock.open) .evidence-panel{bottom:var(--df-dock-open)}
.review-lab .evidence-panel.sheet-open{transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}
.review-lab.evidence-collapsed .evidence-panel{display:flex;transform:translateX(102%)}
.ep-head{min-height:62px;padding:10px 14px;border-bottom:1px solid var(--df-line)}
.ep-head .eyebrow{font-size:10px}.ep-head h2{margin-top:4px;font-size:14px}
.ep-head-actions{display:flex;gap:4px;align-items:center}
.evidence-body{padding:0 16px 18px;overflow:auto}
.ev-finding-summary{padding:17px 0 14px;border-bottom:1px solid var(--df-line)}
.ev-finding-summary h3{margin:0;font:700 17px/1.3 var(--font-display);text-transform:none}
.ev-finding-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px;font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.ev-severity{color:var(--sev-major)}.ev-severity.blocker{color:var(--sev-blocker)}.ev-severity.minor{color:var(--sev-minor)}.ev-severity.needs_review,.ev-severity.review{color:var(--sev-review)}
.ev-focus-section,.ev-narrative,.ev-disposition{padding:15px 0;border-bottom:1px solid var(--df-line)}
.ev-characteristic{padding:15px 0;border-bottom:1px solid var(--df-line)}.ev-characteristic .rule-kv{margin-top:7px}.ev-related{display:grid;gap:5px;margin-top:10px}.ev-related>span{font:10px var(--font-mono);color:var(--ink-faint)}.ev-characteristic details{margin-top:10px;font-size:11px}.ev-characteristic ol{padding-left:20px;color:var(--ink-soft)}
.ev-section-label{margin-bottom:9px;font:10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.ev-source-zone{position:relative;width:100%;min-height:142px;max-height:236px;overflow:hidden;border:1px solid var(--df-line);background:#F2F2F2;box-shadow:var(--shadow)}
.ev-source-zone img{position:absolute;max-width:none;object-fit:fill;user-select:none}
.ev-source-highlight{position:absolute;border:1.5px dashed var(--rv-red);background:rgba(var(--brand-red-rgb),.05);box-shadow:0 0 0 999px rgba(255,255,255,.08)}
.ev-source-zone.none{min-height:112px;height:auto}.ev-source-zone.none span{max-width:270px;text-transform:none;letter-spacing:0;line-height:1.5}
.ev-narrative h3{margin:0 0 6px;font:700 12px var(--font-ui);text-transform:none}
.ev-narrative p,.ev-more-body p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.55}
.ev-more{border-bottom:1px solid var(--df-line)}
.ev-more summary{padding:13px 0;cursor:pointer;font:600 11px var(--font-ui);list-style-position:inside}
.ev-more-body{padding:0 0 15px}.ev-more-body>*+*{margin-top:10px}
.ev-disposition-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ev-disposition-actions .btn{min-width:0;padding:8px 4px;font-size:10px}
.ev-disposition-actions .on{border-color:var(--rv-red);color:var(--rv-red);background:var(--action-soft)}
.ev-focus-btn{display:block;width:100%;margin-top:14px;text-align:center}
.ev-audit .audit-row{grid-template-columns:42px minmax(0,1fr) 14px}

.markup .mk{outline:none}
.markup .mk:focus-visible .mk-label-bg{stroke-width:3;filter:drop-shadow(0 0 3px currentColor)}
.markup .mk-box{fill:rgba(255,255,255,.04);stroke-width:1.35;stroke-dasharray:5 4}
.markup .mk.sel .mk-box{fill:rgba(var(--brand-red-rgb),.05);stroke-dasharray:none;stroke-width:2}
.markup .mk-leader{stroke-width:1.25}
.markup .mk-label-bg{fill:#fff;stroke-width:1.2}
.markup .mk-label-index{fill:#fff;stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke}
.markup .mk-label-num{font-size:13px;fill:currentColor}
.markup .mk-label-text{font-size:13px;font-weight:700}
.markup .mk.sel .mk-label-index{fill:var(--action-ink);stroke:var(--action-ink)}
.markup .mk.sel .mk-label-num{fill:#fff}
.marker-hit-layer{display:contents}
.marker-hit-layer .mk-hit{position:absolute;display:block;margin:0;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto}
.marker-hit-layer .mk-hit:focus-visible{outline:2px solid var(--rv-red);outline-offset:2px}
.markup .mk.dim{opacity:.42}

@media(max-width:1179px){
  .review-workspace{--df-index:72px;--df-drawer:360px}
  .review-lab,.review-lab.evidence-collapsed,.review-lab.findings-collapsed,.review-lab.findings-collapsed.evidence-collapsed{height:calc(100dvh - var(--topbar-h) - 128px)}
  .review-lab,.review-lab.evidence-collapsed,.review-lab.findings-collapsed,.review-lab.findings-collapsed.evidence-collapsed{grid-template-columns:72px minmax(0,1fr)}
  .review-lab .evidence-panel{width:min(360px,calc(100% - 72px))}
  .review-topline{grid-template-columns:minmax(220px,1fr) auto;grid-template-areas:"id summary" "id controls"}
  .review-topline .review-controls{justify-self:end}
  .dock-tabs button{min-width:120px}
}
@media(max-width:760px){
  .extraction-register-head{align-items:stretch;flex-direction:column}.extraction-register-controls{align-items:stretch}.extraction-register-controls input{width:100%}
  .extraction-correction-editor form{grid-template-columns:1fr}
  html,body,.shell,.content{max-width:100%;overflow-x:hidden}
  .review-topline{grid-template-columns:1fr;grid-template-areas:"id" "summary" "controls";gap:8px;padding:10px 12px}
  .review-topline .rh-summary,.review-topline .review-controls{justify-self:start;max-width:100%;overflow-x:auto}
  .review-topline .review-controls{flex-wrap:wrap}
  .review-lab,.review-lab.evidence-collapsed,.review-lab.findings-collapsed,.review-lab.findings-collapsed.evidence-collapsed{
    grid-template-columns:minmax(0,1fr);grid-template-rows:92px minmax(0,1fr);
    height:calc(100vh - var(--topbar-h) - 170px);min-height:610px;
  }
  .review-left{grid-column:1;grid-row:1;width:100%;height:92px;min-height:0;flex-direction:row;border-right:0;border-bottom:1px solid var(--df-line);overflow-x:auto;overflow-y:hidden}
  .sheet-section{display:flex;align-items:center;padding:8px;border:0;border-right:1px solid var(--df-line)}
  .sheet-section .rail-toggle{display:none}.sheet-list{flex-direction:row;margin:0;max-height:none;overflow:visible}
  .sheet-row{width:42px;min-width:42px;height:42px}
  .review-findings{min-width:max-content;flex-direction:row;align-items:center}
  .review-findings .findings-head{display:flex;width:auto;padding:8px 4px 8px 8px}.review-findings .rail-title{display:none}
  .review-findings .findings-list{flex-direction:row;align-items:center;gap:3px;padding:8px;overflow:visible}
  .review-findings .finding-index-item{width:42px;min-width:42px;height:42px;padding:4px;justify-content:center}.review-findings .finding-index-dot{position:absolute;right:2px;top:5px}
  .sheet-checks-wrap{min-width:76px;margin:8px 8px 8px 0}.sheet-checks-btn{min-width:76px}
  .sheet-checks-menu{position:fixed;left:12px;right:12px;bottom:104px;width:auto;max-height:42vh}
  .review-canvas{grid-column:1;grid-row:2;min-height:0}
  .review-canvas .rv-toolbar{overflow-x:auto;flex-wrap:nowrap}.review-canvas .rv-toolbar>*{flex:none}
  .drawing-pane{padding:10px 10px 44px}.markup-legend{display:none}
  .review-dock.open{height:min(260px,48vh)}.dock-tabs button{min-width:112px;padding:0 12px}
  .review-lab .evidence-panel{
    position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;max-height:86vh;
    border-left:0;border-top:1px solid var(--df-line);border-radius:12px 12px 0 0;
    transform:translateY(102%);box-shadow:var(--shadow-overlay);
  }
  .review-lab .evidence-panel.sheet-open{transform:none}
  .review-lab.evidence-collapsed .evidence-panel{transform:translateY(102%)}
  .review-lab .evidence-panel .ep-head{padding-top:20px}
  .ev-backdrop{display:block}
  .review-left.filters-open .sheet-search{position:fixed;left:12px;right:12px;top:112px;width:auto}
  .review-findings.filters-open .findings-toolbar{position:fixed;left:12px;right:12px;top:170px;width:auto;max-height:50vh;overflow:auto}
}
@media(prefers-reduced-motion:reduce){.review-dock{transition:none}}

/* Brand lockup: use the compact white wordmark in the full rail and the
   supplied app mark when the navigation collapses to an icon rail. */
.side-brand img{flex:none;object-fit:contain}
.side-brand .side-lockup{display:block}
.side-brand .side-mark{display:none}
.shell.nav-collapsed .side-brand .side-lockup{display:none}
.shell.nav-collapsed .side-brand .side-mark{display:block}
.shell.nav-collapsed .side-brand{min-height:44px}
.side-nav button:focus-visible,.side button:focus-visible,.side select:focus-visible{outline-color:var(--brand-cyan)}

/* MTR readiness categories keep independent restrictions distinct from
   failed criteria and review items. Status color is never decorative. */
.mtr-readiness-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.mtr-readiness-category{min-width:0;padding:10px 12px;border:1px solid var(--rule);border-left:3px solid var(--rule-strong);background:var(--panel);color:var(--ink)}
.mtr-readiness-category h3,.mtr-readiness-category h4{margin:0;color:var(--ink);font-size:13px;line-height:1.35}
.mtr-readiness-category p{margin:5px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.mtr-readiness-category.failed,.mtr-readiness-category.failure{border-left-color:var(--status-failure)}
.mtr-readiness-category.blocker{border-left-color:var(--status-blocker)}
.mtr-readiness-category.warning,.mtr-readiness-category.review{border-left-color:var(--status-warning)}
.mtr-readiness-category.pass,.mtr-readiness-category.passed{border-left-color:var(--status-pass)}
.mtr-readiness-restrictions{margin-top:9px;padding:10px 12px;border:1px solid rgba(var(--status-warning-rgb),.45);border-left:3px solid var(--status-warning);background:var(--status-warning-soft);color:var(--ink)}
.mtr-readiness-restrictions p{margin:4px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.mtr-evidence-source-note{margin-top:8px;padding:9px 11px;border:1px solid rgba(var(--struct-rgb),.32);border-left:3px solid var(--struct-axis);background:var(--struct-axis-soft);color:var(--ink);font-size:12px;line-height:1.45;overflow-wrap:anywhere}

/* Static synthetic sample report. The page stays a quiet report surface;
   the banner is the explicit synthetic/illustrative disclosure. */
body.sample-report-page{min-height:100vh;background:var(--canvas);color:var(--ink)}
.sample-report-page{width:min(100%,1120px);margin-inline:auto;padding:clamp(18px,4vw,44px);color:var(--ink)}
.sample-report-banner{margin:0 0 20px;padding:12px 15px;border:1px solid rgba(var(--brand-cyan-rgb),.35);border-left:4px solid var(--brand-cyan);background:var(--navy);color:#fff;font-size:13px;line-height:1.5}
.sample-report-banner strong{color:var(--brand-cyan)}
.sample-report-banner a{color:var(--brand-cyan);text-underline-offset:3px}
.sample-report-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 0 16px;border-bottom:1px solid var(--rule-strong)}
.sample-report-header img{display:block;width:min(240px,65vw);height:auto}
.sample-report-header h1{margin:0;color:var(--ink);font:700 clamp(22px,3vw,30px)/1.15 var(--font-display);letter-spacing:-.01em}
.sample-report-header p{max-width:60ch;margin:7px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.5}
.sample-report-verdict{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0;padding:15px 17px;border:1px solid var(--rule-strong);border-left:4px solid var(--navy);background:var(--panel)}
.sample-report-verdict.pass{border-left-color:var(--status-pass)}
.sample-report-verdict.warning{border-left-color:var(--status-warning)}
.sample-report-verdict.failure{border-left-color:var(--status-failure)}
.sample-report-verdict.blocker{border-left-color:var(--status-blocker)}
.sample-report-verdict h1{margin:6px 0 0;color:var(--ink);font:700 clamp(20px,2.5vw,26px)/1.2 var(--font-display)}
.sample-report-verdict .status-badge{flex:none;margin-top:3px;white-space:nowrap}
.sample-report-verdict strong{display:block;color:var(--ink);font:600 16px/1.35 var(--font-ui)}
.sample-report-verdict p{margin:5px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.5}
.sample-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 20px}
.sample-report-metrics>*{min-width:0;padding:12px;border:1px solid var(--rule);background:var(--panel)}
.sample-report-metrics strong{display:block;color:var(--ink);font:600 22px/1.1 var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sample-report-metrics span{display:block;margin-top:6px;color:var(--ink-soft);font:10px/1.35 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.sample-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.sample-report-card{min-width:0;border:1px solid var(--rule-strong);background:var(--panel)}
.sample-report-card h2{margin:0;padding:12px 14px;border-bottom:1px solid var(--rule);color:var(--ink);font:600 15px/1.35 var(--font-ui)}
.sample-report-card>p{margin:0;padding:12px 14px;color:var(--ink-soft);font-size:12px;line-height:1.5}
.sample-report-row{display:grid;grid-template-columns:minmax(0,1fr) max-content minmax(0,1.5fr);gap:8px 14px;align-items:start;padding:10px 14px;border-bottom:1px solid var(--rule);color:var(--ink-soft);font-size:12px;line-height:1.45}
.sample-report-row:last-child{border-bottom:0}
.sample-report-row>div:first-child>strong{display:block;color:var(--ink);font-weight:600;text-align:left}
.sample-report-row>div:first-child p{margin:4px 0 0;color:var(--ink-soft);font-size:11px;line-height:1.4}
.sample-report-row .status-badge{justify-self:start;white-space:nowrap}
.sample-report-value{min-width:0;color:var(--ink);font:500 11px/1.45 var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sample-report-footer{margin-top:18px;padding-top:12px;border-top:1px solid var(--rule-strong);color:var(--ink-faint);font-size:11px;line-height:1.5}

@media(max-width:900px){
  .mtr-readiness-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sample-report-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .shell.nav-collapsed .side{width:66px;padding-inline:10px}
  .shell.nav-collapsed .side-brand{justify-content:center;padding:4px 0 18px}
  .shell.nav-collapsed .side-brand .side-mark{width:34px;height:34px}
  .mtr-readiness-categories{grid-template-columns:1fr}
  .sample-report-page{padding:18px 14px 28px}
  .sample-report-header{align-items:flex-start;flex-direction:column}
  .sample-report-verdict{flex-direction:column;gap:10px;padding:13px}
  .sample-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sample-report-row{grid-template-columns:minmax(0,1fr) max-content;gap:6px 8px;padding:9px 11px;font-size:11px}
  .sample-report-row>div:first-child{grid-column:1;grid-row:1}
  .sample-report-row>.status-badge{grid-column:2;grid-row:1}
  .sample-report-row .sample-report-value{grid-column:1/-1;text-align:left}
}

/* Docked finding inspector (>=1180px): verdict and next action sit beside the
   drawing instead of in a slide-over, so reviewers never lose the sheet. Below
   1180px the inspector stays a slide-over (tablet) or bottom sheet (phone). */
@media(min-width:1180px){
  .review-lab,.review-lab.evidence-collapsed,.review-lab.findings-collapsed,.review-lab.findings-collapsed.evidence-collapsed{
    grid-template-columns:84px minmax(0,1fr) clamp(320px,26vw,380px);
  }
  .review-lab .evidence-panel,
  .review-lab .evidence-panel.sheet-open,
  .review-lab.evidence-collapsed .evidence-panel,
  .review-lab.findings-collapsed .evidence-panel,
  .review-lab:has(#reviewDock.open) .evidence-panel{
    position:relative;grid-column:3;grid-row:1;top:auto;right:auto;bottom:auto;width:auto;
    flex-direction:column;transform:none;visibility:visible;pointer-events:auto;
    box-shadow:none;transition:none;
  }
  #evidenceClose{display:none}
}

/* ======================================================================
   Brand consistency pass (design.md: red = selection marker, severity =
   status tokens, one page-header pattern, sentence-case controls).
   ====================================================================== */

/* Controls: sentence-case IBM Plex Sans. Mono stays for labels and IDs. */
.btn{font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;border-radius:3px;padding:7px 14px}
.btn:hover{transform:none;box-shadow:none}
.topbar .btn{font-size:13px;padding:7px 12px}
.linkbtn{font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}
.rv-menu-trigger{font:600 12px var(--font-ui);letter-spacing:0;text-transform:none}
.doc-open{font:600 12px var(--font-ui);letter-spacing:0;text-transform:none}
.fd-explain{font:600 12px var(--font-ui);letter-spacing:0;text-transform:none;border-radius:3px;padding:5px 10px}
.linkbtn.fd-explain{border:0;background:none;padding:5px 4px;color:var(--struct-ink)}
.linkbtn.fd-explain:hover{background:none;color:var(--struct-ink);text-decoration:underline}
.ev-disposition-actions .btn{font-size:12px;padding:8px 4px}

/* One page-header pattern: mono eyebrow, 28px Archivo sentence case, one line. */
.surf-head h2,.stdc-head h2{font:800 28px/1.1 var(--font-display);font-stretch:116%;letter-spacing:-.01em;text-transform:none;margin:6px 0 0}
.surf-head .linkbtn,.stdc-head .linkbtn{align-self:flex-end}
#view-queue section{padding-top:0}

/* Decorative corner brackets carried no meaning. */
.panel::before,.panel::after{display:none}

/* Sidebar: counts are information (cyan on navy), not selection. */
.side-nav button .nav-count{flex:none;background:var(--brand-cyan);color:var(--navy);font-weight:700}
.side-nav button.on .nav-count{background:var(--navy);color:#fff}
.nav-workspace-toggle{display:flex;align-items:center;gap:11px;font:560 13px var(--font-ui);letter-spacing:0;text-transform:none;color:var(--on-navy-soft)}
.nav-workspace-toggle .caret{order:3;flex:none;margin-left:auto;font-size:10px;color:var(--on-navy-faint)}
.nav-workspace-toggle span:not(.caret){flex:1}
.nav-workspace-toggle:hover{color:#fff}
.side-conf{display:none}
.side-foot .side-status{margin-top:0;text-transform:none;letter-spacing:.02em;font-size:11px}

/* Review header: identity in the display face, one filled action. */
.review-doc-id h1{font:760 18px/1.2 var(--font-display);font-stretch:112%;letter-spacing:0;text-transform:none}
.review-topline .eyebrow,.review-topline .rh-sub,.review-profile-status,.review-save-state{font-size:10px}
.review-topline .sev-chip{font-size:10px}
.sev-chip.conf{border-color:transparent;background:none;color:var(--ink-soft)}
.sev-chip.conf b{color:var(--ink)}
.review-controls .btn:not(.primary){background:none;border-color:transparent;color:var(--ink-soft)}
.review-controls .btn:not(.primary):hover,.review-controls .btn[aria-expanded="true"]{background:var(--canvas);border-color:var(--rule-strong);color:var(--ink)}

/* Findings rail: title on its own row so it never clips. */
.review-findings .findings-head{grid-template-columns:repeat(2,24px);justify-content:space-between;row-gap:6px}
.review-findings .findings-head .rail-title{grid-column:1/-1;font-size:10px;letter-spacing:.08em}
.review-findings .kbd-hint{width:24px;height:24px;font-size:11px}
.sheet-section .rail-toggle .ph-t{font-size:10px;letter-spacing:.08em}
.sheet-checks-btn{font-size:10px}

/* Findings (evidence trace): selection is a red rail on white, not pink. */
.ev-sheet.on,.ev-item.on{background:#fff;box-shadow:inset 3px 0 0 var(--brand-red)}
.ev-item.on .ei-msg{font-weight:600}

/* Dashboard: one compact totals row with hairlines instead of shadowed tiles. */
.stat-tiles{gap:0;padding:0;margin:14px 0 6px;border:1px solid var(--rule-strong);background:var(--panel)}
.stat-tile{border:0;border-left:1px solid var(--rule);border-radius:0;box-shadow:none;padding:14px 18px}
.stat-tile:first-child{border-left:0}
.stat-tile .sv{font-size:28px}
.stat-tile.alert .sv{color:var(--sev-blocker)}

/* Review queue: severity stripe + hairline, no stacked shadow and tint. */
.q-item{box-shadow:none}
.q-field{display:grid;gap:4px;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.q-side .txt{font:13px var(--font-ui);letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;border-color:var(--rule-strong);border-radius:3px}
.q-acts .dispo{flex:1}
.dispo{font:600 12px var(--font-ui);letter-spacing:0;text-transform:none;border-radius:3px;padding:7px 11px;color:var(--ink)}
.dash-panel{padding:0}
.panel .ph{background:var(--panel)}
.panel .ph h3{font:600 15px/1.3 var(--font-ui);text-transform:none}
.stdc-console{padding-top:16px}
.ev-empty.ev-card,.ev-card.ev-empty{font:13px/1.5 var(--font-ui);color:var(--ink-soft);border:0;padding:18px 2px}

/* Documents: grouped rows and status tones. */
.docs-group{padding:9px 18px;border-bottom:1px solid var(--rule);background:var(--canvas);font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.docs-group b{margin-left:6px;color:var(--ink-soft);font-weight:600}
.doc-stat.warn{color:var(--status-warning);border-color:rgba(var(--status-warning-rgb),.45);background:var(--status-warning-soft)}
.doc-stat.pass{color:var(--status-pass);border-color:rgba(var(--status-pass-rgb),.4);background:var(--status-pass-soft)}

/* Standards editor: publish row and rule title no longer collide. */
.stdc-publish-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 16px 4px}
.stdc-publish-note{flex:1 1 100%;font-size:12px;line-height:1.45;color:var(--ink-soft)}
.stdc-rule-title h3{font:700 20px/1.25 var(--font-display);font-stretch:108%}
.stdc-local-notice{font:400 12px/1.45 var(--font-ui);background:var(--panel);border-color:var(--rule)}

@media(max-width:760px){
  /* Phones: the review header keeps identity and counts; actions move to a
     bottom bar so the drawing starts higher on the screen. */
  .review-topline .review-controls{
    position:fixed;z-index:40;left:0;right:0;bottom:0;margin:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;background:var(--panel);border-top:1px solid var(--rule-strong);
  }
  .review-topline .review-controls>*{flex:none}
  .review-topline .review-controls .btn.primary{order:-1}
  .review-topline .review-controls .btn{padding:7px 10px}
  #view-review.on{padding-bottom:64px}
  .review-topline .review-profile-status,.review-topline .review-save-state{display:none}
  .review-canvas .rv-toolbar{flex-wrap:wrap;row-gap:6px;overflow-x:visible}
  .crumbs{font-size:0;gap:0}
  .crumbs b{font-size:12px}
  .stat-tile{border-left:0;border-top:1px solid var(--rule)}
  .stat-tile:nth-child(-n+2){border-top:0}
  .stat-tile:nth-child(even){border-left:1px solid var(--rule)}
}
@media(max-width:760px){
  /* The rail sits higher now that review actions live in the bottom bar, so
     the filter popovers open as a sheet above that bar instead of over the
     rail's own filter button. */
  .review-findings.filters-open .findings-toolbar{top:auto;bottom:72px;max-height:46vh}
  .review-left.filters-open .sheet-search{top:auto;bottom:calc(72px + 46vh + 8px)}
}

/* Embedded inside Semper Core (/app?embed=1): Core owns the account and workspace chrome. */
html[data-embed="core"] #accountMenuWrap,
html[data-embed="core"] [data-tenant-switcher]{display:none!important}
