:root{--nf-bg: #f6f8f7;--nf-surface: #ffffff;--nf-surface-muted: #f1f4f3;--nf-border: #e3e8e6;--nf-border-strong: #cfd6d3;--nf-text-main: #1f2a26;--nf-text-muted: #5b6b66;--nf-text-faint: #8a9994;--nf-primary: #2f8f6a;--nf-primary-strong: #246e51;--nf-primary-soft: #e6f3ec;--nf-accent: #3b6ea8;--nf-success: #2d8a5b;--nf-warning: #b67a18;--nf-danger: #b8453a;--nf-radius-sm: 6px;--nf-radius-md: 10px;--nf-radius-lg: 14px;--nf-shadow-sm: 0 1px 2px rgba(20, 30, 28, .04), 0 1px 1px rgba(20, 30, 28, .03);--nf-shadow-md: 0 4px 12px rgba(20, 30, 28, .06), 0 1px 2px rgba(20, 30, 28, .04);--nf-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--nf-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--nf-sidebar-w: 272px;--nf-topbar-h: 64px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--nf-bg);color:var(--nf-text-main);font-family:var(--nf-font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--nf-primary-strong);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}.nf-shell{display:grid;grid-template-columns:var(--nf-sidebar-w) 1fr;grid-template-rows:var(--nf-topbar-h) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100vh}.nf-sidebar{grid-area:sidebar;background:var(--nf-surface);border-right:1px solid var(--nf-border);display:flex;flex-direction:column;overflow-y:auto}.nf-sidebar__brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 20px 12px;border-bottom:1px solid var(--nf-border);min-height:var(--nf-topbar-h);text-decoration:none;color:inherit;transition:background-color .12s ease}.nf-sidebar__brand:hover{background:var(--nf-surface-muted);text-decoration:none}.nf-sidebar__brand:focus-visible{outline:2px solid var(--nf-primary);outline-offset:-2px}.nf-sidebar__brand-logo{display:block;width:156px;max-width:100%;height:auto}.nf-sidebar__brand-sub{font-size:11px;font-weight:600;color:var(--nf-text-muted);letter-spacing:.08em;text-transform:uppercase;padding-left:2px}.nf-sidebar__nav{padding:12px 8px 24px}.nf-sidebar__top-link{display:flex;align-items:center;gap:10px;margin:2px 4px 8px;padding:9px 12px;border-radius:var(--nf-radius-sm);color:var(--nf-text-main);font-size:14px;font-weight:600;text-decoration:none}.nf-sidebar__top-link:hover{background:var(--nf-surface-muted);text-decoration:none}.nf-sidebar__top-link--active,.nf-sidebar__top-link--active:hover{background:var(--nf-primary-soft);color:var(--nf-primary-strong)}.nf-sidebar__group{margin-bottom:4px}.nf-sidebar__group-header{display:flex;align-items:center;gap:6px;width:calc(100% - 8px);margin:2px 4px;padding:7px 10px;background:transparent;border:0;border-radius:var(--nf-radius-sm);text-align:left;color:var(--nf-text-muted);font:inherit}.nf-sidebar__group-header:hover{background:var(--nf-surface-muted);color:var(--nf-text-main)}.nf-sidebar__group-header--active{color:var(--nf-text-main)}.nf-sidebar__group-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:inherit}.nf-sidebar__chevron{width:14px;height:14px;flex-shrink:0;opacity:.7}.nf-sidebar__group-items{padding:2px 0 6px}.nf-sidebar__item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:1px 4px;border-radius:var(--nf-radius-sm);color:var(--nf-text-main);font-size:14px;text-decoration:none}.nf-sidebar__item:hover{background:var(--nf-surface-muted);text-decoration:none}.nf-sidebar__item--active{background:var(--nf-primary-soft);color:var(--nf-primary-strong);font-weight:600}.nf-sidebar__item--active:hover{background:var(--nf-primary-soft)}.nf-sidebar__icon{width:17px;height:17px;flex-shrink:0;opacity:.85}.nf-topbar{grid-area:topbar;background:var(--nf-surface);border-bottom:1px solid var(--nf-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.nf-topbar__left{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--nf-text-muted)}.nf-topbar__env{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--nf-surface-muted);border:1px solid var(--nf-border);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--nf-text-muted)}.nf-topbar__brand-link{font-size:14px;color:var(--nf-text-main);text-decoration:none;font-weight:500;border-radius:4px;padding:2px 4px}.nf-topbar__brand-link:hover,.nf-topbar__brand-link:focus-visible{color:var(--nf-accent, #2563eb);outline:none;background:var(--nf-surface-muted)}.nf-topbar__right{display:flex;align-items:center;gap:12px}.nf-topbar__user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.nf-topbar__user-name{font-weight:600;font-size:14px}.nf-topbar__user-email{font-size:12px;color:var(--nf-text-muted)}.nf-topbar__avatar{width:36px;height:36px;border-radius:50%;background:var(--nf-primary-soft);color:var(--nf-primary-strong);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.nf-topbar__signout{margin-left:4px;background:transparent;border:1px solid var(--nf-border);color:var(--nf-text-muted);padding:7px 12px;border-radius:var(--nf-radius-sm);font-size:13px}.nf-topbar__signout:hover{border-color:var(--nf-border-strong);color:var(--nf-text-main)}.nf-main{grid-area:main;padding:24px 28px 40px;overflow-y:auto;min-height:0}.nf-page-header{margin-bottom:18px}.nf-page-header__row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.nf-page-header__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nf-breadcrumb{font-size:13px;color:var(--nf-text-muted);margin-bottom:6px}.nf-breadcrumb__sep{margin:0 6px;color:var(--nf-text-faint)}.nf-breadcrumb__link,.nf-link{color:var(--nf-accent);text-decoration:none;font-weight:500}.nf-breadcrumb__link:hover,.nf-link:hover{text-decoration:underline}.nf-form-row--single{grid-template-columns:1fr!important}.nf-form-row textarea{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--nf-border);border-radius:6px;background:var(--nf-surface);color:var(--nf-text-main);resize:vertical}.nf-tabs{display:flex;gap:4px;border-bottom:1px solid var(--nf-border);margin-bottom:16px}.nf-tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 14px;color:var(--nf-text-muted);font:inherit;font-weight:600;cursor:pointer}.nf-tab:hover{color:var(--nf-text-main)}.nf-tab--active,.nf-tab--active:hover{color:var(--nf-primary-strong);border-bottom-color:var(--nf-primary-strong)}.nf-card__subtitle{margin:18px 0 8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--nf-text-muted)}.nf-tree{list-style:none;margin:4px 0;padding:0;font-size:13px;line-height:1.6;color:var(--nf-text-main)}.nf-tree__bullet{color:var(--nf-text-faint);margin-right:4px}.nf-tree__type{color:var(--nf-text-muted);font-size:12px}.nf-chip--warn{background:#fbf2e3;color:#8a5a13;border-color:transparent}.nf-chip--danger{background:#fdecea;color:#a4231b;border-color:transparent}.nf-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}.nf-card__head .nf-card__title{margin:0}.nf-modal--wide{max-width:880px;width:100%}.nf-modal--wide .nf-table input,.nf-modal--wide .nf-table select{width:100%;padding:6px 8px;border:1px solid var(--nf-border);border-radius:6px;background:var(--nf-surface);color:var(--nf-text-main);font:inherit}.nf-table--inline{margin-top:12px}.nf-table__row--static{cursor:default!important}.nf-table__row--static:hover{background:transparent!important}.nf-table__actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.nf-page-title{font-size:28px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px;color:var(--nf-text-main);line-height:1.2}.nf-page-subtitle{font-size:14px;color:var(--nf-text-muted);margin:0}.nf-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.nf-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--nf-surface-muted);border:1px solid var(--nf-border);color:var(--nf-text-muted);font-size:12px;font-weight:500;letter-spacing:.02em;white-space:nowrap}.nf-chip--accent{background:var(--nf-primary-soft);border-color:transparent;color:var(--nf-primary-strong)}.nf-card{background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);padding:18px;box-shadow:var(--nf-shadow-sm)}.nf-card+.nf-card{margin-top:14px}.nf-card__title{font-size:18px;font-weight:600;color:var(--nf-text-main);margin:0 0 10px}.nf-card__body{font-size:14px;color:var(--nf-text-muted);line-height:1.6}.nf-card__body p{margin:0 0 10px}.nf-card__body p:last-child{margin-bottom:0}.nf-note{background:var(--nf-primary-soft);border:1px solid transparent;border-left:3px solid var(--nf-primary);border-radius:var(--nf-radius-sm);padding:11px 14px;font-size:13.5px;line-height:1.55;color:var(--nf-primary-strong);margin:12px 0 0}.nf-note--neutral{background:var(--nf-surface-muted);border-left-color:var(--nf-border-strong);color:var(--nf-text-muted)}.nf-note--warn{background:#fff8e6;border-left-color:#d97706;color:#92400e}.nf-form__field{display:flex;flex-direction:column;gap:4px;margin:12px 0}.nf-form__label{font-size:13px;font-weight:600;color:var(--nf-text-muted)}.nf-form__field input[type=text],.nf-form__field input[type=number],.nf-form__field select,.nf-form__field textarea{padding:8px 10px;border:1px solid var(--nf-border-strong);border-radius:var(--nf-radius-sm);font:inherit;background:var(--nf-surface)}.nf-identity-card .nf-card__title{display:flex;align-items:center;gap:7px}.nf-identity-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.nf-identity-status-grid>div{min-width:0;padding:12px;border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);background:var(--nf-surface-muted)}.nf-identity-status-grid dt{color:var(--nf-text-faint);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.nf-identity-status-grid dd{margin:5px 0 0;color:var(--nf-text-main);font-size:13px;font-weight:600}.nf-identity-directory-id{overflow-wrap:anywhere;font-family:var(--nf-font-mono);font-size:12px!important}.nf-identity-actions{justify-content:flex-start}.nf-identity-steps{display:grid;gap:8px;margin:12px 0 0;padding-left:22px;color:var(--nf-text-muted);font-size:13px}.nf-user-signin-summary{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:110px;font-size:12.5px}.nf-auth-method-fieldset,.nf-auth-method-readonly,.nf-auth-method-note{grid-column:1 / -1}.nf-auth-method-fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;border:0}.nf-auth-method-fieldset legend{grid-column:1 / -1;margin-bottom:2px;color:var(--nf-text-muted);font-size:12.5px;font-weight:600}.nf-form-row .nf-auth-method-option{display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);background:var(--nf-surface);cursor:pointer}.nf-form-row .nf-auth-method-option:has(input:checked){border-color:var(--nf-primary);background:var(--nf-primary-soft)}.nf-form-row .nf-auth-method-option input{margin-top:2px;padding:0}.nf-auth-method-option span,.nf-auth-method-readonly{display:flex;flex-direction:column;gap:4px}.nf-auth-method-option small{color:var(--nf-text-muted);font-size:11.5px;font-weight:400;line-height:1.35}.nf-auth-method-readonly{padding:10px 12px;border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);background:var(--nf-surface-muted);color:var(--nf-text-main);font-size:12.5px}@media(max-width:900px){.nf-identity-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.nf-identity-status-grid,.nf-auth-method-fieldset{grid-template-columns:1fr}}.nf-form__input{padding:8px 10px;border:1px solid var(--nf-border-strong);border-radius:var(--nf-radius-sm);font:inherit;background:var(--nf-surface);width:100%;box-sizing:border-box}.nf-form__input:disabled{background:var(--nf-surface-muted, #f3f4f6);color:var(--nf-text-muted);cursor:not-allowed}.nf-form__hint{font-size:12px;color:var(--nf-text-muted)}.nf-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.nf-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.nf-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 12px;margin-top:4px}.nf-checkbox-grid__item{display:flex;align-items:center;gap:6px;font-size:13.5px}.nf-placeholder-tag{display:inline-block;padding:3px 10px;border-radius:var(--nf-radius-sm);background:var(--nf-surface-muted);border:1px dashed var(--nf-border-strong);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--nf-text-muted);margin-bottom:14px}.nf-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#eef4f1,#f6f8f7 60%);padding:24px}.nf-login__card{background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-lg);padding:36px 36px 30px;width:100%;max-width:440px;box-shadow:var(--nf-shadow-md)}.nf-login__brand{display:flex;justify-content:center;margin-bottom:24px}.nf-login__logo{width:210px;max-width:100%;height:auto;object-fit:contain}.nf-login__title{font-size:22px;font-weight:600;text-align:center;margin:0 0 6px}.nf-login__subtitle{font-size:14px;color:var(--nf-text-muted);text-align:center;margin:0 0 24px}.nf-login__field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.nf-login__field label{font-size:13px;font-weight:600;color:var(--nf-text-muted)}.nf-login__field input{font:inherit;font-size:15px;padding:12px 14px;border-radius:var(--nf-radius-sm);border:1px solid var(--nf-border-strong);background:var(--nf-surface);color:var(--nf-text-main)}.nf-login__field input:focus{outline:2px solid var(--nf-primary-soft);border-color:var(--nf-primary)}.nf-login__field--readonly input{background:var(--nf-surface-muted);color:var(--nf-text-muted)}.nf-login__error{margin:-4px 0 14px;padding:10px 12px;background:#fbecea;border:1px solid #f0c8c2;border-radius:var(--nf-radius-sm);color:var(--nf-danger);font-size:13px}.nf-login__sso{margin-bottom:20px}.nf-login__microsoft{display:inline-flex;align-items:center;justify-content:center;gap:10px}.nf-login__microsoft-mark{display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:2px}.nf-login__microsoft-mark span:nth-child(1){background:#f25022}.nf-login__microsoft-mark span:nth-child(2){background:#7fba00}.nf-login__microsoft-mark span:nth-child(3){background:#00a4ef}.nf-login__microsoft-mark span:nth-child(4){background:#ffb900}.nf-login__divider{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--nf-text-faint);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.nf-login__divider:before,.nf-login__divider:after{content:"";flex:1;height:1px;background:var(--nf-border)}.nf-login__divider span{white-space:nowrap}.nf-login__callback{text-align:center}.nf-login__callback .nf-login__error{margin:18px 0;text-align:left}.nf-login__callback .nf-btn{text-decoration:none}.nf-login__demo{margin-top:18px;padding:12px 14px;background:var(--nf-surface-muted);border:1px dashed var(--nf-border-strong);border-radius:var(--nf-radius-sm);font-size:13px}.nf-login__demo-title{font-weight:600;color:var(--nf-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em;font-size:12px}.nf-login__demo-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:2px}.nf-login__demo-label{color:var(--nf-text-faint)}.nf-login__demo code{font-family:var(--nf-font-mono);font-size:13px;color:var(--nf-text-main);background:var(--nf-surface);padding:2px 7px;border-radius:4px;border:1px solid var(--nf-border)}.nf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;min-height:32px;border-radius:var(--nf-radius-sm);border:1px solid transparent;background:var(--nf-primary);color:#fff;font-weight:600;font-size:13.5px;line-height:1.2;width:auto;cursor:pointer}.nf-btn:hover{background:var(--nf-primary-strong)}.nf-btn:disabled,.nf-btn:disabled:hover{opacity:.55;cursor:not-allowed}.nf-btn--primary{background:var(--nf-primary);color:#fff}.nf-btn--ghost{margin-top:0;background:transparent;color:var(--nf-primary-strong);border:1px solid var(--nf-border-strong)}.nf-btn--ghost:hover{background:var(--nf-primary-soft);color:var(--nf-primary-strong)}.nf-btn--danger{background:var(--nf-danger);color:#fff;border-color:transparent}.nf-btn--danger:hover{background:var(--nf-danger);filter:brightness(.92)}.nf-btn--block{width:100%;padding:12px 16px;font-size:15px;min-height:0}.nf-login__hint{margin-top:16px;font-size:12px;color:var(--nf-text-muted);text-align:center;line-height:1.5}.nf-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:18px 0 14px}.nf-toolbar--users{margin-bottom:12px}.nf-toolbar--sku{margin:10px 0 8px}.nf-toolbar__action{margin-left:auto;align-self:flex-end}.nf-search{position:relative;flex:1 1 280px;max-width:420px}.nf-search__icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);width:16px;height:16px;color:var(--nf-text-faint);pointer-events:none}.nf-search input{width:100%;font:inherit;font-size:14px;padding:9px 12px 9px 34px;border-radius:var(--nf-radius-sm);border:1px solid var(--nf-border-strong);background:var(--nf-surface);color:var(--nf-text-main)}.nf-toolbar__group{display:flex;flex-direction:column;gap:4px}.nf-toolbar__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nf-text-muted)}.nf-toolbar__group select,.nf-cell-select{font:inherit;font-size:13px;padding:8px 10px;border-radius:var(--nf-radius-sm);border:1px solid var(--nf-border-strong);background:var(--nf-surface);color:var(--nf-text-main);min-width:150px}.nf-cell-select{min-width:130px;padding:5px 8px;font-size:12.5px}.nf-btn--inline{width:auto;padding:5px 10px;font-size:12.5px;min-height:26px;gap:4px}.nf-btn--danger-soft{background:var(--nf-surface);color:var(--nf-danger);border:1px solid var(--nf-danger)}.nf-btn--danger-soft:hover{background:#fbecea}.nf-card--flush{padding:0;overflow:hidden}.nf-table{width:100%;border-collapse:collapse;font-size:14px}.nf-table thead th{text-align:left;padding:11px 14px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--nf-text-muted);background:var(--nf-surface-muted);border-bottom:1px solid var(--nf-border)}.nf-table tbody tr{border-bottom:1px solid var(--nf-border);cursor:pointer}.nf-table tbody tr:last-child{border-bottom:0}.nf-table tbody tr:hover{background:var(--nf-surface-muted)}.nf-table__row--selected,.nf-table__row--selected:hover{background:var(--nf-primary-soft)}.nf-table td{padding:12px 14px;vertical-align:top;color:var(--nf-text-main)}.nf-table__primary{font-weight:600}.nf-table__sub{font-size:12.5px;color:var(--nf-text-muted);margin-top:2px}.nf-table__empty{text-align:center;color:var(--nf-text-muted);padding:22px 14px;font-style:italic}.nf-code{font-family:var(--nf-font-mono);font-size:12px;color:var(--nf-text-muted);background:var(--nf-surface-muted);padding:2px 6px;border-radius:4px;border:1px solid var(--nf-border)}.nf-status{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.nf-status--success{background:#e6f3ec;color:#20654a;border-color:#cfe6da}.nf-status--info{background:#e7eef9;color:#2c537f;border-color:#d2dff0}.nf-status--warn{background:#fbeed5;color:#7a5210;border-color:#f1ddb6}.nf-status--danger{background:#fbecea;color:#8a3127;border-color:#f0c8c2}.nf-status--neutral{background:var(--nf-surface-muted);color:var(--nf-text-muted);border-color:var(--nf-border)}.nf-detail{margin-top:16px}.nf-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nf-detail__eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--nf-text-muted);margin-bottom:2px}.nf-detail__title{margin:0 0 8px}.nf-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.nf-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--nf-radius-sm);border:1px solid var(--nf-border);background:var(--nf-surface);color:var(--nf-text-muted)}.nf-icon-btn:hover{background:var(--nf-surface-muted);color:var(--nf-text-main)}.nf-defs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:16px 0 0}.nf-defs>div{display:flex;flex-direction:column;gap:2px}.nf-defs__wide{grid-column:1 / -1}.nf-defs dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nf-text-muted)}.nf-defs dd{margin:0;font-size:14px;color:var(--nf-text-main)}.nf-detail__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--nf-border)}.nf-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e1c73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.nf-modal{background:var(--nf-surface);border-radius:var(--nf-radius-lg);width:100%;max-width:560px;box-shadow:var(--nf-shadow-md);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.nf-modal__head,.nf-modal__foot{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--nf-border)}.nf-modal__foot{border-bottom:0;border-top:1px solid var(--nf-border);background:var(--nf-surface-muted);gap:8px;justify-content:flex-end;padding:10px 16px}.nf-modal__body{padding:18px 20px;overflow-y:auto;flex:1 1 auto;min-height:0}.nf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.nf-form-row label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--nf-text-muted)}.nf-form-row input,.nf-form-row select{font:inherit;font-weight:400;font-size:14px;color:var(--nf-text-main);padding:9px 12px;border-radius:var(--nf-radius-sm);border:1px solid var(--nf-border-strong);background:var(--nf-surface)}.nf-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:18px 0}.nf-module-card{display:flex;flex-direction:column;gap:10px}.nf-module-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.nf-module-card__title{margin:0 0 4px;font-size:17px}.nf-module-card__desc{margin:0;font-size:13.5px;line-height:1.55;color:var(--nf-text-muted)}.nf-module-card__meta{display:grid;grid-template-columns:auto auto 1fr;gap:16px;align-items:end;padding:10px 0;border-top:1px solid var(--nf-border);border-bottom:1px solid var(--nf-border)}.nf-module-card__num{font-size:22px;font-weight:600;color:var(--nf-text-main);line-height:1.1;margin-top:2px}.nf-module-card__den{font-size:13px;font-weight:500;color:var(--nf-text-muted)}.nf-module-card__tiers{font-size:12.5px;color:var(--nf-text-muted);margin-top:2px}.nf-module-card__caps{display:flex;flex-wrap:wrap;gap:6px}.nf-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.nf-package-card{display:flex;flex-direction:column;gap:10px}.nf-package-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.nf-package-card__title{margin:0;font-size:17px}.nf-package-card__count{font-size:24px;font-weight:600;color:var(--nf-primary-strong);line-height:1}.nf-package-card__desc{margin:0;font-size:13px;line-height:1.55;color:var(--nf-text-muted)}.nf-package-card__modules ul{margin:4px 0 0;padding-left:18px;font-size:13px;color:var(--nf-text-main);line-height:1.6}.nf-row-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.nf-empty{text-align:center;color:var(--nf-text-muted);padding:24px 12px;font-size:13px}.nf-bullet-list{margin:0;padding-left:18px;font-size:13px;color:var(--nf-text-main);line-height:1.6}.nf-meta{font-size:12px;color:var(--nf-text-muted);margin:8px 0 0}.nf-brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:12px}.nf-brand-asset{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--nf-border, #e3e6ec);border-radius:8px;background:#fff}.nf-brand-asset__label{font-size:12px;font-weight:600;color:var(--nf-text-muted);text-transform:uppercase;letter-spacing:.04em}.nf-brand-asset__preview{display:flex;align-items:center;justify-content:center;min-height:80px;padding:12px;background:#f7f8fa;border-radius:6px}.nf-brand-asset__preview img{max-width:100%;max-height:80px;height:auto}.nf-brand-asset__preview--icon img{max-height:56px;max-width:56px}.nf-brand-asset__path{font-size:11px;color:var(--nf-text-muted);word-break:break-all}.nf-filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.nf-filter-chips__trailing{margin-left:auto;display:flex;gap:8px;align-items:center}.nf-filter-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--nf-surface);border:1px solid var(--nf-border-strong);color:var(--nf-text-main);font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;line-height:1.2;transition:background .12s ease,border-color .12s ease,color .12s ease}.nf-filter-chip:hover{background:var(--nf-surface-muted);border-color:var(--nf-primary)}.nf-filter-chip:focus-visible{outline:2px solid var(--nf-primary);outline-offset:2px}.nf-filter-chip__label{white-space:nowrap}.nf-filter-chip__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 7px;border-radius:999px;background:var(--nf-surface-muted);font-size:12px;font-weight:600;color:var(--nf-text-muted)}.nf-filter-chip--active{background:var(--nf-primary);border-color:var(--nf-primary);color:#fff}.nf-filter-chip--active .nf-filter-chip__count{background:#ffffff38;color:#fff}.nf-filter-chip--warn .nf-filter-chip__count{background:#fff1d6;color:#92400e}.nf-filter-chip--warn.nf-filter-chip--active{background:#b45309;border-color:#b45309}.nf-filter-chip--danger .nf-filter-chip__count{background:#fee2e2;color:#b91c1c}.nf-filter-chip--danger.nf-filter-chip--active{background:#b91c1c;border-color:#b91c1c}.nf-filter-chip--success .nf-filter-chip__count{background:#dcfce7;color:#166534}.nf-filter-chip--info .nf-filter-chip__count{background:#dbeafe;color:#1d4ed8}.nf-filter-chip--link{cursor:pointer}.nf-link-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.nf-attn-panel__empty{margin:0;font-size:13.5px;color:var(--nf-text-muted);font-style:italic}.nf-attn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.nf-attn-row+.nf-attn-row{border-top:1px solid var(--nf-border)}.nf-attn-row__link,.nf-attn-row__static{display:flex;align-items:flex-start;gap:12px;padding:11px 4px;text-decoration:none;color:inherit}.nf-attn-row__link{border-radius:var(--nf-radius-sm);padding-left:8px;padding-right:8px;margin:0 -4px}.nf-attn-row__link:hover{background:var(--nf-surface-muted)}.nf-attn-row__link:focus-visible{outline:2px solid var(--nf-primary);outline-offset:2px}.nf-attn-row__bullet{width:8px;height:8px;margin-top:7px;border-radius:999px;background:var(--nf-border-strong);flex-shrink:0}.nf-attn-row__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.nf-attn-row__label{font-size:14px;font-weight:500;color:var(--nf-text-main)}.nf-attn-row__hint{font-size:12.5px;color:var(--nf-text-muted)}.nf-attn-row__count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;padding:0 9px;border-radius:999px;background:var(--nf-surface-muted);border:1px solid var(--nf-border);font-size:13px;font-weight:600;color:var(--nf-text-main);flex-shrink:0}.nf-attn-row--warn .nf-attn-row__bullet{background:#d97706}.nf-attn-row--warn .nf-attn-row__count{background:#fff1d6;border-color:#f5d499;color:#92400e}.nf-attn-row--danger .nf-attn-row__bullet{background:#dc2626}.nf-attn-row--danger .nf-attn-row__count{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.nf-attn-row--info .nf-attn-row__bullet{background:var(--nf-primary)}.nf-attn-row--info .nf-attn-row__count{background:#e0e7ff;border-color:#c7d2fe;color:#1d4ed8}.nf-attn-row--success .nf-attn-row__bullet{background:#16a34a}.nf-attn-panel__footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--nf-border);font-size:13.5px}.nf-dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}.nf-dash-kpi{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);box-shadow:var(--nf-shadow-sm);text-decoration:none;color:var(--nf-text-main);position:relative;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.nf-dash-kpi:hover{border-color:var(--nf-primary);box-shadow:var(--nf-shadow-md);transform:translateY(-1px)}.nf-dash-kpi:focus-visible{outline:2px solid var(--nf-primary);outline-offset:2px}.nf-dash-kpi__label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--nf-text-muted)}.nf-dash-kpi__value{font-size:28px;font-weight:600;line-height:1.1;color:var(--nf-text-main)}.nf-dash-kpi__hint{font-size:12.5px;color:var(--nf-text-muted)}.nf-dash-kpi__cta{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:12px;font-weight:600;color:var(--nf-primary);text-transform:uppercase;letter-spacing:.04em}.nf-dash-kpi--emphasis{border-color:var(--nf-primary)}.nf-dash-kpi--info{background:#f5f8ff;border-color:#c7d2fe}.nf-dash-kpi--warn{background:#fff8e6;border-color:#f5d499}.nf-dash-kpi--warn .nf-dash-kpi__value{color:#92400e}.nf-dash-kpi--danger{background:#fef2f2;border-color:#fca5a5}.nf-dash-kpi--danger .nf-dash-kpi__value{color:#b91c1c}.nf-dash-kpi--danger .nf-dash-kpi__cta,.nf-dash-kpi--warn .nf-dash-kpi__cta{color:inherit}.nf-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;margin-top:14px}.nf-quick-actions{list-style:none;margin:0;padding:0;display:grid;gap:6px}.nf-quick-action{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--nf-radius-sm);border:1px solid var(--nf-border);background:var(--nf-surface);text-decoration:none;color:var(--nf-text-main);transition:border-color .12s ease,background .12s ease}.nf-quick-action:hover{border-color:var(--nf-primary);background:var(--nf-surface-muted)}.nf-quick-action:focus-visible{outline:2px solid var(--nf-primary);outline-offset:2px}.nf-quick-action svg{margin-top:3px;flex-shrink:0;color:var(--nf-primary)}.nf-quick-action span{display:flex;flex-direction:column;gap:1px;min-width:0}.nf-quick-action strong{font-size:14px;font-weight:600;color:var(--nf-text-main)}.nf-quick-action em{font-size:12.5px;color:var(--nf-text-muted);font-style:normal}.nf-topbar__tenant{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--nf-primary-soft);color:var(--nf-primary-strong);border:1px solid var(--nf-border);font-size:12px;font-weight:600;margin-left:4px}.nf-chip--success{background:var(--nf-primary-soft);color:var(--nf-primary-strong)}.nf-list{margin:8px 0 0;padding-left:20px;color:var(--nf-text-main)}.nf-list li{margin:4px 0}.nf-upload__dropzone{border:2px dashed var(--nf-border-strong);border-radius:var(--nf-radius-md);padding:28px 20px;text-align:center;background:var(--nf-surface-muted)}.nf-upload__dropzone p{margin:4px 0}.nf-tree__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 6px;border-bottom:1px solid var(--nf-border-soft)}.nf-tree__row:last-child{border-bottom:0}.nf-tree__main{min-width:0}.nf-tree__actions{display:flex;gap:4px;flex-shrink:0}.nf-readiness{list-style:none;margin:0;padding:0}.nf-readiness__row{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--nf-text-muted);border-bottom:1px solid var(--nf-border-soft)}.nf-readiness__row:last-child{border-bottom:0}.nf-readiness__row--done{color:var(--nf-text-main)}.nf-readiness__row--done svg{color:var(--nf-accent, #2f9b6b)}.nf-route-flow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--nf-surface-muted);border:1px solid var(--nf-border-soft);border-radius:var(--nf-radius-md);padding:14px 16px;white-space:pre-wrap;line-height:1.55;color:var(--nf-text-main)}.nf-step-list{list-style:none;margin:0;padding:0}.nf-step-list__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--nf-radius-sm);background:var(--nf-surface-muted);margin:4px 0}.nf-step-list__item--locked{opacity:.55}.nf-step-list__item--failed{background:#fdecea}.nf-step-list__item--passed{background:#ecf7f0}.nf-state-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--nf-border-strong)}.nf-state-dot--passed{background:#2f9b6b}.nf-state-dot--failed{background:#c44a3c}.nf-state-dot--in-progress{background:#d39e00}.nf-state-dot--submitted{background:#3672c4}.nf-route-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;align-items:start}@media(max-width:1100px){.nf-route-grid{grid-template-columns:1fr}}.nf-stack{display:flex;flex-direction:column;gap:8px}.nf-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nf-spacer{flex:1}.nf-sidebar__section{margin:6px 0 10px}.nf-sidebar__section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--nf-text-faint);padding:8px 14px 4px}.nf-sidebar__section .nf-sidebar__top-link{margin:1px 4px 2px;padding:7px 12px;font-size:13.5px;font-weight:500}.nf-sidebar__section .nf-sidebar__top-link--active{font-weight:600}.nf-topbar__tenant-block{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--nf-radius-md);background:var(--nf-primary-soft);color:var(--nf-primary-strong);border:1px solid color-mix(in srgb,var(--nf-primary-strong) 18%,transparent)}.nf-topbar__tenant-icon{flex-shrink:0}.nf-topbar__tenant-text{display:flex;flex-direction:column;line-height:1.15}.nf-topbar__tenant-name{font-size:13px;font-weight:700;color:var(--nf-text-main)}.nf-topbar__tenant-meta{font-size:11px;color:var(--nf-text-muted);font-weight:500}.nf-ribbon{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.01em;border:1px solid transparent;white-space:nowrap}.nf-ribbon--success{background:var(--nf-primary-soft);color:var(--nf-primary-strong);border-color:color-mix(in srgb,var(--nf-primary-strong) 22%,transparent)}.nf-ribbon--info{background:#e8f0f9;color:#1f4a7a;border-color:#bcd1e8}.nf-ribbon--neutral{background:var(--nf-surface-muted);color:var(--nf-text-muted);border-color:var(--nf-border)}.nf-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.nf-tag--success{background:var(--nf-primary-soft);color:var(--nf-primary-strong);border-color:color-mix(in srgb,var(--nf-primary-strong) 22%,transparent)}.nf-tag--info{background:#e8f0f9;color:#1f4a7a;border-color:#bcd1e8}.nf-tag--neutral{background:var(--nf-surface-muted);color:var(--nf-text-muted);border-color:var(--nf-border)}.nf-modules{display:grid;grid-template-columns:1fr;gap:16px;margin:18px 0}@media(min-width:1100px){.nf-modules{grid-template-columns:repeat(2,minmax(0,1fr))}}.nf-module-card{display:flex;flex-direction:column;gap:12px;background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-lg);padding:18px 20px 24px;box-shadow:var(--nf-shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.nf-module-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #141e1c24;border-color:var(--nf-primary);background:linear-gradient(180deg,var(--nf-primary-soft) 0%,var(--nf-surface) 65%)}@media(prefers-reduced-motion:reduce){.nf-module-card{transition:box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.nf-module-card:hover{transform:none}}.nf-module-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nf-module-card__title{margin:0 0 2px;font-size:17px;font-weight:700;color:var(--nf-text-main)}.nf-module-card__tagline{margin:0;font-size:13px;color:var(--nf-text-muted);line-height:1.4}.nf-module-card__desc{margin:0;font-size:13px;line-height:1.55;color:var(--nf-text-muted)}.nf-module-card__features{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:4px}.nf-module-card__foot{margin-top:auto;padding-top:4px}.nf-feature-tile-link{display:block;border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);background:var(--nf-surface);padding:10px 12px;text-decoration:none;color:inherit;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.nf-feature-tile-link:hover{border-color:var(--nf-border-strong);text-decoration:none;box-shadow:var(--nf-shadow-sm)}.nf-feature-tile-link--static{cursor:default}.nf-feature-tile-link--static:hover{border-color:var(--nf-border);box-shadow:none}.nf-feature-tile{display:flex;flex-direction:column;gap:4px}.nf-feature-tile__head{display:flex;align-items:center;justify-content:space-between;gap:6px}.nf-feature-tile__name{font-size:12.5px;font-weight:600;color:var(--nf-text-main);line-height:1.25}.nf-feature-tile__value{font-size:18px;font-weight:700;color:var(--nf-text-main);line-height:1.15;margin-top:2px}.nf-feature-tile__hint{font-size:12px;color:var(--nf-text-muted);line-height:1.4}.nf-feature-tile__cta{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:11.5px;font-weight:600;color:var(--nf-primary-strong);text-transform:uppercase;letter-spacing:.04em}.nf-scaffold{display:flex;flex-direction:column;gap:14px;margin-top:4px}.nf-scaffold__head{display:flex;align-items:center}.nf-scaffold__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.nf-bullets{margin:0;padding-left:20px;color:var(--nf-text-main);line-height:1.6;font-size:13.5px}.nf-bullets li{margin-bottom:4px}.nf-tabs--catalog{flex-wrap:wrap;gap:2px 4px}.nf-tabs--catalog .nf-tab{padding:9px 12px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.nf-catalog-shell{display:flex;flex-direction:column;gap:16px}.nf-catalog-groupbar{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-md)}.nf-catalog-chips{display:flex;flex-wrap:wrap;gap:8px}.nf-catalog-chip{background:transparent;border:1px solid var(--nf-border);border-radius:999px;padding:6px 14px;font:inherit;font-size:13px;font-weight:500;color:var(--nf-text-main);cursor:pointer}.nf-catalog-chip:hover{background:var(--nf-surface-muted)}.nf-catalog-chip--active,.nf-catalog-chip--active:hover{background:var(--nf-primary-soft);border-color:var(--nf-primary-strong);color:var(--nf-primary-strong);font-weight:600}.nf-catalog-sections{display:flex;flex-direction:column;border-top:1px solid var(--nf-border);padding-top:12px}.nf-catalog-sections-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);padding:10px 14px;font:inherit;color:var(--nf-text-main);cursor:pointer}.nf-catalog-sections-summary:hover{border-color:var(--nf-primary-strong);background:var(--nf-surface-muted, #f5f5f4)}.nf-catalog-sections--open .nf-catalog-sections-summary{border-color:var(--nf-primary-strong);background:var(--nf-primary-soft)}.nf-catalog-sections-summary:focus-visible{outline:2px solid var(--nf-primary-strong);outline-offset:2px}.nf-catalog-sections-summary__head{display:flex;flex-direction:column;gap:3px;min-width:0}.nf-catalog-sections-summary__title{display:flex;align-items:center;gap:10px}.nf-catalog-sections-summary__eyebrow{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--nf-text-faint)}.nf-catalog-sections-summary__name{font-size:14px;font-weight:600}.nf-catalog-sections-summary__blurb{font-size:12px;color:var(--nf-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}.nf-catalog-sections-summary__hint{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--nf-text-faint)}.nf-catalog-sections-summary__cta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--nf-primary-strong);border:1px solid var(--nf-primary-strong);border-radius:var(--nf-radius-sm, 6px);padding:5px 10px;background:var(--nf-surface)}.nf-catalog-sections-summary:hover .nf-catalog-sections-summary__cta,.nf-catalog-sections--open .nf-catalog-sections-summary__cta{background:var(--nf-primary-strong);color:#fff}.nf-catalog-sections-summary__chevron{transition:transform .12s ease}.nf-catalog-sections--open .nf-catalog-sections-summary__chevron{transform:rotate(180deg)}.nf-catalog-section-picker{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px}.nf-catalog-section-btn{display:inline-flex;align-items:center;gap:8px;background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);padding:8px 12px;font:inherit;font-size:13px;font-weight:500;color:var(--nf-text-main);cursor:pointer}.nf-catalog-section-btn:hover{background:var(--nf-surface-muted);border-color:var(--nf-primary-strong)}.nf-catalog-section-btn--active,.nf-catalog-section-btn--active:hover{background:var(--nf-primary-soft);border-color:var(--nf-primary-strong);color:var(--nf-primary-strong);font-weight:600}.nf-catalog-section-btn__name{white-space:nowrap}.nf-catalog-section-btn__pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;font-size:11px;font-weight:600;line-height:1;color:var(--nf-text-faint);background:var(--nf-surface-muted);border:1px solid var(--nf-border);border-radius:999px}.nf-catalog-section-btn--active .nf-catalog-section-btn__pill{color:var(--nf-primary-strong);background:var(--nf-surface);border-color:var(--nf-primary-strong)}.nf-catalog-section-btn__pill--soon{text-transform:uppercase;letter-spacing:.04em;font-size:10px}.nf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nf-manage-section{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid var(--nf-border)}.nf-manage-section:first-child{padding-top:4px;border-top:0}.nf-manage-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.nf-manage-section__title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--nf-text-muted);margin:0}.nf-manage-section__hint{font-size:12px;color:var(--nf-text-muted);line-height:1.45}.nf-manage-section__hint strong{color:var(--nf-text-main)}.nf-form__grid--auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;min-width:0}.nf-form__grid--auto label,.nf-form__grid--auto .nf-form__field{min-width:0}.nf-form__grid--auto select,.nf-form__grid--auto input{width:100%;min-width:0;box-sizing:border-box}.nf-link-button{background:transparent;border:0;padding:0;font:inherit;font-size:12px;color:var(--nf-primary-strong);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.nf-link-button--danger{color:var(--nf-danger)}.nf-link-button:hover{text-decoration-thickness:2px}.nf-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:var(--nf-surface-muted);color:var(--nf-text-muted);font-size:11px;font-weight:700;line-height:1}.nf-tab--active .nf-tab__count{background:var(--nf-primary-soft);color:var(--nf-primary-strong)}.nf-card__subtle{margin:4px 0 0;font-size:13px;color:var(--nf-text-muted);line-height:1.5}.nf-import-group+.nf-import-group{margin-top:18px}.nf-import-group .nf-card__subtitle{margin-top:6px;margin-bottom:6px}.nf-btn--inline.nf-btn--danger{background:transparent;color:var(--nf-danger);border-color:var(--nf-danger)}.nf-btn--inline.nf-btn--danger:hover{background:#fbeaea;color:var(--nf-danger)}.nf-btn--inline:disabled,.nf-btn--inline:disabled:hover{opacity:.55;cursor:not-allowed;background:transparent}.nf-btn-text-danger{display:inline-flex;align-items:center;gap:6px;padding:6px 0;background:transparent;border:0;color:var(--nf-danger);font:inherit;font-size:13px;font-weight:600;cursor:pointer;opacity:.85}.nf-btn-text-danger:hover:not(:disabled){opacity:1;text-decoration:underline}.nf-btn-text-danger:disabled{color:var(--nf-text-faint);cursor:not-allowed;opacity:.6}.nf-btn-text-danger--inline{padding:6px 8px}.nf-locbuilder-page{display:flex;flex-direction:column}.nf-info-panel{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:18px 20px;margin:4px 0 14px;background:var(--nf-surface);border:1px solid var(--nf-border);border-left:4px solid var(--nf-primary);border-radius:var(--nf-radius-md);box-shadow:var(--nf-shadow-sm)}.nf-info-panel__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--nf-primary-soft);color:var(--nf-primary-strong)}.nf-info-panel__text{font-size:14px;line-height:1.6;color:var(--nf-text-main)}.nf-info-panel__text p{margin:0 0 8px}.nf-info-panel__text p:last-child{margin-bottom:0}.nf-banner{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--nf-radius-sm);font-size:13px;margin:0 0 12px;width:100%;box-sizing:border-box}.nf-banner--warn{background:#fff8e6;color:#92400e;border:1px solid #f3dca5}.nf-locbuilder{display:grid;grid-template-columns:240px 8px minmax(0,1fr) 8px 320px;gap:0;align-items:stretch;min-height:560px}.nf-locbuilder__splitter{position:relative;cursor:col-resize;background:transparent;-webkit-user-select:none;user-select:none;touch-action:none}.nf-locbuilder__splitter:before{content:"";position:absolute;top:8px;bottom:8px;left:50%;width:1px;background:var(--nf-border);transform:translate(-50%);border-radius:1px;transition:background-color .1s ease,width .1s ease}.nf-locbuilder__splitter:hover:before,.nf-locbuilder__splitter:active:before{background:var(--nf-primary);width:3px}@media(max-width:1180px){.nf-locbuilder{grid-template-columns:220px minmax(0,1fr)!important}.nf-locbuilder__splitter{display:none}.nf-locbuilder__inspector{grid-column:1 / -1}}.nf-locbuilder__palette{background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--nf-shadow-sm)}.nf-palette__head{border-bottom:1px solid var(--nf-border);padding-bottom:10px}.nf-palette__title{margin:0 0 4px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--nf-text-muted)}.nf-palette__hint{margin:0;font-size:12.5px;color:var(--nf-text-muted);line-height:1.5}.nf-palette__guide{display:flex;flex-direction:column;gap:10px;margin:12px 0}.nf-palette__guide-step{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:8px;margin:0;font-size:13px;line-height:1.4;color:var(--nf-text)}.nf-palette__guide-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--nf-primary-soft);color:var(--nf-primary);border:1px solid var(--nf-primary);font-size:12px;font-weight:700}.nf-palette__guide-cta{display:inline-block;white-space:nowrap;padding:1px 6px;border-radius:var(--nf-radius-sm);background:var(--nf-primary-soft);color:var(--nf-primary);border:1px solid var(--nf-primary);font-size:12px;font-weight:600}.nf-addeq{display:flex;flex-direction:column;gap:14px}.nf-addeq__filters{display:flex;gap:8px;align-items:center}.nf-addeq__search{position:relative;flex:1 1 auto}.nf-addeq__search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--nf-text-muted);pointer-events:none}.nf-addeq__search-input{padding-left:30px}.nf-addeq__type{flex:0 0 170px;max-width:170px}.nf-addeq__list{list-style:none;margin:0;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);padding:6px}.nf-addeq__empty{padding:18px 12px;text-align:center;font-size:13px;color:var(--nf-text-muted)}.nf-addeq__row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border:1px solid transparent;border-radius:var(--nf-radius-sm);background:var(--nf-surface);cursor:pointer;font:inherit}.nf-addeq__row:hover{background:var(--nf-surface-muted, #f6f7f9)}.nf-addeq__row--selected{border-color:var(--nf-primary);background:var(--nf-primary-soft)}.nf-addeq__row-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--nf-radius-sm);background:var(--nf-surface-muted, #eef0f3);color:var(--nf-text-muted);flex:0 0 auto}.nf-addeq__row--selected .nf-addeq__row-icon{background:var(--nf-surface);color:var(--nf-primary)}.nf-addeq__row-main{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.nf-addeq__row-name{font-size:13.5px;font-weight:600;color:var(--nf-text)}.nf-addeq__row-meta{font-size:12px;color:var(--nf-text-muted)}.nf-addeq__row-ref{font-size:11.5px;color:var(--nf-text-muted);font-style:italic}.nf-addeq__temp{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:11px;font-weight:600;color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:999px;padding:2px 8px}.nf-addeq__form{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--nf-border);padding-top:12px}.nf-addeq__check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--nf-text);cursor:pointer}.nf-palette__parent{display:grid;grid-template-columns:16px 1fr;align-items:start;gap:8px;margin-top:8px;padding:8px 10px;border-radius:var(--nf-radius-sm);background:var(--nf-primary-soft);border:1px solid var(--nf-primary);color:var(--nf-primary-strong)}.nf-palette__parent--root{background:var(--nf-surface-muted);border-color:var(--nf-border-strong);color:var(--nf-text-muted)}.nf-palette__parent svg{margin-top:2px}.nf-palette__parent-line{font-size:12.5px;line-height:1.35}.nf-palette__parent-label{font-weight:600;text-transform:uppercase;font-size:10.5px;letter-spacing:.06em;opacity:.85}.nf-palette__parent-line strong{font-size:13px;color:inherit}.nf-palette__parent-hint{margin-top:2px;font-size:11.5px;line-height:1.4;opacity:.85}@keyframes nf-palette-flash{0%{box-shadow:0 0 #2d8a4e00}35%{box-shadow:0 0 0 4px #2d8a4e59}to{box-shadow:0 0 #2d8a4e00}}.nf-locbuilder__palette--flash{animation:nf-palette-flash 1.4s ease-out 1;border-color:var(--nf-primary)}.nf-palette__list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;list-style:none;margin:0;padding:0}.nf-chip-toggle{display:inline-flex;align-items:center;padding:3px 10px;font-size:11.5px;font-weight:600;line-height:1.4;background:var(--nf-surface);color:var(--nf-text-muted);border:1px solid var(--nf-border-strong);border-radius:999px;cursor:pointer;transition:background-color .1s ease,color .1s ease,border-color .1s ease}.nf-chip-toggle:hover{border-color:var(--nf-primary);color:var(--nf-primary-strong)}.nf-chip-toggle--on{background:var(--nf-primary-soft);color:var(--nf-primary-strong);border-color:var(--nf-primary)}.nf-chip-toggle:focus-visible{outline:2px solid var(--nf-primary);outline-offset:2px;z-index:1}.nf-palette__block{display:grid;grid-template-columns:22px 1fr 16px;align-items:center;gap:8px;padding:7px 10px;background:var(--nf-surface);border:1px solid var(--nf-border-strong);border-radius:var(--nf-radius-md);color:var(--nf-text-main);font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:border-color .1s ease,background-color .1s ease,transform 80ms ease;position:relative}.nf-palette__block:hover{border-color:var(--nf-primary);background:var(--nf-primary-soft);color:var(--nf-primary-strong)}.nf-palette__block:active{transform:translateY(1px)}.nf-palette__block-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--nf-radius-sm);background:var(--nf-surface-muted);color:var(--nf-text-muted)}.nf-palette__block .nf-palette__block-name>.nf-meta{font-size:11.5px;line-height:1.3;margin-top:1px}.nf-palette__block:hover .nf-palette__block-icon{background:#d4ecde;color:var(--nf-primary-strong)}.nf-palette__block-add{color:var(--nf-text-faint)}.nf-palette__block:hover .nf-palette__block-add{color:var(--nf-primary-strong)}.nf-palette__empty{margin:0;font-size:12.5px;color:var(--nf-text-muted)}.nf-locbuilder__canvas{background:repeating-linear-gradient(45deg,transparent 0,transparent 15px,rgba(143,163,156,.035) 15px,rgba(143,163,156,.035) 16px),var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);padding:18px;overflow:auto;min-height:560px}.nf-canvas-grid{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.nf-canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;min-height:360px;color:var(--nf-text-muted);gap:8px}.nf-canvas-empty h3{margin:6px 0 0;font-size:16px;color:var(--nf-text-main)}.nf-canvas-empty p{margin:0;font-size:13px;max-width:38ch;line-height:1.55}.nf-block-wrap{display:flex;flex-direction:column;align-self:flex-start}.nf-block{background:var(--nf-surface);border:1px solid var(--nf-border-strong);border-radius:var(--nf-radius-md);padding:7px 12px;cursor:pointer;transition:border-color .1s ease,background-color .1s ease,box-shadow .1s ease;outline:none;width:fit-content;max-width:500px}.nf-block:hover{border-color:var(--nf-primary);background:var(--nf-primary-soft);box-shadow:var(--nf-shadow-sm)}.nf-block:focus-visible{border-color:var(--nf-primary);box-shadow:0 0 0 3px var(--nf-primary-soft)}.nf-block--selected,.nf-block--selected:hover{border-color:var(--nf-primary);background:var(--nf-primary-soft);box-shadow:inset 3px 0 0 0 var(--nf-primary),0 0 0 1px var(--nf-primary)}.nf-block--branch .nf-block__icon{background:var(--nf-primary-soft);color:var(--nf-primary-strong)}.nf-block--off{opacity:.78;border-style:dashed;background:var(--nf-surface-muted)}.nf-block--off .nf-block__name{text-decoration:line-through;text-decoration-color:var(--nf-text-faint);color:var(--nf-text-muted)}.nf-block--root{border-width:2px;max-width:560px}.nf-block__head{display:grid;grid-template-columns:20px 22px auto auto;align-items:center;gap:6px}.nf-block__chev{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;background:transparent;color:var(--nf-text-muted);border-radius:var(--nf-radius-sm);cursor:pointer;padding:0}.nf-block__chev:hover{background:var(--nf-border);color:var(--nf-text-main)}.nf-block__chev--ghost{cursor:default}.nf-block__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--nf-radius-sm);background:var(--nf-surface-muted);color:var(--nf-text-muted)}.nf-block--selected .nf-block__icon{background:#d4ecde;color:var(--nf-primary-strong)}.nf-block__title{display:flex;align-items:baseline;gap:8px;min-width:0}.nf-block__type{flex:none;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--nf-text-muted);line-height:1.2}.nf-block__name{min-width:0;font-size:14px;font-weight:600;color:var(--nf-text-main);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nf-block__pills{display:inline-flex;align-items:baseline;gap:6px;justify-content:flex-end;white-space:nowrap}.nf-block__foot{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-left:54px;margin-top:4px}.nf-block__meta{display:inline-flex;gap:14px;font-size:12px;color:var(--nf-text-muted)}.nf-block__quick-actions{display:inline-flex;align-items:center;gap:4px;opacity:0;transition:opacity .12s ease}.nf-block:hover .nf-block__quick-actions,.nf-block:focus-within .nf-block__quick-actions,.nf-block--selected .nf-block__quick-actions{opacity:1}.nf-quick-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;border:1px solid var(--nf-border-strong);background:var(--nf-surface);color:var(--nf-text-muted);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;transition:border-color .1s ease,color .1s ease,background-color .1s ease}.nf-quick-btn:hover{border-color:var(--nf-primary);color:var(--nf-primary-strong);background:var(--nf-primary-soft)}.nf-quick-btn--icon{padding:3px 5px}.nf-card-menu-wrap{position:relative;display:inline-flex}.nf-card-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:180px;background:var(--nf-surface);border:1px solid var(--nf-border-strong);border-radius:var(--nf-radius-sm);box-shadow:var(--nf-shadow-md, 0 4px 14px rgba(0, 0, 0, .12));padding:4px;display:flex;flex-direction:column}.nf-card-menu__item{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:0;background:transparent;color:var(--nf-text-main);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;border-radius:var(--nf-radius-sm)}.nf-card-menu__item:hover{background:var(--nf-surface-muted)}.nf-card-menu__item--danger{color:#b1270f}.nf-card-menu__item--danger:hover{background:#fbe9e3}.nf-block__meta-faint{color:var(--nf-text-faint);font-style:italic;font-size:11px;opacity:.7}.nf-block__children{--connector-x: 16px;--connector-elbow-y: 19px;--connector-w: 1.5px;--connector-radius: 6px;--connector-color: #d2dad6;--connector-overhang: 12px;position:relative;margin:6px 0 0;padding-left:36px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.nf-block__children>.nf-block-wrap{position:relative}.nf-block__children>.nf-block-wrap:after{content:"";position:absolute;left:calc(-1 * var(--connector-x));top:calc(-1 * var(--connector-overhang));bottom:0;width:var(--connector-w);background:var(--connector-color);border-radius:var(--connector-w)}.nf-block__children>.nf-block-wrap:last-child:after{bottom:auto;height:calc(var(--connector-elbow-y) - var(--connector-radius) + var(--connector-overhang))}.nf-block__children>.nf-block-wrap:before{content:"";position:absolute;left:calc(-1 * var(--connector-x));top:calc(var(--connector-elbow-y) - var(--connector-radius));width:var(--connector-x);height:var(--connector-radius);border-left:var(--connector-w) solid var(--connector-color);border-bottom:var(--connector-w) solid var(--connector-color);border-bottom-left-radius:var(--connector-radius)}.nf-block__children>.nf-block-wrap:has(>.nf-block--selected):before,.nf-block__children>.nf-block-wrap:has(>.nf-block:hover):before{border-color:var(--nf-primary)}.nf-block__children>.nf-block-wrap:has(>.nf-block--selected):after{background:var(--nf-primary)}.nf-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.nf-pill__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.nf-pill--success{background:var(--nf-primary-soft);color:var(--nf-primary-strong)}.nf-pill--info{background:#e6efff;color:#2147a3}.nf-pill--warn{background:#fbf2e3;color:#8a5a13}.nf-pill--danger{background:#fdecea;color:#a4231b}.nf-pill--neutral{background:var(--nf-surface-muted);color:var(--nf-text-muted);border-color:var(--nf-border)}.nf-locbuilder__inspector{background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--nf-shadow-sm);overflow-y:auto}.nf-inspector__empty{text-align:center;color:var(--nf-text-muted);padding:24px 8px}.nf-inspector__empty h3{margin:0 0 6px;font-size:14px;color:var(--nf-text-main)}.nf-inspector__empty p{margin:0;font-size:13px;line-height:1.5}.nf-inspector__head{border-bottom:1px solid var(--nf-border);padding-bottom:10px}.nf-inspector__type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--nf-text-muted)}.nf-inspector__title{margin:4px 0;font-size:17px;font-weight:600;color:var(--nf-text-main);line-height:1.25}.nf-inspector__path{margin:0;font-size:12px;color:var(--nf-text-muted);line-height:1.45}.nf-inspector__section{display:flex;flex-direction:column;gap:6px}.nf-inspector__input{font:inherit;padding:8px 10px;border-radius:var(--nf-radius-sm);border:1px solid var(--nf-border-strong);background:var(--nf-surface);color:var(--nf-text-main)}.nf-inspector__input:focus{outline:2px solid var(--nf-primary-soft);border-color:var(--nf-primary)}.nf-inspector__hint{font-size:12px;color:var(--nf-text-muted);line-height:1.45}.nf-inspector__stack{display:flex;flex-direction:column;gap:4px}.nf-inspector__row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--nf-text-muted)}.nf-inspector__row strong{color:var(--nf-text-main);font-size:14px}.nf-inspector__actions{display:flex;gap:8px;flex-wrap:wrap}.nf-inspector__actions--primary{padding-bottom:12px;border-bottom:1px solid var(--nf-border)}.nf-btn-pill--primary{background:var(--nf-primary);border-color:var(--nf-primary);color:#fff}.nf-btn-pill--primary:hover{background:var(--nf-primary-strong);border-color:var(--nf-primary-strong);color:#fff}.nf-manage{display:flex;flex-direction:column;gap:14px}.nf-manage__head{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--nf-border)}.nf-inspector__danger{border-top:1px dashed var(--nf-border-strong);padding-top:12px;display:flex;flex-direction:column;gap:6px}.nf-btn-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--nf-border-strong);background:var(--nf-surface);color:var(--nf-text-main);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .1s ease,background-color .1s ease}.nf-btn-pill:hover{border-color:var(--nf-primary);color:var(--nf-primary-strong);background:var(--nf-primary-soft)}.nf-form__label--muted{color:var(--nf-text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.nf-toggle{display:inline-flex;align-items:center;gap:10px;padding:6px 0;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit}.nf-toggle__track{width:36px;height:20px;border-radius:999px;background:var(--nf-border-strong);position:relative;transition:background-color .12s ease;flex-shrink:0}.nf-toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000026;transition:left .12s ease}.nf-toggle--on .nf-toggle__track{background:var(--nf-primary)}.nf-toggle--on .nf-toggle__thumb{left:18px}.nf-toggle__label{font-size:13px;color:var(--nf-text-main)}.nf-tabs-secondary{display:flex;gap:4px;margin:12px 0 16px;border-bottom:1px solid var(--nf-border)}.nf-tab-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:8px 14px;font:inherit;font-size:13px;font-weight:500;color:var(--nf-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.nf-tab-secondary:hover{color:var(--nf-text-main)}.nf-tab-secondary--active{color:var(--nf-primary-strong);border-bottom-color:var(--nf-primary)}.nf-table__actions{text-align:right;white-space:nowrap}.nf-empty{text-align:center;padding:24px 8px}.nf-archive-block{margin-top:16px}.nf-archive-block>summary{cursor:pointer;font-size:13px;font-weight:500;color:var(--nf-text-muted);padding:8px 0}.nf-archive-block>summary:hover{color:var(--nf-text-main)}.nf-archive-block .nf-card{margin-top:8px}.nf-form__field--full{grid-column:1 / -1}.nf-form__field textarea{font:inherit;border:1px solid var(--nf-border);border-radius:6px;padding:8px 10px;resize:vertical}.nf-drawer-section{margin-top:12px;padding-top:10px;border-top:1px solid var(--nf-border)}.nf-drawer-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.nf-drawer-section__title{font-size:13px;font-weight:600;color:var(--nf-text-main);margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}.nf-feature-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.nf-feature-list__item{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--nf-border);border-radius:6px;background:var(--nf-surface-muted)}.nf-feature-list__name{font-weight:500;color:var(--nf-text-main)}.nf-tag--active{background:var(--nf-primary-soft);color:var(--nf-primary-strong);border-color:color-mix(in srgb,var(--nf-primary-strong) 22%,transparent)}.nf-tag--warn{background:#fbf2e3;color:#8a5a13;border-color:#ecd9b3}.nf-entitlement-grid{display:flex;flex-direction:column;gap:18px;margin-top:12px}.nf-entitlement-module{border:1px solid var(--nf-border);border-radius:8px;background:#fff;overflow:hidden}.nf-entitlement-module__head{padding:10px 14px;background:var(--nf-surface-muted);border-bottom:1px solid var(--nf-border)}.nf-entitlement-module__title{margin:0;font-size:14px;font-weight:600;color:var(--nf-text-main)}.nf-entitlement-group{padding:12px 14px;border-bottom:1px solid var(--nf-border)}.nf-entitlement-group:last-child{border-bottom:0}.nf-entitlement-group__name{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--nf-text-muted);margin-bottom:8px}.nf-entitlement-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.nf-entitlement-item{border:1px solid var(--nf-border);border-radius:6px;padding:8px 10px;background:#fff}.nf-entitlement-item__row{display:flex;align-items:center;gap:8px;cursor:pointer}.nf-entitlement-item__label{font-size:13px;font-weight:500;color:var(--nf-text-main)}.nf-entitlement-item__meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}.nf-tag-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.nf-banner--error{background:#fef2f2;border-color:#fecaca;color:#991b1b;position:relative;padding-right:32px}.nf-banner__dismiss{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:transparent;border:0;font-size:18px;line-height:1;cursor:pointer;color:inherit;padding:4px 8px;border-radius:6px}.nf-banner__dismiss:hover{background:#0000000d}.nf-lifecycle-tabs{display:flex;align-items:center;gap:4px;margin:12px 0;padding:4px;background:#f1f5f9;border-radius:10px;border:1px solid #e2e8f0}.nf-lifecycle-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;border:0;background:transparent;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:background .15s,color .15s}.nf-lifecycle-tab:hover{color:#0f172a}.nf-lifecycle-tab--active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0f172a14}.nf-lifecycle-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:10px;background:#0f172a14;font-size:11px;font-weight:700;color:#475569}.nf-lifecycle-tab--active .nf-lifecycle-tab__count{background:#e2e8f0;color:#0f172a}.nf-lifecycle-tabs__spacer{flex:1 1 auto}.nf-block--flat{cursor:pointer;width:fit-content;max-width:500px}.nf-block--archived{background:#f8fafc;border-color:#e2e8f0;opacity:.85}.nf-block--archived .nf-block__name,.nf-block--archived .nf-block__type{color:#64748b}.nf-palette__block--disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.nf-palette__block--disabled:hover{background:inherit}.nf-inspector__actions--primary{margin-bottom:12px}.nf-manage{display:flex;flex-direction:column;gap:0}.nf-manage__head{margin-bottom:8px}.nf-btn-pill--danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.nf-btn-pill--danger:hover{background:#fee2e2}.nf-audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.nf-audit-item{display:grid;grid-template-columns:110px 1fr;align-items:baseline;gap:6px 10px;padding:6px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:12px}.nf-audit-action{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:#e2e8f0;color:#334155;width:fit-content}.nf-audit-action--created{background:#dcfce7;color:#166534}.nf-audit-action--updated{background:#e0f2fe;color:#075985}.nf-audit-action--deactivated,.nf-audit-action--archived,.nf-audit-action--removed{background:#fee2e2;color:#991b1b}.nf-audit-action--reactivated,.nf-audit-action--unarchived{background:#dcfce7;color:#166534}.nf-audit-time{color:#64748b;font-variant-numeric:tabular-nums}.nf-audit-detail{grid-column:1 / -1;color:#475569;font-size:12px;margin-top:2px}.nf-banner--info{background:#ecfeff;border-color:#a5f3fc;color:#155e75;position:relative;padding-right:32px}.nf-root-switcher{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;margin:0 0 10px;border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);background:var(--nf-surface)}.nf-root-switcher__label{font-size:12px;font-weight:600;color:var(--nf-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.nf-root-switcher__tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--nf-border);background:var(--nf-surface);color:var(--nf-text-main);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.nf-root-switcher__tab:hover{border-color:var(--nf-border-strong)}.nf-root-switcher__tab--active,.nf-root-switcher__tab--active:hover{background:var(--nf-primary);border-color:var(--nf-primary-strong);color:#fff}.nf-block--root{border-width:2px;border-color:var(--nf-border-strong)}.nf-palette__block{cursor:grab}.nf-palette__block:active{cursor:grabbing}.nf-palette__block--disabled{cursor:not-allowed}.nf-palette__block--dragging{opacity:.55;outline:2px dashed var(--nf-primary);outline-offset:2px}.nf-block--drop-ok{outline:2px dashed var(--nf-primary);outline-offset:3px;background:var(--nf-primary-soft)}.nf-block--drop-bad{outline:2px dashed #c0392b;outline-offset:3px;background:#fdecea}.nf-locbuilder__canvas--drop-root{outline:2px dashed var(--nf-primary);outline-offset:-6px;background:repeating-linear-gradient(45deg,transparent 0,transparent 12px,rgba(47,143,106,.08) 12px,rgba(47,143,106,.08) 13px),var(--nf-surface)}.nf-root-switcher__spacer{flex:1 1 auto}.nf-participation{border:1px solid var(--nf-border);border-radius:6px;background:var(--nf-surface)}.nf-participation__summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;cursor:pointer;list-style:none}.nf-participation__summary::-webkit-details-marker{display:none}.nf-participation__summary:before{content:"▸";font-size:11px;color:var(--nf-text-muted);margin-right:4px;transition:transform .15s ease}.nf-participation[open]>.nf-participation__summary:before{transform:rotate(90deg)}.nf-participation__title{font-size:13px;font-weight:600;color:var(--nf-text-main);flex:1 1 auto}.nf-participation__body{padding:4px 12px 12px;border-top:1px solid var(--nf-border)}.nf-participation__empty{margin:8px 0 0;font-size:12.5px;color:var(--nf-text-muted);line-height:1.45}.nf-participation__group{margin-top:8px}.nf-participation__group-head{font-size:12px;font-weight:600;color:var(--nf-text-main);margin-bottom:4px}.nf-participation__list{list-style:none;margin:0;padding:0 0 0 8px;display:flex;flex-direction:column;gap:2px}.nf-participation__list li{font-size:12.5px;color:var(--nf-text-main);line-height:1.45}.nf-participation__list li:before{content:"– ";color:var(--nf-text-muted)}.nf-participation__meta{color:var(--nf-text-muted)}.nf-sku-page{display:flex;flex-direction:column;height:100%;min-height:0}.nf-sku-workspace{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(220px,1fr) minmax(420px,2fr);gap:12px;align-items:stretch;margin-top:12px}.nf-sku-page .nf-sku-workspace{flex:1 1 auto;min-height:0}.nf-sku-page .nf-sku-panel{min-height:0}@media(max-width:1080px){.nf-sku-workspace{grid-template-columns:1fr}.nf-sku-page{height:auto}.nf-sku-page .nf-sku-workspace{flex:0 0 auto}.nf-sku-page .nf-sku-panel{min-height:540px}}.nf-sku-panel{display:flex;flex-direction:column;min-width:0;min-height:540px;background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius-md);box-shadow:var(--nf-shadow-sm);overflow:hidden}.nf-sku-panel__head{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-bottom:1px solid var(--nf-border)}.nf-sku-panel__eyebrow{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--nf-text-muted)}.nf-sku-panel__head .nf-search{flex:1 1 auto;max-width:none}.nf-sku-panel__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px}.nf-sku-panel__body--pad{padding:14px}.nf-loctree{display:flex;flex-direction:column;gap:1px}.nf-locrow{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:none;background:transparent;border-radius:var(--nf-radius-sm);text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0}.nf-locrow:hover{background:#8fa39c1f}.nf-locrow--selected,.nf-locrow--selected:hover{background:var(--nf-primary-soft);box-shadow:inset 2px 0 0 0 var(--nf-primary)}.nf-locrow--container{cursor:default}.nf-locrow__chev{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--nf-text-muted);border-radius:4px;cursor:pointer}.nf-locrow__chev:hover:not(:disabled){background:#8fa39c38}.nf-locrow__chev:disabled{cursor:default;visibility:hidden}.nf-locrow__icon{display:inline-flex;flex:0 0 auto;color:var(--nf-text-muted)}.nf-locrow__main{flex:1;min-width:0;display:flex;flex-direction:column}.nf-locrow__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:600}.nf-locrow--container .nf-locrow__name{font-weight:500;color:var(--nf-text-muted)}.nf-locrow__sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--nf-text-muted)}.nf-locrow__dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--nf-primary)}.nf-locrow__tag{flex:0 0 auto;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--nf-text-muted)}.nf-locrow__status{flex:0 0 auto;padding:1px 7px;font-size:10.5px;font-weight:600;letter-spacing:.01em;line-height:1.5}.nf-locfilter{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px}.nf-locfilter select{font:inherit;font-size:12.5px;padding:5px 8px;border-radius:var(--nf-radius-sm);border:1px solid var(--nf-border-strong);background:var(--nf-surface);color:var(--nf-text-main);min-width:150px}.nf-locfilter__counts{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11px;color:var(--nf-text-muted)}.nf-locfilter__count{white-space:nowrap}.nf-locfilter__clear{background:none;border:none;padding:0;font:inherit;font-size:11px;color:var(--nf-primary-strong);cursor:pointer;text-decoration:underline}.nf-treepicker{display:flex;flex-direction:column;gap:8px}.nf-treepicker__search{margin-top:2px}.nf-treepicker__body{max-height:260px;overflow-y:auto;border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);padding:4px;background:var(--nf-surface, #fff)}.nf-drawer-identity{display:flex;flex-direction:column;gap:2px}.nf-drawer-identity__title{margin:0;font-size:16px;font-weight:650;color:var(--nf-text)}.nf-drawer-identity__sub{margin:0}.nf-flow-groups{display:flex;flex-direction:column;gap:10px;margin-top:8px}.nf-flow-group{border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);padding:10px 12px;background:var(--nf-surface-muted, #fafafa)}.nf-flow-group__head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.nf-flow-group__tag{margin-left:auto;text-transform:capitalize}.nf-flow-block{margin-top:8px}.nf-flow-block__title{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--nf-text-muted);margin-bottom:4px}.nf-skulist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.nf-skurow{border-bottom:1px solid var(--nf-border);min-width:0}.nf-skurow:last-child{border-bottom:none}.nf-skurow__head{display:flex;align-items:center;gap:10px;padding:9px 12px;min-width:0}.nf-skurow__main{flex:1;min-width:0}.nf-skurow__name{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nf-skurow__meta{font-size:12px;color:var(--nf-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.nf-skurow__reason{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--nf-warn, #c44a3c);margin-top:3px}.nf-skurow__status{flex:0 0 auto;display:flex;align-items:center;gap:8px}.nf-skurow--incompatible{opacity:.72}.nf-skurow--incompatible .nf-skurow__name{color:var(--nf-text-muted)}.nf-skurow__add{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;padding:0;border:1px solid var(--nf-primary, #2f7a4d);border-radius:var(--nf-radius-sm);background:var(--nf-primary, #2f7a4d);color:#fff;cursor:pointer;transition:background .12s ease,border-color .12s ease}.nf-skurow__add:hover{background:var(--nf-primary-strong, #266140);border-color:var(--nf-primary-strong, #266140)}.nf-skucatalog__filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.nf-skucatalog__filters .nf-search{flex:1 1 160px;min-width:140px}.nf-skucatalog__status{flex:0 1 auto;min-width:0;max-width:100%;height:32px;padding:0 8px;border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);background:var(--nf-surface);color:inherit;font:inherit;font-size:12.5px;cursor:pointer}.nf-skucatalog__notice{padding:8px 12px 0}.nf-stepper-row{display:flex;flex-wrap:wrap;gap:14px}.nf-stepper{display:flex;flex-direction:column;gap:4px}.nf-stepper__control{display:inline-flex;align-items:stretch;width:104px;height:34px;border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);overflow:hidden;background:var(--nf-surface, #fff)}.nf-stepper__btn{flex:0 0 30px;display:inline-flex;align-items:center;justify-content:center;border:none;background:#8fa39c1f;color:var(--nf-text);cursor:pointer;padding:0}.nf-stepper__btn:hover:not(:disabled){background:#8fa39c3d}.nf-stepper__btn:disabled{opacity:.4;cursor:not-allowed}.nf-stepper__input{flex:1 1 auto;width:100%;min-width:0;border:none;border-left:1px solid var(--nf-border);border-right:1px solid var(--nf-border);text-align:center;font-size:13.5px;padding:0 4px;background:transparent;color:var(--nf-text)}.nf-stepper__input:focus{outline:2px solid var(--nf-primary);outline-offset:-2px}.nf-idle-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.nf-idle-dialog{width:100%;max-width:380px;background:var(--nf-surface, #ffffff);border:1px solid var(--nf-border, #e2e8f0);border-radius:var(--nf-radius-sm, 12px);box-shadow:0 20px 50px #0f172a40;padding:22px 22px 18px}.nf-idle-dialog__title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--nf-text, #0f172a)}.nf-idle-dialog__body{margin:0 0 18px;font-size:13.5px;line-height:1.5;color:var(--nf-text-muted, #475569)}.nf-idle-dialog__actions{display:flex;justify-content:flex-end;gap:10px}.nf-access-roles{min-width:0;border:1px solid var(--nf-border);border-radius:var(--nf-radius-sm);overflow:hidden}.nf-access-list-head,.nf-access-role{display:grid;grid-template-columns:minmax(150px,1fr) minmax(190px,1.4fr) auto auto;gap:14px;align-items:center}.nf-access-list-head{padding:9px 12px;background:var(--nf-surface-muted);color:var(--nf-text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.nf-access-role{padding:11px 12px;border-top:1px solid var(--nf-border);font-size:13px}.nf-access-role--selected{background:var(--nf-primary-soft);box-shadow:inset 3px 0 0 var(--nf-primary)}.nf-access-role__identity,.nf-access-role__summary{display:flex;flex-direction:column;gap:2px;min-width:0}.nf-access-role__identity strong{color:var(--nf-text-main)}.nf-access-role__identity .nf-meta{display:flex;align-items:center;gap:5px}.nf-access-role__summary{color:var(--nf-text-muted);line-height:1.35}.nf-access-role__summary>span strong{color:var(--nf-text-main)}.nf-access-role__summary small{color:var(--nf-primary-strong);font-size:11px}.nf-access-panel__head{display:flex;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--nf-border)}.nf-access-groups{margin-top:4px}.nf-access-group{padding:13px 0 2px;border-bottom:1px solid var(--nf-border)}.nf-access-group:last-of-type{border-bottom:0}.nf-access-group h4{margin:0 0 6px;color:var(--nf-text-main);font-size:12px;letter-spacing:.05em;text-transform:uppercase}.nf-access-group__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.nf-access-group__head span{color:var(--nf-text-faint);font-size:11px;font-weight:600;letter-spacing:.03em}.nf-access-group__inactive-note{margin:2px 0 4px 26px;color:var(--nf-warning);font-size:11.5px;line-height:1.4}.nf-access-control{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;color:var(--nf-text-main);cursor:pointer}.nf-access-control--nested{margin-left:16px;padding-left:10px;border-left:2px solid var(--nf-border-strong)}.nf-access-control--inactive{color:var(--nf-text-muted);cursor:not-allowed}.nf-access-control--inactive small{color:var(--nf-text-faint)}.nf-access-control span{display:flex;flex-direction:column;gap:2px}.nf-access-control small{color:var(--nf-text-muted);font-size:11.5px;line-height:1.4}.nf-access-control input{width:16px;height:16px;accent-color:var(--nf-primary);flex:0 0 auto}.nf-access-control input:disabled{cursor:not-allowed;opacity:.65}@media(max-width:640px){.nf-access-list-head{display:none}.nf-access-role{grid-template-columns:1fr auto;gap:8px}.nf-access-role__summary{grid-column:1 / -1;grid-row:2}.nf-access-role .nf-btn{grid-column:2;grid-row:1}}
