/* Signals Records — SIG-RECORDS-R2 (D23, Stage 3d). Records-only pieces of the Round 2
   board: the summary line, the decade scrubber, the signed-out lockbar/aggregate cards,
   the exact-search control, the column head, the chip row. The row grammar, the four
   controls, the footer, the inspector and the responsive folding are the shared
   public/css/signals-grammar.css. Tokens are the shell's (ll-v5.css). No animation of
   its own — reduced motion is the shell's. */
.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;}
main.signals-v2.sgr{line-height:1.5;}
/* the board's 22px gutter (Round 2: .phead padding 18px 22px, .sumline margin 0 22px) — the page was flush to the viewport edge */
main.signals-v2.sgr.shell-content{max-width:var(--content-max);padding-inline:22px;}
@media (max-width:719px){main.signals-v2.sgr.shell-content{padding-inline:14px;}}
.sgr .rlink{border:none;background:none;padding:0 .2rem;font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet);cursor:pointer;}
/* SIG-LANGUAGE-3 (operator GO 2026-09-02): Records' heads, cards, chips, controls, readings and fine
   print are the shared D29 pieces in signals-grammar.css; this sheet keeps composition only —
   margins on the s-scale, the grids, the scrubber's geometry, the responsive folding. */
.sumline{margin:0 0 var(--s4);line-height:1.7;}
.sumline b{color:var(--ink);font-weight:700;}
.sumline i{font-style:normal;color:var(--dim);}
.sumline b.warm{color:var(--warm,#c27a1a);}
.decade{margin:0 0 var(--s4);position:relative;}
.decadeh .gap{margin-left:auto;}
.pubyear .pyl{display:flex;flex-direction:column;gap:var(--s1);}
.pubyear select{width:100%;}
.pubyear .pyo{margin:var(--s2) 0 var(--s4);}
/* the lockbar is the card in one stated variant — a viewer-state tint, because it speaks to the visitor */
.lockbar{display:flex;align-items:center;gap:var(--s4) var(--s6);flex-wrap:wrap;margin:0 0 var(--s4);border-color:color-mix(in srgb,var(--violet) 35%,var(--border));background:color-mix(in srgb,var(--violet) 7%,var(--card));}
.lockcopy{flex:1 1 420px;}
.lockcopy h2{margin:0 0 var(--s1);}
.lockcopy p{margin:0;}
.lockacts{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;}
.pgr{display:grid;grid-template-columns:118px minmax(0,1fr) 64px;align-items:center;gap:var(--s3);padding:var(--s1) 0;}
.pgr b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pgr span{text-align:right;}
.pnote,.pfoot{margin:var(--s2) 0 0;}
.pfoot{grid-column:1 / -1;text-align:center;margin:0;}
.illtag{grid-column:1 / -1;justify-self:start;}

/* ---------- the summary sentence (figure ledger: approved · unpaid · share · subjects · as-of · cadence) ---------- */
/* the board's readout: a boxed mono line, not a paragraph (Round 2 .sumline) */

/* ---------- the decade scrubber ---------- */
/* .decade, not .scard: the shell's .scard is a story card (3px accent bar, hover lift, shadow) and the decade wore it by accident */
.scrub{display:flex;align-items:flex-end;gap:.35rem;min-height:112px;padding:.2rem 0 0;overflow-x:auto;}
.scrub:empty{min-height:0;}
.scrub .bar{flex:1 1 0;min-width:40px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.2rem;border:none;background:none;padding:.2rem .1rem 0;font:inherit;color:var(--muted);cursor:default;min-height:44px;border-radius:6px;}
.scrub .bar i{display:block;width:100%;max-width:48px;background:var(--violet);opacity:.55;border-radius:4px 4px 0 0;}
.scrub .bar .c{font-family:var(--mono);font-size:.625rem;font-weight:700;color:var(--ink);}
.scrub .bar .y{font-family:var(--mono);font-size:.64rem;}
.scrub .bar .y small{display:block;font-size:.625rem;color:var(--dim);}
.scrub .bar.sel i{opacity:1;}
.scrub .bar.sel .y{color:var(--violet);font-weight:700;}
.scrub .bar.dimd i{opacity:.22;}
[data-records-auth="member"] .scrub .bar{cursor:pointer;}
[data-records-auth="member"] .scrub .bar:hover i{opacity:.9;}
.scrub .bar:focus-visible{outline:2px solid var(--violet);outline-offset:2px;}
.stip{position:absolute;left:1rem;bottom:calc(100% - .2rem);transform:translateX(-50%);background:var(--ink);color:var(--card);font-family:var(--mono);font-size:.64rem;font-weight:700;padding:.3rem .5rem;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:5;}
.stip[hidden]{display:none;}

/* ---------- signed out below 720: the decade as a Year select (frame 05) ---------- */
.pubyear{display:none;}

/* ---------- signed out: the lockbar and the aggregate cards ---------- */
.lockbar[hidden]{display:none;}
.pubwrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;margin:0 0 1rem;}
.pubwrap[hidden]{display:none;}
.pgr i{display:block;height:10px;min-width:2px;background:var(--violet);opacity:.65;border-radius:3px;}
.illrow{cursor:default;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-left:.7rem;grid-template-columns:64px 112px minmax(0,1fr) auto;gap:.45rem .85rem;}
.illrow::before,.illrow::after{display:none;}
.illrow .pair{white-space:normal;overflow:visible;}
.illrow:hover{background:transparent;}
.pacts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem;}

