/* LVAC Board styles. SDTA design system v1 (navy, gold, Atkinson Hyperlegible), tokens copied from
   the SSDAC Signal Board. Every var() used here is defined in the light :root block and redefined in
   both dark blocks; LVAC_Board_Tooling/test_rails.js fails if one is missing, because an undefined
   color token renders text invisible. No box-shadow anywhere: Chrome rasterizes shadows into grey
   boxes in saved PDFs. */

@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --navy:#22406e; --navy-deep:#15294a; --navy-700:#2c4f82; --on-navy:#FFFFFF;
  --steel:#5a7faa; --steel-soft:#e9f0f8; --steel-line:#9fb6d3;
  --gold:#DC9A2E; --gold-soft:#FBF1DA; --gold-deep:#8A5E10;
  --paper:#FBFAF7; --card:#FFFFFF; --field:#FFFFFF;
  --ink:#1B2842; --ink-soft:#586277;
  --ok:#1F6E41; --ok-bg:#E4F0E9;
  --gap:#8E2F2F; --gap-bg:#F6E7E7;
  --warn:#8A5410; --warn-bg:#FAEEDF;
  --rule:#d9d6ce;
  --radius:12px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --navy:#7ba3d6; --navy-deep:#0E1725; --navy-700:#8fb4e0; --on-navy:#0E1725;
    --steel:#8aa8cc; --steel-soft:#1d2b42; --steel-line:#4a6184;
    --gold:#E0A94B; --gold-soft:#33280f; --gold-deep:#E8BC6E;
    --paper:#0E1725; --card:#16233a; --field:#0f1b2e;
    --ink:#E4EAF3; --ink-soft:#A3B0C6;
    --ok:#6FC094; --ok-bg:#16301f;
    --gap:#DE8F8F; --gap-bg:#341c1c;
    --warn:#E0A05A; --warn-bg:#32240f;
    --rule:#2c3b55;
  }
}
:root[data-theme="dark"]{
  --navy:#7ba3d6; --navy-deep:#0E1725; --navy-700:#8fb4e0; --on-navy:#0E1725;
  --steel:#8aa8cc; --steel-soft:#1d2b42; --steel-line:#4a6184;
  --gold:#E0A94B; --gold-soft:#33280f; --gold-deep:#E8BC6E;
  --paper:#0E1725; --card:#16233a; --field:#0f1b2e;
  --ink:#E4EAF3; --ink-soft:#A3B0C6;
  --ok:#6FC094; --ok-bg:#16301f;
  --gap:#DE8F8F; --gap-bg:#341c1c;
  --warn:#E0A05A; --warn-bg:#32240f;
  --rule:#2c3b55;
}

*{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Atkinson Hyperlegible',"Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:17px;line-height:1.6}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}
.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}
.skip{position:absolute;left:12px;top:-80px;z-index:10;background:var(--navy);color:var(--on-navy);padding:10px 16px;border-radius:8px;font-weight:700}
.skip:focus{top:12px}

a{color:var(--navy-700);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
h1:focus,h2:focus,h3:focus,main:focus{outline:none}

.topbar{background:var(--card);border-bottom:1px solid var(--rule)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:19px;color:var(--navy);text-decoration:none;min-height:44px}

main{padding-top:24px;padding-bottom:56px}
h1{font-size:clamp(28px,4.4vw,40px);line-height:1.2;letter-spacing:-.01em;color:var(--navy);margin:8px 0 8px}
h2{font-size:clamp(21px,3vw,26px);line-height:1.25;color:var(--navy);margin:36px 0 12px}
h3{font-size:19px;line-height:1.3;color:var(--ink);margin:0 0 6px}
h4{font-size:18px;color:var(--navy);margin:28px 0 8px}
h5{font-size:16px;color:var(--ink);margin:18px 0 6px}
p{margin:0 0 12px}
.sub{color:var(--ink-soft);margin-top:-2px}
.lead{font-size:19px;color:var(--ink-soft);max-width:46em}
.muted,.meta{color:var(--ink-soft)}
.meta{font-size:15px}
.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}
.backline{margin:0}
.backlink{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:none}
.backlink:hover{text-decoration:underline}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}

