/* hle-funding — additions to site.css (loaded after it). Same tokens, same rules: square documents, rules not shadows. */
[hidden]{display:none !important}
.vh{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hubhead{padding-top:48px;padding-bottom:32px}
.h1.sm{font-size:32px;line-height:38px}
.h3.sm{font-size:17px;line-height:24px}
.grid.g20{gap:20px}
.row.start,.row.between.start{align-items:flex-start}
.inline{display:flex;gap:8px;align-items:flex-end}
.inline .field{flex:1;min-width:0}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0;margin-bottom:4px}
.checkline{display:flex;gap:10px;align-items:center;color:var(--ink-body)}
.checkline input{width:18px;height:18px;accent-color:var(--steel)}
.choice.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice.two label{padding:10px 14px;font-size:15px;line-height:22px}
.field select[multiple]{min-height:auto;padding:6px}
a.plain{text-decoration:none;color:inherit}
a.plain:hover{color:var(--steel);text-decoration:underline}

/* The selected round / program sheet */
.selsheet{border-left:3px solid var(--steel)}
.facts th{width:200px;text-align:left;font:600 14px/20px var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink);padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.facts td{font-size:14px}
.facts .figure{font-size:14px}
.table.plain th[scope=row]{text-align:left;font:600 14px/20px var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink);padding:10px 12px;border-bottom:1px solid var(--rule)}

/* Tracker */
.list li .chip{align-self:flex-start;flex:none}
.tracker td:first-child{min-width:240px}
.tracker td.num{white-space:normal;min-width:120px;max-width:170px}
.tracker a.prog{font-weight:600;color:var(--ink);text-decoration:none}
.tracker a.prog:hover{color:var(--steel);text-decoration:underline}
.tracker tbody tr[tabindex]{cursor:pointer}
.tracker tbody tr[tabindex]:hover td{background:var(--steel-tint)}
.tracker tbody tr:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.filters .count{min-width:260px;text-align:right}

/* Checklist (readiness) */
.check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.check li{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid var(--rule);font:400 16px/26px var(--font-sans);color:var(--ink-body)}
.check li:last-child{border-bottom:0}
.check li::before{content:"";position:absolute;left:0;top:15px;width:18px;height:18px;border:1.5px solid var(--rule-strong);border-radius:2px;background:var(--paper-raised)}
.check b{color:var(--ink);font-weight:600}
.readiness section{scroll-margin-top:24px}
.toc li{padding:8px 0}
.sticky{position:sticky;top:24px}
.prose h2:first-child{margin-top:0}

