.programme-main { --content-max: 1480px; }
.programme-heading { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.programme-heading h1 { margin: 0; font-size: 28px; line-height: 1.2; letter-spacing: -.025em; }
.programme-heading-actions, .programme-toolbar, .programme-toolbar-actions { display: flex; align-items: center; gap: 10px; }
.category-select select { min-width: 210px; height: 38px; padding: 0 34px 0 12px; border: 1px solid var(--prizm-color-border-strong); border-radius: var(--prizm-radius-md); background: var(--prizm-color-surface); color: var(--prizm-color-fg); }
.programme-surface { border: 1px solid var(--prizm-color-border); border-radius: var(--prizm-radius-md); background: var(--prizm-color-surface); box-shadow: var(--prizm-shadow-sm); }
.programme-toolbar { justify-content: space-between; padding: 20px 24px 14px; }
.programme-search { position: relative; width: min(420px, 100%); }
.programme-search svg { position: absolute; top: 50%; left: 12px; width: 16px; height: 16px; color: var(--prizm-color-fg-subtle); transform: translateY(-50%); pointer-events: none; }
.programme-search input { width: 100%; height: 40px; padding: 0 12px 0 38px; border: 1px solid var(--prizm-color-border-strong); border-radius: var(--prizm-radius-md); background: var(--prizm-color-surface); color: var(--prizm-color-fg); outline: none; }
.programme-search input:focus, .category-select select:focus { border-color: var(--prizm-color-focus); box-shadow: 0 0 0 2px color-mix(in srgb, var(--prizm-color-focus) 18%, transparent); }
.column-picker { position: relative; }
.column-menu { position: absolute; z-index: 10; top: calc(100% + 7px); right: 0; width: 225px; display: grid; gap: 2px; padding: 10px; border: 1px solid var(--prizm-color-border); border-radius: var(--prizm-radius-md); background: var(--prizm-color-surface-elevated); box-shadow: var(--prizm-shadow-md); }
.column-menu > strong { padding: 5px 7px 8px; color: var(--prizm-color-fg-subtle); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.column-menu label { min-height: 34px; display: flex; align-items: center; gap: 9px; padding: 6px 7px; border-radius: var(--prizm-radius-sm); font-size: 12px; cursor: pointer; }
.column-menu label:hover { background: var(--prizm-color-bg-muted); }
.column-menu input { accent-color: var(--prizm-color-accent); }
.programme-tabs { display: flex; gap: 22px; padding: 0 24px; border-bottom: 1px solid var(--prizm-color-border); }
.programme-tabs button { min-height: 44px; padding: 0 2px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--prizm-color-fg-muted); font-size: 12px; font-weight: 700; cursor: pointer; }
.programme-tabs button:hover { color: var(--prizm-color-fg); }
.programme-tabs button[aria-selected="true"] { border-bottom-color: var(--prizm-color-accent); color: var(--prizm-color-accent); }
.programme-table-wrap { min-height: 330px; overflow-x: auto; }
.programme-table { width: 100%; min-width: 920px; border-collapse: collapse; table-layout: fixed; }
.programme-table th { height: 42px; padding: 0 14px; background: var(--prizm-color-bg-subtle); color: var(--prizm-color-fg-muted); font-size: 10px; font-weight: 700; text-align: left; }
.programme-table th:nth-child(1) { width: 18%; }
.programme-table th:nth-child(2) { width: 24%; }
.programme-table th:nth-child(3), .programme-table th:nth-child(4) { width: 19%; }
.programme-table th:nth-child(5) { width: 14%; }
.programme-table th:nth-child(6) { width: 6%; }
.programme-table td { min-height: 54px; padding: 12px 14px; border-top: 1px solid var(--prizm-color-border); color: var(--prizm-color-fg); font-size: 11px; vertical-align: middle; }
.programme-table tbody tr:hover { background: var(--prizm-color-bg-subtle); }
.programme-id-cell { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.programme-expand { width: 28px; height: 28px; display: grid; flex: 0 0 28px; place-items: center; padding: 0; border: 0; border-radius: var(--prizm-radius-sm); background: transparent; color: var(--prizm-color-fg-muted); cursor: pointer; }
.programme-expand:hover { background: var(--prizm-color-bg-muted); color: var(--prizm-color-accent); }
.programme-expand svg { width: 16px; height: 16px; transition: transform 140ms ease; }
.programme-expand[aria-expanded="true"] svg { transform: rotate(180deg); }
.programme-title { display: block; width:fit-content; color:var(--prizm-color-fg); font-weight:700; text-decoration:none; }
.programme-meta { display:block; width:fit-content; margin-top:2px; color:var(--prizm-color-fg-subtle); font-size:10px; text-decoration:none; }
.programme-title:hover,.programme-meta:hover { color:var(--prizm-color-accent); text-decoration:underline; text-underline-offset:3px; }
.programme-title:focus-visible,.programme-meta:focus-visible { outline:2px solid var(--prizm-color-focus); outline-offset:2px; }
.intake-count { min-height: 30px; padding: 0 9px; border: 1px solid var(--prizm-color-border); border-radius: var(--prizm-radius-sm); background: var(--prizm-color-surface); color: var(--prizm-color-accent); font-size: 10px; font-weight: 700; cursor: pointer; }
.row-action { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--prizm-radius-sm); background: transparent; color: var(--prizm-color-fg-muted); cursor: pointer; }
.row-action:hover { background: var(--prizm-color-bg-muted); color: var(--prizm-color-fg); }
.row-action[aria-expanded="true"] { background: var(--prizm-color-bg-muted); color: var(--prizm-color-accent); }
.row-action svg { width: 17px; height: 17px; }
.intake-row { background: color-mix(in srgb, var(--prizm-color-accent) 3%, var(--prizm-color-surface)); }
.intake-row td { padding-block: 10px; color: var(--prizm-color-fg-muted); }
.intake-name { display:inline-block; padding-left:36px; color:var(--prizm-color-accent); font-weight:650; text-decoration:none; }
.intake-name:hover { color:var(--prizm-color-accent-hover); text-decoration:underline; text-underline-offset:3px; }
.intake-name:focus-visible { outline:2px solid var(--prizm-color-focus); outline-offset:2px; }
.programme-empty { min-height: 250px; display: grid; align-content: center; justify-items: center; gap: 5px; color: var(--prizm-color-fg-muted); }
.programme-empty strong { color: var(--prizm-color-fg); font-size: 14px; }
.programme-empty span { font-size: 11px; }
.programme-footer { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 24px; border-top: 1px solid var(--prizm-color-border); color: var(--prizm-color-fg-muted); font-size: 11px; }
.programme-footer label { display: flex; align-items: center; gap: 8px; }
.programme-footer select { height: 32px; padding: 0 28px 0 9px; border: 1px solid var(--prizm-color-border); border-radius: var(--prizm-radius-sm); background: var(--prizm-color-surface); }
.programme-pagination { display: flex; gap: 4px; }
.programme-pagination button { min-width: 32px; height: 32px; padding: 0 9px; border: 1px solid var(--prizm-color-border); border-radius: var(--prizm-radius-sm); background: var(--prizm-color-surface); color: var(--prizm-color-fg-muted); font-size: 11px; }
.programme-pagination button.current { border-color: var(--prizm-color-accent); color: var(--prizm-color-accent); font-weight: 700; }
.programme-pagination button:disabled { opacity: .45; }
.programme-table [data-column][hidden] { display: none !important; }
.programme-heading :is(a,button,select):focus-visible, .programme-surface :is(a,button,input,select):focus-visible { outline: 2px solid var(--prizm-color-focus); outline-offset: 2px; }

@media (max-width: 900px) {
  .programme-toolbar { align-items: stretch; flex-direction: column; }
  .programme-search { width: 100%; }
  .programme-toolbar-actions { justify-content: flex-end; }
}
@media (max-width: 700px) {
  .programme-heading { align-items: stretch; flex-direction: column; }
  .programme-heading-actions { display: grid; grid-template-columns: 1fr auto; }
  .category-select select { width: 100%; min-width: 0; }
  .programme-toolbar { padding: 14px 12px 10px; }
  .programme-tabs { gap: 14px; overflow-x: auto; padding-inline: 12px; }
  .programme-footer { padding-inline: 12px; }
  .programme-footer label { display: none; }
}
@media (prefers-reduced-motion: reduce) { .programme-expand svg { transition: none; } }

#intakeActionMenu{position:fixed;z-index:100;width:240px;padding:6px;border:1px solid var(--prizm-color-border);border-radius:var(--prizm-radius-md);background:var(--prizm-color-surface-elevated);box-shadow:0 8px 24px color-mix(in srgb,var(--prizm-color-fg) 15%,transparent)}
#intakeActionMenu a{display:block;padding:10px;color:var(--prizm-color-fg);text-decoration:none;font-size:13px}#intakeActionMenu a:hover,#intakeActionMenu a:focus{background:var(--prizm-color-bg-muted)}