.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.card{display:flex;flex-direction:column;gap:4px;min-height:92px;height:100%;padding:16px 18px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);color:var(--ink);text-decoration:none}
.card:hover{border-color:var(--steel);background:var(--steel-soft)}
.card-name{font-weight:700;font-size:19px;color:var(--navy);overflow-wrap:anywhere}
.card-rc{font-size:15px;color:var(--ink-soft)}
.card-people{font-size:15px;color:var(--ink);overflow-wrap:anywhere}
.card-next{font-size:15px;color:var(--ink);font-weight:700;margin-top:4px}
.month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 16px}
.month-grid label.check{margin:4px 0}
.sched-date{margin-top:8px}
.board-note{margin-top:12px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 18px;border-radius:10px;border:1px solid var(--steel-line);background:var(--card);color:var(--navy);font:inherit;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}
.btn:hover{background:var(--steel-soft)}
.btn-primary{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.btn-primary:hover{background:var(--navy-700);border-color:var(--navy-700)}
.btn-quiet{background:transparent;border-color:transparent}
.btn-danger{color:var(--gap);border-color:var(--gap)}
.btn-danger:hover{background:var(--gap-bg)}
.btn-big{min-height:56px;padding:12px 22px;font-size:18px}
.btn-small{font-size:15px;padding:8px 14px}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn[aria-pressed="true"]{background:var(--steel-soft);border-color:var(--navy);border-width:2px}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}

fieldset{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);padding:14px 18px 18px;margin:0 0 20px;min-width:0}
fieldset fieldset{background:transparent;margin:18px 0 0}
legend{font-weight:700;font-size:18px;color:var(--navy);padding:0 6px}
label{display:block;font-weight:700;margin:16px 0 4px}
label.check{display:flex;align-items:center;gap:10px;font-weight:400;min-height:44px;margin:10px 0}
label.check input{width:22px;height:22px;margin:0;flex-shrink:0}
.hint{font-size:15px;color:var(--ink-soft);margin:0 0 6px}
input[type="text"],input[type="url"],input[type="email"],input[type="date"],select,textarea{display:block;width:100%;max-width:100%;min-height:44px;padding:9px 12px;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--steel-line);border-radius:8px}
select.narrow,input[type="date"],input.code{max-width:22em}
input.code{letter-spacing:.08em;text-transform:uppercase}
textarea{min-height:110px;resize:vertical;line-height:1.5}
input[type="file"]{display:block;max-width:100%;min-height:44px;padding:8px 0;font:inherit}
[aria-invalid="true"]{border-color:var(--gap);border-width:2px}
.count{font-size:14px;color:var(--ink-soft);margin:4px 0 0}
.count.over{color:var(--gap);font-weight:700}
.err{color:var(--gap);font-weight:700;margin:6px 0}
.picked{font-size:15px;margin:6px 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.how{margin:4px 0 2px}
.break{overflow-wrap:anywhere}
.copy-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--field);border:1px solid var(--steel-line);border-radius:8px;padding:9px 12px;margin:4px 0 0}
.send-label{margin:14px 0 0}
.send-box{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);padding:14px 18px;margin:22px 0}
.send-box h4{margin-top:0}
.approve-box,.shared-box{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);padding:14px 18px;margin:22px 0}
.approve-box h4,.shared-box h4{margin-top:0}
.preview-box{margin:18px 0}
details.record-how{margin:6px 0 10px;border:1px solid var(--rule);border-radius:10px;padding:2px 14px;background:var(--card)}
details.record-how summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer;color:var(--navy)}
.record-how-body ol{margin:0 0 10px;padding-left:22px}
.record-how-body li{margin:0 0 4px}
.report-preview{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);padding:22px 26px;margin:12px 0}
.report-preview .pr-sub{color:var(--ink-soft);margin:0 0 14px}
.report-preview ul,.report-preview ol,.goals-list{margin:0 0 10px;padding-left:22px}
.goals-list li{margin:0 0 6px;overflow-wrap:anywhere}
/* Sub goals sit inside their goal. A level that carries the chair's own numbers (goals-own) has no marks of ours, and the
   outermost such list starts at the left edge. */
