/* New UI section sheet: roster. Every selector under .nui-on. Shared pieces belong in new-ui-kit.css, not here. */

/* ---- PLP Edit (page, modal and plp-edit-content share plp-edit.nui.html) ---- */
.nui-on .nkp-form { height: 100%; min-height: 0; }
.nui-on .nk-modal .modal-body { padding: 0; height: calc(100vh - 150px); }
.nui-on .nkp-main { gap: 14px; }
.nui-on .nkp-section-title { padding: 14px 16px 8px; font-size: 13px; font-weight: 700; color: var(--nk-ink); }
.nui-on .nkp-main .nk-table-wrap { padding: 0 8px; }
.nui-on .nkp-main .nk-table td { vertical-align: middle; padding: 6px 8px; }
.nui-on .nkp-main .nk-table th { padding: 6px 8px; }
.nui-on .nkp-add { margin: 8px 16px 14px; }
.nui-on .nkp-remove:hover { color: var(--nk-danger, #C0392B); border-color: var(--nk-danger, #C0392B); }

/* ---- Email Templates: page-level empty state when the client has no terms/templates ---- */
.nui-on .nkg-email-none { margin: 16px; }

/* ---- Goals grids: sticky name column + month bands stay aligned ----
   The Goals controller scrolls to the current month with `table.offsetLeft - 222`, so the
   name column is exactly 222px wide and .nkg-scroll is the offsetParent (otherwise the
   current month's band and first columns end up under the sticky column). */
.nui-on .nkg-scroll { position: relative; }
.nui-on .nkg-grid-fixed { table-layout: fixed; width: 222px; min-width: 222px; max-width: 222px; }
.nui-on .nkg-grid-fixed td.nkg-name { position: relative; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nui-on .nkg-grid-fixed .invisible { position: absolute; left: 0; top: 0; margin: 0; }
.nui-on .nkg-grid-fixed th,
.nui-on .nkg-grid-fixed td,
.nui-on .nkg-grid:not(.nkg-grid-fixed) th,
.nui-on .nkg-grid:not(.nkg-grid-fixed) td { height: 44px; line-height: 20px; }
.nui-on .nkg-grid .nkg-month th { position: relative; }
.nui-on .nkg-grid .nkg-month .nk-btn { float: none; position: absolute; right: 10px; top: 7px; }
.nui-on .nkg-grid .nkg-month th[colspan] { padding-right: 120px; }
