:root {
  color-scheme: light;
  --ink: #25262b; --muted: #70747d; --line: #e8e9ed; --surface: #fff; --canvas: #fff;
  --purple-950: #382b44; --purple-800: #634675; --purple-700: #735584; --purple-100: #f2eef5;
  --yellow-500: #e6cf38; --danger: #b54741; --danger-soft: #fff5f3; --radius: 6px;
  font: 13px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink); background: var(--canvas);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--purple-700); outline-offset: 3px; }
.skip-link { position: fixed; top: -60px; left: 12px; padding: 10px; z-index: 100; background: white; }
.skip-link:focus { top: 8px; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 204px; padding: 24px 12px 16px; background: #f7f8fa; border-right: 1px solid var(--line); display: flex; flex-direction: column; z-index: 20; }
.brand { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-decoration: none; padding: 0 10px; margin-bottom: 30px; }
.brand-logo { display: block; width: 132px; height: auto; }
.brand-product { display: block; color: var(--purple-950); font-size: 18px; line-height: 1.4; font-weight: 600; letter-spacing: -.2px; margin-top: 4px; }
.primary-nav { display: grid; gap: 4px; }
.primary-nav a, .secondary-nav a { display: flex; align-items: center; gap: 10px; min-height: 36px; padding: 7px 12px; border-radius: 5px; text-decoration: none; color: #585d66; font-weight: 500; }
.primary-nav svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.primary-nav a:hover, .secondary-nav a:hover { background: #edeff2; color: var(--ink); }
.primary-nav a[aria-current], .secondary-nav a[aria-current] { background: #ece7f0; color: var(--purple-800); }
.secondary-nav { margin-top: 24px; color: var(--muted); }
.secondary-nav summary { cursor: pointer; padding: 8px 12px; font-size: 11px; }
.secondary-nav a { font-size: 12px; padding-left: 24px; }
.mobile-signout { display: none; }
.sidebar-footer { margin-top: auto; padding: 16px 10px 0; font-size: 11px; color: var(--muted); }
.sidebar-footer form { margin-top: 12px; }
.readonly-dot { display: inline-block; height: 5px; width: 5px; background: #828992; border-radius: 50%; margin-right: 4px; vertical-align: middle; }
.workspace-main { margin-left: 204px; min-width: 0; }
.workspace-toolbar { height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding: 0 28px; background: white; }
.workspace-label { font-size: 12px; font-weight: 550; }
.sync-controls, .sync-controls form { display: flex; align-items: center; gap: 14px; }
.refresh-status { max-width: 280px; color: var(--muted); font-size: 11px; }
.freshness { font-size: 11px; color: var(--muted); margin: 0; }
.page-shell { padding: 28px 28px 40px; max-width: 1840px; margin: 0 auto; }
.page-heading, .panel-heading, .list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.page-heading { margin: 0 0 22px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: 23px; line-height: 1.3; letter-spacing: -.6px; font-weight: 620; margin-bottom: 5px; }
h2 { font-size: 13px; font-weight: 600; margin-bottom: 12px; }
h3 { font-size: 12px; font-weight: 600; }
.page-heading p { margin: 0; font-size: 12px; }
.muted, .footnote { color: var(--muted); }
.footnote { font-size: 11px; margin: 14px 0; line-height: 1.6; }
.separator { color: #c3c5ca; padding: 0 8px; }
.eyebrow { display: none; }
.text-link { color: var(--purple-800); font-size: 12px; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.back-link { display: inline-block; margin-bottom: 20px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 30px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 5px; background: white; color: var(--ink); cursor: pointer; text-decoration: none; font-size: 12px; font-weight: 500; white-space: nowrap; }
.button:hover { background: #f4f5f7; }
.button-primary, .button-secondary { background: var(--purple-700); border-color: var(--purple-700); color: white; }
.button-primary:hover, .button-secondary:hover { background: var(--purple-800); }
.queue-tabs { display: flex; gap: 22px; overflow-x: auto; border-bottom: 1px solid var(--line); margin: 0; }
.queue-tabs a { display: inline-flex; align-items: center; gap: 7px; padding: 11px 0; border-bottom: 2px solid transparent; text-decoration: none; white-space: nowrap; font-size: 12px; color: var(--muted); }
.queue-tabs a:hover { color: var(--ink); }
.queue-tabs a[aria-current] { border-bottom-color: var(--purple-700); color: var(--ink); font-weight: 550; }
.queue-tabs a span { font-size: 10px; font-variant-numeric: tabular-nums; color: var(--muted); background: #f2f3f5; border-radius: 4px; padding: 1px 5px; }
.list-toolbar { padding: 15px 0; font-size: 11px; color: var(--muted); }
.filter-bar { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; padding: 0; }
.filter-bar label { display: grid; gap: 5px; font-size: 10px; color: var(--muted); font-weight: 500; min-width: 0; }
.planning-filters label { flex: 1 1 120px; max-width: 205px; }
input, select { min-height: 31px; padding: 5px 8px; background: white; border: 1px solid #dfe1e6; color: var(--ink); border-radius: 5px; min-width: 0; max-width: 100%; }
.comment-request { margin: 20px 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); }
.comment-request [hidden] { display: none; }
.comment-request h2 { margin: 0 0 12px; }
.comment-request form, .comment-request label { display: grid; gap: 6px; }
.comment-request form { gap: 12px; }
.comment-request label { color: var(--muted); font-size: 11px; }
.comment-request textarea { min-height: 120px; resize: vertical; padding: 8px; border: 1px solid #dfe1e6; border-radius: 5px; color: var(--ink); }
.comment-request-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.comment-preview-text { white-space: pre-wrap; overflow-wrap: anywhere; padding: 10px; border: 1px solid var(--line); border-radius: 5px; font-size: 12px; }
.comment-request-status { min-height: 20px; margin: 10px 0 0; color: var(--muted); font-size: 11px; }
.planning-filters input, .planning-filters select { width: 100%; font-size: 11px; }
.filter-bar input::placeholder { color: #9397a0; }
.panel { margin-top: 18px; padding: 0; background: var(--surface); }
.panel-heading { margin: 0 0 12px; font-size: 11px; }
.panel-heading h2 { margin: 0; }
.table-wrap { overflow: auto; width: 100%; }
table { width: 100%; min-width: 850px; border-collapse: collapse; text-align: left; }
th, td { padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
thead th { padding-top: 8px; padding-bottom: 8px; background: #fafbfc; color: var(--muted); font-size: 10px; font-weight: 500; white-space: nowrap; border-top: 1px solid var(--line); }
tbody th { text-align: left; font-weight: 500; background: transparent; }
td { font-size: 12px; }
tbody tr:hover { background: #fafbfc; }
td a { text-decoration: none; font-weight: 500; }
td a:hover { color: var(--purple-800); }
.task-title-cell { width: 43%; min-width: 270px; max-width: 540px; }
.task-title-cell > a { display: block; line-height: 1.5; }
.task-id { color: #969aa4; font-size: 11px; font-variant-numeric: tabular-nums; font-weight: 400; margin-right: 9px; }
.task-meta { display: block; color: var(--muted); font-size: 10px; font-weight: 400; margin-top: 3px; }
.owner-cell, .date-cell { white-space: nowrap; }
.date-cell { font-size: 11px; font-variant-numeric: tabular-nums; }
.status-pill { display: inline-flex; align-items: center; white-space: nowrap; gap: 5px; color: #656973; font-size: 11px; }
.status-pill::before { content: ""; height: 7px; width: 7px; border-radius: 50%; border: 1.5px solid #a5a9b1; }
.status-blocked { color: var(--danger); }
.status-blocked::before { border-color: var(--danger); background: var(--danger); }
.missing { color: var(--danger); font-weight: 500; }
.person-name { text-decoration: none; font-size: 12px; font-weight: 500; }
.count-link { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 28px; border-radius: 4px; font-size: 12px; font-variant-numeric: tabular-nums; }
.count-link:hover { background: var(--purple-100); }
.count-notes { margin-top: 18px; color: var(--muted); font-size: 11px; }
.count-notes summary { cursor: pointer; }
.warning { margin: 12px 28px 0; padding: 9px 12px; background: #fff8ec; border: 1px solid #f0dfbd; border-radius: 5px; color: #806039; font-size: 12px; }
.empty-state { padding: 45px 20px; text-align: center; color: var(--muted); }
.empty-state h2 { color: var(--ink); font-size: 14px; }
.tag { display: inline-block; padding: 2px 5px; margin: 2px; background: #f2f3f5; color: var(--muted); border-radius: 3px; font-size: 10px; }
.tag-alert { color: var(--danger); background: var(--danger-soft); }
.planning-summary { display: flex; flex-wrap: wrap; gap: 16px; font-size: 11px; color: var(--muted); padding: 3px 0; }
.planning-summary strong { font-weight: 500; color: var(--ink); }
.gantt-scroll { overflow: auto; max-height: 680px; border: 1px solid var(--line); border-radius: 4px; }
.gantt-grid { min-width: 1200px; }
.gantt-head, .gantt-row { display: grid; grid-template-columns: 340px minmax(860px, 1fr); }
.gantt-head { position: sticky; top: 0; z-index: 4; min-height: 42px; background: #fafbfc; border-bottom: 1px solid var(--line); }
.gantt-label { position: sticky; left: 0; z-index: 2; background: white; padding: 10px 12px; border-right: 1px solid var(--line); overflow-wrap: anywhere; }
.gantt-head .gantt-label { background: #fafbfc; color: var(--muted); font-size: 11px; }
.gantt-label a { display: block; text-decoration: none; font-size: 11px; }
.gantt-label small { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.gantt-axis { position: relative; margin: 0 35px; }
.gantt-axis span { position: absolute; top: 13px; transform: translateX(-50%); white-space: nowrap; font-size: 10px; color: var(--muted); }
.gantt-project { padding: 7px 12px; background: #f5f6f8; font-size: 11px; font-weight: 500; }
.gantt-row { border-bottom: 1px solid var(--line); min-height: 76px; }
.gantt-track { position: relative; margin: 0 35px; background: repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px 12.5%); }
.gantt-bar { position: absolute; top: 26px; min-width: 4px; height: 23px; border-radius: 3px; background: #a896b5; color: white; text-decoration: none; font-size: 10px; display: flex; align-items: center; overflow: hidden; }
.gantt-bar span { padding-left: 6px; white-space: nowrap; }
.gantt-overdue { background: #bf7870; }
.today-line { position: absolute; top: 0; bottom: 0; width: 1px; background: #6a6f7c; z-index: 1; pointer-events: none; }
.outside-window { position: absolute; top: 28px; left: 10px; color: var(--muted); font-size: 10px; background: white; }
.task-heading { margin: 0 0 24px; }
.task-heading h1 { font-size: 20px; line-height: 1.4; overflow-wrap: anywhere; margin: 8px 0 12px; }
.task-breadcrumb { font-size: 11px; }
.task-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 20px 0; margin: 0 0 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.task-facts dt { color: var(--muted); font-size: 11px; margin-bottom: 5px; }
.task-facts dd { margin: 0; overflow-wrap: anywhere; font-size: 12px; }
.planning-notes { font-size: 12px; margin: 20px 0; }
.planning-notes summary { cursor: pointer; color: var(--muted); }
.planning-notes p { margin-top: 10px; }
.task-activity { margin-top: 24px; }
.task-activity .warning { margin: 10px 0; }
.task-description { margin: 20px 0; }
.task-description summary { font-size: 12px; font-weight: 550; cursor: pointer; }
.comment { border-top: 1px solid var(--line); padding: 16px 0; }
.comment header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 11px; }
.comment-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; font-size: 12px; margin-top: 10px; }
body.drawer-open { overflow: hidden; }
.task-drawer { position: fixed; inset: 0 0 0 auto; width: min(580px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; border: 0; border-left: 1px solid var(--line); padding: 0; background: white; color: var(--ink); box-shadow: -8px 0 30px #22222214; }
.task-drawer::backdrop { background: #262a331f; }
.drawer-toolbar { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 22px; background: white; border-bottom: 1px solid var(--line); z-index: 1; }
.drawer-toolbar h2 { margin: 0; font-size: 12px; }
.drawer-toolbar > div { display: flex; gap: 8px; }
#drawer-content { padding: 24px; }
.drawer-loading { color: var(--muted); padding: 24px 0; font-size: 12px; }
.task-drawer .task-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.performance-filters label small { max-width: 145px; font-size: 9px; font-weight: 400; }
.performance-status { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 18px; }
.performance-status > .freshness { flex-basis: 100%; }
.performance-status form { display: flex; align-items: center; gap: 10px; }
.performance-warning { margin: 0; flex: 1 1 420px; }
.performance-table table { min-width: 1080px; }
.performance-table td:not(:first-child) { font-variant-numeric: tabular-nums; }
.metric-sample { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; font-weight: 400; white-space: nowrap; }
.performance-queues { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.performance-queues .panel-heading { align-items: flex-start; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.performance-milestones { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0; }
.performance-milestones dt { color: var(--muted); font-size: 10px; }
.performance-milestones dd { margin: 3px 0 0; font-size: 11px; }
.compact-table { min-width: 520px; }
.event-history { list-style: none; padding: 0; margin: 0; }
.event-history li { display: grid; grid-template-columns: 130px 110px minmax(0, 1fr); gap: 6px 12px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 11px; }
.event-history time, .event-history small { color: var(--muted); }
.event-history small { grid-column: 2 / -1; overflow-wrap: anywhere; }
.uncertainty-list { color: var(--muted); font-size: 11px; }
.chart-panel svg { width: 100%; max-height: 260px; }
.chart-axis { stroke: var(--line); stroke-width: 1; }
.chart-line { fill: none; stroke: var(--purple-700); stroke-width: 2; stroke-linecap: round; }
.login-body { min-height: 100vh; display: grid; place-items: center; background: #f7f8fa; padding: 24px; }
.login-card { width: min(100%, 370px); padding: 32px; background: white; border: 1px solid var(--line); border-radius: 8px; }
.brand-login { margin: 0 0 28px; padding: 0; }
.brand-logo-login { width: 164px; }
.stack-form { display: grid; gap: 10px; }
.stack-form .button { margin-top: 8px; }
@media (max-width: 1100px) {
  .sidebar { width: 176px; }
  .workspace-main { margin-left: 176px; }
  .page-shell { padding: 24px 20px; }
  .workspace-toolbar { padding: 0 20px; }
  .queue-tabs { gap: 16px; }
}
@media (max-width: 700px) {
  .sidebar { position: relative; width: 100%; padding: 12px 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .brand { margin: 0 0 12px; padding: 0; }
  .brand-product { font-size: 15px; margin-top: 0; }
  .primary-nav { display: flex; gap: 4px; overflow-x: auto; padding-bottom: 8px; }
  .primary-nav a { flex-shrink: 0; min-height: 36px; padding: 6px 10px; }
  .secondary-nav { margin: 0; position: absolute; top: 9px; right: 16px; z-index: 25; background: #f7f8fa; border-radius: 5px; }
  .secondary-nav[open] { border: 1px solid var(--line); box-shadow: 0 4px 12px #22222210; padding-bottom: 8px; }
  .sidebar-footer { display: none; }
  .mobile-signout { display: block; padding: 8px 12px; }
  .workspace-main { margin: 0; }
  .workspace-toolbar { height: auto; min-height: 44px; padding: 8px 16px; }
  .workspace-label { display: none; }
  .sync-controls { width: 100%; justify-content: space-between; gap: 8px; }
  .sync-controls form { flex-wrap: wrap; justify-content: flex-end; gap: 4px 8px; }
  .refresh-status { flex-basis: 100%; max-width: 230px; text-align: right; font-size: 10px; }
  .freshness { font-size: 10px; }
  .page-shell { padding: 22px 16px; }
  .page-heading { align-items: flex-start; margin-bottom: 18px; }
  h1 { font-size: 21px; }
  .page-heading p { font-size: 11px; }
  .filter-bar { gap: 8px; }
  .planning-filters label { flex: 1 1 140px; max-width: none; }
  .planning-filters label:first-child { flex-basis: 100%; }
  .filter-bar select, .filter-bar input { min-height: 36px; }
  .queue-tabs { gap: 18px; }
  .queue-tabs a { padding: 10px 0; }
  .panel-heading { flex-wrap: wrap; gap: 6px; }
  .list-toolbar { gap: 8px; font-size: 10px; }
  .warning { margin: 12px 16px 0; font-size: 11px; }
  .task-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #drawer-content { padding: 20px 16px; }
  .drawer-toolbar { padding: 10px 16px; }
  .gantt-head, .gantt-row { grid-template-columns: 210px minmax(860px, 1fr); }
  .gantt-grid { min-width: 1070px; }
  .performance-queues { grid-template-columns: 1fr; }
  .performance-milestones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-history li { grid-template-columns: 1fr; }
  .event-history small { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }

/* Shared brand and navigation retain the existing workspace layout. */
.primary-nav a { font-size:14px; min-height:40px; }
.workspace-label { font-size:14px; font-weight:600; }
.freshness { font-size:12px; }

/* Daily Progress: readable type, shorter line lengths and grouped report controls. */
.daily-progress-page { max-width:1440px; margin:0 auto; font-size:14px; line-height:1.6; --muted:#616772; }
.daily-progress-page h1 { font-size:28px; line-height:1.25; font-weight:650; letter-spacing:-.65px; margin-bottom:8px; }
.daily-progress-page h2 { font-size:18px; line-height:1.4; font-weight:600; }
.daily-progress-page h3 { font-size:15px; line-height:1.5; font-weight:600; }
.daily-progress-page .page-heading { align-items:flex-start; margin-bottom:28px; }
.daily-progress-page .page-heading p { font-size:14px; max-width:65ch; }
.daily-progress-page .button { font-size:13px; min-height:38px; padding:8px 14px; }
.daily-progress-page .text-link { font-size:13px; font-weight:600; }
.daily-progress-page .panel-heading { align-items:flex-start; font-size:12px; margin-bottom:16px; }
.daily-progress-page .panel-heading h2 { margin:0; }
.daily-progress-page .panel-heading p { margin:4px 0 0; font-size:13px; }
.progress-filters { display:grid; grid-template-columns:repeat(2,minmax(120px,.8fr)) minmax(160px,1.3fr) minmax(130px,1fr) minmax(120px,.8fr) auto; gap:12px; align-items:end; margin:0 0 28px; }
.progress-filters label { font-size:12px; font-weight:600; gap:7px; }
.progress-filters select { width:100%; min-height:40px; font-size:13px; padding:8px 10px; }
.progress-filter-actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; min-height:40px; }
.progress-filters .progress-checkbox { display:flex; align-items:center; gap:7px; white-space:nowrap; font-size:12px; font-weight:400; }
.progress-checkbox input { width:16px; height:16px; min-height:0; margin:0; padding:0; accent-color:var(--purple-700); }
.progress-period { padding:0 0 24px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.progress-period-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:20px; }
.progress-kicker { margin:0 0 4px; color:var(--muted); font-size:12px; font-weight:600; }
.progress-period h2 { margin:0; font-size:22px; }
.progress-totals { display:flex; gap:0; margin:0; }
.progress-totals > div { min-width:140px; padding:0 28px; border-left:1px solid var(--line); }
.progress-totals > div:first-child { padding-left:0; border:0; }
.progress-totals dt { color:var(--muted); font-size:12px; margin-bottom:3px; }
.progress-totals dd { margin:0; font-size:26px; line-height:1.3; font-weight:600; font-variant-numeric:tabular-nums; }
.progress-times { color:var(--muted); min-width:140px; font-size:12px; text-align:right; }
.progress-times summary { cursor:pointer; padding:3px 0; }
.progress-times dl { margin:12px 0 0; }
.progress-times dl > div + div { margin-top:8px; }
.progress-times dt { font-weight:600; }
.progress-times dd { margin:0; }
.progress-coverage { padding:14px 18px; margin:0 0 24px; border:1px solid #eddfc4; border-radius:8px; background:#fffbf3; color:#74582f; font-size:13px; }
.progress-coverage-lead { display:flex; gap:16px; align-items:baseline; }
.progress-coverage-lead strong { flex-shrink:0; font-weight:600; }
.progress-coverage-lead p { margin:0; }
.progress-coverage details { margin-top:6px; }
.progress-coverage summary { cursor:pointer; font-size:12px; }
.progress-coverage ul { padding-left:20px; margin:10px 0; max-width:100ch; }
.progress-coverage li + li { margin-top:6px; }
.progress-coverage details p { margin:0; overflow-wrap:anywhere; }
.daily-progress-page .warning { margin:16px 0; font-size:14px; }
.progress-briefing { padding:22px; border:1px solid #e5deec; border-radius:8px; background:#f8f6fa; margin-bottom:30px; }
.progress-badge { display:inline-flex; padding:3px 9px; background:#ece7f1; color:var(--purple-800); border-radius:20px; font-size:12px; font-weight:500; vertical-align:middle; white-space:nowrap; }
.briefing-priorities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; list-style:none; padding:0; margin:0; }
.briefing-priorities li { display:flex; flex-direction:column; gap:10px; padding:16px; border:1px solid #e7e2ec; border-radius:6px; background:white; }
.briefing-priority-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.briefing-priority-heading h3 { margin:0; }
.briefing-priority-heading span { font-size:12px; color:var(--muted); white-space:nowrap; }
.briefing-priorities p { margin:0; font-size:13px; max-width:55ch; }
.briefing-priorities a { align-self:flex-start; margin-top:auto; }
.briefing-timestamp { color:var(--muted); font-size:12px; margin:14px 0 0; }
.briefing-help { border-top:1px solid #e5deec; padding-top:12px; margin-top:14px; display:grid; gap:8px; font-size:13px; }
.briefing-help summary { cursor:pointer; color:var(--purple-800); font-weight:500; }
.briefing-help p { max-width:85ch; margin:10px 0 0; }
.codex-help blockquote { margin:12px 0; padding:12px 16px; border-left:3px solid var(--purple-700); background:white; max-width:85ch; }
.progress-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.progress-metric { display:flex; flex-direction:column; padding:16px 18px; gap:6px; border:1px solid var(--line); border-radius:8px; text-decoration:none; }
.progress-metric > span { font-size:14px; font-weight:500; }
.progress-metric strong { font-size:28px; line-height:1.25; font-weight:600; font-variant-numeric:tabular-nums; }
.progress-metric small { color:var(--muted); font-size:12px; }
.progress-metric:hover,.progress-metric.is-selected { background:var(--purple-100); border-color:var(--purple-700); }
.progress-count-note,.progress-attribution { font-size:12px; color:var(--muted); margin:14px 0 0; max-width:110ch; }
.progress-evidence { scroll-margin-top:20px; margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.progress-evidence .panel-heading h2 { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.progress-evidence > p { max-width:100ch; margin-bottom:10px; }
.progress-evidence .table-wrap { margin-top:18px; }
.progress-evidence th { font-size:12px; padding-block:12px; }
.progress-evidence td { font-size:13px; line-height:1.6; vertical-align:top; white-space:normal; overflow-wrap:anywhere; padding-block:14px; }
.progress-evidence td:first-child { min-width:220px; width:32%; }
.progress-evidence td:last-child { min-width:240px; }
.progress-evidence td div + div { margin-top:6px; }
.progress-pagination { display:flex; align-items:center; justify-content:flex-end; gap:16px; padding:16px 0; font-size:13px; }
.progress-method { margin-top:24px; color:var(--muted); font-size:13px; border-top:1px solid var(--line); padding-top:18px; }
.progress-method summary { cursor:pointer; margin-bottom:12px; font-weight:500; color:var(--ink); }
.progress-method p { max-width:100ch; }
@media(max-width:1280px) {
  .progress-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .progress-filter-actions { justify-content:space-between; }
}
@media(max-width:1000px) {
  .briefing-priorities { grid-template-columns:1fr; }
  .briefing-priorities li { gap:6px; }
  .progress-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .daily-progress-page .page-heading { gap:12px; flex-wrap:wrap; margin-bottom:22px; }
  .daily-progress-page h1 { font-size:26px; }
  .progress-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; margin-bottom:24px; }
  .progress-filter-actions { flex-wrap:wrap; justify-content:flex-start; gap:10px; }
  .progress-filters .progress-checkbox input { min-height:0; }
  .progress-period-heading { flex-direction:column; gap:10px; }
  .progress-period h2 { font-size:20px; }
  .progress-times { text-align:left; }
  .progress-totals > div { min-width:0; flex:1; padding:0 16px; }
  .progress-totals dd { font-size:24px; }
  .progress-totals dt { font-size:12px; }
  .progress-coverage-lead { display:block; }
  .progress-coverage-lead p { margin-top:4px; }
  .progress-briefing { padding:16px; }
  .progress-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .progress-metric { padding:14px; }
  .progress-metric > span { font-size:13px; }
}
