/* Reference catalogue tree — the same look as the Normar4Office studies tree. */
.ref-tree-toolbar { margin: .5rem 0 1rem; }
.ref-tree { height: calc(100vh - 230px); min-height: 320px; }
.ref-icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 30px; height: 28px; padding: 2px 6px;
    border: 2px solid var(--bs-border-color, #dee2e6); border-radius: .375rem;
    background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529);
    font-size: .85rem; line-height: 1; cursor: pointer;
}
.ref-icon-btn:hover:not(:disabled) { border-color: var(--bs-primary); color: var(--bs-primary); }
.ref-icon-btn:disabled { opacity: .5; cursor: default; }
.ref-tree-actions { display: flex; gap: 4px; justify-content: center; }
.ref-tree-group { display: inline-flex; align-items: center; gap: 0; font-weight: 700; }
.ref-tree-inactive { opacity: .55; }
.ref-tree-current { font-weight: 700; }
.ref-ico { width: 16px; height: 16px; flex: none; vertical-align: -3px; margin-right: 6px; }
.ref-detail { padding: .25rem 0 .5rem; }
.ref-detail table { margin-bottom: .25rem; }
.ref-drag-anchor-off .dxbl-treelist-drag-anchor { visibility: hidden; }
/* Toolbar / context-menu command icons as currentColor masks (Bootstrap Icons paths). */
.ref-cmd-ico { display: inline-block; width: 16px; height: 16px; flex: none; background-color: currentColor;
    -webkit-mask: var(--ref-ico) center / contain no-repeat; mask: var(--ref-ico) center / contain no-repeat; }
.ref-ico-cut { --ref-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 3.5c-.614-.884-.074-1.962.858-2.5L8 7.226 11.642 1c.932.538 1.472 1.616.858 2.5L8.81 8.61l1.556 2.661a2.5 2.5 0 1 1-.794.637L8 9.73l-1.572 2.177a2.5 2.5 0 1 1-.794-.637L7.19 8.61 3.5 3.5zm2.5 10a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm7 0a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z'/%3E%3C/svg%3E"); }
.ref-ico-copy { --ref-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 0H6a2 2 0 0 0-2 2 2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2 2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm0 13V4a2 2 0 0 0-2-2H5a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1zM3 4a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4z'/%3E%3C/svg%3E"); }
.ref-ico-paste { --ref-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z'/%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z'/%3E%3Cpath d='M5.5 6a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5zm0 2.5A.5.5 0 0 1 6 8h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5zm0 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E"); }
.ref-ico-delete { --ref-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z'/%3E%3Cpath d='M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3h11V2h-11v1z'/%3E%3C/svg%3E"); }
.ref-ico-columns { --ref-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5H5V1H1.5zM10 15V1H6v14h4zm1 0h3.5a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5H11v14z'/%3E%3C/svg%3E"); }

/* Normar study picker + section check (spec 2026-09-20) */
.ref-flag { color: #b8901b; margin-left: .3rem; }
.section-check-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: .5rem; }
.section-check-head { font-weight: 600; margin-bottom: .25rem; }
.section-check ol { padding-left: 1.4rem; margin: 0; }
.section-check-ok::marker { color: #1e7a37; }
.section-check-ok { color: #1e7a37; }
.section-check-bad { color: #b42318; font-weight: 600; }
