/* Compact programme layout and the separate permissions view. */
.programme-layout{min-width:0;max-width:100%}
.programme-layout .programme-controls{align-items:end;margin:8px 0 4px;gap:12px}
.programme-layout .programme-controls .programme-copy-trigger{margin-left:auto;min-height:42px;font-size:.86rem;padding:10px 14px}
.programme-layout .programme-message{margin:0;min-height:1.2rem;font-size:.85rem;line-height:1.5}
.programme-layout .programme-message:empty{min-height:0}
.programme-overview-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0 6px}
.programme-overview-bar .programme-summary{margin:0}
.programme-overview-bar>.ghost-button{font-size:.82rem;min-height:36px;padding:7px 13px}
.programme-layout .programme-help{margin:4px 0 14px;font-size:.84rem}
.programme-layout .programme-matrix-scroll{border-radius:12px;max-height:67vh;scrollbar-gutter:stable}
.programme-layout .programme-matrix{font-size:.78rem}
.programme-layout .programme-matrix th,.programme-layout .programme-matrix td{min-width:119px;max-width:160px;padding:9px 8px}
.programme-layout .programme-matrix th:first-child{min-width:176px;max-width:210px}
.programme-layout .programme-matrix thead th{padding:8px;height:34px}
.programme-layout .programme-matrix thead tr:nth-child(2) th:first-child{min-width:119px;max-width:160px}
.programme-layout .programme-matrix tbody th{padding-top:17px;line-height:1.5}
.programme-layout .programme-matrix tbody tr:hover td{background-color:#f8fbfd}
.programme-layout .programme-matrix td.programme-layout-cell{background:#fff;padding-bottom:7px}
.programme-layout .programme-matrix td.programme-na{background:#fafbfd}
.programme-layout-tile{display:flex;flex-direction:column;gap:5px;width:100%;margin:0 0 6px;padding:10px 9px;border:1px solid #dce5ef;border-radius:8px;background:#f7f9fc;color:#173b58;cursor:pointer;text-align:left;line-height:1.35;font:inherit;box-shadow:none}
.programme-layout-tile.is-filled{background:#eff8f4;border-color:#cae5d7}
.programme-layout-tile:hover{border-color:#5f92b5;background:#eaf3fa;box-shadow:0 0 0 1px #5f92b530}
.programme-layout-tile:focus-visible,.programme-cell-add:focus-visible{outline:3px solid #1980b5;outline-offset:2px}
.programme-layout-tile:disabled{opacity:.7;cursor:wait}
.programme-layout-tile-line{display:flex;gap:8px;align-items:center;justify-content:space-between;width:100%;white-space:nowrap}
.programme-layout-tile-line strong{font-size:.75rem;letter-spacing:.02em}
.programme-layout-tile-line>span{font-size:.71rem;color:#426778;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.programme-layout .programme-cohort{font-size:.67rem;color:#62778b}
.programme-cell-add{display:flex;align-items:center;justify-content:center;width:100%;height:27px;padding:0;border:1px dashed #c5d4e3;border-radius:7px;background:transparent;color:#597d9c;cursor:pointer;font:inherit}
.programme-cell-add>span[aria-hidden]{font-size:1.25rem;font-weight:400;line-height:1}
.programme-cell-add:hover{background:#eaf3fa;border-color:#5189b2;color:#12547e}
.programme-cell-add:disabled{opacity:.45;cursor:default}
.programme-cell-empty{display:block;text-align:center;color:#9aabbb;padding:7px 0;font-size:.9rem}
.programme-access-toolbar{border:1px solid #d9e4ed;border-radius:10px;padding:12px 14px!important;background:#f7fafc;margin:12px 0 14px}
.programme-access-toolbar>.ghost-button{font-size:.82rem;min-height:36px;padding:7px 11px}
.programme-access-toolbar>span{margin-left:auto}
.programme-access-block{padding:9px!important;gap:6px!important;min-height:75px}
.programme-access-block .programme-preview-button{font-size:.69rem}
.programme-access-status{font-size:.69rem;font-weight:600;line-height:1.45}
.programme-access-status::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#208359;margin-right:5px;vertical-align:1px}
.programme-access-status.is-closed::before{background:#b67c22}
.programme-access-reason{font-size:.65rem;color:#677b8d;line-height:1.5}
.programme-editor{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;overflow:auto;padding:26px;border:1px solid #d7e3ee;border-radius:16px;background:#fff;color:#18384f;box-shadow:0 20px 80px #173b5840;margin:auto}
.programme-editor::backdrop{background:#12314a70;backdrop-filter:blur(2px)}
.programme-editor h3{font-size:1.25rem;line-height:1.35;margin:5px 0 10px}
.programme-editor>p{font-size:.9rem;line-height:1.6;margin:9px 0 15px}
.programme-editor>.eyebrow{font-size:.7rem;margin:0;letter-spacing:.08em}
.programme-kind-options{border:0;padding:0;margin:20px 0;display:flex;gap:10px;min-width:0}
.programme-kind-options legend{font-size:.83rem;font-weight:600;margin-bottom:8px}
.programme-kind-option{display:flex;align-items:start;gap:9px;flex:1 1 0;border:1px solid #d4e0eb;border-radius:9px;padding:13px 11px;cursor:pointer;min-width:0;line-height:1.35}
.programme-kind-option.is-selected{border-color:#1478ad;background:#eef7fc;box-shadow:0 0 0 1px #1478ad}
.programme-kind-option.is-existing{opacity:.55;cursor:default}
.programme-kind-option input{margin:2px 0 0;flex:0 0 auto;accent-color:#1478ad;width:16px;height:16px}
.programme-kind-option strong{display:block;font-size:.9rem}
.programme-kind-option small{display:block;font-size:.71rem;line-height:1.5;color:#62788b;margin-top:5px}
.programme-add-summary{background:#f4f8fb;border:1px solid #e1e9f0;border-radius:10px;padding:13px 15px;margin:16px 0}
.programme-add-summary>div{display:flex;align-items:start;gap:20px;justify-content:space-between;font-size:.83rem;padding:5px 0;line-height:1.5}
.programme-add-summary dt{color:#61768a}
.programme-add-summary dd{margin:0;font-weight:600;text-align:right}
.programme-safe-note{border-left:3px solid #9fbdcf;padding:10px 13px;background:#f5f9fc;border-radius:0 8px 8px 0;font-size:.81rem!important;color:#526d81;line-height:1.6}
.programme-editor-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #e0e8ee;padding-top:18px;margin-top:20px}
.programme-editor-actions>button{font-size:.84rem;min-height:41px;padding:10px 15px}
.programme-copy-editor{width:min(820px,calc(100vw - 32px))}
.programme-copy-totals{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap;font-size:.82rem;color:#61798d}
.programme-copy-totals strong{color:#244e6d;font-size:1rem;margin-right:4px}
.programme-copy-totals>span{padding:10px 14px;border-radius:8px;background:#f1f6fa}
.programme-copy-all{display:flex;gap:8px;align-items:center;font-size:.83rem;margin:15px 0 10px}
.programme-copy-all input,.programme-copy-list input{accent-color:#1478ad;width:16px;height:16px;flex-shrink:0}
.programme-copy-list{overflow:auto;max-height:43vh;border:1px solid #e0e8ef;border-radius:9px;scrollbar-gutter:stable}
.programme-copy-list table{width:100%;border-collapse:collapse;font-size:.79rem;line-height:1.45}
.programme-copy-list th,.programme-copy-list td{padding:10px 12px;text-align:left;border-bottom:1px solid #e4ebf1;vertical-align:top}
.programme-copy-list thead th{position:sticky;top:0;background:#edf3f8;color:#526f85;font-size:.73rem;z-index:1}
.programme-copy-list tbody th{font-weight:600}
.programme-copy-list small{display:block;font-size:.68rem;line-height:1.5;color:#6b8193;font-weight:400;margin-top:3px}
.programme-copy-list tbody tr:last-child>*{border-bottom:0}
.programme-copy-list tbody td:first-child{width:28px}
.programme-copy-list tbody td:nth-child(3){max-width:170px}
.programme-copy-empty{font-size:.86rem;line-height:1.6;padding:14px 0}
@media(max-width:700px){
  .programme-layout .programme-controls{grid-template-columns:1fr 1fr;gap:10px}
  .programme-layout .programme-controls .programme-copy-trigger{grid-column:1/-1;width:100%;margin-left:0}
  .programme-layout .programme-matrix th:first-child{min-width:127px;max-width:145px}
  .programme-layout .programme-matrix th,.programme-layout .programme-matrix td{min-width:113px;max-width:140px}
  .programme-layout .programme-matrix thead tr:nth-child(2) th:first-child{min-width:113px;max-width:140px}
  .programme-layout .programme-matrix-scroll{max-height:62vh}
  .programme-layout .programme-summary{gap:3px 10px}
  .programme-layout .programme-summary strong{font-size:1rem}
  .programme-layout .programme-summary>span{font-size:.77rem}
  .programme-access-toolbar>label{flex-basis:100%}
  .programme-access-toolbar>span{margin-left:0;flex-basis:100%}
  .programme-access-toolbar>.ghost-button{flex:1 1 auto}
  .programme-editor{padding:20px;max-height:calc(100dvh - 24px)}
  .programme-editor h3{font-size:1.13rem}
  .programme-kind-options{gap:8px}
  .programme-kind-option{padding:11px 9px}
  .programme-kind-option small{font-size:.68rem}
  .programme-editor-actions>button{flex:1 1 auto}
  .programme-add-summary>div{gap:12px;font-size:.78rem}
  .programme-copy-totals{gap:8px;font-size:.75rem}
  .programme-copy-totals>span{padding:9px 10px}
  .programme-copy-list th,.programme-copy-list td{padding:9px 8px;font-size:.72rem}
  .programme-copy-list thead th{font-size:.67rem}
  .programme-copy-list tbody td:nth-child(3){min-width:60px}
  .programme-copy-list tbody th{min-width:110px}
  .programme-copy-list small{font-size:.65rem}
}
.programme-copy-scope{font-size:.8rem!important;color:#557187;margin-top:-4px!important}
