/* View-specific styles: dashboard, documentation, editor, changes, diff, releases, proposals, administration, palette, help. */

.spinner { display: inline-block; width: 0.95em; height: 0.95em; border-radius: 50%; border: 2px solid var(--border-strong); border-top-color: var(--primary); animation: kc-spin 0.7s linear infinite; vertical-align: -0.15em; }
.plainlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.mini-title { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 0.6rem; font-weight: 650; }
.wrap { overflow-wrap: anywhere; }
.problem-list { margin: 0.4rem 0 0; padding-left: 1.2rem; }
.fieldset { border: 1px solid var(--border); border-radius: var(--radius); padding: 0.8rem 1rem 1rem; margin: 0; min-width: 0; }
.fieldset legend { font-size: 0.82rem; font-weight: 650; color: var(--text-2); padding: 0 0.4rem; }
.people { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.people li { display: flex; align-items: center; gap: 0.6rem; }
.userchip__avatar { width: 1.85rem; height: 1.85rem; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: #fff; font-weight: 700; font-size: 0.82rem; flex: none; }

/* ---------- dashboard */
.dash-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.dash-grid > .card:nth-child(1), .dash-grid > .card:nth-child(4) { grid-column: 1 / -1; }
@media (max-width: 1100px) { .dash-grid { grid-template-columns: minmax(0, 1fr); } }
.tile {
  display: flex; flex-direction: column; gap: 0.35rem; padding: 0.9rem 1rem; background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-lg); color: var(--text); text-decoration: none; box-shadow: var(--shadow-sm);
  transition: border-color var(--ease), transform var(--ease), box-shadow var(--ease);
}
.tile:hover { border-color: var(--primary); transform: translateY(-1px); box-shadow: var(--shadow); text-decoration: none; }
.tile__top { display: flex; align-items: center; gap: 0.5rem; color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.tile__icon { width: 1.7rem; height: 1.7rem; display: grid; place-items: center; border-radius: 0.5rem; background: var(--primary-soft); color: var(--link); }
.tile__value { font-size: 1.85rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.tile__na { font-size: 0.95rem; color: var(--muted); font-weight: 600; }
.tile__hint { font-size: 0.78rem; color: var(--muted); }
.tile--warn .tile__icon { background: var(--warn-bg); color: var(--warn-fg); }
.tile--ok .tile__icon { background: var(--ok-bg); color: var(--ok-fg); }
.tile--info .tile__icon { background: var(--info-bg); color: var(--info-fg); }
.breakdown { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
@media (max-width: 860px) { .breakdown { grid-template-columns: minmax(0, 1fr); } }
.barrow { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) 3.2rem; align-items: center; gap: 0.75rem; color: var(--text); font-size: 0.88rem; text-decoration: none; }
a.barrow:hover { text-decoration: none; }
a.barrow:hover .barrow__label { color: var(--link); }
.barrow--wide { grid-template-columns: 12rem minmax(0, 1fr) 9rem; }
.barrow__value { text-align: right; font-variant-numeric: tabular-nums; color: var(--text-2); }
.bar--info > span { background: var(--info-fg); } .bar--merged > span { background: var(--merged-fg); } .bar--neutral > span { background: var(--muted); }
@media (max-width: 600px) { .barrow--wide { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; } .barrow--wide .barrow__value { text-align: left; } }
.metric { padding: 0.85rem 1rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); }
.metric__label { font-size: 0.8rem; color: var(--muted); font-weight: 600; }
.metric__value { font-size: 1.5rem; font-weight: 700; margin-top: 0.15rem; }
.metric__hint { font-size: 0.78rem; color: var(--muted); margin-top: 0.25rem; }
.metric--na .metric__value { font-size: 1.05rem; color: var(--muted); }
.metric--ok .metric__value { color: var(--ok-fg); } .metric--warn .metric__value { color: var(--warn-fg); }
.coverage { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.coverage__num { font-size: 1.3rem; font-weight: 700; }
.ring { width: 8.5rem; height: 8.5rem; flex: none; }
.ring__track { fill: none; stroke: var(--surface-hover); stroke-width: 11; }
.ring__value { fill: none; stroke: var(--primary); stroke-width: 11; stroke-linecap: round; transition: stroke-dasharray 600ms ease; }
.ring__text { fill: var(--text); font-size: 24px; font-weight: 700; }
.ring__sub { fill: var(--muted); font-size: 11px; }
.timeline { list-style: none; margin: 0; padding: 0.4rem 1.1rem 0.9rem; }
.timeline__item { padding: 0.85rem 0; border-bottom: 1px solid var(--border); }
.timeline__item:last-child { border-bottom: 0; }
.timeline__title { font-weight: 600; overflow-wrap: anywhere; }
.timeline__meta { font-size: 0.84rem; margin: 0.15rem 0 0.4rem; }
.diffstat { display: inline-flex; gap: 0.4rem; font-family: var(--font-mono); font-size: 0.78rem; font-weight: 600; }
.diffstat__add { color: var(--ok-fg); } .diffstat__del { color: var(--bad-fg); }

/* ---------- documentation */
.docs { display: grid; grid-template-columns: minmax(16rem, 19rem) minmax(0, 1fr); gap: 1.1rem; align-items: start; }
.docs__tree { position: sticky; top: calc(var(--topbar-h) + 0.75rem); max-height: calc(100dvh - var(--topbar-h) - 1.5rem); display: flex; flex-direction: column; overflow: hidden; }
.docs__filters { padding: 0.8rem; border-bottom: 1px solid var(--border); display: grid; gap: 0.55rem; }
.docs__filterhead { display: flex; align-items: center; gap: 0.5rem; }
.docs__count { font-size: 0.8rem; }
.docs__selects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem; }
.docs__selects > :last-child { grid-column: 1 / -1; }
.docs__checks { display: flex; gap: 0.9rem; flex-wrap: wrap; align-items: center; }
.docs__checks .check { font-size: 0.82rem; }
.docs__treescroll { overflow: auto; padding: 0.4rem 0.4rem 0.8rem; flex: 1; }
.docs__content { min-width: 0; }
.docs__mobilebar { display: none; margin-bottom: 0.8rem; }
.tree, .tree__children { list-style: none; margin: 0; padding: 0; }
.tree__children { padding-left: 0.85rem; margin-left: 0.7rem; border-left: 1px solid var(--border); }
.tree__toggle {
  display: flex; align-items: center; gap: 0.45rem; width: 100%; padding: 0.38rem 0.45rem; border: 0; background: none; border-radius: var(--radius-sm);
  text-align: left; font-weight: 620; font-size: 0.88rem; color: var(--text);
}
.tree__toggle:hover { background: var(--surface-hover); }
.tree__chev { transition: transform var(--ease); color: var(--muted); }
.tree__toggle[aria-expanded="true"] > .tree__chev { transform: rotate(90deg); }
.tree__label { flex: 1; }
.tree__count { font-size: 0.72rem; color: var(--muted); background: var(--surface-hover); padding: 0 0.4rem; border-radius: 999px; }
.tree__page {
  display: flex; align-items: center; gap: 0.5rem; padding: 0.34rem 0.45rem; border-radius: var(--radius-sm); color: var(--text-2); font-size: 0.86rem; text-decoration: none;
}
.tree__page:hover { background: var(--surface-hover); color: var(--text); text-decoration: none; }
.tree__page.is-active { background: var(--primary-soft); color: var(--text); font-weight: 620; box-shadow: inset 2px 0 0 var(--primary); }
.tree__page .icon { color: var(--muted); }
.tree__title { flex: 1; }
.tree__marks { display: inline-flex; align-items: center; gap: 0.25rem; flex: none; }
.tree__mark { display: inline-flex; align-items: center; gap: 0.15rem; font-size: 0.68rem; padding: 0 0.3rem; border-radius: 999px; border: 1px solid; }
.tree__mark .icon { width: 0.8rem; height: 0.8rem; }
.tree__scope { font-size: 0.64rem; padding: 0 0.35rem; border-radius: 999px; border: 1px solid; font-weight: 650; text-transform: uppercase; letter-spacing: 0.03em; }
.tree__status { width: 1.05rem; height: 1.05rem; display: inline-grid; place-items: center; font-size: 0.62rem; font-weight: 700; border-radius: 50%; background: var(--surface-hover); color: var(--muted); }
.tree__status--approved { background: var(--ok-bg); color: var(--ok-fg); } .tree__status--reviewed { background: var(--info-bg); color: var(--info-fg); }
.tree__status--archived { background: var(--merged-bg); color: var(--merged-fg); }
.catcard h3 { font-size: 1rem; }
.reader__head { display: grid; gap: 0.7rem; margin-bottom: 1rem; }
.reader__titlerow { display: flex; gap: 1rem; flex-wrap: wrap; align-items: flex-start; }
.reader > .stack, .reader > .banner { margin-bottom: 1rem; }
.reader__body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 1rem; align-items: start; }
.reader__article { padding: 1.2rem 1.6rem; min-height: 14rem; }
.reader__toc { order: -1; }
.toc { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.toc__title { display: flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.8rem; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); font-weight: 700; cursor: pointer; list-style: none; }
.toc__title::-webkit-details-marker { display: none; }
.toc[open] .toc__title { border-bottom: 1px solid var(--border); }
.toc nav { padding: 0.5rem 0.4rem 0.6rem; max-height: 16rem; overflow: auto; columns: 2 16rem; column-gap: 1rem; }
.toc__list { list-style: none; margin: 0; padding: 0; }
.toc__list .toc__list { padding-left: 0.8rem; }
.toc__item { break-inside: avoid; }
.toc__link { display: block; padding: 0.22rem 0.6rem; border-left: 2px solid var(--border); color: var(--muted); font-size: 0.84rem; text-decoration: none; overflow-wrap: anywhere; }
.toc__link:hover { color: var(--text); text-decoration: none; }
.toc__link.is-active { border-left-color: var(--primary); color: var(--text); font-weight: 620; }
@media (min-width: 1700px) {
  .reader__body.has-toc { grid-template-columns: minmax(0, 1fr) 16rem; }
  .reader__toc { order: 0; position: sticky; top: calc(var(--topbar-h) + 1rem); max-height: calc(100dvh - var(--topbar-h) - 2rem); overflow: auto; }
  .toc__title { pointer-events: none; cursor: default; }
  .toc nav { columns: 1; max-height: none; }
}
.docframe { position: relative; min-height: 6rem; }
.docframe__frame { display: block; width: 100%; border: 0; background: transparent; color-scheme: normal; }
.docframe__frame--pending { position: absolute; left: 0; top: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 960px) {
  .docs { grid-template-columns: minmax(0, 1fr); }
  .docs__tree { position: static; max-height: none; display: none; }
  .docs--tree-open .docs__tree { display: flex; max-height: 70dvh; margin-bottom: 1rem; }
  .docs__mobilebar { display: block; }
  .reader__article { padding: 0.9rem 0.95rem; }
}

/* ---------- editor */
.main--wide { max-width: none; padding-bottom: 1rem; }
.editor { display: flex; flex-direction: column; gap: 0.7rem; height: calc(100dvh - var(--topbar-h) - 2.2rem); min-height: 28rem; }
.editor__head { display: flex; gap: 1rem; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; }
.editor__titlebox { min-width: 0; flex: 1 1 22rem; }
.editor__title { font-size: 1.2rem; }
.editor__actions { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.editor__status .chip { font-size: 0.74rem; }
.editor__meta { flex: none; }
.editor__work { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.8rem; }
.editor[data-layout="editor"] .editor__work { grid-template-columns: minmax(0, 1fr); }
.editor[data-layout="editor"] .editor__pane--preview { display: none; }
.editor[data-layout="preview"] .editor__work { grid-template-columns: minmax(0, 1fr); }
.editor[data-layout="preview"] .editor__pane--edit { display: none; }
.editor__pane { display: flex; flex-direction: column; min-height: 0; min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.editor__toolbar { display: flex; align-items: center; gap: 0.15rem; padding: 0.35rem 0.5rem; border-bottom: 1px solid var(--border); background: var(--surface-2); flex-wrap: wrap; }
.editor__sep { width: 1px; height: 1.2rem; background: var(--border-strong); margin: 0 0.3rem; }
.editor__stats { font-size: 0.78rem; white-space: nowrap; }
.editor__cmwrap { position: relative; flex: 1; min-height: 0; }
.editor__cm { position: absolute; inset: 0; }
.editor__drop { position: absolute; inset: 0.6rem; display: none; place-items: center; align-content: center; gap: 0.4rem; border: 2px dashed var(--primary); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface) 82%, transparent); color: var(--link); font-weight: 650; z-index: 5; pointer-events: none; }
.editor__pane--edit.is-dragging .editor__drop { display: grid; }
.editor__previewhead { display: flex; align-items: center; gap: 0.6rem; padding: 0.5rem 0.8rem; border-bottom: 1px solid var(--border); background: var(--surface-2); flex-wrap: wrap; }
.editor__sync { font-size: 0.8rem; }
.editor__issues { display: grid; gap: 0.5rem; padding: 0.5rem; }
.editor__issues:empty { display: none; }
.editor__previewscroll { flex: 1; min-height: 0; overflow: auto; padding: 1rem 1.3rem; }
.editor__previewbody { max-width: 56rem; margin: 0 auto; }
body.editor-full .sidebar, body.editor-full .topbar { display: none; }
body.editor-full .shell { grid-template-columns: minmax(0, 1fr); }
body.editor-full .main { padding: 0.8rem 1rem; }
body.editor-full .editor { height: calc(100dvh - 1.6rem); }
@media (max-width: 960px) {
  .editor { height: auto; min-height: 0; }
  .editor__work { grid-template-columns: minmax(0, 1fr); }
  .editor[data-layout="split"] .editor__work { grid-template-columns: minmax(0, 1fr); }
  .editor__pane { min-height: 22rem; }
  .editor__cmwrap { min-height: 20rem; }
  .editor__modelabel { display: none; }
}

/* ---------- changes */
.table--changes td { vertical-align: top; }
.crtitle { font-weight: 620; color: var(--text); }
.revcard__title { font-size: 1.02rem; }
.stepper-wrap { padding: 0.9rem 1.2rem; overflow-x: auto; }
.stepper { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0; min-width: max-content; }
.step { display: flex; align-items: center; gap: 0.55rem; position: relative; padding-right: 3rem; color: var(--muted); font-weight: 620; font-size: 0.9rem; }
.step::after { content: ""; position: absolute; right: 0.6rem; top: 50%; width: 1.8rem; height: 2px; background: var(--border-strong); }
.step:last-child { padding-right: 0; } .step:last-child::after { display: none; }
.step__dot { width: 1.7rem; height: 1.7rem; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--border-strong); font-size: 0.78rem; background: var(--surface); }
.step__dot .icon { width: 0.95rem; height: 0.95rem; }
.step--done { color: var(--text); } .step--done .step__dot { background: var(--ok-fg); border-color: var(--ok-fg); color: var(--surface); } .step--done::after { background: var(--ok-fg); }
.step--current { color: var(--text); } .step--current .step__dot { border-color: var(--primary); color: var(--link); box-shadow: 0 0 0 4px var(--primary-soft); }
.step--warn { color: var(--warn-fg); } .step--warn .step__dot { border-color: var(--warn-fg); color: var(--warn-fg); background: var(--warn-bg); }
.step--bad { color: var(--bad-fg); } .step--bad .step__dot { border-color: var(--bad-fg); color: var(--bad-fg); background: var(--bad-bg); }
.actionbar { display: flex; gap: 0.5rem; flex-wrap: wrap; padding: 0.7rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.filewrap { position: relative; }
.filewrap__actions { position: absolute; right: 0.7rem; top: 0.45rem; display: flex; gap: 0.35rem; }
.filecard { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.filecard > summary { display: flex; align-items: center; gap: 0.55rem; padding: 0.65rem 0.8rem; cursor: pointer; list-style: none; flex-wrap: wrap; padding-right: 9rem; }
.filecard > summary::-webkit-details-marker { display: none; }
.filecard > summary::before { content: ""; width: 0.5rem; height: 0.5rem; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(-45deg); transition: transform var(--ease); margin-right: 0.2rem; }
.filecard[open] > summary::before { transform: rotate(45deg); }
.filecard__path { font-size: 0.86rem; flex: 1 1 14rem; }
.filecard__body { border-top: 1px solid var(--border); padding: 0.7rem; }
.attachment-preview { max-width: 100%; max-height: 22rem; border-radius: var(--radius); border: 1px solid var(--border); }
.gates { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.gate { border: 1px solid var(--border); border-left-width: 4px; border-radius: var(--radius); padding: 0.55rem 0.75rem; background: var(--surface-2); }
.gate--ok { border-left-color: var(--ok-fg); } .gate--bad { border-left-color: var(--bad-fg); } .gate--warn { border-left-color: var(--warn-fg); }
.gate__head { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.gate__head .icon { color: var(--muted); }
.gate--ok .gate__head > .icon { color: var(--ok-fg); } .gate--bad .gate__head > .icon { color: var(--bad-fg); } .gate--warn .gate__head > .icon { color: var(--warn-fg); }
.gate__time { margin-left: auto; font-size: 0.78rem; }
.gate__summary { font-size: 0.82rem; margin-top: 0.2rem; overflow-wrap: anywhere; }
.gate__problems { margin-top: 0.4rem; font-size: 0.82rem; }
.gate__problems ul { margin: 0.4rem 0 0; padding-left: 1.1rem; display: grid; gap: 0.25rem; }
.reviews { list-style: none; margin: 0; padding: 0; }
.review { padding: 0.85rem 1.1rem; border-top: 1px solid var(--border); }
.review:first-child { border-top: 0; }
.review.is-stale { opacity: 0.72; }
.review__text { margin-top: 0.4rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.breakglass { border: 1px dashed var(--bad-bd); border-radius: var(--radius); padding: 0.7rem 0.9rem; background: var(--bad-bg); }
.breakglass > summary { cursor: pointer; font-weight: 650; color: var(--bad-fg); display: flex; gap: 0.5rem; align-items: center; }
.split--history { grid-template-columns: minmax(0, 26rem) minmax(0, 1fr); }
@media (max-width: 1100px) { .split--history { grid-template-columns: minmax(0, 1fr); } }

/* ---------- diff */
.diffpanel { min-width: 0; }
.diffbar { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; margin-bottom: 0.55rem; }
.diff { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; font-family: var(--font-mono); font-size: 0.8rem; background: var(--surface); }
.diff__note { padding: 1rem; font-family: var(--font-sans); color: var(--muted); }
.diff__hunk { display: flex; align-items: center; gap: 0.5rem; width: 100%; border: 0; background: var(--diff-hunk-bg); color: var(--diff-hunk-fg); padding: 0.35rem 0.6rem; text-align: left; font: inherit; }
.diff__ctx { color: var(--muted); font-family: var(--font-sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.diff__chev { transition: transform var(--ease); }
.diff__hunk[aria-expanded="false"] .diff__chev { transform: rotate(-90deg); }
.diff__hunkwrap.is-collapsed .diff__body { display: none; }
.diff__body { overflow-x: auto; }
.diff__row { display: grid; grid-template-columns: 3.4rem 3.4rem 1.2rem minmax(max-content, 1fr); }
.diff__no { padding: 0 0.5rem; text-align: right; color: var(--muted); user-select: none; border-right: 1px solid var(--border); }
.diff__sign { text-align: center; color: var(--muted); user-select: none; }
.diff__code { white-space: pre-wrap; overflow-wrap: anywhere; padding-right: 0.8rem; min-width: 0; }
.diff__row--add { background: var(--diff-add-bg); } .diff__row--add .diff__no { background: var(--diff-add-gutter); } .diff__row--add .diff__sign { color: var(--diff-add-fg); }
.diff__row--del { background: var(--diff-del-bg); } .diff__row--del .diff__no { background: var(--diff-del-gutter); } .diff__row--del .diff__sign { color: var(--diff-del-fg); }
.diff__row--note { color: var(--muted); font-style: italic; }
.diff__more { margin: 0.5rem; }
.diff--split .diff__row--split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.diff--split .diff__half { display: grid; grid-template-columns: 3rem minmax(0, 1fr); border-right: 1px solid var(--border); }
.diff--split .diff__row--ctx { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.diff--split .diff__row--ctx > .diff__no { display: inline; }
.diff--split .diff__row--split.diff__row--ctx { grid-template-columns: 3rem minmax(0, 1fr) 3rem minmax(0, 1fr); }
.diff__half--empty { background: var(--surface-2); }

/* ---------- history */
.revlist { list-style: none; margin: 0; padding: 0; }
.rev { display: flex; gap: 0.7rem; padding: 0.85rem 1rem; border-bottom: 1px solid var(--border); }
.rev:last-child { border-bottom: 0; }
.rev.is-selected { background: var(--primary-soft); }
.rev__main { min-width: 0; display: grid; gap: 0.35rem; }
.rev__subject { font-weight: 600; overflow-wrap: anywhere; }
.rev__meta { font-size: 0.82rem; }
.rev__pick input { width: 1.05rem; height: 1.05rem; accent-color: var(--primary); margin-top: 0.2rem; }

/* ---------- releases / proposals / admin */
.scopecard__label { font-weight: 650; overflow-wrap: anywhere; }
.scopecard--ok { border-top: 3px solid var(--ok-fg); } .scopecard--info { border-top: 3px solid var(--info-fg); }
.scopecard--warn { border-top: 3px solid var(--warn-fg); } .scopecard--bad { border-top: 3px solid var(--bad-fg); }
.findings { list-style: none; margin: 0; padding: 0; }
.finding { padding: 0.9rem 1.1rem; border-top: 1px solid var(--border); display: grid; gap: 0.5rem; }
.finding:first-child { border-top: 0; }
.finding__title { font-weight: 650; }
.refs { list-style: none; margin: 0; padding: 0 0 0 0.5rem; display: grid; gap: 0.4rem; }
.ref { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; font-size: 0.86rem; }
.table--audit td { vertical-align: top; }
.audit__details td { padding-top: 0; }
.is-flagged td:first-child { box-shadow: inset 3px 0 0 var(--warn-fg); }
.audit__details pre.code { margin-top: 0.4rem; }

/* ---------- search palette */
.palette { display: flex; flex-direction: column; min-height: 0; max-height: 78dvh; }
.palette__bar { display: flex; align-items: center; gap: 0.6rem; padding: 0.75rem 0.9rem; border-bottom: 1px solid var(--border); }
.palette__input { flex: 1; min-width: 0; border: 0; background: none; font-size: 1.05rem; outline: none; padding: 0.3rem 0; }
.palette__scope { width: auto; }
.palette__list { overflow: auto; padding: 0.4rem; flex: 1; min-height: 6rem; }
.palette__heading { padding: 0.5rem 0.6rem 0.25rem; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.palette__item { display: block; padding: 0.6rem 0.7rem; border-radius: var(--radius); color: var(--text); text-decoration: none; }
.palette__item.is-active { background: var(--primary-soft); }
.palette__item:hover { text-decoration: none; }
.palette__row { display: flex; align-items: center; gap: 0.5rem; }
.palette__row > .icon { color: var(--muted); }
.palette__title { font-weight: 620; flex: 1; }
.palette__path { font-size: 0.76rem; color: var(--muted); margin-top: 0.1rem; }
.palette__snippet { font-size: 0.84rem; color: var(--text-2); margin-top: 0.3rem; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.palette__snippet mark { background: rgba(255, 196, 0, 0.35); color: inherit; border-radius: 3px; padding: 0 0.1em; }
.palette__foot { display: flex; gap: 1rem; padding: 0.55rem 0.9rem; border-top: 1px solid var(--border); font-size: 0.78rem; color: var(--muted); background: var(--surface-2); }

/* ---------- help drawer */
.help__section { display: grid; gap: 0.6rem; }
.help__section h3 { font-size: 0.95rem; }
.help__dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 0.5rem 1rem; margin: 0; align-items: start; }
.help__dl dd { margin: 0; color: var(--text-2); font-size: 0.9rem; }
.help__steps, .help__list { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.4rem; font-size: 0.9rem; color: var(--text-2); }

/* ---------- admin filters */
.filters-row { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
.filters-row .input { flex: 1 1 14rem; width: auto; min-width: 0; max-width: 22rem; }

/* ---------- small screens: stepper, file cards */
@media (max-width: 560px) {
  .step { padding-right: 1.5rem; }
  .step::after { width: 0.8rem; right: 0.35rem; }
  .step:not(.step--current):not(.step--warn):not(.step--bad) .step__label { display: none; }
  .filecard > summary { padding-right: 0.8rem; }
  .filewrap__actions { position: static; padding: 0.4rem 0 0; }
  .actionbar .btn { flex: 1 1 auto; }
  .page-header__actions { width: 100%; }
}
