.sidebar .nav-group{margin:20px 10px 4px;font-size:11px;letter-spacing:.12em;color:#76756f}
.start-page,.meeting-catalog{max-width:1050px;margin:0 auto}
.queue-content-row{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line,#e4e1d9)}
.queue-content-row a,.meeting-title a{font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.queue-content-row a:hover,.meeting-title a:hover{text-decoration:underline}
.catalogue-entry{padding:4px 0;margin:24px 0}
.catalogue-scope{display:flex;align-items:center;gap:8px;margin:24px 0}
.catalogue-scope a{padding:9px 16px;border-radius:6px;text-decoration:none}
.catalogue-scope a[aria-current]{background:#e9eee8;color:#264a38;font-weight:600}
.week-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 20px}
.week-navigation a,.catalogue-pagination a{padding:10px 0;white-space:nowrap}
.catalogue-count{margin:18px 0}
.day-summary{display:flex;flex-wrap:wrap;gap:6px 20px;padding:8px 0 20px;border-bottom:1px solid var(--line,#e4e1d9)}
.day-summary a,.day-summary span{display:inline-block;padding:8px 0}
.day-summary span{color:#76756f}
.meeting-day{margin:30px 0}
.meeting-day h2{font-size:18px;margin-bottom:12px;scroll-margin-top:20px}
.catalogue-row{display:grid;grid-template-columns:48px 72px minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:17px 0;border-bottom:1px solid var(--line,#e4e1d9)}
.meeting-time,.meeting-number,.meeting-duration{font-size:13px;color:#64655f;font-variant-numeric:tabular-nums}
.meeting-title a{scroll-margin-top:35vh}
.meeting-duration{text-align:right}
.catalogue-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0}
.catalogue-empty{margin:30px 0}
.domain-navigation a:focus-visible,.meeting-catalog a:focus-visible,.start-page a:focus-visible{outline:3px solid #326a50;outline-offset:4px}
@media(max-width:800px){
 body .sidebar nav.domain-navigation{gap:4px 10px;overflow:visible;flex-wrap:wrap}
 .sidebar .nav-group{flex:0 0 100%;margin:10px 0 0}
 body .sidebar nav.domain-navigation a{white-space:normal}
}
@media(max-width:480px){
 .week-navigation{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .week-navigation strong{grid-column:1/-1;grid-row:1;text-align:center}
 .week-navigation a:last-child{text-align:right}
 .catalogue-row{grid-template-columns:46px minmax(0,1fr) auto;gap:8px 10px}
 .meeting-number{grid-column:2;grid-row:1}
 .meeting-time{grid-column:1;grid-row:1}
 .meeting-title{grid-column:2/-1;grid-row:2}
 .meeting-duration{grid-column:3;grid-row:1}
 .day-summary{gap:4px 14px}
 .catalogue-pagination{flex-wrap:wrap;font-size:13px}
}

/* Fonio-style information regions: global area, local navigation, contextual contents.
   Existing route contracts, local tabs and source provenance remain unchanged. */
.global-topbar{position:sticky;top:0;z-index:18;margin:0;min-height:64px;display:flex;align-items:center;gap:30px;padding:8px 26px;border-bottom:1px solid var(--line);background:var(--paper)}
.topbar-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:.9rem;font-weight:700;text-decoration:none;white-space:nowrap}
.topbar-brand:hover{color:var(--accent)}
.area-navigation{display:flex;align-items:stretch;gap:4px;flex-wrap:wrap}
.area-navigation a{display:inline-flex;align-items:center;min-height:42px;padding:8px 16px;border-radius:7px;text-decoration:none;color:var(--muted);font-weight:600}
.area-navigation a:hover,.area-navigation a[aria-current=page]{background:var(--soft);color:var(--accent)}
.sidebar{inset:64px auto 0 0;height:calc(100vh - 64px);padding-top:20px;overflow-y:auto}
.page-primary{min-width:0}
.page-shell:has(>.page-toc){display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:24px;align-items:start}
.page-toc{position:sticky;top:88px;align-self:start;border-left:1px solid var(--line);padding:10px 0 12px 18px;font-size:.82rem;max-height:calc(100vh - 102px);overflow-y:auto}
.page-toc h2{font-size:.82rem;letter-spacing:.03em;color:var(--muted);font-weight:700;margin:0 0 15px}
.page-toc nav{display:grid;gap:4px}
.page-toc nav a{display:block;text-decoration:none;color:var(--muted);line-height:1.45;padding:7px 8px;border-radius:5px;overflow-wrap:anywhere}
.page-toc nav a:hover,.page-toc nav a[aria-current=location]{color:var(--accent);background:var(--soft)}
.page-toc [data-toc-panel][hidden]{display:none}
.page-toc a:focus-visible,.area-navigation a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
body.recording-page main:has(.page-toc),body.meeting-card-page main:has(.page-toc){max-width:1420px}
.recording-page .recording-sticky{top:64px}
@media(min-width:1181px){.recording-page .recording-jumps{display:none}}
@media(max-width:1180px){.page-shell:has(>.page-toc){display:block}.page-toc{display:none}}
@media(max-width:800px){
  .global-topbar{position:static;min-height:56px;padding:9px 16px;gap:12px;justify-content:space-between}
  .topbar-brand{font-size:.8rem}
  .topbar-brand .brand-mark{min-width:30px;height:30px;font-size:19px}
  .area-navigation{justify-content:flex-end;gap:2px}
  .area-navigation a{min-height:40px;padding:6px 9px;font-size:.82rem}
  .sidebar{position:static;inset:auto;height:auto;padding-top:10px;overflow:visible}
  .sidebar-section{margin:0 0 3px;font-size:10px}
  .recording-page .recording-sticky{top:0}
}
@media(max-width:410px){.topbar-brand>span:last-child{font-size:.74rem}.global-topbar{padding:8px 12px;gap:6px}}

.recording-page .page-toc h2,.meeting-card-page .page-toc h2{font-size:.82rem;margin:0 0 15px;line-height:1.4}

/* Keep fragment focus below sticky topbar and the page's own sticky controls. */
.meeting-card-page .meeting-card .card-tabs{top:64px}
.meeting-card-page .meeting-card .card-panel,.meeting-card-page .meeting-card .reflection-row{scroll-margin-top:126px}
.recording-page .page-primary #transcript,.recording-page .page-primary #workspace,
.recording-page .page-primary #meeting,.recording-page .page-primary #source-settings{scroll-margin-top:calc(var(--recording-sticky-height,190px) + 64px)}
.skip:focus{z-index:25}
@media(max-width:800px){
  .meeting-card-page .meeting-card .card-tabs{top:0}
  .meeting-card-page .meeting-card .card-panel,.meeting-card-page .meeting-card .reflection-row{scroll-margin-top:76px}
  .recording-page .page-primary #transcript,.recording-page .page-primary #workspace,
  .recording-page .page-primary #meeting,.recording-page .page-primary #source-settings{scroll-margin-top:var(--recording-sticky-height,190px)}
}