/* Phone: tables become stacked cards (the FundingHub-Phone mockup) */
@media (max-width:900px){
  .sticky{position:static}
  .filters .count{text-align:left;margin-left:0;min-width:0}
  .filters .field{min-width:0;flex:1 1 100%}
  .choice.two{grid-template-columns:1fr}
}
@media (max-width:760px){
  .tracker thead,.cards thead{position:absolute;left:-9999px}
  .tracker,.tracker tbody,.tracker tr,.tracker td,.cards,.cards tbody,.cards tr,.cards td{display:block;width:100%}
  .tracker tr,.cards tr{padding:14px 16px;border-bottom:1px solid var(--rule)}
  .tracker tbody tr:nth-child(even) td,.cards tbody tr:nth-child(even) td{background:transparent}
  .tracker tr.selected,.tracker tr.selected td{background:var(--steel-tint)}
  .tracker td,.cards td{border:0;padding:2px 0;text-align:left !important;min-width:0 !important;white-space:normal}
  .tracker td[data-label]:not(:first-child)::before,.cards td[data-label]:not(:first-child)::before{content:attr(data-label) " · ";font:600 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
  .tracker td:first-child,.cards td:first-child{padding-bottom:6px}
  .tracker td:first-child .small.muted{display:none}
  .tracker td.num{max-width:none}
  .tracker tr{padding:12px 16px}
  .tracker tr.more{display:none}
  .tracker td.num,.cards td.num{font-size:14px}
  .table.facts th[scope=row],.table.facts td{display:block;width:100%;border:0;padding:2px 0}
  .facts tr{display:block;padding:8px 0;border-bottom:1px solid var(--rule)}
  .facts tbody tr:nth-child(even) td{background:transparent}
  .inline{flex-wrap:wrap}
  .inline .btn{width:100%}
}

.showall{margin-top:12px;display:none}
@media (max-width:760px){.showall.on{display:flex;width:100%}}
.list li .small a,.list li .body a{color:var(--steel);font-weight:400;text-decoration:underline}

/* qa-funding */
/* .table .num sets color:var(--ink) and outranks .red, so a deadline inside 14 days never showed red */
.tracker td.num.red,.figure.red{color:var(--red)}
/* dates stay on one line; text deadlines ("Year 2, date TBD") may wrap */
.tracker td.num.date{white-space:nowrap}
.phone-only{display:none}
@media (min-width:761px){
  .tracker td:last-child{white-space:nowrap}       /* "Mobile medical" was wrapping under itself in every row */
}
/* row hover only where a pointer can hover: on touch the tint stuck to whatever row was under the last tap */
.tracker tbody tr[tabindex]:hover td{background:inherit}
@media (hover:hover){.tracker tbody tr[tabindex]:hover td{background:var(--steel-tint)}}
/* alerts: states as a checkbox grid */
.choice.states{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.choice.states label{padding:8px 10px;font-size:14px;line-height:20px;gap:8px;align-items:center}
.choice.states input{margin-top:0;width:16px;height:16px}
@media (max-width:760px){
  .desk-only{display:none !important}
  .phone-only{display:flex}
  .choice.states{grid-template-columns:repeat(2,minmax(0,1fr))}
  .choice.states label,.choice.two label{min-height:44px}
  .table.ask td.num{font-size:14px;color:var(--ink-muted)}
}
/* end qa-funding */

/* funding-needs (owner review 2026-10-13): alerts require a state and a need; "What you need to fund" replaces vehicle type */
.g12{gap:12px}
.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed}
.gate{color:var(--ink-muted)}
.gate:empty{display:none}
.linkbtn{background:none;border:0;padding:0;font:400 14px/20px var(--font-sans);color:var(--steel);text-decoration:underline;cursor:pointer}
.linkbtn:hover{color:var(--ink)}
.alerts .pick{max-width:360px}
.alerts .picked{color:var(--ink)}
.alerts legend .muted{font-weight:400}
.choice.needs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choice.needs label{padding:12px 14px;font-size:15px;line-height:22px}
.choice.needs .strong{display:block;color:var(--ink);font-weight:600}
.choice.needs .why{font-size:13px;line-height:19px}
@media (max-width:760px){
  .choice.needs{grid-template-columns:1fr}
  .choice.needs label{min-height:44px}
  .alerts .pick{max-width:none}
  .alerts .row.between{flex-wrap:wrap;gap:8px}
  .linkbtn{min-height:44px;padding:0 4px}
}
.tracker .nd{display:block}
@media (max-width:760px){.tracker .nd{display:inline}.tracker .nd+.nd::before{content:" · "}}
/* end funding-needs */

/* funding-dates (Round 3): opens / closes / award expected; lanes for open, upcoming, closed */
.figure.sm{font-size:14px;line-height:20px}
.lanes a{color:var(--steel)}
.lane{scroll-margin-top:16px}
.lanehead{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.lanehead .h2{font-size:24px;line-height:30px}
.lane-empty{padding:12px 0}
.tracker td .where{color:var(--ink-body);margin-top:2px}
.tracker td .note{margin-top:2px}
.tracker td.num{white-space:nowrap}
.tracker td .small.muted{margin-top:4px}
.tracker.upcoming td.todo{font-size:14px;line-height:20px;color:var(--ink-body);min-width:220px}
.tracker.upcoming td.dates .figure{display:block}
@media (min-width:761px){
  .tracker td:nth-child(2){min-width:190px}
  .tracker.open td:first-child,.tracker.closed td:first-child{min-width:230px}
}
.dates3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:6px}
.dates3>div{display:flex;flex-direction:column;gap:2px}
.dates3 .k{font:600 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.promise{color:var(--ink)}
@media (max-width:760px){
  .dates3{grid-template-columns:1fr;gap:6px}
  .dates3>div{flex-direction:row;gap:8px;align-items:baseline}
  .lanehead .h2{font-size:22px;line-height:28px}
  .tracker td.num{white-space:normal}
  .tracker.upcoming td.todo{min-width:0}
}
/* round 3 QA: award labels wrap; kit link sits under the status chip; long notes clamp to two lines in the table */
.tracker td.award{min-width:120px;max-width:170px;font-size:14px;line-height:20px}
.tracker td .ns{font:400 14px/20px var(--font-sans)}
.tracker td .kitlink{margin-top:6px;white-space:nowrap}
.tracker td .kitlink a{color:var(--steel)}
@media (min-width:761px){.tracker td .note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
@media (max-width:760px){.tracker td.award{max-width:none}}
.tracker .lbl,.dates3 .lbl{font:500 14px/20px var(--font-sans)}
.lanes{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.lanes a{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;min-height:40px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--paper-raised);color:var(--ink);font:500 14px/20px var(--font-sans);text-decoration:none}
.lanes a:hover{border-color:var(--steel);color:var(--steel)}
.lanes a span{font:500 13px/18px var(--font-mono);color:var(--ink-muted)}
@media (max-width:900px){.lanes{justify-content:flex-start}.lanes a{min-height:44px}}
@media (max-width:760px){.tracker.upcoming td.dates .figure{display:inline}}
/* end funding-dates */

/* funding-r4: "Will this grant buy a vehicle?" verdict, verdict chip in tables, worksheet, share page */
.verdict{border-left:3px solid var(--rule-strong);background:var(--paper-raised);padding:12px 16px;display:flex;flex-direction:column;gap:4px;max-width:760px}
.verdict.v-yes{border-left-color:var(--good)}
.verdict.v-case{border-left-color:#c9a227}
.verdict.v-no{border-left-color:var(--red)}
.verdict .vq{font:600 13px/18px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin:0}
.verdict .va{font:400 16px/24px var(--font-sans);color:var(--ink);margin:0}
.verdict .va .chip{margin-right:6px;vertical-align:1px}
.verdict .va a{color:var(--steel);white-space:nowrap}
.tracker td .vline{margin-top:6px}
.chip.vchip{font:500 12px/16px var(--font-sans);padding:2px 8px;white-space:nowrap}
.chip.vchip::before{display:none}
.worksheet td.num{white-space:nowrap}
.worksheet tr.total td{border-top:2px solid var(--rule-strong)}
.share textarea{width:100%;font:400 14px/20px var(--font-sans);padding:10px 12px;border:1px solid var(--rule-strong);background:var(--paper-raised);resize:vertical}
.g16{gap:16px}
@media (max-width:760px){
  .verdict .va{font-size:15px;line-height:22px}
  .chip.vchip{white-space:normal}
}
.backin td.num{white-space:normal;text-align:right;max-width:200px}
/* end funding-r4 */

/* funding-r5: kit downloads first, email optional; worksheet blanks to fill in */
.kitgate .stack.g8 .btn{width:100%;justify-content:center}
.kitmail{border-top:1px solid var(--rule);padding-top:12px}
.kitmail summary{cursor:pointer;font:500 15px/22px var(--font-sans);color:var(--steel);min-height:44px;display:flex;align-items:center}
.kitmail form{margin-top:8px}
.worksheet td.blank{min-width:120px;border-bottom:1px solid var(--rule-strong);color:var(--ink-muted)}
/* end funding-r5 */

/* funding-r6: the long "Forecast, date passed — check the funder" chip wraps instead of pushing the page wide */
.list li .chip{flex:0 1 auto;white-space:normal;max-width:55%;text-align:left}
.tracker td .chip,.facts .chip,.selsheet .chip,.row .chip{white-space:normal}
/* end funding-r6 */

/* funding-r7: per-program alerts — "Notify me when this opens" (upcoming rows, program pages), "Remind me before it closes" (open rows) */
.notify{margin-top:8px;white-space:normal}
.notify summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font:500 14px/20px var(--font-sans);color:var(--steel);text-decoration:underline;text-underline-offset:3px}
.notify summary::-webkit-details-marker{display:none}
.notify summary::before{content:"+";font:500 14px/20px var(--font-mono);text-decoration:none;display:inline-block;width:10px}
.notify[open] summary::before{content:"\2212"}
.notify[open] summary{color:var(--ink)}
.notify .notify-why{margin-top:6px;color:var(--ink-body)}
.notify form,.notify .notified{margin-top:8px;padding:12px;border:1px solid var(--rule);background:var(--paper-raised);border-radius:2px}
.notifyform .field label{font-size:13px;line-height:18px}
.notifyform .field input{min-height:40px;padding:8px 10px;font-size:15px}
.notify .btn{width:100%}
.notify-note{color:var(--ink-muted)}
.notifyform .status:empty{display:none}
.notifybox{border-left:3px solid var(--steel)}
.notifybox .btn{align-self:flex-start}
@media (max-width:760px){
  .notify summary{min-height:44px}
  .notifyform .field input{min-height:44px}
  .notifybox .btn{align-self:stretch}
}
/* end funding-r7 */

/* funding-r8: follow (calendar + RSS), state-only weekly signup, countdown reminders, "what you follow" */
.followrow{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:4px 24px;align-items:flex-start;border-top:1px solid var(--rule);padding-top:12px;margin-top:4px}
.followrow .follow{flex:1 1 420px}
.followrow>.small{flex:1 1 260px}
.follow a{color:var(--steel)}
.follow .follow-url{max-width:520px}
.follow .follow-url input{min-height:36px;padding:6px 10px;font:400 13px/18px var(--font-mono);color:var(--ink-body);background:var(--paper)}
.stateform .eyebrow{margin:0}
.feeds summary{cursor:pointer;font:500 15px/22px var(--font-sans);color:var(--steel);min-height:44px;display:flex;align-items:center}
.feeds .feedlist li{padding:8px 0}
.feeds .feedlist li a{color:var(--steel);font-weight:400;text-decoration:underline}
.countdown .check li{font-size:15px;line-height:24px}
.countdown .check li a{color:var(--steel);white-space:nowrap}
.remindform{max-width:560px}
.remindform input[readonly]{background:var(--paper);color:var(--ink-body)}
.watch .list li{align-items:center}
.watch .list li .strong a{color:var(--ink);font-weight:600}
.watch .btn{flex:none}
@media (max-width:760px){
  .followrow{flex-direction:column}
  .follow .follow-url input{min-height:44px}
  .watch .list li{flex-direction:column;align-items:flex-start;gap:8px}
}
/* end funding-r8 */
