/* ==========================================================================
   New UI: District Coursework + Student Coursework (coursework component shell, toolbar, tree, empty state).
   Every selector under .nui-on. Reusable pieces belong in new-ui-kit.css.
   ========================================================================== */

/* ==========================================================================
   1. District Coursework left menu (course-view.html, .cls-rail-groups)
   Expanded state only (.page-sidebar); the collapsed icon rail lives in
   courses/classrooms/classrooms-rail.css. Solid blue header bars become quiet
   sections: white card, small bold heading, quiet rows, pale-blue active row.
   ========================================================================== */
.nui-on .cls-rail-groups .page-sidebar .wh-card.wh-border-1 {
    background: var(--aa-white, #fff);
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 14px;
    box-shadow: none;
    overflow: hidden;
}
.nui-on .cls-rail-groups .page-sidebar .wh-card-header {
    background: transparent !important;
    color: var(--aa-ink, #222831) !important;
    padding: 12px 14px 6px !important;
    min-height: 0;
    border: 0;
    gap: 6px;
}
.nui-on .cls-rail-groups .page-sidebar .wh-card-header > .fas {
    font-size: 12px !important;
    width: 12px;
    color: var(--aa-grey-500, #7B8E92);
}
.nui-on .cls-rail-groups .page-sidebar .wh-card-header .wh-card-title {
    font-family: var(--font-display, "Montserrat", sans-serif);
    font-size: 13px;
    font-weight: 700;
    color: var(--aa-ink, #222831) !important;
    text-transform: none;
    letter-spacing: 0;
}
.nui-on .cls-rail-groups .page-sidebar .wh-card-header:hover .wh-card-title { color: var(--aa-blue, #0074C5) !important; }
.nui-on .cls-rail-groups .page-sidebar .wh-card-body { padding: 0 6px 8px; }
.nui-on .cls-rail-groups .page-sidebar .wh-menu-item > a {
    display: flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--aa-grey-700, #4A5358);
    background: transparent;
    box-shadow: none;
}
.nui-on .cls-rail-groups .page-sidebar .wh-menu-item .wh-menu-icon { color: var(--aa-grey-500, #7B8E92); }
.nui-on .cls-rail-groups .page-sidebar .wh-menu-item:hover > a { background: var(--aa-off-white, #F7F9FA); color: var(--aa-ink, #222831); }
.nui-on .cls-rail-groups .page-sidebar .wh-menu-item.active > a {
    background: rgba(0, 116, 197, .10);
    color: var(--aa-blue, #0074C5);
    font-weight: 600;
}
.nui-on .cls-rail-groups .page-sidebar .wh-menu-item.active > a .wh-menu-icon { color: var(--aa-blue, #0074C5); }
/* nested unit list: lighter, indented */
.nui-on .cls-rail-groups .page-sidebar .wh-menu .wh-menu { padding-left: 14px; }
.nui-on .cls-rail-groups .page-sidebar .wh-menu .wh-menu .wh-menu-item > a { min-height: 30px; font-size: 12.5px; font-weight: 400; }
/* "+" next to Modules and the unit chevron: quiet secondary icons, no solid green */
.nui-on .cls-rail-groups .page-sidebar .wh-menu-item > a .btn {
    width: 24px; height: 24px; min-width: 0; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 8px;
    background: var(--aa-white, #fff) !important;
    color: var(--aa-grey-500, #7B8E92) !important;
    font-size: 11px; line-height: 1;
    box-shadow: none;
}
.nui-on .cls-rail-groups .page-sidebar .wh-menu-item > a .btn:hover {
    border-color: var(--aa-blue, #0074C5);
    color: var(--aa-blue, #0074C5) !important;
}

/* ==========================================================================
   2. Coursework toolbar + tree (modules.html, shared by District Coursework
   and the classroom's Student Coursework step)
   ========================================================================== */
.nui-on .nui-modules-view > .mb9 .btn-group > .btn.is-btn-success {
    height: 34px;
    border: 1px solid var(--aa-blue, #0074C5);
    background: var(--aa-blue, #0074C5) !important;
    color: #fff !important;
    border-radius: 8px 0 0 8px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none;
}
.nui-on .nui-modules-view > .mb9 .btn-group > .btn.is-btn-success.dropdown-toggle {
    border-radius: 0 8px 8px 0;
    border-left: 1px solid rgba(255, 255, 255, .35);
    padding: 0 9px;
}
.nui-on .nui-modules-view > .mb9 .btn-group > .btn.is-btn-success:hover { background: #0063a9 !important; }
.nui-on .nui-modules-view > .mb9 .btn-group > .btn.is-btn-success.dropdown-toggle { margin-left: 0; }

/* secondary icon buttons: collapse all, filter, preview, settings */
.nui-on .nui-modules-view > .mb9 button.is-btn-white,
.nui-on .nui-modules-view > .mb9 .dropdown > .btn.is-btn-white,
.nui-on .nui-modules-view > .mb9 .dropdown > .btn.is-btn-danger,
.nui-on .nui-modules-view > .mb9 .mlauto > .btn.btn-success,
.nui-on .nui-modules-view > .mb9 .mlauto > .btn.is-btn-danger,
.nui-on .nui-modules-view > .mb9 .mlauto > .btn.btn-primary {
    height: 34px;
    min-width: 34px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    border-radius: 8px;
    background: var(--aa-white, #fff) !important;
    color: var(--aa-grey-700, #4A5358) !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none;
    margin-right: 0;
}
.nui-on .nui-modules-view > .mb9 button.is-btn-white:hover,
.nui-on .nui-modules-view > .mb9 .dropdown > .btn:hover,
.nui-on .nui-modules-view > .mb9 .mlauto > .btn:hover {
    border-color: var(--aa-blue, #0074C5);
    color: var(--aa-blue, #0074C5) !important;
}
.nui-on .nui-modules-view > .mb9 button.is-btn-white i { color: inherit !important; }
/* active filter: pale blue selected state, not red */
.nui-on .nui-modules-view > .mb9 .dropdown > .btn.is-btn-danger {
    background: rgba(0, 116, 197, .10) !important;
    border-color: var(--aa-blue, #0074C5);
    color: var(--aa-blue, #0074C5) !important;
}
/* published / disabled state buttons: muted outline, status carried by the icon */
.nui-on .nui-modules-view > .mb9 .mlauto > .btn.btn-success i { color: var(--nk-ok, #2E8540); }
.nui-on .nui-modules-view > .mb9 .mlauto > .btn.is-btn-danger i { color: var(--aa-grey-500, #7B8E92); }
.nui-on .nui-modules-view > .mb9 .mlauto > .btn { margin-left: 6px; }

/* search: kit 34px input */
.nui-on .nui-modules-view > .mb9 .input-group-clear input.form-control {
    height: 34px;
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    border-radius: 8px;
    font-size: 13px;
    box-shadow: none;
}
.nui-on .nui-modules-view > .mb9 .input-group-clear input.form-control:focus {
    border-color: var(--aa-blue, #0074C5);
    box-shadow: 0 0 0 3px rgba(0, 116, 197, .12);
}
.nui-on .nui-modules-view > .mb9 .input-group-clear .material-symbols-rounded { font-size: 18px; color: var(--aa-grey-500, #7B8E92); }

/* tree rows: per-unit "+" is a quiet secondary icon shown on row hover; kebab muted */
.nui-on .nui-modules-view .tree-branch-hollow { border-radius: 8px; }
.nui-on .nui-modules-view .tree-branch-hollow:hover { background: var(--aa-off-white, #F7F9FA); }
.nui-on .nui-modules-view .tree-branch-hollow.is-default-light { background: rgba(0, 116, 197, .10); }
.nui-on .nui-modules-view .tree-branch-actions-group .btn.btn-circle {
    width: 26px; height: 26px; min-width: 0; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 8px;
    box-shadow: none;
    font-size: 11px; line-height: 1;
}
.nui-on .nui-modules-view .tree-branch-actions-group .btn.is-btn-success.btn-circle {
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    background: var(--aa-white, #fff) !important;
    color: var(--aa-grey-700, #4A5358) !important;
    opacity: 0;
    transition: opacity .12s ease, border-color .12s ease, color .12s ease;
}
.nui-on .nui-modules-view .tree-branch-hollow:hover .tree-branch-actions-group .btn.is-btn-success.btn-circle,
.nui-on .nui-modules-view .tree-branch-actions-group .dropdown.open > .btn.is-btn-success.btn-circle,
.nui-on .nui-modules-view .tree-branch-actions-group .btn.is-btn-success.btn-circle:focus {
    opacity: 1;
}
.nui-on .nui-modules-view .tree-branch-actions-group .btn.is-btn-success.btn-circle:hover {
    border-color: var(--aa-blue, #0074C5);
    color: var(--aa-blue, #0074C5) !important;
}
@media (hover: none) {
    .nui-on .nui-modules-view .tree-branch-actions-group .btn.is-btn-success.btn-circle { opacity: 1; }
}
.nui-on .nui-modules-view .tree-branch-actions-group .btn.is-btn-white.btn-circle {
    border: 0;
    background: transparent !important;
    color: var(--aa-grey-500, #7B8E92) !important;
}
.nui-on .nui-modules-view .tree-branch-actions-group .btn.is-btn-white.btn-circle:hover {
    background: rgba(0, 116, 197, .10) !important;
    color: var(--aa-blue, #0074C5) !important;
}

/* empty tree: one small muted line with an icon instead of the big green text.
   The text itself is a ::before in modules.html's inline <style>; the higher
   specificity here wins. */
.nui-on .nui-modules-view .angular-ui-tree-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-height: 0;
    margin-top: 28px;
    padding: 24px 16px;
    border: 0;
    background: transparent;
    text-align: center;
}
.nui-on .nui-modules-view .angular-ui-tree-empty::before {
    color: var(--aa-grey-500, #7B8E92);
    font-size: 13px;
    font-weight: 500;
}
.nui-on .nui-modules-view .angular-ui-tree-empty::after {
    content: "";
    order: -1;
    width: 28px;
    height: 28px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5CDD0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2z'/><path d='M4 21V5'/></svg>") center / contain no-repeat;
}

/* ---- tree tidy-up (nodes-renderer.nui.html) -------------------------------- */
/* item status dot + unit/week counts */
.nui-on .nk-node-dot { display: inline-block; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: var(--aa-grey-300, #C5CDD0); }
.nui-on .nk-node-dot.is-live { background: #2E8540; }
.nui-on .nk-node-dot.is-draft { background: var(--aa-gold, #E3A50E); }
.nui-on .nk-node-count { flex: 0 0 auto; font-size: 11px; font-weight: 500; color: var(--aa-grey-500, #7B8E92); white-space: nowrap; }
/* the "..." menu shows on row hover / focus / open (always on touch) */
.nui-on .nui-modules-view .tree-branch-hollow .nk-node-menu > .btn { opacity: 0; transition: opacity .12s ease; }
.nui-on .nui-modules-view .tree-branch-hollow:hover .nk-node-menu > .btn,
.nui-on .nui-modules-view .tree-branch-hollow .nk-node-menu.open > .btn,
.nui-on .nui-modules-view .tree-branch-hollow .nk-node-menu > .btn:focus,
.nui-on .nui-modules-view .tree-branch-hollow.is-default-light .nk-node-menu > .btn { opacity: 1; }
@media (hover: none) { .nui-on .nui-modules-view .tree-branch-hollow .nk-node-menu > .btn { opacity: 1; } }
/* selected item: blue title (not the per-type purple) */
.nui-on .nui-modules-view .tree-branch-hollow.is-default-light .tree-branch-title { color: var(--aa-blue, #0074C5) !important; font-weight: 600; }

/* ---- Tree / Outline switch in the toolbar ---------------------------------- */
.nui-on .nk-cw-viewswitch { margin-right: 8px; vertical-align: middle; }

/* ---- Outline view (tree.nui.html) ----------------------------------------- */
.nui-on .nk-outline { display: flex; flex-direction: column; gap: 10px; padding: 2px 2px 16px; font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; }
.nui-on .nk-outline-module { background: var(--aa-white, #fff); border: 1px solid var(--aa-grey-100, #EEF1F2); border-radius: 12px; overflow: hidden; }
.nui-on .nk-outline-head { display: flex; align-items: center; gap: 8px; padding: 8px 10px 8px 6px; background: var(--aa-off-white, #F7F9FA); border-bottom: 1px solid var(--aa-grey-100, #EEF1F2); }
.nui-on .nk-outline-head .nk-outline-title { font-size: 13.5px; font-weight: 700; color: var(--aa-ink, #222831); }
.nui-on .nk-outline-chev { flex: 0 0 auto; width: 24px; height: 24px; border: 0; border-radius: 6px; background: transparent; color: var(--aa-grey-500, #7B8E92); font-size: 10px; cursor: pointer; }
.nui-on .nk-outline-chev:hover { background: var(--aa-grey-100, #EEF1F2); color: var(--aa-ink, #222831); }
.nui-on .nk-outline-row { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 4px 10px 4px calc(10px + var(--nk-depth, 0) * 18px); border-bottom: 1px solid var(--aa-grey-100, #EEF1F2); }
.nui-on .nk-outline-row:last-of-type { border-bottom: 0; }
.nui-on .nk-outline-row:hover { background: var(--aa-off-white, #F7F9FA); }
.nui-on .nk-outline-row.is-selected { background: rgba(0, 116, 197, .08); }
.nui-on .nk-outline-row.is-section { min-height: 34px; padding-left: calc(4px + var(--nk-depth, 0) * 18px); }
.nui-on .nk-outline-row.is-section .nk-outline-title { font-weight: 700; font-size: 13px; }
/* icon colour comes from the node type class (node.cssClasses.iconParent), same as the tree */
.nui-on .nk-outline-type { flex: 0 0 22px; text-align: center; font-size: 15px; }
.nui-on .nk-outline-title { flex: 1 1 auto; min-width: 72px; font-size: 13px; color: var(--aa-ink, #222831); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; text-decoration: none !important; }
.nui-on .nk-outline-title:hover { color: var(--aa-blue, #0074C5); }
.nui-on .nk-outline-row.is-selected .nk-outline-title { color: var(--aa-blue, #0074C5); font-weight: 600; }
.nui-on .nk-outline-flags { display: inline-flex; gap: 8px; color: var(--aa-grey-500, #7B8E92); font-size: 12px; }
.nui-on .nk-outline-flags:empty { display: none; }
.nui-on .nk-outline-status { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; height: 24px; padding: 0 9px; border: 1px solid transparent; border-radius: 12px; background: transparent; font-size: 11.5px; font-weight: 600; color: var(--aa-grey-700, #4A5358); white-space: nowrap; }
.nui-on button.nk-outline-status { cursor: pointer; }
.nui-on button.nk-outline-status:hover { border-color: var(--aa-grey-300, #C5CDD0); background: var(--aa-white, #fff); }
.nui-on .nk-outline-status.is-draft { color: #8A6100; }
.nui-on .nk-outline-icon { width: 28px; height: 28px; padding: 0; border: 1px solid var(--aa-grey-300, #C5CDD0); border-radius: 8px; background: var(--aa-white, #fff); color: var(--aa-grey-700, #4A5358); font-size: 11px; cursor: pointer; }
.nui-on .nk-outline-icon:hover { border-color: var(--aa-blue, #0074C5); color: var(--aa-blue, #0074C5); }
.nui-on .nk-outline .nk-node-menu > .btn { width: 28px; height: 28px; min-width: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; box-shadow: none; }
.nui-on .nk-outline-empty { margin: 0; padding: 12px 14px; font-size: 12.5px; color: var(--aa-grey-500, #7B8E92); }
@media (prefers-reduced-motion: reduce) { .nui-on .nui-modules-view .tree-branch-hollow .nk-node-menu > .btn { transition: none; } }
/* narrow column (editor open beside it): status as a dot only, counts hidden, titles get the room */
.nui-on .nk-outline { container-type: inline-size; }
@container (max-width: 520px) {
    .nui-on .nk-outline-status { padding: 0 4px; font-size: 0; gap: 0; }
    .nui-on .nk-outline-head .nk-node-count { display: none; }
    .nui-on .nk-outline-status .nk-node-dot { width: 8px; height: 8px; }
    .nui-on .nk-outline-row .nk-node-count,
    .nui-on .nk-outline-flags { display: none; }
    .nui-on .nk-outline-row { gap: 6px; }
}

/* ---- resizable list / editor split (modules.html, controller sets --nk-cw-list-w) ---- */
.nui-on #tree-view-list-container { position: relative; }
.nui-on #tree-view-list-container > #tree-view-list.page-sidebar:not(.page-sidebar-hidden) { width: var(--nk-cw-list-w, 320px); }
.nui-on #tree-view-list-container > .page-content-wSidebar { width: calc(100% - var(--nk-cw-list-w, 320px)); }
.nui-on .nk-cw-divider {
    position: absolute; top: 0; bottom: 0; z-index: 20;
    left: calc(var(--nk-cw-list-w, 320px) - 5px); width: 10px;
    cursor: col-resize; outline: 0;
}
.nui-on .nk-cw-divider::after {
    content: ""; position: absolute; top: 8px; bottom: 8px; left: 4px; width: 2px; border-radius: 1px;
    background: transparent; transition: background-color .12s ease;
}
.nui-on .nk-cw-divider:hover::after,
.nui-on .nk-cw-divider:focus-visible::after,
.nui-on.nk-cw-resizing .nk-cw-divider::after { background: var(--aa-blue, #0074C5); }
.nui-on.nk-cw-resizing { cursor: col-resize; user-select: none; }
.nui-on.nk-cw-resizing iframe { pointer-events: none; }

/* ---- focus bar above the editor ---- */
.nui-on .nk-cw-focusbar {
    flex: 0 0 auto; display: flex; align-items: center; gap: 8px; min-width: 0;
    padding: 6px 9px; border-bottom: 1px solid var(--aa-grey-100, #EEF1F2); background: var(--aa-white, #fff);
    font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}
.nui-on .nk-cw-focusbar + .h100 { height: auto; flex: 1 1 auto; min-height: 0; }
.nui-on .nk-cw-fb-btn {
    display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; height: 30px; padding: 0 10px;
    border: 1px solid var(--aa-grey-300, #C5CDD0); border-radius: 8px; background: var(--aa-white, #fff);
    color: var(--aa-grey-700, #4A5358); font: 600 12px/1 inherit; font-family: inherit; cursor: pointer;
}
.nui-on .nk-cw-fb-btn:hover:not([disabled]) { border-color: var(--aa-blue, #0074C5); color: var(--aa-blue, #0074C5); }
.nui-on .nk-cw-fb-btn[disabled] { background: var(--aa-grey-100, #EEF1F2); color: var(--aa-grey-500, #7B8E92); cursor: default; }
.nui-on .nk-cw-fb-path { min-width: 0; font-size: 12px; font-weight: 600; color: var(--aa-grey-700, #4A5358); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nui-on .nk-cw-fb-pos { flex: 0 0 auto; font-size: 11.5px; color: var(--aa-grey-500, #7B8E92); white-space: nowrap; }
.nui-on .nk-cw-fb-spacer { flex: 1 1 auto; }
@media (max-width: 1100px) { .nui-on .nk-cw-fb-btn > span { display: none; } }
@media (prefers-reduced-motion: reduce) { .nui-on .nk-cw-divider::after { transition: none; } }
/* focus mode: the coursework list collapses fully (the classroom's broad
   .animation_hide-sidebar.page-sidebar-hidden 64px rail rule is for the course-content rail) */
.nui-on #tree-view-list-container > #tree-view-list.page-sidebar-hidden {
    width: 0 !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important;
}

/* ---- Browse Coursework / Teacher Resources modal (import.nui.html) ---- */
.nui-on .nui-bcw .modal-content { border: 0; border-radius: 14px; box-shadow: 0 18px 48px rgba(34, 40, 49, .18); font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; overflow: hidden; background: var(--aa-white, #fff); }
.nui-on .nui-bcw .modal-header { align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--aa-grey-100, #EEF1F2); background: var(--aa-white, #fff); }
.nui-on .nui-bcw .modal-header .modal-title { font-size: 16px; font-weight: 700; color: var(--aa-ink, #222831); margin: 0; line-height: 1.3; }
.nui-on .nui-bcw .nui-bcw-sub { font-size: 12px; color: var(--aa-grey-500, #7A868C); margin-top: 2px; }
.nui-on .nui-bcw .nui-bcw-tabs { display: inline-flex; gap: 2px; padding: 3px; border-radius: 10px; background: var(--aa-grey-50, #F5F7F8); border: 1px solid var(--aa-grey-100, #EEF1F2); }
.nui-on .nui-bcw .nui-bcw-tab { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 14px; border: 0; border-radius: 8px; background: transparent; font-size: 12.5px; font-weight: 600; color: var(--aa-grey-700, #4A5358); }
.nui-on .nui-bcw .nui-bcw-tab:hover { color: var(--aa-blue, #0074C5); }
.nui-on .nui-bcw .nui-bcw-tab.is-active { background: var(--aa-white, #fff); color: var(--aa-blue, #0074C5); box-shadow: 0 1px 3px rgba(34, 40, 49, .12); }
.nui-on .nui-bcw .nui-bcw-tab .fa-info-circle { color: var(--aa-grey-300, #C5CDD0); font-size: 11px; }
.nui-on .nui-bcw .nui-bcw-close-wrap { display: flex; justify-content: flex-end; }
.nui-on .nui-bcw .nui-bcw-close { width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: var(--aa-grey-500, #7A868C); }
.nui-on .nui-bcw .nui-bcw-close:hover { background: var(--aa-grey-50, #F5F7F8); color: var(--aa-ink, #222831); }
.nui-on .nui-bcw .modal-body.browse-coursework { background: var(--aa-white, #fff); }
.nui-on .nui-bcw .nui-bcw-back { padding: 2px 0 10px 4px; }
.nui-on .nui-bcw .nui-bcw-back .nk-link { border: 0; background: none; padding: 0; font-size: 12.5px; font-weight: 600; }
.nui-on .nui-bcw .nui-bcw-empty { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px dashed var(--aa-grey-300, #C5CDD0); border-radius: 12px; background: var(--aa-grey-50, #F5F7F8); color: var(--aa-grey-500, #7A868C); font-size: 12.5px; text-align: center; }
.nui-on .nui-bcw .nui-bcw-empty > i { font-size: 22px; color: var(--aa-teal, #00AEC4); margin-bottom: 6px; }
.nui-on .nui-bcw .nui-bcw-empty-title { font-size: 14px; font-weight: 700; color: var(--aa-ink, #222831); }

/* picker tree rows (both renderers) */
.nui-on .nui-bcw .tree-branch-hollow { display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 2px 6px; border-radius: 8px; }
.nui-on .nui-bcw .tree-branch-hollow:hover { background: var(--aa-grey-50, #F5F7F8); }
.nui-on .nui-bcw .tree-branch-title { flex: 1 1 auto; min-width: 0; font-size: 13px; color: var(--aa-ink, #222831); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nui-on .nui-bcw .tree-branch-title:hover { color: var(--aa-blue, #0074C5); }
.nui-on .nui-bcw .tree-branch-actions-group { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.nui-on .nui-bcw .tree-branch-actions-group .btn-circle { width: 28px !important; height: 28px !important; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--aa-grey-100, #EEF1F2) !important; border-radius: 8px !important; background: var(--aa-white, #fff) !important; color: var(--aa-grey-500, #7A868C) !important; font-size: 12px; box-shadow: none !important; overflow: visible; }
.nui-on .nui-bcw .tree-branch-actions-group .btn-circle:hover { border-color: var(--aa-blue, #0074C5) !important; color: var(--aa-blue, #0074C5) !important; }
.nui-on .nui-bcw .tree-branch-actions-group .btn-circle .is-text-success { color: inherit !important; }
.nui-on .nui-bcw .tree-branch-actions-group .btn-circle:has(.is-text-success) { background: #E6F1FA !important; border-color: var(--aa-blue, #0074C5) !important; color: var(--aa-blue, #0074C5) !important; position: relative; }
.nui-on .nui-bcw .tree-branch-actions-group .btn-circle:has(.is-text-success)::after { content: "\f00c" !important; display: block !important; font-family: "Font Awesome 5 Free" !important; font-weight: 900; position: absolute; top: -5px; right: -5px; left: auto; bottom: auto; width: 14px !important; height: 14px !important; border-radius: 50%; background: var(--aa-blue, #0074C5) !important; color: #fff; font-size: 8px; line-height: 14px; text-align: center; opacity: 1 !important; transform: none !important; }
.nui-on .nui-bcw .tree-branch-actions-group .btn-circle:has(.disabledLink) { opacity: .45; cursor: not-allowed; }
.nui-on .nui-bcw .tree-branch:has(> .tree-branch-hollow .btn-circle .is-text-success) > .tree-branch-hollow { background: #F2F8FD; }
.nui-on .nui-bcw .wh-card-header.brand-bg-primary { background: var(--aa-grey-50, #F5F7F8) !important; border: 1px solid var(--aa-grey-100, #EEF1F2); border-radius: 8px; margin-bottom: 4px; }
.nui-on .nui-bcw .wh-card-header .wh-card-title { color: var(--aa-ink, #222831); font-size: 12.5px; font-weight: 700; margin: 0; }

/* footer */
.nui-on .nui-bcw .modal-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 18px; border-top: 1px solid var(--aa-grey-100, #EEF1F2); background: var(--aa-white, #fff); }
.nui-on .nui-bcw .nui-bcw-count { margin-right: auto; font-size: 12.5px; color: var(--aa-grey-500, #7A868C); }
.nui-on .nui-bcw .nui-bcw-count.has-sel { color: var(--aa-blue, #0074C5); font-weight: 600; }
.nui-on .nui-bcw .modal-footer .btn { height: 34px; padding: 0 14px; border-radius: 8px; font-size: 13px; font-weight: 600; margin: 0; }
.nui-on .nui-bcw .modal-footer .btn-default { background: var(--aa-white, #fff); border: 1px solid var(--aa-grey-300, #C5CDD0); color: var(--aa-grey-700, #4A5358); }
.nui-on .nui-bcw .modal-footer .btn-primary { background: var(--aa-blue, #0074C5); border-color: var(--aa-blue, #0074C5); color: #fff; }
.nui-on .nui-bcw .modal-footer .btn-primary[disabled] { opacity: .45; }
.nui-on .nui-bcw .angular-ui-tree-empty { min-height: 160px; margin: 12px; border: 1px dashed var(--aa-grey-300, #C5CDD0); border-radius: 12px; background: var(--aa-grey-50, #F5F7F8); }
.nui-on .nui-bcw .angular-ui-tree-empty::after { display: none !important; }
.nui-on .nui-bcw .angular-ui-tree-empty::before { content: "No coursework in this course yet" !important; top: 50% !important; left: 24px; transform: translateY(-50%); color: var(--aa-grey-500, #7A868C) !important; font-size: 13px !important; font-weight: 600 !important; text-shadow: none !important; font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; }
.nui-on .nui-bcw .nui-bcw-empty { min-height: 240px; }
