/* ==========================================================================
   New UI: assessment editor (subtabs/assessments/edit.nui.html) leftovers.
   Built on new-ui-kit.css (nk-*); only page-specific rules live here.
   ========================================================================== */

/* host: edit.nui.html sits in .main-container (padded 18px top/bottom) */
.nui-on .main-container > .nk-assess-editor { min-height: 0; height: calc(100vh - 48px - 36px); }

/* ---- head: title block ---------------------------------------------------- */
.nui-on .nk-assess-head { flex-wrap: wrap; row-gap: 8px; }
.nui-on .nk-assess-title { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 0 1 auto; }
.nui-on .nk-assess-name { font-size: 16px; font-weight: 700; color: var(--nk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 42vw; }
.nui-on .nk-assess-title .nk-id { color: var(--nk-muted); }
.nui-on .nk-assess-head .nk-btn-icon.is-locked { color: var(--nk-bad); border-color: rgba(198, 40, 40, .35); }
.nui-on .nk-assess-head .nk-btn-icon.is-active { background: var(--nk-blue-soft); color: var(--nk-blue); border-color: transparent; }
.nui-on .nk-add-menu .dropdown-menu { min-width: 260px; }
.nui-on .nk-add-types { max-height: 60vh; overflow: auto; }

/* ---- profile rail: Quick builder switch sits in the rail head ------------- */
.nui-on .nk-assess-side .nk-side-head { display: flex; align-items: center; gap: 8px; }
.nui-on .nk-assess-side .nk-side-head > div { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; }
.nui-on .nk-assess-side .nk-side-head .fw600 { font-weight: 600; color: var(--nk-text); margin: 0 !important; }
.nui-on .nk-assess-side.is-collapsed .nk-side-head > div { display: none; }
.nui-on .nk-assess-side .sidebar-form label { font-size: 12px; font-weight: 600; color: var(--nk-text); margin-bottom: 6px; }

/* ---- main: classic panel bodies flow inside the scrolling nk-main --------- */
.nui-on .nk-assess-main > .panel-body { padding: 0; height: auto; overflow: visible; }
.nui-on .nk-assess-main .panel.panel-default { border: 1px solid var(--nk-line); border-radius: var(--nk-radius); box-shadow: none; background: var(--nk-white); overflow: hidden; }
.nui-on .nk-assess-main .panel.panel-default > .panel-heading { background: transparent; border-bottom: 0; padding: 12px 16px; font-weight: 700; }

/* ---- item list: one-line summary rows, open item becomes the card --------- */
.nui-on .nk-assess-main .items-list > ol { padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.nui-on .nk-assess-main .items-list > ol > li { background: var(--nk-white); border: 1px solid var(--nk-line); border-radius: 12px; padding: 0; margin: 0; }
.nui-on .nk-assess-main .items-list > ol > li:hover { border-color: var(--nk-border); }
.nui-on .nk-assess-main .items-list > ol > li > dl { margin: 0; }
.nui-on .nk-assess-main .items-list > ol > li > dl > dt { align-items: center; padding: 10px 14px; font-weight: 400; }
.nui-on .nk-assess-main .items-list .this-name { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 11.5px; color: var(--nk-muted); }
.nui-on .nk-assess-main .items-list .this-name strong { font-weight: 600; color: var(--nk-text); }
.nui-on .nk-assess-main .items-list .item-counter { font-weight: 700; color: var(--nk-ink); }
.nui-on .nk-item-stem { display: block; font-size: 13.5px; color: var(--nk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.nui-on .nk-assess-main .items-list .tree-handle { color: var(--nk-muted); width: 16px; }
.nui-on .nk-assess-main .items-list .tree-handle .fa-angle-right::before { content: "\f054"; font-size: 11px; }
.nui-on .nk-assess-main .items-list .tree-handle .fa-angle-down::before { content: "\f078"; font-size: 11px; }
.nui-on .nk-assess-main .items-list > ol > li > dl > dd { padding: 4px 16px 16px; border-top: 1px solid var(--nk-line); }
.nui-on .nk-assess-main .items-list > ol > li.scoring-disabled { opacity: 1; background: var(--nk-bg); }

/* ---- Quick Builder (quick-assessment.nui.html with nk-editor) ------------
   The component element is the scroller (#eLearning-sticky-editor-modules):
   selectInteraction() scrolls it to a newly added card. */
.nui-on .nk-assess-quick { overflow: hidden; padding-right: 0; }
.nui-on .nk-assess-quick > quick-assessment { flex: 1 1 auto; min-height: 0; height: auto !important; overflow: auto !important; padding: 0 6px 24px 0 !important; }

/* cards */
.nui-on .nk-assess-quick .q-item { margin: 0; }
.nui-on .nk-assess-quick .q-item > div > .wh-shadow { background: var(--nk-white); border: 1px solid var(--nk-line) !important; border-radius: 12px; box-shadow: none; overflow: hidden; transition: border-color .15s ease, box-shadow .15s ease; }
.nui-on .nk-assess-quick .q-item > div > .wh-shadow:hover { border-color: var(--nk-border) !important; }
.nui-on .nk-assess-quick .q-item > div > .wh-shadow:has(> .nk-qhead.is-open) { border-color: var(--nk-blue) !important; box-shadow: 0 0 0 3px rgba(0, 116, 197, .08); }
.nui-on .nk-qhead { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 14px; cursor: pointer; min-width: 0; }
.nui-on .nk-qnum { flex: 0 0 26px; height: 26px; border-radius: 50%; background: var(--nk-blue-soft); color: var(--nk-blue); font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.nui-on .nk-qsummary { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nui-on .nk-qmeta { font-size: 11.5px; color: var(--nk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nui-on .nk-qhead.is-open .nk-qmeta { font-size: 13px; }
.nui-on .nk-qtype { font-weight: 600; color: var(--nk-text); }
.nui-on .nk-qhead.is-open .nk-qtype { color: var(--nk-ink); }
.nui-on .nk-qnew { margin-left: 8px; padding: 1px 7px; border-radius: 9px; background: var(--nk-blue-soft); color: var(--nk-blue); font-size: 10.5px; font-weight: 700; }
.nui-on .nk-qstem { font-size: 13.5px; color: var(--nk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nui-on .nk-qpoints { flex: 0 0 auto; padding: 2px 9px; border: 1px solid var(--nk-line); border-radius: 11px; font-size: 11.5px; font-weight: 600; color: var(--nk-text); background: var(--nk-white); }
.nui-on .nk-qmenu .nk-btn-icon { width: 30px; height: 30px; border-color: transparent; background: transparent; }
.nui-on .nk-qmenu .nk-btn-icon:hover { border-color: var(--nk-border); }
.nui-on .nk-qmenu .dropdown-menu > li.disabled > a { color: var(--nk-muted); cursor: not-allowed; }
.nui-on .nk-qchev { flex: 0 0 auto; width: 14px; color: var(--nk-muted); font-size: 11px; text-align: center; }

/* settings row (points, partial credit, standards) - only while the card is open */
.nui-on .nk-qsettings { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 8px 14px 10px 52px; border-top: 1px solid var(--nk-line); background: var(--nk-bg); font-size: 12px; }
.nui-on .nk-qsettings > .mlauto { margin: 0 !important; padding: 0 !important; }
.nui-on .nk-qsettings .form-inline .form-group { display: inline-flex; align-items: center; gap: 6px; margin: 0 12px 0 0; }
.nui-on .nk-qsettings .control-label { font-size: 12px; font-weight: 600; color: var(--nk-text); margin: 0; }
.nui-on .nk-qsettings input[type=number].form-control { width: 64px; height: 30px; }
.nui-on .nk-qsettings better-standards { display: inline-block; min-width: 240px; }
.nui-on .nk-assess-quick .q-item [uib-collapse="i.collapse"] { min-height: 0 !important; }

/* insert line between cards */
.nui-on .nk-qinsert { position: relative; display: flex; justify-content: center; align-items: center; height: 14px; margin: 1px 0; }
.nui-on .nk-qinsert::before { content: ""; position: absolute; left: 14px; right: 14px; top: 50%; border-top: 1px dashed var(--nk-blue); opacity: 0; transition: opacity .15s ease; }
.nui-on .nk-qinsert-btn { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 12px; border: 1px solid var(--nk-blue); border-radius: 12px; background: var(--nk-white); color: var(--nk-blue); font: 600 12px var(--nk-font, "Montserrat", sans-serif); opacity: 0; transform: scale(.96); transition: opacity .15s ease, transform .15s ease; }
.nui-on .nk-qinsert:hover::before, .nui-on .nk-qinsert:hover .nk-qinsert-btn, .nui-on .nk-qinsert.is-open::before, .nui-on .nk-qinsert.is-open .nk-qinsert-btn, .nui-on .nk-qinsert-btn:focus-visible { opacity: 1; transform: none; }
.nui-on .nk-qinsert.is-open { height: auto; flex-direction: column; gap: 8px; margin: 8px 0; }
.nui-on .nk-qinsert.is-open::before { top: 12px; }
.nui-on .nk-qinsert-btn[disabled] { display: none; }

/* type palette */
.nui-on .nk-qpalette-wrap { position: relative; z-index: 5; width: 100%; display: flex; justify-content: center; }
.nui-on .nk-qpalette { width: min(560px, 100%); background: var(--nk-white); border: 1px solid var(--nk-border); border-radius: 12px; box-shadow: 0 12px 32px rgba(34, 40, 49, .12); padding: 10px; animation: nk-rise .2s cubic-bezier(.2, .7, .3, 1) backwards; }
.nui-on .nk-qpalette-search { display: flex; align-items: center; gap: 8px; position: relative; margin-bottom: 10px; }
.nui-on .nk-qpalette-search > .fa-search { position: absolute; left: 11px; color: var(--nk-muted); font-size: 12px; }
.nui-on .nk-qpalette-search .form-control { padding-left: 30px; }
.nui-on .nk-qpalette-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 6px; max-height: 260px; overflow: auto; }
.nui-on .nk-qtile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 68px; padding: 8px 6px; border: 1px solid var(--nk-line); border-radius: 8px; background: var(--nk-white); color: var(--nk-text); font: 600 12px/1.25 var(--nk-font, "Montserrat", sans-serif); text-align: center; cursor: pointer; }
.nui-on .nk-qtile > i { font-size: 17px; color: var(--nk-blue); }
.nui-on .nk-qtile:hover, .nui-on .nk-qtile:focus-visible { border-color: var(--nk-blue); background: var(--nk-blue-soft); color: var(--nk-blue); outline: 0; }
.nui-on .nk-qpalette-none { grid-column: 1 / -1; margin: 8px 0; font-size: 12.5px; color: var(--nk-muted); text-align: center; }
.nui-on .nk-qpalette-foot { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--nk-line); }
.nui-on .nk-qpalette-foot .nk-link { border: 0; background: transparent; padding: 0; font-size: 12.5px; }
.nui-on .nk-qpalette-foot .nk-link > i { margin-right: 4px; }

/* end composer (and empty state) */
.nui-on .nk-qcomposer { margin-top: 10px; padding: 12px 14px; border: 1px dashed var(--nk-border); border-radius: 12px; background: transparent; display: flex; flex-direction: column; gap: 10px; }
.nui-on .nk-qcomposer.is-open { border-color: var(--nk-blue); }
.nui-on .nk-qcomposer-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nui-on .nk-qcomposer-label { margin-right: 4px; font-size: 13px; font-weight: 600; color: var(--nk-text); }
.nui-on .nk-qcomposer-label > i { color: var(--nk-blue); margin-right: 4px; }
.nui-on .nk-qcomposer.is-empty { align-items: center; padding: 36px 16px; text-align: center; }
.nui-on .nk-qcomposer.is-empty .nk-qcomposer-row { justify-content: center; }
.nui-on .nk-qcomposer.is-empty .nk-head-spacer { display: none; }
.nui-on .nk-qcomposer-empty { display: flex; flex-direction: column; gap: 4px; }
.nui-on .nk-qcomposer-empty strong { font-size: 15px; color: var(--nk-ink); }
.nui-on .nk-qcomposer-empty span { font-size: 13px; color: var(--nk-muted); }

/* list toolbar: count, expand/collapse, Rows / Cards */
.nui-on .nk-qtoolbar { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; }
.nui-on .nk-qcount { font-size: 12px; font-weight: 600; color: var(--nk-muted); }
.nui-on .nk-qtoolbar .nk-btn-sm { width: 30px; padding: 0; color: var(--nk-muted); }

/* open card body: compact editor (kit nk-interaction removes the centred column) */
.nui-on .nk-qbody { padding: 10px 16px 6px 52px; }
.nui-on .nk-qbody > span > span > .row,
.nui-on .nk-qbody .p9 { padding: 0 !important; }
.nui-on .nk-qbody .fr-box.fr-basic .fr-element { font-size: 14px; line-height: 1.45; min-height: 38px !important; padding: 8px 12px !important; }
.nui-on .nk-qbody .fr-box.fr-basic:focus-within .fr-element { min-height: 90px !important; }
.nui-on .nk-qbody .item-response { margin-bottom: 6px; }
.nui-on .nk-qbody .hr-dashed { margin: 12px 0; }
.nui-on .nk-qbody .mb18 { margin-bottom: 10px !important; }
.nui-on .nk-qbody .mt18 { margin-top: 8px !important; }
/* passage: one quiet line + buttons instead of a large centred block */
.nui-on .nk-qbody passage-picker > div > .pv18 { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 6px 0 !important; }
.nui-on .nk-qbody passage-picker p.text-xlarge { margin: 0; font-size: 12.5px !important; text-align: left !important; }
.nui-on .nk-qbody passage-picker .d-flex.f-justify-center { margin: 0 !important; }
.nui-on .nk-qbody passage-picker .btn { height: 30px; padding: 0 10px; font-size: 12px; }
/* default feedback: quiet section, side by side editors */
.nui-on .nk-qbody .ph9.pt9.pb18 { padding: 6px 0 8px !important; }
.nui-on .nk-qbody .pv18.row { padding: 8px 0 !important; margin: 0; }
.nui-on .nk-qbody .col-xs-6.text-center { text-align: left !important; }

@media (max-width: 1440px) {
    .nui-on .nk-qbody { padding: 8px 12px 4px 16px; }
    .nui-on .nk-qsettings { padding-left: 16px; }
    .nui-on .nk-qbody .fr-box.fr-basic .fr-element { font-size: 13px; }
}

/* Cards view: closed items tile in a grid; the open item spans the full row */
.nui-on .nk-qgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; align-items: start; }
.nui-on .nk-qgrid .q-item { margin: 0; min-width: 0; }
.nui-on .nk-qgrid .q-item:has(.nk-qhead.is-open) { grid-column: 1 / -1; }
.nui-on .nk-qgrid .nk-qinsert { display: none; }
.nui-on .nk-qgrid .nk-qhead:not(.is-open) { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto auto; grid-template-areas: "num meta points menu" "stem stem stem stem"; align-items: center; gap: 8px 10px; min-height: 118px; align-content: start; padding: 12px; }
.nui-on .nk-qgrid .nk-qhead:not(.is-open) .nk-qnum { grid-area: num; }
.nui-on .nk-qgrid .nk-qhead:not(.is-open) .nk-qsummary { display: contents; }
.nui-on .nk-qgrid .nk-qhead:not(.is-open) .nk-qmeta { grid-area: meta; }
.nui-on .nk-qgrid .nk-qhead:not(.is-open) .nk-qstem { grid-area: stem; white-space: normal; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 13px; line-height: 1.4; }
.nui-on .nk-qgrid .nk-qhead:not(.is-open) .nk-qpoints { grid-area: points; }
.nui-on .nk-qgrid .nk-qhead:not(.is-open) .nk-qmenu { grid-area: menu; }
.nui-on .nk-qgrid .nk-qhead:not(.is-open) .nk-qchev { display: none; }

@media (prefers-reduced-motion: reduce) {
    .nui-on .nk-qpalette { animation: none; }
    .nui-on .nk-qinsert::before, .nui-on .nk-qinsert-btn, .nui-on .nk-assess-quick .q-item > div > .wh-shadow { transition: none; }
}

/* ---- external: answer key + PDF split ------------------------------------- */
.nui-on .nk-assess-external > .panel-body { padding: 0 !important; }
.nui-on .nk-assess-external .row.h100 { margin: 0; }

/* ---- test score entry: the classic settings panel reads as one kit section */
.nui-on .nk-assess-main .panel.panel-small { background: var(--nk-white); border: 1px solid var(--nk-line); border-radius: var(--nk-radius); box-shadow: none; overflow: hidden; }
.nui-on .nk-assess-main .panel.panel-small > .panel-heading { background: transparent; border: 0; padding: 14px 18px 4px; }
.nui-on .nk-assess-main .panel.panel-small > .panel-heading h5 { font-size: 15px; font-weight: 700; color: var(--nk-ink); margin: 0; }
.nui-on .nk-assess-main .panel.panel-small > .panel-body { padding: 8px 18px 18px; }