/* ---------- signed in: exact search, the column head, chips ---------- */
.workspace[hidden]{display:none;}
.fsum .fq{display:inline-flex;align-items:center;gap:var(--s1);flex:1 1 300px;max-width:440px;}
.fsum .fq input{flex:1;min-width:0;}
.fsum .more{display:block;position:relative;}
.fsum .more summary{list-style:none;}
.fsum .more summary::-webkit-details-marker{display:none;}
.fsum .more.on summary{border-color:var(--ac);color:var(--ink);}
.fsum .more .moregrid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:var(--s2);align-items:end;margin-top:var(--s2);}
.fsum .more .moregrid label{display:flex;flex-direction:column;gap:var(--s1);}
.fsum .more .moregrid input{width:100%;}
.lens{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin:0 0 var(--s3);}
.lens[hidden]{display:none;}
.lens .lchip .x{color:var(--violet);font-weight:700;}
/* the column head is the register head, INSIDE the register (operator-approved item e): its grid mirrors the row's */
.thead{display:grid;grid-template-columns:64px 112px minmax(0,.62fr) minmax(0,.58fr) minmax(0,.85fr) 212px 96px;gap:.85rem;align-items:center;padding:var(--s2) .7rem var(--s2) 1.7rem;}
.thead .sortb{justify-self:start;border:none;background:none;padding:.2rem 0;font:inherit;color:var(--violet);cursor:pointer;min-height:28px;}
.thead .srch{text-align:right;}
.row .t small{display:block;font-size:.625rem;color:var(--dim);}
.insp .trail .tr .vl-chip{vertical-align:middle;}
.sgr .row{padding-top:.48rem;padding-bottom:.48rem;}
.row .src.gone{cursor:default;}
.insp .trail .tr{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.5rem;padding:.3rem 0;border-top:1px solid var(--border);font-size:.78rem;align-items:baseline;}
.insp .trail .tr .d{font-family:var(--mono);font-size:.66rem;color:var(--muted);}
.insp .trail .tr .v b{color:var(--violet);}
.insp .trailline a{color:var(--violet);text-decoration:none;font-weight:600;}
.insp .trailline a:hover{text-decoration:underline;}

/* ---------- responsive: the column head folds with the row; the scrubber yields to the Year select below 720 ---------- */
@media (max-width:1279px){
  .thead{grid-template-columns:56px 100px minmax(0,.64fr) minmax(0,.56fr) minmax(0,.8fr) 96px;}
  .thead>:nth-child(6){display:none;}
  .pubwrap{grid-template-columns:1fr;}
}
@media (max-width:719px){
  .thead{display:none;}
  .decade{display:none;}
  [data-records-auth="signed_out"] .pubyear,[data-records-auth="pending"] .pubyear{display:block;}
  /* frame 05: exact search and the Year select stay outside the sheet (the scrubber
     collapses into the select); the other controls live behind the Filters button */
  [data-records-page] .fsum{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:0;border:none;background:transparent;}
  [data-records-page] .fsum .ff:not(.yearsel),[data-records-page] .fsum .fclear{display:none;}
  [data-records-page] .fsum .ff.yearsel{display:inline-flex;flex:1 1 120px;}
  [data-records-page] .fsum .ff.yearsel select{width:100%;}
  [data-records-page] .fwrap{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;}
  [data-records-page] .fwrap .fbtn{order:2;}
  [data-records-page] .fwrap .fsum{order:1;flex:1 1 100%;}
  [data-records-page] .fsum.open{flex-direction:column;align-items:stretch;margin-top:.2rem;padding:.8rem;border:1px solid var(--border);border-radius:12px;background:var(--card);}
  [data-records-page] .fsum.open .ff,[data-records-page] .fsum.open .fclear{display:inline-flex;}
  [data-records-page] .fsum.open .ff.more{display:block;}
  .fsum .fq{max-width:none;flex-basis:auto;min-height:44px;}
  .fsum .more .moregrid{grid-template-columns:1fr 1fr;}
  .fsum .more .moregrid .rbtn{grid-column:1 / -1;}
  .lockacts .rbtn,.pacts .rbtn{min-height:44px;}
  .illrow{grid-template-columns:1fr auto;grid-template-areas:"tag t" "pair pair" "amt amt" "illtag illtag";}
  .illtag{grid-area:illtag;}
  .row .t small{display:inline;margin-left:.25rem;}
}
