:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--nf-bg:#0a100e;--nf-bg-soft:#101715;--nf-panel:#141d19;--nf-panel-2:#1b2723;--nf-line:#27352f;--nf-line-soft:#1d2a25;--nf-text:#e9f4ee;--nf-text-dim:#a8bfb4;--nf-text-mute:#6d867b;--nf-accent:#35d07f;--nf-accent-2:#6ee7b7;--nf-accent-soft:#35d07f26;--nf-ok:#3ecf8e;--nf-warn:#f0b445;--nf-danger:#f0615a;--nf-info:#58b0f5;--nf-ok-soft:#3ecf8e24;--nf-warn-soft:#f0b44524;--nf-danger-soft:#f0615a24;--nf-info-soft:#58b0f524;--nf-mute-soft:#6d867b2e;--nf-accent-line:#35d07f73;--nf-ok-line:#3ecf8e73;--nf-warn-line:#f0b44573;--nf-danger-line:#f0615a73;--nf-info-line:#58b0f573;--nf-mask-soft:#0a100eb8;--nf-glass:#141d19b8;--nf-glass-strong:#0f1613e0;--nf-glass-brd:#ffffff17;--nf-glow-accent:0 0 22px #35d07f2e;--nf-grad-accent:linear-gradient(135deg, #35d07f, #4cc9a0 55%, #6ee7b7);--nf-aurora-1:#35d07f1a;--nf-aurora-2:#5eead412;--nf-radius:12px;--nf-radius-sm:8px;--nf-shadow:0 18px 44px #00000080;--nf-shadow-sm:0 2px 10px #00000052;--nf-side-w:240px;--nf-side-rail-w:64px;--nf-top-h:56px;--nf-font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Roboto, "Helvetica Neue", Arial, sans-serif;--nf-font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;--nf-gap:14px;--nf-pad:16px;--nf-speed:.18s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--nf-bg:#eef4f1;--nf-bg-soft:#e3ece8;--nf-panel:#fff;--nf-panel-2:#f2f7f4;--nf-line:#c9d8d2;--nf-line-soft:#dde8e3;--nf-text:#12211b;--nf-text-dim:#46595a;--nf-text-mute:#71867d;--nf-accent:#14915c;--nf-accent-2:#1fae74;--nf-accent-soft:#14915c21;--nf-ok:#148a56;--nf-warn:#a96f0c;--nf-danger:#c93f36;--nf-info:#1f6fbf;--nf-ok-soft:#148a561f;--nf-warn-soft:#a96f0c21;--nf-danger-soft:#c93f361f;--nf-info-soft:#1f6fbf1f;--nf-mute-soft:#71867d29;--nf-accent-line:#14915c6b;--nf-ok-line:#148a566b;--nf-warn-line:#a96f0c6b;--nf-danger-line:#c93f366b;--nf-info-line:#1f6fbf6b;--nf-mask-soft:#eef4f1bf;--nf-glass:#ffffffb8;--nf-glass-strong:#ffffffeb;--nf-glass-brd:#12211b1a;--nf-glow-accent:0 4px 16px #14915c38;--nf-aurora-1:#14915c14;--nf-aurora-2:#38bdf812;--nf-radius:12px;--nf-radius-sm:8px;--nf-shadow:0 14px 34px #12211b24;--nf-shadow-sm:0 2px 8px #12211b14;--nf-side-w:240px;--nf-side-rail-w:64px;--nf-top-h:56px;--nf-gap:14px;--nf-pad:16px;--nf-speed:.18s}html{background:var(--nf-bg);-webkit-text-size-adjust:100%}body{background:var(--nf-bg);min-height:100vh;color:var(--nf-text);font:14px/1.6 var(--nf-font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;transition:background-color var(--nf-speed) ease, color var(--nf-speed) ease;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(52% 42% at 12% -4%, var(--nf-aurora-1), transparent 62%), radial-gradient(44% 38% at 88% 6%, var(--nf-aurora-2), transparent 60%), radial-gradient(62% 52% at 50% 112%, var(--nf-aurora-1), transparent 64%);position:fixed;inset:0}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.35}p{margin:0 0 8px}a{color:var(--nf-accent);transition:color var(--nf-speed) ease;text-decoration:none}code,kbd,pre,samp{font-family:var(--nf-font-mono);font-size:.92em}hr{background:var(--nf-line-soft);border:0;height:1px;margin:14px 0}::selection{background:var(--nf-accent);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--nf-bg-soft)}::-webkit-scrollbar-thumb{background:var(--nf-line);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--nf-text-mute);background-clip:padding-box}::-webkit-scrollbar-corner{background:var(--nf-bg-soft)}input,select,textarea,button{font:inherit;color:inherit;accent-color:var(--nf-accent)}input,select,textarea{background:var(--nf-bg-soft);border:1px solid var(--nf-line);border-radius:var(--nf-radius-sm)}input[type=checkbox],input[type=radio],input[type=file]{accent-color:var(--nf-accent);cursor:pointer}textarea{resize:vertical;min-height:84px}::placeholder{color:var(--nf-text-mute);opacity:1}:-ms-placeholder-shown{color:var(--nf-text-mute)}:focus-visible,.nf-focus-visible{outline:2px solid var(--nf-accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--nf-accent);outline-offset:0;border-color:var(--nf-accent)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--nf-accent);outline-offset:2px;border-radius:var(--nf-radius-sm)}.nf-mono{font-family:var(--nf-font-mono)}.nf-num,.nf-table th.nf-num,.nf-table td.nf-num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--nf-font-mono)}.nf-dim{color:var(--nf-text-dim)}.nf-mute{color:var(--nf-text-mute)}.nf-nowrap{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nf-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--nf-line) transparent;overflow:auto}.nf-sticky{top:calc(var(--nf-top-h) + 10px);z-index:4;position:sticky}.nf-split{gap:var(--nf-gap);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.nf-split.wide-aside{grid-template-columns:minmax(0,1fr) 420px}.nf-split>.nf-aside,.nf-split>aside{min-width:0}.nf-tip{border-bottom:1px dashed var(--nf-line);cursor:help}.nf-hide{display:none!important}.nf-right{margin-left:auto}.nf-app{grid-template-columns:var(--nf-side-w) minmax(0, 1fr);background:var(--nf-bg);min-height:100vh;display:grid}.nf-boot{min-height:100vh;color:var(--nf-text-mute);letter-spacing:.08em;grid-column:1/-1;justify-content:center;align-items:center;display:flex}.nf-app.nf-app-login,.nf-app.nf-app-plain{grid-template-columns:none;min-height:100vh;display:block}.nf-side{width:var(--nf-side-w);background:var(--nf-glass);border-right:1px solid var(--nf-glass-brd);-webkit-backdrop-filter:blur(16px)saturate(1.25);scrollbar-width:thin;scrollbar-color:var(--nf-line) transparent;flex-direction:column;align-self:start;height:100vh;display:flex;position:sticky;top:0;overflow:hidden auto;box-shadow:inset -1px 0 #ffffff05}@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.nf-side,.nf-top,.nf-page-head,.nf-modal,.nf-drawer,.nf-notify-list,.nf-user-menu,.nf-search-results{background:var(--nf-glass-strong)}}.nf-side-brand{height:var(--nf-top-h);border-bottom:1px solid var(--nf-glass-brd);white-space:nowrap;flex:none;align-items:center;gap:10px;padding:0 14px;display:flex;overflow:hidden}.nf-brand-mark{background:var(--nf-grad-accent);color:#052b1b;width:28px;height:28px;box-shadow:var(--nf-glow-accent);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.nf-brand-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.nf-brand-name{letter-spacing:.04em;font-size:14px;font-weight:600}.nf-brand-sub{color:var(--nf-text-mute);text-overflow:ellipsis;font-size:11px;overflow:hidden}.nf-nav{flex:auto;padding:10px 8px 20px}.nf-nav-group{margin:0 0 12px}.nf-nav-group-title,.nf-nav-group>.title{color:var(--nf-text-mute);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:8px 10px 6px;font-size:11px;overflow:hidden}.nf-nav-item{border-radius:var(--nf-radius-sm);width:100%;color:var(--nf-text-dim);text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--nf-speed) ease, color var(--nf-speed) ease, box-shadow var(--nf-speed) ease;background:0 0;border:0;align-items:center;gap:10px;margin:0 0 2px;padding:8px 10px;font-size:13.5px;text-decoration:none;display:flex;overflow:hidden}.nf-nav-item:hover{color:var(--nf-text);background:#ffffff0b;text-decoration:none}.nf-nav-item.active,.nf-nav-item[aria-current=page]{background:linear-gradient(90deg, var(--nf-accent-soft), #35d07f05 140%);color:var(--nf-text);box-shadow:inset 2px 0 0 var(--nf-accent), 0 0 14px #35d07f12}.nf-nav-item.active .nf-nav-icon,.nf-nav-item[aria-current=page] .nf-nav-icon{color:var(--nf-accent)}.nf-nav-icon{text-align:center;flex:none;width:20px;font-size:15px;line-height:1}.nf-nav-label{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.nf-nav-badge{background:var(--nf-panel-2);min-width:18px;color:var(--nf-text-dim);text-align:center;border-radius:999px;flex:none;padding:0 5px;font-size:11px;line-height:16px}.nf-nav-item.active .nf-nav-badge{background:var(--nf-accent);color:#052b1b;font-weight:600}.nf-side-foot{border-top:1px solid var(--nf-glass-brd);color:var(--nf-text-mute);flex:none;padding:10px 12px;font-size:11.5px}.nf-side-foot a{color:var(--nf-text-mute);transition:color var(--nf-speed) ease;text-decoration:none}.nf-side-foot a:hover{color:var(--nf-accent);text-decoration:underline}.nf-main{flex-direction:column;min-width:0;height:100vh;display:flex;overflow:hidden}.nf-top{z-index:20;height:var(--nf-top-h);padding:0 var(--nf-pad);background:var(--nf-glass);border-bottom:1px solid var(--nf-glass-brd);-webkit-backdrop-filter:blur(16px)saturate(1.25);flex:none;align-items:center;gap:10px;display:flex;position:sticky;top:0}.nf-top-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.nf-crumbs{min-width:0;color:var(--nf-text-mute);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:flex;overflow:hidden}.nf-crumbs a{color:var(--nf-text-dim)}.nf-crumbs a:hover{color:var(--nf-accent)}.nf-crumbs-sep{color:var(--nf-line)}.nf-crumbs-current{color:var(--nf-text);text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.nf-search{border:1px solid var(--nf-line);border-radius:var(--nf-radius-sm);min-width:180px;max-width:320px;height:32px;transition:border-color var(--nf-speed) ease, box-shadow var(--nf-speed) ease;background:#ffffff0a;flex:0 320px;align-items:center;gap:6px;padding:0 10px;display:flex;position:relative}.nf-search-icon{color:var(--nf-text-mute);font-size:13px}.nf-search input{background:0 0;border:0;outline:none;flex:auto;min-width:0;height:100%;padding:0}.nf-search-clear{color:var(--nf-text-mute);cursor:pointer;background:0 0;border:0;padding:0 2px}.nf-search-kbd{border:1px solid var(--nf-line);color:var(--nf-text-mute);font-family:var(--nf-font-mono);border-radius:4px;padding:1px 5px;font-size:11px}.nf-top-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.nf-icon-btn{border-radius:var(--nf-radius-sm);width:32px;height:32px;color:var(--nf-text-dim);cursor:pointer;transition:background-color var(--nf-speed) ease, color var(--nf-speed) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:15px;display:inline-flex;position:relative}.nf-icon-btn:hover{color:var(--nf-text);background:#ffffff0f}.nf-icon-btn.active{background:var(--nf-accent-soft);color:var(--nf-accent)}.nf-page{min-height:0;animation:nf-fade-in var(--nf-speed) ease-out both;flex-direction:column;flex:auto;display:flex}.nf-page-head{padding:14px var(--nf-pad) 10px;border-bottom:1px solid var(--nf-glass-brd);flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.nf-page-head h1,.nf-page-title{margin:0;font-size:17px;font-weight:600}.nf-page-desc{color:var(--nf-text-mute);margin:2px 0 0;font-size:12.5px}.nf-page-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.nf-page-body{min-height:0;padding:var(--nf-pad);scrollbar-width:thin;scrollbar-color:var(--nf-line) transparent;flex:auto;overflow:auto}.nf-toolbar{margin-bottom:var(--nf-gap);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nf-toolbar-sep{background:var(--nf-line-soft);width:1px;height:20px}.nf-card{background:linear-gradient(165deg, #ffffff08, #fff0 38%), var(--nf-panel);border:1px solid var(--nf-line-soft);border-radius:var(--nf-radius);min-width:0;box-shadow:var(--nf-shadow-sm), inset 0 1px 0 #ffffff0a;transition:border-color var(--nf-speed) ease, box-shadow var(--nf-speed) ease, transform var(--nf-speed) ease;flex-direction:column;display:flex}.nf-card-head{border-bottom:1px solid var(--nf-line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:11px 14px;display:flex}.nf-card-title{margin:0;font-size:14px;font-weight:600}.nf-card-extra{color:var(--nf-text-mute);align-items:center;gap:8px;margin-left:auto;font-size:12.5px;display:flex}.nf-card-body{flex:auto;min-width:0;padding:14px}.nf-card-foot{border-top:1px solid var(--nf-line-soft);color:var(--nf-text-mute);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;display:flex}.nf-card-foot .nf-btn{font-size:12.5px}.nf-grid{gap:var(--nf-gap);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;display:grid}.nf-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nf-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.nf-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.nf-grid.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.nf-grid.tight{gap:10px}.nf-grid>.span-2{grid-column:span 2}.nf-grid>.span-all{grid-column:1/-1}.nf-stat{background:linear-gradient(165deg, #ffffff09, #fff0 42%), var(--nf-panel);border:1px solid var(--nf-line-soft);border-radius:var(--nf-radius);min-width:0;box-shadow:var(--nf-shadow-sm), inset 0 1px 0 #ffffff0d;transition:border-color var(--nf-speed) ease, transform var(--nf-speed) ease, box-shadow var(--nf-speed) ease;flex-direction:column;gap:4px;padding:13px 14px;display:flex}.nf-stat-label{color:var(--nf-text-mute);align-items:center;gap:6px;font-size:12.5px;display:flex}.nf-stat-value{color:var(--nf-text);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:25px;font-weight:600;line-height:1.2;display:flex}.nf-stat-unit{color:var(--nf-text-dim);font-size:12.5px;font-weight:400}.nf-stat-delta{color:var(--nf-text-dim);align-items:center;gap:3px;font-size:12px;display:inline-flex}.nf-stat-delta.up{color:var(--nf-ok)}.nf-stat-delta.down{color:var(--nf-danger)}.nf-stat-spark{height:34px;margin-top:4px}.nf-stat.nf-tone-ok{box-shadow:inset 3px 0 0 var(--nf-ok), var(--nf-shadow-sm)}.nf-stat.nf-tone-warn{box-shadow:inset 3px 0 0 var(--nf-warn), var(--nf-shadow-sm)}.nf-stat.nf-tone-danger{box-shadow:inset 3px 0 0 var(--nf-danger), var(--nf-shadow-sm)}.nf-stat.nf-tone-info{box-shadow:inset 3px 0 0 var(--nf-info), var(--nf-shadow-sm)}.nf-stat.nf-tone-accent{box-shadow:inset 3px 0 0 var(--nf-accent), var(--nf-shadow-sm)}.nf-stat.nf-tone-ok:hover{box-shadow:inset 3px 0 0 var(--nf-ok), var(--nf-shadow-sm), 0 0 18px #3ecf8e29}.nf-stat.nf-tone-warn:hover{box-shadow:inset 3px 0 0 var(--nf-warn), var(--nf-shadow-sm), 0 0 18px #f0b44529}.nf-stat.nf-tone-danger:hover{box-shadow:inset 3px 0 0 var(--nf-danger), var(--nf-shadow-sm), 0 0 18px #f0615a29}.nf-stat.nf-tone-info:hover{box-shadow:inset 3px 0 0 var(--nf-info), var(--nf-shadow-sm), 0 0 18px #58b0f529}.nf-stat.nf-tone-accent:hover{box-shadow:inset 3px 0 0 var(--nf-accent), var(--nf-shadow-sm), var(--nf-glow-accent)}.nf-table-wrap{overscroll-behavior-x:contain;border-radius:var(--nf-radius-sm);scrollbar-width:thin;scrollbar-color:var(--nf-line) var(--nf-bg-soft);max-width:100%;overflow:auto}.nf-table-wrap::-webkit-scrollbar{width:9px;height:9px}.nf-table-wrap::-webkit-scrollbar-thumb{background:var(--nf-line);border-radius:999px}.nf-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--nf-text-mute)}.nf-table{border-collapse:separate;border-spacing:0;white-space:nowrap;width:100%;font-size:13px}.nf-table th,.nf-table td{border-bottom:1px solid var(--nf-line-soft);text-align:left;vertical-align:middle;padding:10px 12px}.nf-table thead th{z-index:2;background:var(--nf-panel-2);color:var(--nf-text-dim);letter-spacing:.02em;border-bottom:1px solid var(--nf-line);font-size:12.5px;font-weight:600;position:sticky;top:0}.nf-table tbody tr{transition:background-color var(--nf-speed) ease}.nf-table td.nf-cell-main,.nf-table th.nf-cell-main{color:var(--nf-text);white-space:normal;font-weight:500}.nf-table .nf-col-sel,.nf-table .nf-row-sel-cell{text-align:center;width:36px;padding-right:0}.nf-th-sort{color:inherit;font:inherit;cursor:pointer;transition:color var(--nf-speed) ease;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:600;display:inline-flex}.nf-th-sort:hover{color:var(--nf-text)}.nf-th-sort:after{content:"⇅";color:var(--nf-text-mute);opacity:.7;font-size:11px}.nf-th-sort.asc:after{content:"↑";color:var(--nf-accent);opacity:1}.nf-th-sort.desc:after{content:"↓";color:var(--nf-accent);opacity:1}.nf-td-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.nf-pager{border-top:1px solid var(--nf-line-soft);color:var(--nf-text-mute);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;font-size:12.5px;display:flex}.nf-pager-info{color:var(--nf-text-dim);margin-right:auto}.nf-pager-btn,.nf-pager-page{border:1px solid var(--nf-line);border-radius:var(--nf-radius-sm);background:var(--nf-panel);min-width:28px;height:28px;color:var(--nf-text-dim);cursor:pointer;transition:border-color var(--nf-speed) ease, color var(--nf-speed) ease, background-color var(--nf-speed) ease, box-shadow var(--nf-speed) ease;padding:0 8px;font-size:12.5px}.nf-pager-btn:hover:not(:disabled),.nf-pager-page:hover{border-color:var(--nf-accent);color:var(--nf-text)}.nf-pager-page.active{background:var(--nf-grad-accent);color:#052b1b;box-shadow:var(--nf-glow-accent);border-color:#0000;font-weight:600}.nf-pager-btn:disabled{opacity:.45;cursor:not-allowed}.nf-form{max-width:100%;display:block}.nf-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.nf-form-grid.one{grid-template-columns:minmax(0,1fr)}.nf-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.nf-field{flex-direction:column;gap:5px;min-width:0;margin-bottom:12px;display:flex}.nf-form-grid .nf-field{margin-bottom:0}.nf-field.full{grid-column:1/-1}.nf-field-label{color:var(--nf-text-dim);align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:flex}.nf-field-label .req,.nf-field.required .nf-field-label:after{content:"*";color:var(--nf-danger)}.nf-field-help{color:var(--nf-text-mute);font-size:11.5px}.nf-field-error{color:var(--nf-danger);font-size:11.5px}.nf-field.has-error .nf-input,.nf-field.has-error .nf-select,.nf-field.has-error .nf-textarea{border-color:var(--nf-danger);box-shadow:0 0 0 2px var(--nf-danger-soft)}.nf-field-static{color:var(--nf-text);padding:7px 0;font-size:13.5px}.nf-input,.nf-select,.nf-textarea{background:var(--nf-bg-soft);border:1px solid var(--nf-line);border-radius:var(--nf-radius-sm);width:100%;min-width:0;color:var(--nf-text);transition:border-color var(--nf-speed) ease, box-shadow var(--nf-speed) ease;padding:7px 10px;font-size:13.5px;line-height:1.5}.nf-input:hover,.nf-select:hover,.nf-textarea:hover{border-color:var(--nf-text-mute)}.nf-input:focus,.nf-select:focus,.nf-textarea:focus{border-color:var(--nf-accent);box-shadow:0 0 0 2px var(--nf-accent-soft), var(--nf-glow-accent);outline:none}.nf-input:disabled,.nf-select:disabled,.nf-textarea:disabled{opacity:.55;cursor:not-allowed;background:var(--nf-panel-2)}.nf-input[readonly]{background:var(--nf-panel-2);color:var(--nf-text-dim)}.nf-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--nf-text-mute) 50%), linear-gradient(135deg, var(--nf-text-mute) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.nf-select option{background:var(--nf-panel);color:var(--nf-text)}.nf-textarea{min-height:88px;font-family:var(--nf-font);resize:vertical}.nf-input.sm,.nf-select.sm{padding:4px 8px;font-size:12.5px}.nf-input.mono,.nf-textarea.mono{font-family:var(--nf-font-mono);font-size:12.5px}.nf-input[type=color]{height:32px;padding:2px 4px}.nf-switch{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--nf-text-dim);align-items:center;gap:8px;font-size:13px;display:inline-flex}.nf-switch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.nf-switch-track{background:var(--nf-panel-2);border:1px solid var(--nf-line);width:38px;height:20px;transition:background-color var(--nf-speed) ease, border-color var(--nf-speed) ease, box-shadow var(--nf-speed) ease;border-radius:999px;flex:none;position:relative}.nf-switch-track:after{content:"";background:var(--nf-text-mute);width:14px;height:14px;transition:transform var(--nf-speed) ease, background-color var(--nf-speed) ease;border-radius:50%;position:absolute;top:2px;left:2px}.nf-switch input:checked+.nf-switch-track{background:var(--nf-grad-accent);box-shadow:var(--nf-glow-accent);border-color:#0000}.nf-switch input:checked+.nf-switch-track:after{background:#052b1b;transform:translate(18px)}.nf-switch input:focus-visible+.nf-switch-track{outline:2px solid var(--nf-accent);outline-offset:2px}.nf-switch input:disabled+.nf-switch-track{opacity:.5;cursor:not-allowed}.nf-tags{background:var(--nf-bg-soft);border:1px solid var(--nf-line);border-radius:var(--nf-radius-sm);min-height:34px;transition:border-color var(--nf-speed) ease, box-shadow var(--nf-speed) ease;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;display:flex}.nf-tags:focus-within{border-color:var(--nf-accent);box-shadow:0 0 0 2px var(--nf-accent-soft)}.nf-tags-input{background:0 0;border:0;outline:none;flex:80px;min-width:80px;padding:2px 0}.nf-tag-chip,.nf-tags .nf-tag{align-items:center;gap:4px;display:inline-flex}.nf-tag-chip-x{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;font-size:12px;line-height:1}.nf-tag-chip-x:hover{opacity:1}.nf-checkline{color:var(--nf-text-dim);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.nf-upload{display:block}.nf-upload-zone{border:1px dashed var(--nf-line);border-radius:var(--nf-radius);background:var(--nf-bg-soft);color:var(--nf-text-mute);text-align:center;cursor:pointer;transition:border-color var(--nf-speed) ease, color var(--nf-speed) ease, background-color var(--nf-speed) ease;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:20px 14px;display:flex}.nf-upload-zone:hover,.nf-upload-zone.drag{border-color:var(--nf-accent);color:var(--nf-text-dim);background:var(--nf-accent-soft)}.nf-upload-hint{color:var(--nf-text-mute);font-size:11.5px}.nf-upload-label{color:var(--nf-text-dim);font-size:13px}.nf-btn{border:1px solid var(--nf-line);border-radius:var(--nf-radius-sm);height:32px;color:var(--nf-text);font-size:13px;font-family:var(--nf-font);white-space:nowrap;cursor:pointer;transition:background-color var(--nf-speed) ease, border-color var(--nf-speed) ease, color var(--nf-speed) ease, opacity var(--nf-speed) ease, box-shadow var(--nf-speed) ease, transform var(--nf-speed) ease;background:#ffffff0b;justify-content:center;align-items:center;gap:6px;padding:0 13px;line-height:1;display:inline-flex}.nf-btn:hover{border-color:var(--nf-text-mute);background:#ffffff14}.nf-btn.primary{background:var(--nf-grad-accent);color:#052b1b;box-shadow:var(--nf-glow-accent);border-color:#0000;font-weight:600}.nf-btn.primary:hover{background:var(--nf-grad-accent);filter:brightness(1.07);border-color:#0000;box-shadow:0 0 28px #35d07f47}.nf-btn.ghost{border-color:var(--nf-line);color:var(--nf-text-dim);background:0 0}.nf-btn.ghost:hover{color:var(--nf-text);border-color:var(--nf-text-mute);background:#ffffff0d}.nf-btn.danger{background:var(--nf-danger);color:#fff;border-color:#0000;box-shadow:0 0 16px #f0615a2e}.nf-btn.danger:hover{background:var(--nf-danger);filter:brightness(1.08);border-color:#0000}.nf-btn.danger.ghost{border-color:var(--nf-danger);color:var(--nf-danger);box-shadow:none;background:0 0}.nf-btn.warn{background:var(--nf-warn);color:#241a04;border-color:#0000;box-shadow:0 0 16px #f0b44529}.nf-btn.warn:hover{filter:brightness(1.06);border-color:#0000}.nf-btn.warn.ghost{border-color:var(--nf-warn);color:var(--nf-warn);box-shadow:none;background:0 0}.nf-btn.block{width:100%}.nf-btn:disabled,.nf-btn[disabled],.nf-btn.disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.25);pointer-events:none}.nf-btn-icon{font-size:13px;line-height:1}.nf-badge,.nf-tag{border:1px solid var(--nf-line);background:var(--nf-panel-2);color:var(--nf-text-dim);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;line-height:18px;display:inline-flex}.nf-badge{font-weight:500}.nf-tag{background:0 0;border-style:solid;font-weight:400}.nf-tone-ok,.nf-badge.nf-tone-ok,.nf-tag.nf-tone-ok{border-color:var(--nf-ok-line);background:var(--nf-ok-soft);color:var(--nf-ok)}.nf-tag.nf-tone-ok{background:0 0}.nf-tone-warn,.nf-badge.nf-tone-warn,.nf-tag.nf-tone-warn{border-color:var(--nf-warn-line);background:var(--nf-warn-soft);color:var(--nf-warn)}.nf-tag.nf-tone-warn{background:0 0}.nf-tone-danger,.nf-badge.nf-tone-danger,.nf-tag.nf-tone-danger{border-color:var(--nf-danger-line);background:var(--nf-danger-soft);color:var(--nf-danger)}.nf-tag.nf-tone-danger{background:0 0}.nf-tone-info,.nf-badge.nf-tone-info,.nf-tag.nf-tone-info{border-color:var(--nf-info-line);background:var(--nf-info-soft);color:var(--nf-info)}.nf-tag.nf-tone-info{background:0 0}.nf-tone-accent,.nf-badge.nf-tone-accent,.nf-tag.nf-tone-accent{border-color:var(--nf-accent-line);background:var(--nf-accent-soft);color:var(--nf-accent)}.nf-tag.nf-tone-accent{background:0 0}.nf-tone-muted,.nf-badge.nf-tone-muted,.nf-tag.nf-tone-muted{border-color:var(--nf-line);background:var(--nf-mute-soft);color:var(--nf-text-mute)}.nf-tag.nf-tone-muted{background:0 0}.nf-dot{background:var(--nf-text-mute);vertical-align:middle;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #0000}.nf-dot.nf-tone-ok{background:var(--nf-ok);box-shadow:0 0 0 3px var(--nf-ok-soft), 0 0 8px #3ecf8e80}.nf-dot.nf-tone-warn{background:var(--nf-warn);box-shadow:0 0 0 3px var(--nf-warn-soft), 0 0 8px #f0b44580}.nf-dot.nf-tone-danger{background:var(--nf-danger);box-shadow:0 0 0 3px var(--nf-danger-soft), 0 0 8px #f0615a80}.nf-dot.nf-tone-info{background:var(--nf-info);box-shadow:0 0 0 3px var(--nf-info-soft), 0 0 8px #58b0f580}.nf-dot.nf-tone-accent{background:var(--nf-accent);box-shadow:0 0 0 3px var(--nf-accent-soft), 0 0 8px #35d07f80}.nf-status{color:var(--nf-text-dim);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.nf-level{border:1px solid var(--nf-line);border-radius:var(--nf-radius-sm);background:var(--nf-mute-soft);color:var(--nf-text-dim);letter-spacing:.03em;white-space:nowrap;align-items:center;gap:4px;padding:1px 7px;font-size:11px;font-weight:600;line-height:17px;display:inline-flex}.nf-level.lv-critical,.nf-level.lv-high,.nf-level.lv-error{border-color:var(--nf-danger-line);background:var(--nf-danger-soft);color:var(--nf-danger)}.nf-level.lv-warning{border-color:var(--nf-warn-line);background:var(--nf-warn-soft);color:var(--nf-warn)}.nf-level.lv-debug{border-color:var(--nf-line);background:var(--nf-mute-soft);color:var(--nf-text-mute)}.nf-badge-demo{border:1px dashed var(--nf-warn);background:var(--nf-warn-soft);color:var(--nf-warn);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:500;line-height:18px;display:inline-flex}.nf-badge-demo:before{content:"◈";font-size:10px}.nf-modal-mask{z-index:1000;-webkit-backdrop-filter:blur(3px);animation:nf-fade-in var(--nf-speed) ease-out both;background:#05090899;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.nf-modal{background:var(--nf-glass-strong);border:1px solid var(--nf-glass-brd);border-radius:var(--nf-radius);width:min(560px,100%);max-height:calc(100vh - 48px);box-shadow:var(--nf-shadow), var(--nf-glow-accent);-webkit-backdrop-filter:blur(18px)saturate(1.3);animation:nf-pop var(--nf-speed) ease-out both;flex-direction:column;display:flex;overflow:hidden}.nf-modal.sm{width:min(400px,100%)}.nf-modal.lg{width:min(820px,100%)}.nf-modal.wide{width:min(1080px,100%)}.nf-modal-head{border-bottom:1px solid var(--nf-glass-brd);flex:none;align-items:center;gap:10px;padding:12px 16px;font-size:14.5px;font-weight:600;display:flex}.nf-modal-close{border-radius:var(--nf-radius-sm);width:26px;height:26px;color:var(--nf-text-mute);cursor:pointer;transition:background-color var(--nf-speed) ease, color var(--nf-speed) ease;background:0 0;border:0;margin-left:auto;padding:0;font-size:15px}.nf-modal-body{min-height:0;color:var(--nf-text-dim);scrollbar-width:thin;scrollbar-color:var(--nf-line) transparent;flex:auto;padding:16px;overflow:auto}.nf-modal-body strong{color:var(--nf-text)}.nf-modal-foot{border-top:1px solid var(--nf-glass-brd);background:#ffffff08;flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:11px 16px;display:flex}.nf-modal-danger .nf-modal-head{color:var(--nf-danger)}.nf-modal-require{border:1px solid var(--nf-danger-line);border-radius:var(--nf-radius-sm);background:var(--nf-danger-soft);margin-top:10px;padding:10px}.nf-drawer-mask{z-index:1000;-webkit-backdrop-filter:blur(3px);animation:nf-fade-in var(--nf-speed) ease-out both;background:#0509088c;position:fixed;inset:0}.nf-drawer{z-index:1001;background:var(--nf-glass-strong);border-left:1px solid var(--nf-glass-brd);width:min(460px,92vw);box-shadow:var(--nf-shadow);-webkit-backdrop-filter:blur(18px)saturate(1.3);animation:nf-pop var(--nf-speed) ease-out both;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.nf-drawer.left{border-left:0;border-right:1px solid var(--nf-glass-brd);left:0;right:auto}.nf-drawer-head{border-bottom:1px solid var(--nf-glass-brd);flex:none;align-items:center;gap:10px;padding:12px 16px;font-size:14.5px;font-weight:600;display:flex}.nf-drawer-body{scrollbar-width:thin;scrollbar-color:var(--nf-line) transparent;flex:auto;min-height:0;padding:16px;overflow:auto}.nf-drawer-foot{border-top:1px solid var(--nf-glass-brd);background:#ffffff08;flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:11px 16px;display:flex}.nf-toast-wrap{z-index:1200;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.nf-toast{border:1px solid var(--nf-glass-brd);border-left:3px solid var(--nf-text-mute);border-radius:var(--nf-radius-sm);background:var(--nf-glass-strong);width:100%;box-shadow:var(--nf-shadow);-webkit-backdrop-filter:blur(14px);color:var(--nf-text-dim);pointer-events:auto;animation:nf-pop var(--nf-speed) ease-out both;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.nf-toast-body{color:var(--nf-text-dim);word-break:break-word;margin-top:2px;font-size:12.5px}.nf-toast.tone-ok{border-left-color:var(--nf-ok)}.nf-toast.tone-info{border-left-color:var(--nf-info)}.nf-toast.tone-accent{border-left-color:var(--nf-accent)}.nf-toast.tone-warn{border-left-color:var(--nf-warn)}.nf-toast.tone-danger{border-left-color:var(--nf-danger)}.nf-toast.tone-muted{border-left-color:var(--nf-text-mute)}.nf-toast.tone-critical,.nf-toast.tone-high,.nf-toast.tone-error,.nf-toast.tone-warning,.nf-toast.tone-debug{border-left-width:3px}.nf-toast.tone-critical,.nf-toast.tone-high,.nf-toast.tone-error{border-left-color:var(--nf-danger)}.nf-toast.tone-warning{border-left-color:var(--nf-warn)}.nf-toast.tone-debug{border-left-color:var(--nf-text-mute)}.nf-kv{grid-template-columns:minmax(90px,max-content) minmax(0,1fr);gap:7px 14px;margin:0;font-size:13px;display:grid}.nf-kv dt,.nf-kv-k{color:var(--nf-text-mute);font-size:12.5px}.nf-kv dd,.nf-kv-v{color:var(--nf-text);word-break:break-word;margin:0}.nf-kv.nf-kv-inline{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.nf-timeline{margin:0;padding:2px 0 2px 18px;list-style:none;position:relative}.nf-timeline:before{content:"";background:var(--nf-line-soft);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.nf-timeline-item{padding:0 0 14px;position:relative}.nf-timeline-item:last-child{padding-bottom:0}.nf-timeline-dot{background:var(--nf-panel);border:2px solid var(--nf-text-mute);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;left:-17px}.nf-timeline-item.nf-tone-ok .nf-timeline-dot{border-color:var(--nf-ok);box-shadow:0 0 8px #3ecf8e73}.nf-timeline-item.nf-tone-warn .nf-timeline-dot{border-color:var(--nf-warn);box-shadow:0 0 8px #f0b44573}.nf-timeline-item.nf-tone-danger .nf-timeline-dot{border-color:var(--nf-danger);box-shadow:0 0 8px #f0615a73}.nf-timeline-item.nf-tone-info .nf-timeline-dot{border-color:var(--nf-info);box-shadow:0 0 8px #58b0f573}.nf-timeline-time{color:var(--nf-text-mute);font-size:11.5px;font-family:var(--nf-font-mono)}.nf-tree{margin:0;padding:2px 0;font-size:13px;list-style:none}.nf-tree-node{color:var(--nf-text-dim);display:block}.nf-tree-row,.nf-tree-label{border-radius:var(--nf-radius-sm);cursor:pointer;transition:background-color var(--nf-speed) ease, color var(--nf-speed) ease;align-items:center;gap:6px;padding:4px 6px;display:flex}.nf-tree-row:hover,.nf-tree-label:hover{color:var(--nf-text);background:#ffffff0d;text-decoration:none}.nf-tree-node.active>.nf-tree-row,.nf-tree-node.active>.nf-tree-label{background:var(--nf-accent-soft);color:var(--nf-text)}.nf-tree-toggle{width:14px;color:var(--nf-text-mute);cursor:pointer;transition:transform var(--nf-speed) ease;background:0 0;border:0;flex:none;font-size:10px}.nf-tree-toggle.open{transform:rotate(90deg)}.nf-tree-badge{margin-left:auto}.nf-tree-children{border-left:1px dashed var(--nf-line-soft);margin:0 0 0 14px;padding:0;list-style:none}.nf-code{background:var(--nf-bg-soft);border:1px solid var(--nf-line-soft);border-radius:var(--nf-radius-sm);max-width:100%;color:var(--nf-text);font-family:var(--nf-font-mono);white-space:pre;tab-size:2;scrollbar-width:thin;scrollbar-color:var(--nf-line) transparent;margin:0 0 10px;padding:10px 12px;font-size:12.5px;line-height:1.6;display:block;overflow:auto}.nf-terminal{border:1px solid var(--nf-line);border-radius:var(--nf-radius-sm);color:#cfe3d8;min-height:200px;max-height:420px;font-family:var(--nf-font-mono);scrollbar-width:thin;scrollbar-color:#33454e transparent;background:#081009;flex-direction:column;gap:2px;padding:10px 12px;font-size:12.5px;line-height:1.65;display:flex;overflow:auto}.nf-terminal-line{white-space:pre-wrap;word-break:break-word;color:#cfe3d8}.nf-terminal-line.cmd{color:#e7eef2}.nf-terminal-line.ok{color:var(--nf-ok)}.nf-terminal-line.warn{color:var(--nf-warn)}.nf-terminal-line.err{color:var(--nf-danger)}.nf-terminal-line.dim{color:#6e828f}.nf-terminal-input-line{align-items:center;gap:6px;display:flex}.nf-terminal-prompt{color:var(--nf-accent-2);white-space:pre}.nf-terminal input{color:#e7eef2;min-width:0;font-family:var(--nf-font-mono);background:0 0;border:0;outline:none;flex:auto;padding:0;font-size:12.5px}.nf-progress{background:var(--nf-panel-2);border:1px solid var(--nf-line-soft);border-radius:999px;width:100%;height:7px;position:relative;overflow:hidden}.nf-progress-bar{background:var(--nf-grad-accent);width:0;height:100%;transition:width var(--nf-speed) ease;border-radius:999px;box-shadow:0 0 10px #35d07f66}.nf-progress.nf-tone-muted .nf-progress-bar{background:var(--nf-text-mute);box-shadow:none}.nf-progress-row{align-items:center;gap:10px;display:flex}.nf-progress-row .nf-progress-label{min-width:96px;color:var(--nf-text-dim);flex:none;font-size:12.5px}.nf-progress-row .nf-progress-text{min-width:42px;color:var(--nf-text-mute);text-align:right;font-size:12px;font-family:var(--nf-font-mono);flex:none}.nf-tabs{border-bottom:1px solid var(--nf-line-soft);flex-wrap:wrap;align-items:center;gap:2px;display:flex}.nf-tab{color:var(--nf-text-mute);font-size:13.5px;font-family:var(--nf-font);cursor:pointer;transition:color var(--nf-speed) ease, border-color var(--nf-speed) ease;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px;position:relative}.nf-tab:hover{color:var(--nf-text)}.nf-tab.active{color:var(--nf-text);border-bottom-color:var(--nf-accent)}.nf-tab-badge{background:var(--nf-panel-2);color:var(--nf-text-dim);border-radius:999px;margin-left:5px;padding:0 5px;font-size:11px}.nf-tab.active .nf-tab-badge{background:var(--nf-accent);color:#052b1b;font-weight:600}.nf-tab-panel{padding-top:var(--nf-gap)}.nf-chart{width:100%;min-height:80px;position:relative}.nf-chart canvas{width:100%;display:block}.nf-chart-empty{min-height:120px;color:var(--nf-text-mute);justify-content:center;align-items:center;font-size:12.5px;display:flex}.nf-legend{color:var(--nf-text-dim);flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.nf-legend-item{align-items:center;gap:5px;display:inline-flex}.nf-legend-swatch{background:var(--nf-accent);border-radius:2px;width:9px;height:9px}.nf-empty{color:var(--nf-text-mute);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:32px 18px;display:flex}.nf-empty-icon{opacity:.7;font-size:26px;line-height:1.2}.nf-empty-title,.nf-empty-text{color:var(--nf-text-dim);font-size:13.5px}.nf-empty-desc,.nf-empty-sub{color:var(--nf-text-mute);max-width:420px;font-size:12.5px}.nf-empty-denied .nf-empty-icon{color:var(--nf-warn)}.nf-loading{pointer-events:none;position:relative}.nf-loading:after{content:"载入中…";z-index:5;background:var(--nf-mask-soft);color:var(--nf-text-dim);letter-spacing:.1em;border-radius:inherit;justify-content:center;align-items:center;font-size:12.5px;display:flex;position:absolute;inset:0}.nf-loading-dot{background:var(--nf-accent);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 8px #35d07f80}.nf-skeleton{border-radius:var(--nf-radius-sm);background:linear-gradient(90deg, var(--nf-panel-2) 25%, #ffffff12 50%, var(--nf-panel-2) 75%);border:1px solid var(--nf-line-soft);background-size:200% 100%;width:100%;height:12px;animation:2.4s ease-in-out infinite nf-shimmer;display:block}.nf-skeleton-row{align-items:center;gap:10px;padding:9px 0;display:flex}.nf-skeleton-row .nf-skeleton{flex:auto}.nf-skeleton-row .nf-skeleton.sm{flex:0 0 60px}.nf-error-banner{border:1px solid var(--nf-danger-line);border-left:3px solid var(--nf-danger);border-radius:var(--nf-radius-sm);background:var(--nf-danger-soft);color:var(--nf-text);align-items:flex-start;gap:10px;margin:0 0 12px;padding:10px 12px;font-size:12.5px;display:flex}.nf-error-banner-title{color:var(--nf-danger);font-weight:600}.nf-error-banner-detail{color:var(--nf-text-dim);font-family:var(--nf-font-mono);word-break:break-word;white-space:pre-wrap;margin-top:3px;font-size:11.5px}.nf-error-banner-close{color:var(--nf-text-mute);cursor:pointer;background:0 0;border:0;margin-left:auto}.nf-error-banner-close:hover{color:var(--nf-danger)}.nf-login{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:24px 16px;display:flex}.nf-login>*{flex:none;max-width:100%}.nf-login-logo{width:34px;height:34px;font-size:17px}.nf-login-title{letter-spacing:.02em;font-size:16px;font-weight:600}.nf-login-sub{color:var(--nf-text-mute);font-size:12px}.nf-login-pane{margin-top:12px}.nf-login-error{margin-top:10px}.nf-login-foot{line-height:1.65}.nf-login-card{background:var(--nf-glass-strong);border:1px solid var(--nf-glass-brd);border-radius:var(--nf-radius);width:min(420px,100%);box-shadow:var(--nf-shadow), var(--nf-glow-accent);-webkit-backdrop-filter:blur(18px)saturate(1.3);padding:22px}.nf-login-brand{align-items:center;gap:10px;margin-bottom:2px;font-size:16px;font-weight:600;display:flex}.nf-login-desc{color:var(--nf-text-mute);margin-bottom:14px;font-size:12.5px}.nf-login-demo{border:1px solid var(--nf-line-soft);border-radius:var(--nf-radius-sm);background:var(--nf-bg-soft);width:min(720px,100%);color:var(--nf-text-dim);margin-top:0;padding:10px 12px;font-size:12px}.nf-login-demo .nf-table-wrap{overflow-x:auto}.nf-login-hint{color:var(--nf-warn);font-size:11.5px}.nf-sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nf-top-titles{flex-direction:column;flex:auto;justify-content:center;min-width:0;display:flex}.nf-menu-btn{display:none}.nf-side-toggle{flex:none;justify-content:center;align-items:center;min-width:30px;padding:0 8px;display:inline-flex}.nf-side-switch{flex:none;align-items:center;display:inline-flex}.nf-search-wrap{flex:220px;align-items:center;gap:6px;min-width:0;display:flex}.nf-search-wrap .nf-input{min-width:0}.nf-user{max-width:220px}.nf-user>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nf-avatar{background:var(--nf-grad-accent);color:#052b1b;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 0 10px #35d07f40}.nf-brand-platform{color:var(--nf-text-mute);font-size:11px}.nf-page-head-text{min-width:0}.nf-pop-head,.nf-pop-foot{color:var(--nf-text-dim);align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.nf-pop-head{border-bottom:1px solid var(--nf-glass-brd);font-weight:600}.nf-pop-foot{border-top:1px solid var(--nf-glass-brd)}.nf-pop-group{color:var(--nf-text-mute);letter-spacing:.12em;text-transform:uppercase;padding:8px 10px 4px;font-size:11px}.nf-platform-item{border-radius:var(--nf-radius-sm);color:var(--nf-text-dim);align-items:center;gap:8px;padding:7px 10px;text-decoration:none;display:flex}.nf-platform-item:hover{color:var(--nf-text);background:#ffffff0d;text-decoration:none}.nf-platform-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.nf-platform-text b{color:var(--nf-text);font-size:13px;font-weight:600}.nf-platform-text i{color:var(--nf-text-mute);font-size:11px;font-style:normal}.nf-search-results{background:var(--nf-glass-strong);border:1px solid var(--nf-glass-brd);border-radius:var(--nf-radius);width:min(520px,92vw);box-shadow:var(--nf-shadow);-webkit-backdrop-filter:blur(16px)saturate(1.25);padding:6px}.nf-search-item{border-radius:var(--nf-radius-sm);width:100%;color:var(--nf-text-dim);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.nf-search-item:hover{color:var(--nf-text);background:#ffffff0f}.nf-search-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.nf-search-sub{color:var(--nf-text-mute);white-space:nowrap;flex:none;font-size:11.5px}.nf-user-head{border-bottom:1px solid var(--nf-glass-brd);margin-bottom:6px;padding:8px 10px 10px}.nf-user-title{color:var(--nf-text);font-size:13.5px;font-weight:600}.nf-user-sub{color:var(--nf-text-mute);font-size:11.5px}.nf-user-foot{border-top:1px solid var(--nf-glass-brd);flex-wrap:wrap;gap:6px;margin-top:6px;padding-top:8px;display:flex}.nf-app.nf-drawer-open{overflow:hidden}.nf-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.nf-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nf-notify-list{z-index:50;background:var(--nf-glass-strong);border:1px solid var(--nf-glass-brd);border-radius:var(--nf-radius);width:min(340px,100vw - 32px);max-height:380px;box-shadow:var(--nf-shadow);-webkit-backdrop-filter:blur(16px)saturate(1.25);scrollbar-width:thin;scrollbar-color:var(--nf-line) transparent;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.nf-notify-head{border-bottom:1px solid var(--nf-glass-brd);color:var(--nf-text-dim);align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;font-weight:600;display:flex}.nf-notify-head .nf-btn{margin-left:auto}.nf-notify-item{border-bottom:1px solid var(--nf-glass-brd);color:var(--nf-text-dim);cursor:pointer;transition:background-color var(--nf-speed) ease;gap:8px;padding:9px 12px;font-size:12.5px;display:flex}.nf-notify-item:hover{background:#ffffff0d}.nf-notify-item:last-child{border-bottom:0}.nf-notify-item.unread{background:var(--nf-accent-soft)}.nf-notify-item.unread .nf-notify-title{color:var(--nf-text);font-weight:600}.nf-notify-title{color:var(--nf-text-dim)}.nf-notify-body{color:var(--nf-text-mute);word-break:break-word;margin-top:2px;font-size:11.5px}.nf-notify-time{color:var(--nf-text-mute);white-space:nowrap;font-size:11px;font-family:var(--nf-font-mono)}.nf-notify-foot{color:var(--nf-text-mute);text-align:center;padding:8px 12px;font-size:11.5px}.nf-bell-count{background:var(--nf-danger);color:#fff;text-align:center;border-radius:999px;min-width:15px;height:15px;padding:0 4px;font-size:10px;line-height:15px;position:absolute;top:2px;right:2px}.nf-user-menu{z-index:50;background:var(--nf-glass-strong);border:1px solid var(--nf-glass-brd);border-radius:var(--nf-radius);width:min(240px,100vw - 32px);box-shadow:var(--nf-shadow);-webkit-backdrop-filter:blur(16px)saturate(1.25);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.nf-user-menu-head{border-bottom:1px solid var(--nf-glass-brd);margin-bottom:6px;padding:8px 10px 10px}.nf-user-menu-name{color:var(--nf-text);font-size:13.5px;font-weight:600}.nf-user-menu-meta{color:var(--nf-text-mute);font-size:11.5px}.nf-user-menu-item{border-radius:var(--nf-radius-sm);width:100%;color:var(--nf-text-dim);text-align:left;cursor:pointer;transition:background-color var(--nf-speed) ease, color var(--nf-speed) ease;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.nf-user-menu-item:hover{color:var(--nf-text);background:#ffffff0f}.nf-user-menu-item.danger{color:var(--nf-danger)}.nf-user-menu-sep{background:var(--nf-glass-brd);height:1px;margin:6px 4px}.nf-pop-anchor{position:relative}@media (max-width:1200px){.nf-app{grid-template-columns:var(--nf-side-rail-w) minmax(0, 1fr)}.nf-side{width:var(--nf-side-rail-w);overflow-x:hidden}.nf-side-brand{justify-content:center;padding:0 8px}.nf-brand-text,.nf-side-foot,.nf-nav-group-title,.nf-nav-group>.title,.nf-nav-label,.nf-nav-badge{display:none}.nf-nav{padding:10px 6px 20px}.nf-nav-item{justify-content:center;gap:0;padding:9px 0}.nf-split{grid-template-columns:minmax(0,1fr)}.nf-grid.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}.nf-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.nf-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}.nf-side.collapsed{width:var(--nf-side-rail-w);overflow-x:hidden}.nf-side.collapsed .nf-side-brand{justify-content:center;padding:0 8px}.nf-side.collapsed .nf-brand-text,.nf-side.collapsed .nf-nav-group-title,.nf-side.collapsed .nf-nav-group>.title,.nf-side.collapsed .nf-nav-label,.nf-side.collapsed .nf-nav-badge,.nf-side.collapsed .nf-side-foot{display:none}.nf-side.collapsed .nf-nav{padding:10px 6px 20px}.nf-side.collapsed .nf-nav-item{justify-content:center;gap:0;padding:9px 0}@media (max-width:820px){:root{--nf-top-h:52px;--nf-pad:12px;--nf-gap:10px}.nf-app,.nf-app.collapsed{grid-template-columns:minmax(0,1fr)}.nf-side,.nf-side.collapsed{z-index:60;width:min(268px,82vw);height:100vh;transition:transform var(--nf-speed) ease;box-shadow:none;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.nf-side.open,.nf-side.collapsed.open{box-shadow:var(--nf-shadow);transform:translate(0)}.nf-side .nf-side-brand,.nf-side.collapsed .nf-side-brand{justify-content:flex-start;padding:0 14px}.nf-side .nf-brand-text,.nf-side .nf-nav-label,.nf-side .nf-nav-group-title,.nf-side.collapsed .nf-brand-text,.nf-side.collapsed .nf-nav-label,.nf-side.collapsed .nf-nav-group-title{display:flex}.nf-side .nf-nav,.nf-side.collapsed .nf-nav{padding:10px 8px 20px}.nf-side .nf-nav-item,.nf-side.collapsed .nf-nav-item{justify-content:flex-start;gap:10px;padding:9px 10px}.nf-side .nf-nav-badge,.nf-side.collapsed .nf-nav-badge{display:inline-block}.nf-side .nf-side-foot,.nf-side.collapsed .nf-side-foot{display:block}.nf-main{height:auto;min-height:100vh;overflow:visible}.nf-top{padding:0 12px}.nf-top .nf-search,.nf-search,.nf-search-kbd,.nf-search-wrap{display:none}.nf-menu-btn{display:inline-flex}.nf-side-toggle,.nf-side-switch,.nf-crumbs{display:none}.nf-page-head{padding:12px 12px 10px}.nf-page-body{padding:12px;overflow:visible}.nf-page-actions{width:100%;margin-left:0}.nf-grid,.nf-grid.cols-2,.nf-grid.cols-3,.nf-grid.cols-4,.nf-grid.cols-6,.nf-grid-5{grid-template-columns:minmax(0,1fr)}.nf-grid>.span-2,.nf-grid>.span-all{grid-column:auto}.nf-form-grid,.nf-form-grid.three,.nf-split,.nf-split.wide-aside{grid-template-columns:minmax(0,1fr)}.nf-kv{grid-template-columns:minmax(0,1fr);gap:2px 0}.nf-kv dd,.nf-kv-v{margin-bottom:8px}.nf-toast-wrap{max-width:none;bottom:12px;left:12px;right:12px}.nf-drawer{width:92vw}.nf-drawer-mask{z-index:55}.nf-modal-mask{align-items:flex-end;padding:0}.nf-modal{border-radius:var(--nf-radius) var(--nf-radius) 0 0;width:100%;max-height:88vh}.nf-sticky{position:static}}@media (max-width:560px){.nf-stat-value{font-size:22px}.nf-table th,.nf-table td{padding:9px 10px}.nf-modal-foot,.nf-drawer-foot{flex-wrap:wrap}.nf-modal-foot .nf-btn,.nf-drawer-foot .nf-btn{flex:auto}}:root{--nf-ctl-h:34px;--nf-ctl-h-sm:28px}.nf-page{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--nf-line) transparent;overflow:hidden auto}.nf-page::-webkit-scrollbar{width:10px;height:10px}.nf-page::-webkit-scrollbar-track{background:0 0}.nf-page::-webkit-scrollbar-thumb{background:var(--nf-line);border-radius:999px}.nf-page::-webkit-scrollbar-thumb:hover{background:var(--nf-text-mute)}.nf-page>.nf-page-body{min-height:0;overflow:visible}.nf-page-head{z-index:6;background:var(--nf-glass);border-bottom:1px solid var(--nf-glass-brd);-webkit-backdrop-filter:blur(14px)saturate(1.2);position:sticky;top:0}.nf-table-wrap{max-width:100%}.nf-input,.nf-select{height:var(--nf-ctl-h);padding-top:0;padding-bottom:0}.nf-input.sm,.nf-select.sm{height:var(--nf-ctl-h-sm);padding-top:0;padding-bottom:0}.nf-btn{height:var(--nf-ctl-h)}.nf-btn.sm{height:var(--nf-ctl-h-sm)}.nf-btn.lg{height:40px}.nf-toolbar,.nf-page-actions,.nf-card-head,.nf-card-extra{align-items:center}.nf-toolbar>.nf-input,.nf-toolbar>.nf-select{flex:0 200px;width:auto;min-width:132px}.nf-toolbar>.nf-input.grow,.nf-toolbar>.nf-search{flex:260px}.nf-toolbar>.nf-btn{flex:none}.nf-app.collapsed .nf-side{width:var(--nf-side-rail-w)}.nf-app.collapsed .nf-side-brand{justify-content:center;padding:0 8px}.nf-app.collapsed .nf-brand-text,.nf-app.collapsed .nf-nav-label,.nf-app.collapsed .nf-nav-group-title,.nf-app.collapsed .nf-nav-group>.title,.nf-app.collapsed .nf-nav-badge,.nf-app.collapsed .nf-side-foot,.nf-app.collapsed .nf-side-switch,.nf-side.collapsed .nf-side-switch{display:none}.nf-app.collapsed .nf-nav-item{justify-content:center;gap:0;padding:9px 0}.nf-side.collapsed .nf-nav,.nf-app.collapsed .nf-nav{padding:10px 6px 20px}.nf-side.collapsed .nf-nav-item,.nf-app.collapsed .nf-nav-item{white-space:nowrap;overflow:hidden}.nf-grid>.nf-card,.nf-grid>.nf-stat,.nf-grid>.span-2>.nf-card,.nf-grid>.span-all>.nf-card{height:100%}.nf-grid>*{min-width:0}.nf-stat{min-height:96px}@keyframes nf-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes nf-pop{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes nf-shimmer{0%{background-position:180% 0}to{background-position:-20% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.nf-stat:hover,.nf-btn:active{transform:none}.nf-side{transition:none}.nf-skeleton{background:var(--nf-panel-2)}}@media print{:root,[data-theme=light],[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--nf-bg:#fff;--nf-panel:#fff;--nf-panel-2:#fff;--nf-bg-soft:#fff;--nf-text:#000;--nf-text-dim:#333;--nf-text-mute:#555;--nf-line:#bbb;--nf-line-soft:#ddd;--nf-shadow:none;--nf-shadow-sm:none}body:before{display:none}.nf-side,.nf-top,.nf-toast-wrap,.nf-modal-mask,.nf-drawer-mask,.nf-drawer,.nf-notify-list,.nf-user-menu,.nf-error-banner-close,.nf-toolbar,.nf-pager{display:none!important}.nf-app{min-height:0;display:block}.nf-main{height:auto;display:block;overflow:visible}.nf-page,.nf-page-body{padding:0;display:block;overflow:visible}.nf-card,.nf-card-body,.nf-modal,.nf-table-wrap{break-inside:avoid;box-shadow:none!important;border-color:#ddd!important}.nf-table thead th{position:static}body{color:#000;background:#fff;font-size:11pt}a{color:#000;text-decoration:underline}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand-primary:var(--nf-accent);--brand-primary-2:var(--nf-accent-2);--brand-primary-soft:var(--nf-accent-soft);--brand-primary-line:var(--nf-accent-line);--brand-primary-ink:var(--nf-accent);--brand-bg:var(--nf-bg);--brand-bg-soft:var(--nf-bg-soft);--brand-surface:var(--nf-panel);--brand-surface-2:var(--nf-panel-2);--brand-glass:var(--nf-glass);--brand-border:var(--nf-line);--brand-border-soft:var(--nf-line-soft);--brand-border-glass:var(--nf-glass-brd);--brand-text:var(--nf-text);--brand-text-dim:var(--nf-text-dim);--brand-text-mute:var(--nf-text-mute);--brand-success:var(--nf-ok);--brand-warning:var(--nf-warn);--brand-error:var(--nf-danger);--brand-info:var(--nf-info);--brand-success-soft:var(--nf-ok-soft);--brand-warning-soft:var(--nf-warn-soft);--brand-error-soft:var(--nf-danger-soft);--brand-info-soft:var(--nf-info-soft);--brand-success-line:var(--nf-ok-line);--brand-warning-line:var(--nf-warn-line);--brand-error-line:var(--nf-danger-line);--brand-info-line:var(--nf-info-line);--brand-hover:#ffffff0f;--brand-active:var(--nf-accent-soft);--brand-focus:var(--nf-accent);--brand-mask:var(--nf-mask-soft);--brand-radius:var(--nf-radius);--brand-radius-sm:var(--nf-radius-sm);--brand-shadow:var(--nf-shadow);--brand-shadow-sm:var(--nf-shadow-sm);--brand-glow:var(--nf-glow-accent);--brand-grad:var(--nf-grad-accent);--brand-sidebar-width:var(--nf-side-w);--brand-sidebar-rail:var(--nf-side-rail-w);--brand-topbar-height:var(--nf-top-h);--brand-font:var(--nf-font);--brand-font-mono:var(--nf-font-mono)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=light]{--brand-primary-ink:#0f7a4d;--brand-hover:#12211b0d;--brand-mask:#eef4f1bf}[data-theme=light] a:not(.nf-btn):not(.nf-nav-item){color:var(--brand-primary-ink)}[data-theme=light] a:not(.nf-btn):not(.nf-nav-item):hover{color:#0b5f3b}[data-theme=light] .nf-crumbs a:hover,[data-theme=light] .nf-side-foot a:hover{color:var(--brand-primary-ink)}.nf-brand-mark.brand-logo,.nf-login-logo.brand-logo{border-radius:8px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden;color:#0000!important;background:#f5f8f6!important;border:1px solid #12211b1f!important;padding:2px!important;font-size:0!important;box-shadow:0 0 0 1px #ffffff0a,0 2px 8px #00000047!important}.brand-logo img{object-fit:contain;border-radius:6px;width:100%;max-width:32px;height:100%;max-height:32px;display:block}.nf-side-brand .brand-logo{flex:none}.brand-attribution{color:var(--brand-text-mute);text-align:center;flex-direction:column;align-items:center;gap:1px;font-size:11px;line-height:1.5;display:flex}.brand-attribution a{color:var(--brand-text-mute);text-decoration:none}.brand-attribution a:hover{color:var(--brand-primary);text-decoration:underline}.brand-attribution-license{opacity:.8;font-size:10px}.brand-attribution.compact{text-align:left;align-items:flex-start;margin:4px 0 2px;font-size:10.5px}.nf-boot{flex-direction:column;gap:10px}.nf-boot-logo{object-fit:contain;width:36px;height:36px;box-shadow:var(--brand-glow);border-radius:9px}.nf-boot span{color:var(--brand-text-dim);font-size:12.5px}.skip-link{z-index:2000;background:var(--brand-surface);border:1px solid var(--brand-primary);border-radius:var(--brand-radius-sm);color:var(--brand-text);padding:8px 14px;font-size:13px;transition:top .12s;position:absolute;top:-60px;left:12px}.skip-link:focus{text-decoration:none;top:10px}.break-all{word-break:break-all;overflow-wrap:anywhere}.muted-small{color:var(--brand-text-mute);font-size:12px}.cell-primary{color:var(--brand-text);font-weight:500;line-height:1.4}.cell-sub{color:var(--brand-text-mute);text-overflow:ellipsis;max-width:320px;font-size:11.5px;line-height:1.45;overflow:hidden}.tag-row{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.inline-link{align-items:center;gap:4px;display:inline-flex}.page-title-row{align-items:center;gap:10px;min-width:0;display:flex}.toolbar-spacer{flex:auto}.wrap-cell{white-space:normal;min-width:260px;line-height:1.5}.nf-col-actions{text-align:right}.nf-col-sel{text-align:center;width:38px;padding-right:0}.loading-title{color:var(--brand-text-dim);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.empty-action{margin-top:10px}.nf-error-banner.compact{margin:8px 0}.nf-error-banner .error-icon{color:var(--brand-error);flex:none;margin-top:1px}.nf-error-banner .error-content{flex:auto;min-width:0}.nf-error-banner .error-details{color:var(--brand-text-mute);margin-top:4px;font-size:11.5px}.nf-error-banner .error-details summary{cursor:pointer}.pager-gap{color:var(--brand-text-mute);padding:0 2px}.nf-pager-page.active{border-color:var(--brand-primary);background:var(--brand-primary-soft);color:var(--brand-text)}.nf-app.collapsed{grid-template-columns:var(--nf-side-rail-w) minmax(0, 1fr)}.nf-side.collapsed .nf-side-toggle{display:none}.nf-side{z-index:40}.nf-side-brand{gap:10px}.nf-side-brand .nf-brand-name{letter-spacing:.01em;white-space:nowrap}.side-foot-row{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;margin-top:2px;display:flex;overflow:hidden}.side-foot-brand{color:var(--brand-text-dim);align-items:center;gap:6px;margin-bottom:3px;font-size:11.5px;font-weight:600;display:flex}.topbar-brand{display:none!important}.empty-brand-logo{opacity:.9;margin-bottom:6px}.nf-side-foot .brand-attribution{margin:3px 0}.nf-side-foot .brand-attribution a{font-size:10.5px}.side-mask{z-index:45;-webkit-backdrop-filter:blur(2px);background:#0408078c;border:0;padding:0;display:none;position:fixed;inset:0}.nf-top{gap:10px}.nf-top .nf-menu-btn{flex:none;display:inline-flex}.nf-top-titles{overflow:hidden}.nf-crumbs{line-height:1.4}.nf-top-title{line-height:1.35}.nf-top-actions{gap:4px}.backend-status{gap:7px;font-size:12px}.backend-status-text{white-space:nowrap}.lang-button{gap:4px;width:auto;min-width:46px;padding:0 7px}.lang-label{letter-spacing:.04em;font-size:11.5px;font-weight:600}.topbar-user{align-items:center;gap:7px;min-width:0;padding-left:4px;display:flex}.topbar-user-name{white-space:nowrap;text-overflow:ellipsis;max-width:140px;color:var(--brand-text-dim);font-size:12.5px;overflow:hidden}.nf-page-head{gap:10px}.nf-page-actions{flex-wrap:wrap}.nf-page-actions .sync-meta{color:var(--brand-text-mute);white-space:nowrap;font-size:11.5px}.nf-card-head>.nf-toolbar{flex-wrap:nowrap;flex:auto;min-width:0;margin-bottom:0}.nf-card-head>.nf-toolbar .nf-search{flex:0 360px;min-width:180px;max-width:360px}.nf-card-head>.nf-toolbar .nf-select{flex:none}.nf-card-head .nf-tabs{border-bottom:0;flex:auto}.nf-card-head .nf-card-extra .nf-search{width:260px}.nf-card-head .nf-search{max-width:300px}.nf-select{width:auto;min-width:128px}.nf-input{width:100%}.nf-toolbar .nf-search{flex:280px;max-width:380px}.nf-table td.nf-num,.nf-table th.nf-num{text-align:right}.nf-modal .nf-modal-body,.nf-drawer .nf-drawer-body{font-size:13px}.login-shell{flex-direction:column;min-height:100vh;display:flex;position:relative}.login-topbar{z-index:5;position:absolute;top:14px;right:16px}.login-topbar .nf-btn{gap:5px}.nf-login{gap:16px;padding-top:56px;padding-bottom:28px}.nf-login-brand{align-items:center}.nf-login-title{letter-spacing:.01em;font-size:18px}.nf-login-sub{font-size:12px}.nf-login-card{width:min(460px,100%)}.nf-login-desc{color:var(--brand-text-dim);margin:0 0 14px;font-size:13px;line-height:1.6}.login-actions{flex-direction:column;gap:8px;margin-top:6px;display:flex}.login-actions .nf-btn{width:100%}.login-hint{color:var(--brand-text-mute);align-items:flex-start;gap:6px;margin-top:14px;font-size:11.5px;line-height:1.55;display:flex}.login-hint svg{flex:none;margin-top:1px}.login-footer{flex-direction:column;align-items:center;gap:6px;width:min(460px,100%);padding-top:6px;display:flex}.login-footer-brand{color:var(--brand-text-dim);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.login-links{color:var(--brand-text-mute);flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;font-size:11.5px;display:flex}.login-links a{color:var(--brand-text-mute)}.login-copy{color:var(--brand-text-mute);opacity:.85;font-size:10.5px}.callback-progress{color:var(--brand-text-dim);align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.notfound-card{background:var(--nf-glass-strong);width:min(460px,100%);box-shadow:var(--nf-shadow)}.notfound-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.notfound-code{font-family:var(--brand-font-mono);color:var(--brand-primary);opacity:.85;font-size:34px;font-weight:700;line-height:1}.notfound-title{margin:0 0 6px;font-size:20px}.notfound-desc{color:var(--brand-text-dim);margin:0 0 18px;font-size:13px}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-main,.dashboard-activity{margin-top:0}.dashboard-quick{flex-wrap:wrap;gap:8px;display:flex}.level-bars{flex-direction:column;gap:9px;display:flex}.level-bars .nf-progress-label{min-width:52px}.level-bars .nf-progress{flex:auto}.alert-summary-foot{border-top:1px solid var(--brand-border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:10px;display:flex}.recent-activity{padding:14px 16px 10px 30px}.recent-activity .nf-timeline-title{white-space:normal;line-height:1.5}.recent-activity .nf-timeline-desc{white-space:normal}.nf-page-body{overflow-x:hidden}.alerts-toolbar{background:var(--brand-surface);border:1px solid var(--brand-border-soft);border-radius:var(--brand-radius);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.alerts-toolbar .nf-search{flex:300px;min-width:220px;max-width:420px}.alerts-toolbar .nf-select{min-width:116px}.alerts-batchbar{background:var(--brand-surface-2);border:1px solid var(--brand-border-soft);border-radius:var(--brand-radius);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.alerts-batchbar .batch-count{color:var(--brand-text);margin-right:4px;font-size:12.5px;font-weight:600}.alerts-card{overflow:hidden}.alerts-card .nf-table-wrap{min-height:220px;max-height:calc(100vh - 310px);overflow:auto}.alerts-table{table-layout:fixed;width:100%;min-width:1600px;font-size:12px}.alerts-table thead th{z-index:3;text-overflow:ellipsis;overflow:hidden}.alerts-table tbody td{vertical-align:top;text-overflow:ellipsis;padding:9px 10px;overflow:hidden}.alerts-table th:first-child{width:34px}.alerts-table th:nth-child(2){width:112px}.alerts-table th:nth-child(3){width:62px}.alerts-table th:nth-child(4){width:82px}.alerts-table th:nth-child(5){width:90px}.alerts-table th:nth-child(6){width:112px}.alerts-table th:nth-child(7){width:92px}.alerts-table th:nth-child(8),.alerts-table th:nth-child(9){width:108px}.alerts-table th:nth-child(10){width:106px}.alerts-table th:nth-child(11){width:190px}.alerts-table th:nth-child(12){width:120px}.alerts-table th:nth-child(13){width:84px}.alerts-table th:nth-child(14){width:120px}.alerts-table th:nth-child(15){width:200px}.alert-id-cell{text-overflow:ellipsis;overflow:hidden}.alert-message-cell{white-space:normal;color:var(--brand-text);line-height:1.5}.alert-note-cell{white-space:normal;line-height:1.45}.alert-actions{flex-wrap:wrap;gap:4px;display:flex}.alerts-table td:nth-child(12){white-space:normal}.alerts-table td:nth-child(6) .cell-sub,.alerts-table td:nth-child(10){white-space:normal;word-break:break-all;letter-spacing:-.01em;font-size:10px;line-height:1.45}.alert-actions .nf-btn{gap:3px;height:24px;padding:0 7px;font-size:11.5px}.alert-actions .nf-btn svg{flex:none}.nf-level.lv-medium{border-color:var(--brand-warning-line);background:var(--brand-warning-soft);color:var(--brand-warning)}.nf-level.lv-low{border-color:var(--brand-primary-line);background:var(--brand-primary-soft);color:var(--brand-primary)}.nf-level.lv-info{border-color:var(--brand-info-line);background:var(--brand-info-soft);color:var(--brand-info)}.nf-drawer.wide{width:min(820px,94vw)}.drawer-subtitle{color:var(--brand-text-mute);white-space:normal;max-width:640px;margin-top:2px;font-size:11.5px;font-weight:400}.detail-stack{flex-direction:column;gap:14px;display:flex}.detail-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-message{background:var(--brand-bg-soft);border:1px solid var(--brand-border-soft);border-left:3px solid var(--brand-primary);border-radius:var(--brand-radius-sm);color:var(--brand-text);padding:10px 12px;font-size:13.5px;line-height:1.6}.detail-actions{flex-wrap:wrap;gap:6px;display:flex}.detail-table{border:1px solid var(--brand-border-soft);border-radius:var(--brand-radius-sm)}.detail-hint{border:1px dashed var(--brand-border);border-radius:var(--brand-radius-sm);color:var(--brand-text-mute);padding:8px 10px;font-size:11.5px;line-height:1.55}.note-editor{background:var(--brand-bg-soft);border:1px solid var(--brand-border-soft);border-radius:var(--brand-radius-sm);flex-direction:column;gap:6px;padding:12px;display:flex}.note-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.raw-block{border:1px solid var(--brand-border-soft);border-radius:var(--brand-radius-sm);background:var(--brand-bg-soft)}.raw-block>summary{color:var(--brand-text-dim);cursor:pointer;padding:9px 12px;font-size:12.5px}.raw-block>.nf-code{border:0;border-top:1px solid var(--brand-border-soft);border-radius:0 0 var(--brand-radius-sm) var(--brand-radius-sm);max-height:420px;margin:0}.field-label{color:var(--brand-text-dim);margin-bottom:4px;font-size:12.5px;display:block}.field{display:block}.form-stack{flex-direction:column;gap:12px;display:flex}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-brand{align-items:center;gap:12px;margin-bottom:12px;display:flex}.settings-brand-name{color:var(--brand-text);font-size:16px;font-weight:600}.settings-brand-sub{color:var(--brand-text-mute);font-size:12px}.settings-row{border-bottom:1px solid var(--brand-border-soft);justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.settings-row:last-of-type{border-bottom:0}.settings-row-label{color:var(--brand-text-dim);font-size:13px}.segmented{background:var(--brand-bg-soft);border:1px solid var(--brand-border);border-radius:var(--brand-radius-sm);align-items:center;gap:2px;padding:2px;display:inline-flex}.segmented button{height:26px;color:var(--brand-text-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}.segmented button:hover{color:var(--brand-text);background:var(--brand-hover)}.segmented button.active{background:var(--brand-primary-soft);color:var(--brand-text);box-shadow:inset 0 0 0 1px var(--brand-primary-line)}.settings-note{border:1px dashed var(--brand-border);border-radius:var(--brand-radius-sm);color:var(--brand-text-mute);align-items:flex-start;gap:6px;margin-top:12px;padding:8px 10px;font-size:11.5px;line-height:1.55;display:flex}.settings-note svg{flex:none;margin-top:1px}.settings-warning{border:1px solid var(--brand-warning-line);border-left:3px solid var(--brand-warning);border-radius:var(--brand-radius-sm);background:var(--brand-warning-soft);color:var(--brand-text-dim);margin-top:10px;padding:8px 10px;font-size:11.5px}.settings-paragraph{color:var(--brand-text-dim);margin:0 0 10px;font-size:12.5px;line-height:1.6}.mono-headers dt{font-family:var(--brand-font-mono);font-size:11.5px}.about-grid{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.about-brand{align-items:center;gap:10px;margin-bottom:8px;display:flex}.about-links{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1500px){.backend-status-text{display:none}}@media (max-width:1280px){.topbar-user-name{display:none}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.alerts-toolbar .nf-search{max-width:100%}}@media (max-width:1000px){.nf-card-head>.nf-toolbar{flex-wrap:wrap}.dashboard-main,.settings-grid{grid-template-columns:minmax(0,1fr)}.settings-grid .span-2{grid-column:auto}.nf-card-head .nf-card-extra .nf-search{width:200px}}@media (max-width:820px){.nf-page .nf-search,.nf-page .nf-search input,.alerts-toolbar .nf-search{display:flex}.nf-page .nf-search input{display:block}.nf-app,.nf-main,.nf-page,.nf-page-body{width:100%;min-width:0;max-width:100vw}.alerts-toolbar,.alerts-batchbar,.alerts-card,.alerts-card .nf-table-wrap{width:100%;max-width:100%}.alerts-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.alerts-toolbar .nf-search{grid-column:1/-1;width:100%;max-width:none}.alerts-toolbar .nf-select,.alerts-toolbar .nf-btn{width:100%;min-width:0}.alerts-toolbar .nf-btn.primary{grid-column:1/-1}.alerts-toolbar .toolbar-spacer,.alerts-batchbar .muted-small,.alerts-batchbar .toolbar-spacer{display:none}.nf-top{gap:6px}.nf-crumbs{display:none}.nf-top-title{font-size:14px}.nf-top .nf-menu-btn{display:inline-flex}.topbar-brand{display:inline-flex!important}.side-mask{display:block}.backend-status{display:none}.nf-brand-text{display:flex}.nf-page-head{align-items:flex-start;padding:10px 12px 8px}.nf-page-body{padding:12px}.alerts-toolbar,.alerts-batchbar{padding:8px}.alerts-card .nf-table-wrap{max-height:none}.alerts-toolbar .nf-search{flex-basis:100%}.dashboard-stats{grid-template-columns:minmax(0,1fr)}.login-footer,.nf-login-card,.notfound-card{width:100%}}@media (max-width:560px){.lang-label{display:none}.lang-button{min-width:32px}.nf-top-actions{gap:2px}.nf-top-actions .nf-badge-demo,.topbar-user .nf-avatar{display:none}.nf-login{padding-top:46px}.nf-table th,.nf-table td{padding:8px 9px}}@media (prefers-reduced-motion:reduce){.skip-link,.nf-toast,.nf-modal,.nf-drawer{transition:none!important;animation:none!important}}@media print{.nf-top,.alerts-toolbar,.alerts-batchbar,.nf-page-actions,.login-topbar,.nf-side{display:none!important}.nf-app{display:block}.nf-page-body{padding:0}.alerts-card .nf-table-wrap{max-height:none}}:root{--bg:#060607;--ink:#f7f0e4;--text:#e6e0d6;--sub:#9b958b;--faint:#5f5a53;--hair:#ffffff13;--hair-strong:#ffffff24;--line:#242835;--panel:#ffffff06;--panel-2:#ffffff0a;--cream:#f6e8ce;--gold:#d9b489;--gold-soft:#e3b476;--rose:#c2a4b0;--sage:#a9bc9f;--slate:#9ba1a6;--warn:#e8b878;--danger:#e08a86;--ok:#9fc3a6;--radius:16px;--radius-sm:10px;--mono:ui-monospace,"SF Mono","JetBrains Mono",Consolas,"Liberation Mono",monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{background:radial-gradient(72% 34% at 42% 30%, #ecc79b14, transparent 72%), radial-gradient(46% 26% at 67% 40%, #d0a6960d, transparent 74%), radial-gradient(110% 70% at 50% 110%, #7870780d, transparent 70%), var(--bg);min-height:100vh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.6}body:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(132% 92% at 50% 40%,#0000 40%,#0202038c 100%);position:fixed;inset:0}body:before{content:"";z-index:0;pointer-events:none;opacity:.42;background-image:radial-gradient(1px 1px at 24px 36px,#ffecce8c,#0000 1.4px),radial-gradient(1px 1px at 168px 92px,#ffecce66,#0000 1.4px),radial-gradient(1px 1px at 88px 188px,#ffecce80,#0000 1.4px),radial-gradient(1px 1px at 232px 214px,#ffecce52,#0000 1.4px),radial-gradient(1px 1px at 204px 24px,#ffecce6b,#0000 1.4px);background-size:260px 260px;position:fixed;inset:0}#stars{z-index:0;pointer-events:none;opacity:.8;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}::selection{color:#fff;background:#d9b48947}.mono{font-family:var(--mono);font-variant-ligatures:none}.muted{color:var(--sub)}.faint{color:var(--faint)}.wrap{z-index:1;position:relative}.topbar{z-index:40;border-bottom:1px solid var(--hair);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#06060794;align-items:center;gap:22px;padding:14px 28px;display:flex;position:sticky;top:0}.brand{flex:none;align-items:center;gap:10px;display:flex}.brand-mark{color:#141210;width:28px;height:28px;font-family:var(--mono);background:#f7f4ec;border-radius:9px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid;box-shadow:0 0 0 1px #ffffff14,0 10px 26px -14px #000000e6,0 0 24px -10px #e2be9499}.brand-name{letter-spacing:-.01em;color:var(--ink);white-space:nowrap;font-size:14.5px;font-weight:640}.brand-name .dot{color:var(--gold)}.brand-sub{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px}.topnav{flex-wrap:wrap;align-items:center;gap:2px;margin-left:6px;display:flex}.topnav a{color:var(--sub);border-radius:999px;padding:7px 12px;font-size:13px;transition:color .18s,background .18s}.topnav a:hover{color:var(--ink);background:#ffffff0b}.topnav a.active{color:var(--ink);background:#d9b4891a;box-shadow:inset 0 0 0 1px #d9b4892e}.top-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.env-pill{color:var(--sub);border:1px solid var(--hair);white-space:nowrap;background:#ffffff05;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:11px;display:inline-flex}.env-pill i{background:var(--ok);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #9fc3a6b3}.env-pill.prod i{background:var(--gold);box-shadow:0 0 8px #d9b489b3}.icon-btn{border:1px solid var(--hair);width:32px;height:32px;color:var(--sub);cursor:pointer;background:#ffffff05;border-radius:9px;place-items:center;transition:all .18s;display:grid}.icon-btn:hover{color:var(--ink);border-color:var(--hair-strong);background:#ffffff0d}.avatar{border:1px solid var(--hair-strong);width:30px;height:30px;color:var(--cream);font-size:11px;font-family:var(--mono);background:linear-gradient(135deg,#2a2723,#181614);border-radius:50%;place-items:center;display:grid}.shell{z-index:1;grid-template-columns:212px minmax(0,1fr);min-height:calc(100vh - 61px);display:grid;position:relative}.shell.solo{grid-template-columns:minmax(0,1fr)}.shell.solo .main{width:100%;margin:0 auto}.sidebar{border-right:1px solid var(--hair);scrollbar-width:thin;align-self:start;height:calc(100vh - 61px);padding:22px 14px 30px 22px;position:sticky;top:61px;overflow:auto}.side-group{margin-bottom:22px}.side-label{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0 0 8px;padding-left:10px;font-size:10px}.side-nav{flex-direction:column;gap:1px;display:flex}.side-nav a{color:var(--sub);border-radius:9px;align-items:center;gap:9px;padding:7px 10px;font-size:12.8px;transition:all .16s;display:flex}.side-nav a:hover{color:var(--ink);background:#ffffff0a}.side-nav a.active{color:var(--ink);background:#d9b48917;box-shadow:inset 0 0 0 1px #d9b48924}.side-nav a.active .dot{background:var(--gold);box-shadow:0 0 8px #d9b489cc}.side-nav .dot{background:var(--faint);border-radius:50%;flex:none;width:4px;height:4px}.main{min-width:0;max-width:1240px;padding:34px 36px 64px}.crumb{color:var(--faint);align-items:center;gap:8px;margin-bottom:18px;font-size:11.5px;display:flex}.crumb a:hover{color:var(--sub)}.crumb .sep{opacity:.5}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);align-items:center;gap:8px;margin-bottom:10px;font-size:10.5px;display:flex}.eyebrow:before{content:"";background:var(--gold);opacity:.6;width:14px;height:1px}h1{letter-spacing:-.025em;color:var(--ink);margin:0 0 8px;font-size:30px;font-weight:650;line-height:1.12}h2{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:17px;font-weight:620}h3{color:var(--ink);margin:0;font-size:14px;font-weight:600}.lede{max-width:64ch;color:var(--sub);margin:0;font-size:13.5px}.head-actions{flex-wrap:wrap;gap:9px;display:flex}.btn{border:1px solid var(--hair-strong);color:var(--text);cursor:pointer;white-space:nowrap;background:#ffffff06;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:12.5px;transition:all .18s;display:inline-flex}.btn:hover{color:var(--ink);background:#ffffff0d;border-color:#d9b48966}.btn.primary{background:var(--cream);border-color:var(--cream);color:#171410;font-weight:600}.btn.primary:hover{background:#fff;border-color:#fff}.btn.ghost{color:var(--sub);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--ink);background:#ffffff0d}.btn.sm{padding:5px 10px;font-size:11.5px}.btn[disabled]{opacity:.45;cursor:not-allowed}.badge{letter-spacing:.02em;border:1px solid var(--hair);color:var(--sub);white-space:nowrap;background:#ffffff05;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:4px;height:4px}.badge.ok{color:var(--ok);background:#9fc3a60f;border-color:#9fc3a63d}.badge.warn{color:var(--warn);background:#e8b8780f;border-color:#e8b8783d}.badge.danger{color:var(--danger);background:#e08a860f;border-color:#e08a863d}.badge.info{color:var(--gold);background:#d9b4890f;border-color:#d9b4893d}.grid{gap:14px;display:grid}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--hair);border-radius:var(--radius);background:linear-gradient(#ffffff07,#ffffff03);flex-direction:column;gap:8px;padding:17px 18px;transition:border-color .2s,transform .2s,background .2s;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--tone,var(--gold));opacity:.35;width:1px;position:absolute;top:14px;bottom:14px;left:0}a.card:hover{background:linear-gradient(#ffffff0b,#ffffff04);border-color:#d9b4894d;transform:translateY(-1px)}.card .k{justify-content:space-between;align-items:center;gap:10px;display:flex}.card h3{font-size:14.5px}.card p{color:var(--sub);margin:0;font-size:12.5px;line-height:1.55}.card .meta{color:var(--faint);align-items:center;gap:10px;margin-top:auto;padding-top:8px;font-size:11px;display:flex}.card .ico{border:1px solid var(--hair);width:26px;height:26px;font-family:var(--mono);color:var(--tone,var(--gold));background:#ffffff08;border-radius:8px;flex:none;place-items:center;font-size:11px;display:grid}.tone-gold{--tone:var(--gold)}.tone-rose{--tone:var(--rose)}.tone-sage{--tone:var(--sage)}.tone-slate{--tone:var(--slate)}.tone-cream{--tone:var(--cream)}.panel{border:1px solid var(--hair);border-radius:var(--radius);background:var(--panel);overflow:hidden}.panel-h{border-bottom:1px solid var(--hair);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.panel-h .hgroup{align-items:center;gap:10px;display:flex}.panel-h p{color:var(--faint);margin:2px 0 0;font-size:11.5px}.panel-b{padding:18px}.panel-b.tight{padding:0}.panel+.panel{margin-top:16px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.kpi{border:1px solid var(--hair);border-radius:var(--radius-sm);background:var(--panel);padding:14px 16px}.kpi .label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:10.5px}.kpi .v{font-family:var(--mono);color:var(--ink);letter-spacing:-.02em;margin-top:4px;font-size:23px}.kpi .v small{color:var(--faint);letter-spacing:0;margin-left:4px;font-size:11px}.kpi .d{color:var(--sub);margin-top:2px;font-size:11px}.kpi .d.up{color:var(--ok)}.kpi .d.down{color:var(--danger)}.rows{flex-direction:column;display:flex}.row{border-bottom:1px solid var(--hair);align-items:center;gap:14px;padding:12px 18px;transition:background .15s;display:flex}.row:last-child{border-bottom:0}.row:hover{background:#ffffff06}.row .grow{flex:1;min-width:0}.row .t{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.row .s{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.row .r{color:var(--sub);flex:none;align-items:center;gap:8px;font-size:11.5px;display:flex}.row .num{font-family:var(--mono);color:var(--faint);flex:none;width:24px;font-size:11px}.table-wrap{overflow:auto}table.t{border-collapse:collapse;width:100%;font-size:12.5px}table.t th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--hair);white-space:nowrap;padding:10px 14px;font-size:10.5px;font-weight:500}table.t td{border-bottom:1px solid var(--hair);color:var(--text);vertical-align:middle;padding:11px 14px}table.t tr:last-child td{border-bottom:0}table.t tr:hover td{background:#ffffff05}table.t td.mono{font-family:var(--mono);color:var(--sub);font-size:11.5px}table.t td.num{font-family:var(--mono);text-align:right;color:var(--sub)}.nowrap{white-space:nowrap}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.04em;color:var(--faint);font-size:11px}input[type=text],input[type=search],input[type=number],input[type=password],select,textarea{border:1px solid var(--hair-strong);width:100%;color:var(--ink);background:#ffffff06;border-radius:10px;outline:none;padding:9px 12px;transition:border-color .18s,box-shadow .18s,background .18s}input:focus,select:focus,textarea:focus{background:#ffffff0a;border-color:#d9b48980;box-shadow:0 0 0 3px #d9b48917}input::placeholder,textarea::placeholder{color:var(--faint)}textarea{resize:vertical;min-height:110px;font-family:var(--mono);font-size:12px;line-height:1.65}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.check{color:var(--sub);align-items:center;gap:7px;font-size:12px;display:flex}.check input{width:14px;height:14px;accent-color:var(--gold)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--hair);color:var(--sub);cursor:pointer;background:0 0;border-radius:999px;padding:5px 11px;font-size:11.5px;transition:all .16s}.chip:hover{color:var(--ink);border-color:var(--hair-strong)}.chip.active{color:var(--ink);background:#d9b4891a;border-color:#d9b48947}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .spacer{flex:1}.search-inline{min-width:220px;position:relative}.search-inline input{padding-left:32px}.search-inline svg{width:13px;height:13px;stroke:var(--faint);fill:none;stroke-width:1.8px;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.code{border:1px solid var(--hair);font-family:var(--mono);color:#cfc8bc;white-space:pre-wrap;word-break:break-word;background:#00000052;border-radius:12px;margin:0;padding:14px 16px;font-size:11.5px;line-height:1.7;position:relative;overflow:auto}.code .copy{position:absolute;top:8px;right:8px}.kv{grid-template-columns:120px minmax(0,1fr);gap:8px 14px;font-size:12px;display:grid}.kv dt{color:var(--faint)}.kv dd{color:var(--text);font-family:var(--mono);margin:0;font-size:11.5px}.meter{background:#ffffff0f;border-radius:999px;height:4px;overflow:hidden}.meter i{background:var(--tone,var(--gold));opacity:.85;border-radius:999px;height:100%;display:block}.timeline{flex-direction:column;gap:0;display:flex}.tl-item{border-left:1px solid var(--hair);padding:0 0 18px 20px;position:relative}.tl-item:last-child{border-left-color:#0000;padding-bottom:0}.tl-item:before{content:"";background:var(--tone,var(--gold));width:5px;height:5px;box-shadow:0 0 8px color-mix(in srgb,var(--tone,var(--gold)) 60%,transparent);border-radius:50%;position:absolute;top:5px;left:-3px}.tl-item .t{color:var(--ink);font-size:12.5px}.tl-item .s{color:var(--faint);margin-top:2px;font-size:11px}.note{color:var(--sub);background:#d9b4890d;border:1px solid #d9b4892e;border-radius:12px;gap:10px;padding:12px 14px;font-size:12px;line-height:1.6;display:flex}.note strong{color:var(--cream);font-weight:600}.note.warn{background:#e8b8780d;border-color:#e8b87838}.note.danger{background:#e08a860d;border-color:#e08a8638}.tool-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.tool-out{border:1px solid var(--hair);min-height:120px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:#d8d1c5;background:#00000047;border-radius:12px;padding:14px 16px;font-size:12px;line-height:1.75}.result-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.result{border:1px solid var(--hair);background:#ffffff05;border-radius:10px;padding:10px 12px}.result .k{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:10px}.result .v{font-family:var(--mono);color:var(--ink);word-break:break-all;margin-top:3px;font-size:13px}.result .v.sm{font-size:11.5px}.topo-wrap{border:1px solid var(--hair);border-radius:var(--radius);background:radial-gradient(60% 60% at 50% 40%,#d9b4890d,#0000 70%),#00000038;position:relative;overflow:hidden}.topo-svg{width:100%;height:auto;min-height:420px;display:block}.topo-node{cursor:pointer}.topo-node rect{fill:#ffffff06;stroke:#ffffff1f;transition:all .18s}.topo-node:hover rect,.topo-node.sel rect{fill:#d9b48917;stroke:#d9b48980}.topo-node text{fill:var(--text);font-size:11px;font-family:var(--sans)}.topo-node .sub{fill:var(--faint);font-size:9px;font-family:var(--mono)}.topo-edge{stroke:#ffffff21;stroke-width:1px;fill:none}.topo-edge.hot{stroke:#d9b4898c}.topo-legend{border-top:1px solid var(--hair);color:var(--faint);flex-wrap:wrap;gap:14px;padding:10px 16px;font-size:11px;display:flex}.topo-legend span{align-items:center;gap:6px;display:inline-flex}.topo-legend i{background:var(--ok);border-radius:50%;width:5px;height:5px}.empty{text-align:center;color:var(--faint);padding:36px 18px;font-size:12.5px}.empty b{color:var(--sub);margin-bottom:4px;font-size:13px;font-weight:550;display:block}.palette{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0303049e;place-items:start center;padding-top:12vh;display:none;position:fixed;inset:0}.palette.open{display:grid}.palette-box{border:1px solid var(--hair-strong);background:#0b0b0d;border-radius:16px;width:min(560px,92vw);overflow:hidden;box-shadow:0 40px 90px -40px #000}.palette-box input{border:0;border-bottom:1px solid var(--hair);background:0 0;border-radius:0;width:100%;padding:14px 16px;font-size:14px}.palette-list{max-height:52vh;padding:6px;overflow:auto}.palette-item{color:var(--sub);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-size:12.5px;display:flex}.palette-item:hover,.palette-item.on{color:var(--ink);background:#d9b48914}.palette-item .p{font-family:var(--mono);color:var(--faint);margin-left:auto;font-size:10.5px}.palette-empty{text-align:center;color:var(--faint);padding:22px;font-size:12px}.foot{border-top:1px solid var(--hair);color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:44px;padding-top:16px;font-size:11px;display:flex}#toast{z-index:90;opacity:0;pointer-events:none;transition:.22s var(--ease);position:fixed;bottom:28px;left:50%;transform:translate(-50%,14px)}#toast.show{opacity:1;transform:translate(-50%)}#toast span{border:1px solid var(--hair-strong);color:var(--ink);background:#111013;border-radius:999px;padding:9px 16px;font-size:12px;display:block;box-shadow:0 20px 50px -24px #000}@media (max-width:1100px){.kpis,.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid{grid-template-columns:1fr}}@media (max-width:980px){.shell{grid-template-columns:1fr}.sidebar{z-index:35;background:#08080af0;border-right:0;height:auto;padding:18px 20px 40px;display:none;position:fixed;inset:61px 0 0}.sidebar.open{display:block}.main{padding:24px 20px 56px}.topnav{display:none}.grid.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.topbar{gap:10px;padding:11px 16px}.brand-sub{display:none}.kpis,.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}h1{font-size:24px}.page-head{margin-bottom:20px}.main{padding:20px 16px 48px}.panel-h,.row{padding-left:14px;padding-right:14px}.top-actions .env-pill,.top-actions .clock,.top-actions .avatar{display:none}.top-actions{gap:7px}.top-actions .btn.sm{padding:5px 9px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.hero{border-bottom:1px solid var(--hair);margin-bottom:26px;padding:20px 0 30px}.hero h1{letter-spacing:-.035em;max-width:24ch;font-size:clamp(30px,4.4vw,46px)}.hero .lede{max-width:60ch;margin-top:12px;font-size:14.5px}.hero-actions{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.hero-meta{color:var(--faint);flex-wrap:wrap;gap:18px;margin-top:22px;font-size:11px;display:flex}.hero-meta b{color:var(--sub);font-weight:550;font-family:var(--mono)}.section-title{justify-content:space-between;align-items:baseline;gap:12px;margin:28px 0 12px;display:flex}.section-title h2{font-size:15px}.section-title .more{color:var(--faint);font-size:11.5px}.section-title .more:hover{color:var(--gold)}.split{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.split.even{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1100px){.split,.split.even{grid-template-columns:1fr}}.form{flex-direction:column;gap:12px;display:flex}.form .two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form .three{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.form .inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form .hint{color:var(--faint);font-size:11px;line-height:1.55}.swatch{border:1px solid var(--hair-strong);background:#000;border-radius:12px;height:120px}.grid-pos{grid-template-columns:repeat(3,1fr);gap:4px;width:96px;display:grid}.grid-pos button{border:1px solid var(--hair);cursor:pointer;height:26px;color:var(--faint);background:#ffffff05;border-radius:6px;font-size:10px}.grid-pos button.active{color:var(--ink);background:#d9b4891f;border-color:#d9b48973}.ascii-t{font-size:11px}.ascii-t td,.ascii-t th{padding:5px 9px!important}.mono-input{font-family:var(--mono);font-size:12px}.canvas-wrap{border:1px solid var(--hair);background:#0000004d;border-radius:12px;place-items:center;min-height:200px;display:grid;overflow:hidden}.canvas-wrap canvas{max-width:100%;height:auto;display:block}.topo-detail{min-height:196px}.logbox{flex-direction:column;height:340px;display:flex;overflow:auto}.logbox .row{padding:6px 18px}.logbox .row .badge{text-transform:uppercase;letter-spacing:.08em;justify-content:center;min-width:52px;font-size:9.5px}.logbox .s{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);color:var(--sub);font-size:11px}.steps{flex-direction:column;gap:0;display:flex}.step{border-bottom:1px solid var(--hair);gap:12px;padding:12px 0;display:flex}.step:last-child{border-bottom:0}.step .n{border:1px solid var(--hair-strong);width:22px;height:22px;font-family:var(--mono);color:var(--sub);border-radius:50%;flex:none;place-items:center;font-size:10.5px;display:grid}.step.done .n{color:var(--ok);background:#9fc3a614;border-color:#9fc3a666}.step .b{flex:1;min-width:0}.step .t{color:var(--ink);font-size:12.5px}.step .s{color:var(--faint);word-break:break-word;font-size:11px}.step .r{flex:none;align-items:center;margin-left:auto;display:flex}.seg{border:1px solid var(--hair);background:#ffffff05;border-radius:999px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 11px;font-size:11.5px}.seg button.active{color:var(--ink);background:#d9b4891f;box-shadow:inset 0 0 0 1px #d9b48938}.gauge{flex-direction:column;gap:6px;display:flex}.gauge .g-h{color:var(--faint);justify-content:space-between;font-size:11px;display:flex}.gauge .g-h b{color:var(--text);font-family:var(--mono);font-weight:500}.mini{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.mini .m{border:1px solid var(--hair);border-radius:9px;padding:9px 10px}.mini .m .k{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:9.5px}.mini .m .v{font-family:var(--mono);color:var(--ink);margin-top:2px;font-size:13px}.heat{grid-template-columns:repeat(24,1fr);gap:2px;margin-top:8px;display:grid}.heat i{aspect-ratio:1;background:#d9b48914;border-radius:2px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.product{border:1px solid var(--hair);background:var(--panel);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.thumb{height:118px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#141210b8;background:linear-gradient(135deg,#d9b489,#a9865e);place-items:center;font-size:10.5px;display:grid}.thumb.tone-sage{background:linear-gradient(135deg,#a9bc9f,#6f8468)}.thumb.tone-rose{background:linear-gradient(135deg,#c2a4b0,#8e6f7c)}.thumb.tone-slate{background:linear-gradient(135deg,#9ba1a6,#666d73)}.p-b{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex}.p-h{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.p-h h3{margin:0;font-size:13.5px}.p-h b{font-family:var(--mono);color:var(--gold);white-space:nowrap;font-size:12.5px}.p-m{color:var(--faint);font-size:10.5px;font-family:var(--mono);justify-content:space-between;gap:8px;display:flex}.product .actions{margin-top:auto}.receipt{max-width:260px;font-family:var(--mono);color:var(--sub);background:#ffffff08;border:1px dashed #ffffff2e;border-radius:8px;margin:0 auto;padding:18px 16px;font-size:11px}.receipt .r-h{text-align:center;color:var(--ink);letter-spacing:.04em;margin-bottom:4px;font-size:13px}.receipt .r-s{text-align:center;color:var(--faint);margin-bottom:12px;font-size:10px}.receipt .r-line{border-bottom:1px dotted #ffffff14;justify-content:space-between;gap:8px;padding:4px 0;display:flex}.receipt .r-total{color:var(--ink);justify-content:space-between;gap:8px;padding:10px 0 6px;font-size:12px;display:flex}.menu-list{flex-direction:column;display:flex}.mi{border-bottom:1px solid var(--hair);justify-content:space-between;gap:12px;padding:11px 0;display:flex}.mi:last-child{border-bottom:0}.mi b{color:var(--ink);font-size:12.5px;font-weight:550;display:block}.mi span{color:var(--faint);font-size:11px;display:block}.mi .mono{color:var(--gold);font-size:12px}.qr{background:#f7f0e4;border-radius:8px;grid-template-rows:repeat(21,1fr);grid-template-columns:repeat(21,1fr);gap:1px;width:220px;height:220px;margin:0 auto;padding:10px;display:grid}.qr i{background:0 0}.qr i.on{background:#141210}.qr-meta{color:var(--faint);justify-content:space-between;gap:10px;margin-top:12px;font-size:10.5px;display:flex}.house-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.house{border:1px solid var(--hair);background:var(--panel);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.h-img{height:130px;font-family:var(--mono);color:var(--sub);letter-spacing:.1em;background:linear-gradient(135deg,#d9b48947,#505a6433);place-items:center;font-size:11px;display:grid}.h-b{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex}.h-h{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.h-h h3{margin:0;font-size:13.5px}.h-h b{font-family:var(--mono);color:var(--gold);white-space:nowrap;font-size:12.5px}.h-m{color:var(--faint);font-size:10.5px;font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.house .actions{margin-top:auto}.auth-wrap{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:center;gap:28px;min-height:calc(100vh - 220px);display:grid}.auth-card{border:1px solid var(--hair);background:#ffffff08;border-radius:18px;justify-self:start;width:100%;max-width:420px;padding:28px;box-shadow:0 30px 80px -50px #000000e6}.auth-brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-brand b{color:var(--ink);font-size:14px;display:block}.auth-brand span span{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:10px;display:block}.auth-card h1{letter-spacing:-.02em;margin:0 0 6px;font-size:24px}.auth-links{color:var(--faint);justify-content:center;gap:8px;margin-top:16px;font-size:11px;display:flex}.auth-links a:hover{color:var(--ink)}.auth-side{max-width:420px}.shell.auth{min-height:100vh;display:block}.shell.auth .main{width:100%;max-width:1080px;margin:0 auto;padding-top:64px}.shell.auth .foot{margin-top:40px}@media (max-width:1100px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.house-grid,.auth-wrap{grid-template-columns:1fr}.auth-side{display:none}.auth-card{justify-self:center}}@media (max-width:680px){.product-grid,.form .two,.form .three,.mini{grid-template-columns:1fr}.logbox{height:260px}}[hidden]{display:none!important}.clock{text-align:right;font-variant-numeric:tabular-nums;min-width:58px;font-size:11px}#live-src{font-family:var(--mono);letter-spacing:.04em;color:var(--faint);white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;display:inline-flex}#live-src:before{content:"";background:var(--faint);border-radius:50%;flex:none;width:5px;height:5px}#live-src[data-state=wait]{color:var(--warn)}#live-src[data-state=wait]:before{background:var(--warn)}#live-src[data-state=ok]{color:var(--ok)}#live-src[data-state=ok]:before{background:var(--ok);box-shadow:0 0 8px #9fc3a6b3}#live-src[data-state=off]{color:var(--danger)}#live-src[data-state=off]:before{background:var(--danger)}.kpi .v[data-state=off]{color:var(--faint);font-size:18px}.toolbar .icon-btn{white-space:nowrap;flex:none}:where(a,button,summary,[role=button],input,select,textarea):focus{outline:none}:where(a,button,summary,[role=button],input,select,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:8px}.palette-box input:focus-visible{outline-offset:-3px}.skip-link{z-index:100;transition:transform .16s var(--ease);border:1px solid var(--hair-strong);color:var(--ink);background:#111013;border-radius:10px;padding:9px 14px;font-size:12px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mt-1{margin-top:6px}.mt-2{margin-top:10px}.mt-3{margin-top:14px}.mt-4{margin-top:18px}.mb-1{margin-bottom:6px}.mb-2{margin-bottom:10px}.mb-3{margin-bottom:14px}.text-muted{color:var(--sub)}.text-faint{color:var(--faint)}@media print{body{color:#111;background:#fff}body:before,body:after,#stars,.topbar,.sidebar,.palette,#toast,.foot .links,.skip-link{display:none!important}.main{padding:0}.panel,.card,.row{box-shadow:none;background:0 0;border-color:#ccc}a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:10px}}:root{--nf-bg:#060607;--nf-bg-soft:#0b0b0d;--nf-panel:#ffffff06;--nf-panel-2:#ffffff0a;--nf-line:#242835;--nf-line-soft:#ffffff13;--nf-text:#e6e0d6;--nf-text-dim:#9b958b;--nf-text-mute:#5f5a53;--nf-accent:#d9b489;--nf-accent-2:#e3b476;--nf-accent-soft:#d9b4891a;--nf-accent-line:#d9b48947;--nf-ok:#9fc3a6;--nf-warn:#e8b878;--nf-danger:#e08a86;--nf-info:#9ba1a6;--nf-ok-soft:#9fc3a614;--nf-warn-soft:#e8b87814;--nf-danger-soft:#e08a8614;--nf-info-soft:#9ba1a614;--nf-ok-line:#9fc3a63d;--nf-warn-line:#e8b8783d;--nf-danger-line:#e08a863d;--nf-info-line:#9ba1a63d;--nf-mute-soft:#5f5a5329;--nf-glass:#06060794;--nf-glass-strong:#0b0b0d;--nf-glass-brd:#ffffff13;--nf-glow-accent:none;--nf-grad-accent:linear-gradient(180deg, #f6e8ce, #f6e8ce);--nf-shadow:0 40px 90px -40px #000;--nf-shadow-sm:none;--nf-radius:16px;--nf-radius-sm:10px;--nf-font:var(--sans);--nf-font-mono:var(--mono);--brand-primary:#d9b489;--brand-primary-2:#e3b476;--brand-primary-soft:#d9b4891a;--brand-primary-line:#d9b48947;--brand-primary-ink:#d9b489;--brand-bg:#060607;--brand-bg-soft:#0b0b0d;--brand-surface:#ffffff06;--brand-surface-2:#ffffff0a;--brand-border:#242835;--brand-border-soft:#ffffff13;--brand-text:#e6e0d6;--brand-text-dim:#9b958b;--brand-text-mute:#5f5a53;--brand-success:#9fc3a6;--brand-warning:#e8b878;--brand-error:#e08a86;--brand-info:#9ba1a6;--brand-success-line:#9fc3a63d;--brand-warning-line:#e8b8783d;--brand-error-line:#e08a863d;--brand-info-line:#9ba1a63d;--brand-hover:#ffffff0d;--brand-active:#d9b4891a;--brand-focus:#d9b489;--brand-radius:16px;--brand-radius-sm:10px;--brand-shadow:0 40px 90px -40px #000;--brand-shadow-sm:none;--brand-glow:none}html,body{background:var(--bg)}body{color:var(--text)}a{text-decoration:none}a:hover{color:var(--ink);text-decoration:none}#root{z-index:1;min-height:100vh;position:relative}.topbar{gap:20px}.topbar .brand{gap:10px;min-width:0}.topbar .brand-logo{background:#f7f4ec!important;border:0!important;border-radius:9px!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:3px!important;box-shadow:0 0 0 1px #ffffff14,0 10px 26px -14px #000000e6,0 0 24px -10px #e2be9499!important}.topbar .brand-logo img{max-width:22px;max-height:22px}.brand-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.brand-name{font-family:var(--sans)}.brand-sub{letter-spacing:.14em;font-size:9.5px}.topnav{flex-wrap:nowrap;min-width:0;overflow:hidden}.topnav a{white-space:nowrap}.top-actions{gap:8px}.top-actions .clock{min-width:64px}.top-actions .btn.sm{height:30px;padding:5px 11px}.nav-toggle{display:none}.env-pill.danger i{background:var(--danger);box-shadow:0 0 8px #e08a86b3}.env-pill.warn i{background:var(--warn);box-shadow:0 0 8px #e8b878b3}.user-wrap{align-items:center;display:flex;position:relative}.user-trigger{cursor:pointer;font-family:var(--mono)}.user-pop{z-index:60;border:1px solid var(--hair-strong);background:#0b0b0d;border-radius:12px;min-width:208px;padding:6px;position:absolute;top:40px;right:0;box-shadow:0 30px 70px -30px #000}.user-pop-head{border-bottom:1px solid var(--hair);flex-direction:column;gap:2px;margin-bottom:4px;padding:9px 10px 10px;display:flex}.user-pop-head b{color:var(--ink);font-size:12.5px;font-weight:600}.user-pop-head span{color:var(--faint);word-break:break-all;font-size:10.5px}.user-pop-item{width:100%;color:var(--sub);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:12px;display:flex}.user-pop-item:hover{color:var(--ink);background:#ffffff0d}.palette-item{width:100%;font:inherit;text-align:left;background:0 0;border:0}.palette-list{flex-direction:column;display:flex}.shell.solo{min-height:calc(100vh - 61px);display:block}.main{max-width:1240px;padding:34px 36px 64px}.main.wide{max-width:none}.nf-page-body{background:0 0;padding:0;overflow:visible}.nf-page-body>*+*{margin-top:16px}.page-head{margin-bottom:26px}.page-head-text{min-width:0}.page-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-title-row h1{letter-spacing:-.035em;color:var(--ink);margin:0;font-size:32px;font-weight:650;line-height:1.12}.page-head .lede{max-width:64ch;color:var(--sub);margin:8px 0 0;font-size:13.5px;line-height:1.6}.head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.head-actions .nf-btn,.head-actions .nf-badge{flex:none}.nf-btn{border:1px solid var(--hair-strong);height:auto;color:var(--text);background:#ffffff06;border-radius:999px;gap:7px;padding:7px 14px;font-size:12.5px}.nf-btn:hover{color:var(--ink);background:#ffffff0d;border-color:#d9b48966}.nf-btn:active{transform:none}.nf-btn.primary{border-color:var(--cream);background:var(--cream);color:#171410;box-shadow:none;font-weight:600}.nf-btn.primary:hover{filter:none;box-shadow:none;background:#fff;border-color:#fff}.nf-btn.ghost{color:var(--sub);background:0 0;border-color:#0000}.nf-btn.ghost:hover{color:var(--ink);background:#ffffff0d;border-color:#0000}.nf-btn.danger{color:var(--danger);box-shadow:none;background:#e08a861a;border-color:#e08a8666}.nf-btn.warn{color:var(--warn);box-shadow:none;background:#e8b8781a;border-color:#e8b87866}.nf-btn.sm{height:auto;padding:5px 10px;font-size:11.5px}.nf-btn.lg{height:auto;padding:9px 18px;font-size:13px}.nf-btn:disabled{opacity:.45}.nf-icon-btn{border:1px solid var(--hair);width:32px;height:32px;color:var(--sub);background:#ffffff05;border-radius:9px}.nf-icon-btn:hover{border-color:var(--hair-strong);color:var(--ink);background:#ffffff0d}.nf-avatar{border:1px solid var(--hair-strong);width:30px;height:30px;color:var(--cream);box-shadow:none;font-family:var(--mono);background:linear-gradient(135deg,#2a2723,#181614);font-size:11px}.nf-badge,.nf-tag{letter-spacing:.02em;border-color:var(--hair);color:var(--sub);background:#ffffff05;border-radius:999px;padding:3px 8px;font-size:10.5px;line-height:1.55}.nf-tag{background:0 0}.nf-badge.nf-tone-ok,.nf-tag.nf-tone-ok{color:var(--ok);background:#9fc3a60f;border-color:#9fc3a63d}.nf-badge.nf-tone-warn,.nf-tag.nf-tone-warn{color:var(--warn);background:#e8b8780f;border-color:#e8b8783d}.nf-badge.nf-tone-danger,.nf-tag.nf-tone-danger{color:var(--danger);background:#e08a860f;border-color:#e08a863d}.nf-badge.nf-tone-info,.nf-tag.nf-tone-info,.nf-badge.nf-tone-accent,.nf-tag.nf-tone-accent{color:var(--gold);background:#d9b4890f;border-color:#d9b4893d}.nf-badge.nf-tone-muted,.nf-tag.nf-tone-muted{color:var(--faint);border-color:var(--hair);background:#ffffff05}.nf-badge-demo{color:var(--gold);background:#d9b48912;border-style:solid;border-color:#d9b4893d}.nf-level{letter-spacing:.02em;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:500}.nf-level.lv-critical,.nf-level.lv-high{color:var(--danger);background:#e08a860f;border-color:#e08a863d}.nf-level.lv-medium{color:var(--warn);background:#e8b8780f;border-color:#e8b8783d}.nf-level.lv-low{color:var(--ok);background:#9fc3a60f;border-color:#9fc3a63d}.nf-level.lv-info{color:var(--gold);background:#d9b4890f;border-color:#d9b4893d}.nf-dot{width:5px;height:5px}.nf-dot.nf-tone-ok{box-shadow:0 0 8px #9fc3a6b3}.nf-dot.nf-tone-danger{box-shadow:0 0 8px #e08a86b3}.nf-dot.nf-tone-warn{box-shadow:0 0 8px #e8b878b3}.nf-dot.nf-tone-accent{box-shadow:0 0 8px #d9b489b3}.nf-card{border:1px solid var(--hair);border-radius:var(--radius);box-shadow:none;background:linear-gradient(#ffffff07,#ffffff03);position:relative;overflow:hidden}.nf-card:before{content:"";background:var(--tone,var(--gold));opacity:.35;pointer-events:none;width:1px;position:absolute;top:14px;bottom:14px;left:0}.nf-card:hover{border-color:#d9b48938}.nf-card-head{border-bottom:1px solid var(--hair);background:0 0;padding:15px 18px}.nf-card-title{letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:620}.nf-card-extra{color:var(--faint);font-size:11px}.nf-card-body{padding:18px}.nf-card-body.flush{padding:0}.nf-card-foot{border-top:1px solid var(--hair);color:var(--faint);background:0 0;padding:12px 18px;font-size:11px}.nf-stat{border:1px solid var(--hair);border-radius:var(--radius-sm);background:var(--panel);min-height:0;box-shadow:none;gap:3px;padding:14px 16px}.nf-stat:before{display:none}.nf-stat:hover{border-color:var(--hair-strong);box-shadow:none;transform:none}.nf-stat-label{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;gap:6px;font-size:10.5px}.nf-stat-value{color:var(--ink);font-family:var(--mono);letter-spacing:-.02em;font-size:23px;font-weight:500}.nf-stat-unit{color:var(--faint);font-family:var(--sans);letter-spacing:0;font-size:11px}.nf-stat-hint{color:var(--sub);font-size:11px}.nf-stat.nf-tone-ok,.nf-stat.nf-tone-warn,.nf-stat.nf-tone-danger,.nf-stat.nf-tone-info,.nf-stat.nf-tone-accent,.nf-stat.nf-tone-ok:hover,.nf-stat.nf-tone-warn:hover,.nf-stat.nf-tone-danger:hover,.nf-stat.nf-tone-info:hover,.nf-stat.nf-tone-accent:hover{box-shadow:none}.nf-table-wrap{background:0 0;border-radius:0}.nf-table{font-size:12.5px}.nf-table th,.nf-table thead th{border-bottom:1px solid var(--hair);color:var(--faint);letter-spacing:.1em;text-transform:uppercase;background:0 0;padding:10px 14px;font-size:10.5px;font-weight:500;position:static}.nf-table td{border-bottom:1px solid var(--hair);color:var(--text);vertical-align:middle;padding:11px 14px}.nf-table tbody tr:hover{background:#ffffff05}.nf-table tbody tr.selected,.nf-table tbody tr.nf-row-sel{background:#d9b48914}.nf-table tbody tr:last-child td{border-bottom:0}.nf-table td.nf-cell-main{color:var(--ink);font-weight:500}.nf-table .nf-th-sort{color:inherit}.nf-table .nf-th-sort:after{opacity:.5}.nf-pager{border-top:1px solid var(--hair);color:var(--faint);padding:10px 14px;font-size:11px}.nf-pager-info{color:var(--faint)}.nf-pager-btn,.nf-pager-page{border:1px solid var(--hair);min-width:28px;height:28px;color:var(--sub);background:0 0;border-radius:999px}.nf-pager-btn:hover,.nf-pager-page:hover{color:var(--ink);border-color:var(--hair-strong)}.nf-pager-page.active{color:var(--ink);background:#d9b4891a;border-color:#d9b48959}.nf-input,.nf-select,.nf-textarea{border:1px solid var(--hair-strong);height:auto;color:var(--ink);background:#ffffff06;border-radius:10px;padding:9px 12px;font-size:12.5px}.nf-input:focus,.nf-select:focus,.nf-textarea:focus{background:#ffffff0a;border-color:#d9b48980;outline:none;box-shadow:0 0 0 3px #d9b48917}.nf-select option{color:var(--ink);background:#0b0b0d}.nf-search{border:1px solid var(--hair);background:#ffffff05;border-radius:999px;height:34px}.nf-search:focus-within{border-color:#d9b48980;box-shadow:0 0 0 3px #d9b48917}.nf-search input{height:auto;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.nf-search input:focus{box-shadow:none;background:0 0;border:0}.nf-search-icon,.nf-search-clear{color:var(--faint)}.nf-search-clear:hover{color:var(--ink)}.nf-toolbar{gap:8px;margin-bottom:16px}.nf-toolbar>.nf-select{min-width:120px}.alerts-toolbar .nf-select{border-radius:999px;padding-top:7px;padding-bottom:7px}.alerts-toolbar .nf-search{border-radius:999px}.nf-field-label{color:var(--faint);font-size:11px}.nf-field-help,.muted-small,.cell-sub{color:var(--faint)}.mono{font-family:var(--mono)}.nf-tabs{border-bottom:0;gap:4px}.nf-card-head>.nf-tabs{margin-bottom:-15px}.nf-tab{color:var(--sub);border:1px solid #0000;border-radius:999px;padding:5px 11px;font-size:11.5px}.nf-tab:hover{color:var(--ink);background:#ffffff0b}.nf-tab.active{color:var(--ink);background:#d9b4891a;border-color:#d9b48947}.nf-tab-badge{color:var(--sub);background:#ffffff0f}.nf-tab.active .nf-tab-badge{color:var(--gold);background:#d9b48933}.nf-progress{background:#ffffff0f;border:0;height:4px}.nf-progress-bar{background:var(--gold);box-shadow:none;opacity:.85}.nf-progress.nf-tone-ok .nf-progress-bar{background:var(--ok);box-shadow:none}.nf-progress.nf-tone-warn .nf-progress-bar{background:var(--warn);box-shadow:none}.nf-progress.nf-tone-danger .nf-progress-bar{background:var(--danger);box-shadow:none}.nf-progress.nf-tone-info .nf-progress-bar{background:var(--slate);box-shadow:none}.nf-progress.nf-tone-muted .nf-progress-bar{background:var(--faint)}.nf-progress-text{color:var(--faint);font-family:var(--mono)}.nf-modal-mask,.nf-drawer-mask{-webkit-backdrop-filter:blur(6px);background:#0303049e}.nf-modal{border:1px solid var(--hair-strong);-webkit-backdrop-filter:none;background:#0b0b0d;border-radius:16px;box-shadow:0 40px 90px -40px #000}.nf-drawer{border-left:1px solid var(--hair-strong);-webkit-backdrop-filter:none;background:#0b0b0d;box-shadow:-30px 0 80px -40px #000}.nf-modal-head,.nf-drawer-head{border-bottom:1px solid var(--hair);color:var(--ink);padding:15px 18px;font-size:14px}.nf-modal-body,.nf-drawer-body{color:var(--text);padding:18px}.nf-modal-foot,.nf-drawer-foot{border-top:1px solid var(--hair);background:0 0;padding:12px 18px}.nf-modal-close{color:var(--faint)}.nf-modal-close:hover{color:var(--ink);background:#ffffff0f}.nf-toast-wrap{align-items:center;max-width:min(520px,100vw - 32px);bottom:28px;left:50%;right:auto;transform:translate(-50%)}.nf-toast{border:1px solid var(--hair-strong);width:auto;max-width:100%;color:var(--text);-webkit-backdrop-filter:none;backdrop-filter:none;background:#111013;border-left-width:1px;border-radius:999px;padding:9px 14px;font-size:12px;box-shadow:0 20px 50px -24px #000}.nf-toast.tone-ok,.nf-toast.tone-info,.nf-toast.tone-warn,.nf-toast.tone-danger,.nf-toast.tone-accent,.nf-toast.tone-muted{border-left-width:1px}.nf-toast.tone-ok{border-color:#9fc3a64d}.nf-toast.tone-warn{border-color:#e8b8784d}.nf-toast.tone-danger{border-color:#e08a864d}.nf-toast-title{color:var(--ink);font-weight:500}.nf-toast-body{color:var(--sub)}.nf-error-banner{color:var(--sub);background:#e08a860d;border:1px solid #e08a8638;border-radius:12px;font-size:12px}.nf-error-banner-title{color:var(--danger)}.nf-error-banner-detail{color:var(--faint);font-family:var(--mono)}.nf-empty{color:var(--faint);padding:40px 18px}.nf-empty-icon{color:var(--faint);opacity:.6;font-size:22px}.nf-empty-title,.nf-empty-text{color:var(--sub);font-size:13px;font-weight:500}.nf-empty-desc,.nf-empty-sub{color:var(--faint);font-size:12px}.empty-brand-logo{background:#f7f4ec!important;border:0!important}.nf-loading-dot{background:var(--gold);box-shadow:0 0 8px #d9b48980}.nf-skeleton{border-color:var(--hair);background:linear-gradient(90deg,#ffffff08 25%,#ffffff12 50%,#ffffff08 75%)}.nf-code{border:1px solid var(--hair);color:#cfc8bc;font-family:var(--mono);background:#00000052;border-radius:12px}.nf-kv dt{color:var(--faint)}.nf-kv dd{color:var(--text)}.nf-kv dd.mono,.nf-kv dd.break-all{font-family:var(--mono);font-size:11.5px}.raw-block{border-color:var(--hair);background:#0003}.raw-block>summary{color:var(--sub)}.detail-hint,.settings-note{border-color:var(--hair);color:var(--faint);background:#ffffff05}.detail-message{border-color:var(--hair);border-left-color:var(--gold);color:var(--text);background:#ffffff05}.note-editor{border-color:var(--hair);background:#0003}.segmented{border-color:var(--hair);background:#ffffff05}.segmented button{color:var(--sub)}.segmented button.active{color:var(--ink);background:#d9b4891f;box-shadow:inset 0 0 0 1px #d9b48938}.alerts-toolbar{background:0 0;border:0;border-radius:0;margin-bottom:14px;padding:0}.alerts-batchbar{border:1px solid var(--hair);background:#ffffff05;border-radius:10px;margin-bottom:14px;padding:8px 12px}.alerts-card .nf-table-wrap{max-height:calc(100vh - 330px)}.alerts-table th{font-size:10.5px}.alerts-table td{font-size:12px}.alert-actions .nf-btn{border-color:var(--hair);height:auto;padding:4px 8px;font-size:11px}.alert-actions .nf-btn:hover{border-color:var(--hair-strong)}.alert-message-cell{color:var(--text)}.detail-actions .nf-btn{border-color:var(--hair)}.nf-timeline:before{background:var(--hair)}.nf-timeline-dot{background:var(--gold);border:0;width:5px;height:5px;left:-16px;box-shadow:0 0 8px #d9b489b3}.nf-timeline-time{color:var(--faint);font-size:10.5px}.nf-timeline-title{color:var(--ink);font-size:12.5px;font-weight:500}.nf-timeline-desc{color:var(--faint);font-size:11px}.recent-activity .nf-timeline-title{color:var(--ink)}.settings-row{border-bottom-color:var(--hair)}.settings-row-label{color:var(--sub)}.settings-note{color:var(--sub);background:#d9b4890d;border-color:#d9b4892e}.settings-warning{color:var(--sub);background:#e8b8780d;border-color:#e8b87838}.settings-paragraph{color:var(--sub)}.settings-brand-name{color:var(--ink)}.settings-brand-sub,.mono-headers dt{color:var(--faint)}.about-brand strong{color:var(--ink)}.settings-grid .nf-card:before{top:16px;bottom:16px}.nf-app,.nf-app.nf-app-login,.nf-app.nf-app-plain{background:0 0;min-height:100vh;display:block}.nf-boot{color:var(--faint);letter-spacing:.08em}.nf-boot-logo{background:#f7f4ec;border-radius:10px;width:40px;height:40px;padding:3px;box-shadow:0 0 0 1px #ffffff14,0 10px 26px -14px #000000e6,0 0 24px -10px #e2be9499}.nf-login{min-height:100vh;padding-top:64px}.nf-login-brand{margin-bottom:2px}.nf-login-brand .brand-logo{border-radius:10px;background:#f7f4ec!important;border:0!important;width:34px!important;height:34px!important;padding:3px!important}.nf-login-title{letter-spacing:-.02em;color:var(--ink);font-size:22px}.nf-login-title:after{content:".";color:var(--gold)}.nf-login-sub{color:var(--faint);letter-spacing:.06em;font-size:10.5px}.nf-login-card{border:1px solid var(--hair);-webkit-backdrop-filter:none;background:linear-gradient(#ffffff09,#ffffff04);border-radius:18px;width:min(440px,100%);padding:0;box-shadow:0 40px 90px -50px #000}.nf-login-card .nf-card-head{border-bottom:1px solid var(--hair);padding:22px 24px 14px}.nf-login-card .nf-card-body{padding:18px 24px 22px}.nf-login-card .nf-card-foot{padding:11px 24px}.nf-login-desc{color:var(--sub);font-size:12.5px;line-height:1.65}.nf-login-card .nf-btn.primary{background:var(--cream);color:#171410;border-color:var(--cream)}.login-hint{color:var(--faint);font-size:11px}.login-footer{width:min(440px,100%);color:var(--faint)}.login-links,.login-links a{color:var(--faint)}.login-links a:hover{color:var(--ink)}.login-copy{color:var(--faint)}.login-footer-brand{color:var(--sub)}.login-footer-brand .brand-logo{background:#f7f4ec!important;border:0!important;width:18px!important;height:18px!important}.brand-attribution,.brand-attribution a{color:var(--faint);font-size:10.5px}.brand-attribution a:hover{color:var(--gold)}.notfound-card{border:1px solid var(--hair);background:linear-gradient(#ffffff09,#ffffff04);border-radius:18px;width:min(440px,100%);box-shadow:0 40px 90px -50px #000}.notfound-code{color:var(--gold);font-family:var(--mono)}.notfound-title{color:var(--ink)}.notfound-desc{color:var(--sub)}.login-topbar .nf-btn,.login-topbar .btn{border-radius:999px}.foot{border-top:1px solid var(--hair);color:var(--faint)}.foot .links{flex-wrap:wrap;align-items:center;gap:0;display:flex}.foot a:hover{color:var(--sub)}@media (max-width:1180px){.topnav a{padding:7px 9px;font-size:12.5px}.topbar{gap:14px}}@media (max-width:1080px){.topnav{display:none}.topnav.open{z-index:45;border-bottom:1px solid var(--hair-strong);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;align-items:stretch;gap:2px;padding:10px 16px 14px;display:flex;position:absolute;top:61px;left:0;right:0;overflow:visible;box-shadow:0 28px 50px -28px #000;background:#08080a!important}.topnav.open a{border-radius:9px;padding:9px 12px}.nav-toggle{display:grid}.main{padding:28px 24px 56px}}@media (max-width:680px){.topbar{gap:8px;padding:10px 14px}.brand-sub,.top-actions .env-pill,.top-actions .clock,.top-actions .avatar{display:none}.top-actions .btn.sm{padding:5px 9px;font-size:11px}.main{padding:20px 16px 48px}.page-title-row h1{font-size:26px}.nf-page-body{padding:0}.nf-card-head{padding:13px 14px}.nf-card-body{padding:14px}.alerts-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.alerts-toolbar .nf-search,.alerts-toolbar .nf-btn.primary{grid-column:1/-1}.nf-toast-wrap{max-width:none;bottom:16px;left:16px;right:16px;transform:none}.nf-toast{border-radius:12px;width:100%}}@media (prefers-reduced-motion:reduce){.nf-toast,.nf-modal,.nf-drawer{animation:none!important}}
