@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-Bput3-QP.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-DCpCPQOf.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-DxZsaF_h.woff2)format("woff2"),url(/assets/inter-greek-400-normal-BZzXV7-1.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-BUNmGMP1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-hnt3BR84.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-C1t-h-pH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-BOOGhInR.woff2)format("woff2"),url(/assets/inter-latin-400-normal-gitzw0hO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-DH2hs3aW.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-B6guLgqG.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-M2hEX8vc.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-CeQXL5ds.woff2)format("woff2"),url(/assets/inter-greek-500-normal-d_eO-yCQ.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-UMdmhHu2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-D2bGa7uu.woff2)format("woff2"),url(/assets/inter-latin-500-normal-deR1Tlfd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-BGBWG807.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-BuzJQFbW.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-C9WLioJ8.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-Dhlb-90d.woff2)format("woff2"),url(/assets/inter-greek-600-normal-CwicyhtI.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-BnYJhD27.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CAF0vJDd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-D273HNI0.woff2)format("woff2"),url(/assets/inter-latin-600-normal-B5cFAncS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--nm-bg:#e8eef3;--nm-bg-elevated:#f4f7fa;--nm-surface:#f9fbfd;--nm-surface-soft:#eef4f8;--nm-border:#7b8fa157;--nm-border-strong:#5c6c7d75;--nm-text:#111827;--nm-text-muted:#5d6b7a;--nm-text-faint:#8a97a7;--nm-shell:#0d1b2b;--nm-shell-raised:#091420;--nm-shell-border:#ffffff14;--nm-shell-text:#e7edf2;--nm-shell-muted:#828b98;--nm-accent:#1d9ab0;--nm-accent-strong:#1d6472;--nm-accent-soft:#1d9ab01f;--nm-danger:#d94b4b;--nm-warning:#d4912c;--nm-success:#2d9d78;--nm-danger-soft:#d94b4b1a;--nm-warning-soft:#d4912c1f;--nm-success-soft:#2d9d781f;--nm-row-hover:#e7edf2;--nm-radius-sm:6px;--nm-radius-md:8px;--nm-radius-lg:10px;--nm-shadow-sm:0 1px 2px #0f172a0f;--nm-shadow-md:0 10px 30px #0f172a14;--nm-topbar-height:82px;--nm-space-1:4px;--nm-space-2:8px;--nm-space-3:12px;--nm-space-4:16px;--nm-space-5:20px;--nm-space-6:24px;--nm-text-xs:11px;--nm-text-sm:12px;--nm-text-md:13px;--nm-text-lg:14px;--nm-control-sm:28px;--nm-control-md:32px;--nm-control-lg:36px;color:var(--nm-text);background:var(--nm-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--nm-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-weight:400}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;color:var(--nm-text);background:var(--nm-bg);grid-template-columns:232px minmax(0,1fr);transition:grid-template-columns .2s;display:grid}.app-shell--sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-main{background:var(--nm-bg);flex-direction:column;min-width:0;min-height:100vh;display:flex}.auth-shell{flex-direction:row;min-height:100vh;display:flex}.auth-split-left{background:linear-gradient(155deg, var(--nm-shell) 0%, var(--nm-shell) 55%, var(--nm-shell-raised) 100%);flex-shrink:0;justify-content:center;align-items:center;width:42%;display:none;position:relative;overflow:hidden}@media (width>=900px){.auth-split-left{display:flex}}.auth-brand-panel{z-index:2;flex-direction:column;align-items:flex-start;gap:14px;padding:0 52px;display:flex;position:relative}.auth-brand-mark{border-radius:20px;justify-content:center;align-items:center;margin-bottom:8px;display:inline-flex;box-shadow:0 0 44px 10px #1d9ab038}.auth-brand-wordmark{letter-spacing:-.04em;color:#e8f4f8;font-size:40px;font-weight:850;line-height:1}.auth-brand-tagline{color:#b4d7e699;max-width:280px;font-size:15px;font-weight:400;line-height:1.5}.auth-brand-deco{opacity:.35;pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.auth-brand-stats{flex-direction:column;gap:10px;margin-top:24px;display:flex}.auth-brand-stat{color:#a0d2e4a6;align-items:center;gap:10px;font-size:13px;display:flex}.auth-brand-stat-dot{background:var(--nm-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.auth-split-right{background:#f0f4f8;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.sidebar{background:linear-gradient(180deg, var(--nm-shell) 0%, var(--nm-shell-raised) 100%);color:var(--nm-shell-text);border-right:1px solid var(--nm-shell-border);scrollbar-width:none;flex-direction:column;height:100vh;padding:14px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar::-webkit-scrollbar{display:none}.sidebar-brand-row{justify-content:space-between;align-items:center;gap:6px;min-height:42px;display:flex}.brand{border-radius:var(--nm-radius-md);min-width:0;min-height:36px;color:var(--nm-shell-text);letter-spacing:-.01em;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:4px 8px;font-size:15px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.brand:hover{color:#fff;background:#ffffff0d}.brand:focus-visible{outline:2px solid var(--nm-accent);outline-offset:2px}.brand svg{color:var(--nm-accent)}.sidebar-section-label{color:var(--nm-shell-muted);text-transform:uppercase;letter-spacing:0;margin-top:16px;margin-bottom:5px;padding:0 12px;font-size:10px;font-weight:700}.sidebar-section-rule{background:#ffffff13;width:calc(100% - 24px);height:1px;margin:14px 12px 8px;display:block}.sidebar nav{gap:3px;margin-top:12px;display:grid}.sidebar-footer-actions{gap:6px;width:100%;margin-top:auto;display:grid}.sidebar-theme-toggle,.sidebar-logout,.sidebar-collapse-btn--footer{border:1px solid var(--nm-shell-border);border-radius:var(--nm-radius-md);width:100%;min-height:36px;color:var(--nm-shell-muted);cursor:pointer;background:#ffffff09;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.sidebar-logout{margin-top:0}.sidebar-theme-toggle:hover,.sidebar-logout:hover,.sidebar-collapse-btn--footer:hover{color:var(--nm-shell-text);background:#ffffff0e;border-color:#ffffff26}.sidebar-version{color:var(--nm-shell-muted);white-space:nowrap;padding:6px 14px 10px;font-size:11px;overflow:hidden}.sidebar-version-update{color:var(--nm-warning);opacity:1;text-decoration:none}.sidebar-version-update:hover{text-decoration:underline}.sidebar-link{border-radius:var(--nm-radius-md);width:100%;min-height:38px;color:var(--nm-shell-muted);cursor:pointer;text-align:left;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;transition:background .14s,border-color .14s,color .14s;display:flex}.sidebar-link:hover{color:var(--nm-shell-text);background:linear-gradient(90deg,#1d9ab024 0%,#1d9ab00b 65%,#0000 100%);border-left-color:#1d9ab059}.sidebar-link.active{border-left-color:var(--nm-accent);color:#6ddbe8;background:linear-gradient(90deg,#1d9ab047 0%,#1d9ab00f 65%,#0000 100%);font-weight:650}.sidebar-badge{background:var(--nm-danger);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.workspace{background:var(--nm-bg);flex-direction:column;flex:auto;min-width:0;padding:24px;display:flex}body.route-topology .workspace>:last-child,body.route-inventory .workspace>:last-child,body.route-security .workspace>:last-child,body.route-monitoring .workspace>:last-child,body.route-ipam .workspace>:last-child{flex:auto;min-width:0;min-height:0}.app-topbar{z-index:25;min-height:var(--nm-topbar-height);border-bottom:1px solid var(--nm-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fafbeb;justify-content:space-between;align-items:center;gap:20px;padding:0 28px;display:flex;position:sticky;top:0}.app-topbar-route,.app-topbar-account,.app-topbar-user,.app-topbar-status{align-items:center;display:flex}.app-topbar-route{gap:14px;min-width:0}.app-topbar-icon{border-radius:var(--nm-radius-md);background:var(--nm-accent-soft);width:46px;height:46px;color:var(--nm-accent-strong);border:1px solid #1d9ab033;flex:none;justify-content:center;align-items:center;display:inline-flex}.app-topbar-copy{gap:5px;min-width:0;display:grid}.app-topbar-copy strong{color:var(--nm-text);letter-spacing:-.02em;font-size:25px;font-weight:600;line-height:1}.app-topbar-copy small{max-width:min(58vw,760px);color:var(--nm-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.25;overflow:hidden}.app-topbar-account{justify-content:flex-end;gap:14px;min-width:0}.app-topbar-greeting{text-align:right;gap:3px;min-width:0;display:grid}.app-topbar-greeting strong{color:var(--nm-text);font-size:16px;font-weight:600;line-height:1.1}.app-topbar-greeting span{color:var(--nm-text-muted);white-space:nowrap;font-size:12px;line-height:1.1}.app-topbar-status{color:#17704d;background:#22a06b14;border:1px solid #22a06b38;border-radius:999px;gap:7px;min-height:30px;padding:5px 10px;font-size:12px;font-weight:750}.app-topbar-status span{background:var(--nm-success);border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 3px #22a06b1f}.app-topbar-status:not(.app-topbar-status--paused) span{animation:1.8s ease-in-out infinite pulse-dot-green}.app-topbar-mon-status{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.app-topbar-note{color:var(--nm-text-muted);font-size:11px;font-weight:500}.app-topbar-status--paused{color:#536879;background:#8296a51f;border-color:#8296a54d}.app-topbar-status--paused span{background:#9aabb6;box-shadow:0 0 0 3px #9aabb624}.security-topbar-meta{justify-content:flex-end;align-items:center;gap:14px;min-width:0;display:flex}.security-topbar-copy{text-align:right;gap:3px;min-width:0;display:grid}.security-topbar-copy span{max-width:min(44vw,760px);color:var(--nm-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;line-height:1.2;overflow:hidden}.security-topbar-copy span:first-child{color:#355568;font-weight:750}.security-topbar-controls{flex:none;align-items:center;gap:8px;display:flex}.loc-topbar-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.loc-topbar-search{width:min(28vw,280px);min-width:190px;height:var(--nm-control-md);background:0 0;border:none;gap:0;padding:0}.loc-topbar-search input{width:100%;min-width:0}@media (width<=980px){.loc-topbar-search{width:210px;min-width:160px}.security-topbar-copy span{max-width:34vw}.security-topbar-copy span+span{display:none}}@media (width<=760px){.loc-topbar-actions{width:100%}.loc-topbar-search{flex:auto;width:auto;min-width:0}.security-topbar-meta{gap:8px}.security-topbar-copy{display:none}}.app-topbar-user{border:1px solid var(--nm-border);max-width:280px;min-height:34px;color:var(--nm-text-muted);background:var(--nm-surface);box-shadow:var(--nm-shadow-sm);border-radius:999px;gap:7px;padding:5px 10px;font-size:13px;font-weight:650}.app-topbar-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-topbar-user em{color:var(--nm-text-faint);font-size:11px;font-style:normal;font-weight:700}body.route-topology{overflow:hidden}body.route-topology .app-shell,body.route-topology .app-main{height:100dvh;overflow:hidden}body.route-topology .workspace{height:calc(100dvh - var(--nm-topbar-height));padding:0;overflow:hidden}body.route-security .app-shell,body.route-security .app-main{height:100dvh;overflow:hidden}body.route-inventory .workspace{height:calc(100dvh - var(--nm-topbar-height));padding:0;overflow:hidden}body.route-inventory .app-topbar{border-bottom-color:#0000}body.route-inventory .topology-layout{height:100%;min-height:0;margin-top:0}body.route-vlans .workspace,body.route-locations .workspace{padding:20px 24px 24px}body.route-monitoring .workspace,body.route-ipam .workspace{padding-top:24px}body.route-vlans .dash-header--actions-only,body.route-locations .dash-header--actions-only{margin-top:0;margin-bottom:8px}body.route-inventory .topology-content{flex:auto;gap:16px;min-height:0;margin-top:0;padding:0 18px 20px;overflow:hidden}body.route-inventory .inventory-surface{flex:auto;width:100%;min-width:0}body.route-inventory .details-panel{align-self:stretch;max-height:none;position:static;top:auto;overflow-y:auto}body.route-security .workspace{height:calc(100dvh - var(--nm-topbar-height));flex-direction:column;padding:20px 32px;display:flex;overflow:hidden}body.route-security .security-layout{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}body.route-security .security-content{flex:1;min-height:0}body.route-security .security-filters{overflow-y:auto}body.route-security .security-results{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}body.route-security .security-table{flex:1;min-height:0;max-height:none;overflow:auto}body.route-vlans .topology-content,body.route-locations .topology-content{margin-top:0}.auth-workspace{width:100%;max-width:480px}.workspace-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.workspace-header p,.auth-card p{color:#587183;margin:0 0 6px;font-size:13px;font-weight:700}.workspace-header p{text-transform:uppercase}.workspace h1,.auth-card h1{letter-spacing:-.02em;color:var(--nm-shell);margin:0;font-size:28px;font-weight:750}.auth-card h1{font-size:24px}.auth-surface{flex-direction:column;align-items:center;width:100%;display:flex}.auth-brand{text-align:center;border-bottom:1px solid #d1dce6cc;flex-direction:column;align-items:center;gap:8px;margin-bottom:22px;padding-bottom:24px;display:flex}.auth-brand-row{align-items:center;gap:10px;display:flex}.auth-brand-icon{justify-content:center;align-items:center;display:inline-flex}.auth-brand-name{color:var(--nm-shell);letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1}.auth-slogan{color:#7a96a8!important;margin:0!important;font-size:13px!important;font-weight:400!important;line-height:1.5!important}.auth-form-heading{color:#1a2c38;letter-spacing:-.01em;margin:0 0 4px;font-size:16px;font-weight:700}.auth-card{background:#fff;border:1px solid #d2d6dad9;border-radius:16px;width:min(100%,420px);padding:28px 28px 24px;box-shadow:0 4px 20px #0000001a,0 1px 6px #0000000f}.auth-theme-toggle{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#3d5c74;cursor:pointer;z-index:100;background:#f3f7fad9;border:1px solid #64829b59;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex;position:fixed;top:16px;right:20px}.auth-theme-toggle:hover{background:var(--nm-shell-text);border-color:#64829b8c}.form-icon{background:linear-gradient(135deg, var(--nm-surface-soft) 0%, #c4e8f0 100%);width:44px;height:44px;color:var(--nm-accent-strong);border-radius:12px;place-items:center;margin-bottom:18px;display:grid}.auth-card label{color:#4a6070;letter-spacing:.01em;gap:6px;margin-top:18px;font-size:13px;font-weight:600;display:grid}.auth-card input{box-sizing:border-box;color:#172026;background:#ecf1f6;border:1.5px solid #d0dbe5;border-radius:10px;width:100%;min-height:46px;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}.auth-card input:focus{background:#f3f7fa;border-color:#1d8a9d;outline:none;box-shadow:0 0 0 3px #1d8a9d24}.auth-card button,.icon-button{color:#fff;background:linear-gradient(135deg, #0d454b 0%, var(--nm-accent) 50%, #125b63 100%);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 18px;font-size:15px;font-weight:700;transition:opacity .15s,box-shadow .15s,transform .12s;display:inline-flex;box-shadow:0 3px 12px #1d647252,inset 0 1px #ffffff24}.auth-card button:hover,.icon-button:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 5px 18px #1d64726b}.auth-card button{letter-spacing:.01em;width:100%;margin-top:24px}.auth-card button:disabled{cursor:wait;opacity:.72}.auth-card button.auth-sso-btn{color:#274355;box-shadow:none;background:#eef4f8;border:1.5px solid #c6d4df;margin-top:14px;font-weight:600}.auth-card button.auth-sso-btn:hover{opacity:1;background:var(--nm-accent-soft);color:var(--nm-accent-strong);box-shadow:none;border-color:#1d9ab066;transform:none}.auth-divider{color:#8a97a7;text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;margin-top:20px;font-size:12px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#d5dee6;flex:1;height:1px}.auth-card .auth-forgot-link{color:#4a7c8e;text-align:center;cursor:pointer;width:100%;box-shadow:none;letter-spacing:0;background:0 0;border:none;border-radius:8px;min-height:auto;margin-top:10px;padding:7px;font-size:13px;font-weight:500;transition:color .15s,background .15s;display:block;transform:none!important}.auth-card .auth-forgot-link:hover{color:var(--nm-accent-strong);opacity:1;box-shadow:none;background:#1d647212}.auth-reset-info{color:#587183;margin:0 0 8px;font-size:13px;line-height:1.55}.icon-button{flex:none}.error-banner,.form-error{border-radius:8px;align-items:center;gap:8px;font-size:13px;line-height:1.4;display:flex}.error-banner:before,.form-error:before{content:"";background:var(--nm-danger);border-radius:50%;flex-shrink:0;width:8px;height:8px}.error-banner{color:#7a1a1a;background:#e0505012;border:1px solid #e0505047;margin-bottom:16px;padding:10px 14px}.form-error{color:#7a1a1a;background:#e0505012;border:1px solid #e0505040;margin-top:14px;padding:8px 12px}:root{--dash-green:#2dba7c;--dash-red:var(--nm-danger);--dash-amber:#e09030;--dash-teal:var(--nm-accent);--dash-purple:#7c5cbf;--dash-blue:#3b80d0;--dash-indigo:#5060c0;--dash-muted:#a0b4c0}.dash-layout{padding:0 0 32px}.dash-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.dash-header--actions-only{justify-content:flex-end;margin-top:-6px;margin-bottom:10px}.dash-title{color:#1a2e3d;letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:800}.dash-subtitle{color:#5b7c91;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.dash-clock{font-variant-numeric:tabular-nums;letter-spacing:.02em}.dash-role-badge{color:var(--nm-accent-strong);background:#1d9ab01a;border:1px solid #1d9ab033;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.dash-header-meta{color:#7a96a8;align-items:center;gap:5px;padding-top:4px;font-size:12px;display:flex}.dash-header-right{flex-direction:column;align-items:flex-end;gap:8px;min-width:0;display:flex}body:not(.theme-dark) .mon-table th,body:not(.theme-dark) .inventory-table-header{background:var(--nm-shell-text);color:#4e6e82;border-bottom-color:#aac8dab3}body:not(.theme-dark) .inventory-sort-btn{color:#4e6e82}body:not(.theme-dark) .inventory-sort-btn:hover,body:not(.theme-dark) .inventory-sort-btn.active{color:var(--nm-accent-strong)}body:not(.theme-dark) .dash-panel-header{background:var(--nm-shell-text);border-bottom-color:#91aec4b8}body:not(.theme-dark) .dash-panel-title{color:#2a4860}body:not(.theme-dark) .dash-panel-meta{color:#5a7a8a}body:not(.theme-dark) .dash-panel-link{color:var(--nm-accent-strong)}body:not(.theme-dark) .dash-panel-link:hover{color:#155060}body:not(.theme-dark) .dash-panel,body:not(.theme-dark) .metric,body:not(.theme-dark) .panel,body:not(.theme-dark) .inventory-surface,body:not(.theme-dark) .details-panel,body:not(.theme-dark) .tool-card,body:not(.theme-dark) .security-filters,body:not(.theme-dark) .security-results,body:not(.theme-dark) .admin-panel{background:#f8fbfd;border-color:#96abbedb;box-shadow:0 1px 3px #17202614,0 5px 16px #1720260f}.dash-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.dash-stats--monitoring{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:8px}.inv-stat-chip{color:#2a4860;white-space:nowrap;background:#0000000d;border:1px solid #0000001a;border-radius:20px;align-items:center;gap:6px;padding:5px 13px;font-size:13px;display:inline-flex}.inv-stat-chip-icon{align-items:center;display:flex}.inv-stat-chip-count{font-size:15px;font-weight:700;line-height:1}.inv-stat-chip-label{opacity:.6;font-size:12px}.inv-stat-chip--teal{color:#0e7a8e;background:#0e7a8e14;border-color:#0e7a8e40}.inv-stat-chip--green{color:#15803d;background:#15803d14;border-color:#15803d40}.inv-stat-chip--red{color:#b91c1c;background:#b91c1c14;border-color:#b91c1c40}.inv-stat-chip--purple{color:#6d28d9;background:#6d28d914;border-color:#6d28d940}.inv-stat-chip--muted{color:#5a7a8a;background:#5a7a8a0f;border-color:#5a7a8a33}body.theme-dark .inv-stat-chip{color:#c8dae8;background:#ffffff12;border-color:#ffffff1a}body.theme-dark .inv-stat-chip--teal{color:#40d4ea;background:#40d4ea1a;border-color:#40d4ea40}body.theme-dark .inv-stat-chip--green{color:#4ade80;background:#4ade801a;border-color:#4ade8040}body.theme-dark .inv-stat-chip--red{color:#f87171;background:#f871711a;border-color:#f8717140}body.theme-dark .inv-stat-chip--purple{color:#a78bfa;background:#a78bfa1a;border-color:#a78bfa40}body.theme-dark .inv-stat-chip--muted{color:#7a9aaa;background:#7a9aaa12;border-color:#7a9aaa33}.dash-stat{cursor:default;background:#fff;border:1px solid #d2d6dacc;border-radius:14px;align-items:center;gap:14px;padding:18px 20px 16px;transition:box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000000d,0 4px 14px #00000008}body.route-overview .dash-stat{background:linear-gradient(135deg,#1d9ab014,#fff0 44%),#fff}.dash-stat:hover{transform:translateY(-2px);box-shadow:0 2px 10px #00000017,0 8px 24px #0000000f}.dash-stat--teal:hover{box-shadow:0 2px 10px #00000017,0 8px 24px #0000000f,0 0 0 1px #1d9ab040,0 4px 20px #1d9ab024}.dash-stat--green:hover{box-shadow:0 2px 10px #00000017,0 8px 24px #0000000f,0 0 0 1px #2dba7c40,0 4px 20px #2dba7c24}.dash-stat--red:hover{box-shadow:0 2px 10px #00000017,0 8px 24px #0000000f,0 0 0 1px #e0505040,0 4px 20px #e0505024}.dash-stat--purple:hover{box-shadow:0 2px 10px #00000017,0 8px 24px #0000000f,0 0 0 1px #7c5cbf40,0 4px 20px #7c5cbf24}.dash-stat--blue:hover{box-shadow:0 2px 10px #00000017,0 8px 24px #0000000f,0 0 0 1px #3b80d040,0 4px 20px #3b80d024}.dash-stat--indigo:hover{box-shadow:0 2px 10px #00000017,0 8px 24px #0000000f,0 0 0 1px #5060c040,0 4px 20px #5060c024}.dash-stat:before{content:"";border-radius:14px 14px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.dash-stat--clickable{cursor:pointer;text-align:left;width:100%;font:inherit}.dash-stat--clickable:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.dash-stat--teal:before{background:var(--dash-teal)}.dash-stat--green:before{background:var(--dash-green)}.dash-stat--red:before{background:var(--dash-red)}.dash-stat--purple:before{background:var(--dash-purple)}.dash-stat--blue:before{background:var(--dash-blue)}.dash-stat--indigo:before{background:var(--dash-indigo)}.dash-stat-icon{color:#1d8090;background:#1d9ab01a;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.dash-stat--green .dash-stat-icon{color:#178a58;background:#2dba7c1c}.dash-stat--red .dash-stat-icon{color:#c03030;background:#e050501a}.dash-stat--purple .dash-stat-icon{color:#6040a0;background:#7c5cbf1a}.dash-stat--blue .dash-stat-icon{color:#2860b0;background:#3b80d01a}.dash-stat--indigo .dash-stat-icon{color:#4050a0;background:#5060c01a}.dash-stat-body{flex-direction:column;min-width:0;display:flex}.dash-stat-value{color:var(--nm-shell);letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1}.dash-stat-label{color:#4a6070;text-transform:uppercase;letter-spacing:.06em;margin-top:5px;font-size:11px;font-weight:700}.dash-stat-sub{color:#8aa0b0;margin-top:3px;font-size:11.5px}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #e0505073}50%{opacity:.85;box-shadow:0 0 0 5px #e0505000}}@keyframes pulse-dot-green{0%,to{opacity:1;box-shadow:0 0 #22c55e80}50%{opacity:.85;box-shadow:0 0 0 4px #22c55e00}}@keyframes status-dot-strobe{0%,to{opacity:1;box-shadow:0 0 0 0 var(--status-dot-halo), 0 0 9px var(--status-dot-glow);transform:scale(1)}50%{opacity:.78;box-shadow:0 0 0 7px #0000, 0 0 14px var(--status-dot-glow);transform:scale(1.18)}}.dash-alert{color:#7a1a1a;background:#e0505012;border:1px solid #e050504d;border-radius:10px;flex-wrap:wrap;align-items:center;gap:5px 8px;max-width:520px;padding:9px 14px;font-size:13px;display:flex}.dash-alert--overview-bar{border-radius:8px;width:100%;max-width:none;margin:-4px 0 16px;padding:10px 14px}.dash-alert-dot{background:var(--nm-danger);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.8s ease-in-out infinite pulse-dot}.dash-alert-dismiss{cursor:pointer;color:#9a3030;opacity:.6;width:24px;height:24px;min-height:unset;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;height:auto;margin-left:auto;padding:0;transition:opacity .15s,background .15s;display:flex}.dash-alert-dismiss:hover{opacity:1;background:#e050501f}.dash-alert-link{color:#8a2020;cursor:pointer;min-height:unset;background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;height:auto;padding:0;font-size:12px;font-weight:600;text-decoration:underline;display:flex}.dash-alert-tag{color:#9a2020;white-space:nowrap;background:#e050501a;border:1px solid #e050502e;border-radius:20px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.dash-alert-tag--more{color:#5a7080;background:#64788c0f;border-color:#64788c24}.dash-alert--changes{color:#6b4200;background:#c8821e12;border-color:#c8821e47}.dash-alert--changes .dash-alert-link{color:#7a5000}.dash-alert--changes .dash-alert-tag{color:#7a4a00;background:#c8821e1a;border-color:#c8821e33}.dash-alert--changes .dash-alert-dismiss{color:#7a5000}.dash-alert--changes .dash-alert-dismiss:hover{background:#c8821e1f}.dash-alert-dot--amber{background:#d08020}.dash-alert-dot--purple{background:#7c5cbf}.inv-filter-bar{background:#f8fafce6;border-bottom:1px solid #d1dce699;align-items:center;gap:8px;padding:7px 12px;display:flex}.inv-filter-label{text-transform:uppercase;letter-spacing:.06em;color:#7a96a8;white-space:nowrap;padding-right:4px;font-size:11px;font-weight:700}.inv-filter-sep{background:#c8d5ddb3;flex-shrink:0;width:1px;height:16px}.inv-filter-tabs{flex-wrap:wrap;gap:3px;display:flex}.inv-filter-tab{color:#5b7c91;cursor:pointer;min-height:unset;background:0 0;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;height:auto;padding:4px 13px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.inv-filter-tab:hover{color:var(--nm-accent-strong);background:#1d9ab012;border-color:#1d9ab026}.inv-filter-tab.active{color:var(--nm-accent);background:#1d9ab01c;border-color:#1d9ab047}body.theme-dark .inv-filter-bar{background:#0a141e99;border-bottom-color:#28465a80}body.theme-dark .inv-filter-label{color:#304a5e}body.theme-dark .inv-filter-sep{background:#28465a99}body.theme-dark .inv-filter-tab{color:var(--nm-text-muted)}body.theme-dark .inv-filter-tab:hover{color:#4db8cc;background:#1d9ab01a;border-color:#1d9ab033}body.theme-dark .inv-filter-tab.active{color:#40d4ea;background:#1d9ab026;border-color:#1d9ab04d}body.theme-dark .dash-alert-tag{color:#e07070;background:#e050501f;border-color:#e0505033}body.theme-dark .dash-alert-tag--more{color:#6a8a9a;background:#8ca0b412;border-color:#8ca0b41f}.dash-grids{flex-direction:column;gap:14px;display:flex}.dash-grid-3{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:14px;display:grid}.dash-grid-2{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:14px;display:grid}.dash-panel{background:#fff;border:1px solid #d2d6dad9;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}body.route-overview .dash-panel{background:linear-gradient(135deg,#1d9ab00e,#fff0 34%),#fff}.dash-panel-body{scrollbar-width:thin;scrollbar-color:#a0b4c066 transparent;flex:1;min-height:0;overflow-y:auto}.dash-panel-body::-webkit-scrollbar{width:4px}.dash-panel-body::-webkit-scrollbar-track{background:0 0}.dash-panel-body::-webkit-scrollbar-thumb{background:#a0b4c066;border-radius:2px}.dash-panel-header{border-bottom:1px solid #d1dce699;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px 12px;display:flex}.dash-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.dash-empty-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex}.overview-fav-search{color:#7a96a8;background:#f2f7fa;border:1px solid #b0c3d3cc;border-radius:8px;align-items:center;gap:6px;min-width:180px;padding:4px 9px;display:inline-flex}.overview-fav-search input{color:#1a2e3d;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:12px}.overview-fav-search input::placeholder{color:var(--nm-text-faint)}.dash-panel-header--favourites{padding-top:10px;padding-bottom:10px}.dash-panel-header--favourites .overview-fav-search{min-width:160px;height:24px;padding:0 8px}.dash-panel-title{color:#1a2e3d;text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.dash-panel-meta{color:#8aa0b0;font-size:12px}.dash-panel-link{color:var(--nm-accent);cursor:pointer;min-height:unset;background:0 0;border:none;align-items:center;gap:4px;height:auto;padding:0;font-size:12px;font-weight:600;line-height:1;transition:color .13s;display:inline-flex}.dash-panel-link:hover{color:var(--nm-accent-strong)}.dash-panel-divider{background:#d1dce699;height:1px;margin:8px 0}.dash-panel-sub-title{text-transform:uppercase;letter-spacing:.06em;color:#7a96a8;padding:0 18px 6px;font-size:11px;font-weight:700}.dash-empty{color:#8aa0b0;margin:0;padding:18px;font-size:13px}.dash-empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;display:flex}.dash-empty-icon{color:#8ab0c4;background:#1d9ab012;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:2px;display:flex}.dash-empty-title{color:#2a3e50;margin:0;font-size:13.5px;font-weight:700}.dash-empty-desc{color:#8aa0b0;max-width:220px;margin:0;font-size:12.5px;line-height:1.5}.dash-empty-action{color:#1d7a8c;cursor:pointer;min-height:unset;background:#1d9ab01a;border:1px solid #1d9ab033;border-radius:8px;align-items:center;gap:5px;height:auto;margin-top:4px;padding:6px 14px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.dash-empty-action:hover{background:#1d9ab029;border-color:#1d9ab052}.dash-health{flex-direction:column;gap:8px;padding:12px 18px 14px;display:flex}.dash-health-row{grid-template-columns:72px 1fr 36px;align-items:center;gap:10px;display:grid}.dash-health-label{color:#4a6070;font-size:12.5px;font-weight:600}.dash-health-track{background:#d1dce680;border-radius:99px;height:6px;overflow:hidden}.dash-health-fill{border-radius:99px;height:100%;transition:width .4s}.dash-health-count{color:#4a6070;text-align:right;font-size:12.5px;font-weight:700}.dash-device-list{flex-direction:column;display:flex}.dash-device-row{border-bottom:1px solid #afc6d88c;grid-template-columns:10px 1fr auto auto;align-items:center;gap:10px;padding:9px 18px;transition:background .12s;display:grid}.dash-device-row--favourite{grid-template-columns:12px minmax(0,1fr) 54px 62px 30px;align-items:center;column-gap:12px}.dash-device-row--favourite .dash-device-info{min-width:0}.dash-device-row--favourite .mon-uptime{text-align:center;justify-self:end}.dash-fav-rtt{text-align:right;white-space:nowrap;justify-self:end;min-width:62px}.dash-device-row--favourite .fav-btn{justify-self:center}.dash-device-row:last-child{border-bottom:none}.dash-device-row:hover{background:var(--nm-row-hover)}.dash-device-row--action{cursor:pointer}.dash-device-row--action:focus-visible{outline:2px solid var(--nm-accent);outline-offset:-2px}.dash-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dash-status-dot--online{background:var(--dash-green);box-shadow:0 0 0 2px #2dba7c33}.dash-status-dot--offline{background:var(--dash-red)}.dash-status-dot--warning{background:var(--dash-amber)}.dash-status-dot--unknown{background:var(--dash-muted)}.dash-device-info{flex-direction:column;gap:1px;min-width:0;display:flex;overflow:hidden}.dash-device-name{color:#1a2e3d;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.dash-device-meta{color:#7a96a8;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.dash-device-group{color:#7a96a8;white-space:nowrap;text-overflow:ellipsis;text-align:right;max-width:100px;font-size:11.5px;overflow:hidden}.dash-dim{color:#b0c4cc}.dash-status-pill{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:99px;padding:2px 7px;font-size:10px;font-weight:700}.dash-status-pill--online{color:#0d6b3a;background:#2dba7c38}.dash-status-pill--offline{color:#b01c1c;background:#e0505038}.dash-status-pill--warning{color:#804010;background:#e0903038}.dash-status-pill--unknown{color:#4a6070;background:#a0b4c038}.dash-breakdown{flex-direction:column;gap:7px;padding:10px 18px 12px;display:flex}.dash-breakdown-row{grid-template-columns:1fr 80px 28px;align-items:center;gap:8px;display:grid}.dash-breakdown-label{color:#2a3e4e;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.dash-mini-track{background:#d1dce680;border-radius:99px;height:5px;overflow:hidden}.dash-mini-fill{background:#1d9ab08c;border-radius:99px;height:100%;transition:width .4s}.dash-mini-fill--purple{background:#7c5cbf8c}.dash-breakdown-count{color:#4a6070;text-align:right;font-size:12px;font-weight:700}.dash-tag-cloud{flex-wrap:wrap;gap:6px;padding:0 18px 14px;display:flex}.dash-tag{color:#2a4050;background:#1d9ab00f;border:1px solid #1d9ab026;border-radius:99px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.dash-tag-count{color:var(--nm-accent);font-size:11px;font-weight:700}.dash-nav-grid{flex-direction:column;padding:8px 0;display:flex}.dash-nav-btn{cursor:pointer;text-align:left;min-height:unset;background:0 0;border:none;border-radius:0;align-items:center;gap:12px;width:100%;height:auto;padding:10px 18px;transition:background .12s;display:flex}.dash-nav-btn:hover{background:var(--nm-shell-text)}.dash-nav-btn:hover .dash-nav-btn-arrow{color:var(--nm-accent);transform:translate(2px)}.dash-nav-btn-icon{width:34px;height:34px;color:var(--nm-accent-strong);background:#1d9ab014;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-nav-btn-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dash-nav-btn-label{color:#1a2e3d;font-size:13.5px;font-weight:600}.dash-nav-btn-desc{color:#7a96a8;font-size:11.5px}.dash-nav-btn-arrow{color:#b0c4cc;flex-shrink:0;transition:color .13s,transform .13s}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.metric,.panel{background:#fff;border:1px solid #d2d6dad9;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.metric{flex-direction:column;align-items:flex-start;gap:4px;padding:18px 20px;display:flex}.metric-icon{background:linear-gradient(135deg, var(--nm-surface-soft) 0%, #c4e8f0 100%);width:36px;height:36px;color:var(--nm-accent-strong);border-radius:9px;justify-content:center;align-items:center;margin-bottom:6px;font-size:18px;line-height:1;display:inline-flex}.metric span:not(.metric-icon){color:#587183;font-size:13px;font-weight:600}.metric strong{color:#1a2e3d;font-size:30px;font-weight:800;line-height:1.1}.panel{max-width:760px;margin-top:22px;padding:22px}.panel h2{margin:0 0 10px;font-size:18px}.panel p{color:#4f6474;margin:0;line-height:1.55}.overview-layout{margin-top:20px}.overview-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.overview-title{color:#1a2e3d;margin:0;font-size:22px;font-weight:800}.overview-subtitle{color:#5b7c91;margin:2px 0 0;font-size:13px}.overview-nav-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:20px;display:grid}.overview-nav-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #d2d6dad9;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;transition:all .18s;display:flex;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.overview-nav-card:hover{background:#f5feff;border-color:#1d8a9d;transform:translateY(-2px);box-shadow:0 4px 18px #1d647226,0 1px 4px #1720260f}.overview-nav-icon{margin-bottom:4px;font-size:22px;line-height:1}.overview-nav-label{color:#1a2e3d;font-size:15px;font-weight:700}.overview-nav-desc{color:#5b7c91;font-size:12px;line-height:1.4}.admin-system-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.admin-system-stat{--admin-stat-accent:29, 154, 176;--admin-stat-icon:#0e8a9a;background:linear-gradient(135deg, rgba(var(--admin-stat-accent), .13), #fff0 46%), #fff;border:1px solid #d2d6dacc;border-radius:14px;align-items:center;gap:14px;padding:18px 20px 16px;transition:box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000000d,0 4px 14px #00000008}.admin-system-stat:hover{box-shadow:0 2px 10px #00000017, 0 8px 24px #0000000f, 0 0 0 1px rgba(var(--admin-stat-accent), .27), 0 4px 20px rgba(var(--admin-stat-accent), .14);transform:translateY(-2px)}.admin-system-stat:before{content:"";background:rgba(var(--admin-stat-accent), .72);border-radius:14px 14px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.admin-system-stat:nth-child(2){--admin-stat-accent:31, 111, 208;--admin-stat-icon:#1f6fd0}.admin-system-stat:nth-child(3){--admin-stat-accent:122, 66, 200;--admin-stat-icon:#7a42c8}.admin-system-stat:nth-child(4){--admin-stat-accent:45, 157, 120;--admin-stat-icon:#1d8a67}.admin-system-stat-icon{border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.admin-system-stat-icon--teal,.admin-system-stat-icon--blue,.admin-system-stat-icon--purple{color:var(--admin-stat-icon);background:rgba(var(--admin-stat-accent), .16)}.admin-system-stat strong{color:#1a2e3d;font-size:24px;font-weight:800;line-height:1.1;display:block}.admin-system-stat>div>span{color:#587183;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600;display:block}.admin-system-stat .admin-system-stat-icon{justify-content:center;align-items:center;display:inline-flex}.inv-header{border-top:1px solid var(--nm-border);border-bottom:1px solid var(--nm-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fafbeb;flex-shrink:0;box-shadow:0 1px #ffffffa6}.inv-header-main{border-bottom:1px solid #d1dce680;flex-wrap:wrap;align-items:center;gap:8px;min-height:54px;padding:10px 16px;display:flex}.inv-chips{flex-shrink:0;gap:6px;display:flex}.inv-chip{cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#f8fafb;border:1px solid #00000014;border-radius:8px;flex-direction:row;align-items:center;gap:7px;padding:5px 13px;display:inline-flex}.inv-chip-icon{opacity:.65;flex-shrink:0;align-items:center;display:flex}.inv-chip-count{letter-spacing:-.02em;font-size:16px;font-weight:800;line-height:1}.inv-chip-label{text-transform:uppercase;letter-spacing:.07em;opacity:.65;font-size:10px;font-weight:700}.inv-chip--teal{color:#0e7a8e;background:#0e7a8e0f;border-color:#0e7a8e38}.inv-chip--green{color:#15803d;background:#15803d0f;border-color:#15803d38}.inv-chip--red{color:#b91c1c;background:#b91c1c0f;border-color:#b91c1c38}.inv-chip--purple{color:#6d28d9;background:#6d28d90f;border-color:#6d28d938}.inv-chip--muted{color:var(--nm-text-muted);background:#4e6a7a0d;border-color:#4e6a7a33}.inv-vsep{background:#c8d5ddcc;flex-shrink:0;width:1px;height:32px;margin:0 2px}.inv-vsep--sm{height:18px}.inv-select{color:#263b4b;cursor:pointer;background:#f8fafb;border:1px solid #c8d5dde6;border-radius:8px;flex-shrink:0;max-width:130px;height:34px;padding:0 8px;font-size:12px}.inv-select:focus{border-color:var(--nm-accent);outline:none}.inv-search-box{min-width:120px;height:var(--nm-control-md);background:0 0;border:none;flex:0 220px;gap:0;margin-left:auto;padding:0}.inv-search-box input{width:100%;min-width:0}.inv-search-box input::placeholder{color:var(--nm-text-faint)}.inv-search-box svg{flex-shrink:0}.inv-header-actions{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.inv-action-btn{color:#263b4b;cursor:pointer;white-space:nowrap;height:34px;min-height:unset;background:#f8fafb;border:1px solid #c8d5dde6;border-radius:8px;padding:0 14px;font-size:13px;font-weight:600;transition:all .15s}.inv-action-btn:hover:not(:disabled){background:var(--nm-surface-soft);color:var(--nm-accent-strong);border-color:#1d9ab066}.inv-action-btn--primary{background:linear-gradient(135deg, var(--nm-accent-strong) 0%, #1a8fa0 100%);color:#fff;border-color:#1d9ab073;box-shadow:0 1px 6px #1d647238}.inv-action-btn--primary:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#175767 0%,#178496 100%);border-color:#1d9ab099}.inv-action-btn--danger{color:#9a2020;background:#e0505012;border-color:#e0505040}.inv-action-btn--danger:hover:not(:disabled){background:#e0505024}.inv-action-btn:disabled{opacity:.4;cursor:default}.inv-filter-row{background:#f8fafc;flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;padding:8px 20px;display:flex}.inv-filter-row .inv-filter-label{text-transform:uppercase;letter-spacing:.07em;color:#7a96a8;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.inv-filter-row .inv-select{max-width:140px;height:28px;padding:0 8px;font-size:12px}.inv-status-tab{color:#5b7c91;cursor:pointer;height:28px;min-height:unset;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:20px;padding:0 13px;font-size:12px;font-weight:600;transition:all .15s}.inv-status-tab:hover{color:var(--nm-accent-strong);background:#1d9ab012;border-color:#1d9ab02e}.inv-status-tab.active{color:var(--nm-accent);background:#1d9ab01c;border-color:#1d9ab04d}.inv-fav-filter{border-radius:8px;align-items:center;gap:5px;height:34px;display:inline-flex}.inv-fav-filter.active{color:#a06a00;background:#e8b84021;border-color:#e8b84057}.inv-status-tab--muted{color:var(--nm-text-faint)}.inv-status-tab--muted:hover{color:#5b7c91}.inv-status-tab--danger{color:#8a2020}.inv-status-tab--danger:hover{background:#e0505012;border-color:#e0505033}.inv-status-tab:disabled{opacity:.4;cursor:default}.inv-bulk-ctx{align-items:center;gap:5px;padding-left:4px;display:flex}.inv-bulk-count{color:var(--nm-accent);white-space:nowrap;background:#1d9ab01a;border:1px solid #1d9ab033;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700}.inv-bulk-row{background:#f4f7f9;border-top:1px solid #c8d5dd80;flex-wrap:wrap;align-items:center;gap:5px;min-height:38px;padding:6px 16px;display:flex}.inventory-layout{gap:16px}.inventory-layout .dash-alert--overview-bar{width:auto;margin:0 18px}.inventory-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 18px 0}.inventory-live-banner{color:#8a2020;background:#e0505014;border:1px solid #e0505047;border-radius:8px;align-items:center;gap:8px;margin:-4px 18px 0;padding:9px 14px;font-size:13px;line-height:1.35;display:flex}.inventory-live-banner svg{color:var(--nm-danger);flex-shrink:0}.inventory-live-banner strong{color:#7a1a1a}.inventory-panel-header{background:#f5f9fc;border-bottom:1px solid #b0c3d39e;flex-shrink:0;align-items:center;gap:6px;padding:9px 16px;display:flex;position:relative}.inv-panel-title{color:#1a2e3d;white-space:nowrap;flex-shrink:0;margin-right:4px;font-size:13px;font-weight:700}.inv-sep{background:#b0c3d3e6;flex-shrink:0;width:1px;height:20px;margin:0 4px}.inv-bulk-menu{flex:none;position:relative}.inv-bulk-menu summary{align-items:center;gap:6px;list-style:none;display:inline-flex}.inv-bulk-menu summary::-webkit-details-marker{display:none}.inv-bulk-menu[open] summary{color:var(--nm-accent-strong);background:#1d9ab014;border-color:#1d9ab052}.inv-bulk-menu-panel{z-index:40;background:#f8fbfd;border:1px solid #96abbedb;border-radius:10px;width:min(560px,100vw - 80px);padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #17202624}.inv-bulk-selection{border-bottom:1px solid #b0c3d380;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.inv-bulk-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.inv-bulk-menu-grid label{color:#5a7080;text-transform:uppercase;letter-spacing:.04em;gap:5px;min-width:0;font-size:11px;font-weight:700;display:grid}.inv-bulk-menu-grid .inv-select{width:100%;max-width:none}.inv-bulk-menu-actions{border-top:1px solid #b0c3d380;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-top:12px;padding-top:10px;display:flex}@media (width>=1280px){.inventory-panel-header .inv-search-box{flex:0 280px}body.route-inventory .topology-content{padding-left:18px;padding-right:18px}}@media (width<=1180px){.inventory-panel-header .inv-search-box{flex:0 150px;min-width:100px}}@media (width<=760px){body.route-inventory .workspace{height:auto;min-height:calc(100dvh - var(--nm-topbar-height));overflow:visible}body.route-inventory .topology-layout{height:auto}.inventory-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 12px 0}.inventory-live-banner{margin:-2px 12px 0}body.route-inventory .topology-content{padding:0 12px 72px;overflow:visible}}@media (width<=560px){.inventory-stats{grid-template-columns:1fr}.inventory-panel-header .inv-panel-title{display:none}}.inv-pagination{color:#5b7c91;background:#f8fafc;border-top:1px solid #d1dce699;border-radius:0 0 10px 10px;flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;font-size:12px;display:flex}.inv-pagination-info{white-space:nowrap;flex:1}.inv-pagination-controls{align-items:center;gap:6px;display:flex}.inv-pagination-btn{color:#3a5870;cursor:pointer;height:28px;min-height:unset;background:#f8fafb;border:1px solid #c8d5dde6;border-radius:7px;padding:0 10px;font-size:12px;font-weight:600;transition:all .15s}.inv-pagination-btn:hover:not(:disabled){color:var(--nm-accent);background:#1d9ab014;border-color:#1d9ab04d}.inv-pagination-btn:disabled{opacity:.35;cursor:default}.inv-pagination-select{color:#3a5870;cursor:pointer;background:#f8fafb;border:1px solid #c8d5dde6;border-radius:7px;height:28px;padding:0 8px;font-size:12px}.inv-details-header{background:var(--nm-shell);border-bottom:1px solid #ffffff0a;flex-shrink:0;align-items:center;gap:10px;padding:13px 18px 12px;display:flex}.inv-details-title{color:#c8dae8;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.inv-details-badge{color:#8ab0c8;white-space:nowrap;background:#ffffff14;border-radius:20px;flex-shrink:0;padding:2px 9px;font-size:11px;font-weight:600}.inv-details-badge--online{color:#4ade80;background:#2dba7c38}.inv-details-badge--offline{color:#f87171;background:#e0505038}.inv-details-badge--warning{color:#fbbf24;background:#f59e0b38}.inv-details-badge--disabled{color:#7a96a8;background:#5a7a8a33}.details-field-icon{color:#5a8aa8;opacity:.75;flex-shrink:0;justify-content:center;align-items:center;width:16px;display:flex}body.theme-dark .inv-header{border-top-color:var(--nm-border);border-bottom-color:var(--nm-border);box-shadow:none;background:#0e1c2af0}body.theme-dark .inv-header-main{border-bottom-color:#28465a73}body.theme-dark .inv-chip{color:var(--nm-text-muted);background:#ffffff0a;border-color:#ffffff12}body.theme-dark .inv-chip-icon{opacity:.55}body.theme-dark .inv-chip--teal{color:#40d4ea;background:#40d4ea12;border-color:#40d4ea33}body.theme-dark .inv-chip--green{color:#4ade80;background:#4ade8012;border-color:#4ade8033}body.theme-dark .inv-chip--red{color:#f87171;background:#f8717112;border-color:#f8717133}body.theme-dark .inv-chip--purple{color:#a78bfa;background:#a78bfa12;border-color:#a78bfa33}body.theme-dark .inv-chip--muted{color:var(--nm-text-muted);background:#4e6a7a0a;border-color:#4e6a7a26}body.theme-dark .inv-vsep{background:#28465a99}body.theme-dark .inv-select{background:var(--nm-shell);color:var(--nm-text-muted);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-color:#28465ab3}body.theme-dark .inv-select option{color:var(--nm-text-muted);background:#1a2c3a}body.theme-dark .inv-search-box input::placeholder{color:var(--nm-text-faint)}body.theme-dark .inv-action-btn{background:var(--nm-shell);color:var(--nm-text-muted);border-color:#28465ab3}body.theme-dark .inv-action-btn:hover:not(:disabled){background:var(--nm-shell);color:#4db8cc;border-color:#1d9ab066}body.theme-dark .inv-action-btn--primary{color:#c8dae8;background:#1a2e40;border-color:#ffffff1a}body.theme-dark .inv-action-btn--primary:hover:not(:disabled){background:#243d54}body.theme-dark .inv-action-btn--danger{color:#e07070;background:#e0505014;border-color:#e0505033}body.theme-dark .inv-fav-filter.active{color:#e8b840;background:#e8b8401f;border-color:#e8b84047}body.theme-dark .inv-bulk-menu[open] summary{color:#5bc8da;background:#1d9ab01f;border-color:#1d9ab052}body.theme-dark .inv-bulk-menu-panel{background:var(--nm-surface);border-color:var(--nm-border);box-shadow:0 14px 34px #00000059}body.theme-dark .inv-bulk-menu-grid label{color:#7a9ab4}body.theme-dark .inv-bulk-menu-actions{border-top-color:#28465a73}body.theme-dark .inv-filter-row{background:#08101a99}body.theme-dark .inv-filter-row .inv-filter-label{color:#2e4a5e}body.theme-dark .inventory-panel-header{background:var(--nm-bg-elevated);border-bottom-color:#28465a8c}body.theme-dark .inv-panel-title{color:#c9d9e6}body.theme-dark .inv-sep{background:#ffffff17}body.theme-dark .inv-bulk-selection{border-bottom-color:#28465a73}body.theme-dark .inv-status-tab{color:#3a5870}body.theme-dark .inv-status-tab:hover{color:#4db8cc;background:#1d9ab01a;border-color:#1d9ab033}body.theme-dark .inv-status-tab.active{color:#40d4ea;background:#1d9ab026;border-color:#1d9ab04d}body.theme-dark .inv-status-tab--muted{color:#2e4a5e}body.theme-dark .inventory-live-banner{color:#e08080;background:#e050501a;border-color:#e0505038}body.theme-dark .inventory-live-banner strong{color:#f0a0a0}body.theme-dark .inv-bulk-count{color:#40d4ea;background:#1d9ab01f;border-color:#1d9ab040}body.theme-dark .details-field-icon{color:#3a5870;opacity:1}body.theme-dark .inv-bulk-row{background:#060e16b3;border-top-color:#28465a66}body.theme-dark .inv-pagination{color:#3a5870;background:#08101a99;border-top-color:#28465a66}body.theme-dark .inv-pagination-btn{background:var(--nm-shell);color:#5a7a8a;border-color:#28465ab3}body.theme-dark .inv-pagination-btn:hover:not(:disabled){color:#4db8cc;background:#1d9ab01a;border-color:#1d9ab04d}body.theme-dark .inv-pagination-select{background:var(--nm-shell);color:#5a7a8a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-color:#28465ab3}.topology-layout{flex-direction:column;margin-top:24px;display:flex;position:relative}#topology.topology-layout{height:calc(100dvh - var(--nm-topbar-height) - 108px);min-height:560px;margin-top:8px;overflow:hidden}body.route-topology .app-topbar{border-bottom-color:#0000}body.route-topology #topology.topology-layout{height:100%;min-height:0;margin-top:0}body.route-topology .topology-content{z-index:1;margin-top:0;position:relative}body.route-topology .graph-surface{border-top-left-radius:0}.topology-stats-chip{z-index:3;border:1px solid var(--nm-shell-text);color:#4f6474;background:#fbfdfef0;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:-2px;right:0}.topo-entity-backdrop{z-index:19;position:fixed;inset:0}.topo-entity-panel{z-index:45;align-items:center;gap:6px;display:flex;position:fixed;top:38px;right:22px}.topo-entity-actions{align-items:center;gap:6px;display:flex}.topo-stat-btn{height:var(--nm-control-md);cursor:pointer;color:#3a5570;white-space:nowrap;background:#fbfdfef2;border:1px solid #afc6d899;border-top-color:#82a0b8d1;border-radius:8px;align-items:center;gap:6px;padding:0 11px 0 9px;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,box-shadow .12s;display:flex;box-shadow:inset 0 1px #ffffffdb,0 1px 3px #1720260f}.topo-stat-btn:hover{background:#edf4fa;border-color:#1d9ab066}.topo-stat-btn--active{box-shadow:0 1px 4px var(--nm-accent-soft);background:#e4f3f8;border-color:#1d9ab08c}.topo-stat-icon{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.topo-stat-btn--devices .topo-stat-icon{color:#1a7080;background:#1d9ab01a}.topo-stat-btn--relationships .topo-stat-icon{color:#4858a0;background:#5060c01a}.topo-stat-btn--groups .topo-stat-icon{color:#6040a0;background:#7c5cbf1a}.topo-stat-count{color:#1a2e3d;font-size:15px;font-weight:800;line-height:1}.topo-stat-label{color:#5a7890;letter-spacing:.03em;font-size:11px;font-weight:600}.topo-entity-list{background:#fff;border:1px solid #9bb9d0b3;border-radius:10px;flex-direction:column;min-width:360px;max-width:520px;max-height:420px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 20px #1720261f,0 1px 4px #1720260f}.topo-entity-search-wrap{background:#fff;border-bottom:1px solid #9bb9d02e;flex-shrink:0;align-items:center;gap:7px;padding:7px 10px;display:flex}.topo-entity-scroll{flex:1;min-height:0;padding:4px;overflow-y:auto}.topo-entity-search-icon{color:var(--nm-text-faint);flex-shrink:0}.topo-entity-search{appearance:none;color:#1e3547;background:#fff;border:0;outline:0;flex:1;min-width:0;font-size:12.5px}.topo-entity-search::placeholder{color:var(--nm-text-faint)}.topo-entity-search-clear{color:#8aa0b0;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:15px;line-height:1}.topo-entity-search-clear:hover{color:#1e3547}.topo-entity-row{text-align:left;cursor:pointer;color:#1e3547;background:0 0;border:0;border-radius:7px;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13.5px;transition:background .12s,box-shadow .12s;display:grid}.topo-entity-row:hover{background:var(--nm-row-hover);box-shadow:0 0 0 1.5px #1d9ab038,0 2px 8px #1d9ab012}.topo-entity-row--active{background:#e2f2f9}.topo-entity-row--group{cursor:default;grid-template-columns:10px 1fr auto 28px}.topo-entity-row--group:hover{background:#7c5cbf0a;box-shadow:0 0 0 1.5px #7c5cbf29}.topo-entity-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.topo-entity-meta{color:#6a8fa8;white-space:nowrap;font-size:12px}.topo-entity-arrow{color:#7a9ab4;text-align:center;flex-shrink:0;font-size:12px}.topo-entity-tag{color:#4858a0;white-space:nowrap;text-overflow:ellipsis;background:#5060c014;border-radius:4px;padding:2px 7px;font-size:11px;overflow:hidden}.topo-entity-group-dot{background:#7c5cbf80;border-radius:50%;flex-shrink:0;width:8px;height:8px}.topo-entity-empty{color:#7a9ab4;margin:0;padding:12px 14px;font-size:12px}.topo-entity-row.topo-entity-row--relationship{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) minmax(76px,104px);align-items:center;column-gap:6px;display:grid}.topo-entity-row.topo-entity-row--relationship .topo-entity-name{min-width:0}.topo-entity-row.topo-entity-row--relationship .topo-entity-arrow{text-align:center}.topo-entity-row.topo-entity-row--relationship .topo-entity-tag{text-align:center;width:100%;min-width:0;display:block}.tools-layout,.exports-layout,.security-layout,.admin-layout{margin-top:8px}.tools-layout,.exports-layout{margin-top:0}.tools-target-row{justify-content:flex-end;margin-bottom:12px}.security-toolbar,.topology-content,.tools-content,.security-content,.details-heading,.detail-actions,.toolbar-actions,.security-live-controls,.modal-header,.modal-actions{gap:12px;display:flex}.security-toolbar{justify-content:space-between;align-items:center}.overlay-controls,.top-affected,.related-devices,.device-event-list{gap:10px;display:flex}.overlay-controls{align-items:center}.view-mode-toggle{background:#f3f7fa;border:1px solid #c8d3dd;border-radius:7px;display:inline-flex;overflow:hidden}.layout-dropdown{align-items:end;gap:8px;display:flex}.layout-dropdown label{color:#314656;text-transform:uppercase;gap:6px;font-size:12px;font-weight:750;display:grid}.layout-dropdown select{border:1px solid #c8d3dd;border-radius:6px;min-width:170px;min-height:36px;padding:6px 8px}.layout-dropdown button{color:#263b4b;cursor:pointer;background:#ecf1f6;border:1px solid #c8d3dd;border-radius:6px;min-height:36px;padding:7px 10px;font-weight:750}.layout-dropdown button:disabled{cursor:not-allowed;opacity:.55}.view-mode-toggle button{color:#314656;cursor:pointer;background:0 0;border:0;min-height:34px;padding:7px 12px;font-weight:750}.view-mode-toggle button.active{color:#fff;background:var(--nm-accent-strong)}.overlay-controls{flex-wrap:wrap}.overlay-controls label:not(.inline-toggle){color:#314656;text-transform:uppercase;grid-template-columns:auto minmax(110px,150px) auto;align-items:center;gap:6px;font-size:11px;font-weight:750;display:grid}.overlay-controls label:not(.inline-toggle) input[type=range]{width:100%}.overlay-controls label:not(.inline-toggle) select{background:#f3f7fa;border:1px solid #c8d3dd;border-radius:6px;min-height:30px;padding:4px 7px}.overlay-controls button{color:#263b4b;cursor:pointer;background:#ecf1f6;border:1px solid #c8d3dd;border-radius:6px;min-height:30px;padding:5px 9px;font-size:11px;font-weight:700}.overlay-controls button:disabled{cursor:not-allowed;opacity:.55}.security-toolbar h2,.details-panel h3,.modal h3{margin:0}.security-toolbar p{color:#587183;margin:4px 0 0}.toolbar-actions button,.detail-actions button,.modal-actions button,.modal-header button{color:#fff;background:linear-gradient(135deg, var(--nm-accent-strong) 0%, #1a8fa0 100%);cursor:pointer;border:0;border-radius:8px;min-height:38px;padding:8px 14px;font-weight:700;transition:opacity .15s,box-shadow .15s;box-shadow:0 1px 4px #1d647238}.toolbar-actions button:hover,.detail-actions button:hover,.modal-actions button:hover{opacity:.9;box-shadow:0 2px 8px #1d647252}.toolbar-actions button:disabled,.detail-actions button:disabled,.modal-actions button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.danger-button{background:linear-gradient(135deg,#9c2f2f 0%,#b83535 100%)!important;box-shadow:0 1px 4px #9c2f2f40!important}.topology-content{flex:auto;align-items:stretch;min-height:0;margin-top:16px;overflow:hidden}body.route-vlans .dash-header--actions-only{margin-top:0;margin-bottom:0}body.route-vlans .topology-content{margin-top:0}body.route-vlans .panel{max-width:none;margin-top:0}body.route-locations .dash-layout{flex-direction:column;display:flex}.loc-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px}.loc-controls{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:14px;display:flex}@media (width<=1180px){.loc-controls .vlan-search-input{width:200px}}@media (width<=760px){body.route-vlans .workspace,body.route-locations .workspace{padding:20px 16px 72px}}@media (width<=560px){body.route-vlans .workspace,body.route-locations .workspace{padding:16px 12px 72px}.loc-controls{flex-wrap:wrap}.loc-controls .vlan-search-input{flex:1;width:100%}}.topology-content.details-open .graph-surface{flex:auto;min-width:0}.topology-content.details-open .details-panel{flex:0 0 360px;max-width:360px}.security-content{align-items:stretch;margin-top:16px}.graph-surface,.inventory-surface,.details-panel,.tools-sidebar,.tool-card,.security-filters,.security-results,.admin-panel{background:#fff;border:1px solid #d2d6dad9;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.graph-surface{cursor:grab;background-color:#1a2736;background-image:radial-gradient(circle,#ffffff21 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-color:#1c2d3d;flex:auto;min-height:0;position:relative;overflow:hidden}.topology-live-banner{z-index:18;color:#ffd7d7;pointer-events:none;background:#1c2d3deb;border:1px solid #e0505066;border-radius:8px;align-items:center;gap:8px;max-width:min(520px,100% - 24px);padding:8px 12px;font-size:12.5px;line-height:1.35;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 8px 24px #00000038}.topology-live-banner svg{color:#ff8a8a;flex-shrink:0}.topology-live-banner strong{color:#fff}.graph-canvas{position:absolute;inset:0}.topology-overlay-layer{pointer-events:none;z-index:15;position:absolute;inset:0}.topology-overlay-node{color:inherit;pointer-events:none;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.topology-overlay-node.selected{filter:drop-shadow(0 0 6px #4aa3ffbf)}.topology-overlay-node.panel-glow{filter:drop-shadow(0 0 10px #1d9ab0bf)drop-shadow(0 0 4px #1d9ab080)}.topology-overlay-label{color:#111;white-space:nowrap;flex-direction:column;align-items:center;font-size:11px;font-weight:700;line-height:1.2;display:flex}body.theme-dark .topology-overlay-label{color:#fff}.graph-surface:active{cursor:grabbing}.workspace-loading{flex:auto;display:block}.empty-graph{color:#587183;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.inventory-surface{border-radius:10px;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.details-panel{overflow:auto}.inventory-table{width:100%;min-width:0;min-height:0;box-shadow:none;border:0;border-radius:0;flex:auto;overflow:auto}.inventory-table-header,.inventory-row{border-left:3px solid #0000;grid-template-columns:48px minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,.75fr) minmax(0,1.1fr) minmax(0,1.1fr);align-items:center;gap:12px;width:100%;min-width:0;padding:11px 16px 11px 13px;display:grid}.inventory-row-check{align-items:center;gap:6px;display:flex}.inventory-row-device{align-items:center;gap:7px;min-width:0;display:flex;overflow:hidden}.inventory-row-device>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inventory-table-header{z-index:1;color:#7a96a8;text-transform:uppercase;letter-spacing:.06em;background:#f5f7f9;border-bottom:1px solid #d1dce6cc;font-size:11px;font-weight:700;position:sticky;top:0}.inventory-sort-btn{color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:0;font-size:11px;font-weight:700;transition:color .13s;display:inline-flex}.inventory-sort-btn:hover{color:var(--nm-accent-strong)}.inventory-sort-btn.active{color:var(--nm-accent)}.inventory-row{color:#172026;text-align:left;cursor:pointer;background:#fff;border-top:0;border-bottom:1px solid #afc6d8b3;border-left:3px solid #0000;border-right:0;width:100%;min-height:50px;font-size:13.5px;transition:background .13s,border-left-color .13s,box-shadow .13s;box-shadow:inset 0 0 #1d9ab000}.inventory-row:hover{background:var(--nm-row-hover);border-left-color:#1d9ab04d;box-shadow:inset 3px 0 #1d9ab047}.inventory-row.active{border-left-color:var(--nm-accent);background:#edf8fb}body:not(.theme-dark) .inv-header{background:#f4f8fbf5;border-color:#b0c3d3c7}body:not(.theme-dark) .inv-header-main{border-bottom-color:#b0c3d39e}body:not(.theme-dark) .inv-filter-row,body:not(.theme-dark) .inv-pagination{background:var(--nm-shell-text)}body:not(.theme-dark) .inventory-table{background:var(--nm-shell-text);border-color:#9bb9d0c7}body:not(.theme-dark) .inventory-table-header{background:var(--nm-shell-text);color:#3f6178;border-bottom-color:#89a8c0db}body:not(.theme-dark) .inventory-row:not(.active){background:#f9fcfe}body:not(.theme-dark) .inventory-row:hover:not(.active){background:var(--nm-row-hover);border-left-color:#1d9ab059;box-shadow:inset 3px 0 #1d9ab047}body:not(.theme-dark) .inventory-row.active{background:var(--nm-shell-text)}body:not(.theme-dark) .inventory-row.active:hover{background:var(--nm-row-hover)}.inventory-group-select{color:#263b4b;background:#ecf1f6;border:1px solid #c8d3ddb3;border-radius:8px;width:100%;min-height:30px;padding:4px 8px;font-size:13px;transition:border-color .13s}.inventory-group-select:focus{border-color:var(--nm-accent);outline:none}.inventory-empty{color:#7a96a8;padding:28px 18px;font-size:14px}.inventory-bulk-edit{background:#f5f7f9;border-bottom:1px solid #d1dce6b3;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.inventory-bulk-title{height:28px;color:var(--nm-accent-strong);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:#1d647217;border-radius:6px;align-items:center;margin-right:4px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.inventory-bulk-edit label{color:#5b7c91;text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:3px;font-size:11px;font-weight:700;display:flex}.inventory-bulk-edit select{color:#263b4b;background:#f3f7fa;border:1px solid #c8d5dde6;border-radius:8px;min-height:30px;padding:4px 8px;font-size:13px}.inventory-bulk-edit button{color:#2a6272;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #1d647233;border-radius:8px;align-items:center;min-height:30px;padding:5px 12px;font-size:13px;font-weight:600;transition:background .13s,border-color .13s,color .13s;display:inline-flex}.inventory-bulk-edit button:hover:not(:disabled){color:var(--nm-accent-strong);background:#1d647214;border-color:#1d647259}.inventory-bulk-edit button:disabled{opacity:.38;cursor:not-allowed}.inventory-bulk-edit button.danger-button{color:#902828!important;box-shadow:none!important;background:0 0!important;border-color:#9c2f2f38!important}.inventory-bulk-edit button.danger-button:hover:not(:disabled){background:#9c2f2f12!important;border-color:#9c2f2f61!important}.group-settings-panel{margin-top:18px}.group-settings-list{gap:8px;margin-top:12px;display:grid}.group-settings-row{border:1px solid var(--nm-shell-text);background:var(--nm-surface-soft);border-radius:6px;padding:8px}.group-edit-grid{gap:10px;display:grid}.vlan-toolbar{border-bottom:1px solid #d2d6da99;align-items:center;gap:8px;padding:12px 14px 10px;display:flex}.loc-toolbar{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:0;display:flex}.vlan-search-input{color:#1a2c38;background:#f3f7fa;border:1px solid #c8d3ddcc;border-radius:8px;width:260px;height:32px;padding:0 10px;font-size:13px;transition:border-color .13s,box-shadow .13s}.vlan-search-input:focus{border-color:var(--nm-accent);box-shadow:0 0 0 3px var(--nm-accent-soft);outline:none}.vlan-form-panel{flex:none;align-self:flex-start;width:340px;min-width:280px;max-width:400px}.vlan-form-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.vlan-form-heading h3{color:#1a2c38;margin:0;font-size:15px;font-weight:700}.vlan-form-close{color:#5a7a90;cursor:pointer;min-height:unset;height:auto;box-shadow:none;background:#4e68781a;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:16px;line-height:1;transition:color .13s,background .13s}.vlan-form-close:hover{color:#1a2c38;background:#4e687838}.vlan-table-header,.vlan-row{grid-template-columns:1.5fr 60px 1fr .9fr .9fr 52px;align-items:center;gap:12px;padding:11px 24px 11px 18px;display:grid}.vlan-table-writable .vlan-table-header,.vlan-table-writable .vlan-row{grid-template-columns:1.5fr 60px 1fr .9fr .9fr 52px 100px}.vlan-table-header{z-index:1;color:#7a96a8;text-transform:uppercase;letter-spacing:.06em;background:#f5f7f9;border-bottom:1px solid #d1dce6cc;font-size:11px;font-weight:700;position:sticky;top:0}.vlan-header-cell{font:inherit;color:inherit}.vlan-row{color:#1a2c38;border-bottom:1px solid #afc6d88c;border-left:3px solid #0000;font-size:13px;transition:background .13s,border-left-color .13s}.vlan-row:last-child{border-bottom:none}.vlan-row:hover{background:var(--nm-row-hover);border-left-color:#1d9ab04d}.vlan-row--selected{background:var(--nm-shell-text);border-left-color:var(--nm-accent)}.vlan-cell-name{align-items:center;gap:7px;min-width:0;display:flex;overflow:hidden}.vlan-name-stack{flex-direction:column;gap:1px;min-width:0;display:flex;overflow:hidden}.vlan-name-primary{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.vlan-name-sub{color:#6a8898;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.vlan-subnet-cell{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex;overflow:hidden}.vlan-mono-cell{color:#263b4b;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:SF Mono,Fira Mono,Consolas,monospace;font-size:12px;overflow:hidden}.vlan-ip-pill{width:fit-content;color:var(--nm-accent-strong);white-space:nowrap;text-overflow:ellipsis;background:#1d9ab014;border:1px solid #1d9ab02e;border-radius:5px;max-width:100%;padding:2px 7px;font-family:SF Mono,Fira Mono,Consolas,monospace;font-size:11.5px;display:inline-block;overflow:hidden}.vlan-usable-count{color:#7a96a8;font-size:11px}.vlan-id-badge{color:#5040a0;background:#6450c812;border:1px solid #6450c829;border-radius:5px;justify-content:center;align-items:center;padding:2px 8px;font-family:SF Mono,Fira Mono,Consolas,monospace;font-size:12px;font-weight:700;display:inline-flex}.vlan-device-badge{min-width:24px;height:22px;color:var(--nm-accent-strong);background:#1d64721a;border-radius:99px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:700;display:inline-flex}.vlan-empty-cell{color:#b0bec8}.vlan-inferred-badge{color:#6b7f8e;background:var(--nm-shell-text);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.vlan-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.vlan-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.vlan-action-btn{height:auto;min-height:28px;color:var(--nm-accent-strong);cursor:pointer;background:#1d64720f;border:1px solid #1d647259;border-radius:7px;padding:4px 12px;font-size:12px;font-weight:600;transition:background .13s,border-color .13s}.vlan-action-btn:hover:not(:disabled){background:#1d9ab017;border-color:#1d9ab066}.vlan-action-btn--danger{color:#902828;border-color:#90282838}.vlan-action-btn--danger:hover:not(:disabled){background:#b4323214;border-color:#90282866}.location-table-header,.location-row{grid-template-columns:1.6fr 1.6fr 72px}.vlan-table-writable .location-table-header,.vlan-table-writable .location-row{grid-template-columns:1.6fr 1.6fr 56px 100px}.location-row--unassigned{opacity:.7;border-bottom-style:dashed;cursor:default!important;border-left-color:#7896ac4d!important}.location-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.location-name-stack{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.location-address-cell{color:#5a7080;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.loc-list{flex-direction:column;display:flex}.loc-item{cursor:pointer;border-bottom:1px solid #d1dce680;align-items:center;gap:12px;min-width:0;padding:11px 18px;transition:background .12s;display:flex}.loc-item:last-child{border-bottom:none}.loc-item:hover{background:#1d9ab00a}.loc-item--selected{background:#1d9ab014}.loc-item--unassigned{cursor:default;opacity:.7}.loc-item--unassigned:hover{background:0 0}.loc-item-swatch{background:#cbd5e0;border-radius:3px;flex-shrink:0;width:4px;min-height:36px}.loc-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.loc-item-name{color:#1a2e3d;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.loc-item-sub{color:#8aa0b0;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.loc-item-addr{color:#5a7080;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;max-width:240px;font-family:monospace;font-size:12px;overflow:hidden}.loc-item-badge{min-width:28px;color:var(--nm-accent-strong);background:#1d9ab01a;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.loc-item-badge--zero{color:var(--nm-text-faint);background:#b4c4d226}.loc-item-actions{flex-shrink:0;gap:6px;display:flex}.loc-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:0 0 16px;display:grid}.loc-card{cursor:pointer;background:#fff;border:1px solid #d1dce6b3;border-radius:12px;flex-direction:column;transition:box-shadow .18s,transform .18s;display:flex;overflow:hidden}.loc-card:hover{transform:translateY(-2px);box-shadow:0 4px 18px #00000014,0 1px 6px #0000000a}.loc-card--selected{border-color:var(--nm-accent);box-shadow:0 0 0 2px #1d9ab02e,0 4px 18px #00000012}.loc-card-accent{background:var(--nm-accent);flex-shrink:0;height:4px}.loc-card-body{flex-direction:column;flex:1;gap:5px;min-width:0;padding:14px 16px 12px;display:flex}.loc-card-name{color:#1a2e3d;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;line-height:1.3;overflow:hidden}.loc-card-sub{color:#8aa0b0;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.loc-card-addr{color:#5a7080;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-family:monospace;font-size:11.5px;overflow:hidden}.loc-card-footer{border-top:1px solid #d1dce680;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px 10px;display:flex}.loc-card-actions{gap:6px;display:flex}.status-pill{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:5px;width:max-content;min-height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.online:before,.status-pill.offline:before,.status-pill.warning:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px;display:block}.status-pill.online{color:#15803d;background:#15803d17;border:1px solid #15803d40}.status-pill.online:before{background:#22c55e;animation:1.8s ease-in-out infinite pulse-dot-green}.status-pill.offline{color:#b91c1c;background:#b91c1c14;border:1px solid #b91c1c40}.status-pill.offline:before{background:var(--nm-danger);animation:1.8s ease-in-out infinite pulse-dot}.status-pill.paused{color:#536879;background:#788c9b24;border:1px solid #788c9b57}.status-pill.paused:before{content:"";background:#9aabb6;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:block}.status-pill.warning{color:#89621d;background:#fff8e8;border:1px solid #d99a2240}.status-pill.warning:before{background:#d99a22}.status-pill.unknown{color:#4f6474;background:#edf3f7}.status-pill.disabled{color:var(--nm-shell-muted);background:var(--nm-shell-text);opacity:.75;text-decoration:line-through}.details-panel{flex:0 0 340px;padding:18px}.layout-manager{border-bottom:1px solid var(--nm-shell-text);gap:12px;margin-bottom:18px;padding-bottom:18px;display:grid}.layout-manager-header,.saved-layout-row,.saved-layout-row button{justify-content:space-between;align-items:center;gap:10px;display:flex}.layout-manager-header span{min-width:28px;color:var(--nm-accent-strong);text-align:center;background:#e8f2f5;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800}.layout-manager-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.layout-manager-form input{border:1px solid #c8d3dd;border-radius:6px;width:100%;min-height:40px;padding:8px 10px}.layout-manager-form button,.saved-layout-delete{color:#fff;background:linear-gradient(135deg, var(--nm-accent-strong) 0%, #1a8fa0 100%);cursor:pointer;border:0;border-radius:8px;min-height:38px;padding:8px 12px;font-weight:700;transition:opacity .15s;box-shadow:0 1px 4px #1d647238}.saved-layout-list{gap:8px;display:grid}.saved-layout-row{border:1px solid var(--nm-shell-text);background:var(--nm-surface-soft);border-radius:6px;padding:8px}.saved-layout-row.active{border-color:var(--nm-accent-strong);background:#eef7fa}.saved-layout-row>button:first-child{color:#172026;cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;min-width:0;padding:0}.saved-layout-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saved-layout-row span{color:#587183;font-size:12px}.saved-layout-delete{background:linear-gradient(135deg, var(--nm-text-muted) 0%, #5c7d92 100%);flex:none}.tools-content{align-items:flex-start;margin-top:16px}.admin-grid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.admin-panel{background:linear-gradient(135deg, #1d9ab00f, #fff0 34%), var(--nm-surface);border-radius:10px;align-content:start;gap:14px;max-width:none;margin-top:0;padding:20px;display:grid;position:relative;overflow:hidden}.admin-panel-header{border-bottom:1px solid #d1dce699;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.admin-alert-delivery-panel,.admin-security-audit-panel{margin-top:18px}.notif-provider-heading{color:#1a2c38;margin:0;font-size:15px;font-weight:700}.admin-section-title{color:var(--nm-shell);letter-spacing:0;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:800;display:inline-flex}.admin-section-title svg{color:#0e8190;box-sizing:border-box;background:#0e8a9a1a;border-radius:8px;flex:none;width:28px;height:28px;padding:6px}.notif-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.notif-test-btn{color:var(--nm-accent-strong);cursor:pointer;background:0 0;border:1px solid #1d647240;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .13s,border-color .13s}.notif-test-btn:hover{background:#1d647212;border-color:#1d647266}.notif-result{border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.notif-result.ok{color:#1e7a56;background:#2d9d781a}.notif-result.err{color:#902828;background:#b4323217}.notif-method-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:7px;margin:10px 0 12px;display:grid}.notif-method-card{cursor:pointer;text-align:left;background:#1d64720a;border:1px solid #1d647233;border-radius:9px;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:9px 12px;transition:background .13s,border-color .13s;display:flex}.notif-method-card:hover{background:#1d9ab014;border-color:#1d9ab059}.notif-method-card--selected{border-color:var(--nm-accent);background:#1d9ab01a}.notif-method-card-label{color:#1a2c38;font-size:13px;font-weight:700;line-height:1.2}.notif-method-card--selected .notif-method-card-label{color:#0e6a7a}.notif-method-card-desc{color:#7a96a8;font-size:11px;line-height:1.3}.notif-apprise-details{margin:0 0 12px}.notif-form-actions{align-items:center;gap:8px;display:flex}.notif-methods-table{border:1px solid #d2d6dad9;border-radius:12px;margin-top:14px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.notif-method-row{background:#fff;border-bottom:1px solid #edf2f5;justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.notif-method-row:last-child{border-bottom:0}.notif-method-info{flex:1;min-width:0}.notif-method-name{color:#1a2c38;font-size:14px;font-weight:700;line-height:1.3;display:block}.notif-method-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.notif-method-tag{color:var(--nm-accent-strong);letter-spacing:.02em;white-space:nowrap;background:#1d647214;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700}.notif-status-badge{white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.notif-status-badge:before{content:"";border-radius:50%;flex:none;width:6px;height:6px}.notif-status-badge--active{color:#1e7a56;background:#2d9d781a}.notif-status-badge--active:before{background:var(--nm-success)}.notif-status-badge--off{color:#6a8090;background:#8c9ba81f}.notif-status-badge--off:before{background:#9aabb8}.notif-method-actions{flex-shrink:0;gap:5px;display:flex}.notif-modal-type-section{gap:8px;display:grid}.notif-modal-type-section label{color:#314656;gap:6px;margin:0;font-size:13px;font-weight:700;display:grid}.notif-modal-type-section select{background:#fff;border:1px solid #c8d3dd;border-radius:6px;width:100%;min-height:40px;padding:8px 10px;font-size:14px}.notif-modal-type-desc{color:#6a8090;margin:0;font-size:12px;line-height:1.4}.notif-apprise-details summary{color:#5a7e90;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:12px;font-weight:600;list-style:none;display:inline-flex}.notif-apprise-details summary:before{content:"▸";font-size:10px;transition:transform .15s}.notif-apprise-details[open] summary:before{transform:rotate(90deg)}.notif-apprise-details summary:hover{color:var(--nm-accent-strong)}.admin-panel-header button{color:#fff;background:linear-gradient(135deg, var(--nm-accent-strong) 0%, #1a8fa0 100%);cursor:pointer;border:0;border-radius:8px;min-height:36px;padding:7px 14px;font-weight:700;transition:opacity .15s;box-shadow:0 1px 4px #1d647238}.admin-panel-header button:hover{opacity:.9}.admin-users-table{border:1px solid #d2d6dad9;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.admin-users-header,.admin-users-row{grid-template-columns:minmax(200px,1.5fr) 152px 100px 225px;align-items:center;gap:10px;padding:10px 12px;display:grid}.admin-users-header{border-bottom:1px solid var(--nm-shell-text);color:#587183;background:#f5f7f9;font-size:12px;font-weight:800}.admin-users-row{border-bottom:1px solid #edf2f5}.admin-users-row:last-child{border-bottom:0}.admin-users-row--editing{border-left:3px solid var(--nm-accent);background:#1d9ab00d}.admin-users-row strong{text-overflow:ellipsis;overflow:hidden}.admin-users-row select{border:1px solid #c8d3dd;border-radius:6px;min-height:36px;padding:6px 8px}.admin-create-form{border-top:1px solid #edf2f5;padding-top:12px}.admin-config-grid{grid-template-columns:150px 1fr;gap:8px 12px;margin:0;display:grid}.admin-config-grid dt{color:#587183;font-weight:750}.admin-config-grid dd{margin:0}.tools-nav{border-right:1px solid #d1dce699;flex-direction:column;flex:0 0 210px;gap:2px;padding:4px 16px 4px 0;display:flex}.tools-nav-item{cursor:pointer;text-align:left;color:#3a5060;min-height:unset;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;height:auto;padding:9px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.tools-nav-item:hover{color:#1a3a4a;background:#1d9ab00f}.tools-nav-item--active{color:var(--nm-accent-strong);background:#1d9ab01a;font-weight:650}.tools-nav-item--locked{opacity:.55}.tools-nav-label{flex:1}.tools-nav-item .tool-badge{padding:2px 6px;font-size:9.5px}.tools-main{flex:auto;min-width:0;padding-left:28px}.tools-main-inner{max-width:620px}.tools-main .tool-card{padding:28px}.tool-form-actions{border-top:1px solid #d1dce6cc;margin-top:8px;padding-top:16px}.tool-form-actions button{width:100%}.tool-card h3{margin:0}.tool-target-strip{border:1px solid var(--nm-shell-text);background:#ecf1f6;border-radius:8px;gap:10px;padding:12px 14px;display:flex}.tool-role-card{flex-direction:column}.tool-role-card span,.tool-target-strip span{color:#587183;text-transform:uppercase;font-size:12px;font-weight:750}.tool-role-card p{color:#4f6474;margin:0}.tool-role-card code{overflow-wrap:anywhere;color:var(--nm-accent-strong);background:#e8f2f5;border-radius:6px;padding:6px 8px}.tool-target-strip{flex-wrap:wrap;align-items:center}.tool-target-strip strong{color:#13212b}.tool-target-strip button,.tool-form button:not(.nm-btn){min-height:38px;color:var(--nm-accent-strong);background:var(--nm-accent-soft);cursor:pointer;border:1px solid #1d9ab073;border-radius:6px;padding:8px 12px;font-weight:750;transition:background .15s,border-color .15s}.tool-form button:not(.nm-btn):hover:not(:disabled){background:#1d9ab038;border-color:#1d9ab099}.tool-form button.ipam-btn{min-height:unset;color:var(--nm-accent-strong);background:#1d64720f;border:1px solid #1d647259;border-radius:7px;padding:5px 14px;font-weight:600}.tool-form button.ipam-btn.ipam-btn--primary{background:var(--nm-accent);color:#fff;border-color:var(--nm-accent)}.modal-header-actions{align-items:center;gap:8px;display:inline-flex}.modal-header button.modal-close-btn{color:#5a7a90;cursor:pointer;min-height:unset;height:auto;box-shadow:none;background:#4e68781a;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;line-height:1;transition:color .13s,background .13s;display:flex}.modal-header button.modal-close-btn:hover{color:#1a2c38;background:#4e687838}body.theme-dark .modal-header button.modal-close-btn{color:var(--nm-text-muted);background:#5a7a952e}body.theme-dark .modal-header button.modal-close-btn:hover{color:#c8dff0;background:#5a7a954d}.modal-header button.ipam-btn,.modal-actions button.ipam-btn{min-height:unset;color:var(--nm-accent-strong);box-shadow:none;background:#1d64720f;border:1px solid #1d647259;border-radius:7px;padding:6px 16px;font-weight:600}.modal-header button.ipam-btn.ipam-btn--primary,.modal-actions button.ipam-btn.ipam-btn--primary{background:var(--nm-accent);color:#fff;border-color:var(--nm-accent)}.modal-header button.ipam-btn:hover:not(:disabled),.modal-actions button.ipam-btn:hover:not(:disabled){background:#1d64720f;border-color:#1d647266}.modal-header button.ipam-btn.ipam-btn--primary:hover:not(:disabled),.modal-actions button.ipam-btn.ipam-btn--primary:hover:not(:disabled){background:#1a8ea2}.modal-header button.ipam-btn:disabled,.modal-actions button.ipam-btn:disabled{opacity:.5;cursor:not-allowed}.tool-target-strip button{margin-left:auto}.tool-target-strip button:disabled,.tool-form button:not(.nm-btn):disabled{cursor:not-allowed;opacity:.55}.tools-grid{flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.exports-grid{margin-top:16px}.tool-card{align-content:start;gap:14px;padding:18px;display:grid}.tool-card-header,.tool-result-meta,.tool-hop-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-badge{min-height:26px;color:var(--nm-accent-strong);text-transform:uppercase;background:#e8f2f5;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.tool-badge.active{color:#1d6f55;background:#e9f7f0}.tool-badge.locked{color:#8a1f1f;background:#fff1f1}.tool-form,.tool-result{gap:12px;display:grid}.tool-form label{color:#314656;gap:6px;font-size:14px;font-weight:750;display:grid}.tool-form-inline-check{cursor:pointer;flex-direction:row;align-items:flex-start;gap:8px!important;font-weight:600!important;display:flex!important}.tool-form-check-copy{gap:3px;min-width:0;display:grid}.tool-form-inline-check input[type=checkbox]{flex-shrink:0;width:auto;min-height:auto;margin-top:2px}.tool-form-inline-check .tool-note{text-transform:none;letter-spacing:0;margin-top:1px;font-size:11px;font-weight:400;line-height:1.35;display:block}.tool-form input,.tool-form select{border:1px solid #c8d3dd;border-radius:6px;width:100%;min-height:40px;padding:8px 10px}.tool-form-grid,.tool-result-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tool-result{border-top:1px solid #edf2f5;padding-top:12px}.tool-result-meta{color:#587183;font-size:13px;font-weight:750}.tool-result-list,.tool-hop-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tool-result-list li,.tool-hop-row,.tool-status{border:1px solid var(--nm-shell-text);background:var(--nm-surface-soft);border-radius:6px;padding:9px 10px}.tool-result-empty,.tool-note{color:#587183;margin:0;line-height:1.45}.tool-note--hint{text-transform:none;letter-spacing:0;margin-top:1px;font-size:11px;font-weight:400;line-height:1.35;display:block}.tool-output{border:1px solid var(--nm-shell-text);color:#263b4b;background:var(--nm-surface-soft);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:10px 12px;font-size:12px;line-height:1.55;overflow:auto}.tool-result-pairs{margin:0}.tool-result-pairs dt{color:#587183;font-weight:750}.tool-result-pairs dd{color:#172026;margin:0}.tool-status{margin:0;font-weight:800}.tool-status.success{color:#1d6f55}.tool-status.danger{color:#8a1f1f}.subnet-input-row{align-items:flex-end;gap:10px;display:flex}.subnet-ip-label{flex:auto}.subnet-prefix-label{flex:0 0 220px}.subnet-result-dl{border:1px solid #d1dce6b3;border-radius:8px;grid-template-columns:auto 1fr;margin:0;display:grid;overflow:hidden}.subnet-row{display:contents}.subnet-row dt,.subnet-row dd{border-bottom:1px solid #d1dce680;margin:0;padding:8px 14px;font-size:13px}.subnet-row:last-child dt,.subnet-row:last-child dd{border-bottom:none}.subnet-row dt{color:#587183;white-space:nowrap;background:#edf3f899;font-weight:600}.subnet-row dd{color:#172026;word-break:break-all;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.subnet-row--highlight dt{color:#1a4550;background:#1d9ab014;font-weight:700}.subnet-row--highlight dd{color:#1a4550;background:#1d9ab00f;font-weight:700}.subnet-ref{border-top:1px solid #d1dce699;margin-top:14px;padding-top:12px}.subnet-ref-title{text-transform:uppercase;letter-spacing:.06em;color:#7a96a8;margin-bottom:8px;font-size:11px;font-weight:700}.subnet-ref-table{border-collapse:collapse;width:100%;font-size:12.5px}.subnet-ref-table th{text-align:left;color:#587183;background:#edf3f880;border-bottom:1px solid #d1dce6b3;padding:5px 10px;font-weight:700}.subnet-ref-table td{color:#263b4b;border-bottom:1px solid #d1dce659;padding:6px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.subnet-ref-table tr:last-child td{border-bottom:none}.subnet-ref-current td{color:#1a4550;background:#1d9ab014;font-weight:700}.security-live-controls{align-items:center}.inline-toggle{color:#314656;align-items:center;gap:8px;min-height:38px;font-weight:750;display:inline-flex}.inline-toggle input{width:18px;height:18px}.security-filters{flex:0 0 280px;align-content:start;gap:12px;padding:16px;display:grid}.security-filters label{color:#314656;gap:6px;font-size:13px;font-weight:750;display:grid}.security-filters input{border:1px solid #c8d3dd;border-radius:6px;width:100%;min-height:38px;padding:8px 10px}.security-search{position:relative}.security-search svg{color:#587183;position:absolute;bottom:11px;left:10px}.security-search input{padding-left:32px}.quick-filters{flex-wrap:wrap;gap:8px;display:flex}.security-filter-actions{grid-template-columns:1fr;gap:8px;display:grid}.quick-filters button,.security-search-btn,.clear-filters,.security-pagination button{color:#263b4b;cursor:pointer;background:#ecf1f6;border:1px solid #c8d3dd;border-radius:6px;min-height:34px;padding:7px 10px;font-weight:750}.security-search-btn{color:#0f5965;background:var(--nm-accent-soft);border-color:#1d9ab073;justify-content:center;align-items:center;gap:7px;display:inline-flex}.quick-filters button:hover,.security-search-btn:hover,.clear-filters:hover,.security-pagination button:hover:not(:disabled){border-color:var(--nm-accent-strong);color:var(--nm-accent-strong)}.security-results{flex:auto;min-width:0;overflow:hidden}.security-results-meta,.security-pagination{color:#587183;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:13px;font-weight:750;display:flex}.security-results-meta{border-bottom:1px solid var(--nm-shell-text)}.security-table{max-height:620px;overflow:auto}.security-table-header,.security-row{grid-template-columns:168px 90px 120px 120px 150px 82px 92px 112px 88px 90px minmax(120px,1fr);align-items:center;gap:10px;display:grid}.security-table-header{z-index:2;border-bottom:1px solid var(--nm-shell-text);color:#587183;background:#f5f7f9;min-width:1330px;padding:10px 12px;font-size:12px;font-weight:800;position:sticky;top:0}.security-table-header button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.security-row-group{border-bottom:1px solid #edf2f5;border-left:3px solid #0000;min-width:1330px;transition:border-left-color .13s}.security-row-group:hover{border-left-color:#1d9ab04d}.security-row{color:#172026;text-align:left;cursor:pointer;background:#f3f7fa;border:0;width:100%;min-height:44px;padding:9px 12px}.security-row:hover{background:var(--nm-row-hover)}.row-time{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.clickable-cell{text-overflow:ellipsis;white-space:nowrap;border-radius:4px;min-width:0;padding:2px 4px;overflow:hidden}.clickable-cell:hover{color:var(--nm-accent-strong);background:#e8f2f5}.topology-link-cell{color:var(--nm-accent-strong);font-weight:750}.related-devices{color:#587183;flex-wrap:wrap;align-items:center;padding:10px 14px 0 36px;font-size:12px;font-weight:700}.topology-jump-button{min-height:30px;color:var(--nm-accent-strong);cursor:pointer;background:#ecf1f6;border:1px solid #c8d3dd;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:750}.topology-jump-button:hover{border-color:var(--nm-accent-strong)}.action-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:99px;width:max-content;max-width:100%;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.action-pill.block,.action-pill.deny,.action-pill.drop{color:#b01c1c;background:#e0505038}.action-pill.pass,.action-pill.allow,.action-pill.accept{color:#0d6b3a;background:#2dba7c38}.action-pill.unknown{color:#4a6070;background:#a0b4c038}.raw-log{color:#263b4b;background:var(--nm-surface-soft);white-space:pre-wrap;word-break:break-word;border-top:1px solid #edf2f5;margin:0;padding:12px 14px 14px 36px;font-size:12px;line-height:1.55;overflow:auto}.security-empty{color:#587183;padding:24px}.security-pagination{border-top:1px solid var(--nm-shell-text)}.security-pagination button:disabled{cursor:not-allowed;opacity:.55}.quick-filter-block{color:#9c2020!important;background:#e0505014!important;border-color:#b91c1c4d!important}.quick-filter-pass{color:#0a5e32!important;background:#2dba7c1a!important;border-color:#0d6b3a4d!important}.details-heading{align-items:center;margin-bottom:2px;padding-bottom:14px;position:relative}.details-heading:after{content:"";background:#d1dce6e6;height:1px;margin:0 4px;display:block;position:absolute;bottom:0;left:0;right:0}.details-heading h3{color:#1a2c38;min-width:0;margin:0;font-size:15px;font-weight:700;line-height:1.3}.details-heading-title-row{justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;display:flex}.status-dot{--status-dot-glow:#5b7c9173;--status-dot-halo:#5b7c9147;border-radius:999px;flex-shrink:0;width:12px;height:12px;display:inline-block}.details-heading>.status-dot{will-change:transform, box-shadow, opacity;animation:1.8s ease-in-out infinite status-dot-strobe}.status-dot--sm{width:8px;height:8px}.status-dot.online{background:var(--nm-success);--status-dot-glow:#2d9d788c;--status-dot-halo:#2d9d7852}.status-dot.offline{--status-dot-glow:#8a96a375;--status-dot-halo:#8a96a347;background:#8a96a3}.status-dot.paused{--status-dot-glow:#9aabb67a;--status-dot-halo:#9aabb647;background:#9aabb6}.status-dot.warning{--status-dot-glow:#d99a228c;--status-dot-halo:#d99a2252;background:#d99a22}.status-dot.unknown{--status-dot-glow:#5b7c9173;--status-dot-halo:#5b7c9147;background:#5b7c91}.status-dot.disabled{opacity:.6;--status-dot-glow:#9aabb65c;--status-dot-halo:#9aabb633;background:#9aabb6}@media (prefers-reduced-motion:reduce){.details-heading>.status-dot,.mon-dot{animation:none}}.color-readout{vertical-align:-2px;border:1px solid #b7c4ce;border-radius:999px;width:14px;height:14px;margin-right:7px;display:inline-block}.details-panel dl{grid-template-columns:110px 1fr;gap:16px 12px;margin:18px 0;padding:0 4px;display:grid}.details-panel dt{color:#7a96a8;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:flex}.details-panel dd{color:#1a2c38;overflow-wrap:anywhere;margin:0;font-size:13.5px}.panel-empty p{color:#587183;line-height:1.5}.top-affected{flex-direction:column;align-items:flex-start;margin-top:16px}.top-affected h4{color:#314656;margin:0;font-size:14px}.device-security-panel{padding-top:14px}.device-detail-tabs{border-bottom:1px solid #d1dce6cc;justify-content:space-between;margin:4px -18px;padding:0 18px;display:flex}.device-detail-tab{color:#8aa0b0;cursor:pointer;letter-spacing:.02em;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:7px 12px;font-size:12px;font-weight:600;transition:color .13s,border-color .13s}.device-detail-tab--right{text-align:center}.device-detail-tab:hover{color:#1a2c38}.device-detail-tab.active{color:var(--nm-accent-strong);border-bottom-color:var(--nm-accent-strong)}.detail-actions--device{justify-content:space-between}.detail-actions--device .vlan-action-btn{text-align:center;flex:1}.live-status-inline{vertical-align:middle;margin-left:4px;font-size:.72em;font-weight:500}.live-status-inline.online{color:var(--nm-success)}.live-status-inline.offline{color:var(--nm-text-faint)}.live-status-inline.warning{color:#d99a22}.details-heading-body{flex:auto;min-width:0;display:block}.details-live-badge{text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;width:max-content;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.details-live-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.details-live-badge--online{color:#15803d;background:#15803d17;border-color:#15803d38}.details-live-badge--online .details-live-dot{background:#22c55e;animation:1.8s ease-in-out infinite pulse-dot-green}.details-live-badge--offline{color:#b91c1c;background:#b91c1c14;border-color:#b91c1c38}.details-live-badge--offline .details-live-dot{background:var(--nm-danger);animation:1.8s ease-in-out infinite pulse-dot}.details-live-badge--warning{color:#89621d;background:#d99a221a;border-color:#d99a2240}.details-live-badge--warning .details-live-dot{background:#d99a22}.details-live-rtt{text-transform:none;letter-spacing:0;opacity:.75;border-left:1px solid;margin-left:1px;padding-left:5px;font-size:10px;font-weight:500}.editable-dd{cursor:text;border-radius:3px;margin:-1px -3px;padding:1px 3px;transition:background .12s}.editable-dd:hover{background:#1d9ab014}.details-inline-input{box-sizing:border-box;border:1px solid var(--nm-accent-strong);color:#1a2c38;background:#f3f7fa;border-radius:4px;outline:none;width:100%;padding:3px 6px;font-family:inherit;font-size:.9em}.details-inline-input:focus{border-color:var(--nm-accent);box-shadow:0 0 0 2px #1d9ab02e}textarea.details-inline-input{resize:vertical;line-height:1.4}.details-inline-color{align-items:center;gap:6px;display:flex}.details-inline-color input[type=color]{cursor:pointer;background:0 0;border:1px solid #b7c4ce;border-radius:4px;width:34px;height:26px;padding:1px}.details-inline-auto{background:var(--nm-shell-text);color:#314656;cursor:pointer;border:1px solid #b7c4ce;border-radius:4px;padding:3px 8px;font-size:.8em}.details-edit-hint{color:#8a96a3;text-align:center;letter-spacing:.01em;margin:4px 0 14px;font-size:.73em}.security-heading{gap:8px}.security-heading h4{margin:0;font-size:14px}.security-summary-list{grid-template-columns:80px 1fr;gap:8px 10px;margin:12px 0;display:grid}.security-summary-list dt{color:#587183;font-weight:700}.security-summary-list dd{margin:0}.device-event-list{flex-direction:column}.device-event-row{border:1px solid var(--nm-shell-text);color:#263b4b;background:var(--nm-surface-soft);text-align:left;border-radius:6px;grid-template-columns:132px 72px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:7px 9px;font-size:12px;display:grid}.modal-backdrop{z-index:200;background:#0a121cad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#f3f7fa;border-radius:16px;width:min(100%,560px);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 64px #17202638,0 4px 16px #17202614}.modal-header{border-bottom:1px solid var(--nm-shell-text);justify-content:space-between;align-items:center;padding:18px 20px}.modal-header button:not(.nm-btn):not(.nm-btn--primary){color:#4e6878;box-shadow:none;background:#4e687826}.modal-form{gap:14px;padding:20px;display:grid}.modal-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.scan-form-grid{grid-template-columns:1fr;gap:14px;display:grid}.modal-form label{color:#314656;gap:6px;font-size:14px;font-weight:750;display:grid}.modal-form .checkbox-label,.confirm-large-scan{align-items:center;gap:9px;display:flex}.checkbox-label input,.confirm-large-scan input{width:18px;min-height:18px}.scan-safety,.scan-progress{border:1px solid var(--nm-shell-text);background:#ecf1f6;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.scan-safety.warning{background:#fff8e8;border-color:#dfb867}.scan-safety div,.scan-progress div:last-child{gap:3px;display:grid}.scan-safety span,.scan-progress span{color:#587183;font-size:13px;line-height:1.35}.confirm-large-scan{background:#f3f7fa;border:1px solid #c8d3dd;border-radius:6px;flex:none;min-height:38px;padding:8px 10px;font-weight:750}.confirm-large-scan:has(input:disabled){color:var(--nm-shell-muted);background:#edf3f7}.scan-progress{justify-content:flex-start}.scan-progress-pulse{background:var(--nm-accent-strong);border-radius:999px;width:16px;height:16px;animation:1s ease-in-out infinite scan-pulse}@keyframes scan-pulse{0%,to{opacity:.4;transform:scale(.86)}50%{opacity:1;transform:scale(1.1)}}.modal-form input:not([type=checkbox]):not([type=radio]),.modal-form select,.modal-form textarea{border:1px solid #c8d3dd;border-radius:6px;width:100%;min-height:40px;padding:8px 10px}.modal-form .inline-toggle{min-height:0;font-size:13px}.modal-form .inline-toggle input{width:16px;height:16px;min-height:16px;margin:0}.modal-form textarea{resize:vertical;min-height:92px}.color-picker{flex-wrap:wrap;gap:8px;display:flex}.color-picker button{cursor:pointer;border:2px solid #d3dee7;border-radius:999px;width:34px;height:34px;min-height:34px;padding:0}.color-picker button.selected{border-color:#172026;box-shadow:0 0 0 3px #1720261f}.color-picker .clear-color{color:#263b4b;border-radius:6px;width:auto;padding:0 10px;font-weight:750;background:#edf3f7!important}.color-picker .custom-color-picker{color:#263b4b;cursor:pointer;background:#ecf1f6;border:1px solid #c8d3dd;border-radius:6px;align-items:center;gap:8px;min-height:34px;padding:0 10px 0 6px;font-size:12px;font-weight:750;display:inline-flex}.color-picker .custom-color-picker input[type=color]{cursor:pointer;background:0 0;border:0;width:24px;height:24px;min-height:24px;padding:0}.ep-picker{position:relative}.ep-trigger{width:100%;min-height:40px;color:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #c8d3dd;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;transition:border-color .15s;display:flex}.ep-trigger:hover,.ep-trigger--open{border-color:var(--nm-accent);outline:none}.ep-trigger-label{flex-direction:column;gap:1px;min-width:0;display:flex;overflow:hidden}.ep-trigger-name{white-space:nowrap;text-overflow:ellipsis;color:#1a2c3a;font-size:13.5px;overflow:hidden}.ep-trigger-sub{color:#587183;font-family:monospace;font-size:11.5px}.ep-trigger-placeholder{color:#8aabb8;font-size:13.5px}.ep-chevron{color:#587183;flex-shrink:0;transition:transform .15s}.ep-chevron--open{transform:rotate(180deg)}.ep-dropdown{z-index:320;box-sizing:border-box;background:#fff;border:1px solid #c8d3dd;border-radius:8px;position:fixed;overflow:hidden;box-shadow:0 14px 34px #0a121c38,0 3px 10px #0a121c1f}.mon-device-picker{background:0 0;border:1px solid #c8d3dd;border-radius:8px;overflow:hidden}.ep-search-row{border-bottom:1px solid var(--nm-shell-text);background:#fff;align-items:center;gap:7px;padding:8px 10px;display:flex}.ep-search-icon{color:#8aabb8;flex-shrink:0}.ep-search{color:#1a2c3a;background:#fff;border:none;outline:none;flex:1;min-width:0;font-size:13px}.ep-search::placeholder{color:#8aabb8}.ep-list{max-height:220px;padding:4px 0;overflow-y:auto}.ep-section{letter-spacing:.06em;text-transform:uppercase;color:#8aabb8;pointer-events:none;padding:5px 10px 2px;font-size:10.5px;font-weight:700}.ep-option{cursor:pointer;text-align:left;color:#1a2c3a;background:0 0;border:none;align-items:center;gap:7px;width:100%;min-width:0;padding:6px 10px;display:flex}.ep-option:hover,.ep-option--hl{background:#f0f5f8}.ep-option--selected{color:var(--nm-accent-strong);background:#e7f4f7}.ep-option--selected.ep-option--hl{background:var(--nm-shell-text)}.ep-badge{color:#4a7a8a;background:#e4eff4;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-flex}.ep-option--selected .ep-badge{color:var(--nm-accent-strong);background:#c8e8ef}.ep-option-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.ep-option-ip{color:#587183;flex-shrink:0;font-family:monospace;font-size:11.5px}.ep-option--selected .ep-option-ip{color:#4a8090}.ep-empty{color:#8aabb8;text-align:center;padding:10px 12px;font-size:13px}body.theme-dark .ep-trigger{background:var(--nm-bg-elevated);border-color:var(--nm-border);color:#c8dae8}body.theme-dark .ep-trigger:hover,body.theme-dark .ep-trigger--open{border-color:var(--nm-accent)}body.theme-dark .ep-trigger-name{color:#c8dae8}body.theme-dark .ep-trigger-sub{color:var(--nm-text-faint)}body.theme-dark .ep-trigger-placeholder,body.theme-dark .ep-chevron{color:#4a6a80}body.theme-dark .ep-dropdown{background:var(--nm-surface);border-color:var(--nm-border-strong);box-shadow:0 16px 38px #0000007a,0 4px 12px #00000052}body.theme-dark .mon-device-picker{border-color:var(--nm-border);background:0 0}body.theme-dark .ep-search-row{background:var(--nm-surface);border-bottom-color:var(--nm-border)}body.theme-dark .ep-search-icon{color:#3a5a70}body.theme-dark .ep-search{background:var(--nm-surface);color:#c8dae8}body.theme-dark .ep-search::placeholder,body.theme-dark .ep-section{color:#3a5a70}body.theme-dark .ep-option{color:#c8dae8}body.theme-dark .ep-option:hover,body.theme-dark .ep-option--hl{background:#1a2c3a}body.theme-dark .ep-option--selected{background:var(--nm-shell);color:#4ad4e8}body.theme-dark .ep-option--selected.ep-option--hl{background:#0d2838}body.theme-dark .ep-badge{color:#4a8aaa;background:#1a2e3c}body.theme-dark .ep-option--selected .ep-badge{color:#4ad4e8;background:#0d3040}body.theme-dark .ep-option-name{color:inherit}body.theme-dark .ep-option-ip{color:var(--nm-text-faint)}body.theme-dark .ep-option--selected .ep-option-ip{color:#3ab0c8}body.theme-dark .ep-empty{color:#3a5a70}.modal-actions{justify-content:flex-end}.modal-actions button:first-child{color:var(--nm-accent-strong);box-shadow:none;background:#1d64720f;border:1px solid #1d647259}.modal-actions button:first-child:hover:not(:disabled){opacity:1;background:#1d64721f;border-color:#1d647280}.scan-results{border-top:1px solid var(--nm-shell-text);padding:0 20px 20px}.scan-schedule-panel{border-top:1px solid var(--nm-shell-text);background:#ecf1f68c;gap:12px;padding:18px 20px;display:grid}.scan-schedule-header,.scan-schedule-row,.scan-observation-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.scan-schedule-header div,.scan-schedule-row div:first-child,.scan-observation-row div:first-child{gap:4px;min-width:0;display:grid}.scan-schedule-header span,.scan-schedule-row span,.scan-observation-row span{color:#587183;font-size:12px;line-height:1.35}.scan-schedule-form{grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr) auto auto;align-items:end;gap:10px;display:grid}.scan-schedule-form label{color:#314656;gap:5px;font-size:13px;font-weight:750;display:grid}.scan-schedule-form input:not([type=checkbox]),.scan-schedule-form select{border:1px solid #c8d3dd;border-radius:6px;width:100%;min-height:38px;padding:7px 9px}.scan-schedule-list,.scan-observation-list{gap:8px;display:grid}.scan-schedule-row,.scan-observation-row{background:#f8fbfd;border:1px solid #d1dce6d9;border-radius:8px;padding:10px}.scan-schedule-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ipam-btn--danger{color:#8a1f1f!important;background:#fff5f5!important;border-color:#e0b0b0!important}.scan-observation-badge{text-transform:capitalize;background:#1d64721a;border-radius:999px;justify-self:start;padding:2px 8px;font-weight:800;color:var(--nm-accent-strong)!important;font-size:11px!important}.scan-observation-badge--ip_change{background:#b87c101f;color:#9a6508!important}.scan-observation-badge--disappeared{background:#e050501f;color:#9a2020!important}.modal:has(.obs-modal-body){flex-direction:column;display:flex;overflow:hidden}.modal:has(.obs-modal-body) .modal-header{flex-shrink:0}.obs-modal-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px 20px 22px;display:flex;overflow:hidden}.obs-modal-hint{color:#587183;flex-shrink:0;margin:0;font-size:13px;line-height:1.5}.obs-modal-empty{color:#6a8a9a;margin:0;font-size:13px}.obs-list{scrollbar-width:thin;scrollbar-color:#a0b4c066 transparent;border:1px solid #d2dae0e6;border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.obs-row{border-bottom:1px solid #edf2f5;align-items:center;gap:12px;padding:12px 16px;display:flex}.obs-row:last-child{border-bottom:0}.obs-row-type-badge{white-space:nowrap;color:#1d5c6e;background:#1d64721a;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:700}.obs-row-type-badge--ip_change{color:#8a5800;background:#b87c101a}.obs-row-type-badge--field_change{color:#3040a0;background:#5064c81a}.obs-row-type-badge--disappeared{color:#8a1f1f;background:#e050501a}.obs-row-detail{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.obs-row-detail strong{color:#1e3040;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.obs-row-detail span{color:#6a8a9a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.obs-row-proposed{color:var(--nm-accent-strong);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.obs-row-meta{color:#8aa0b0;white-space:nowrap;flex-shrink:0;font-size:11px}.obs-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.obs-row-acked{color:#3a7a58;font-size:11px;font-weight:600}body.theme-dark .obs-modal-hint,body.theme-dark .obs-modal-empty{color:#4a6a80}body.theme-dark .obs-list{border-color:#28465a99}body.theme-dark .obs-row{border-bottom-color:#28465a80}body.theme-dark .obs-row-detail strong{color:#c8dae8}body.theme-dark .obs-row-detail span{color:#4a6a80}body.theme-dark .obs-row-proposed{color:#4db8cc}body.theme-dark .obs-row-meta{color:#4a6a80}body.theme-dark .obs-row-acked{color:#45a875}body.theme-dark .obs-row-type-badge{color:#4db8cc;background:#1d9ab01f}body.theme-dark .obs-row-type-badge--ip_change{color:#c4902a;background:#c896281f}body.theme-dark .obs-row-type-badge--field_change{color:#8090d0;background:#6478dc1f}body.theme-dark .obs-row-type-badge--disappeared{color:#e07070;background:#e050501f}.scan-summary{align-items:baseline;gap:8px;margin:18px 0 12px;display:flex}.scan-summary strong{font-size:26px}.scan-summary span{color:#587183}.scan-table{border:1px solid #d1dce6cc;border-radius:12px;display:grid;overflow:hidden}.scan-table-header{color:#587183;grid-template-columns:28px 120px 1fr 1fr 120px;gap:10px;padding:0 10px 8px;font-size:12px;font-weight:750;display:grid}.scan-row{border-bottom:1px solid #edf2f5;grid-template-columns:28px 120px 1fr 1fr 120px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;font-size:13px;display:grid}.scan-row:last-child{border-bottom:0}.scan-row input{width:16px;min-height:16px}.scan-import-actions{margin-top:14px}.scan-snmp-toggle-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.scan-snmp-panel{background:#ecf1f673;border:1px solid #d1dce6cc;border-radius:8px;gap:10px;padding:12px 14px;display:grid}.scan-snmp-intro{color:#587183;margin:0;font-size:12px;line-height:1.45}.empty-results{color:#587183;background:#ecf1f6;border:1px solid #d1dce6cc;border-radius:12px;padding:14px}body.theme-dark{--nm-bg:#0c1118;--nm-bg-elevated:#111c28;--nm-surface:#131e28;--nm-surface-soft:#111a22;--nm-border:#1e2e3c;--nm-border-strong:#2d3d52;--nm-text:#d7e2ea;--nm-text-muted:#8ab0c8;--nm-text-faint:#5a7a95;--nm-shell:#0a1520;--nm-shell-raised:#070f1a;--nm-shell-border:#ffffff13;--nm-shell-text:#e7edf2;--nm-shell-muted:#7c8795;--nm-accent:#22c0cf;--nm-accent-strong:#55d6e1;--nm-accent-soft:#22c0cf1f;--nm-danger-soft:#d94b4b26;--nm-warning-soft:#d4912c26;--nm-success-soft:#2d9d7826;--nm-row-hover:#111c28;color:var(--nm-text);background:var(--nm-bg)}.dash-donut-wrap{flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative}.dash-donut-svg{width:100px;height:100px;transform:rotate(-90deg)}.dash-donut-center{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.dash-donut-pct{letter-spacing:-.03em;color:#1a2e3d;font-size:21px;font-weight:800;line-height:1}.dash-donut-label{text-transform:uppercase;letter-spacing:.06em;color:#8aa0b0;font-size:10px;font-weight:700}.dash-health-with-donut{align-items:center;gap:16px;padding:14px 18px 16px;display:flex}.dash-health-bars{flex-direction:column;flex:1;gap:8px;display:flex}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-row{border-bottom:1px solid #afc6d859;align-items:center;gap:10px;padding:10px 18px;display:flex}.skeleton-row:last-child{border-bottom:none}.skeleton-line{border-radius:var(--nm-radius-sm,6px);background:linear-gradient(90deg, var(--nm-surface-soft) 25%, var(--nm-border) 50%, var(--nm-surface-soft) 75%);background-size:600px 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton-circle{background:linear-gradient(90deg, var(--nm-surface-soft) 25%, var(--nm-border) 50%, var(--nm-surface-soft) 75%);background-size:600px 100%;border-radius:50%;flex-shrink:0;animation:1.4s ease-in-out infinite shimmer}body.theme-dark .auth-split-right{background:var(--nm-bg)}body.theme-dark .dash-empty-icon{color:#4a6a82;background:#1d9ab014}body.theme-dark .dash-empty-title{color:#8ab0c4}body.theme-dark .dash-empty-desc{color:#3a5262}body.theme-dark .dash-empty-action{color:#4db8cc;background:#1d9ab01a;border-color:#1d9ab033}body.theme-dark .dash-empty-action:hover{background:#1d9ab02e;border-color:#1d9ab059}body.theme-dark .dash-donut-pct{color:#c9d9e6}body.theme-dark .dash-alert-dot{background:#e07070}body.theme-dark .dash-alert-dismiss{color:#c06060}body.theme-dark .workspace{background:var(--nm-bg)}body.theme-dark .sidebar{background:linear-gradient(180deg, var(--nm-shell) 0%, var(--nm-shell-raised) 100%);border-right-color:var(--nm-shell-border)}body.theme-dark .sidebar-section-label,body.theme-dark .sidebar-link{color:var(--nm-shell-muted)}body.theme-dark .sidebar-link:hover{color:var(--nm-shell-text);background:linear-gradient(90deg,#1d9ab029 0%,#1d9ab00b 65%,#0000 100%);border-left-color:#1d9ab066}body.theme-dark .sidebar-link.active{color:var(--nm-accent-strong);background:linear-gradient(90deg,#1d9ab04d 0%,#1d9ab012 65%,#0000 100%);border-left-color:#1d9ab0}body.theme-dark .sidebar-theme-toggle,body.theme-dark .sidebar-logout{border-color:var(--nm-shell-border);color:var(--nm-shell-muted);background:#ffffff05}body.theme-dark .sidebar-theme-toggle:hover,body.theme-dark .sidebar-logout:hover{color:var(--nm-shell-text);border-color:#ffffff1f}body.theme-dark .app-topbar{border-bottom-color:var(--nm-border);background:#0e1c2af0}body.theme-dark .app-topbar-icon{background:var(--nm-accent-soft);color:var(--nm-accent-strong);border-color:#22c0cf3d}body.theme-dark .app-topbar-copy strong{color:var(--nm-text)}body.theme-dark .app-topbar-status{color:#7ad6ad;background:#22a06b1a;border-color:#22a06b3d}body.theme-dark .app-topbar-status--paused{color:#9fb2c0;background:#8296a524;border-color:#8296a552}body.theme-dark .app-topbar-user{border-color:var(--nm-border);color:var(--nm-text-muted);background:var(--nm-surface)}body.theme-dark .security-topbar-copy span:first-child{color:#9bbdd4}body.theme-dark .loc-topbar-search input::placeholder{color:var(--nm-text-faint)}body.theme-dark .auth-theme-toggle{color:var(--nm-text-muted);background:#0e1824d9;border-color:#ffffff1a}body.theme-dark .auth-theme-toggle:hover{color:#aac8e0;background:#162637e6;border-color:#ffffff2e}body.theme-dark .graph-surface,body.theme-dark .tools-nav{border-right-color:#ffffff0f}body.theme-dark .panel,body.theme-dark .metric,body.theme-dark .overview-nav-card,body.theme-dark .admin-system-stat,body.theme-dark .inventory-surface,body.theme-dark .details-panel{border-color:var(--nm-border);background:var(--nm-surface);box-shadow:0 1px 3px #0000002e,0 4px 14px #00000021}body.theme-dark .tools-nav-item{color:#7a9db8}body.theme-dark .tools-nav-item:hover{color:#a8ccd8;background:#1d9ab014}body.theme-dark .tools-nav-item--active{color:#5bc8da;background:#1d9ab024}body.theme-dark .tools-sidebar,body.theme-dark .tool-card,body.theme-dark .security-filters,body.theme-dark .security-results,body.theme-dark .admin-panel,body.theme-dark .auth-card,body.theme-dark .modal{border-color:var(--nm-border);color:var(--nm-text);background:linear-gradient(135deg, #22c0cf0f, #131e2800 36%), var(--nm-surface);box-shadow:0 1px 3px #0003,0 4px 14px #00000026}body.theme-dark .security-filters label{color:#c8dae8}body.theme-dark .security-filters input{background:var(--nm-surface-soft);border-color:var(--nm-border-strong);color:var(--nm-text)}body.theme-dark .security-filters input:focus{background:var(--nm-surface);border-color:#1d9ab0;outline:none}body.theme-dark .security-search svg{color:var(--nm-text-faint)}body.theme-dark .tool-form-actions{border-top-color:var(--nm-border)}body.theme-dark .auth-brand{border-bottom-color:#ffffff12}body.theme-dark .notif-provider-heading{color:var(--nm-text)}body.theme-dark .notif-test-btn{color:#5bc8da;border-color:#1d9ab038}body.theme-dark .notif-test-btn:hover{background:#1d9ab01a;border-color:#1d9ab066}body.theme-dark .notif-result.ok{color:#4fbc80;background:#2d9d7826}body.theme-dark .notif-result.err{color:#e08080;background:#dc50501f}body.theme-dark .notif-method-card{background:#ffffff08;border-color:#4db8cc26}body.theme-dark .notif-method-card:hover{background:#1d9ab01a;border-color:#4db8cc4d}body.theme-dark .notif-method-card--selected{background:#1d9ab029;border-color:#4db8cc}body.theme-dark .notif-method-card-label{color:#c8dae8}body.theme-dark .notif-method-card--selected .notif-method-card-label{color:#7dd8e8}body.theme-dark .notif-method-card-desc{color:#6a8a9a}body.theme-dark .notif-apprise-details summary{color:#5a8a9a}body.theme-dark .notif-apprise-details summary:hover{color:#4db8cc}body.theme-dark .admin-users-row--editing{background:#1d9ab014;border-left-color:#4db8cc}body.theme-dark .notif-method-row{background:#ffffff05;border-bottom-color:#ffffff0f}body.theme-dark .notif-method-name{color:#c8dae8}body.theme-dark .notif-method-tag{color:#4db8cc;background:#4db8cc1a}body.theme-dark .notif-status-badge--active{color:#4fbc80;background:#2d9d7826}body.theme-dark .notif-status-badge--off{color:#7a9aaa;background:#8c9ba81a}body.theme-dark .notif-modal-type-section label{color:#c8dae8}body.theme-dark .notif-modal-type-section select{background:var(--nm-surface-soft);border-color:var(--nm-border-strong);color:var(--nm-text)}body.theme-dark .notif-modal-type-desc{color:#6a8a9a}body.theme-dark .auth-brand-name{color:var(--nm-text)}body.theme-dark .auth-slogan{color:#4e6a80!important}body.theme-dark .auth-form-heading{color:var(--nm-text)}body.theme-dark .auth-forgot-link{color:#4a8ea8}body.theme-dark .auth-forgot-link:hover{color:#5bc8da;background:#1d9ab014}body.theme-dark .auth-reset-info{color:#4a6a7e}body.theme-dark .auth-card label{color:var(--nm-text-faint)}body.theme-dark .auth-card input{color:var(--nm-text);background:#ffffff0a;border-color:#ffffff1a}body.theme-dark .auth-card input:focus{background:#1d9ab00f;border-color:#1d9ab0;box-shadow:0 0 0 3px #1d9ab024}body.theme-dark .auth-card button.auth-sso-btn{color:#c8dae8;background:#1e3047;border-color:#3a5068}body.theme-dark .auth-card button.auth-sso-btn:hover{color:var(--nm-accent-strong);background:#243d54;border-color:#22c0cf66}body.theme-dark .auth-divider{color:var(--nm-text-faint)}body.theme-dark .auth-divider:before,body.theme-dark .auth-divider:after{background:#ffffff14}body.theme-dark .metric-icon{color:var(--nm-accent);background:linear-gradient(135deg,#0e2535 0%,#0a3040 100%)}body.theme-dark .graph-surface{background:radial-gradient(circle, #ffffff1a 1px, transparent 1px), var(--nm-surface-soft);background-size:28px 28px}body:not(.theme-dark) .graph-surface{background:radial-gradient(circle, #0000002e 1px, transparent 1px), var(--nm-shell-text);background-size:28px 28px;border-color:#c8c8c8}body.theme-dark .editable-dd:hover{background:#4aa3ff1f}body.theme-dark .device-detail-tabs{border-color:#28465ab3}body.theme-dark .device-detail-tab{color:#4a6a80}body.theme-dark .device-detail-tab:hover{color:#c8dae8}body.theme-dark .device-detail-tab.active{color:var(--nm-accent-strong);border-bottom-color:var(--nm-accent-strong)}body.theme-dark .device-security-panel{border-color:#28465a80}body.theme-dark .details-inline-input{background:var(--nm-border);color:var(--nm-text);border-color:#1d6472}body.theme-dark .details-inline-input:focus{border-color:#4db8cc;box-shadow:0 0 0 2px #1d9ab02e}body.theme-dark .details-inline-color input[type=color]{border-color:var(--nm-border-strong)}body.theme-dark .details-inline-auto{background:var(--nm-border);color:#a0b8c8;border-color:var(--nm-border-strong)}body.theme-dark .details-edit-hint{color:#4e6475}body.theme-dark .security-table-header,body.theme-dark .inventory-table-header,body.theme-dark .admin-users-header{color:#9db0bf;background:var(--nm-border);border-color:#2b3946}body.theme-dark .security-row,body.theme-dark .inventory-row,body.theme-dark .admin-users-row,body.theme-dark .tool-result-list li,body.theme-dark .tool-hop-row,body.theme-dark .tool-status,body.theme-dark .scan-row,body.theme-dark .saved-layout-row{border-color:var(--nm-border);color:var(--nm-text);background:var(--nm-surface)}body.theme-dark .subnet-result-dl{border-color:var(--nm-border)}body.theme-dark .subnet-row dt{background:var(--nm-bg-elevated);color:#6a9ab8;border-bottom-color:#ffffff0d}body.theme-dark .subnet-row dd{background:var(--nm-bg-elevated);color:var(--nm-text);border-bottom-color:#ffffff0d}body.theme-dark .subnet-row--highlight dt{color:#5bc8da;background:#1d9ab01f}body.theme-dark .subnet-row--highlight dd{color:#5bc8da;background:#1d9ab014}body.theme-dark .subnet-ref{border-top-color:#ffffff0f}body.theme-dark .subnet-ref-title{color:#4a6a7e}body.theme-dark .subnet-ref-table th{background:var(--nm-bg-elevated);color:var(--nm-text-faint);border-bottom-color:var(--nm-border)}body.theme-dark .subnet-ref-table td{color:#9db8cc;border-bottom-color:#ffffff0a}body.theme-dark .subnet-ref-current td{color:#5bc8da;background:#1d9ab01a}body.theme-dark .inventory-row{border-bottom-color:#ffffff0a}body.theme-dark .admin-user-name{color:#c9d9e6}body.theme-dark .admin-suspended-badge{color:#e08888;background:#3a1414}body.theme-dark .admin-user-email{color:#5a8a9e}body.theme-dark .admin-email-placeholder,body.theme-dark .admin-email-pencil{color:#3a5060}body.theme-dark .admin-email-input{background:var(--nm-shell);border-color:var(--nm-accent);color:#c9d9e6}body.theme-dark .admin-email-btn{background:var(--nm-surface);color:#7a9db8;border-color:#2a3d4e}body.theme-dark .admin-email-btn--save{color:#4fbc80;background:#0d2e1a;border-color:#1a5a34}body.theme-dark .admin-role-select--superadmin{color:#e09090;background:#1e0e0e;border-color:#7a3030}body.theme-dark .admin-role-select--networkadmin{color:#70c8d8;background:#0a1e28;border-color:#1e5060}body.theme-dark .admin-role-select--securityanalyst{color:#d4a040;background:#1a1200;border-color:#6a5010}body.theme-dark .admin-role-select--viewer{color:#90b0c8;background:#0e1e28;border-color:#3a5468}body.theme-dark .admin-status-pill.active{color:#4fbc80;background:#0d2e1a;border-color:#1a5a34}body.theme-dark .admin-status-pill.suspended{color:#e08888;background:#3a1414;border-color:#7a3030}body.theme-dark .status-pill.online{color:#4ade80;background:#4ade801a;border-color:#4ade8040}body.theme-dark .status-pill.offline{color:#f87171;background:#f871711a;border-color:#f8717140}body.theme-dark .status-pill.online:before{background:#4ade80}body.theme-dark .status-pill.offline:before{background:#f87171}body.theme-dark .status-pill.paused{color:#9fb2c0;background:#8296a524;border-color:#8296a552}body.theme-dark .status-pill.paused:before{background:var(--nm-text-faint)}body.theme-dark .status-pill.warning{color:#fbbf24;background:#d99a221a;border-color:#d99a2240}body.theme-dark .details-live-badge--online{color:#4ade80;background:#4ade801a;border-color:#4ade8033}body.theme-dark .details-live-badge--offline{color:#f87171;background:#f871711a;border-color:#f8717133}body.theme-dark .details-live-badge--warning{color:#fbbf24;background:#d99a221a;border-color:#d99a2233}body.theme-dark .details-live-badge--online .details-live-dot{background:#4ade80}body.theme-dark .details-live-badge--offline .details-live-dot{background:#f87171}body.theme-dark .audit-log-header{background:var(--nm-shell);color:#4e7a94;border-bottom-color:var(--nm-border)}body.theme-dark .audit-log-row{border-bottom-color:#1a2836}body.theme-dark .audit-date{color:#c9d9e6}body.theme-dark .audit-time{color:#3a5262}body.theme-dark .audit-category-badge--auth{color:#7aa8e8;background:#0e1e3a;border-color:#1e3868}body.theme-dark .audit-category-badge--network,body.theme-dark .audit-category-badge--device,body.theme-dark .audit-category-badge--topology{color:#4db8cc;background:#0a1e28;border-color:#1d5060}body.theme-dark .audit-category-badge--security{color:#d4a040;background:#1a1200;border-color:#6a5010}body.theme-dark .audit-category-badge--system{background:var(--nm-surface);color:#5a7a8e;border-color:#243444}body.theme-dark .audit-action{color:#9db8cc}body.theme-dark .audit-actor{color:var(--nm-text-muted)}body.theme-dark .audit-target{color:#c9d9e6}body.theme-dark .audit-detail{color:#3a5262}body.theme-dark .inventory-group-select{color:#b0c8da;background:var(--nm-surface-soft);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-color:#ffffff1a}body.theme-dark .inventory-bulk-edit{background:var(--nm-bg-elevated);border-bottom-color:#ffffff0d}body.theme-dark .inventory-bulk-title{color:#5bc8da;background:#1d9ab01f}body.theme-dark .inventory-bulk-edit label{color:var(--nm-text-faint)}body.theme-dark .inventory-bulk-edit select{background:var(--nm-surface-soft);color:#b0c8da;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-color:#ffffff14}body.theme-dark .inventory-bulk-edit button{color:#5a9ab8;border-color:#1d9ab029}body.theme-dark .inventory-bulk-edit button:hover:not(:disabled){color:#7abcd4;background:#1d9ab01a;border-color:#1d9ab04d}body.theme-dark .inventory-bulk-edit button.danger-button{color:#e08080!important;border-color:#dc646433!important}body.theme-dark .inventory-bulk-edit button.danger-button:hover:not(:disabled){background:#dc646414!important;border-color:#dc646459!important}body.theme-dark .inventory-sort-btn:hover,body.theme-dark .inventory-sort-btn.active{color:#5bc8da}body.theme-dark .details-heading:after{background:#ffffff12}body.theme-dark .details-heading h3{color:var(--nm-text)}body.theme-dark .details-panel dt{color:var(--nm-text-faint)}body.theme-dark .details-panel dd{color:#c0d0de}body.theme-dark .topology-toolbar-right label{color:var(--nm-text-faint)}body.theme-dark .topology-toolbar-right button{color:#5bc8da;background:#1d9ab012;border-color:#1d9ab02e}body.theme-dark .topology-toolbar-right button:hover:not(:disabled){background:#1d9ab024;border-color:#1d9ab04d}body.theme-dark .security-row-group:hover{border-left-color:#1d9ab040}body.theme-dark .inventory-row.active{background:var(--nm-bg-elevated);border-left-color:#1d9ab0}body.theme-dark .inventory-row:hover{background:var(--nm-row-hover);border-left-color:#1d9ab059;box-shadow:inset 3px 0 #3ab8ca47}body.theme-dark .saved-layout-row.active{background:var(--nm-border)}body.theme-dark .vlan-toolbar{border-bottom-color:#32506480}body.theme-dark .vlan-search-input{background:var(--nm-border);color:var(--nm-text);border-color:#648ca04d}body.theme-dark .vlan-search-input:focus{border-color:#1d9ab0}body.theme-dark .vlan-table-header{background:var(--nm-bg-elevated);color:#4e6a7a;border-bottom-color:#32506480}body.theme-dark .vlan-row{color:var(--nm-text);border-bottom-color:#1e3241cc}body.theme-dark .vlan-row--selected{background:var(--nm-bg-elevated);border-left-color:#1d9ab0}body.theme-dark .vlan-name-primary{color:#c9d9e6}body.theme-dark .vlan-name-sub{color:var(--nm-text-muted)}body.theme-dark .vlan-mono-cell{color:#7aacbe}body.theme-dark .vlan-usable-count{color:#3a5262}body.theme-dark .vlan-id-badge{color:#a090e8;background:#6450c81f;border-color:#6450c838}body.theme-dark .vlan-ip-pill{color:#4db8cc;background:#1d9ab01f;border-color:#1d9ab038}body.theme-dark .vlan-device-badge{color:#4db8cc;background:#1d647233}body.theme-dark .vlan-empty-cell{color:#3a5262}body.theme-dark .vlan-inferred-badge{background:var(--nm-border);color:#4e6a7a}body.theme-dark .vlan-form-heading h3{color:#c9d9e6}body.theme-dark .vlan-form-close{color:#8ab4cc;background:#5a7a952e}body.theme-dark .vlan-form-close:hover{color:#c8dff0;background:#5a7a954d}body.theme-dark .vlan-action-btn{color:#4db8cc;background:#4db8cc12;border-color:#4db8cc40}body.theme-dark .vlan-action-btn:hover:not(:disabled){background:#1d9ab01f;border-color:#4db8cc66}body.theme-dark .vlan-action-btn--danger{color:#e08888;border-color:#e0888833}body.theme-dark .vlan-action-btn--danger:hover:not(:disabled){background:#b432321f;border-color:#e0888866}body.theme-dark .location-address-cell{color:var(--nm-text-muted)}body.theme-dark .location-row--unassigned{border-left-color:#5a788c40!important}body.theme-dark .loc-item{border-bottom-color:#2d415599}body.theme-dark .loc-item:hover{background:#1d9ab012}body.theme-dark .loc-item--selected{background:#1d9ab01f}body.theme-dark .loc-item-name{color:#d8eaf5}body.theme-dark .loc-item-sub{color:var(--nm-text-faint)}body.theme-dark .loc-item-addr{color:#8ab4c8}body.theme-dark .loc-item-badge{color:#4db8cc;background:#1d9ab026}body.theme-dark .loc-item-badge--zero{color:var(--nm-text-faint);background:#5a788c1f}body.theme-dark .loc-item-swatch{background:var(--nm-border-strong)}body.theme-dark .loc-card{background:var(--nm-surface);border-color:#2d4155b3}body.theme-dark .loc-card:hover{box-shadow:0 4px 18px #00000040,0 1px 6px #00000026}body.theme-dark .loc-card--selected{border-color:var(--nm-accent);box-shadow:0 0 0 2px #1d9ab040}body.theme-dark .loc-card-name{color:#d8eaf5}body.theme-dark .loc-card-sub{color:var(--nm-text-faint)}body.theme-dark .loc-card-addr{color:#8ab4c8}body.theme-dark .loc-card-footer{border-top-color:#2d415599}body.theme-dark .workspace-header p,body.theme-dark .auth-card p,body.theme-dark .panel p,body.theme-dark .tool-note,body.theme-dark .security-empty,body.theme-dark .empty-graph{color:#9db0bf}body.theme-dark .tool-form label{color:#c8dae8}body.theme-dark .tool-form input,body.theme-dark .tool-form select{background:var(--nm-surface-soft);border-color:var(--nm-border-strong);color:var(--nm-text)}body.theme-dark .tool-form input:focus,body.theme-dark .tool-form select:focus{background:var(--nm-surface);border-color:#1d9ab0;outline:none}body.theme-dark .tool-output,body.theme-dark .raw-log{color:#c8dae8;background:var(--nm-bg-elevated);border-color:var(--nm-border)}body.theme-dark .tool-badge{color:#5bc8da;background:#1d9ab01f}body.theme-dark .tool-badge.active{color:#4fbc80;background:#2d9d781f}body.theme-dark .tool-badge.locked{color:#e07070;background:#b43c3c1f}body.theme-dark .tool-target-strip{background:var(--nm-shell);border-color:var(--nm-border)}body.theme-dark .tool-target-strip span,body.theme-dark .tool-target-strip strong{color:#c8dae8}body.theme-dark .tool-target-strip button{background:var(--nm-surface);color:#8ab4cc;border-color:#243040}body.theme-dark .tool-result-meta{color:#7aa8c0}body.theme-dark .security-toolbar h2,body.theme-dark .security-toolbar p{color:#c8dae8}body.theme-dark .security-toolbar p{color:#7a9ab8}body.theme-dark .tool-card h3,body.theme-dark .admin-panel h2,body.theme-dark .admin-panel h3,body.theme-dark .admin-section-title{color:#c8dae8}body.theme-dark .admin-section-title svg{color:#5bc8da;background:#5bc8da1a}body.theme-dark .admin-panel-header{border-bottom-color:#ffffff12}body.theme-dark .panel h2,body.theme-dark .export-section-title,body.theme-dark .exports-layout h2,body.theme-dark .exports-layout h3{color:#c8dae8}body.theme-dark .overview-title{color:var(--nm-text)}body.theme-dark .overview-subtitle{color:#6a8fa8}body.theme-dark .overview-nav-card:hover{border-color:var(--nm-accent);background:var(--nm-shell);transform:translateY(-2px);box-shadow:0 4px 18px #0000004d,0 2px 8px #1d9ab01a}body.theme-dark .overview-nav-label{color:#c9d9e6}body.theme-dark .overview-nav-desc{color:#6a8fa8}body.theme-dark .metric strong{color:var(--nm-text)}body.theme-dark .admin-system-stat{background:linear-gradient(135deg, rgba(var(--admin-stat-accent), .12), #131e2800 44%), var(--nm-surface);border-color:rgba(var(--admin-stat-accent), .22)}body.theme-dark .admin-system-stat strong{color:var(--nm-text)}body.theme-dark .admin-system-stat span{color:#5f7c91}body.theme-dark .admin-system-stat-icon{color:rgb(var(--admin-stat-accent));background:rgba(var(--admin-stat-accent), .15)}body.theme-dark .admin-system-stat:hover{box-shadow:0 2px 10px #0000004d, 0 8px 24px #0003, 0 0 0 1px rgba(var(--admin-stat-accent), .35), 0 4px 22px rgba(var(--admin-stat-accent), .2)}body.theme-dark .dash-title{color:var(--nm-text)}body.theme-dark .dash-subtitle{color:#5a7a8e}body.theme-dark .dash-role-badge{color:#4db8cc;background:#1d9ab026;border-color:#1d9ab040}body.theme-dark .dash-header-meta{color:#3a5262}body.theme-dark .dash-stat{background:var(--nm-surface);border-color:#28465a8c;box-shadow:0 1px 4px #0003,0 4px 14px #00000026}body.theme-dark.route-overview .dash-stat{background:linear-gradient(135deg, #22c0cf13, #131e2800 42%), var(--nm-surface)}body.theme-dark .dash-stat:hover{box-shadow:0 2px 10px #0000004d,0 8px 24px #0003}body.theme-dark .dash-stat--teal:hover{box-shadow:0 2px 10px #0000004d,0 8px 24px #0003,0 0 0 1px #1d9ab059,0 4px 22px #1d9ab038}body.theme-dark .dash-stat--green:hover{box-shadow:0 2px 10px #0000004d,0 8px 24px #0003,0 0 0 1px #2dba7c59,0 4px 22px #2dba7c38}body.theme-dark .dash-stat--red:hover{box-shadow:0 2px 10px #0000004d,0 8px 24px #0003,0 0 0 1px #e0505059,0 4px 22px #e0505038}body.theme-dark .dash-stat--purple:hover{box-shadow:0 2px 10px #0000004d,0 8px 24px #0003,0 0 0 1px #7c5cbf59,0 4px 22px #7c5cbf38}body.theme-dark .dash-stat--blue:hover{box-shadow:0 2px 10px #0000004d,0 8px 24px #0003,0 0 0 1px #3b80d059,0 4px 22px #3b80d038}body.theme-dark .dash-stat--indigo:hover{box-shadow:0 2px 10px #0000004d,0 8px 24px #0003,0 0 0 1px #5060c059,0 4px 22px #5060c038}body.theme-dark .dash-stat-value{color:#d7e8f2}body.theme-dark .dash-stat-label{color:var(--nm-text-muted)}body.theme-dark .dash-stat-sub{color:#334e5e}body.theme-dark .dash-stat-icon{color:#4db8cc;background:#1d9ab021}body.theme-dark .dash-stat--green .dash-stat-icon{color:#2dba7c;background:#2dba7c1f}body.theme-dark .dash-stat--red .dash-stat-icon{color:var(--nm-danger);background:#e050501f}body.theme-dark .dash-stat--purple .dash-stat-icon{color:#a080e8;background:#7c5cbf1f}body.theme-dark .dash-stat--blue .dash-stat-icon{color:#60a0e0;background:#3b80d01f}body.theme-dark .dash-stat--indigo .dash-stat-icon{color:#8090d8;background:#5060c01f}body.theme-dark .dash-alert{color:#e08080;background:#e050501a;border-color:#e0505038}body.theme-dark .dash-alert-link{color:#e08080}body.theme-dark .dash-alert--changes{color:#d4a055;background:#d28c281a;border-color:#d28c2840}body.theme-dark .dash-alert--changes .dash-alert-link{color:#d4a055}body.theme-dark .dash-alert--changes .dash-alert-tag{color:#c4903a;background:#d28c281f;border-color:#d28c2838}body.theme-dark .dash-alert--changes .dash-alert-dismiss{color:#c49040}body.theme-dark .dash-alert-dot--amber{background:#c4902a}body.theme-dark .dash-alert-dot--purple{background:#a78bfa}body.theme-dark .error-banner,body.theme-dark .form-error{color:#e08080;background:#e050501a;border-color:#e0505038}body.theme-dark .error-banner:before,body.theme-dark .form-error:before{background:#e07070}body.theme-dark .dash-panel{background:var(--nm-surface);border-color:#28465a99}body.theme-dark.route-overview .dash-panel{background:linear-gradient(135deg, #22c0cf0e, #131e2800 34%), var(--nm-surface)}body.theme-dark .dash-panel-header{border-bottom-color:#28465a99}body.theme-dark .dash-panel-title{color:#c9d9e6}body.theme-dark .dash-panel-meta{color:#3a5262}body.theme-dark .dash-panel-link{color:#4db8cc}body.theme-dark .dash-panel-link:hover{color:#7ad4e8}body.theme-dark .dash-panel-divider{background:#28465a99}body.theme-dark .dash-panel-sub-title,body.theme-dark .dash-empty{color:#3a5262}body.theme-dark .overview-fav-search{color:#7897ad;background:#172839;border-color:#4a6980b8}body.theme-dark .overview-fav-search input{color:#c9d9e6;background:0 0;border-color:#0000}body.theme-dark .overview-fav-search input::placeholder{color:#6f8fa6}body.theme-dark .dash-health-label{color:#5a7a8e}body.theme-dark .dash-health-track{background:#28465a80}body.theme-dark .dash-health-count{color:#5a7a8e}body.theme-dark .dash-device-row{border-bottom-color:#1e3241b3}body.theme-dark .dash-device-name{color:#c9d9e6}body.theme-dark .dash-device-meta,body.theme-dark .dash-device-group{color:#3a5262}body.theme-dark .dash-dim{color:#1e3040}body.theme-dark .dash-status-pill--online{color:#3dd690;background:#2dba7c38}body.theme-dark .dash-status-pill--offline{color:#f06060;background:#e0505038}body.theme-dark .dash-status-pill--warning{color:#e09040;background:#e0903038}body.theme-dark .dash-status-pill--unknown{color:#6a8a9a;background:#3c5a6e59}body.theme-dark .dash-breakdown-label{color:#7a96a8}body.theme-dark .dash-mini-track{background:#28465a80}body.theme-dark .dash-breakdown-count{color:#5a7a8e}body.theme-dark .dash-tag{color:#7a96a8;background:#1d9ab014;border-color:#1d9ab033}body.theme-dark .dash-tag-count{color:#4db8cc}body.theme-dark .dash-nav-btn:hover{background:var(--nm-shell-raised)}body.theme-dark .dash-nav-btn-icon{color:#4db8cc;background:#1d9ab01a}body.theme-dark .dash-nav-btn-label{color:#c9d9e6}body.theme-dark .dash-nav-btn-desc{color:#3a5262}body.theme-dark .dash-nav-btn-arrow{color:#1e3040}body.theme-dark .dash-nav-btn:hover .dash-nav-btn-arrow{color:#4db8cc}body.theme-dark .dtype-type-label{color:#c9d9e6}body.theme-dark .dtype-icon-current{background:var(--nm-surface-soft);color:var(--nm-text);border-color:#324454}body.theme-dark .dtype-icon-current:hover{border-color:var(--nm-accent-strong);background:#0e1e28}body.theme-dark .dtype-icon-dropdown{background:#17222b;border-color:#283643;box-shadow:0 4px 20px #00000073}body.theme-dark .dtype-icon-option{color:#9db0bf}body.theme-dark .dtype-icon-option:hover{background:#1b2e3a;border-color:#41586d}body.theme-dark .dtype-icon-option.selected{border-color:var(--nm-accent-strong);color:#5abfcc;background:#0d2028}body.theme-dark .icon-picker-modal{background:#17222b}body.theme-dark .icon-picker-header{border-color:#243040}body.theme-dark .icon-picker-title{color:var(--nm-text)}body.theme-dark .icon-picker-close{color:#8ab4cc;background:#5a7a952e}body.theme-dark .icon-picker-close:hover{color:#c8dff0;background:#5a7a954d}body.theme-dark .icon-picker-search-row{border-color:#1f2f3c}body.theme-dark .icon-picker-search{background:var(--nm-surface-soft);color:var(--nm-text);border-color:#324454}body.theme-dark .icon-picker-search:focus{border-color:var(--nm-accent);background:#0e1e28}body.theme-dark .icon-picker-item{color:#7a9fb8}body.theme-dark .icon-picker-item:hover{color:var(--nm-text);background:#1b2e3a;border-color:#41586d}body.theme-dark .icon-picker-item.selected{border-color:var(--nm-accent-strong);color:#5abfcc;background:#0d2028}body.theme-dark .icon-picker-empty{color:#4a6070}body.theme-dark .icon-picker-tabs{border-color:#1f2f3c}body.theme-dark .icon-picker-tab{color:#4a6070}body.theme-dark .icon-picker-tab:hover{color:var(--nm-text)}body.theme-dark .icon-picker-tab.active{color:#4db8cc;border-bottom-color:var(--nm-accent)}body.theme-dark .icon-mgr-modal{background:#17222b}body.theme-dark .icon-mgr-header{border-color:#243040}body.theme-dark .icon-mgr-title{color:var(--nm-text)}body.theme-dark .icon-mgr-tabs{border-color:#243040}body.theme-dark .icon-mgr-tab{color:#4a6070}body.theme-dark .icon-mgr-tab:hover{color:var(--nm-text)}body.theme-dark .icon-mgr-tab.active{color:#4db8cc;border-bottom-color:var(--nm-accent)}body.theme-dark .icon-mgr-banner--error{background:#2a1212}body.theme-dark .icon-mgr-banner--success{background:#0a2018}body.theme-dark .icon-mgr-pack-row{border-color:#1a2633}body.theme-dark .icon-mgr-pack-row.active{background:var(--nm-shell)}body.theme-dark .icon-mgr-pack-name{color:var(--nm-text)}body.theme-dark .icon-mgr-badge{color:#4db8cc;background:#0d2028}body.theme-dark .icon-mgr-badge--local{color:#8090d8;background:#1a1a2e}body.theme-dark .icon-mgr-pack-count{color:#4a6070}body.theme-dark .icon-mgr-preview-item{background:#1a2633}body.theme-dark .icon-mgr-preview-more{color:#4a6070}body.theme-dark .icon-mgr-btn{background:var(--nm-shell);border-color:var(--nm-accent-strong);color:#4db8cc}body.theme-dark .icon-mgr-btn:hover{border-color:var(--nm-accent);background:#0d3040}body.theme-dark .icon-mgr-btn--danger{color:#e07070;background:#2a1212;border-color:#6a2020}body.theme-dark .icon-mgr-btn--danger:hover{background:#3a1515;border-color:#b44444}body.theme-dark .icon-mgr-import-section{border-color:#1a2633}body.theme-dark .icon-mgr-section-title{color:var(--nm-text)}body.theme-dark .icon-mgr-section-desc{color:#4a6070}body.theme-dark .icon-mgr-form label{color:#7a9fb8}body.theme-dark .icon-mgr-form input:not([type=file]){background:var(--nm-surface-soft);color:var(--nm-text);border-color:#324454}body.theme-dark .icon-mgr-form input:not([type=file]):focus{border-color:var(--nm-accent);background:#0e1e28}body.theme-dark .icon-mgr-device-types-actions{border-color:#1a2633}body.theme-dark .system-icon-manage-btn{background:var(--nm-shell);border-color:var(--nm-accent-strong);color:#4db8cc}body.theme-dark .system-icon-manage-btn:hover{border-color:var(--nm-accent);background:#0d3040}body.theme-dark .icon-picker-trigger-btn{background:var(--nm-surface-soft);border-color:#324454}body.theme-dark .icon-picker-trigger-btn:hover{border-color:var(--nm-accent);background:#0e1e28}body.theme-dark .icon-picker-trigger-name{color:var(--nm-text)}body.theme-dark .icon-picker-trigger-hint,body.theme-dark .icon-picker-trigger-chevron{color:#4a6070}body.theme-dark input,body.theme-dark select,body.theme-dark textarea,body.theme-dark .quick-filters button,body.theme-dark .security-search-btn,body.theme-dark .clear-filters,body.theme-dark .security-pagination button,body.theme-dark .layout-dropdown button,body.theme-dark .overlay-controls button{border-color:var(--nm-border-strong);color:var(--nm-text);background:var(--nm-surface-soft)}body.theme-dark .security-search-btn{color:var(--nm-accent-strong);background:#22c0cf1a;border-color:#22c0cf52}body.theme-dark .quick-filter-block{color:#f06060!important;background:#e050501a!important;border-color:#e050504d!important}body.theme-dark .quick-filter-pass{color:#3dd690!important;background:#2dba7c1a!important;border-color:#2dba7c4d!important}body.theme-dark .action-pill.block,body.theme-dark .action-pill.deny,body.theme-dark .action-pill.drop{color:#f06060;background:#e0505038}body.theme-dark .action-pill.pass,body.theme-dark .action-pill.allow,body.theme-dark .action-pill.accept{color:#3dd690;background:#2dba7c38}body.theme-dark .action-pill.unknown{color:#6a8a9a;background:#3c5a6e59}body.theme-dark .topology-control-group{border-color:var(--nm-border-strong);background:var(--nm-surface-soft)}body.theme-dark .topology-section h4{color:#9db0bf}body.theme-dark .topology-stats-chip{border-color:var(--nm-border-strong);color:#a8bac8;background:#111a22eb}body.theme-dark .topo-stat-btn{border-color:var(--nm-border-strong);color:var(--nm-text-muted);background:#121c26f2;box-shadow:0 1px 3px #00000040}body.theme-dark .topo-stat-btn:hover{background:var(--nm-bg-elevated);border-color:#1d9ab066}body.theme-dark .topo-stat-btn--active{background:#0e2535;border-color:#1d9ab080}body.theme-dark .topo-stat-count{color:var(--nm-text)}body.theme-dark .topo-stat-label{color:var(--nm-text-faint)}body.theme-dark .topo-stat-btn--devices .topo-stat-icon{color:#3fbdd0;background:#1d9ab026}body.theme-dark .topo-stat-btn--relationships .topo-stat-icon{color:#7888d8;background:#5060c026}body.theme-dark .topo-stat-btn--groups .topo-stat-icon{color:#9870d8;background:#7c5cbf26}body.theme-dark .topo-entity-list{background:var(--nm-bg-elevated);border-color:var(--nm-border-strong);box-shadow:0 4px 24px #0006}body.theme-dark .topo-entity-search-wrap{background:var(--nm-bg-elevated);border-bottom-color:#2a3d5080}body.theme-dark .topo-entity-search-icon{color:#3a6080}body.theme-dark .topo-entity-search{background:var(--nm-bg-elevated);color:#c8dae8}body.theme-dark .topo-entity-search::placeholder,body.theme-dark .topo-entity-search-clear{color:#3a6080}body.theme-dark .topo-entity-search-clear:hover,body.theme-dark .topo-entity-row{color:#c8dae8}body.theme-dark .topo-entity-row:hover{box-shadow:0 0 0 1.5px #1d9ab047,0 2px 8px #0003}body.theme-dark .topo-entity-row--group:hover{background:#7c5cbf12;box-shadow:0 0 0 1.5px #7c5cbf38}body.theme-dark .topo-entity-row--active{background:#0e2535}body.theme-dark .topo-entity-meta{color:#4a7090}body.theme-dark .topo-entity-arrow{color:#3a6080}body.theme-dark .topo-entity-tag{color:#7888d8;background:#5060c026}body.theme-dark .topo-entity-group-dot{background:#7c5cbf99}body.theme-dark .topo-entity-empty{color:#3a6070}body.theme-dark .overlay-controls label:not(.inline-toggle){color:#a8bac8}body.theme-dark .overlay-controls label:not(.inline-toggle) select{border-color:var(--nm-border-strong);color:var(--nm-text);background:var(--nm-surface-soft)}body.theme-dark .topology-toolbar:not(.topology-toolbar--ribbon){background:var(--nm-surface);border-bottom-color:var(--nm-border)}body.theme-dark .topology-toolbar--ribbon{border-bottom-color:var(--nm-border);box-shadow:none;background:#07181ff0}body.theme-dark .topology-toolbar--ribbon:before{background:#2d46588c}body.theme-dark .toolbar-btn{background:var(--nm-border);border-color:var(--nm-border-strong);color:#c8dae8}body.theme-dark .toolbar-btn:hover:not(:disabled){background:var(--nm-border);color:var(--nm-shell-text);border-color:#41586d}body.theme-dark .toolbar-save-status{color:#75d4e4}body.theme-dark .toolbar-select{background:var(--nm-surface-soft);border-color:var(--nm-border-strong);color:var(--nm-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.theme-dark .toolbar-select option{background:var(--nm-surface-soft);color:var(--nm-text)}body.theme-dark .toolbar-label{color:var(--nm-text-faint)}body.theme-dark .admin-tabs{background:#ffffff0a}body.theme-dark .admin-tab-btn{color:var(--nm-text-faint)}body.theme-dark .admin-tab-btn:hover{color:var(--nm-text-muted);background:#1d9ab014}body.theme-dark .admin-tab-btn.active{color:#c8dae8;background:#1d9ab029;box-shadow:0 1px 4px #00000040,inset 0 0 0 1px #1d9ab038}body.theme-dark .topology-toolbar p,body.theme-dark .topology-toolbar-right label,body.theme-dark .toolbar-label,body.theme-dark .topology-toolbar-right select,body.theme-dark .topology-toolbar-right button{border-color:var(--nm-border-strong);color:var(--nm-text);background:var(--nm-surface-soft)}body.theme-dark .topology-toolbar-right button:hover{background:var(--nm-border);border-color:#41586d}@media (width<=760px){:root{--nm-topbar-height:56px}.app-shell{grid-template-columns:1fr}.app-main{min-height:calc(100dvh - 52px)}.sidebar{border-bottom:1px solid #0003;border-right:none;flex-direction:row;align-items:center;gap:0;height:auto;min-height:52px;padding:0 10px;overflow-y:visible}.brand{flex-shrink:0;min-height:auto;margin-right:2px;padding:2px 10px 2px 4px;font-size:15px}.sidebar nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-flow:row;flex:1;gap:0;min-width:0;margin-top:0;display:flex;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar-section-label,.sidebar-section-rule{display:none}.sidebar-link{border-bottom:2px solid #0000;border-left:none;border-radius:8px;flex-shrink:0;justify-content:center;width:40px;min-height:40px;padding:8px;font-size:0}.sidebar-link.active{border-left-color:var(--nm-accent);color:#5bc8da;background:linear-gradient(90deg,#1d9ab047 0%,#1d9ab00f 65%,#0000 100%);border-bottom-color:#0000;padding-left:8px}.sidebar-footer-actions{flex-direction:row;flex-shrink:0;align-items:center;gap:4px;width:auto;margin-top:0;display:flex}.sidebar-theme-toggle,.sidebar-logout,.sidebar-collapse-btn--footer{border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;width:34px;min-height:34px;margin-top:0;padding:6px;font-size:0}.sidebar-logout{margin-top:0;margin-left:4px}.app-topbar{min-height:var(--nm-topbar-height);padding:0 16px}.app-topbar-icon{width:38px;height:38px}.app-topbar-copy strong{font-size:20px}.app-topbar-status,.app-topbar-greeting{display:none}.app-topbar-copy small{max-width:52vw}.workspace{padding:20px 16px}.workspace h1{font-size:24px}.workspace-header{flex-direction:column;align-items:flex-start}.admin-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab-btn{white-space:nowrap}.metrics-grid,.admin-system-stats{grid-template-columns:repeat(2,1fr)}.overview-nav-grid{grid-template-columns:1fr}.dash-stats{grid-template-columns:repeat(3,1fr)}.dash-grid-3,.dash-grid-2{grid-template-columns:1fr}.topology-toolbar,.security-toolbar,.topology-content,.tools-content,.security-content{flex-direction:column}.topology-toolbar-right{grid-template-columns:1fr}#topology.topology-layout{height:calc(100dvh - 52px - var(--nm-topbar-height) - 96px);min-height:0}body.route-topology #topology.topology-layout{height:100%}body.route-topology .app-main,body.route-security .app-main{height:calc(100dvh - 52px)}body.route-topology .workspace,body.route-security .workspace{height:calc(100dvh - 52px - var(--nm-topbar-height))}.topology-toolbar-right,.overlay-controls{justify-content:flex-start;align-items:flex-start;width:100%}.security-live-controls{flex-direction:column;align-items:flex-start}.details-panel,.security-filters{flex-basis:auto}.tools-nav{border-bottom:1px solid #d1dce699;border-right:none;flex-flow:wrap;padding:0 0 8px}.tools-main{padding-top:20px;padding-left:0}.tools-grid,.graph-surface{min-width:0}.inventory-surface{min-height:420px}.tools-grid,.tool-form-grid,.tool-result-pairs,.admin-grid{grid-template-columns:1fr}.tools-grid{width:100%}.graph-surface{min-height:420px}.scan-form-grid,.scan-schedule-form,.scan-table-header,.scan-row,.admin-users-header,.admin-users-row,.inventory-table-header,.inventory-row,.device-event-row{grid-template-columns:1fr}.scan-safety,.scan-schedule-header,.scan-schedule-row,.scan-observation-row{flex-direction:column;align-items:stretch}.scan-schedule-actions{justify-content:flex-start}body.theme-dark .sidebar{border-bottom-color:#ffffff14}}@media (width<=480px){:root{--nm-topbar-height:54px}.app-shell{min-height:100dvh;display:block}.app-main{min-height:100dvh}.sidebar{z-index:100;padding:0 4px env(safe-area-inset-bottom);border-top:1px solid #00000047;border-bottom:none;border-right:none;flex-flow:row;align-items:center;gap:0;height:56px;min-height:56px;position:fixed;bottom:0;left:0;right:0}.brand{display:none}.sidebar nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-flow:row;flex:1;justify-content:space-around;gap:0;min-width:0;margin-top:0;display:flex;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar-section-label,.sidebar-section-rule{display:none}.sidebar-link{border-top:2px solid #0000;border-bottom:none;border-left:none;border-radius:0;flex:1;justify-content:center;width:auto;min-width:0;min-height:48px;padding:4px 6px;font-size:0}.sidebar-link.active{border-left-color:var(--nm-accent);color:#5bc8da;background:linear-gradient(90deg,#1d9ab03d 0%,#1d9ab00f 65%,#0000 100%);border-top-color:#0000;border-bottom-color:#0000;padding-left:6px}.sidebar-theme-toggle,.sidebar-logout,.sidebar-collapse-btn--footer{border:none;border-top:2px solid #0000;border-radius:0;flex-shrink:0;justify-content:center;width:44px;min-height:48px;margin-top:0;padding:4px;font-size:0}.sidebar-logout{margin-top:0;margin-left:0}.sidebar-footer-actions{flex-direction:row;flex-shrink:0;align-items:center;gap:0;width:auto;margin-top:0;display:flex}.app-topbar{min-height:var(--nm-topbar-height);padding:0 12px}.app-topbar-icon{width:30px;height:30px}.app-topbar-copy strong{font-size:18px}.app-topbar-user{max-width:150px;padding:5px 8px}.app-topbar-user em,.app-topbar-greeting,.app-topbar-copy small{display:none}.workspace{box-sizing:border-box;min-height:100dvh;padding:16px 12px 72px}body.route-topology .app-shell{height:100dvh;overflow:hidden}body.route-topology .app-main,body.route-security .app-main{height:100dvh}body.route-topology .workspace{height:calc(100dvh - var(--nm-topbar-height));padding:10px 10px 56px;overflow:hidden}body.route-security .workspace{height:calc(100dvh - var(--nm-topbar-height));padding:16px 12px 72px}#topology.topology-layout{height:calc(100dvh - var(--nm-topbar-height) - 56px - 104px);min-height:0}body.route-topology #topology.topology-layout{height:100%}.workspace h1{font-size:20px}.dash-stats,.metrics-grid,.admin-system-stats{grid-template-columns:repeat(2,1fr)}.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal--wide{border-radius:18px 18px 0 0;width:100%;max-width:100%;max-height:92dvh}.device-form-body{grid-template-columns:1fr}.device-form-col+.device-form-col{border-top:1px solid #d1dce64d;border-left:none}.icon-picker-backdrop,.icon-mgr-backdrop{align-items:flex-end}.icon-picker-modal{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:88dvh}.icon-mgr-modal{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:92dvh}.workspace-header{gap:10px}.admin-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab-btn{white-space:nowrap;padding:6px 12px;font-size:13px}.icon-mgr-pack-row{flex-wrap:wrap;gap:10px}.device-type-icon-grid,.system-tab-grid{grid-template-columns:1fr}body.theme-dark .sidebar{border-top-color:#ffffff1a}}.admin-tabs{background:#17263409;border-bottom:none;border-radius:10px;gap:4px;width:fit-content;margin-bottom:18px;padding:4px;display:flex}.admin-tab-btn{color:#6a8699;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;margin-bottom:0;padding:6px 18px;font-size:13px;font-weight:600;transition:color .15s,background .15s,box-shadow .15s;display:inline-flex}.admin-tab-btn svg{color:currentColor;opacity:.85}.admin-tab-btn:hover{color:#1a4a68;background:#1d647212}.admin-tab-btn.active{color:#0e8796;background:#fff;font-weight:700;box-shadow:0 1px 4px #17202614,0 0 0 1px #0e87961f}.admin-tab-content{padding-top:4px}.admin-search{box-sizing:border-box;border:1px solid #c8d6e0;border-radius:5px;width:100%;margin-bottom:12px;padding:7px 10px;font-size:13px}.admin-col-center{justify-content:center;align-items:center;display:flex}.admin-user-identity{align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.admin-user-avatar-wrap{flex-shrink:0;position:relative}.admin-user-avatar{color:#fff;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:800;transition:filter .15s;display:flex;position:relative;overflow:hidden}.admin-user-avatar:hover{filter:brightness(.88)}.admin-user-avatar:hover .admin-avatar-overlay{opacity:1}.admin-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.admin-avatar-initials{pointer-events:none}.admin-avatar-overlay{opacity:0;color:#fff;background:#0000006b;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.admin-avatar-clear{width:14px;height:14px;color:var(--nm-surface);cursor:pointer;min-height:unset;background:#c53030;border:1.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:900;line-height:1;display:none;position:absolute;top:-3px;right:-3px}.admin-user-avatar-wrap:hover .admin-avatar-clear{display:flex}.admin-user-avatar--superadmin{background:linear-gradient(135deg,#9b2020,#c53030)}.admin-user-avatar--networkadmin{background:linear-gradient(135deg, var(--nm-accent-strong), #1d8c9e)}.admin-user-avatar--securityanalyst{background:linear-gradient(135deg,#7a5200,#b07800)}.admin-user-avatar--viewer{background:linear-gradient(135deg,#4a6278,#6688a0)}.admin-user-info{flex-direction:column;gap:3px;min-width:0;display:flex;overflow:hidden}.admin-user-name{text-overflow:ellipsis;white-space:nowrap;color:#1a2e3d;font-size:13px;font-weight:700;overflow:hidden}.admin-suspended-badge{color:#9b1f1f;text-transform:uppercase;letter-spacing:.04em;background:#fce8e8;border-radius:8px;align-self:flex-start;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.admin-email-display{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:4px;min-width:0;max-width:100%;padding:0;display:inline-flex}.admin-email-display:hover .admin-email-pencil{opacity:1}.admin-user-email{color:#5a7d94;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.admin-email-placeholder{color:#9ab0bc;font-size:11px;font-style:italic}.admin-email-pencil{opacity:0;color:#9ab0bc;flex-shrink:0;transition:opacity .12s}.admin-email-edit-row{align-items:center;gap:3px;min-width:0;display:flex}.admin-email-input{border:1px solid var(--nm-accent);min-width:0;min-height:unset;color:#1a2e3d;background:#fff;border-radius:4px;outline:none;flex:1;height:22px;padding:2px 6px;font-size:11px}.admin-email-btn{background:var(--nm-bg-elevated);cursor:pointer;color:#4a6a7a;width:20px;height:20px;min-height:unset;border:1px solid #c8d6e0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.admin-email-btn--save{color:#1a6e3a;background:#e8f7ef;border-color:#a8dfbf}.admin-role-select{cursor:pointer;border:1.5px solid;border-radius:12px;width:100%;padding:4px 8px;font-size:11px;font-weight:700;line-height:1.3}.admin-role-select:disabled{opacity:.7;cursor:not-allowed}.admin-role-select--superadmin{background:var(--nm-surface);color:#7a1f1f;border-color:#e8b0b0}.admin-role-select--networkadmin{background:var(--nm-surface-soft);color:#155060;border-color:#8ec5cf}.admin-role-select--securityanalyst{color:#5a4200;background:#fdfbee;border-color:#d4c070}.admin-role-select--viewer{background:var(--nm-bg-elevated);color:#3a5468;border-color:#b0c4d4}.admin-status-toggle{cursor:pointer;align-items:center;display:flex}.admin-status-toggle input[type=checkbox]{display:none}.admin-status-pill{white-space:nowrap;border:1px solid;border-radius:12px;padding:4px 12px;font-size:11px;font-weight:700;transition:background .12s}.admin-status-pill.active{color:#1a6e3a;background:#e4f5ec;border-color:#a8dfbf}.admin-status-pill.suspended{color:#9b1f1f;background:#fce8e8;border-color:#e8b0b0}.admin-row-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;display:flex}.admin-panel-actions{flex-wrap:wrap;gap:6px;display:flex}.alert-status-pill{color:#6a7a84;background:#8282821a;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.alert-status-pill--active{color:#1d7a5a;background:#2d9d781a}.alert-test-results{flex-direction:column;gap:3px;margin-top:6px;display:flex}body.theme-dark .alert-status-pill{color:#7a96a8;background:#82828226}body.theme-dark .alert-status-pill--active{color:#3ab88a;background:#2d9d7826}.admin-reset-form{border-top:1px solid var(--nm-shell-text);margin-top:16px;padding-top:16px}.admin-reset-actions{gap:8px;margin-top:8px;display:flex}.device-type-icon-grid{grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:14px;display:grid}.device-type-icon-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.dtype-type-label{color:#2b3e4e;white-space:nowrap;font-size:13px;font-weight:600}.dtype-icon-picker{position:relative}.dtype-icon-current{cursor:pointer;color:#263b4b;background:#fff;border:1px solid #c8d6e0;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;transition:border-color .12s,background .12s;display:flex}.dtype-icon-current:hover{border-color:var(--nm-accent-strong);background:var(--nm-bg-elevated)}.dtype-icon-current img{flex-shrink:0;display:block}.dtype-icon-current span{white-space:nowrap;font-size:12px}.dtype-icon-dropdown{z-index:300;background:#fff;border:1px solid #c8d6e0;border-radius:8px;flex-wrap:wrap;gap:4px;min-width:220px;max-width:300px;padding:8px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 20px #00000021}.dtype-icon-option{cursor:pointer;color:#3b5060;background:0 0;border:1.5px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:3px;min-width:56px;padding:6px 8px;font-size:10px;transition:background .1s,border-color .1s;display:flex}.dtype-icon-option:hover{background:var(--nm-surface-soft);border-color:#aebfcb}.dtype-icon-option.selected{border-color:var(--nm-accent-strong);color:var(--nm-accent-strong);background:#dff0f3;font-weight:700}.dtype-icon-option img{display:block}.icon-picker-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;background:#0a141e8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.icon-picker-modal{background:#fff;border-radius:12px;flex-direction:column;width:min(620px,95vw);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #0a1e3238}.icon-picker-header{border-bottom:1px solid var(--nm-shell-text);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.icon-picker-title{color:#1d3a50;font-size:15px;font-weight:700}.icon-picker-close{color:#5a7a90;cursor:pointer;min-height:unset;height:auto;box-shadow:none;background:#4e68781a;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:16px;line-height:1;transition:color .13s,background .13s}.icon-picker-close:hover{color:#1a2c38;background:#4e687838}.icon-picker-search-row{border-bottom:1px solid #eef2f6;padding:12px 20px 10px}.icon-picker-search{color:#1d3a50;box-sizing:border-box;background:#f8fbfd;border:1px solid #d0dae3;border-radius:6px;outline:none;width:100%;padding:7px 12px;font-size:13px;transition:border-color .15s}.icon-picker-search:focus{background:var(--nm-surface);border-color:#2196a0}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;padding:14px 16px;display:grid;overflow-y:auto}.icon-picker-item{cursor:pointer;color:#4b6578;text-align:center;background:0 0;border:1.5px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:5px;padding:10px 6px 8px;font-size:11px;line-height:1.25;transition:background .12s,border-color .12s,color .12s;display:flex}.icon-picker-item:hover{color:#1d3a50;background:#eef6f9;border-color:#bcd9e4}.icon-picker-item.selected{color:var(--nm-accent-strong);background:#e0f4f7;border-color:#2196a0;font-weight:600}.icon-picker-empty{color:#8a9baa;text-align:center;grid-column:1/-1;margin:0;padding:24px 0;font-size:13px}.icon-picker-img{object-fit:contain;border-radius:3px;display:block}.icon-picker-tabs{scrollbar-width:none;border-bottom:1px solid #eef2f6;gap:2px;padding:8px 16px 0;display:flex;overflow-x:auto}.icon-picker-tabs::-webkit-scrollbar{display:none}.icon-picker-tab{color:#7a9fb8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;flex-shrink:0;margin-bottom:-1px;padding:5px 12px 6px;font-size:12px;font-weight:600;transition:color .12s,border-color .12s}.icon-picker-tab:hover{color:#1d3a50}.icon-picker-tab.active{color:var(--nm-accent-strong);border-bottom-color:#2196a0}.icon-mgr-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;background:#0a141e8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.icon-mgr-modal{background:#fff;border-radius:12px;flex-direction:column;width:min(700px,96vw);max-height:82vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #0a1e3238}.icon-mgr-header{border-bottom:1px solid var(--nm-shell-text);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.icon-mgr-title{color:#1d3a50;font-size:15px;font-weight:700}.icon-mgr-tabs{border-bottom:1px solid var(--nm-shell-text);scrollbar-width:none;flex-shrink:0;gap:0;padding:0 16px;display:flex;overflow-x:auto}.icon-mgr-tabs::-webkit-scrollbar{display:none}.icon-mgr-tab{color:#7a9fb8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:13px;font-weight:600;transition:color .12s,border-color .12s}.icon-mgr-tab:hover{color:#1d3a50}.icon-mgr-tab.active{color:var(--nm-accent-strong);border-bottom-color:#2196a0}.icon-mgr-banner{flex-shrink:0;padding:8px 20px;font-size:12px;font-weight:600}.icon-mgr-banner--error{color:#b44444;background:#fef2f2}.icon-mgr-banner--success{background:var(--nm-surface);color:#1a6e3a}.icon-mgr-body{flex:1;overflow-y:auto}.icon-mgr-packs-list{flex-direction:column;display:flex}.icon-mgr-pack-row{border-bottom:1px solid #f0f4f8;align-items:center;gap:16px;padding:14px 20px;transition:background .1s;display:flex}.icon-mgr-pack-row:hover{background:var(--nm-row-hover)}.icon-mgr-pack-row.active{background:var(--nm-surface-soft)}.icon-mgr-pack-meta{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.icon-mgr-pack-name-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.icon-mgr-pack-name{color:#1d3a50;font-size:14px;font-weight:600}.icon-mgr-badge{color:var(--nm-accent-strong);letter-spacing:.04em;background:#e0f4f7;border-radius:99px;padding:1px 6px;font-size:10px;font-weight:700}.icon-mgr-badge--local{background:var(--nm-bg);color:#5860c0}.icon-mgr-pack-count{color:var(--nm-text-faint);font-size:11px}.icon-mgr-pack-preview{flex-wrap:wrap;align-items:center;gap:3px;margin-top:2px;display:flex}.icon-mgr-preview-item{background:#f4f8fa;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.icon-mgr-preview-more{color:var(--nm-text-faint);padding-left:2px;font-size:11px}.icon-mgr-pack-actions{flex-direction:column;flex-shrink:0;gap:5px;display:flex}.icon-mgr-btn{color:var(--nm-accent-strong);cursor:pointer;white-space:nowrap;background:#eef7f9;border:1px solid #bcd9e4;border-radius:5px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .12s,border-color .12s}.icon-mgr-btn:hover{background:#d8eef4;border-color:#2196a0}.icon-mgr-btn--danger{background:var(--nm-surface);color:#b44444;border-color:#f0c0c0}.icon-mgr-btn--danger:hover{background:#ffe0e0;border-color:#b44444}.icon-mgr-import-sections{flex-direction:column;display:flex}.icon-mgr-import-section{border-bottom:1px solid #f0f4f8;padding:20px 24px}.icon-mgr-import-section:last-child{border-bottom:none}.icon-mgr-section-header{margin-bottom:12px}.icon-mgr-section-title{color:#1d3a50;margin-bottom:2px;font-size:14px;font-weight:700;display:block}.icon-mgr-section-desc{color:#7a9fb8;font-size:12px;display:block}.icon-mgr-form{flex-direction:column;gap:10px;display:flex}.icon-mgr-form label{color:#5b7c91;flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.icon-mgr-form input[type=file]{font-size:12px}.icon-mgr-form input:not([type=file]){color:#1d3a50;background:var(--nm-surface);border:1px solid #d0dae3;border-radius:5px;outline:none;padding:6px 10px;font-size:13px}.icon-mgr-form input:not([type=file]):focus{background:var(--nm-surface);border-color:#2196a0}.icon-mgr-form button[type=submit]{color:var(--nm-surface);cursor:pointer;background:#2196a0;border:none;border-radius:5px;align-self:flex-start;padding:6px 16px;font-size:13px;font-weight:600;transition:background .12s}.icon-mgr-form button[type=submit]:hover:not(:disabled){background:var(--nm-accent-strong)}.icon-mgr-form button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.icon-mgr-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.icon-mgr-device-types{padding:20px 24px}.icon-mgr-device-types-actions{border-top:1px solid #eef2f6;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.icon-mgr-saved-tick{color:#1a6e3a;font-size:12px;font-weight:700}.system-tab-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.system-tab-col{flex-direction:column;gap:20px;display:flex}.system-icon-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.system-icon-manage-btn{background:var(--nm-surface-soft);color:var(--nm-accent-strong);cursor:pointer;white-space:nowrap;border:1.5px solid #bcd9e4;border-radius:6px;flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s}.system-icon-manage-btn:hover{background:#d8eef4;border-color:#2196a0}@media (width<=760px){.system-tab-grid{grid-template-columns:1fr}}.icon-picker-field{flex-direction:column;gap:5px;display:flex}.icon-picker-field-label{color:#5b7c91;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.icon-picker-trigger-wrap{position:relative}.icon-picker-trigger-btn{cursor:pointer;text-align:left;background:#f8fbfd;border:1.5px solid #d0dae3;border-radius:7px;align-items:center;gap:10px;width:100%;padding:8px 12px;transition:border-color .15s,background .15s;display:flex}.icon-picker-trigger-btn:hover{background:#eef7f9;border-color:#2196a0}.icon-picker-trigger-text{flex-direction:column;flex:1;gap:1px;display:flex}.icon-picker-trigger-name{color:#1d3a50;font-size:13px;font-weight:600}.icon-picker-trigger-hint{color:#8a9baa;font-size:11px}.icon-picker-trigger-chevron{color:var(--nm-text-faint);flex-shrink:0}.audit-log-table{font-size:12.5px}.audit-log-header,.audit-log-row{border-bottom:1px solid #d1dce6b3;grid-template-columns:110px 1fr 90px 1.4fr;align-items:start;gap:12px;padding:10px 14px;display:grid}.audit-log-header{color:#5b7c91;text-transform:uppercase;letter-spacing:.05em;background:#eef3f7;border-bottom:1px solid #d1dce6e6;border-radius:6px 6px 0 0;padding:8px 14px;font-size:11px;font-weight:800}.audit-log-row:hover{background:var(--nm-row-hover)}.audit-time-cell{flex-direction:column;gap:1px;display:flex}.audit-date{color:#263b4b;font-size:12px;font-weight:600}.audit-time{color:#7a96a8;font-family:monospace;font-size:11px}.audit-event-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.audit-category-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid;border-radius:6px;align-self:flex-start;padding:2px 7px;font-size:9.5px;font-weight:800;display:inline-block}.audit-category-badge--auth{background:var(--nm-bg);color:#1d45a0;border-color:#b0c8f4}.audit-category-badge--network,.audit-category-badge--device,.audit-category-badge--topology{background:var(--nm-surface-soft);color:#145060;border-color:#8ec5cf}.audit-category-badge--security{color:#7a4d00;background:#fdf5e4;border-color:#d4b060}.audit-category-badge--system{background:var(--nm-surface-soft);color:#4a6278;border-color:#b8ccda}.audit-action{color:#1a2e3d;word-break:break-word;font-size:12px;font-weight:500}.audit-actor{color:#2a4860;align-self:center;font-size:12.5px;font-weight:600}.audit-context-cell{flex-direction:column;align-self:center;gap:2px;min-width:0;display:flex}.audit-target{color:#1a3048;word-break:break-word;font-size:12px;font-weight:500}.audit-detail{color:#6a8a9e;word-break:break-word;font-size:11px}.audit-empty{color:var(--nm-text-faint);padding:20px 14px}.audit-pagination{color:#5b7c91;justify-content:center;align-items:center;gap:16px;padding:14px 0 0;font-size:13px;display:flex}.audit-pagination button{padding:5px 14px;font-size:13px}.dash-alert--announcement{color:#4a3278;text-align:left;background:#7c5cbf14;border-color:#7c5cbf47;margin:0 0 16px;font-weight:500}body.theme-dark .dash-alert--announcement{color:#c4b0f0;background:#7c5cbf24;border-color:#a78bfa47}body.route-topology .dash-alert--announcement,body.route-inventory .dash-alert--announcement,body.route-security .dash-alert--announcement{margin:12px 18px 8px}body.route-inventory .workspace:has(.dash-alert--announcement) .inventory-stats{margin-top:8px}.topology-toolbar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px 6px;min-height:44px;padding:6px 12px;display:flex;position:relative}.topology-toolbar h2{margin:0}.topology-toolbar p{color:var(--nm-text-muted);margin:4px 0 0}.topology-toolbar:not(.topology-toolbar--ribbon)>div:first-child{gap:2px;display:grid}.topology-toolbar-right{flex-wrap:wrap;align-items:end;gap:10px;margin-left:auto;display:flex}.topology-toolbar-right label{color:var(--nm-text-muted);flex-direction:column;gap:4px;font-size:12px;font-weight:700;display:flex}.topology-toolbar-right select{color:#263b4b;background:#fff;border:1px solid #c8d5dde6;border-radius:8px;min-height:36px;padding:6px 10px;font-size:13px;box-shadow:0 1px 3px #1720260d}.topology-toolbar-right button{min-height:36px;color:var(--nm-accent-strong);cursor:pointer;background:#1d64720f;border:1px solid #1d647238;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:650;transition:background .14s,border-color .14s}.topology-toolbar-right button:hover:not(:disabled){background:#1d64721f;border-color:#1d647259}.topology-toolbar-right button:disabled{opacity:.45;cursor:not-allowed}.topology-toolbar-right .overlay-controls{align-items:end;gap:8px}.topology-toolbar-right .inline-toggle{min-height:36px}.topology-toolbar--ribbon{z-index:40;border-bottom:1px solid var(--nm-border);box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fafbeb;border-radius:0;flex-wrap:nowrap;align-items:stretch;gap:4px;min-height:50px;padding:0 22px;position:relative;overflow:visible}.topology-toolbar--ribbon:before{content:"";pointer-events:none;background:#7896ac47;height:1px;position:absolute;top:0;left:0;right:0}.topology-toolbar--ribbon .toolbar-group{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-height:0;padding:0 10px;display:flex}.topology-toolbar--ribbon .toolbar-group-controls{align-items:center;gap:7px;display:flex}.topology-toolbar--ribbon .nm-btn,.topology-toolbar--ribbon .toolbar-select,.topology-toolbar--ribbon .inv-stat-chip{height:var(--nm-control-md);min-height:var(--nm-control-md);box-sizing:border-box}.topology-toolbar--ribbon .toolbar-select{padding:0 9px;font-size:12px}.topology-toolbar--ribbon .inv-stat-chip{padding:0 12px}.topology-toolbar--ribbon .inv-stat-chip-count{font-size:13px}.topology-toolbar--ribbon .toolbar-group--toggles{flex-wrap:wrap;gap:6px 12px}.toolbar-label{color:#7a96a8;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;text-align:center;width:100%;font-size:9.5px;font-weight:700}.toolbar-select{color:var(--nm-text);background:#f6f9fc;border:1px solid #d1dce6e6;border-radius:7px;max-width:140px;padding:5px 9px;font-size:12px;transition:border-color .15s,background .15s}.toolbar-select option{background:var(--nm-surface);color:var(--nm-text)}.toolbar-select:focus{background:#fff;border-color:#1d9ab080;outline:none}.toolbar-btn{color:#2a4258;cursor:pointer;white-space:nowrap;background:#f6f9fc;border:1px solid #d1dce6e6;border-radius:7px;align-items:center;gap:6px;padding:5px 13px;font-size:12px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.toolbar-btn:hover{color:#1a3a52;background:#1d647212;border-color:#1d64724d}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-btn--sm{padding:5px 10px;font-size:12px}.toolbar-btn--primary{background:linear-gradient(135deg, var(--nm-accent-strong) 0%, #1a8fa0 100%);color:#fff;border-color:#1d9ab080}.toolbar-btn--primary:hover{opacity:.88;border-color:#1d9ab099}.toolbar-save-status{color:var(--nm-accent-strong);white-space:nowrap;font-size:12px;font-weight:700}.toolbar-toggle{color:#6a94ae;cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:12px;transition:color .15s;display:flex}.toolbar-toggle:hover{color:#9abdd4}.toolbar-toggle input[type=checkbox]{cursor:pointer;accent-color:var(--nm-accent)}.toolbar-divider{background:#ffffff2e;flex-shrink:0;align-self:stretch;width:1px;margin:8px 0}.toolbar-dropdown-wrapper{z-index:55;position:relative}.toolbar-btn--active{color:#5bc8da;background:#1d9ab024;border-color:#1d9ab059}.toolbar-btn--active:hover{color:#7dd8e6;background:#1d9ab033;border-color:#1d9ab073}.toolbar-display-panel{background:var(--nm-shell);z-index:100;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:14px;min-width:240px;padding:14px 16px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 40px #0000008c,0 2px 10px #0000004d}.toolbar-display-panel:before{content:"";background:var(--nm-shell);border-top:1px solid #ffffff14;border-left:1px solid #ffffff14;width:8px;height:8px;position:absolute;top:-5px;left:16px;transform:rotate(45deg)}.toolbar-display-panel label{color:#6a90aa;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.toolbar-display-panel label span{color:#3a5a72;align-self:flex-end;font-size:11px;font-weight:700}.toolbar-display-panel select{color:#90b4c8;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;padding:5px 8px;font-size:12px}.toolbar-display-panel input[type=range]{accent-color:var(--nm-accent);width:100%}.toolbar-display-shape{gap:4px;margin-bottom:2px;display:flex}.toolbar-display-shape .nm-btn{flex:1}.toolbar-display-actions{gap:6px;display:flex}.toolbar-display-actions .toolbar-btn{flex:1}.toolbar-btn-badge{color:#5bc8da;letter-spacing:.02em;background:#1d9ab040;border-radius:999px;align-items:center;margin:0 2px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.toolbar-btn--xs{min-height:unset;padding:4px 9px;font-size:11px}.toolbar-groups-panel{background:var(--nm-shell);z-index:100;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:10px;min-width:220px;padding:12px 14px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 40px #0000008c,0 2px 10px #0000004d}.toolbar-groups-panel:before{content:"";background:var(--nm-shell);border-top:1px solid #ffffff14;border-left:1px solid #ffffff14;width:8px;height:8px;position:absolute;top:-5px;left:16px;transform:rotate(45deg)}.toolbar-groups-actions{gap:6px;display:flex}.toolbar-groups-actions .toolbar-btn{flex:1}.toolbar-groups-list{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.toolbar-group-row{cursor:pointer;color:#c8dae8;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12px;transition:background .12s,color .12s;display:flex}.toolbar-group-row:hover{background:#ffffff0f}.toolbar-group-row--hidden{color:#4a6a80}.toolbar-group-row--hidden:hover{color:#6a8aa0;background:#ffffff0a}.toolbar-group-eye{opacity:.7;flex-shrink:0;display:flex}.toolbar-group-row:hover .toolbar-group-eye{opacity:1}.toolbar-group-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.toolbar-group-count{color:#3a6a80;text-align:center;background:#ffffff0f;border-radius:999px;flex-shrink:0;min-width:22px;padding:0 7px;font-size:11px;font-weight:600}.toolbar-groups-empty{color:#4a6a80;text-align:center;margin:0;padding:6px 0;font-size:12px}.topo-entity-row--hidden{opacity:.45}.topo-entity-eye{cursor:pointer;color:#4a6a80;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 4px;transition:color .12s,background .12s;display:flex}.topo-entity-eye:hover{color:#c8dae8;background:#ffffff14}.scan-target-info{flex-wrap:wrap;align-items:center;gap:10px;padding:6px 2px;font-size:13px;display:flex}.scan-target-label{color:#314656;font-weight:700}.scan-target-label.warning{color:#b87c10}.scan-target-help{color:#587183;flex:auto}.scan-confirm-check{color:#b87c10;white-space:nowrap;align-items:center;gap:7px;font-weight:700;display:flex}.scan-confirm-check input[type=checkbox]{width:16px;min-height:16px}.scan-group-row{align-items:flex-end;gap:8px;display:flex}.scan-group-select-label{color:#314656;flex:auto;gap:6px;font-size:14px;font-weight:750;display:grid}.scan-new-group-btn{color:#3b7cc9;cursor:pointer;white-space:nowrap;background:0 0;border:1px dashed #a8bfd0;border-radius:6px;flex:none;height:36px;padding:0 12px;font-size:13px;font-weight:700;transition:background .1s,border-color .1s}.scan-new-group-btn:hover{background:#eaf3fb;border-color:#3b7cc9}.scan-new-group-row{align-items:center;gap:8px;display:flex}.scan-new-group-row input{flex:1}.scan-new-group-row button{white-space:nowrap}.profile-layout{flex-direction:column;gap:24px;max-width:900px;padding:20px 28px 32px;display:flex}.profile-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.profile-panel{flex-direction:column;gap:0;padding:24px;display:flex}.profile-panel h2{color:#1c3040;margin:0 0 18px;font-size:15px;font-weight:800}.profile-form{flex-direction:column;gap:14px;display:flex}.profile-avatar-row{align-items:center;gap:16px;margin-bottom:4px;display:flex}.profile-avatar{background:var(--nm-accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.profile-avatar-initials{color:#fff;letter-spacing:.03em;font-size:22px;font-weight:800}.profile-avatar-img{object-fit:cover;width:100%;height:100%}.profile-avatar-actions{flex-direction:column;gap:6px;display:flex}.profile-avatar-upload-btn{color:#314656;cursor:pointer;text-align:center;background:#f4f8fb;border:1px solid #c8d3dd;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:700;transition:background .1s;display:inline-block}.profile-avatar-upload-btn:hover{background:#e8f1f7;border-color:#aabcc8}.profile-avatar-remove-btn{color:#b03030;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:12px}.profile-avatar-remove-btn:hover{text-decoration:underline}.profile-field-label{color:#314656;gap:6px;font-size:14px;font-weight:750;display:grid}.profile-input{color:#1c3040;background:#fff;border:1px solid #c8d3dd;border-radius:6px;padding:8px 10px;font-size:14px}.profile-input:disabled{color:var(--nm-shell-muted);background:#edf3f7}.profile-form-actions{justify-content:flex-end;margin-top:4px;display:flex}body.theme-dark .modal-form label,body.theme-dark .scan-group-select-label{color:#9db0bf}body.theme-dark .scan-target-label{color:var(--nm-text)}body.theme-dark .scan-target-label.warning{color:#d4a040}body.theme-dark .scan-target-help{color:#6a8fa8}body.theme-dark .scan-confirm-check{color:#d4a040}body.theme-dark .scan-safety,body.theme-dark .scan-progress{border-color:var(--nm-border);background:var(--nm-border)}body.theme-dark .scan-safety span,body.theme-dark .scan-progress span{color:#7a9fb8}body.theme-dark .scan-safety.warning{background:#1e1400;border-color:#5a4020}body.theme-dark .confirm-large-scan{border-color:var(--nm-border-strong);background:var(--nm-surface-soft);color:#d4a040}body.theme-dark .confirm-large-scan:has(input:disabled){background:var(--nm-surface-soft);color:#4a6070}body.theme-dark .scan-new-group-btn{border-color:var(--nm-border-strong);color:#5abfcc}body.theme-dark .scan-new-group-btn:hover{background:var(--nm-surface);border-color:#1d6472}body.theme-dark .scan-summary{color:#9db0bf}body.theme-dark .scan-schedule-panel,body.theme-dark .scan-snmp-panel{border-color:var(--nm-border);background:#111c26b8}body.theme-dark .scan-snmp-intro,body.theme-dark .scan-schedule-header span,body.theme-dark .scan-schedule-row span,body.theme-dark .scan-observation-row span{color:#7a9fb8}body.theme-dark .scan-schedule-form label{color:#b8c8d4}body.theme-dark .scan-schedule-form input:not([type=checkbox]),body.theme-dark .scan-schedule-form select{border-color:var(--nm-border-strong);background:var(--nm-surface-soft);color:var(--nm-text)}body.theme-dark .scan-schedule-row,body.theme-dark .scan-observation-row{border-color:var(--nm-border);background:var(--nm-surface)}body.theme-dark .ipam-btn--danger{color:#e07070!important;background:#b43c3c1a!important;border-color:#b43c3c4d!important}body.theme-dark .scan-table-header{color:#6a8fa8;background:var(--nm-border);border-color:#2b3946}body.theme-dark .empty-results{color:#6a8fa8;border-color:var(--nm-border);background:var(--nm-surface)}body.theme-dark .profile-panel h2{color:var(--nm-text)}body.theme-dark .profile-field-label{color:#9db0bf}body.theme-dark .profile-input{border-color:var(--nm-border-strong);color:var(--nm-text);background:var(--nm-surface-soft)}body.theme-dark .profile-input:disabled{background:var(--nm-surface-soft);color:#4a6070}body.theme-dark .profile-avatar-upload-btn{border-color:var(--nm-border-strong);background:var(--nm-border);color:var(--nm-text)}body.theme-dark .profile-avatar-upload-btn:hover{background:var(--nm-border);border-color:#41586d}body:not(.theme-dark) .topology-toolbar--ribbon{border-top:1px solid #7896ac47;border-bottom-color:var(--nm-border);background:#f8fafbeb}body:not(.theme-dark) .toolbar-label{color:#42617a}body:not(.theme-dark) .toolbar-select{background:var(--nm-shell-text);color:#1e3547;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-color:#7896ac80}body:not(.theme-dark) .toolbar-select option{background:var(--nm-shell-text);color:#1e3547}body:not(.theme-dark) .toolbar-btn{background:var(--nm-shell-text);color:#2a4d65;border-color:#6487a266}body:not(.theme-dark) .toolbar-btn:hover:not(:disabled){background:var(--nm-shell-text);color:#17344d;border-color:#6487a2a6}body:not(.theme-dark) .toolbar-btn--active{color:#1a6070;background:#1d9ab01f;border-color:#1d9ab066}body:not(.theme-dark) .toolbar-btn--active:hover{color:#1a6070;background:#1d9ab02e;border-color:#1d9ab080}body:not(.theme-dark) .toolbar-toggle{color:#3a5c74}body:not(.theme-dark) .toolbar-toggle:hover{color:#17344d}body:not(.theme-dark) .toolbar-divider{background:#6e8ca580}.inv-toolbar-info{flex-direction:column;gap:1px;padding:0 4px;display:flex}.inv-toolbar-count{color:#c2ddf0;letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1}.inv-toolbar-meta{color:#4a7090;white-space:nowrap;font-size:11px}body:not(.theme-dark) .inv-toolbar-count{color:#1a3548}body:not(.theme-dark) .inv-toolbar-meta{color:#5a7a90}.mon-stat-value{font-size:20px}.mon-content{grid-template-columns:1fr;align-items:start;gap:14px;min-height:calc(100vh - 250px);margin-bottom:14px;display:grid}.mon-content>.dash-panel:first-child{flex-direction:column;height:100%;display:flex}.mon-last-poll{color:var(--nm-text-muted);align-items:center;gap:6px;margin:0 0 12px;font-size:12px;font-weight:650;display:inline-flex}body.route-monitoring .dash-alert{max-width:none;margin:2px 0 16px;padding:11px 14px;line-height:1.35}.mon-ports-sidebar{max-height:calc(100vh - 80px);position:sticky;top:48px;overflow-y:auto}.mon-ports-sidebar .mon-port-chips{flex-direction:column;gap:6px}.mon-ports-sidebar .mon-port-chip{justify-content:space-between}.mon-ports-sidebar .mon-port-form{flex-wrap:wrap;gap:6px}.mon-ports-sidebar .mon-port-input,.mon-ports-sidebar .mon-port-input:first-of-type,.mon-ports-sidebar .mon-port-input:last-of-type{box-sizing:border-box;width:100%}.mon-table-body{flex:1;min-height:0;overflow:auto}.mon-table{border-collapse:collapse;width:max(100%,1580px);font-size:13px}.mon-table th{text-align:left;color:#7a96a8;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;z-index:1;background:#f3f7fa;border-bottom:1px solid #d1dce699;padding:9px 14px;font-size:11px;font-weight:700;position:sticky;top:0}.mon-row{cursor:pointer;border-bottom:1px solid #d1dce680;transition:background .1s}.mon-row td{vertical-align:middle;padding:10px 14px;overflow:hidden}.mon-table th:first-child,.mon-row td:first-child,.mon-table th:last-child,.mon-row td:last-child{padding-left:8px;padding-right:8px}.mon-table--fleet th:first-child,.mon-table--fleet .mon-row td:first-child,.mon-table--fleet th:last-child,.mon-table--fleet .mon-row td:last-child{text-align:center}.mon-table th:nth-child(n+3),.mon-row td:nth-child(n+3){text-align:center;padding-left:8px;padding-right:8px}.mon-row:hover{background:var(--nm-row-hover)}.mon-row--active{background:#1d9ab012}.mon-row--active:hover{background:#1d9ab01a}.mon-device-cell{align-items:center;gap:8px;min-width:0;display:flex}.mon-device-meta{flex-direction:column;flex:0 0 120px;min-width:0;display:flex;overflow:hidden}.mon-device-name{color:#1a2e3d;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.mon-device-ip{color:#8aa0b0;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-family:monospace;font-size:11px;overflow:hidden}.mon-device-meta .mon-device-name,.mon-device-meta .mon-device-ip,span.mon-device-name,span.mon-device-ip{display:block}.mon-cell-mono{color:#4a6070;white-space:nowrap;text-align:right;font-family:monospace;font-size:12px}.mon-col-resize-handle{cursor:col-resize;z-index:2;-webkit-user-select:none;user-select:none;border-radius:0 3px 3px 0;width:5px;transition:background .12s;position:absolute;top:0;bottom:0;right:0}.mon-col-resize-handle:hover{background:#1d9ab059}.mon-col-resize-handle:active{background:#1d9ab08c}.mon-dot{--mon-dot-glow:#8a96a366;--mon-dot-halo:#8a96a338;will-change:transform, box-shadow, opacity;border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:2.15s ease-in-out infinite mon-dot-strobe;display:inline-block}.mon-dot-online{background:var(--dash-green);--mon-dot-glow:#2dba7c9e;--mon-dot-halo:#2dba7c57}.mon-dot-offline{background:var(--dash-red);--mon-dot-glow:#e050509e;--mon-dot-halo:#e0505057}.mon-dot-warning{background:var(--dash-amber);--mon-dot-glow:#d99a229e;--mon-dot-halo:#d99a2257}.mon-dot-unknown{background:var(--dash-muted)}.mon-dot-disabled{--mon-dot-glow:#9aabb675;--mon-dot-halo:#9aabb640;background:#c0ccd8}.mon-dot-paused{--mon-dot-glow:#9aabb685;--mon-dot-halo:#9aabb647;background:#9aabb6;animation:none;box-shadow:0 0 0 2px #9aabb63d}@keyframes mon-dot-strobe{0%,to{opacity:1;box-shadow:0 0 0 0 var(--mon-dot-halo), 0 0 9px var(--mon-dot-glow);transform:scale(1)}50%{opacity:.8;box-shadow:0 0 0 6px #0000, 0 0 15px var(--mon-dot-glow);transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.mon-dot{animation:none}}.mon-uptime{white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:600}.mon-uptime-good{color:#1a7a50;background:#2dba7c1f}.mon-uptime-warn{color:#7a5000;background:#e090301f}.mon-uptime-bad{color:#8a2020;background:#e050501f}.mon-port-badges{flex-wrap:wrap;gap:4px;display:flex}.mon-port-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:2px 5px;font-size:10px;font-weight:700}.mon-port-badge--open{color:#1a7a50;background:#2dba7c1f}.mon-port-badge--closed{color:#7a96a8;background:#a0b4c026}.mon-search-wrap{gap:0;width:180px;padding:0}.mon-search{width:100%;font-size:12px}.mon-detail-panel{min-height:300px}.mon-detail-stats{border-bottom:1px solid #d1dce699;grid-template-columns:repeat(3,1fr);display:grid}.mon-detail-stat{flex-direction:column;align-items:center;gap:5px;padding:14px 10px;display:flex}.mon-detail-stat+.mon-detail-stat{border-left:1px solid #d1dce699}.mon-detail-stat-val{color:#1a2e3d;font-size:14px;font-weight:700}.mon-mini-sparkline{width:100%;min-width:0;height:22px;display:block;overflow:visible}.mon-mini-sparkline-line{fill:none;stroke:var(--nm-accent);stroke-width:.8px;stroke-linecap:round;stroke-linejoin:round;opacity:.7}body.theme-dark .mon-mini-sparkline-line{stroke:#4db8cc;opacity:.75}.mon-chart-body{padding:0 18px 14px}.mon-sparkline-wrap{align-items:stretch;gap:10px;margin-top:8px;display:flex}.mon-sparkline-yaxis{color:#7a96a8;white-space:nowrap;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;padding-bottom:16px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:9.5px;display:flex}.mon-sparkline-avg-label{color:var(--nm-accent);opacity:.75}.mon-sparkline-area{flex:1;min-width:0}.mon-sparkline{border-radius:6px;width:100%;height:64px;display:block;overflow:visible}.mon-sparkline-grid{stroke:#7a96a829;stroke-width:.45px;vector-effect:non-scaling-stroke}.mon-sparkline-avg{stroke:#1d9ab057;stroke-width:.75px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.mon-sparkline-line{fill:none;stroke:var(--nm-accent);stroke-width:1.35px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.mon-sparkline-endpoint{fill:#fff;stroke:var(--nm-accent);stroke-width:1.2px;vector-effect:non-scaling-stroke}.mon-sparkline-xaxis{color:#7a96a8;justify-content:space-between;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:9.5px;display:flex}.mon-hours-select{color:#4a6070;cursor:pointer;background:#fff;border:1px solid #d1dce6e6;border-radius:5px;padding:3px 7px;font-size:12px}.mon-port-rows{flex-direction:column;gap:8px;padding:10px 18px 14px;display:flex}.mon-port-row{align-items:center;gap:9px;font-size:13px;display:flex}.mon-port-label{color:#1a2e3d;font-weight:500}.mon-port-status{margin-left:auto;font-size:12px;font-weight:700}.mon-port-status--open{color:var(--dash-green)}.mon-port-status--closed{color:var(--dash-red)}.mon-port-form{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.mon-port-input{color:#1a2e3d;background:#fff;border:1px solid #d1dce6e6;border-radius:6px;padding:5px 10px;font-size:13px}.mon-port-input:first-of-type{width:110px}.mon-port-input:last-of-type{width:130px}.mon-port-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mon-port-chip{color:var(--nm-accent-strong);background:#1d9ab014;border:1px solid #1d9ab02e;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.mon-port-chip-port{color:#5b9aac;font-family:monospace}.mon-ports-modal-body{display:flex}.mon-ports-form-col{border-right:1px solid var(--nm-shell-text);flex-direction:column;flex:0 0 380px;gap:40px;padding:18px 20px;display:flex}body.theme-dark .mon-ports-form-col{border-right-color:var(--nm-border)}.mon-ports-form-col .mon-device-picker{background:0 0;border:none;border-radius:0}.mon-ports-form-col .ep-search-row{background:var(--nm-surface);border:1px solid #ccd8e0;border-radius:5px;padding:0;position:relative}.mon-ports-form-col .ep-search-icon{pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.mon-ports-form-col .ep-search{box-sizing:border-box;background:0 0;border:none;border-radius:5px;width:100%;padding:7px 10px 7px 28px}.mon-ports-form-col .ep-list{scrollbar-width:thin;scrollbar-color:#a0b4c066 transparent;margin-top:8px}.mon-ports-form-col .ep-list::-webkit-scrollbar{width:4px}.mon-ports-form-col .ep-list::-webkit-scrollbar-track{background:0 0}.mon-ports-form-col .ep-list::-webkit-scrollbar-thumb{background:#a0b4c066;border-radius:2px}.mon-ports-form-col .ep-list::-webkit-scrollbar-thumb:hover{background:#82a0b4a6}body.theme-dark .mon-ports-form-col .ep-search-row{background:var(--nm-shell);border-color:#2a3d52}body.theme-dark .mon-ports-form-col .ep-search{color:#d8eaf5}.mon-ports-list-col{flex-direction:column;flex:1;gap:16px;max-height:480px;padding:18px 20px;display:flex;overflow-y:auto}.mon-ports-field-label{text-transform:uppercase;letter-spacing:.05em;color:#6a8a9a;flex-direction:column;gap:3px;font-size:11px;font-weight:700;display:flex}body.theme-dark .mon-ports-field-label{color:#4a7a96}.mon-ports-input{font:inherit;color:#1a2e3d;box-sizing:border-box;background:#fff;border:1px solid #ccd8e0;border-radius:5px;width:100%;padding:7px 10px;font-size:13px}body.theme-dark .mon-ports-input{background:var(--nm-shell);color:#d8eaf5;border-color:#2a3d52}.mon-ports-sel-count{text-transform:none;letter-spacing:0;color:var(--nm-accent);font-weight:400}.ep-option--multi{gap:6px}.ep-option-check{color:var(--nm-accent);flex:0 0 14px;font-size:11px;font-weight:700}.mon-checks-list{border-top:1px solid var(--nm-shell-text);padding-top:16px!important}body.theme-dark .mon-checks-list{border-top-color:var(--nm-border)}.mon-checks-group-label{text-transform:uppercase;letter-spacing:.05em;color:#6a8a9a;margin:0 0 8px;font-size:11px;font-weight:700}body.theme-dark .mon-checks-group-label{color:#4a7a96}.mon-port-chip-del{cursor:pointer;color:#8aa0b0;background:0 0;border:none;align-items:center;margin-left:2px;padding:0 2px;display:flex}.mon-port-chip-del:hover{color:var(--dash-red)}.btn-icon-sm{cursor:pointer;color:#8aa0b0;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.btn-icon-sm:hover{color:var(--dash-red);background:#e0505014}.mon-panel-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mon-refresh-status{color:var(--nm-text-faint);letter-spacing:.02em;text-transform:uppercase;font-size:11px;font-weight:700}.mon-heartbeat-body{padding:10px 18px 14px}.heartbeat-bar{flex-wrap:wrap;gap:2px;display:flex}.heartbeat-bar--sm{flex-flow:row;flex-shrink:0;justify-content:flex-end;gap:1px;width:200px;margin:0;overflow:hidden}.heartbeat-bar--lg{flex-wrap:nowrap;justify-content:flex-end;gap:3px}.heartbeat-beat{border-radius:2px;flex-shrink:0;display:block}.heartbeat-bar--sm .heartbeat-beat{border-radius:2px;flex:0 0 6px;width:6px;height:14px}.heartbeat-bar--lg .heartbeat-beat{border-radius:3px;flex:1;min-width:2px;max-width:14px;height:28px}.heartbeat-beat--online{background:var(--dash-green)}.heartbeat-beat--offline{background:var(--dash-red)}.heartbeat-beat--unknown{background:var(--nm-text-faint)}.heartbeat-legend{color:#6b8499;gap:14px;margin-top:10px;font-size:11px;display:flex}.heartbeat-legend-item{align-items:center;gap:5px;display:flex}.heartbeat-timeline{width:100%}.heartbeat-beat--clickable{cursor:crosshair}.heartbeat-time-axis{color:#8aa0b0;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;margin-top:5px;font-size:10.5px;display:grid}.heartbeat-time-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.heartbeat-summary{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:11.5px;display:flex}.hb-tooltip-card{z-index:9999;pointer-events:none;background:#fff;border:1px solid #d1dce6e6;border-radius:9px;min-width:210px;max-width:260px;padding:10px 14px 12px;font-size:12.5px;position:fixed;box-shadow:0 6px 24px #00000021}.hb-tooltip-header{border-bottom:1px solid #d1dce699;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:7px;display:flex}.hb-tooltip-date{color:#1a2e3d;font-size:12px;font-weight:600}.hb-tooltip-time{color:#6b8499;font-variant-numeric:tabular-nums;font-size:12px}.hb-tooltip-status-row{align-items:center;gap:8px;margin-bottom:7px;display:flex}.hb-tooltip-status-text{flex:1;font-size:13px;font-weight:700}.hb-tooltip-rtt{color:#6b8499;font-variant-numeric:tabular-nums;background:#d1dce64d;border-radius:4px;padding:1px 7px;font-size:11.5px}.hb-tooltip-ports{border-top:1px solid #d1dce680;flex-wrap:wrap;gap:5px;padding-top:5px;display:flex}.incident-log{flex-direction:column;gap:6px;padding:6px 18px 14px;display:flex}.incident-row{background:#d1dce62e;border-radius:7px;align-items:center;gap:10px;padding:8px 12px;font-size:12.5px;display:flex}.incident-row--active{background:#e0505014;border:1px solid #e0505038}.incident-row-body{flex:1;align-items:center;gap:6px;display:flex}.incident-time{color:#3a5568;font-variant-numeric:tabular-nums;font-size:12px}.incident-badge{color:#6b8499;background:#d1dce666;border-radius:5px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.incident-badge--active{color:#c0392b;background:#e050501f}.incident-alert-tag{color:#7a4800;white-space:nowrap;background:#e090301f;border:1px solid #e0903047;border-radius:4px;align-items:center;gap:3px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.mon-hero-backdrop{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08101a9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.mon-hero{background:var(--nm-bg-elevated);border-radius:16px;flex-direction:column;width:min(1120px,100vw - 48px);max-height:calc(100vh - 80px);display:flex;overflow:hidden;box-shadow:0 32px 80px #0a121c4d,0 4px 20px #0a121c1f}.mon-hero-header{background:#fff;border-top:3px solid #0000;border-bottom:1px solid #d1dce6b3;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.mon-hero-header--online{border-top-color:var(--dash-green)}.mon-hero-header--offline{border-top-color:var(--dash-red)}.mon-hero-header--warning{border-top-color:var(--dash-amber)}.mon-hero-header--unknown,.mon-hero-header--disabled,.mon-hero-header--paused{border-top-color:var(--nm-text-faint)}.mon-hero-header-left{align-items:center;gap:14px;min-width:0;display:flex}.mon-hero-header-left .mon-dot{flex-shrink:0;width:13px;height:13px;animation-duration:1.95s}.mon-hero-name{color:var(--nm-shell);font-size:18px;font-weight:700;line-height:1.25}.mon-hero-sub{color:#7a96a8;margin-top:2px;font-size:12.5px}.mon-hero-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.mon-hero-close{color:#5a7a90;cursor:pointer;min-height:unset;height:auto;box-shadow:none;background:#4e68781a;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:16px;line-height:1;transition:color .13s,background .13s}.mon-hero-close:hover{color:#1a2c38;background:#4e687838}.mon-hero-stats{background:var(--nm-surface);border-bottom:1px solid #d1dce699;flex-shrink:0;display:flex}.mon-hero-stat{border-right:1px solid #d1dce699;flex-direction:column;flex:1;gap:5px;padding:13px 20px;display:flex}.mon-hero-stat:last-child{border-right:none}.mon-hero-stat-label{text-transform:uppercase;letter-spacing:.06em;color:#7a96a8;font-size:10.5px;font-weight:700}.mon-hero-stat-val{color:#1a2e3d;font-size:14px;font-weight:600}.mon-hero-body{flex:1;padding:20px 24px 24px;overflow-y:auto}.mon-hero-cols{grid-template-columns:1fr 1.4fr;align-items:start;gap:16px;display:grid}.mon-hero-col{flex-direction:column;gap:14px;display:flex}.mon-hero-section{background:#fff;border:1px solid #d1dce6b3;border-radius:10px;overflow:hidden}.mon-hero-section-title{color:#3a5468;text-transform:uppercase;letter-spacing:.05em;background:var(--nm-surface);border-bottom:1px solid #d1dce680;justify-content:space-between;align-items:center;padding:10px 14px 9px;font-size:11px;font-weight:700;display:flex}.mon-hero-section .mon-analysis-body{padding:2px 0 6px}.mon-hero-section .mon-analysis-row{padding:7px 14px}.mon-hero-section .mon-heartbeat-body{padding:12px 14px 14px}.mon-hero-section .mon-chart-body{padding:0 14px 14px}.mon-hero-section .mon-port-rows{padding:10px 14px 12px}.mon-hero-section .incident-log{padding:0}body.theme-dark .mon-hero{background:#121c27;box-shadow:0 32px 80px #0000008c,0 4px 20px #00000047}body.theme-dark .mon-hero-header{border-bottom-color:var(--nm-border-strong);background:#182635}body.theme-dark .mon-hero-name{color:#d8eaf5}body.theme-dark .mon-hero-sub{color:var(--nm-text-faint)}body.theme-dark .mon-hero-stats{border-color:var(--nm-border-strong);background:#15212e}body.theme-dark .mon-hero-stat{border-color:var(--nm-border-strong)}body.theme-dark .mon-hero-stat-val{color:#d8eaf5}body.theme-dark .mon-hero-section{border-color:var(--nm-border-strong);background:#182635}body.theme-dark .mon-hero-section-title{color:#8ab4cc;border-color:var(--nm-border-strong);background:#15212e}body.theme-dark .mon-hero-close{color:#8ab4cc;background:#5a7a952e}body.theme-dark .mon-hero-close:hover{color:#c8dff0;background:#5a7a954d}body.theme-dark .modal-close{color:#8ab4cc;background:#5a7a952e}body.theme-dark .modal-close:hover{color:#c8dff0;background:#5a7a954d}body.theme-dark .ipam-modal-close{color:#8ab4cc;background:#5a7a952e}body.theme-dark .ipam-modal-close:hover{color:#c8dff0;background:#5a7a954d}body.theme-dark .mon-table th{color:var(--nm-text-faint);border-color:var(--nm-border-strong);background:#1a2535}body.theme-dark .mon-row{border-color:#253545}body.theme-dark .mon-row--active{background:#1d9ab01f}body.theme-dark .mon-device-name{color:#d8eaf5}body.theme-dark .mon-device-ip{color:var(--nm-text-faint)}body.theme-dark .mon-cell-mono{color:#7a9bb0}body.theme-dark .mon-search-wrap{background:0 0}body.theme-dark .mon-search{color:#c8dae8;background:0 0}body.theme-dark .mon-detail-stats,body.theme-dark .mon-detail-stat+.mon-detail-stat{border-color:var(--nm-border-strong)}body.theme-dark .mon-detail-stat-val,body.theme-dark .mon-port-label{color:#d8eaf5}body.theme-dark .mon-hours-select{color:#9bbdd4;background:#253545;border-color:#3a5068}body.theme-dark .mon-port-input{color:#c8dae8;background:#253545;border-color:#3a5068}body.theme-dark .mon-port-chip{color:#5bb8cc;background:#1d9ab01a;border-color:#1d9ab040}body.theme-dark .mon-port-chip-port{color:#4a8898}body.theme-dark .mon-uptime-good{color:#4dcf96;background:#2dba7c26}body.theme-dark .mon-uptime-warn{color:#e0b060;background:#e0903026}body.theme-dark .mon-uptime-bad{color:#e07070;background:#e0505026}body.theme-dark .mon-port-badge--open{color:#4dcf96;background:#2dba7c26}body.theme-dark .mon-port-badge--closed{color:var(--nm-text-faint);background:#a0b4c014}body.theme-dark .heartbeat-beat--unknown{background:#4d6a82}body.theme-dark .heartbeat-legend{color:var(--nm-text-faint)}body.theme-dark .heartbeat-time-axis,body.theme-dark .mon-sparkline-yaxis,body.theme-dark .mon-sparkline-xaxis{color:#4a6a85}body.theme-dark .mon-sparkline-grid{stroke:#5a7a952e}body.theme-dark .mon-sparkline-avg{stroke:#56c8d84d}body.theme-dark .mon-sparkline-line{stroke:#56c8d8}body.theme-dark .mon-sparkline-endpoint{fill:#1e3047;stroke:#56c8d8}body.theme-dark .hb-tooltip-card{border-color:var(--nm-border-strong);background:#1e2f41;box-shadow:0 6px 24px #00000073}body.theme-dark .hb-tooltip-header{border-color:var(--nm-border-strong)}body.theme-dark .hb-tooltip-date{color:#d8eaf5}body.theme-dark .hb-tooltip-time{color:var(--nm-text-faint)}body.theme-dark .hb-tooltip-rtt{color:#7a9bb0;background:#1d3145b3}body.theme-dark .hb-tooltip-ports{border-color:var(--nm-border-strong)}body.theme-dark .incident-row{background:#1d314580}body.theme-dark .incident-row--active{background:#e0505012;border-color:#e0505033}body.theme-dark .incident-time{color:#9bbdd4}body.theme-dark .incident-badge{color:var(--nm-text-faint);background:#1d314599}body.theme-dark .incident-badge--active{color:#e07070;background:#e050501f}body.theme-dark .incident-alert-tag{color:#e0b060;background:#e090301a;border-color:#e0903038}.mon-analysis-body{gap:0;padding:4px 0 8px;display:grid}.mon-analysis-row{justify-content:space-between;align-items:center;gap:12px;padding:7px 18px;font-size:12.5px;display:flex}.mon-analysis-row:not(:last-child){border-bottom:1px solid #d1dce666}.mon-analysis-val{color:#1a2e3d;font-size:12.5px;font-weight:650}.mon-analysis-val--warn{color:#b85c00}.mon-trend{border:1px solid;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700}.mon-trend--rising{color:#b45309;background:#f59e0b1a;border-color:#f59e0b4d}.mon-trend--falling{color:#15803d;background:#15803d1a;border-color:#15803d4d}.mon-trend--stable{color:#1d5f8c;background:#1d5f8c14;border-color:#1d5f8c33}.mon-trend-pct{opacity:.85;font-weight:500}.mon-anomaly{border:1px solid;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700}.mon-anomaly--normal{color:#15803d;background:#15803d1a;border-color:#15803d4d}.mon-anomaly--elevated{color:#b45309;background:#f59e0b1a;border-color:#f59e0b4d}.mon-anomaly--anomalous{color:#b91c1c;background:#b91c1c1a;border-color:#b91c1c4d}.mon-anomaly-score{opacity:.8;font-weight:500}body.theme-dark .mon-analysis-row{border-color:#2d3d52b3}body.theme-dark .mon-analysis-val{color:#c8dae8}body.theme-dark .mon-analysis-val--warn{color:#e0b060}body.theme-dark .mon-trend--rising{color:#f0c060;background:#f59e0b1f;border-color:#f59e0b47}body.theme-dark .mon-trend--falling{color:#4ade80;background:#4ade801a;border-color:#4ade8040}body.theme-dark .mon-trend--stable{color:#5bc8da;background:#5bc8da14;border-color:#5bc8da33}body.theme-dark .mon-anomaly--normal{color:#4ade80;background:#4ade801a;border-color:#4ade8040}body.theme-dark .mon-anomaly--elevated{color:#f0c060;background:#f59e0b1f;border-color:#f59e0b47}body.theme-dark .mon-anomaly--anomalous{color:#f87171;background:#f871711f;border-color:#f871714d}.dash-alert--warn{color:#7a5000;background:#e0903012;border-color:#e0903040}.dash-alert--warn .dash-alert-link{color:#7a5000}.ipam-cidr{color:#3a5c74;background:#1d9ab012;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:12px}.ipam-util-bar{background:#1d9ab01a;border-radius:3px;flex:1;height:6px;overflow:hidden}.ipam-util-bar--thin{height:4px}.ipam-util-fill{border-radius:3px;height:100%;transition:width .3s}.ipam-util-wrap{align-items:center;gap:8px;min-width:120px;display:flex}.ipam-util-pct{color:#4a6070;white-space:nowrap;font-size:11px;font-weight:600}.ipam-conflict-row{border-bottom:1px solid #d1dce666;align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;display:flex}.ipam-conflict-row:last-child{border-bottom:none}.ipam-conflict-icon{flex-shrink:0;margin-top:3px;font-size:10px}.ipam-conflict-row--error .ipam-conflict-icon{color:var(--dash-red)}.ipam-conflict-row--warning .ipam-conflict-icon{color:var(--dash-amber)}.ipam-conflict-desc{color:#1a2e3d;line-height:1.4}.ipam-subnet-form{flex-direction:column;gap:10px;display:flex}.ipam-form-row{flex-wrap:wrap;gap:10px;display:flex}.vlan-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vlan-form-grid__full{grid-column:1/-1}.modal--wide{width:min(100%,860px)}.device-form{gap:0;padding:0}.device-form-body{grid-template-columns:1fr 1fr;display:grid}.device-form-col{flex-direction:column;display:flex}.device-form-col+.device-form-col{border-left:1px solid #d1dce64d}.device-form-section{gap:12px;padding:16px 20px;display:grid}.device-form-section--fill{flex-direction:column;flex:1;gap:12px;display:flex}.device-form-section--fill .device-form-notes-label{flex:1;grid-template-rows:auto 1fr;display:grid}.device-form-section--fill .device-form-notes-label textarea{resize:none;height:100%;min-height:80px}.device-form-section+.device-form-section{border-top:1px solid #d1dce64d}.device-form-section-title{letter-spacing:.06em;text-transform:uppercase;color:#8aacbe;font-size:11px;font-weight:600}.device-form-actions{background:0 0;border-top:1px solid #d1dce64d;padding:12px 20px 16px}.ipam-form-label{color:#4a6070;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.ipam-form-input{color:#1a2e3d;background:#fff;border:1px solid #d1dce6e6;border-radius:6px;min-width:140px;padding:6px 10px;font-size:13px}.ipam-form-input--mono{font-family:monospace}.ipam-form-input--wide{min-width:320px}.ipam-form-actions{align-items:center;gap:8px;display:flex}.ipam-range-preview{color:#2dba7c;margin:0 0 12px;font-size:12px}.ipam-btn{color:var(--nm-accent-strong);cursor:pointer;white-space:nowrap;background:#1d64720f;border:1px solid #1d647259;border-radius:7px;padding:5px 14px;font-size:12px;font-weight:600;transition:background .13s,border-color .13s}.ipam-btn:hover:not(:disabled){background:#1d9ab017;border-color:#1d9ab066}.ipam-btn:disabled{opacity:.5;cursor:not-allowed}.ipam-btn--primary{background:var(--nm-accent);color:#fff;border-color:var(--nm-accent)}.ipam-btn--primary:hover:not(:disabled){background:#1a8a9e;border-color:#1a8a9e}body.theme-dark .ipam-btn{color:#4db8cc;border-color:#4db8cc40}body.theme-dark .ipam-btn:hover:not(:disabled){background:#1d9ab026;border-color:#4db8cc80}body.theme-dark .ipam-btn--primary{color:#fff;background:#1d9ab0;border-color:#1d9ab0}body.theme-dark .ipam-btn--primary:hover:not(:disabled){background:#22afc8;border-color:#22afc8}.ipam-row-actions{gap:10px;display:flex}.ipam-dhcp-panel{margin-top:14px}.ipam-dhcp-range-pill{color:#245f9d;white-space:nowrap;background:#3b80d014;border:1px solid #3b80d02e;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 8px;font-size:11px;display:inline-flex}.ipam-dhcp-range-pill code{font-family:monospace;font-size:11px}body.route-ipam .dash-alert{margin:0 0 14px}.ipam-sync-note{color:#7a96a8;align-items:center;gap:5px;margin:-6px 0 14px;font-size:12px;display:flex}body.route-locations .dash-stats{margin-bottom:0}body.route-locations .loc-stats{margin-bottom:14px}.ipam-delete-btn{color:var(--dash-red)!important}.ipam-delete-btn:hover{opacity:.75}.ipam-reservations-panel{border-color:#648ca599}body.theme-dark .ipam-reservations-panel{border-color:#3c6482b3}.ipam-reservations-header{align-items:center;gap:12px}.ipam-reservations-heading{gap:2px;min-width:150px;display:grid}.ipam-reservations-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.ipam-reservation-filter{color:#5a7080;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;min-width:0;font-size:11px;font-weight:700;display:inline-flex}.ipam-reservation-filter .inv-select{width:min(34vw,300px);max-width:300px;height:30px;font-size:12px}.ipam-reservations-body{max-height:320px;overflow:auto}.ipam-reservations-table th,.ipam-reservations-table td{vertical-align:middle}.ipam-subnets-panel-wrap{margin-top:18px;margin-bottom:14px}.ipam-grid{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.ipam-grid-row{align-items:center;gap:6px;display:flex}.ipam-grid-row-label{color:#8aa0b0;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;width:38px;font-family:monospace;font-size:10px;line-height:1}.ipam-grid-row-cells{flex:1;gap:3px;display:flex}.ipam-grid-cell{cursor:default;border:1px solid #0000000f;border-radius:2px;flex:1;min-width:8px;height:18px;transition:transform .1s}.ipam-grid-cell--dhcp-range{box-shadow:inset 0 0 0 2px #0a0f1999,0 0 0 1px #0a0f194d}.ipam-grid-cell:hover{z-index:1;position:relative;transform:scaleY(1.4)}.ipam-grid-cell--has-tip{cursor:pointer}.ipam-tooltip-card{z-index:9999;pointer-events:none;background:#fff;border:1px solid #d1dce6e6;border-radius:8px;min-width:200px;max-width:260px;padding:10px 13px 12px;font-size:12.5px;line-height:1.5;position:fixed;box-shadow:0 4px 20px #0000001f}.ipam-tooltip-header{border-bottom:1px solid #d1dce6b3;align-items:center;gap:7px;margin-bottom:8px;padding-bottom:7px;display:flex}.ipam-tooltip-kind-dot{border-radius:2px;flex-shrink:0;width:9px;height:9px}.ipam-tooltip-ip{color:#1a2e3d;flex:1;font-family:monospace;font-size:13px;font-weight:700}.ipam-tooltip-kind{color:#8aa0b0;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.ipam-tooltip-row{color:#3a5568;justify-content:space-between;gap:10px;padding:1px 0;font-size:12px;display:flex}.ipam-tooltip-row span:first-child{color:var(--nm-text-faint);flex-shrink:0}.ipam-tooltip-row span:last-child{text-align:right;word-break:break-all}.ipam-tooltip-mono{font-family:monospace;font-size:11.5px}.ipam-tooltip-row--available span:last-child{color:var(--dash-green);font-weight:600}.ipam-grid-legend{color:#7a96a8;flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.ipam-legend-item{align-items:center;gap:4px;display:flex}.ipam-legend-dot{border:1px solid #00000014;border-radius:2px;flex-shrink:0;width:10px;height:10px}.ipam-legend-tip{opacity:.7;margin-left:auto;font-style:italic}.ipam-vlan-sync-label{color:#4a6070;cursor:pointer;align-items:center;gap:7px;margin:8px 0 4px;font-size:13px;display:flex}.ipam-vlan-sync-label input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--nm-accent-strong)}body.theme-dark .ipam-vlan-sync-label{color:#7a9ab4}.ipam-addr-tabs{border-bottom:1px solid #d1dce699;flex-shrink:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:0 16px;display:grid;overflow:hidden}.ipam-addr-tab{color:#7a96a8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:5px;min-width:0;margin-bottom:-1px;padding:8px 6px;font-size:11px;font-weight:600;display:inline-flex}.ipam-addr-tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ipam-addr-tab-count{color:var(--nm-accent-strong);background:#1d9ab01a;border-radius:999px;flex-shrink:0;padding:2px 5px;font-size:10px;font-weight:600;line-height:1}.ipam-addr-tab.active .ipam-addr-tab-count{color:#1a6070;background:#1d9ab02e}.ipam-addr-tab:hover{color:#1a2e3d}.ipam-addr-tab.active{color:var(--nm-accent);border-bottom-color:var(--nm-accent)}.ipam-kind-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700}.ipam-kind-badge--device{color:#1a7a50;background:#2dba7c1f}.ipam-kind-badge--dhcp{color:#1d4e8a;background:#3b80d01f}.ipam-kind-badge--gateway{color:#7a5000;background:#f59e0b1f}.ipam-kind-badge--reserved{color:#083d39;background:#115e591f}.ipam-kind-badge--free{color:#7a96a8;background:#a0b4c01f}.ipam-kind-badge--network,.ipam-kind-badge--broadcast{color:#5a7a95;background:#94a3b826}.ipam-grid-cell--reservable{cursor:crosshair}.ipam-grid-cell--reservable:hover{transform:scaleY(1.4);background:#2dba7c!important}.ipam-lease-textarea{resize:vertical;color:#1a2e3d;background:#fafcfe;border:1px solid #d1dce6e6;border-radius:6px;width:100%;padding:10px 12px;font-family:monospace;font-size:12px;line-height:1.5}body.theme-dark .ipam-cidr{color:#5bb8cc;background:#1d9ab01a}body.theme-dark .ipam-util-bar{background:#1d9ab014}body.theme-dark .ipam-util-pct{color:#7a9bb0}body.theme-dark .ipam-conflict-desc{color:#d8eaf5}body.theme-dark .ipam-form-input{color:#c8dae8;background:#253545;border-color:#3a5068}body.theme-dark .ipam-reservation-filter{color:#7a9ab4}body.theme-dark .ipam-addr-tab{color:var(--nm-text-faint)}body.theme-dark .ipam-addr-tab:hover{color:#d8eaf5}body.theme-dark .ipam-addr-tab-count{background:var(--nm-accent-soft);color:var(--nm-accent-strong)}body.theme-dark .ipam-addr-tab.active .ipam-addr-tab-count{color:#7ad4e8;background:#22c0cf33}body.theme-dark .ipam-kind-badge--device{color:#4dcf96;background:#2dba7c26}body.theme-dark .ipam-kind-badge--dhcp{color:#6aacf0;background:#3b80d026}body.theme-dark .ipam-kind-badge--gateway{color:#e0b060;background:#f59e0b26}body.theme-dark .ipam-kind-badge--reserved{color:#0d9488;background:#115e5926}body.theme-dark .ipam-kind-badge--free{color:var(--nm-text-faint);background:#a0b4c014}body.theme-dark .ipam-lease-textarea{color:#c8dae8;background:#1a2535;border-color:#3a5068}body.theme-dark .ipam-dhcp-range-pill{background:var(--nm-shell);color:#7aa8c4;box-shadow:none;border:1.5px solid #508cc84d}body.theme-dark .ipam-dhcp-range-pill code{color:#7aa8c4}body.theme-dark .ipam-grid-cell{border-color:#ffffff0f}body.theme-dark .ipam-grid-cell--dhcp-range{box-shadow:inset 0 0 0 2px #1e3c5fd9,0 0 0 1px #1e3c5f8c}body.theme-dark .ipam-tooltip-card{border-color:var(--nm-border-strong);background:#1e2f41;box-shadow:0 4px 20px #0006}body.theme-dark .ipam-tooltip-header{border-color:var(--nm-border-strong)}body.theme-dark .ipam-tooltip-ip{color:#d8eaf5}body.theme-dark .ipam-tooltip-row{color:#9bbdd4}body.theme-dark .ipam-tooltip-row span:first-child{color:var(--nm-text-faint)}body.theme-dark .device-form-col+.device-form-col{border-left-color:#ffffff0d}body.theme-dark .device-form-section+.device-form-section{border-top-color:#ffffff0d}body.theme-dark .device-form-section-title{color:#4a7a96}body.theme-dark .device-form-actions{background:0 0;border-top-color:#ffffff0d}.ipam-detail-modal{flex-direction:column;width:min(100%,820px);min-width:0;max-height:calc(100vh - 60px);display:flex;overflow:hidden}.ipam-detail-modal-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal.icon-mgr-modal{flex-direction:column;width:min(700px,96vw);max-height:82vh;display:flex;overflow:hidden}.loc-detail-body{padding:var(--nm-space-4) var(--nm-space-5);max-height:calc(80vh - 120px);overflow-y:auto}.loc-detail-swatch{border-radius:50%;flex-shrink:0;width:12px;height:12px}.loc-detail-map{border:1px solid var(--nm-border);border-radius:var(--nm-radius-md);width:100%;height:220px;display:block}.loc-detail-meta{grid-template-columns:auto 1fr;align-items:baseline;gap:6px 14px;margin:0 0 14px;font-size:.875em;display:grid}.loc-detail-meta dt{color:var(--nm-text-muted);white-space:nowrap}.loc-detail-meta dd{margin:0}.icon-mgr-banner{margin:12px 16px 0}.ipam-modal-header{border-bottom:1px solid #d1dce699;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.ipam-modal-title-wrap{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.ipam-modal-name{color:#1a2e3d;white-space:nowrap;font-size:17px;font-weight:700}.ipam-modal-cidr{font-size:13px}.ipam-modal-stats{border-bottom:1px solid #d1dce699;flex-shrink:0;gap:0;display:flex}.ipam-modal-stat{border-right:1px solid #d1dce699;flex-direction:column;flex:1;gap:3px;padding:14px 20px;display:flex}.ipam-modal-stat:last-child{border-right:none}.ipam-modal-stat-label{color:#8aa0b0;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.ipam-modal-stat-val{color:#1a2e3d;font-size:22px;font-weight:800;line-height:1.1}.ipam-modal-stat-of{color:#8aa0b0;font-size:13px;font-weight:500}.ipam-modal-stat-mono{font-family:monospace;font-size:15px}.ipam-modal-dhcp-pill{margin-top:2px;padding:4px 10px;font-size:12px}.ipam-modal-dhcp-pill code{font-size:12px}.ipam-modal-util{flex-shrink:0;padding:14px 22px 10px}.ipam-modal-body{scrollbar-width:thin;scrollbar-color:#a0b4c066 transparent;flex:1;min-width:0;padding:12px 0 18px;overflow:hidden auto}.ipam-modal-body-inner{padding:0 22px}.ipam-addr-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:13px}.ipam-addr-col{width:33.333%}.ipam-addr-table th,.ipam-addr-table td{vertical-align:middle;text-align:center;border-bottom:1px solid #d1dce680;width:33.333%;padding:10px 8px}.ipam-addr-table th{color:#7a96a8;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#f3f7fa;border-bottom-color:#d1dce699;font-size:11px;font-weight:600}.ipam-addr-row{transition:background .1s}.ipam-addr-row:hover{background:var(--nm-row-hover)}.ipam-addr-cell{overflow:hidden}.ipam-addr-table th:first-child,.ipam-addr-table td.ipam-addr-cell--ip{text-align:left;padding-left:22px}.ipam-addr-table td.ipam-addr-cell--status,.ipam-addr-table td.ipam-addr-cell--label{text-align:center}.ipam-addr-cell--ip .ipam-cidr,.ipam-addr-cell--status .ipam-kind-badge,.ipam-addr-cell--label .ipam-addr-label{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.ipam-addr-label{color:#1a2e3d;font-weight:500;line-height:1.35}.ipam-subnet-row{cursor:pointer}body.theme-dark .ipam-detail-modal{border-color:var(--nm-border-strong);background:#182635}body.theme-dark .ipam-detail-modal-shell,body.theme-dark .ipam-modal-body{background:#182635}body.theme-dark .ipam-addr-table th{color:#9bbdd4;border-color:var(--nm-border-strong);background:#203143}body.theme-dark .ipam-addr-table td{border-color:#2d3d52}body.theme-dark .ipam-addr-row:hover{background:#203143}body.theme-dark .ipam-addr-label{color:#c9d9e6}body.theme-dark .ipam-modal-header{border-color:var(--nm-border-strong);background:#182635}body.theme-dark .ipam-modal-name{color:#d8eaf5}body.theme-dark .ipam-modal-stats{border-color:var(--nm-border-strong);background:#182635}body.theme-dark .ipam-modal-stat{border-color:var(--nm-border-strong)}body.theme-dark .ipam-modal-stat-label{color:#4a6a80}body.theme-dark .ipam-modal-stat-val{color:#d8eaf5}body.theme-dark .ipam-modal-stat-of{color:#4a6a80}.import-modal{flex-direction:column;width:min(100%,860px);display:flex}.modal-title{color:#1a2e3d;font-size:15px;font-weight:700}.modal-close{color:#5a7a90;cursor:pointer;min-height:unset;height:auto;box-shadow:none;background:#4e68781a;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:16px;line-height:1;transition:color .13s,background .13s}.modal-close:hover{color:#1a2c38;background:#4e687838}.ipam-modal-close{color:#5a7a90;cursor:pointer;min-height:unset;height:auto;box-shadow:none;background:#4e68781a;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:16px;line-height:1;transition:color .13s,background .13s}.ipam-modal-close:hover{color:#1a2c38;background:#4e687838}.import-modal-body{flex-direction:column;gap:14px;max-height:calc(100vh - 220px);padding:18px 20px;display:flex;overflow-y:auto}.import-dropzone{cursor:pointer;text-align:center;background:#1d9ab00a;border:2px dashed #1d9ab059;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:36px 20px;transition:background .15s,border-color .15s;display:flex}.import-dropzone:hover,.import-dropzone--over{background:#1d9ab01a;border-color:#1d9ab099}.import-dropzone-label{color:#1a2e3d;font-size:14px;font-weight:600}.import-dropzone-hint{color:#7a96a8;font-size:12px}.import-file-row{align-items:center;gap:10px;display:flex}.import-file-name{color:#1a2e3d;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.import-error{color:var(--dash-red);background:#e0505014;border:1px solid #e0505033;border-radius:7px;padding:8px 12px;font-size:13px}.import-summary-row{align-items:center;gap:16px;font-size:13px;display:flex}.import-summary-ok{color:#1a7a50;font-weight:600}.import-summary-err{color:var(--dash-red);font-weight:600}.import-preview-wrap{border:1px solid #c8d7e1b3;border-radius:8px;max-height:320px;overflow:auto}.import-preview-table{margin:0}.import-row--error{opacity:.6;background:#e050500d}.import-truncate-note{color:#7a96a8;text-align:center;padding:6px;font-size:11px}.import-actions{align-items:center;gap:10px;display:flex}.import-result{flex-direction:column;gap:10px;display:flex}.import-result-stats{align-items:center;gap:16px;display:flex}.import-result-stat{font-size:14px}.import-result-stat--ok{color:#1a7a50}.import-result-stat--warn{color:#805010}.import-result-stat--err{color:var(--dash-red)}.import-result-errors{color:var(--dash-red);max-height:120px;margin:0;padding-left:18px;font-size:12px;overflow-y:auto}.import-field-ref{border-top:1px solid #c8d7e1b3;padding:12px 20px;font-size:12px}.import-field-ref summary{cursor:pointer;color:#4e6878;-webkit-user-select:none;user-select:none;font-weight:600}.import-ref-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}.import-ref-table th,.import-ref-table td{text-align:left;border-bottom:1px solid #c8d7e180;padding:5px 10px}.import-ref-table th{color:#7a96a8;font-weight:600}body.theme-dark .modal-title{color:#d8eaf5}body.theme-dark .import-dropzone{background:#1d9ab00f;border-color:#1d9ab04d}body.theme-dark .import-dropzone:hover,body.theme-dark .import-dropzone--over{background:#1d9ab024;border-color:#1d9ab08c}body.theme-dark .import-dropzone-label,body.theme-dark .import-file-name{color:#c8dae8}body.theme-dark .import-preview-wrap,body.theme-dark .import-field-ref{border-color:#28465a99}body.theme-dark .import-ref-table th,body.theme-dark .import-ref-table td{border-color:#28465a66}.rbac-roles-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:16px;display:grid}.rbac-role-card{background:#1d9ab00a;border:1px solid #1d9ab026;border-radius:8px;padding:16px 18px}.rbac-role-name{color:#1d6a8a;border-bottom:1px solid #1d9ab026;margin:0 0 12px;padding-bottom:8px;font-size:14px;font-weight:700}.rbac-perm-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rbac-perm-row{align-items:flex-start;display:flex}.rbac-perm-label{cursor:pointer;align-items:flex-start;gap:10px;width:100%;display:flex}.rbac-perm-label input[type=checkbox]{accent-color:var(--nm-accent);flex-shrink:0;width:15px;height:15px;margin-top:3px}.rbac-perm-label-text{flex-direction:column;gap:1px;display:flex}.rbac-perm-label-text strong{color:#2a4860;font-size:13px;font-weight:600}.rbac-perm-desc{color:#7a96a8;font-size:11px;line-height:1.4}.rbac-role-card--custom{background:#8264c80a;border-color:#8264c840}.rbac-role-header{border-bottom:1px solid #1d9ab026;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.rbac-role-header .rbac-role-name{border:none;margin:0;padding:0}.rbac-delete-btn{color:#b05050;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px;line-height:1;transition:opacity .15s,background .15s}.rbac-delete-btn:hover{opacity:1;background:#b43c3c1a}.rbac-new-group-form{background:#1d9ab00a;border:1px solid #1d9ab026;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 16px;padding:14px 16px;display:flex}.rbac-new-group-input{min-width:180px;color:inherit;background:#fff;border:1px solid #1d9ab04d;border-radius:6px;flex:1;padding:7px 10px;font-size:13px}.rbac-name-error{color:var(--dash-red);font-size:12px}body.theme-dark .rbac-role-card{background:#1d9ab00f;border-color:#1d9ab033}body.theme-dark .rbac-role-card--custom{background:#8264c812;border-color:#8264c840}body.theme-dark .rbac-role-name{color:#5ecbe0;border-color:#1d9ab033}body.theme-dark .rbac-role-header{border-color:#1d9ab033}body.theme-dark .rbac-perm-label-text strong{color:#c8dae8}body.theme-dark .rbac-perm-desc{color:#7aa4b8}body.theme-dark .rbac-new-group-form{background:#1d9ab00f;border-color:#1d9ab033}body.theme-dark .rbac-new-group-input{color:#c8dae8;background:#142332cc;border-color:#1d9ab04d}body.theme-dark .rbac-delete-btn{color:#e07070}.fav-btn{cursor:pointer;color:#b8c8d8;min-height:unset;box-shadow:none;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 4px;line-height:1;transition:color .15s,background .15s;display:inline-flex}.fav-btn:hover{color:#e8b840;background:#e8b8401a}.fav-btn--active{color:#e8b840}.fav-btn--active:hover{color:#d4a030;background:#e8b84026}body.theme-dark .fav-btn{color:var(--nm-text-muted)}body.theme-dark .fav-btn:hover{color:#e8b840;background:#e8b8401f}body.theme-dark .fav-btn--active{color:#e8b840}@media (width<=760px){.dash-panel-header{flex-wrap:wrap;align-items:flex-start}.dash-panel-actions,.overview-fav-search{width:100%}.dash-device-row--favourite{grid-template-columns:12px minmax(0,1fr) 54px 30px}.dash-device-row--favourite .dash-fav-rtt{display:none}}.sidebar-collapse-btn{border-radius:var(--nm-radius-md);width:32px;height:32px;color:var(--nm-shell-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.sidebar-collapse-btn svg{color:var(--nm-shell-muted);opacity:.9}.sidebar-collapse-btn:hover{color:var(--nm-shell-text);border-color:var(--nm-shell-border);background:#ffffff0d}.sidebar-collapse-btn:hover svg{color:var(--nm-accent);opacity:1}.sidebar-collapse-btn--footer{border-color:var(--nm-shell-border);background:#ffffff09;justify-content:flex-start;gap:8px;width:100%;height:36px;margin-bottom:10px;padding:7px 10px;font-size:13px;font-weight:600;position:relative}.sidebar-collapse-btn--footer:after{content:"";background:#ffffff13;height:1px;position:absolute;bottom:-8px;left:10px;right:10px}.sidebar-collapse-btn--footer svg{flex:none}.sidebar--collapsed{align-items:center;width:auto;padding:14px 10px}.sidebar--collapsed .sidebar-brand-row{flex-direction:column;gap:8px}.sidebar--collapsed .brand{flex:none;justify-content:center;width:44px;padding:0}.sidebar--collapsed .sidebar-section-label{display:none}.sidebar--collapsed .sidebar-link{justify-content:center;gap:0;width:44px;padding:8px 0;position:relative}.sidebar--collapsed .sidebar-collapse-btn{justify-content:center;width:44px;height:28px}.sidebar--collapsed .sidebar-collapse-btn--footer{border-color:var(--nm-shell-border);background:#ffffff09;height:36px;margin-top:0;margin-bottom:10px}.sidebar--collapsed .sidebar-collapse-btn--footer:after{left:5px;right:5px}.sidebar--collapsed .sidebar-collapse-btn--footer:hover{background:#1d9ab01f;border-color:#1d9ab047}.sidebar--collapsed .sidebar-theme-toggle,.sidebar--collapsed .sidebar-logout,.sidebar--collapsed .sidebar-collapse-btn--footer{justify-content:center;gap:0;width:44px;padding:8px 0}.sidebar--collapsed .sidebar-badge{min-width:15px;height:15px;box-shadow:0 0 0 2px var(--nm-shell);border-radius:999px;margin-left:0;padding:0 4px;font-size:9px;line-height:1;position:absolute;top:-3px;right:-3px}.sidebar--collapsed nav{width:100%}.sidebar--collapsed .sidebar-version{display:none}@media (width<=760px){.sidebar-footer-actions{flex-direction:row;flex-shrink:0;align-items:center;gap:4px;width:auto;margin-top:0;display:flex}.sidebar-collapse-btn--footer{flex-shrink:0;justify-content:center;width:34px;height:34px;min-height:34px;margin-bottom:0;padding:6px;font-size:0}.sidebar-collapse-btn--footer:after{display:none}}@media (width<=480px){.sidebar-footer-actions{gap:0}.sidebar-collapse-btn--footer{border:none;border-top:2px solid #0000;border-radius:0;width:44px;height:48px;min-height:48px;padding:4px}}.nm-btn{justify-content:center;align-items:center;gap:var(--nm-space-2);height:var(--nm-control-md);padding:0 var(--nm-space-4);border:1px solid var(--nm-border-strong);border-radius:var(--nm-radius-md);background:var(--nm-surface-soft);color:var(--nm-text);font-size:var(--nm-text-sm);white-space:nowrap;cursor:pointer;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.nm-btn:hover:not(:disabled){background:var(--nm-accent-soft);color:var(--nm-accent-strong);border-color:#1d9ab066}.nm-btn:disabled{opacity:.45;cursor:not-allowed}.nm-btn--sm{height:var(--nm-control-sm);padding:0 var(--nm-space-3);font-size:var(--nm-text-xs);border-radius:var(--nm-radius-sm)}.nm-btn--lg{height:var(--nm-control-lg);font-size:var(--nm-text-lg);padding:0 18px}.nm-btn--primary{background:var(--nm-accent-strong);border-color:var(--nm-accent-strong);color:#fff}.nm-btn--secondary{background:var(--nm-surface-soft);border-color:var(--nm-border-strong);color:var(--nm-text)}.nm-btn.nm-btn--secondary:hover:not(:disabled){background:var(--nm-accent-soft);color:var(--nm-accent-strong);border-color:#1d9ab066}.nm-btn.nm-btn--primary:hover:not(:disabled){color:#fff;background:#1f7a8a;border-color:#1f7a8a}body.theme-dark .nm-btn{color:#c8dae8;background:#1e3047;border-color:#3a5068}body.theme-dark .nm-btn:hover:not(:disabled){color:var(--nm-accent-strong);background:#243d54;border-color:#22c0cf66}body.theme-dark .nm-btn--danger{background:var(--nm-danger-soft);color:#e57272;border-color:#d94b4b59}body.theme-dark .nm-btn--danger:hover:not(:disabled){color:#e57272;background:#d94b4b38;border-color:#d94b4b80}body.theme-dark .nm-btn--ghost{color:var(--nm-accent-strong);background:0 0;border-color:#0000}body.theme-dark .nm-btn--ghost:hover:not(:disabled){background:var(--nm-accent-soft);border-color:#0000}body.theme-dark .nm-btn--primary{background:#1a6a78;border-color:#1a6a78}body.theme-dark .nm-btn.nm-btn--primary:hover:not(:disabled){color:#fff;background:#1f7f8f;border-color:#1f7f8f}body.theme-dark .nm-btn--secondary{color:#c8dae8;background:#1e3047;border-color:#3a5068}body.theme-dark .nm-btn.nm-btn--secondary:hover:not(:disabled){background:var(--nm-border-strong);color:var(--nm-accent-strong);border-color:#22c0cf66}.nm-btn--danger{background:var(--nm-danger-soft);color:var(--nm-danger);border-color:#d94b4b4d}.nm-btn--danger:hover:not(:disabled){color:var(--nm-danger);background:#d94b4b2e;border-color:#d94b4b73}.nm-btn--ghost{height:auto;min-height:unset;padding:var(--nm-space-1) var(--nm-space-2);color:var(--nm-accent-strong);background:0 0;border-color:#0000}.nm-btn--ghost:hover:not(:disabled){background:var(--nm-accent-soft);color:var(--nm-accent-strong);border-color:#0000}.nm-btn--icon{width:var(--nm-control-md);height:var(--nm-control-md);color:var(--nm-text-muted);box-shadow:none;background:#4e68781a;border-color:#0000;padding:0}.nm-btn--icon:hover:not(:disabled){color:var(--nm-text);background:#4e68782e;border-color:#0000}body.theme-dark .nm-btn--icon{color:var(--nm-text-muted);background:#5a7a952e}body.theme-dark .nm-btn--icon:hover:not(:disabled){color:var(--nm-text);background:#5a7a954d}.nm-btn-row{align-items:center;gap:var(--nm-space-2);flex-wrap:wrap;display:flex}.nm-btn--active,.nm-btn.nm-btn--active{background:var(--nm-accent-soft);color:var(--nm-accent-strong);border-color:#1d9ab073}body.theme-dark .nm-btn--active,body.theme-dark .nm-btn.nm-btn--active{color:#4db8cc;background:#1d9ab02e;border-color:#22c0cf59}.nm-search--toolbar{flex:1;min-width:180px;max-width:280px}.nm-field{gap:var(--nm-space-1);flex-direction:column;display:flex}.nm-field>label,.nm-field-label{font-size:var(--nm-text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--nm-text-muted);font-weight:700}.nm-input,.nm-select,.nm-textarea{border:1px solid var(--nm-border);border-radius:var(--nm-radius-md);background:var(--nm-surface);width:100%;color:var(--nm-text);font-size:var(--nm-text-md);transition:border-color .15s,box-shadow .15s}.nm-input,.nm-select{height:var(--nm-control-md);padding:0 var(--nm-space-3)}.nm-textarea{min-height:80px;padding:var(--nm-space-3);resize:vertical}.nm-input:focus,.nm-select:focus,.nm-textarea:focus{border-color:var(--nm-accent);box-shadow:0 0 0 3px var(--nm-accent-soft);outline:none}.nm-input::placeholder,.nm-textarea::placeholder{color:var(--nm-text-faint)}.nm-search{border:1px solid var(--nm-border);border-radius:var(--nm-radius-md);background:var(--nm-surface);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.nm-search:focus-within{border-color:var(--nm-accent);box-shadow:0 0 0 3px var(--nm-accent-soft)}.nm-search-icon{color:var(--nm-text-faint);pointer-events:none;position:absolute;left:10px}.nm-search .nm-input{box-shadow:none;background:0 0;border:none;padding-left:32px}.nm-search .nm-input:focus{box-shadow:none;border-color:#0000;outline:none}.nm-alert{align-items:flex-start;gap:var(--nm-space-2);padding:var(--nm-space-3) var(--nm-space-4);border:1px solid var(--nm-border);border-radius:var(--nm-radius-md);font-size:var(--nm-text-sm);line-height:1.45;display:flex}.nm-alert--error{background:var(--nm-danger-soft);color:var(--nm-danger);border-color:#d94b4b47}.nm-alert--warning{background:var(--nm-warning-soft);color:#7a5000;border-color:#d4912c47}body.theme-dark .nm-alert--warning{color:#e8b040}.nm-alert--info{background:var(--nm-accent-soft);color:var(--nm-accent-strong);border-color:#1d9ab040}.nm-status{font-size:var(--nm-text-xs);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-weight:700;display:inline-flex}.nm-status--online{background:var(--nm-success-soft);color:var(--nm-success);border-color:#2d9d7840}.nm-status--offline{background:var(--nm-danger-soft);color:var(--nm-danger);border-color:#d94b4b40}.nm-status--warning{background:var(--nm-warning-soft);color:#7a5000;border-color:#d4912c40}.nm-status--unknown{color:var(--nm-text-muted);border-color:var(--nm-border);background:#a0b4c026}body.theme-dark .nm-status--warning{color:#e8b040}.modal{background:var(--nm-surface);box-shadow:var(--nm-shadow-md)}.modal--sm{width:min(100%,420px)}.modal--lg{width:min(100%,720px)}.modal-header h3{font-size:var(--nm-text-lg);color:var(--nm-text);margin:0;font-weight:700}.modal-header-title-wrap{align-items:center;gap:var(--nm-space-2);flex-wrap:wrap;min-width:0;display:flex}.modal-body{padding:var(--nm-space-5)}.modal-body--flush{padding:0}.modal-footer,.modal-actions{justify-content:flex-end;align-items:center;gap:var(--nm-space-2);padding:14px var(--nm-space-5);border-top:1px solid var(--nm-border);background:var(--nm-surface-soft);display:flex}.modal-actions--plain{background:0 0;border-top:none;padding-left:0;padding-right:0}.modal-footer--split{justify-content:space-between}.whats-new-modal-body{gap:var(--nm-space-3);display:grid}.whats-new-version-row{gap:var(--nm-space-2);display:grid}.whats-new-highlights{gap:var(--nm-space-4);max-height:min(52vh,28rem);padding-right:var(--nm-space-1);display:grid;overflow:auto}.whats-new-release-title{margin:0 0 var(--nm-space-2);color:var(--nm-text);font-size:var(--nm-text-md);font-weight:600}.whats-new-section+.whats-new-section{margin-top:var(--nm-space-3)}.whats-new-section-title{margin:0 0 var(--nm-space-2);color:var(--nm-text-muted);font-size:var(--nm-text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.whats-new-list{color:var(--nm-text);gap:var(--nm-space-2);font-size:var(--nm-text-sm);margin:0;padding-left:1.1rem;line-height:1.45;display:grid}.whats-new-list li{margin:0}.whats-new-list strong{color:var(--nm-text);font-weight:600}.whats-new-markdown a{color:var(--nm-accent-strong);text-underline-offset:2px;font-weight:600;text-decoration:underline}.whats-new-markdown code{border:1px solid var(--nm-border);border-radius:var(--nm-radius-sm);background:var(--nm-surface-soft);color:var(--nm-text);padding:1px 5px;font-size:.92em}.whats-new-version-card{justify-content:space-between;align-items:center;gap:var(--nm-space-3);padding:var(--nm-space-3) var(--nm-space-4);border:1px solid var(--nm-border);border-radius:var(--nm-radius-md);background:var(--nm-surface-soft);color:var(--nm-text-muted);font-size:var(--nm-text-sm);display:flex}.whats-new-version-card strong{color:var(--nm-text);font-size:var(--nm-text-md)}.whats-new-version-card--latest{background:var(--nm-accent-soft);border-color:#1d9ab047}.whats-new-modal-body p{color:var(--nm-text-muted);font-size:var(--nm-text-sm);margin:0;line-height:1.5}.modal-form .nm-input,.modal-form .nm-select,.modal-form .nm-textarea,.modal-form input:not([type=checkbox]):not([type=radio]):not(.nm-input),.modal-form select:not(.nm-select),.modal-form textarea:not(.nm-textarea){border:1px solid var(--nm-border);border-radius:var(--nm-radius-md);background:var(--nm-surface);color:var(--nm-text)}.modal-form input:not([type=checkbox]):not([type=radio]):focus,.modal-form select:focus,.modal-form textarea:focus{border-color:var(--nm-accent);box-shadow:0 0 0 3px var(--nm-accent-soft);outline:none}.modal-actions .nm-btn,.modal-footer .nm-btn,.modal-header-actions .nm-btn{box-shadow:none}.modal-header button.modal-close-btn,.modal-header .nm-btn--icon{min-height:unset}.modal-header-actions .ipam-next-ip-header-btn{height:31px;min-height:unset;border-radius:6px;padding:0 8px;font-size:12px;line-height:1}.mon-dot-paused{background:#9aabb6}.mon-flap-badge{text-transform:uppercase;letter-spacing:.04em;color:#b45309;vertical-align:middle;background:#d99a2229;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}button.dash-stat{font:inherit;text-align:left;cursor:pointer}.dash-stat--active{outline:2px solid var(--nm-accent,var(--nm-accent));outline-offset:-2px}.ipam-expired-badge{color:#b91c1c;background:#dc262624;border-radius:8px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.security-saved-searches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.theme-dark .mon-flap-badge{color:#fbbf24;background:#d99a2238}.theme-dark .ipam-expired-badge{color:#fca5a5;background:#dc262640}.nm-skeleton-table{border:1px solid var(--nm-border);border-radius:var(--nm-radius-md,8px);background:var(--nm-surface);overflow:hidden}.nm-skeleton-panel{border:1px solid var(--nm-border);border-radius:var(--nm-radius-md,8px);background:var(--nm-surface);flex-direction:column;gap:10px;padding:16px;display:flex}.nm-skeleton-workspace{flex-direction:column;gap:14px;padding:4px 0;display:flex}.nm-skeleton-workspace-toolbar{gap:10px;display:flex}.nm-skeleton-workspace-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.nm-toast-stack{z-index:2600;pointer-events:none;flex-direction:column;gap:10px;width:min(460px,100vw - 44px);display:flex;position:fixed;top:22px;right:22px}.nm-toast{border:1px solid var(--nm-border-strong);border-radius:var(--nm-radius-md,8px);background:var(--nm-bg-elevated);min-height:68px;color:var(--nm-text);pointer-events:auto;align-items:flex-start;gap:13px;padding:14px 15px;animation:.18s ease-out nm-toast-in;display:flex;box-shadow:0 14px 38px #0610183d}.nm-toast--leaving{opacity:0;transition:opacity .18s ease-in,transform .18s ease-in;transform:translateY(6px)}@keyframes nm-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.nm-toast{animation:none}.nm-toast--leaving{transition:none}}.nm-toast-icon{background:var(--nm-accent-soft);border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;margin-top:-1px;display:grid}.nm-toast--success .nm-toast-icon{color:var(--nm-success)}.nm-toast--error .nm-toast-icon{color:var(--nm-danger)}.nm-toast--info .nm-toast-icon{color:var(--nm-accent)}.nm-toast--success{border-left:4px solid var(--nm-success)}.nm-toast--error{border-left:4px solid var(--nm-danger)}.nm-toast--info{border-left:4px solid var(--nm-accent)}.nm-toast-copy{min-width:0;font-size:var(--nm-text-md,13px);flex-direction:column;gap:4px;line-height:1.45;display:flex}.nm-toast-copy strong{font-size:14px;font-weight:700}.nm-toast-copy span{color:var(--nm-text-muted);word-break:break-word}.nm-toast-dismiss{border-radius:var(--nm-radius-sm,6px);width:28px;height:28px;color:var(--nm-text-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;margin-left:auto;padding:0;display:grid}.nm-toast-dismiss:hover{background:var(--nm-accent-soft);color:var(--nm-text)}.nm-confirm-body{flex-direction:column;gap:10px;padding:18px 20px 20px;display:flex}.nm-confirm-message-row{align-items:flex-start;gap:12px;display:flex}.nm-confirm-title-icon{border-radius:var(--nm-radius-md);background:var(--nm-danger-soft);width:30px;height:30px;color:var(--nm-danger);flex:none;place-items:center;display:grid}.nm-confirm-copy{flex-direction:column;gap:5px;min-width:0;padding-top:1px;display:flex}.nm-confirm-message{font-size:var(--nm-text-md,13px);color:var(--nm-text);margin:0;font-weight:600}.nm-confirm-detail{font-size:var(--nm-text-sm,12px);color:var(--nm-text-muted);margin:0}.nm-confirm-gate span code{font-size:var(--nm-text-sm,12px);background:var(--nm-surface-soft);border:1px solid var(--nm-border);border-radius:var(--nm-radius-sm,6px);padding:1px 5px}.nm-confirm-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.workspace-fault{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:460px;margin:40px auto;padding:32px 28px;display:flex}.workspace-fault-icon{background:var(--nm-danger-soft);width:52px;height:52px;color:var(--nm-danger);border-radius:50%;place-items:center;display:grid}.workspace-fault h3{font-size:var(--nm-text-lg,14px);color:var(--nm-text);margin:4px 0 0}.workspace-fault-detail{font-size:var(--nm-text-sm,12px);color:var(--nm-danger);word-break:break-word;margin:0}.workspace-fault-hint{font-size:var(--nm-text-sm,12px);color:var(--nm-text-muted);margin:0 0 8px}.nm-table-wrap{border:1px solid var(--nm-border);border-radius:var(--nm-radius-md);background:var(--nm-surface);overflow:auto}.nm-table{border-collapse:collapse;width:100%;font-size:var(--nm-text-sm);color:var(--nm-text)}.nm-table thead th{z-index:1;text-align:left;font-size:var(--nm-text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--nm-text-muted);background:var(--nm-surface-soft);border-bottom:1px solid var(--nm-border-strong);white-space:nowrap;padding:7px 10px;font-weight:600;position:sticky;top:0}.nm-table tbody td{border-top:1px solid var(--nm-border);vertical-align:middle;padding:6px 10px}.nm-table tbody tr:first-child td{border-top:none}.nm-table tbody tr:hover,.admin-users-row:hover{background:var(--nm-row-hover)}.dash-device-row:hover,.audit-log-row:hover,.admin-users-row:hover,.icon-mgr-pack-row:hover,.mon-row:hover td:first-child,.ipam-addr-row:hover td:first-child,.nm-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 #1d9ab04d}.nm-table--selectable tbody tr{cursor:pointer}.nm-table .nm-table-num{text-align:right;font-variant-numeric:tabular-nums}.nm-table .nm-table-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--nm-text-xs);font-variant-numeric:tabular-nums}.nm-table-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.nm-table-sort:hover,.nm-table-sort.is-active{color:var(--nm-accent-strong)}html{scrollbar-gutter:stable}.dash-stat-value,.dash-fav-rtt,.hb-tooltip-rtt,.mon-cell-mono{font-variant-numeric:tabular-nums}.uptime-badge,.nm-pill{font-size:var(--nm-text-xs);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-weight:700;display:inline-flex}.nm-pill--sso{background:var(--nm-accent-soft);color:var(--nm-accent-strong);border-color:#1d9ab040}.admin-user-name .nm-pill--sso{vertical-align:middle;margin-left:6px}.sso-check-list{gap:var(--nm-space-1);margin:var(--nm-space-2) 0;display:grid}.sso-check-row{align-items:baseline;gap:var(--nm-space-2);border-radius:var(--nm-radius-sm);border:1px solid var(--nm-border);background:var(--nm-surface-soft);font-size:var(--nm-text-sm);color:var(--nm-text);padding:6px 10px;display:flex}.sso-check-row.ok .sso-check-status{color:var(--nm-success)}.sso-check-row.err{background:var(--nm-danger-soft);border-color:#d94b4b40}.sso-check-row.err .sso-check-status{color:var(--nm-danger)}.sso-check-status{font-weight:700}.sso-check-name{text-transform:capitalize;min-width:110px;font-weight:600}.sso-check-message{color:var(--nm-text-muted)}.sso-require-block{margin-top:var(--nm-space-3);padding-top:var(--nm-space-3);border-top:1px solid var(--nm-border)}.mon-table-body,.nm-table-wrap{scrollbar-gutter:stable}.auth-field-hint{font-size:var(--nm-text-xs);color:var(--nm-text-faint);margin:2px 0 4px;display:block}.nm-panel{border:1px solid var(--nm-border);border-radius:var(--nm-radius-lg);background:var(--nm-surface);box-shadow:var(--nm-shadow-sm);overflow:hidden}.nm-panel-header{justify-content:space-between;align-items:center;gap:var(--nm-space-3);padding:var(--nm-space-3) var(--nm-space-4);border-bottom:1px solid var(--nm-border);background:var(--nm-surface-soft);display:flex}.nm-panel-title{font-size:var(--nm-text-md);text-transform:uppercase;letter-spacing:.05em;color:var(--nm-text);font-weight:700}.nm-panel-meta{font-size:var(--nm-text-sm);color:var(--nm-text-faint)}.nm-panel-body{padding:var(--nm-space-4)}.device-icons-create-form{align-items:end;gap:var(--nm-space-3);margin-top:var(--nm-space-4);padding-bottom:var(--nm-space-4);border-bottom:1px solid var(--nm-border);grid-template-columns:minmax(180px,1fr) minmax(180px,240px) auto;display:grid}.device-icons-list{gap:var(--nm-space-2);margin-top:var(--nm-space-4);flex-direction:column;display:flex}.device-icons-row{align-items:center;gap:var(--nm-space-3);min-height:52px;padding:var(--nm-space-3);border:1px solid var(--nm-border);border-radius:var(--nm-radius-md);background:var(--nm-surface-soft);grid-template-columns:minmax(180px,1fr) minmax(180px,240px) auto;display:grid}.device-icons-row:hover{background:var(--nm-row-hover);box-shadow:inset 3px 0 #1d9ab04d}.device-icons-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.device-icons-meta strong{color:var(--nm-text);font-size:var(--nm-text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.device-icons-meta span{color:var(--nm-text-faint);font-size:var(--nm-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-icons-actions{justify-content:flex-end;align-items:center;gap:var(--nm-space-2);display:flex}.device-icons-edit-form{align-items:end;gap:var(--nm-space-3);grid-column:1/-1;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(180px,240px) auto;display:grid}@media (width<=900px){.device-icons-create-form,.device-icons-row,.device-icons-edit-form{grid-template-columns:1fr}.device-icons-actions{justify-content:flex-start}}.nm-toolbar{align-items:center;gap:var(--nm-space-2);padding:var(--nm-space-3) var(--nm-space-4);border-bottom:1px solid var(--nm-border);background:var(--nm-surface-soft);flex-wrap:wrap;display:flex}.nm-toolbar-divider{background:var(--nm-border);align-self:stretch;width:1px;margin:4px 2px}.nm-form-row{gap:var(--nm-space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=720px){.nm-form-row{grid-template-columns:1fr}}.nm-table-actions{gap:var(--nm-space-1);display:flex}.nm-table-actions .nm-btn--sm{flex:1;min-width:0}.nm-pill--online{background:var(--nm-success-soft);color:var(--nm-success);border-color:#22a06b40}.nm-pill--offline{background:var(--nm-danger-soft);color:var(--nm-danger);border-color:#d94b4b40}.nm-pill--warning{background:var(--nm-warning-soft);color:var(--nm-warning);border-color:#d4912c40}
