/* ====== RESOURCE HUB (preview) ====== */
/* Compact title band for tool pages: no header film, so the first task sits higher on a phone. */
.page-header-compact .page-header-media video, .page-header-compact .page-header-controls { display: none !important; }
.page-header-compact .page-header-content { min-height: 0; padding-block: var(--s6) var(--s5); }
.page-header-compact h1 { font-size: clamp(2rem, 6vw, 3.4rem); }
.page-header-compact .breadcrumb { margin-bottom: var(--s3); }
.page-header-compact .lead { margin-top: var(--s3); font-size: var(--normal); }
/* Uses the site's own tokens and components; loaded only on hub pages. */
.hub-preview-banner { margin-block: var(--s5) 0; padding: var(--s4) var(--s5); border: 1px dashed var(--deep-gold); background: var(--draft-paper); font-size: var(--small); border-radius: var(--radius); }
.hub-layout, .hub-daca, .hub-local { padding-block: var(--s6) var(--section); }
.hub-urgent { margin-bottom: var(--s5); padding: var(--s4) var(--s5); border-left: 4px solid var(--ink); background: var(--white); font-size: var(--small); }
.hub-flow { max-width: 46rem; }
.hub-progress ol { display: flex; flex-wrap: wrap; gap: var(--s2); list-style: none; margin: 0 0 var(--s3); padding: 0; counter-reset: hubstep; }
.hub-progress li { counter-increment: hubstep; display: inline-flex; align-items: center; gap: var(--s2); padding: var(--s1) var(--s3); border: 1px solid var(--line); border-radius: 999px; font-size: var(--tiny); font-weight: 650; color: var(--muted); background: var(--white); }
.hub-progress li::before { content: counter(hubstep); display: inline-grid; place-items: center; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--paper); border: 1px solid var(--line); }
.hub-progress li[aria-current="step"] { color: var(--ink); border-color: var(--ink); }
.hub-progress li[aria-current="step"]::before { background: var(--gold); border-color: var(--gold); }
.hub-progress li.is-done::before { content: "✓"; background: var(--light); }
.hub-step-count { font-size: var(--small); color: var(--muted); margin-bottom: var(--s4); }
.hub-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.hub-legend { display: block; font-family: var(--display); font-size: var(--h3); line-height: 1.2; letter-spacing: -.02em; margin-bottom: var(--s3); }
.hub-legend:focus { outline: none; }
.hub-legend:focus-visible { outline: var(--focus) solid var(--deep-gold); outline-offset: var(--offset); }
.hub-help { font-size: var(--small); color: var(--muted); margin-bottom: var(--s4); }
.hub-choices { display: grid; gap: var(--s2); margin-bottom: var(--s4); }
.hub-choices-grid { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.hub-choice { position: relative; display: flex; align-items: flex-start; gap: var(--s3); min-height: var(--tap); padding: var(--s4); background: var(--white); border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.hub-choice-compact { align-items: center; padding-block: var(--s3); }
.hub-choice input { flex: none; width: 1.25rem; height: 1.25rem; margin: .15rem 0 0; accent-color: var(--ink); }
.hub-choice-compact input { margin-top: 0; }
.hub-choice:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); background: #fffaf0; }
.hub-choice:has(input:focus-visible) { outline: var(--focus) solid var(--deep-gold); outline-offset: 2px; }
.hub-choice-text { display: grid; gap: var(--s1); }
.hub-choice-title { font-weight: 650; line-height: 1.35; }
.hub-choice-sub { font-size: var(--small); color: var(--muted); }
.hub-field { display: grid; gap: var(--s2); margin-bottom: var(--s4); }
.hub-field label { font-weight: 650; font-size: var(--small); }
.hub-field select, .hub-field textarea, .hub-filter select { min-height: var(--tap); padding: var(--s2) var(--s3); border: 1px solid var(--dark-line); background: var(--white); border-radius: var(--radius); width: 100%; max-width: 28rem; font: inherit; }
.hub-field textarea { min-height: 4.5rem; resize: vertical; max-width: none; }
.hub-error { color: #8a1c12; font-weight: 650; font-size: var(--small); margin-bottom: var(--s3); }
.hub-nav, .hub-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); margin-block: var(--s4); }
.hub-actions .button { min-height: var(--tap); }
.hub-plan { max-width: 52rem; }
.hub-plan:focus { outline: none; }
.hub-plan > h2 { font-size: var(--h2); margin-bottom: var(--s3); }
.hub-plan-summary { font-size: var(--small); color: var(--muted); }
.hub-plan-limit { margin-block: var(--s3) var(--s5); font-size: var(--small); }
.hub-tasks { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s4); }
.hub-task-card { padding: var(--s5); background: var(--white); border: 1px solid var(--line); border-radius: 14px; }
.hub-task-card[data-status="completed"] { border-color: #5c7a50; }
.hub-task-card[data-status="still-need-help"] { border-color: var(--deep-gold); }
.hub-task-card h3 { margin-block: var(--s1) var(--s3); }
.hub-task-card > p + p { margin-top: var(--s3); }
.hub-task-kind { font-size: var(--tiny); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--deep-gold); }
.hub-links, .hub-checklist-list, .hub-fallback-box ul, .hub-still-stuck ul, .hub-other { margin: var(--s4) 0 0; padding-left: var(--s5); }
.hub-links li, .hub-checklist-list li { margin-bottom: var(--s2); }
.hub-link-kind { display: inline-block; padding: 0 var(--s2); font-size: var(--tiny); font-weight: 700; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); }
.hub-link-meta { display: block; font-size: var(--tiny); color: var(--muted); }
.hub-inline-call { font-weight: 650; }
.hub-print-url, .hub-print-head, .hub-print-only, .hub-print-sources { display: none; }
.hub-script { margin-top: var(--s4); padding: var(--s3) var(--s4); background: var(--paper); border-radius: var(--radius); }
.hub-script-label { font-size: var(--tiny); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.hub-task-controls { display: grid; gap: var(--s3); grid-template-columns: minmax(10rem, 14rem) 1fr; margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid var(--line); }
.hub-still-stuck { margin-top: var(--s3); padding: var(--s4); border-left: 4px solid var(--gold); background: var(--light); font-size: var(--small); }
.hub-fallback-box, .hub-keep { margin-top: var(--s6); padding: var(--s5); border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.hub-save-status { font-weight: 650; font-size: var(--small); }
.hub-confirm { margin-block: var(--s3); }
.hub-resume { display: grid; gap: var(--s2); }
/* My DACA */
.hub-task-nav { margin-top: var(--s5); }
.hub-task { padding-block: var(--s6); border-bottom: 1px solid var(--line); max-width: 60rem; scroll-margin-top: 7rem; }
.hub-task > h2 { margin-bottom: var(--s4); }
.hub-task > h3 { font-family: var(--body); font-size: var(--normal); font-weight: 700; margin: var(--s5) 0 var(--s3); }
.hub-task > p { max-width: var(--reading); }
.hub-task > p + p { margin-top: var(--s3); }
.hub-form-pair { display: grid; gap: var(--s4); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); margin-block: var(--s5); }
.hub-form-card { padding: var(--s5); border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.hub-form-card h3 { margin-block: var(--s1) var(--s2); }
.hub-form-card p + p { margin-top: var(--s2); }
.hub-privacy { padding: var(--s4); background: var(--light); border-left: 4px solid var(--gold); font-size: var(--small); }
.hub-source-note { color: var(--muted); margin-top: var(--s2); }
.hub-separate { margin-top: var(--s5); padding: var(--s5); border: 2px solid var(--ink); border-radius: 14px; background: var(--white); }
.hub-separate h3 { margin-bottom: var(--s2); }
.hub-tool .guide-tool { margin-block: var(--s4); }
.hub-calendar { margin-top: var(--s4); padding: var(--s5); border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.hub-calendar h3 { margin-bottom: var(--s2); }
.hub-check { display: flex; gap: var(--s3); align-items: flex-start; min-height: var(--tap); padding-block: var(--s2); }
.hub-check input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; flex: none; accent-color: var(--ink); }
.hub-checklist fieldset { border: 1px solid var(--line); border-radius: 12px; background: var(--white); padding: var(--s3) var(--s5); margin: 0 0 var(--s3); }
.hub-checklist legend { font-weight: 700; padding-inline: var(--s2); }
.hub-fee-grid { display: grid; gap: var(--s4); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); margin-top: var(--s5); }
.hub-fee-col { padding: var(--s5); border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.hub-fee-col h3 { margin-bottom: var(--s1); }
.hub-fee-explain { font-size: var(--small); color: var(--muted); margin-bottom: var(--s4); }
.hub-fee-item h4 { margin: 0 0 var(--s2); }
.hub-fee-item p + p { margin-top: var(--s2); }
.hub-fee-list { padding-left: var(--s5); }
.hub-fee-list li { margin-bottom: var(--s3); }
.hub-empty { padding: var(--s3); background: var(--paper); border-radius: var(--radius); font-size: var(--small); }
.hub-badge { display: inline-block; padding: 0 var(--s2); font-family: var(--body); font-size: var(--tiny); font-weight: 700; letter-spacing: .03em; vertical-align: middle; border-radius: 999px; background: var(--light); border: 1px solid var(--deep-gold); color: var(--ink); }
.hub-badge-unknown { background: var(--paper); border-color: var(--dark-line); }
.hub-task-later { opacity: .92; }
/* Hand-writing space, worksheet and legacy notes */
.hub-write-space { display: none; }
.hub-worksheet { margin-top: var(--s6); padding: var(--s5); border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.hub-worksheet-label { font-weight: 650; margin-top: var(--s4); }
.hub-lines { display: grid; gap: var(--s5); margin-top: var(--s4); }
.hub-line { display: block; border-bottom: 1px solid var(--dark-line); height: 1px; }
.hub-worksheet-table { width: 100%; border-collapse: collapse; margin-top: var(--s5); font-size: var(--small); }
.hub-worksheet-table th, .hub-worksheet-table td { border: 1px solid var(--line); padding: var(--s3); text-align: left; height: 2.6rem; }
.hub-legacy-list { margin-top: var(--s3); padding-left: var(--s5); }
.hub-check .hub-have { margin-left: auto; font-size: var(--tiny); color: var(--muted); }
.hub-check:has(input:checked) .hub-have { color: var(--ink); font-weight: 700; }
.hub-question-list { padding-left: var(--s5); margin: var(--s2) 0; }
.hub-language-ask { margin-bottom: var(--s3); }
/* Understand my status */
.hub-legend-small { font-size: var(--normal); font-family: var(--body); font-weight: 700; letter-spacing: 0; }
.hub-status-picker { max-width: 46rem; margin-top: var(--s4); }
.hub-not-sure { margin-top: var(--s3); }
.hub-status-result { margin-top: var(--s5); padding: var(--s5); border: 1px solid var(--line); border-radius: 14px; background: var(--white); max-width: 46rem; }
.hub-status-result:focus { outline: none; }
.hub-status-result h3 { margin-block: var(--s1) var(--s3); }
.hub-status-result h4 { margin: var(--s5) 0 var(--s2); font-size: var(--small); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.hub-status-result ul { padding-left: var(--s5); }
.hub-draft-note { padding: var(--s3) var(--s4); border: 1px dashed var(--deep-gold); background: var(--draft-paper); font-size: var(--small); border-radius: var(--radius); margin-block: var(--s3); }
.hub-status-all { margin-top: var(--s4); }
.hub-status-static { border-top: 1px solid var(--line); padding-block: var(--s3); }
.hub-status-static summary { cursor: pointer; font-weight: 650; min-height: var(--tap); display: flex; align-items: center; }
.hub-status-static ul { padding-left: var(--s5); }
/* This Week */
.hub-week { padding-block: var(--s6) var(--section); }
.hub-week-section { margin-top: var(--s7); }
.hub-week-section > h2 { font-size: var(--h3); margin-bottom: var(--s2); }
.hub-week-lead { font-size: var(--small); color: var(--muted); }
.hub-opps { display: grid; gap: var(--s4); margin-top: var(--s4); }
.hub-opp { padding: var(--s5); background: var(--white); border: 1px solid var(--line); border-radius: 14px; max-width: 60rem; scroll-margin-top: 7rem; }
.hub-opp:target, .hub-opp:focus { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); outline: none; }
.hub-opp-top { display: flex; justify-content: space-between; gap: var(--s3); align-items: center; }
.hub-opp h3 { margin-block: var(--s1) var(--s2); }
.hub-opp-when { font-weight: 650; margin-bottom: var(--s4); }
.hub-opp-guides-label { margin-top: var(--s4); font-size: var(--tiny); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.hub-opp-guides { padding-left: var(--s5); font-size: var(--small); }
/* Links in a list need room to tap: at least 24 px tall with space between (WCAG 2.2 target size). */
.hub-opp-guides li + li { margin-top: 8px; }
.hub-opp-guides a { display: inline-block; min-height: 24px; padding: 2px 0; }
.hub-table-wrap:focus-visible { outline: 3px solid var(--ink, #111); outline-offset: 2px; }
.hub-opp-change { margin-block: var(--s3); }
/* Local help */
.hub-filters { display: grid; gap: var(--s3); grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); align-items: end; padding: var(--s5); background: var(--white); border: 1px solid var(--line); border-radius: 14px; }
.hub-filter { display: grid; gap: var(--s2); }
.hub-more-filters { grid-column: 1 / -1; }
.hub-more-filters summary { min-height: var(--tap); display: flex; align-items: center; font-weight: 650; font-size: var(--small); cursor: pointer; }
.hub-more-grid { display: grid; gap: var(--s3); grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); padding-top: var(--s3); }
.hub-filter label { font-weight: 650; font-size: var(--small); }
.hub-list-heading { margin-top: var(--s6); font-size: var(--h3); }
.hub-count { margin-block: var(--s5) var(--s1); font-weight: 700; }
.hub-listings { display: grid; gap: var(--s4); margin-top: var(--s5); }
.hub-listing { padding: var(--s5); background: var(--white); border: 1px solid var(--line); border-radius: 14px; max-width: 60rem; scroll-margin-top: 7rem; }
.hub-listing:target, .hub-listing:focus { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); outline: none; }
.hub-listing h3 { margin-block: var(--s1) var(--s4); }
.hub-facts { display: grid; gap: var(--s3); margin: 0; padding-block: var(--s4); border-block: 1px solid var(--line); }
.hub-facts div { display: grid; grid-template-columns: 8rem 1fr; gap: var(--s3); }
.hub-facts dt { font-weight: 650; font-size: var(--small); }
.hub-facts dd { margin: 0; font-size: var(--small); }
.hub-questions { margin-top: var(--s3); }
.hub-questions summary { min-height: var(--tap); display: flex; align-items: center; font-weight: 650; cursor: pointer; }
.hub-questions ul { padding-left: var(--s5); margin-top: var(--s2); }
.hub-dates { display: grid; gap: var(--s2); grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); margin-block: var(--s4); padding: var(--s3) var(--s4); background: var(--paper); border-radius: var(--radius); font-size: var(--small); }
.hub-dates dt { font-weight: 700; font-size: var(--tiny); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.hub-dates dd { margin: 0; }
.hub-fallback { font-size: var(--small); margin-bottom: var(--s2); }
.hub-how { margin-top: var(--s7); max-width: var(--reading); }
.hub-journeys { padding-left: var(--s5); max-width: var(--reading); }
.hub-journeys li { margin-bottom: var(--s3); }
.hub-table-wrap { overflow-x: auto; margin-top: var(--s4); border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.hub-table { border-collapse: collapse; width: 100%; min-width: 48rem; font-size: var(--small); }
.hub-table th, .hub-table td { text-align: left; vertical-align: top; padding: var(--s2) var(--s3); border-bottom: 1px solid var(--line); }
.hub-table thead th { background: var(--paper); font-size: var(--tiny); text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 650px) {
  .hub-opp { padding: var(--s4); }
  .hub-task-controls { grid-template-columns: 1fr; }
  .hub-facts div { grid-template-columns: 1fr; gap: 0; }
  .hub-task-card, .hub-listing, .hub-fee-col, .hub-separate, .hub-form-card { padding: var(--s4); }
  .hub-actions .button { width: 100%; }
}
/* ====== PRINT: a plain, complete packet ====== */
@media print {
  .hub-page .utility-bar, .hub-page .site-masthead, .hub-page .site-footer, .hub-page .mobile-help-nav, .hub-page .page-header, .hub-page .skip-link,
  .hub-page .hub-preview-banner, .hub-page .hub-urgent, .hub-page .hub-flow, .hub-page .hub-resume, .hub-page .hub-storage-note, .hub-page .toast,
  .hub-page .hub-keep .hub-actions, .hub-page .hub-keep .small-copy, .hub-page .hub-confirm, .hub-page .hub-task-controls label, .hub-page .hub-help,
  .hub-page .hub-task-extra button, .hub-page .share-block, .hub-page .hub-keep { display: none !important; }
  @page { margin: 14mm; }
  .hub-page { background: #fff; color: #000; font-size: 10pt; }
  .hub-page main, .hub-page .hub-layout, .hub-page .wrap { padding: 0 !important; margin: 0 !important; max-width: none !important; }
  .hub-page .hub-no-print, .hub-page .hub-legacy, .hub-page .hub-task-extra .quiet-button, .hub-page .hub-still-stuck { display: none !important; }
  .hub-page .hub-plan-summary, .hub-page .hub-plan-limit { margin: 2pt 0 !important; }
  .hub-page .hub-tasks { gap: 6pt; }
  .hub-page .hub-task-card { padding: 6pt 8pt; }
  .hub-page .hub-task-card h3 { font-size: 11pt; margin: 2pt 0; }
  .hub-page .hub-link-meta { display: inline; }
  .hub-page .hub-write-space { display: block; border-bottom: 1pt solid #999; height: 26pt; margin-top: 4pt; font-size: 8pt; color: #555; }
  .hub-page .hub-worksheet { border: 1pt solid #000; border-radius: 0; break-inside: avoid; padding: 8pt; }
  .hub-page .hub-print-sources { font-size: 8.5pt; break-inside: avoid; }
  .hub-page .hub-print-sources li { overflow-wrap: anywhere; }
  .hub-page main::after, .hub-page body::after { content: none !important; }
  .hub-print-head, .hub-print-sources, .hub-print-url { display: block; }
  .hub-print-url { font-size: 9pt; word-break: break-all; }
  .hub-print-head { border-bottom: 1pt solid #000; margin-bottom: 8pt; font-size: 9pt; }
  /* Cards may continue onto the next page so a long step does not leave half a page empty.
     Headings stay with what follows, and single items never split. Text size is unchanged. */
  .hub-task-card, .hub-fallback-box, .hub-keep { border: 1pt solid #000; border-radius: 0; break-inside: auto; padding: 8pt; }
  .hub-task-card h3, .hub-task-card .hub-task-kind, .hub-fallback-box h2, .hub-fallback-box h3, .hub-print-sources p { break-after: avoid; }
  .hub-task-card li, .hub-fallback-box li, .hub-script, .hub-task-controls, .hub-write-space { break-inside: avoid; }
  /* Every link already prints with its checked date and address beside it, so the repeated source list is left off paper. */
  .hub-page .hub-print-sources h3, .hub-page .hub-print-sources ul { display: none !important; }
  .hub-task-controls { border-top: 0; padding-top: 0; display: block; }
  .hub-task-controls select { border: 0; appearance: none; padding: 0; font-weight: 700; }
  .hub-note textarea { border: 1pt solid #999; min-height: 3em; }
  .hub-checklist-list li::marker { content: "☐  "; }
  a { color: #000; }
  /* My DACA: print only the chosen appointment checklist when asked. */
  body.hub-printing-appointment main > * { display: none !important; }
  body.hub-printing-appointment main > .hub-daca { display: block !important; }
  body.hub-printing-appointment .hub-daca > * { display: none !important; }
  body.hub-printing-appointment .hub-daca > #prepare { display: block !important; border: 0; }
  body.hub-printing-appointment #prepare > * { display: none !important; }
  body.hub-printing-appointment #prepare > .hub-print-only { display: block !important; }
  .hub-daca-page:not(.hub-printing-appointment) .hub-actions, .hub-daca-page .hub-task-nav { display: none !important; }
  body.hub-printing-status main > * { display: none !important; }
  body.hub-printing-status main > .hub-daca { display: block !important; }
  body.hub-printing-status .hub-daca > * { display: none !important; }
  body.hub-printing-status .hub-daca > #understand-status { display: block !important; border: 0; }
  body.hub-printing-status #understand-status > * { display: none !important; }
  body.hub-printing-status #understand-status > .hub-status-result { display: block !important; border: 0; }
  body.hub-printing-status .hub-status-result .hub-actions { display: none !important; }
  .hub-local-page .hub-filters, .hub-local-page .hub-actions, .hub-local-page .hub-empty-state, .hub-week-page .hub-filters, .hub-week-page .hub-actions, .hub-week-page .hub-empty-state { display: none !important; }
  .hub-local-page .hub-questions { display: block; }
}

/* ====== Learn and Practice ====== */
.learn-list { list-style: none; margin: 0 0 var(--s6); padding: 0; display: grid; gap: var(--s4); }
.learn-card { padding: var(--s4) var(--s5); background: var(--white); border: 1px solid var(--line); border-radius: 12px; }
.learn-card-title { margin: 0 0 var(--s2); font-size: 1.15rem; }
.learn-card p { margin: 0 0 var(--s2); }
.learn-badge { display: inline-block; margin-left: var(--s2); padding: 0 var(--s2); border: 1px solid var(--ink); border-radius: 999px; font-weight: 650; }
.learn-part { margin-block: var(--s5) var(--s6); }
.learn-part h2 { margin-bottom: var(--s3); }
.learn-example ul, .learn-takeaway ul { padding-left: 1.2rem; }
.learn-example { padding: var(--s4) var(--s5); background: var(--white); border-left: 4px solid var(--gold); }
.learn-practice fieldset { border: 0; margin: 0; padding: 0; }
.learn-feedback { margin-top: var(--s4); padding: var(--s3) var(--s4); background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--ink); border-radius: 8px; }
.learn-feedback[data-correct="true"] { border-left-color: var(--gold); }
.learn-answer { margin-top: var(--s4); }
.learn-answer summary { min-height: var(--tap); display: flex; align-items: center; cursor: pointer; font-weight: 650; text-decoration: underline; }
.learn-takeaway { padding: var(--s4) var(--s5); background: var(--white); border: 1px solid var(--line); border-radius: 12px; }
.learn-print-only { display: none; }
.learn-language { max-width: 32rem; margin-block: var(--s4); }
@media print {
  .hub-lesson-page .learn-practice, .hub-lesson-page .learn-answer, .hub-lesson-page .learn-progress-controls, .hub-lesson-page .learn-action .hub-actions,
  .hub-lesson-page .learn-language, .hub-lesson-page [data-learn-status], .hub-lesson-page .learn-changes, .hub-lesson-page .hub-preview-banner { display: none !important; }
  .learn-print-only { display: block; }
  .learn-takeaway { border: 1px solid #000; break-inside: avoid; }
}

/* ====== Scholarship planner, weekly brief, work and pay record ====== */
.scholar-mine { margin-top: var(--s3); }
.scholar-mine input { max-width: 14rem; }
.scholar-print-wrap { margin-block: var(--s6); }
.brief-archive li { margin-block: var(--s2); }
.brief-item + .brief-item { border-top: 1px solid var(--line); padding-top: var(--s4); }
.work-form { max-width: 36rem; }
/* Date inputs move focus between their parts and calendar button; keep the ring on every part. */
.hub-field input:focus, .hub-field input:focus-within { outline: var(--focus) solid var(--deep-gold); outline-offset: var(--offset); }
.work-form input { max-width: 16rem; }
.work-table { width: 100%; border-collapse: collapse; }
.work-table th, .work-table td { text-align: left; padding: var(--s2) var(--s3); border-bottom: 1px solid var(--line); vertical-align: top; }
.work-totals ul { padding-left: var(--s5); }
@media print {
  body.hub-printing-tools main > * { display: none !important; }
  body.hub-printing-tools main > .scholar-print-wrap { display: block !important; }
  .hub-page .scholar-print-wrap { break-before: page; }
  body.hub-printing-tools .scholar-print-wrap { break-before: auto; }
  .hub-page .scholar-mine, .hub-page .hub-filters, .hub-page [data-scholar-count] { display: none !important; }
  .hub-page .work-table th, .hub-page .work-table td { border: 1pt solid #000; padding: 2pt 5pt; }
  .hub-page .work-table td:last-child, .hub-page .work-table th:last-child { display: none; }
}