.goals-list ol,.goals-list ul,.report-preview li ol,.report-preview li ul,.mail-preview li ol,.mail-preview li ul{margin:6px 0 0;padding-left:22px}
ul.goals-own{list-style:none}
.goals-list.goals-own,.report-preview .pr-goals.goals-own{padding-left:0}
.goals-level{margin:8px 0 4px}
.report-preview li{margin:0 0 6px;overflow-wrap:anywhere}
.report-preview .pr-empty{color:var(--ink-soft);font-style:italic}
.report-preview .pr-sources{font-size:15px;color:var(--ink-soft)}
.theme-row{margin:8px 0 0}
.theme-row label,.other-wrap label{margin:6px 0 4px;font-size:15px}
.theme-row select{max-width:30em}
.calc-preview h5{margin-top:14px}
.calc-preview h6{font-size:15px;color:var(--ink);margin:12px 0 4px}
.calc-preview ul,.mail-preview ul,.mail-preview ol{margin:0 0 10px;padding-left:22px}
.mail-preview{white-space:normal}
.mail-preview h2{font-size:19px;margin:16px 0 6px}
.mail-preview h3{font-size:17px;margin:14px 0 4px;color:var(--navy)}
.mail-preview h4{font-size:16px;margin:10px 0 4px;color:var(--ink)}
.mail-preview p{margin:0 0 8px}
.mail-preview .mh{margin:14px 0 4px;color:var(--navy)}
.mail-preview .mh-h2{font-size:19px}
.mail-preview .mh-h3{font-size:17px}
.mail-preview .mh-h4{font-size:15px;color:var(--ink);margin-left:8px}
.report-preview h4{font-size:26px;color:var(--navy);margin:0 0 4px}
.report-preview h5{font-size:21px;color:var(--navy);margin:22px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--steel-line)}
.report-preview h6{font-size:18px;color:var(--navy);margin:14px 0 4px}
.dist-list{padding-left:22px}
.dist-list li{margin:0 0 8px}

.note{background:var(--gold-soft);border-left:4px solid var(--gold);border-radius:6px;padding:10px 14px}
.status{background:var(--steel-soft);border:1px solid var(--steel-line);border-radius:10px;padding:12px 16px;margin:12px 0}
.status.ok{background:var(--ok-bg);border-color:var(--ok)}
.status.bad{background:var(--gap-bg);border-color:var(--gap)}
.status h2{margin:0 0 8px;font-size:20px}
.status ul{margin:0 0 8px;padding-left:22px}

.table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}
table.meetings{width:100%;border-collapse:collapse}
table.meetings th,table.meetings td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
table.meetings thead th{font-size:14px;color:var(--ink-soft)}
table.meetings tbody tr:last-child th,table.meetings tbody tr:last-child td{border-bottom:0}
table.meetings a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}

