#assessorsView { max-width: 1180px; margin: 0 auto; }
#assessors [id] { scroll-margin-top: 8rem; }
#assessors [id]:focus { outline: 3px solid var(--blue); outline-offset: 3px; }

.asr-first {
  padding: clamp(1rem,3vw,2rem);
  border: 1px solid var(--line);
  border-top: 5px solid var(--navy);
  border-radius: .4rem;
  background: #fbfaf7;
}
.asr-kicker,.asr-section-no { margin: 0 0 .4rem; color: var(--blue); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.asr-first h2 { max-width: 920px; margin: .15rem 0 .75rem; font: 700 clamp(1.65rem,3vw,2.6rem)/1.08 Georgia,"Times New Roman",serif; letter-spacing: -.015em; }
.asr-short { max-width: 1000px; padding: .85rem 1rem; border-left: 4px solid var(--blue); background: #edf3f6; font-size: 1rem; }
.asr-jump,.asr-downloads { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .9rem; }
.asr-jump a,.asr-downloads a { padding: .43rem .65rem; border: 1px solid var(--blue); border-radius: 999px; color: var(--navy); background: #fff; text-decoration: none; font-size: .78rem; font-weight: 800; }
.asr-disclosure { margin: .75rem 0 1.6rem; padding: .7rem .85rem; border-left: 3px solid var(--line); color: var(--muted); background: #fafafa; font-size: .76rem; }
.asr-section { padding: 1.9rem 0; border-top: 1px solid var(--line); }
.asr-section > h3 { max-width: 900px; margin: .15rem 0 .75rem; font: 700 clamp(1.35rem,2vw,1.85rem)/1.13 Georgia,"Times New Roman",serif; }

.asr-authority,.asr-metrics,.asr-role-grid,.asr-evidence-grid,.asr-track-grid { display:grid; gap:.7rem; }
.asr-authority { grid-template-columns:repeat(5,minmax(0,1fr)); }
.asr-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); margin:1rem 0; }
.asr-role-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.asr-evidence-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.asr-track-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.asr-authority article,.asr-metrics article,.asr-role-grid article,.asr-evidence-grid article,.asr-track-grid article { min-width:0; padding:.8rem; border:1px solid var(--line); border-radius:.35rem; background:#fff; }
.asr-authority article { border-top:4px solid var(--blue); }
.asr-metrics strong,.asr-metrics span,.asr-metrics small { display:block; }
.asr-metrics strong { color:var(--navy); font:700 1.45rem/1 Georgia,"Times New Roman",serif; }
.asr-metrics span { margin:.3rem 0 .2rem; font-size:.82rem; font-weight:800; }
.asr-metrics small { color:var(--muted); font-size:.72rem; }
.asr-track-grid article[data-state^="DEDICATED"] { border-left:5px solid var(--green); }
.asr-track-grid article:not([data-state^="DEDICATED"]) { border-left:5px solid var(--warn); }
.asr-track-grid small { color:var(--muted); font-weight:800; }

.asr-flow { list-style:none; padding:0; margin:1rem 0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.35rem; }
.asr-flow li { position:relative; padding:.65rem; border:1px solid var(--line); border-radius:.35rem; background:#fff; font-size:.78rem; font-weight:800; }
.asr-flow li:not(:last-child)::after { content:"→"; position:absolute; right:-.34rem; top:50%; z-index:2; color:var(--blue); background:#fff; transform:translateY(-50%); }
.asr-flow small { display:block; margin-top:.25rem; color:var(--muted); font-weight:500; }

.asr-step summary { display:grid; grid-template-columns:2rem minmax(240px,1fr) minmax(155px,auto); gap:.75rem; align-items:center; }
.asr-step summary small { display:block; color:var(--muted); font-weight:500; margin-top:.15rem; }
.asr-order { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; color:#fff; background:var(--navy); font-size:.76rem; }
.asr-step-body { padding:.5rem 0; }
.asr-purpose { padding-left:.75rem; border-left:4px solid var(--blue); font-size:.96rem; }
.asr-record-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.asr-record-grid .source-state { grid-template-columns:minmax(135px,.65fr) minmax(180px,1.35fr); }
.asr-callouts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; margin:.8rem 0; }
.asr-callouts p { margin:0; padding:.7rem; border-radius:.35rem; background:var(--soft); font-size:.84rem; }
.asr-law summary { display:grid; grid-template-columns:minmax(240px,1fr) auto; gap:.7rem; align-items:center; }
.asr-timeline { min-width:950px; }
.asr-timeline td:first-child { font-weight:800; color:var(--navy); white-space:nowrap; }
.asr-statutory { background:#fff4e5; }
.asr-target { background:#eef4f8; }
.asr-hard-stop { border-left:5px solid #a23333; background:#fff7f7; }
.asr-start-card { margin:1rem 0; padding:1rem; border:1px solid var(--line); border-left:5px solid #a23333; border-radius:.45rem; background:#fff9f8; }
.asr-primary-link { display:inline-block; padding:.5rem .75rem; border-radius:.35rem; background:var(--navy); color:#fff; font-weight:800; text-decoration:none; }
.asr-source-table { min-width:1120px; }
.asr-source-table .mono { overflow-wrap:anywhere; }
.asr-unknowns { padding:.8rem .8rem .8rem 2rem; border-left:5px solid var(--warn); background:#fff8ec; }

@media (max-width:980px) {
  .asr-authority,.asr-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .asr-metrics,.asr-role-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .asr-flow li::after { display:none; }
}
@media (max-width:680px) {
  .asr-authority,.asr-metrics,.asr-role-grid,.asr-evidence-grid,.asr-track-grid,.asr-flow,.asr-record-grid,.asr-callouts { grid-template-columns:1fr; }
  .asr-step summary { grid-template-columns:2rem 1fr; }
  .asr-step summary .badge { grid-column:1/-1; }
  .asr-record-grid .source-state { grid-template-columns:1fr; }
  .asr-law summary { grid-template-columns:1fr; }
  #assessors [id] { scroll-margin-top:5rem; }
}
@media print {
  .asr-authority,.asr-metrics,.asr-role-grid,.asr-evidence-grid,.asr-track-grid,.asr-flow,.asr-record-grid,.asr-callouts { display:block; }
  .asr-authority article,.asr-metrics article,.asr-role-grid article,.asr-evidence-grid article,.asr-track-grid article,.asr-step,.asr-law { break-inside:avoid; margin:.35rem 0; }
  .asr-jump { display:none; }
}
