*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-family);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--motion-normal) ease,color var(--motion-normal) ease}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}p{margin:0;line-height:var(--line-height-normal);color:var(--text-secondary)}a{color:var(--accent-text);text-decoration:none;transition:color var(--motion-fast) ease}a:hover{color:var(--accent-cyan)}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--scrollbar-radius)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--scrollbar-radius);border:2px solid var(--scrollbar-track)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}:focus:not(:focus-visible){outline:none}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-blue) 25%,transparent)}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,textarea:focus,select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-blue) 20%,transparent);outline:none}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}button{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border:none;border-radius:var(--radius-md);transition:all var(--motion-fast) ease}button:disabled{cursor:not-allowed;opacity:.5}.card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.badge{display:inline-flex;align-items:center;padding:var(--badge-padding);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;line-height:1}.pill{display:inline-flex;align-items:center;padding:var(--pill-padding);border-radius:999px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1}table{width:100%;border-collapse:collapse}th,td{padding:var(--sp-sm) var(--sp-md);text-align:left;font-size:var(--font-size-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-color)}th{font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-size:var(--font-size-xs)}tr:hover td{background-color:var(--card-hover)}.tooltip{position:absolute;z-index:300;padding:var(--sp-xs) var(--sp-sm);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-primary);box-shadow:var(--elevation-md);pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}::selection{background-color:color-mix(in srgb,var(--accent-blue) 40%,transparent);color:var(--text-primary)}#root{min-height:100vh;transition:background-color var(--motion-normal) ease}:root{--tone-danger-fg: color-mix(in srgb, var(--status-danger) 70%, var(--text-primary));--tone-danger-bg: color-mix(in srgb, var(--status-danger) 16%, transparent);--tone-warning-fg: color-mix(in srgb, var(--status-warning) 70%, var(--text-primary));--tone-warning-bg: color-mix(in srgb, var(--status-warning) 16%, transparent);--tone-success-fg: color-mix(in srgb, var(--status-success) 70%, var(--text-primary));--tone-success-bg: color-mix(in srgb, var(--status-success) 16%, transparent);--tone-info-fg: color-mix(in srgb, var(--status-info) 70%, var(--text-primary));--tone-info-bg: color-mix(in srgb, var(--status-info) 16%, transparent);--tone-accent-fg: var(--accent-text);--tone-accent-bg: color-mix(in srgb, var(--accent-blue) 16%, transparent);--tone-neutral-fg: var(--text-secondary);--tone-neutral-bg: color-mix(in srgb, var(--text-muted) 18%, transparent);--tone-critical-fg: color-mix(in srgb, var(--severity-critical) 72%, var(--text-primary));--tone-critical-bg: color-mix(in srgb, var(--severity-critical) 18%, transparent);--tone-high-fg: color-mix(in srgb, var(--severity-high) 72%, var(--text-primary));--tone-high-bg: color-mix(in srgb, var(--severity-high) 18%, transparent);--tone-medium-fg: color-mix(in srgb, var(--severity-medium) 72%, var(--text-primary));--tone-medium-bg: color-mix(in srgb, var(--severity-medium) 18%, transparent);--tone-low-fg: color-mix(in srgb, var(--severity-low) 72%, var(--text-primary));--tone-low-bg: color-mix(in srgb, var(--severity-low) 18%, transparent);--tone-sevinfo-fg: color-mix(in srgb, var(--severity-info) 72%, var(--text-primary));--tone-sevinfo-bg: color-mix(in srgb, var(--severity-info) 18%, transparent)}@keyframes spin{to{transform:rotate(360deg)}}.nx-shell{display:flex;height:100%;min-height:0;overflow:hidden;background:var(--bg-primary)}.nx-shell-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.nx-content{flex:1;min-height:0;overflow:auto;padding:20px 24px 96px}.nx-page{max-width:1600px;margin:0 auto}.nx-sidebar{width:232px;flex-shrink:0;display:flex;flex-direction:column;background:var(--card-bg);border-right:1px solid var(--border-color);height:100%}.nx-sidebar-backdrop,.nx-menu-btn{display:none}.nx-hide-narrow{display:initial}.nx-toast-region{position:fixed;left:16px;bottom:16px;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:8px;max-width:calc(100vw - 32px);pointer-events:none}@media(max-width:960px){.nx-toast-region{top:64px;bottom:auto;left:16px;right:16px;max-width:none;flex-direction:column;align-items:center}.nx-sidebar{position:fixed;inset:0 auto 0 0;z-index:350;transform:translate(-100%);transition:transform var(--motion-normal) ease;box-shadow:var(--elevation-lg)}.nx-sidebar[data-open=true]{transform:translate(0)}.nx-sidebar-backdrop[data-open=true]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:340;background:#00000080}.nx-menu-btn{display:inline-flex}.nx-content{padding:16px 16px 128px}.nx-hide-narrow{display:none}}.nx-grid-kpi{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.nx-grid-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.nx-grid-2{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.nx-grid-main-aside{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 360px}.nx-grid-detail{display:grid;gap:16px;grid-template-columns:300px minmax(0,1fr) 320px;align-items:start}@media(max-width:1280px){.nx-grid-detail{grid-template-columns:minmax(0,1fr) 320px}.nx-grid-detail>:first-child{grid-column:1 / -1}}@media(max-width:1100px){.nx-grid-2,.nx-grid-main-aside,.nx-grid-detail{grid-template-columns:minmax(0,1fr)}.nx-grid-detail>:first-child{grid-column:auto}}.nx-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--card-bg)}.nx-table-wrap table{min-width:720px}.nx-table-wrap th{position:sticky;top:0;background:var(--card-bg);white-space:nowrap}.nx-table-wrap tr:last-child td{border-bottom:0}.nx-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.nx-wrap-anywhere{overflow-wrap:anywhere}.nx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nx-clickable{cursor:pointer;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.nx-clickable:hover{background-color:var(--card-hover)!important}.nx-row-link{cursor:pointer}.nx-row-link:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.nx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;min-width:34px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:transparent;color:var(--text-primary);font-size:.8125rem;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none}.nx-btn:hover:not(:disabled){background:var(--card-hover)}.nx-btn[data-size=sm]{height:28px;min-width:28px;padding:0 10px;font-size:.75rem}.nx-btn[data-size=lg]{height:40px;padding:0 16px;font-size:.875rem}.nx-btn[data-variant=primary]{background:var(--accent-blue);border-color:var(--accent-blue);color:var(--on-accent)}.nx-btn[data-variant=primary]:hover:not(:disabled){background:color-mix(in srgb,var(--accent-blue) 86%,#000)}.nx-btn[data-variant=danger]{background:var(--danger-solid, var(--status-danger));border-color:var(--danger-solid, var(--status-danger));color:var(--on-danger)}.nx-btn[data-variant=danger]:hover:not(:disabled){background:color-mix(in srgb,var(--danger-solid, var(--status-danger)) 86%,#000)}.nx-btn[data-variant=ghost]{border-color:transparent;color:var(--text-secondary)}.nx-btn[data-variant=ghost]:hover:not(:disabled){color:var(--text-primary)}.nx-btn[data-icon-only=true]{padding:0}.nx-btn[aria-pressed=true]{background:var(--tone-accent-bg);border-color:var(--accent-blue);color:var(--accent-text)}.nx-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 14px;margin:1px 0;border-radius:0;border-left:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;text-align:left;text-decoration:none}.nx-nav-item:hover{background:color-mix(in srgb,var(--accent-blue) 8%,transparent);color:var(--text-primary)}.nx-nav-item[aria-current=page]{background:var(--tone-accent-bg);border-left-color:var(--accent-blue);color:var(--accent-text);font-weight:600}.nx-nav-group{padding:10px 16px 4px;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.nx-menu{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--elevation-lg);padding:4px;min-width:180px}.nx-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;text-align:left}.nx-menu-item:hover,.nx-menu-item[data-active=true]{background:var(--card-hover);color:var(--text-primary)}.nx-menu-item[data-tone=danger]{color:var(--tone-danger-fg)}.nx-menu-item:disabled{opacity:.5;cursor:not-allowed}.nx-menu-item:disabled:hover{background:transparent;color:var(--text-secondary)}@media(max-width:640px){.nx-btn,.nx-btn[data-size=sm],.nx-btn[data-size=lg]{min-height:40px;min-width:40px}.nx-btn[data-size=sm],.nx-btn:not([data-size]){height:auto}.nx-menu-item,.nx-pw-input{min-height:40px}.nx-pw-toggle{top:0!important;height:40px!important;min-width:48px}.leaflet-bar a{width:40px!important;height:40px!important;line-height:40px!important}label:has(>input[type=checkbox]),label:has(>input[type=radio]){min-height:40px!important;align-items:center}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]):not([type=color]),select,textarea{min-height:40px}.nx-check{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;cursor:pointer}.nx-nav-item{min-height:40px}summary{min-height:40px!important;padding-block:8px;line-height:24px;box-sizing:border-box}td>a:not(.nx-btn):not(.nx-truncate),a.nx-hit{display:inline-flex;align-items:center;min-height:40px;padding-block:0!important}td>a.nx-truncate{padding-block:10px!important}}.leaflet-tooltip{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--elevation-md)}.leaflet-tooltip-top:before{border-top-color:var(--border-color)}.leaflet-tooltip-bottom:before{border-bottom-color:var(--border-color)}.leaflet-tooltip-left:before{border-left-color:var(--border-color)}.leaflet-tooltip-right:before{border-right-color:var(--border-color)}.leaflet-bar a{background:var(--card-bg);color:var(--text-primary);border-bottom-color:var(--border-color)}.leaflet-bar a:hover{background:var(--card-hover);color:var(--text-primary)}.leaflet-container{font-family:var(--font-family)}.react-flow .react-flow__controls{box-shadow:var(--elevation-md);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.react-flow .react-flow__controls-button{background:var(--card-bg);border-bottom:1px solid var(--border-color);color:var(--text-primary);fill:var(--text-primary);width:28px;height:28px}.react-flow .react-flow__controls-button svg{fill:currentColor}.react-flow .react-flow__controls-button:hover{background:var(--card-hover)}.react-flow .react-flow__minimap{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.react-flow .react-flow__attribution{background:transparent}.react-flow .react-flow__attribution a{color:var(--text-muted);font-size:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.nx-scrollbox{max-height:var(--nx-scrollbox-max, 220px);overflow-y:auto}@media(max-width:640px){.nx-scrollbox{max-height:none;overflow:visible}}@media(max-width:640px){.nx-settings-nav{flex:1 0 100%!important;max-width:none!important;display:flex;overflow-x:auto;padding:4px!important;gap:2px;-webkit-overflow-scrolling:touch}.nx-settings-nav .nx-nav-item{width:auto;flex:0 0 auto;white-space:nowrap;margin:0;border-left:0;border-bottom:2px solid transparent;border-radius:var(--radius-sm);padding:8px 12px;min-height:40px}.nx-settings-nav .nx-nav-item[aria-current=page]{border-bottom-color:var(--accent-blue)}}.nx-name-cell{min-width:0;max-width:100%;overflow-wrap:anywhere}.nx-actions-col{min-width:132px;padding-right:16px!important;white-space:nowrap}.nx-table-wrap th.nx-sticky-end,.nx-table-wrap td.nx-sticky-end{position:sticky;right:0;background:var(--card-bg);box-shadow:-1px 0 0 var(--border-color);z-index:1}.nx-table-wrap tr:hover td.nx-sticky-end{background:var(--card-hover)}@media(max-width:640px){.nx-bell-panel{position:fixed!important;top:60px!important;left:8px!important;right:8px!important;width:auto!important;max-height:calc(100dvh - 68px)!important}}.nx-touch-reason{display:none}@media(hover:none){.nx-hover-hint{display:none}.nx-touch-reason{display:block}}@media(forced-colors:active){.nx-nav-item[aria-current=page]{border-left:4px solid Highlight;forced-color-adjust:none;color:HighlightText;background:Highlight}.nx-settings-nav .nx-nav-item[aria-current=page]{border-left:0;border-bottom:4px solid Highlight}.nx-btn[aria-pressed=true]{border:2px solid Highlight}.nx-btn{border:1px solid ButtonText}.nx-menu-item[data-active=true]{outline:2px solid Highlight}}@page{margin:12mm}@media print{*,*:before,*:after{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important;animation:none!important;transition:none!important}html,body,#root{height:auto!important;min-height:0!important;overflow:visible!important}html,body,#root,.nx-shell,.nx-shell-main,.nx-content{background:#fff!important}.nx-shell,.nx-shell-main{display:block!important;height:auto!important;overflow:visible!important}.nx-content{overflow:visible!important;padding:0!important;height:auto!important}.nx-page{max-width:none!important}.nx-sidebar,.nx-sidebar-backdrop,.nx-topbar,.nx-ai-tab,.nx-toast-region,.nx-btn,.nx-settings-nav,.nx-reconnect,.nx-banner,button[aria-haspopup],[data-print=hide]{display:none!important}.nx-table-wrap{overflow:visible!important}.nx-table-wrap table{min-width:0!important}.nx-table-wrap th{position:static!important}table{break-inside:auto;width:100%!important;min-width:0!important;table-layout:auto}table td,table th,table td *,table th *{white-space:normal!important}table td:first-child,table th:first-child,.nx-name-cell,.nx-wrap-anywhere{overflow-wrap:anywhere;min-width:0!important}pre,code{white-space:pre-wrap!important}tr,li,svg,canvas,figure{break-inside:avoid;page-break-inside:avoid}thead{display:table-header-group}h1,h2,h3{break-after:avoid;page-break-after:avoid}a{text-decoration:underline}.nx-truncate{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}}@media(max-width:640px){nav[aria-label=Breadcrumb] a{display:inline-flex;align-items:center;min-height:40px}}