.entry{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);padding:14px 18px;margin:0 0 12px}
.entry dl{margin:8px 0 0}
.entry dt{font-weight:700;margin-top:10px;font-size:15px;color:var(--ink-soft)}
.entry dd{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.entry .btn-row{margin-bottom:0}

.report-title{font-size:22px;color:var(--navy);margin:18px 0 4px}
.editor-list{list-style:decimal;margin:0;padding-left:28px}
.editor-item{margin:0 0 14px}
.editor-item textarea{min-height:70px}
.editor-item .btn-row{margin:6px 0 0}
.sources{padding-left:22px;margin:0}
.sources li{margin:0 0 6px;overflow-wrap:anywhere}
.savebar{border-top:1px solid var(--rule);margin-top:24px;padding-top:8px}
.save-status{min-height:1.6em;font-weight:700}
.save-status.bad{color:var(--gap)}
.status.warn{background:var(--warn-bg);border-color:var(--warn)}
/* Release 11 (usability review, 2026-09-14): calm information in a neutral box; caution colors stay for real problems. */
.info{background:var(--steel-soft);border-radius:10px;padding:10px 14px;margin:12px 0}
.info p{margin:0}
.info .btn-row{margin:8px 0 0}
.btn-quiet-danger{color:var(--gap);text-decoration:underline;text-underline-offset:3px}
.btn-quiet-danger:hover{background:var(--gap-bg)}
/* A moment worth marking: a gold edge on the ok box. */
.status.celebrate{border-left:6px solid var(--gold)}
/* Folded panels open like a button: big enough to tap, clearly clickable. */
details.answers-fold,details.add-docs,details.share-fold,details.mail-fold{margin:14px 0;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}
details.answers-fold>summary,details.add-docs>summary,details.share-fold>summary,details.mail-fold>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px 16px;font-weight:700;color:var(--navy)}
details.answers-fold[open]>summary,details.add-docs[open]>summary,details.share-fold[open]>summary,details.mail-fold[open]>summary{border-bottom:1px solid var(--rule)}
details.answers-fold>:not(summary),details.add-docs>:not(summary),details.share-fold>:not(summary),details.mail-fold>:not(summary){margin-left:16px;margin-right:16px}
.survey-share.compact{margin:12px 16px;padding:0;border:0;background:transparent}
.public-cta,.member-update,.apply-about,.apply-cta{margin:18px 0 26px;padding:16px 18px;border:1px solid var(--rule);border-left:6px solid var(--gold);border-radius:var(--radius);background:var(--card)}
.public-cta h2,.member-update h2,.apply-about h2,.apply-cta h2{margin-top:0}
.apply-law{margin:0 0 22px;padding:14px 18px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}
.apply-law h2{margin-top:0}
.apply-law ul{margin:8px 0 12px;padding-left:22px}
.apply-law li{margin:0 0 8px}
.board-law{margin-top:28px}
.apply-ways{margin:0 0 22px}
.apply-way{margin:14px 0;padding:14px 18px;border:1px solid var(--rule);border-left:6px solid var(--gold);border-radius:var(--radius);background:var(--card)}
.apply-way h3{margin-top:0}
/* The save bar stays on screen while the chair edits. */
.savebar{position:sticky;bottom:0;z-index:5;background:var(--paper);border-top:2px solid var(--navy);padding:4px 0 6px}
.savebar{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px}
/* Keyboard focus and a tapped field never land under the bar. */
html{scroll-padding-bottom:180px}
@media (max-width:600px){
  .savebar .btn-row{flex-wrap:nowrap;gap:6px}
  .savebar .btn{min-height:44px;padding:8px 10px;font-size:15px}
  .savebar .save-status:empty,.savebar .save-status.approved{display:none}
}
.repeat-mark{margin:4px 0 0;font-size:15px;color:var(--warn)}
.repeats ul{margin:8px 0 0;padding-left:20px}
.repeats li{margin:4px 0}
details.counting{margin:8px 0}
details.counting>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.savebar .btn-row{margin:6px 0}
.savebar .save-status{margin:0}
.send-steps{padding-left:22px}
.send-steps>li{margin:0 0 14px}
table.meetings tr.group th{background:var(--steel-soft);font-size:14px;color:var(--ink-soft);padding:8px 14px}
@media (max-width:600px){
  table.meetings.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.meetings.stack,table.meetings.stack tbody,table.meetings.stack tr,table.meetings.stack th,table.meetings.stack td{display:block;width:100%}
  table.meetings.stack tbody tr{border-bottom:1px solid var(--rule);padding:6px 0}
  table.meetings.stack td,table.meetings.stack th{border-bottom:0;padding:4px 14px}
  table.meetings.stack td::before{content:attr(data-label) ": ";color:var(--ink-soft)}
}
.flag{background:var(--warn-bg);border-left:4px solid var(--warn);border-radius:6px;padding:8px 12px;margin:6px 0 0;font-size:15px;color:var(--ink)}
.move-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:10px 0 0}
.move-row label{margin:0;font-size:15px}
.move-row select{width:auto;min-width:14em}
.start-over{margin:14px 0 22px;border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px 4px;background:var(--card)}
.start-over .btn-row{margin:10px 0}
.link-add{margin:12px 0 16px;border:1px solid var(--rule);border-radius:var(--radius);padding:10px 16px 4px;background:var(--card)}
#intro-look .copy-text a,.pr-intro a{text-decoration:underline}
details.redraft{margin-top:28px;border:1px solid var(--rule);border-radius:var(--radius);padding:4px 16px;background:var(--card)}
details.redraft summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer;color:var(--navy)}
.redraft-body{padding-bottom:8px}

