.sched-cta { display:flex; align-items:center; justify-content:space-between; gap: 16px; flex-wrap: wrap; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--grid); }
.sched-cta h3 { font-size: 0.74rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); }
.sched-cta p { font-size: 0.88rem; color: var(--ink-2); margin-top: 4px; max-width: 52ch; }

.sched-dialog { padding: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-raised); color: var(--ink); font-family: var(--font-body);
  width: calc(100vw - 32px); height: calc(100vh - 32px); max-width: none; max-height: none; overflow: hidden; }
.sched-dialog[open] { display: flex; flex-direction: column; }
.sched-dialog::backdrop { background: rgba(10,10,10,.55); }
.sched-bar { display:flex; align-items:center; gap: 16px; flex-wrap: wrap; padding: 14px 20px; border-bottom: 1px solid var(--grid); }
.sched-bar h2 { font-size: 1.3rem; margin-right: auto; }
.sched-actions { display:flex; gap: 8px; }
.sched-actions .mut { color: var(--ink-muted); font-weight: 400; }
.seg { display:inline-flex; border: 1px solid var(--border); border-radius: 9px; overflow: hidden; }
.seg button { font: inherit; font-size: 0.85rem; font-weight: 600; padding: 8px 14px; background: var(--surface); color: var(--ink-2); border: none; cursor: pointer; }
.seg button + button { border-left: 1px solid var(--border); }
.seg button[aria-pressed="true"] { background: var(--ink); color: var(--page); }
.seg button:focus-visible { outline: 2px solid var(--accent-property); outline-offset: -2px; }

.sched-body { flex: 1; min-height: 0; overflow: auto; }
table.sched { border-collapse: separate; border-spacing: 0; font-size: 0.82rem; min-width: 100%; }
table.sched th, table.sched td { padding: 7px 12px; border-bottom: 1px solid var(--grid); white-space: nowrap; background: var(--surface-raised); }
table.sched .amt { text-align: right; font-family: "IBM Plex Mono", ui-monospace, monospace; font-variant-numeric: tabular-nums; }
table.sched thead th { position: sticky; z-index: 2; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-2); background: var(--surface); }
table.sched tr.grp th { top: 0; height: 32px; color: var(--brand); text-align: center; border-bottom: 1px solid var(--grid); border-left: 1px solid var(--grid); }
table.sched tr.cols th { top: 32px; border-bottom: 1px solid var(--baseline); white-space: normal; min-width: 96px; vertical-align: bottom; }
table.sched th.corner { left: 0; top: 0; z-index: 3; text-align: left; vertical-align: bottom; border-bottom: 1px solid var(--baseline); min-width: 110px; }
table.sched tbody th { position: sticky; left: 0; z-index: 1; text-align: left; font-weight: 600; background: var(--surface); border-right: 1px solid var(--grid); }
table.sched .mut { display:block; font-weight: 400; font-size: 0.72rem; color: var(--ink-muted); }
table.sched tr.yr-start td, table.sched tr.yr-start th { border-top: 2px solid var(--baseline); }
table.sched tbody tr:hover td { background: var(--surface); }
@media (max-width: 560px) { .sched-dialog { width: 100vw; height: 100vh; border-radius: 0; border: none; } .sched-bar { padding: 12px 14px; gap: 10px; } }
