/* One toolbar per record list. Circles never inherit table-cell sizing. */
.resource-toolbar { margin: 12px 0 18px; padding: 20px 22px 14px; border: 1px solid #b1cbd9; border-radius: 20px; background: #edf5fa; }
.resource-toolbar-actions { display: flex; flex-flow: row wrap; align-items: center; justify-content: flex-start; gap: 12px; }
.resource-toolbar .resource-halo { box-sizing: border-box; display: inline-flex; flex: 0 0 72px; width: 72px; min-width: 72px; max-width: 72px; height: 72px; min-height: 72px; max-height: 72px; aspect-ratio: 1; flex-direction: column; align-items: center; justify-content: center; gap: 5px; margin: 0; padding: 8px; border: 2px solid #2e657a; border-radius: 50%; background: radial-gradient(circle at 35% 25%,#397891,#17485f); box-shadow: inset 0 0 0 3px #afdae5,0 3px 9px #21475920; color: #fff; font-family: 'Segoe UI',Arial,sans-serif; line-height: 1.1; text-align: center; cursor: pointer; }
.resource-toolbar .resource-halo .glyphicon { font-size: 20px; line-height: 1; margin: 0; }
.resource-toolbar .resource-halo strong { display: block; max-width: 58px; font-size: 9px; font-weight: 700; line-height: 1.1; letter-spacing: 0; white-space: normal; overflow-wrap: normal; word-break: normal; }
.resource-toolbar .resource-halo-green { background: radial-gradient(circle at 35% 25%,#548951,#24582f); border-color: #3d7541; }
.resource-toolbar .resource-halo-purple { background: radial-gradient(circle at 35% 25%,#8170ac,#4d386d); border-color: #6b568e; }
.resource-toolbar .resource-halo-teal { background: radial-gradient(circle at 35% 25%,#398f92,#185a60); border-color: #2f777d; }
.resource-toolbar .resource-halo-slate { background: radial-gradient(circle at 35% 25%,#6a8594,#405865); border-color: #5d7785; }
.resource-toolbar .resource-halo:disabled { opacity: 1; color: #edf4f8; background: #8197a4; border-color: #8ea9b8; box-shadow: inset 0 0 0 3px #c3d9e4; cursor: not-allowed; }
.resource-toolbar .resource-halo:not(:disabled):hover { filter: brightness(1.12); }
.resource-toolbar .resource-halo:focus-visible, .resource-select:focus-visible { outline: 3px solid #153e57; outline-offset: 4px; }
.resource-selection-hint { margin: 14px 0 0; color: #315970; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.resource-table-scroll { max-width: 100%; overflow-x: auto; border-radius: 12px; }
table.resource-toolbar-ready { width: 100%; table-layout: auto; }
table.resource-toolbar-ready .resource-original-action, table.resource-toolbar-ready .resource-hidden-column { display: none !important; }
table.resource-toolbar-ready.document-compact-table { max-width: none; min-width: 520px; table-layout: auto; }
table.resource-toolbar-ready.document-compact-table th:nth-child(2) { width: auto !important; }
table.resource-toolbar-ready.document-compact-table th:nth-child(3) { width: 160px !important; }
table.resource-toolbar-ready td { height: auto !important; vertical-align: middle; padding: 12px 10px; }
table.resource-toolbar-ready th.resource-select-cell, table.resource-toolbar-ready td.resource-select-cell { box-sizing: border-box; width: 64px !important; min-width: 64px !important; padding: 10px; text-align: center; vertical-align: middle; }
table.resource-toolbar-ready input.resource-select { appearance: auto; display: inline-block; width: 22px; height: 22px; margin: 0; padding: 0; accent-color: #265e76; cursor: pointer; }
table.resource-toolbar-ready tr.resource-selected > td { background: #dbeef4 !important; box-shadow: inset 0 1px #7aa9be,inset 0 -1px #7aa9be; }
@media(max-width:600px) { .resource-toolbar { padding: 16px 12px 12px; } .resource-toolbar-actions { gap: 14px; } }

/* Course creation and selected-course actions share the existing Courses heading. */
.courses-heading { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; padding:14px 18px; }
.courses-heading::before, .courses-heading::after { display:none; }
.courses-heading .courses-heading-title { flex:1 1 480px; min-width:0; padding-top:8px; padding-bottom:8px; }
.courses-heading .courses-heading-title:has(>.lmis-return-link) { padding-right:20px; }
.courses-heading .courses-heading-title>.lmis-return-link { position:static; margin-top:10px; font-size:13px; }
.courses-heading .resource-toolbar { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.courses-heading .courses-heading-actions { display:flex; flex:1 1 620px; flex-wrap:wrap; align-items:flex-start; gap:12px; min-width:0; }
.courses-heading .courses-record-actions { flex:1 1 440px; min-width:0; }
.courses-heading .resource-halo { text-decoration:none!important; }
.courses-heading .resource-selection-hint { margin-top:8px; font-size:14px; }
.courses-heading .course-add-halo { flex-shrink:0; }
@media(max-width:600px) {
    .courses-heading { padding:14px 12px; gap:12px; }
    .courses-heading .courses-heading-actions { gap:14px; }
    .courses-heading .courses-record-actions { flex-basis:190px; }
}

/* V2 standard: original action bars stay reachable inside their own page/list scope. */
.lmis-pane-overflow { overflow:visible!important; }
.lmis-action-pane-anchor { display:block; height:0; margin:0; padding:0; border:0; }
.lmis-action-pane {
    position:sticky!important; top:var(--lmis-pane-top,52px); z-index:100;
    background-color:var(--lmis-surface,#c5d5e2); box-shadow:0 5px 8px #21475918;
}
.lmis-action-pane-scroll { max-height:var(--lmis-pane-limit); overflow:auto; overscroll-behavior:contain; }
html.lmis-has-action-panes { scroll-padding-top:calc(var(--lmis-frozen-height,52px) + 12px); }
.courses-list-pane { margin:0 -15px 12px; padding:0 15px 1px; }
.courses-list-pane .courses-heading { margin-bottom:10px; }
.courses-list-pane .sor-course-filter { margin-bottom:0; }
.resource-toolbar-actions { justify-content:flex-end; }
.courses-heading .courses-heading-actions { flex:0 1 auto; justify-content:flex-end; margin-left:auto; }
.courses-heading .courses-record-actions { flex:0 1 auto; }
.courses-title-line { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 30mm; }
.courses-title-line > .person-label { flex:0 0 auto; }
.courses-selection { flex:0 1 auto; min-width:0; max-width:100%; }
.courses-selection .resource-selection-hint { margin:0; text-align:left; color:var(--lmis-ink,#294e62); }
.courses-selection .resource-selection-active { font-family:inherit; font-size:23px; font-weight:650; line-height:1.4; }
@media print {
    .lmis-action-pane { position:static!important; max-height:none; overflow:visible; box-shadow:none; }
}

/* Eligibility keeps its status and explanation on separate, unbroken lines. */
.courses-list-page .course-sor-eligibility, .courses-list-page .course-sor-generation { min-width:305px; }
.courses-list-page td.course-sor-eligibility, .courses-list-page td.course-sor-generation { white-space:nowrap; }
.resource-selection-hint:empty, .courses-selection:not(:has(.resource-selection-active)) { display:none; }

/* V2 compact standard: use the list's existing controls row for its generated halos. */
.lmis-list-command-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-bottom:10px; padding:8px 0; }
.lmis-list-command-row::before,.lmis-list-command-row::after { display:none; }
.lmis-list-command-row > [class*="col-"] { float:none; width:auto; flex:0 1 auto; }
.lmis-list-command-row > [class*="col-"]:first-child { flex:1 1 auto; }
.lmis-list-command-row > .resource-toolbar { flex:0 1 auto; margin:0 12px 0 auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.resource-toolbar-compact { margin:8px 0; padding:8px 10px; border:0; border-radius:0; background:transparent; }
.resource-toolbar .resource-selection-hint { margin-top:6px; }
.lmis-action-halo { width:72px; height:72px; margin:5px 6px; padding:6px; }
.lmis-action-halo > .glyphicon { font-size:20px; margin-bottom:4px; }
.lmis-action-halo > strong { max-width:58px; font-size:9px; }

/* Standalone document actions share their existing title and Close control. */
.dc-header { flex-wrap:wrap; }
.dc-header > div { flex:1 1 300px; min-width:0; }
.dc-header .dc-actions { margin:0 0 0 auto; gap:12px; justify-content:flex-end; }
.dc-header .dc-halo { width:72px; height:72px; flex:0 0 72px; }
.dc-header .dc-halo span { font-size:20px; }
.dc-header .dc-halo strong { font-size:9px; }

/* V2 list-header standard. Paint cells themselves so sticky headings stay opaque.
   Include GridView's tbody headers and the standalone learning/document lists.
   The important colours deliberately supersede older page-specific header themes. */
:root { --lmis-list-header-background:#315f76; --lmis-list-header-foreground:#fff; }
table > thead > tr > th,
:is(table.lv-gridstyle,table.lv-sub-gridstyle,table.table,table.dashboard-data-table,
    table.learning-table,.replication-table table,.dc-table-wrap table,
    .application-modal table.table,.lmis-application table.table,.dashboard-records table.table) > :is(thead,tbody) > tr > th {
    background:var(--lmis-list-header-background)!important;
    color:var(--lmis-list-header-foreground)!important;
    border-color:#789caf; box-shadow:inset 0 -2px #173e52;
}
table > thead > tr > th a,
:is(table.lv-gridstyle,table.lv-sub-gridstyle,table.table,table.dashboard-data-table,
    table.learning-table,.replication-table table,.dc-table-wrap table,
    .application-modal table.table,.lmis-application table.table,.dashboard-records table.table) th a { color:inherit!important; }
table th .lv-sortable-button-header:hover,
table th .lv-sortable-button-header:focus { text-decoration:underline; }
table th .lv-sortable-col-hide::before { color:#b7d1de; }