.spinner{display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:-3px;border:3px solid var(--steel-line);border-top-color:var(--navy);border-radius:50%;animation:lvac-spin 1s linear infinite}
@keyframes lvac-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spinner{animation:none}}

.footer{border-top:1px solid var(--rule);padding-top:20px;padding-bottom:40px;color:var(--ink-soft);font-size:15px}
.print-only{display:none}

@page{margin:0.7in}
@media print{
  html,body{background:#FFFFFF;color:#111111}
  body{font-size:11.5pt;line-height:1.45}
  body > *:not(#print-report){display:none !important}
  #print-report{display:block;max-width:none;margin:0;padding:0}
  #print-report h1{font-size:19pt;color:#15294a;margin:0 0 3pt;letter-spacing:0}
  #print-report .pr-sub{font-size:11pt;color:#333333;margin:0 0 12pt}
  #print-report h2{font-size:13.5pt;color:#15294a;margin:16pt 0 6pt;padding-bottom:3pt;border-bottom:1pt solid #9fb6d3;break-after:avoid;page-break-after:avoid}
  #print-report h3{font-size:12pt;color:#111111;margin:10pt 0 4pt;break-after:avoid;page-break-after:avoid}
  #print-report ul{margin:0 0 6pt 16pt;padding:0}
  #print-report ol{margin:0 0 6pt 20pt;padding:0}
  #print-report li{margin:0 0 5pt;break-inside:avoid;page-break-inside:avoid;overflow-wrap:anywhere}
  #print-report li ol,#print-report li ul{margin:4pt 0 0 20pt}
  #print-report ul.pr-goals.goals-own{margin-left:0}
  #print-report .pr-empty{color:#444444;font-style:italic}
  #print-report .pr-draft{font-size:12pt;font-weight:700;color:#8a1c1c;border:1.5pt solid #8a1c1c;padding:4pt 8pt;margin:0 0 10pt;text-align:center}
  #print-report .pr-draft:last-child{margin:14pt 0 0}
  #print-report p{margin:0 0 5pt}
  #print-report a{color:#15294a;text-decoration:underline}
  #print-report .pr-sources{font-size:10pt;color:#333333}
  #print-report .pr-sources ul{margin-left:14pt}
  #print-report .pr-from{display:none}
  #print-report table.pr-page{width:100%;border-collapse:collapse;border:0;table-layout:fixed}
  #print-report table.pr-page td{padding:0;border:0;vertical-align:top}
  #print-report table.pr-page thead,#print-report table.pr-page tfoot{break-inside:avoid;page-break-inside:avoid}
  #print-report .pr-edge{height:0}
  /* The space under the report's last line would otherwise sit inside the table's cell, where a browser cannot drop it at
     the end of a page as it does for an ordinary block: a report that ended within a few points of the bottom of a page
     gained an empty last page. */
  #print-report table.pr-page tbody td>:last-child,#print-report table.pr-page tbody td>:last-child :last-child{margin-bottom:0}
}
/* A browser prints its own date, the page title and the board's web address in the page margins of a saved PDF (North LA,
   2026-10-03). Chrome and Edge stop when the top and bottom page margins are both 0, so there the space above and below
   the text on every page is the empty first and last row of table.pr-page, which they repeat on each page. Safari does not
   repeat table rows when it prints (WebKit bug 17205), so with these rules its pages after the first would start at the
   paper's edge, and Firefox was not checked: both keep the page's own margins. The condition leaves out any browser that
   knows Apple's own font name (Safari, and every browser on an iPhone or iPad), the -webkit-hyphens property (Safari's
   engine on any other system) or a -moz- property (Firefox). If Chrome ever learns one of these it falls back to the page
   as it always printed, never to a page without margins. */
@supports (not (font:-apple-system-body)) and (not (-webkit-hyphens:none)) and (not (-moz-appearance:none)){
  @page{margin:0 0.7in}
  @media print{#print-report .pr-edge{height:0.7in}}
}

/* The survey: the share box with its link and QR code, and the hidden box that only programs fill in. */
.survey-share{margin:24px 0;padding:16px 18px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}
.survey-share h2{margin-top:0}
.survey-one{margin-top:18px;padding-top:14px;border-top:1px solid var(--rule)}
.survey-one h3{margin-top:0}
.survey-export{margin:14px 0;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius)}
.survey-export h3{margin-top:0}
details.survey-qr{margin-top:12px}
details.survey-qr summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
img.qr{display:block;margin:12px 0;width:290px;max-width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--rule)}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
legend{max-width:100%;white-space:normal}
/* Feedback reports (2026-10-01): where an item came from, for chairs only, and the note beside text that is changed in Committee settings. */
.item-from{font-size:15px;color:var(--ink-soft);margin:6px 0 0;overflow-wrap:anywhere}
.pr-from{display:block;font-size:14px;color:var(--ink-soft);font-style:italic;margin:2px 0 0;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none}
.locked-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 8px;color:var(--ink-soft);font-size:15px}
.editor-item > label:not(.sr-only){margin:0 0 4px;font-size:15px}
.editor-item input[data-heading-item]{max-width:36em;margin:0 0 6px}
fieldset.kind .hint{margin:0 0 12px 30px}

/* Release 12 (usability review, 2026-09-14): committee home tabs, the Up next card and its steps, the full screen QR code. */
nav.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
nav.tabs .tab{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--steel-line);border-radius:999px;color:var(--navy);font-weight:700;text-decoration:none}
nav.tabs .tab:hover{background:var(--steel-soft)}
nav.tabs .tab.on{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.upnext{margin:18px 0 26px;padding:16px 18px;border:2px solid var(--gold);border-radius:var(--radius);background:var(--gold-soft)}
.upnext h2{margin-top:0}
ol.stepper{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:0;margin:10px 0}
ol.stepper li{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:14px;font-weight:700;color:var(--ink-soft);text-align:center}
ol.stepper .dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--gold);background:var(--card);color:var(--ink);font-size:14px}
ol.stepper li.done .dot{background:var(--gold);color:var(--navy-deep)}
ol.stepper li.now{color:var(--navy)}
ol.stepper li.now .dot{outline:3px solid var(--navy);outline-offset:2px}
.invite{margin:10px 0}
.invite h2,.invite h3{margin:0 0 6px}
.invite-fold{margin-top:6px}
.invite-fold .copy-text{margin:8px 0 0}
.forget-line{margin:32px 0 0;font-size:.9em}
.qr-full{text-align:center}
img.qr-big{display:block;margin:12px auto;width:max(180px,min(88vw,calc((100vh - 300px) * .81)));max-width:720px;height:auto;image-rendering:pixelated;border:1px solid var(--rule);background:#fff}
.qr-link{font-size:clamp(20px,4vw,34px);font-weight:700;overflow-wrap:anywhere}
/* Public Comment's languages (2026-10-16): a row of links, each language in its own words, the one in use filled in. */
.lang-row ul{list-style:none;margin:8px 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.lang-row a,.lang-row .lang-here{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;border-radius:10px;border:1px solid var(--steel-line);background:var(--card);color:var(--navy);font-weight:600;text-decoration:none}
.lang-row a:hover{background:var(--steel-soft)}
.lang-row .lang-here{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.lang-note{margin:4px 0 14px}
details.survey-langs{margin:10px 0;border:1px solid var(--rule);border-radius:10px;padding:2px 14px;background:var(--card)}
details.survey-langs>summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer;color:var(--navy)}
.lang-links{list-style:none;margin:8px 0;padding:0}
.lang-links li{padding:10px 0;border-top:1px solid var(--rule)}
.entry dd.translated{margin-top:6px;color:var(--ink-soft);border-left:3px solid var(--steel-line);padding-left:10px}
.translated-label{font-weight:700}
/* The statewide Public Comment's own site has no top bar (2026-10-16); its page starts with a little room above the title. */
.topbar[hidden]+main{padding-top:24px}
