:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--nm-bg: #e8eef3;--nm-bg-elevated: #f4f7fa;--nm-surface: #f9fbfd;--nm-surface-soft: #eef4f8;--nm-border: rgba(123, 143, 161, .34);--nm-border-strong: rgba(92, 108, 125, .46);--nm-text: #111827;--nm-text-muted: #5d6b7a;--nm-text-faint: #8a97a7;--nm-shell: #0d1b2b;--nm-shell-raised: #091420;--nm-shell-border: rgba(255, 255, 255, .08);--nm-shell-text: #e7edf2;--nm-shell-muted: #828b98;--nm-accent: #1d9ab0;--nm-accent-strong: #1d6472;--nm-accent-soft: rgba(29, 154, 176, .12);--nm-danger: #d94b4b;--nm-warning: #d4912c;--nm-success: #22a06b;--nm-radius-sm: 6px;--nm-radius-md: 8px;--nm-radius-lg: 10px;--nm-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--nm-shadow-md: 0 10px 30px rgba(15, 23, 42, .08);--nm-topbar-height: 82px;color:var(--nm-text);background:var(--nm-bg)}*{box-sizing:border-box}body{margin:0;background:var(--nm-bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh;color:var(--nm-text);background:var(--nm-bg);transition:grid-template-columns .2s ease}.app-shell--sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-main{display:flex;flex-direction:column;min-width:0;min-height:100vh;background:var(--nm-bg)}.auth-shell{min-height:100vh;display:flex;flex-direction:row}.auth-split-left{display:none;width:42%;flex-shrink:0;background:linear-gradient(155deg,#0f2032,#091728 55%,#071020);position:relative;overflow:hidden;align-items:center;justify-content:center}@media(min-width:900px){.auth-split-left{display:flex}}.auth-brand-panel{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:0 52px;position:relative;z-index:2}.auth-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#1d6472,#1ab0c8);color:#fff;box-shadow:0 8px 32px #1d9ab073,0 2px 8px #0006;margin-bottom:8px}.auth-brand-wordmark{font-size:40px;font-weight:850;letter-spacing:-.04em;color:#e8f4f8;line-height:1}.auth-brand-tagline{font-size:15px;font-weight:400;color:#b4d7e699;line-height:1.5;max-width:280px}.auth-brand-deco{position:absolute;inset:0;width:100%;height:100%;opacity:.35;pointer-events:none;z-index:1}.auth-brand-stats{display:flex;flex-direction:column;gap:10px;margin-top:24px}.auth-brand-stat{display:flex;align-items:center;gap:10px;font-size:13px;color:#a0d2e4a6}.auth-brand-stat-dot{width:6px;height:6px;border-radius:50%;background:#1d9ab0;flex-shrink:0}.auth-split-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#f0f4f8;position:relative;min-height:100vh}.sidebar{display:flex;flex-direction:column;background:linear-gradient(180deg,var(--nm-shell) 0%,var(--nm-shell-raised) 100%);color:var(--nm-shell-text);padding:14px 10px;border-right:1px solid var(--nm-shell-border);position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.brand{display:flex;align-items:center;gap:10px;min-height:42px;border-radius:var(--nm-radius-md);padding:4px 8px;color:var(--nm-shell-text);font-size:15px;font-weight:750;letter-spacing:0}.brand svg{color:var(--nm-accent)}.sidebar-section-label{margin-top:16px;margin-bottom:5px;padding:0 12px;font-size:10px;font-weight:700;color:var(--nm-shell-muted);text-transform:uppercase;letter-spacing:0}.sidebar-section-rule{display:block;width:calc(100% - 24px);height:1px;margin:14px 12px 8px;background:#ffffff13}.sidebar nav{display:grid;gap:3px;margin-top:12px}.sidebar-theme-toggle,.sidebar-logout{display:inline-flex;align-items:center;gap:8px;min-height:36px;width:100%;border:1px solid var(--nm-shell-border);border-radius:var(--nm-radius-md);padding:7px 10px;color:var(--nm-shell-muted);background:#ffffff09;font-weight:600;font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.sidebar-theme-toggle{margin-top:auto}.sidebar-logout{margin-top:6px}.sidebar-theme-toggle:hover,.sidebar-logout:hover{border-color:#ffffff26;color:var(--nm-shell-text);background:#ffffff0e}.sidebar-version{padding:6px 14px 10px;font-size:11px;color:var(--nm-shell-muted);white-space:nowrap;overflow:hidden}.sidebar-version-update{color:var(--nm-warning);text-decoration:none;opacity:1}.sidebar-version-update:hover{text-decoration:underline}.sidebar-link{display:flex;align-items:center;gap:10px;min-height:38px;width:100%;border:0;border-left:2px solid transparent;padding:8px 10px;border-radius:var(--nm-radius-md);color:var(--nm-shell-muted);background:transparent;cursor:pointer;text-align:left;font-size:13px;font-weight:500;transition:background .14s,border-color .14s,color .14s}.sidebar-link:hover{background:linear-gradient(90deg,rgba(29,154,176,.14) 0%,rgba(29,154,176,.045) 65%,transparent 100%);border-left-color:#1d9ab059;color:var(--nm-shell-text)}.sidebar-link.active{background:linear-gradient(90deg,rgba(29,154,176,.28) 0%,rgba(29,154,176,.06) 65%,transparent 100%);border-left-color:#1d9ab0;color:#6ddbe8;font-weight:650}.workspace{flex:1 1 auto;min-width:0;padding:24px;background:var(--nm-bg)}.app-topbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--nm-topbar-height);padding:0 28px;border-bottom:1px solid var(--nm-border);background:#f8fafbeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-topbar-route,.app-topbar-account,.app-topbar-user,.app-topbar-status{display:flex;align-items:center}.app-topbar-route{min-width:0;gap:14px}.app-topbar-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(29,154,176,.2);border-radius:var(--nm-radius-md);background:var(--nm-accent-soft);color:var(--nm-accent-strong);flex:0 0 auto}.app-topbar-copy{display:grid;gap:5px;min-width:0}.app-topbar-copy strong{color:var(--nm-text);font-size:25px;font-weight:800;letter-spacing:0;line-height:1}.app-topbar-copy small{max-width:min(58vw,760px);color:var(--nm-text-muted);font-size:13px;font-weight:500;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-account{justify-content:flex-end;gap:14px;min-width:0}.app-topbar-greeting{display:grid;gap:3px;min-width:0;text-align:right}.app-topbar-greeting strong{color:var(--nm-text);font-size:16px;font-weight:750;line-height:1.1}.app-topbar-greeting span{color:var(--nm-text-muted);font-size:12px;line-height:1.1;white-space:nowrap}.app-topbar-status{gap:7px;min-height:30px;border:1px solid rgba(34,160,107,.22);border-radius:999px;padding:5px 10px;color:#17704d;background:#22a06b14;font-size:12px;font-weight:750}.app-topbar-status span{width:7px;height:7px;border-radius:999px;background:var(--nm-success);box-shadow:0 0 0 3px #22a06b1f}.app-topbar-mon-status{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.app-topbar-note{font-size:11px;color:var(--nm-text-muted);font-weight:500}.security-topbar-meta{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}.security-topbar-copy{display:grid;gap:3px;min-width:0;text-align:right}.security-topbar-copy span{max-width:min(44vw,760px);overflow:hidden;color:var(--nm-text-muted);font-size:11.5px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.security-topbar-copy span:first-child{color:#355568;font-weight:750}.security-topbar-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}.loc-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.loc-topbar-search{display:inline-flex;align-items:center;gap:7px;width:min(28vw,280px);min-width:190px;height:34px;padding:0 10px;border:1px solid rgba(176,195,211,.82);border-radius:8px;background:#f2f7fa;color:#7a96a8}.loc-topbar-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#263b4b;font-size:13px}.loc-topbar-search input::placeholder{color:#8aa0b0}@media(max-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(max-width:760px){.loc-topbar-actions{width:100%}.loc-topbar-search{flex:1 1 auto;width:auto;min-width:0}.security-topbar-meta{gap:8px}.security-topbar-copy{display:none}}.app-topbar-user{gap:7px;min-height:34px;max-width:280px;border:1px solid var(--nm-border);border-radius:999px;padding:5px 10px;color:var(--nm-text-muted);background:var(--nm-surface);box-shadow:var(--nm-shadow-sm);font-size:13px;font-weight:650}.app-topbar-user span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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));overflow:hidden;padding:0}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));overflow:hidden;padding:0}body.route-inventory .app-topbar{border-bottom-color:transparent}body.route-inventory .topology-layout{height:100%;margin-top:0;min-height: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:1 1 auto;min-height:0;overflow:hidden;margin-top:0;gap:16px;padding:0 18px 20px}body.route-inventory .details-panel{position:static;top:auto;max-height:none;overflow-y:auto;align-self:stretch}body.route-security .workspace{height:calc(100dvh - var(--nm-topbar-height));overflow:hidden;display:flex;flex-direction:column;padding:20px 32px}body.route-security .security-layout{flex:1;min-height:0;margin-top:0;display:flex;flex-direction:column}body.route-security .security-content{flex:1;min-height:0}body.route-security .security-filters{overflow-y:auto}body.route-security .security-results{display:flex;flex-direction:column;flex:1;min-height:0;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{display:flex;align-items:center;justify-content:space-between;gap:16px}.workspace-header p,.auth-card p{margin:0 0 6px;color:#587183;font-size:13px;font-weight:700}.workspace-header p{text-transform:uppercase}.workspace h1,.auth-card h1{margin:0;font-size:28px;font-weight:750;letter-spacing:-.02em;color:#111e2a}.auth-card h1{font-size:24px}.auth-surface{width:100%;display:flex;flex-direction:column;align-items:center}.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding-bottom:24px;margin-bottom:22px;border-bottom:1px solid rgba(209,220,230,.8)}.auth-brand-row{display:flex;align-items:center;gap:10px}.auth-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#1d6472,#1a8fa0);color:#fff;box-shadow:0 3px 10px #1d647252}.auth-brand-name{font-size:22px;font-weight:800;color:#0f1e2a;letter-spacing:-.02em;line-height:1}.auth-slogan{margin:0!important;color:#7a96a8!important;font-size:13px!important;font-weight:400!important;line-height:1.5!important}.auth-form-heading{margin:0 0 4px;font-size:16px;font-weight:700;color:#1a2c38;letter-spacing:-.01em}.auth-card{width:min(100%,420px);padding:28px 28px 24px;border:1px solid rgba(210,214,218,.85);border-radius:16px;background:#fff;box-shadow:0 4px 20px #0000001a,0 1px 6px #0000000f}.auth-theme-toggle{position:fixed;top:16px;right:20px;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid rgba(100,130,155,.35);border-radius:8px;background:#f3f7fad9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#3d5c74;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;z-index:100}.auth-theme-toggle:hover{background:#e5ecf3;border-color:#64829b8c}.form-icon{display:grid;width:44px;height:44px;margin-bottom:18px;place-items:center;border-radius:12px;background:linear-gradient(135deg,#e2f4f7,#c4e8f0);color:#1d6472}.auth-card label{display:grid;gap:6px;margin-top:18px;color:#4a6070;font-size:13px;font-weight:600;letter-spacing:.01em}.auth-card input{min-height:46px;width:100%;box-sizing:border-box;border:1.5px solid #d0dbe5;border-radius:10px;padding:11px 14px;color:#172026;background:#ecf1f6;font-size:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.auth-card input:focus{border-color:#1d8a9d;background:#f3f7fa;outline:none;box-shadow:0 0 0 3px #1d8a9d24}.auth-card button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:0;border-radius:10px;padding:11px 18px;color:#fff;background:linear-gradient(135deg,#0d454b,#1a8fa4,#125b63);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 3px 12px #1d647252,inset 0 1px #ffffff24;transition:opacity .15s,box-shadow .15s,transform .12s}.auth-card button:hover,.icon-button:hover{opacity:.92;box-shadow:0 5px 18px #1d64726b;transform:translateY(-1px)}.auth-card button{width:100%;margin-top:24px;letter-spacing:.01em}.auth-card button:disabled{cursor:wait;opacity:.72}.auth-card .auth-forgot-link{display:block;width:100%;margin-top:10px;padding:7px;background:none;border:none;color:#4a7c8e;font-size:13px;font-weight:500;text-align:center;cursor:pointer;border-radius:8px;box-shadow:none;letter-spacing:0;min-height:auto;transition:color .15s,background .15s;transform:none!important}.auth-card .auth-forgot-link:hover{color:#1d6472;background:#1d647212;opacity:1;box-shadow:none}.auth-reset-info{font-size:13px;color:#587183;margin:0 0 8px;line-height:1.55}.icon-button{flex:0 0 auto}.error-banner,.form-error,.success-banner{border-radius:6px}.error-banner{margin-bottom:16px;padding:12px 14px;background:#fff1f1;color:#8a1f1f}.form-error{margin-top:14px;padding:10px 12px;font-size:14px;background:#fff1f1;color:#8a1f1f}.success-banner{margin-top:18px;padding:10px 12px;background:#e9f7f0;color:#1d6f55;font-size:14px}:root{--dash-green: #2dba7c;--dash-red: #e05050;--dash-amber: #e09030;--dash-teal: #1d9ab0;--dash-purple: #7c5cbf;--dash-blue: #3b80d0;--dash-indigo: #5060c0;--dash-muted: #a0b4c0}.dash-layout{padding:0 0 32px}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.dash-header--actions-only{justify-content:flex-end;margin-top:-6px;margin-bottom:10px}.dash-title{margin:0 0 4px;font-size:22px;font-weight:800;color:#1a2e3d;letter-spacing:-.02em}.dash-subtitle{margin:0;font-size:13px;color:#5b7c91;display:flex;align-items:center;gap:8px}.dash-clock{font-variant-numeric:tabular-nums;letter-spacing:.02em}.dash-role-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:#1d9ab01a;color:#1d6472;border:1px solid rgba(29,154,176,.2)}.dash-header-meta{display:flex;align-items:center;gap:5px;font-size:12px;color:#7a96a8;padding-top:4px}.dash-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0}body:not(.theme-dark) .mon-table th{background:#edf3f7;color:#4e6e82;border-bottom-color:#aac8dab3}body:not(.theme-dark) .inventory-table-header{background:#edf3f7;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:#1d6472}body:not(.theme-dark) .dash-panel-header{background:#e8f0f6;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:#1d6472}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{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.dash-stats--monitoring{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:8px}.inv-stat-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:20px;background:#0000000d;border:1px solid rgba(0,0,0,.1);font-size:13px;color:#2a4860;white-space:nowrap}.inv-stat-chip-icon{display:flex;align-items:center}.inv-stat-chip-count{font-weight:700;font-size:15px;line-height:1}.inv-stat-chip-label{opacity:.6;font-size:12px}.inv-stat-chip--teal{color:#0e7a8e;border-color:#0e7a8e40;background:#0e7a8e14}.inv-stat-chip--green{color:#15803d;border-color:#15803d40;background:#15803d14}.inv-stat-chip--red{color:#b91c1c;border-color:#b91c1c40;background:#b91c1c14}.inv-stat-chip--purple{color:#6d28d9;border-color:#6d28d940;background:#6d28d914}.inv-stat-chip--muted{color:#5a7a8a;border-color:#5a7a8a33;background:#5a7a8a0f}body.theme-dark .inv-stat-chip{color:#c8dae8;background:#ffffff12;border-color:#ffffff1a}body.theme-dark .inv-stat-chip--teal{color:#40d4ea;border-color:#40d4ea40;background:#40d4ea1a}body.theme-dark .inv-stat-chip--green{color:#4ade80;border-color:#4ade8040;background:#4ade801a}body.theme-dark .inv-stat-chip--red{color:#f87171;border-color:#f8717140;background:#f871711a}body.theme-dark .inv-stat-chip--purple{color:#a78bfa;border-color:#a78bfa40;background:#a78bfa1a}body.theme-dark .inv-stat-chip--muted{color:#7a9aaa;border-color:#7a9aaa33;background:#7a9aaa12}.dash-stat{display:flex;align-items:center;gap:14px;padding:18px 20px 16px;border:1px solid rgba(210,214,218,.8);border-radius:14px;background:#fff;box-shadow:0 1px 4px #0000000d,0 4px 14px #00000008;position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s;cursor:default}.dash-stat:hover{box-shadow:0 2px 10px #00000017,0 8px 24px #0000000f;transform:translateY(-2px)}.dash-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:14px 14px 0 0}.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{flex-shrink:0;width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#1d9ab01a;color:#1d8090}.dash-stat--green .dash-stat-icon{background:#2dba7c1c;color:#178a58}.dash-stat--red .dash-stat-icon{background:#e050501a;color:#c03030}.dash-stat--purple .dash-stat-icon{background:#7c5cbf1a;color:#6040a0}.dash-stat--blue .dash-stat-icon{background:#3b80d01a;color:#2860b0}.dash-stat--indigo .dash-stat-icon{background:#5060c01a;color:#4050a0}.dash-stat-body{display:flex;flex-direction:column;min-width:0}.dash-stat-value{font-size:30px;font-weight:800;line-height:1;color:#111e2a;letter-spacing:-.03em}.dash-stat-label{font-size:11px;font-weight:700;color:#4a6070;text-transform:uppercase;letter-spacing:.06em;margin-top:5px}.dash-stat-sub{font-size:11.5px;color:#8aa0b0;margin-top:3px}@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}}.dash-alert{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;padding:9px 14px;border-radius:10px;background:#e0505012;border:1px solid rgba(224,80,80,.3);color:#7a1a1a;font-size:13px;max-width:520px}.dash-alert--overview-bar{max-width:none;width:100%;margin:-4px 0 16px;border-radius:8px;padding:10px 14px}.dash-alert-dot{width:8px;height:8px;border-radius:50%;background:#e05050;flex-shrink:0;animation:pulse-dot 1.8s ease-in-out infinite}.dash-alert-dismiss{margin-left:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:none;border:none;cursor:pointer;color:#9a3030;opacity:.6;padding:0;min-height:unset;height:auto;transition:opacity .15s,background .15s}.dash-alert-dismiss:hover{opacity:1;background:#e050501f}.dash-alert-link{flex-shrink:0;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#8a2020;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;min-height:unset;height:auto}.dash-alert-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;background:#e050501a;border:1px solid rgba(224,80,80,.18);font-size:11px;font-weight:600;color:#9a2020;white-space:nowrap}.dash-alert-tag--more{background:#64788c0f;border-color:#64788c24;color:#5a7080}.inv-filter-bar{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid rgba(209,220,230,.6);background:#f8fafce6}.inv-filter-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#7a96a8;white-space:nowrap;padding-right:4px}.inv-filter-sep{width:1px;height:16px;background:#c8d5ddb3;flex-shrink:0}.inv-filter-tabs{display:flex;gap:3px;flex-wrap:wrap}.inv-filter-tab{display:inline-flex;align-items:center;gap:5px;padding:4px 13px;border-radius:20px;border:1px solid transparent;background:transparent;font-size:12px;font-weight:600;color:#5b7c91;cursor:pointer;transition:all .15s;min-height:unset;height:auto}.inv-filter-tab:hover{background:#1d9ab012;color:#1d6472;border-color:#1d9ab026}.inv-filter-tab.active{background:#1d9ab01c;border-color:#1d9ab047;color:#1d9ab0}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:#4e6a7a}body.theme-dark .inv-filter-tab:hover{background:#1d9ab01a;color:#4db8cc;border-color:#1d9ab033}body.theme-dark .inv-filter-tab.active{background:#1d9ab026;border-color:#1d9ab04d;color:#40d4ea}body.theme-dark .dash-alert-tag{background:#e050501f;border-color:#e0505033;color:#e07070}body.theme-dark .dash-alert-tag--more{background:#8ca0b412;border-color:#8ca0b41f;color:#6a8a9a}.dash-grids{display:flex;flex-direction:column;gap:14px}.dash-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}.dash-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-items:stretch}.dash-panel{border:1px solid rgba(210,214,218,.85);border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a;overflow:hidden;display:flex;flex-direction:column}.dash-panel-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(160,180,192,.4) transparent}.dash-panel-body::-webkit-scrollbar{width:4px}.dash-panel-body::-webkit-scrollbar-track{background:transparent}.dash-panel-body::-webkit-scrollbar-thumb{background:#a0b4c066;border-radius:2px}.dash-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 12px;border-bottom:1px solid rgba(209,220,230,.6)}.dash-panel-actions{display:inline-flex;align-items:center;gap:10px;min-width:0}.overview-fav-search{display:inline-flex;align-items:center;gap:6px;min-width:180px;padding:4px 9px;border:1px solid rgba(176,195,211,.8);border-radius:8px;background:#f2f7fa;color:#7a96a8}.overview-fav-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#1a2e3d;font-size:12px}.overview-fav-search input::placeholder{color:#8aa0b0}.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{font-size:13px;font-weight:700;color:#1a2e3d;text-transform:uppercase;letter-spacing:.05em}.dash-panel-meta{font-size:12px;color:#8aa0b0}.dash-panel-link{display:inline-flex;align-items:center;gap:4px;border-radius:6px;background:#1d9ab012;border:1px solid rgba(29,154,176,.15);transition:background .15s,border-color .15s,color .15s;line-height:1;font-size:12px;font-weight:600;color:#1d9ab0;background:none;border:none;cursor:pointer;padding:0;min-height:unset;height:auto;transition:color .13s}.dash-panel-link:hover{color:#1d6472}.dash-panel-divider{height:1px;background:#d1dce699;margin:8px 0}.dash-panel-sub-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#7a96a8;padding:0 18px 6px}.dash-empty{padding:18px;color:#8aa0b0;font-size:13px;margin:0}.dash-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;text-align:center}.dash-empty-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#1d9ab012;color:#8ab0c4;margin-bottom:2px}.dash-empty-title{font-size:13.5px;font-weight:700;color:#2a3e50;margin:0}.dash-empty-desc{font-size:12.5px;color:#8aa0b0;margin:0;line-height:1.5;max-width:220px}.dash-empty-action{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:6px 14px;border-radius:8px;background:#1d9ab01a;border:1px solid rgba(29,154,176,.2);color:#1d7a8c;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;min-height:unset;height:auto}.dash-empty-action:hover{background:#1d9ab029;border-color:#1d9ab052}.dash-health{padding:12px 18px 14px;display:flex;flex-direction:column;gap:8px}.dash-health-row{display:grid;grid-template-columns:72px 1fr 36px;align-items:center;gap:10px}.dash-health-label{font-size:12.5px;font-weight:600;color:#4a6070}.dash-health-track{height:6px;border-radius:99px;background:#d1dce680;overflow:hidden}.dash-health-fill{height:100%;border-radius:99px;transition:width .4s ease}.dash-health-count{font-size:12.5px;font-weight:700;color:#4a6070;text-align:right}.dash-device-list{display:flex;flex-direction:column}.dash-device-row{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:10px;padding:9px 18px;border-bottom:1px solid rgba(175,198,216,.55);transition:background .12s}.dash-device-row--favourite{grid-template-columns:10px minmax(0,1fr) auto auto 26px}.dash-device-row:last-child{border-bottom:none}.dash-device-row:hover{background:#f5f7f9}.dash-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.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{display:flex;flex-direction:column;gap:1px;overflow:hidden;min-width:0}.dash-device-name{font-size:13px;font-weight:600;color:#1a2e3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-device-meta{font-size:11.5px;color:#7a96a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-device-group{font-size:11.5px;color:#7a96a8;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis;text-align:right}.dash-dim{color:#b0c4cc}.dash-status-pill{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:99px;letter-spacing:.04em;white-space:nowrap}.dash-status-pill--online{background:#2dba7c38;color:#0d6b3a}.dash-status-pill--offline{background:#e0505038;color:#b01c1c}.dash-status-pill--warning{background:#e0903038;color:#804010}.dash-status-pill--unknown{background:#a0b4c038;color:#4a6070}.dash-breakdown{padding:10px 18px 12px;display:flex;flex-direction:column;gap:7px}.dash-breakdown-row{display:grid;grid-template-columns:1fr 80px 28px;align-items:center;gap:8px}.dash-breakdown-label{font-size:12.5px;font-weight:500;color:#2a3e4e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-mini-track{height:5px;border-radius:99px;background:#d1dce680;overflow:hidden}.dash-mini-fill{height:100%;border-radius:99px;background:#1d9ab08c;transition:width .4s ease}.dash-mini-fill--purple{background:#7c5cbf8c}.dash-breakdown-count{font-size:12px;font-weight:700;color:#4a6070;text-align:right}.dash-tag-cloud{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 14px}.dash-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:99px;background:#1d9ab00f;border:1px solid rgba(29,154,176,.15);color:#2a4050}.dash-tag-count{font-size:11px;font-weight:700;color:#1d9ab0}.dash-nav-grid{display:flex;flex-direction:column;padding:8px 0}.dash-nav-btn{display:flex;align-items:center;gap:12px;padding:10px 18px;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s;min-height:unset;height:auto;border-radius:0;width:100%}.dash-nav-btn:hover{background:#e5ecf3}.dash-nav-btn:hover .dash-nav-btn-arrow{color:#1d9ab0;transform:translate(2px)}.dash-nav-btn-icon{flex-shrink:0;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#1d9ab014;color:#1d6472}.dash-nav-btn-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.dash-nav-btn-label{font-size:13.5px;font-weight:600;color:#1a2e3d}.dash-nav-btn-desc{font-size:11.5px;color:#7a96a8}.dash-nav-btn-arrow{color:#b0c4cc;transition:color .13s,transform .13s;flex-shrink:0}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.metric,.panel{border:1px solid rgba(210,214,218,.85);border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.metric{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 20px}.metric-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#e2f4f7,#c4e8f0);color:#1d6472;font-size:18px;line-height:1;margin-bottom:6px}.metric span:not(.metric-icon){color:#587183;font-size:13px;font-weight:600}.metric strong{font-size:30px;font-weight:800;line-height:1.1;color:#1a2e3d}.panel{max-width:760px;margin-top:22px;padding:22px}.panel h2{margin:0 0 10px;font-size:18px}.panel p{margin:0;color:#4f6474;line-height:1.55}.overview-layout{margin-top:20px}.overview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.overview-title{margin:0;font-size:22px;font-weight:800;color:#1a2e3d}.overview-subtitle{margin:2px 0 0;font-size:13px;color:#5b7c91}.overview-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:20px}.overview-nav-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;border:1px solid rgba(210,214,218,.85);border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a;cursor:pointer;text-align:left;transition:all .18s}.overview-nav-card:hover{border-color:#1d8a9d;box-shadow:0 4px 18px #1d647226,0 1px 4px #1720260f;background:#f5feff;transform:translateY(-2px)}.overview-nav-icon{font-size:22px;line-height:1;margin-bottom:4px}.overview-nav-label{font-size:15px;font-weight:700;color:#1a2e3d}.overview-nav-desc{font-size:12px;color:#5b7c91;line-height:1.4}.admin-system-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.admin-system-stat{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid rgba(190,207,221,.78);border-radius:10px;background:#fff;box-shadow:0 1px 3px #17202614,0 4px 14px #1720260d}.admin-system-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;flex:0 0 auto}.admin-system-stat-icon--teal{color:#0e8a9a;background:#0e8a9a1c}.admin-system-stat-icon--blue{color:#1f6fd0;background:#1f6fd01c}.admin-system-stat-icon--purple{color:#7a42c8;background:#7a42c81c}.admin-system-stat strong{display:block;font-size:26px;font-weight:800;color:#1a2e3d;line-height:1.1}.admin-system-stat>div>span{display:block;font-size:11px;color:#587183;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.admin-system-stat .admin-system-stat-icon{display:inline-flex;align-items:center;justify-content:center}.inv-header{background:#f8fafbeb;border-top:1px solid var(--nm-border);border-bottom:1px solid var(--nm-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px #ffffffa6;flex-shrink:0}.inv-header-main{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(209,220,230,.5);min-height:54px;flex-wrap:wrap}.inv-chips{display:flex;gap:6px;flex-shrink:0}.inv-chip{display:inline-flex;flex-direction:row;align-items:center;gap:7px;padding:5px 13px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:#f8fafb;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap}.inv-chip-icon{display:flex;align-items:center;opacity:.65;flex-shrink:0}.inv-chip-count{font-size:16px;font-weight:800;line-height:1;letter-spacing:-.02em}.inv-chip-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;opacity:.65}.inv-chip--teal{color:#0e7a8e;border-color:#0e7a8e38;background:#0e7a8e0f}.inv-chip--green{color:#15803d;border-color:#15803d38;background:#15803d0f}.inv-chip--red{color:#b91c1c;border-color:#b91c1c38;background:#b91c1c0f}.inv-chip--purple{color:#6d28d9;border-color:#6d28d938;background:#6d28d90f}.inv-chip--muted{color:#4e6a7a;border-color:#4e6a7a33;background:#4e6a7a0d}.inv-vsep{width:1px;height:32px;background:#c8d5ddcc;flex-shrink:0;margin:0 2px}.inv-vsep--sm{height:18px}.inv-select{height:34px;padding:0 8px;border:1px solid rgba(200,213,221,.9);border-radius:8px;background:#f8fafb;font-size:12px;color:#263b4b;cursor:pointer;flex-shrink:0;max-width:130px}.inv-select:focus{outline:none;border-color:#1d9ab0}.inv-search-box{display:flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:1px solid rgba(200,213,221,.9);border-radius:8px;background:#f8fafb;flex:0 1 220px;min-width:120px}.inv-search-box input{border:none;background:none;outline:none;font-size:13px;color:#263b4b;width:100%;min-width:0}.inv-search-box input::placeholder{color:#9ab0bc}.inv-search-box svg{color:#7a96a8;flex-shrink:0}.inv-header-actions{display:flex;gap:6px;margin-left:auto;flex-shrink:0}.inv-action-btn{height:34px;padding:0 14px;border:1px solid rgba(200,213,221,.9);border-radius:8px;background:#f8fafb;font-size:13px;font-weight:600;color:#263b4b;cursor:pointer;transition:all .15s;white-space:nowrap;min-height:unset}.inv-action-btn:hover:not(:disabled){background:#edf2f7;border-color:#1d9ab066;color:#1d6472}.inv-action-btn--primary{background:linear-gradient(135deg,#1d6472,#1a8fa0);border-color:#1d9ab073;color:#fff;box-shadow:0 1px 6px #1d647238}.inv-action-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#175767,#178496);border-color:#1d9ab099;color:#fff}.inv-action-btn--danger{background:#e0505012;border-color:#e0505040;color:#9a2020}.inv-action-btn--danger:hover:not(:disabled){background:#e0505024}.inv-action-btn:disabled{opacity:.4;cursor:default}.inv-filter-row{display:flex;align-items:center;gap:10px;padding:8px 20px;background:#f8fafc;flex-wrap:wrap;min-height:44px}.inv-filter-row .inv-filter-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#7a96a8;white-space:nowrap;flex-shrink:0}.inv-filter-row .inv-select{height:28px;font-size:12px;padding:0 8px;max-width:140px}.inv-status-tab{height:28px;padding:0 13px;border:1px solid transparent;border-radius:20px;background:transparent;font-size:12px;font-weight:600;color:#5b7c91;cursor:pointer;transition:all .15s;min-height:unset;white-space:nowrap}.inv-status-tab:hover{background:#1d9ab012;border-color:#1d9ab02e;color:#1d6472}.inv-status-tab.active{background:#1d9ab01c;border-color:#1d9ab04d;color:#1d9ab0}.inv-fav-filter{display:inline-flex;align-items:center;gap:5px;height:34px;border-radius:8px}.inv-fav-filter.active{color:#a06a00;background:#e8b84021;border-color:#e8b84057}.inv-status-tab--muted{color:#8aa0b0}.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{display:flex;align-items:center;gap:5px;padding-left:4px}.inv-bulk-count{font-size:11px;font-weight:700;color:#1d9ab0;background:#1d9ab01a;border:1px solid rgba(29,154,176,.2);border-radius:20px;padding:2px 9px;white-space:nowrap}.inv-bulk-row{display:flex;align-items:center;gap:5px;padding:6px 16px;background:#f4f7f9;border-top:1px solid rgba(200,213,221,.5);flex-wrap:wrap;min-height:38px}.inventory-layout{gap:16px}.inventory-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 18px 0}.inventory-panel-header{display:flex;align-items:center;gap:6px;padding:9px 16px;border-bottom:1px solid rgba(176,195,211,.62);background:#f5f9fc;flex-shrink:0;position:relative}.inv-panel-title{font-size:13px;font-weight:700;color:#1a2e3d;white-space:nowrap;flex-shrink:0;margin-right:4px}.inv-sep{width:1px;height:20px;background:#b0c3d3e6;flex-shrink:0;margin:0 4px}.inv-search-box{flex:0 1 190px;min-width:120px;margin-left:auto}.inv-bulk-menu{position:relative;flex:0 0 auto}.inv-bulk-menu summary{list-style:none;display:inline-flex;align-items:center;gap:6px}.inv-bulk-menu summary::-webkit-details-marker{display:none}.inv-bulk-menu[open] summary{background:#1d9ab014;border-color:#1d9ab052;color:#1d6472}.inv-bulk-menu-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(560px,calc(100vw - 80px));padding:12px;border:1px solid rgba(150,171,190,.86);border-radius:10px;background:#f8fbfd;box-shadow:0 12px 30px #17202624;z-index:40}.inv-bulk-selection{display:flex;align-items:center;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(176,195,211,.5)}.inv-bulk-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.inv-bulk-menu-grid label{display:grid;gap:5px;min-width:0;color:#5a7080;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.inv-bulk-menu-grid .inv-select{width:100%;max-width:none}.inv-bulk-menu-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(176,195,211,.5);flex-wrap:wrap}@media(max-width:1180px){.inventory-panel-header .inv-search-box{flex:0 1 150px;min-width:100px}}@media(max-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}body.route-inventory .topology-content{overflow:visible;padding:0 12px 72px}}@media(max-width:560px){.inventory-stats{grid-template-columns:1fr}.inventory-panel-header .inv-panel-title{display:none}}.inv-pagination{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid rgba(209,220,230,.6);border-radius:0 0 10px 10px;background:#f8fafc;font-size:12px;color:#5b7c91;flex-shrink:0}.inv-pagination-info{flex:1;white-space:nowrap}.inv-pagination-controls{display:flex;align-items:center;gap:6px}.inv-pagination-btn{height:28px;padding:0 10px;border:1px solid rgba(200,213,221,.9);border-radius:7px;background:#f8fafb;font-size:12px;font-weight:600;color:#3a5870;cursor:pointer;min-height:unset;transition:all .15s}.inv-pagination-btn:hover:not(:disabled){background:#1d9ab014;border-color:#1d9ab04d;color:#1d9ab0}.inv-pagination-btn:disabled{opacity:.35;cursor:default}.inv-pagination-select{height:28px;padding:0 8px;border:1px solid rgba(200,213,221,.9);border-radius:7px;background:#f8fafb;font-size:12px;color:#3a5870;cursor:pointer}.inv-details-header{display:flex;align-items:center;gap:10px;padding:13px 18px 12px;background:#0d1b2b;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.04)}.inv-details-title{font-size:13px;font-weight:700;color:#c8dae8;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-details-badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;background:#ffffff14;color:#8ab0c8;white-space:nowrap;flex-shrink:0}.inv-details-badge--online{background:#2dba7c38;color:#4ade80}.inv-details-badge--offline{background:#e0505038;color:#f87171}.inv-details-badge--warning{background:#f59e0b38;color:#fbbf24}.inv-details-badge--disabled{background:#5a7a8a33;color:#7a96a8}.details-field-icon{display:flex;align-items:center;justify-content:center;width:16px;flex-shrink:0;color:#5a8aa8;opacity:.75}body.theme-dark .inv-header{background:#0e1c2af0;border-top-color:#1e2e3c;border-bottom-color:#1e2e3c;box-shadow:none}body.theme-dark .inv-header-main{border-bottom-color:#28465a73}body.theme-dark .inv-chip{background:#ffffff0a;border-color:#ffffff12;color:#8ab0c8}body.theme-dark .inv-chip-icon{opacity:.55}body.theme-dark .inv-chip--teal{color:#40d4ea;border-color:#40d4ea33;background:#40d4ea12}body.theme-dark .inv-chip--green{color:#4ade80;border-color:#4ade8033;background:#4ade8012}body.theme-dark .inv-chip--red{color:#f87171;border-color:#f8717133;background:#f8717112}body.theme-dark .inv-chip--purple{color:#a78bfa;border-color:#a78bfa33;background:#a78bfa12}body.theme-dark .inv-chip--muted{color:#4e6a7a;border-color:#4e6a7a26;background:#4e6a7a0a}body.theme-dark .inv-vsep{background:#28465a99}body.theme-dark .inv-select{background:#0d1a27;border-color:#28465ab3;color:#8ab0c8;color-scheme:dark}body.theme-dark .inv-select option{background:#1a2c3a;color:#8ab0c8}body.theme-dark .inv-search-box{background:#172839;border-color:#4a6980b8}body.theme-dark .inv-search-box input{color:#c8dae8;background:transparent;border-color:transparent}body.theme-dark .inv-search-box input::placeholder{color:#6f8fa6}body.theme-dark .inv-search-box svg{color:#7897ad}body.theme-dark .inv-action-btn{background:#0d1a27;border-color:#28465ab3;color:#8ab0c8}body.theme-dark .inv-action-btn:hover:not(:disabled){background:#132030;border-color:#1d9ab066;color:#4db8cc}body.theme-dark .inv-action-btn--primary{background:#1a2e40;border-color:#ffffff1a;color:#c8dae8}body.theme-dark .inv-action-btn--primary:hover:not(:disabled){background:#243d54}body.theme-dark .inv-action-btn--danger{background:#e0505014;border-color:#e0505033;color:#e07070}body.theme-dark .inv-fav-filter.active{color:#e8b840;background:#e8b8401f;border-color:#e8b84047}body.theme-dark .inv-bulk-menu[open] summary{background:#1d9ab01f;border-color:#1d9ab052;color:#5bc8da}body.theme-dark .inv-bulk-menu-panel{background:#131e28;border-color:#1e2e3c;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:#162331;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{background:#1d9ab01a;color:#4db8cc;border-color:#1d9ab033}body.theme-dark .inv-status-tab.active{background:#1d9ab026;border-color:#1d9ab04d;color:#40d4ea}body.theme-dark .inv-status-tab--muted{color:#2e4a5e}body.theme-dark .inv-bulk-count{background:#1d9ab01f;border-color:#1d9ab040;color:#40d4ea}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{background:#08101a99;border-top-color:#28465a66;color:#3a5870}body.theme-dark .inv-pagination-btn{background:#0d1a27;border-color:#28465ab3;color:#5a7a8a}body.theme-dark .inv-pagination-btn:hover:not(:disabled){background:#1d9ab01a;border-color:#1d9ab04d;color:#4db8cc}body.theme-dark .inv-pagination-select{background:#0d1a27;border-color:#28465ab3;color:#5a7a8a;color-scheme:dark}.topology-layout{position:relative;margin-top:24px;display:flex;flex-direction:column}#topology.topology-layout{margin-top:8px;height:calc(100dvh - var(--nm-topbar-height) - 108px);min-height:560px;overflow:hidden}body.route-topology .app-topbar{border-bottom-color:transparent}body.route-topology #topology.topology-layout{height:100%;min-height:0;margin-top:0}body.route-topology .topology-content{margin-top:0;position:relative;z-index:1}.topology-stats-chip{position:absolute;top:-2px;right:0;z-index:3;border:1px solid #d9e0e7;border-radius:999px;padding:4px 10px;color:#4f6474;background:#fbfdfef0;font-size:11px;font-weight:700}.topo-entity-backdrop{position:fixed;inset:0;z-index:19}.topo-entity-panel{position:absolute;top:8px;right:0;z-index:45;display:flex;gap:6px;align-items:flex-start}.topo-stat-btn{display:flex;align-items:center;gap:6px;padding:5px 11px 5px 9px;border:1px solid rgba(175,198,216,.6);border-top-color:#82a0b8d1;border-radius:8px;background:#fbfdfef2;cursor:pointer;font-size:12px;font-weight:700;color:#3a5570;transition:background .12s,border-color .12s,box-shadow .12s;white-space:nowrap;box-shadow:inset 0 1px #ffffffdb,0 1px 3px #1720260f}.topo-stat-btn:hover{background:#edf4fa;border-color:#1d9ab066}.topo-stat-btn--active{background:#e4f3f8;border-color:#1d9ab08c;box-shadow:0 1px 4px #1d9ab01f}.topo-stat-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;flex-shrink:0}.topo-stat-btn--devices .topo-stat-icon{background:#1d9ab01a;color:#1a7080}.topo-stat-btn--relationships .topo-stat-icon{background:#5060c01a;color:#4858a0}.topo-stat-btn--groups .topo-stat-icon{background:#7c5cbf1a;color:#6040a0}.topo-stat-count{font-size:15px;font-weight:800;color:#1a2e3d;line-height:1}.topo-stat-label{font-size:11px;font-weight:600;color:#5a7890;letter-spacing:.03em}.topo-entity-list{position:absolute;top:calc(100% + 6px);right:0;min-width:360px;max-width:520px;max-height:420px;overflow-y:auto;background:#fff;border:1px solid rgba(155,185,208,.7);border-radius:10px;box-shadow:0 4px 20px #1720261f,0 1px 4px #1720260f;padding:4px}.topo-entity-row{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;border-radius:7px;background:none;text-align:left;cursor:pointer;transition:background .1s;font-size:13.5px;color:#1e3547}.topo-entity-row:hover{background:#eef5fb}.topo-entity-row--active{background:#e2f2f9}.topo-entity-row--group{cursor:default;grid-template-columns:10px 1fr auto}.topo-entity-row--group:hover{background:none}.topo-entity-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topo-entity-meta{font-size:12px;color:#6a8fa8;white-space:nowrap}.topo-entity-arrow{font-size:12px;color:#7a9ab4;flex-shrink:0}.topo-entity-tag{font-size:11px;padding:2px 7px;border-radius:4px;background:#5060c014;color:#4858a0;white-space:nowrap}.topo-entity-group-dot{width:8px;height:8px;border-radius:50%;background:#7c5cbf80;flex-shrink:0}.topo-entity-empty{padding:12px 14px;font-size:12px;color:#7a9ab4;margin:0}.topo-entity-list .topo-entity-row:has(.topo-entity-arrow){grid-template-columns:1fr 14px 1fr auto}.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{display:flex;gap:12px}.security-toolbar{align-items:center;justify-content:space-between}.overlay-controls,.top-affected,.related-devices,.device-event-list{display:flex;gap:10px}.overlay-controls{align-items:center}.view-mode-toggle{display:inline-flex;border:1px solid #c8d3dd;border-radius:7px;overflow:hidden;background:#f3f7fa}.layout-dropdown{display:flex;align-items:end;gap:8px}.layout-dropdown label{display:grid;gap:6px;color:#314656;font-size:12px;font-weight:750;text-transform:uppercase}.layout-dropdown select{min-height:36px;min-width:170px;border:1px solid #c8d3dd;border-radius:6px;padding:6px 8px}.layout-dropdown button{min-height:36px;border:1px solid #c8d3dd;border-radius:6px;padding:7px 10px;color:#263b4b;background:#ecf1f6;font-weight:750;cursor:pointer}.layout-dropdown button:disabled{cursor:not-allowed;opacity:.55}.view-mode-toggle button{min-height:34px;border:0;padding:7px 12px;color:#314656;background:transparent;font-weight:750;cursor:pointer}.view-mode-toggle button.active{color:#fff;background:#1d6472}.overlay-controls{flex-wrap:wrap}.overlay-controls label:not(.inline-toggle){display:grid;grid-template-columns:auto minmax(110px,150px) auto;align-items:center;gap:6px;color:#314656;font-size:11px;font-weight:750;text-transform:uppercase}.overlay-controls label:not(.inline-toggle) input[type=range]{width:100%}.overlay-controls label:not(.inline-toggle) select{min-height:30px;border:1px solid #c8d3dd;border-radius:6px;padding:4px 7px;background:#f3f7fa}.overlay-controls button{min-height:30px;border:1px solid #c8d3dd;border-radius:6px;padding:5px 9px;color:#263b4b;background:#ecf1f6;font-weight:700;font-size:11px;cursor:pointer}.overlay-controls button:disabled{cursor:not-allowed;opacity:.55}.security-toolbar h2,.details-panel h3,.modal h3{margin:0}.security-toolbar p{margin:4px 0 0;color:#587183}.toolbar-actions button,.detail-actions button,.modal-actions button,.modal-header button{min-height:38px;border:0;border-radius:8px;padding:8px 14px;color:#fff;background:linear-gradient(135deg,#1d6472,#1a8fa0);font-weight:700;cursor:pointer;box-shadow:0 1px 4px #1d647238;transition:opacity .15s,box-shadow .15s}.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,#b83535)!important;box-shadow:0 1px 4px #9c2f2f40!important}.topology-content{align-items:stretch;margin-top:16px;flex:1 1 auto;min-height:0;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{margin-top:0;max-width:none}body.route-locations .dash-layout{display:flex;flex-direction:column}.loc-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px}.loc-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:14px}@media(max-width:1180px){.loc-controls .vlan-search-input{width:200px}}@media(max-width:760px){body.route-vlans .workspace,body.route-locations .workspace{padding:20px 16px 72px}}@media(max-width:560px){body.route-vlans .workspace,body.route-locations .workspace{padding:16px 12px 72px}.loc-controls{flex-wrap:wrap}.loc-controls .vlan-search-input{width:100%;flex:1}}.topology-content.details-open .graph-surface{flex:1 1 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{border:1px solid rgba(210,214,218,.85);border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.graph-surface{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;border-color:#1c2d3d;background:radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1px),#1a2736;background-size:28px 28px;cursor:grab}.graph-canvas{position:absolute;inset:0}.topology-overlay-layer{position:absolute;inset:0;pointer-events:none;z-index:15}.topology-overlay-node{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;color:inherit;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.topology-overlay-node.selected{filter:drop-shadow(0 0 6px rgba(74,163,255,.75))}.topology-overlay-label{display:flex;flex-direction:column;align-items:center;line-height:1.1;font-size:9px;font-weight:700;color:#111;white-space:nowrap}body.theme-dark .topology-overlay-label{color:#fff}.graph-surface:active{cursor:grabbing}.empty-graph{position:absolute;inset:0;display:grid;place-items:center;color:#587183;pointer-events:none}.inventory-surface{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;border-radius:10px}.details-panel{overflow:auto}.inventory-table{flex:1 1 auto;min-height:0;width:100%;min-width:0;border-radius:0;overflow:auto;border:0;border-bottom:0;box-shadow:none}.inventory-table-header,.inventory-row{display:grid;grid-template-columns:72px 1.2fr 1fr 1fr 132px 96px 1fr 1fr;gap:12px;align-items:center;min-width:900px;padding:11px 18px}.inventory-row-check{display:flex;align-items:center;gap:6px}.inventory-row-device{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden}.inventory-row-device>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-table-header{position:sticky;top:0;z-index:1;border-bottom:1px solid rgba(209,220,230,.8);color:#7a96a8;background:#f5f7f9;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.inventory-sort-btn{display:inline-flex;align-items:center;gap:3px;background:none;border:none;padding:0;color:inherit;font:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:color .13s}.inventory-sort-btn:hover{color:#1d6472}.inventory-sort-btn.active{color:#1d9ab0}.inventory-row{width:100%;min-height:50px;border:0;border-bottom:1px solid rgba(175,198,216,.7);border-left:3px solid transparent;color:#172026;background:#fff;text-align:left;cursor:pointer;font-size:13.5px;transition:background .13s,border-left-color .13s}.inventory-row:hover{background:#e8f2fa;border-left-color:#1d9ab04d}.inventory-row.active{background:#edf8fb;border-left-color:#1d9ab0}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:#eff5f9}body:not(.theme-dark) .inventory-table{background:#edf3f7;border-color:#9bb9d0c7}body:not(.theme-dark) .inventory-table-header{background:#e2ebf2;border-bottom-color:#89a8c0db;color:#3f6178}body:not(.theme-dark) .inventory-row:not(.active){background:#f9fcfe}body:not(.theme-dark) .inventory-row:nth-child(odd):not(.active){background:#f1f6fa}body:not(.theme-dark) .inventory-row:hover:not(.active){background:#e8f2fa}body:not(.theme-dark) .inventory-row.active{background:#e2f3f9}.inventory-group-select{width:100%;min-height:30px;border:1px solid rgba(200,211,221,.7);border-radius:8px;padding:4px 8px;color:#263b4b;background:#ecf1f6;font-size:13px;transition:border-color .13s}.inventory-group-select:focus{outline:none;border-color:#1d9ab0}.inventory-empty{padding:28px 18px;color:#7a96a8;font-size:14px}.inventory-bulk-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(209,220,230,.7);background:#f5f7f9}.inventory-bulk-title{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:6px;background:#1d647217;color:#1d6472;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-right:4px;white-space:nowrap}.inventory-bulk-edit label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:#5b7c91;text-transform:uppercase;letter-spacing:.05em}.inventory-bulk-edit select{min-height:30px;padding:4px 8px;border:1px solid rgba(200,213,221,.9);border-radius:8px;background:#f3f7fa;color:#263b4b;font-size:13px}.inventory-bulk-edit button{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border:1px solid rgba(29,100,114,.2);border-radius:8px;background:transparent;color:#2a6272;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .13s,border-color .13s,color .13s}.inventory-bulk-edit button:hover:not(:disabled){background:#1d647214;border-color:#1d647259;color:#1d6472}.inventory-bulk-edit button:disabled{opacity:.38;cursor:not-allowed}.inventory-bulk-edit button.danger-button{background:transparent!important;border-color:#9c2f2f38!important;color:#902828!important;box-shadow:none!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{display:grid;gap:8px;margin-top:12px}.group-settings-row{border:1px solid #d9e0e7;border-radius:6px;padding:8px;background:#eef4f8}.group-edit-grid{display:grid;gap:10px}.vlan-toolbar{display:flex;align-items:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid rgba(210,214,218,.6)}.loc-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:0}.vlan-search-input{height:32px;padding:0 10px;border:1px solid rgba(200,211,221,.8);border-radius:8px;font-size:13px;color:#1a2c38;background:#f3f7fa;width:260px;transition:border-color .13s,box-shadow .13s}.vlan-search-input:focus{outline:none;border-color:#1d9ab0;box-shadow:0 0 0 3px #1d9ab01f}.vlan-form-panel{flex:0 0 auto;width:340px;min-width:280px;max-width:400px;align-self:flex-start}.vlan-form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.vlan-form-heading h3{margin:0;font-size:15px;font-weight:700;color:#1a2c38}.vlan-form-close{background:#4e68781a;border:none;border-radius:6px;color:#5a7a90;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;min-height:unset;height:auto;box-shadow:none;flex-shrink:0;transition:color .13s,background .13s}.vlan-form-close:hover{background:#4e687838;color:#1a2c38}.vlan-table-header,.vlan-row{display:grid;grid-template-columns:1.5fr 60px 1fr .9fr .9fr 52px;gap:12px;align-items:center;padding:11px 24px 11px 18px}.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{position:sticky;top:0;z-index:1;border-bottom:1px solid rgba(209,220,230,.8);color:#7a96a8;background:#f5f7f9;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.vlan-header-cell{font:inherit;color:inherit}.vlan-row{border-bottom:1px solid rgba(175,198,216,.55);border-left:3px solid transparent;font-size:13px;color:#1a2c38;transition:background .13s,border-left-color .13s}.vlan-row:last-child{border-bottom:none}.vlan-row:hover{background:#e5ecf3;border-left-color:#1d9ab04d}.vlan-row--selected{background:#ddeef8;border-left-color:#1d9ab0}.vlan-cell-name{display:flex;align-items:center;gap:7px;overflow:hidden;min-width:0}.vlan-name-stack{display:flex;flex-direction:column;gap:1px;overflow:hidden;min-width:0}.vlan-name-primary{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vlan-name-sub{font-size:11.5px;color:#6a8898;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vlan-subnet-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;overflow:hidden}.vlan-mono-cell{font-family:SF Mono,Fira Mono,Consolas,monospace;font-size:12px;color:#263b4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.vlan-ip-pill{display:inline-block;width:fit-content;font-family:SF Mono,Fira Mono,Consolas,monospace;font-size:11.5px;padding:2px 7px;border-radius:5px;background:#1d9ab014;color:#1d6472;border:1px solid rgba(29,154,176,.18);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.vlan-usable-count{font-size:11px;color:#7a96a8}.vlan-id-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:5px;background:#6450c812;color:#5040a0;border:1px solid rgba(100,80,200,.16);font-size:12px;font-weight:700;font-family:SF Mono,Fira Mono,Consolas,monospace}.vlan-device-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:99px;background:#1d64721a;color:#1d6472;font-size:12px;font-weight:700}.vlan-empty-cell{color:#b0bec8}.vlan-inferred-badge{font-size:10px;font-weight:700;color:#6b7f8e;background:#e8edf2;border-radius:4px;padding:2px 6px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.vlan-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vlan-row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.vlan-action-btn{padding:4px 12px;font-size:12px;font-weight:600;height:auto;min-height:28px;border-radius:7px;border:1px solid rgba(29,100,114,.35);background:#1d64720f;color:#1d6472;cursor:pointer;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-left-color:#7896ac4d!important;border-bottom-style:dashed;cursor:default!important}.location-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.location-name-stack{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.location-address-cell{font-size:12.5px;color:#5a7080;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-list{display:flex;flex-direction:column}.loc-item{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid rgba(209,220,230,.5);cursor:pointer;transition:background .12s;min-width:0}.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:transparent}.loc-item-swatch{width:4px;min-height:36px;border-radius:3px;flex-shrink:0;background:#cbd5e0}.loc-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.loc-item-name{font-weight:600;font-size:13.5px;color:#1a2e3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-item-sub{font-size:11.5px;color:#8aa0b0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-item-addr{font-size:12px;color:#5a7080;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px;flex-shrink:1}.loc-item-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 8px;border-radius:999px;background:#1d9ab01a;color:#1d6472;font-size:12px;font-weight:600;flex-shrink:0}.loc-item-badge--zero{background:#b4c4d226;color:#8aa0b0}.loc-item-actions{display:flex;gap:6px;flex-shrink:0}.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:0 0 16px}.loc-card{border-radius:12px;border:1px solid rgba(209,220,230,.7);background:#fff;overflow:hidden;cursor:pointer;transition:box-shadow .18s,transform .18s;display:flex;flex-direction:column}.loc-card:hover{box-shadow:0 4px 18px #00000014,0 1px 6px #0000000a;transform:translateY(-2px)}.loc-card--selected{border-color:#1d9ab0;box-shadow:0 0 0 2px #1d9ab02e,0 4px 18px #00000012}.loc-card-accent{height:4px;background:#1d9ab0;flex-shrink:0}.loc-card-body{padding:14px 16px 12px;flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.loc-card-name{font-size:14px;font-weight:700;color:#1a2e3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.loc-card-sub{font-size:11.5px;color:#8aa0b0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-card-addr{font-size:11.5px;color:#5a7080;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.loc-card-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 10px;border-top:1px solid rgba(209,220,230,.5);gap:8px}.loc-card-actions{display:flex;gap:6px}.status-pill{display:inline-flex;align-items:center;gap:5px;min-height:24px;width:max-content;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.status-pill.online:before,.status-pill.offline:before,.status-pill.warning:before{content:"";display:block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-pill.online{color:#15803d;background:#15803d17;border:1px solid rgba(21,128,61,.25)}.status-pill.online:before{background:#22c55e;animation:pulse-dot-green 1.8s ease-in-out infinite}.status-pill.offline{color:#b91c1c;background:#b91c1c14;border:1px solid rgba(185,28,28,.25)}.status-pill.offline:before{background:#e05050;animation:pulse-dot 1.8s ease-in-out infinite}.status-pill.warning{color:#89621d;background:#fff8e8;border:1px solid rgba(217,154,34,.25)}.status-pill.warning:before{background:#d99a22}.status-pill.unknown{color:#4f6474;background:#edf3f7}.status-pill.disabled{color:#7a8a94;background:#e8edf0;text-decoration:line-through;opacity:.75}.details-panel{flex:0 0 340px;padding:18px}.layout-manager{display:grid;gap:12px;margin-bottom:18px;border-bottom:1px solid #d9e0e7;padding-bottom:18px}.layout-manager-header,.saved-layout-row,.saved-layout-row button{display:flex;align-items:center;justify-content:space-between;gap:10px}.layout-manager-header span{min-width:28px;border-radius:999px;padding:2px 8px;color:#1d6472;background:#e8f2f5;font-size:12px;font-weight:800;text-align:center}.layout-manager-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.layout-manager-form input{width:100%;min-height:40px;border:1px solid #c8d3dd;border-radius:6px;padding:8px 10px}.layout-manager-form button,.saved-layout-delete{min-height:38px;border:0;border-radius:8px;padding:8px 12px;color:#fff;background:linear-gradient(135deg,#1d6472,#1a8fa0);font-weight:700;cursor:pointer;box-shadow:0 1px 4px #1d647238;transition:opacity .15s}.saved-layout-list{display:grid;gap:8px}.saved-layout-row{border:1px solid #d9e0e7;border-radius:6px;padding:8px;background:#eef4f8}.saved-layout-row.active{border-color:#1d6472;background:#eef7fa}.saved-layout-row>button:first-child{flex:1 1 auto;min-width:0;border:0;padding:0;color:#172026;background:transparent;cursor:pointer;text-align:left}.saved-layout-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-layout-row span{color:#587183;font-size:12px}.saved-layout-delete{flex:0 0 auto;background:linear-gradient(135deg,#4e6878,#5c7d92)}.tools-content{align-items:flex-start;margin-top:16px}.admin-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.admin-panel{display:grid;gap:14px;align-content:start;margin-top:0;padding:20px;max-width:none;border-radius:10px}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(209,220,230,.6)}.notif-provider-heading{margin:0;font-size:15px;font-weight:700;color:#1a2c38;padding-bottom:10px;border-bottom:1px solid rgba(209,220,230,.8)}.admin-section-title{display:inline-flex;align-items:center;gap:10px;margin:0;color:#102033;font-size:16px;font-weight:800;letter-spacing:0}.admin-section-title svg{width:28px;height:28px;padding:6px;border-radius:8px;color:#0e8190;background:#0e8a9a1a;box-sizing:border-box;flex:0 0 auto}.notif-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.notif-test-btn{background:transparent;border:1px solid rgba(29,100,114,.25);border-radius:8px;color:#1d6472;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .13s,border-color .13s}.notif-test-btn:hover{background:#1d647212;border-color:#1d647266}.notif-result{font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px}.notif-result.ok{background:#2d9d781a;color:#1e7a56}.notif-result.err{background:#b4323217;color:#902828}.admin-panel-header button{min-height:36px;border:0;border-radius:8px;padding:7px 14px;color:#fff;background:linear-gradient(135deg,#1d6472,#1a8fa0);font-weight:700;cursor:pointer;box-shadow:0 1px 4px #1d647238;transition:opacity .15s}.admin-panel-header button:hover{opacity:.9}.admin-users-table{border:1px solid rgba(210,214,218,.85);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.admin-users-header,.admin-users-row{display:grid;grid-template-columns:minmax(200px,1.5fr) 152px 100px 225px;gap:10px;align-items:center;padding:10px 12px}.admin-users-header{border-bottom:1px solid #d9e0e7;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 strong{overflow:hidden;text-overflow:ellipsis}.admin-users-row select{min-height:36px;border:1px solid #c8d3dd;border-radius:6px;padding:6px 8px}.admin-create-form{border-top:1px solid #edf2f5;padding-top:12px}.admin-config-grid{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;margin:0}.admin-config-grid dt{color:#587183;font-weight:750}.admin-config-grid dd{margin:0}.tools-nav{flex:0 0 210px;display:flex;flex-direction:column;gap:2px;padding:4px 16px 4px 0;border-right:1px solid rgba(209,220,230,.6)}.tools-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;border-radius:8px;background:none;cursor:pointer;text-align:left;font-size:13px;font-weight:500;color:#3a5060;transition:background .12s,color .12s;min-height:unset;height:auto;width:100%}.tools-nav-item:hover{background:#1d9ab00f;color:#1a3a4a}.tools-nav-item--active{background:#1d9ab01a;color:#1d6472;font-weight:650}.tools-nav-item--locked{opacity:.55}.tools-nav-label{flex:1}.tools-nav-item .tool-badge{font-size:9.5px;padding:2px 6px}.tools-main{flex:1 1 auto;min-width:0;padding-left:28px}.tools-main-inner{max-width:620px}.tools-main .tool-card{padding:28px}.tool-form-actions{margin-top:8px;padding-top:16px;border-top:1px solid rgba(209,220,230,.8)}.tool-form-actions button{width:100%}.tool-card h3{margin:0}.tool-target-strip{display:flex;gap:10px;border:1px solid #d9e0e7;border-radius:8px;padding:12px 14px;background:#ecf1f6}.tool-role-card{flex-direction:column}.tool-role-card span,.tool-target-strip span{color:#587183;font-size:12px;font-weight:750;text-transform:uppercase}.tool-role-card p{margin:0;color:#4f6474}.tool-role-card code{overflow-wrap:anywhere;border-radius:6px;padding:6px 8px;color:#1d6472;background:#e8f2f5}.tool-target-strip{align-items:center;flex-wrap:wrap}.tool-target-strip strong{color:#13212b}.tool-target-strip button,.tool-form button{min-height:38px;border:0;border-radius:6px;padding:8px 12px;color:#fff;background:#1d6472;font-weight:750;cursor:pointer}.tool-form button.ipam-btn{min-height:unset;border:1px solid rgba(29,100,114,.35);border-radius:7px;padding:5px 14px;background:#1d64720f;color:#1d6472;font-weight:600}.tool-form button.ipam-btn.ipam-btn--primary{background:#1d9ab0;color:#fff;border-color:#1d9ab0}.modal-header-actions{display:inline-flex;align-items:center;gap:8px}.modal-header button.modal-close-btn{background:#4e68781a;border:none;border-radius:6px;color:#5a7a90;cursor:pointer;line-height:1;padding:6px;min-height:unset;height:auto;box-shadow:none;display:flex;align-items:center;justify-content:center;transition:color .13s,background .13s}.modal-header button.modal-close-btn:hover{background:#4e687838;color:#1a2c38}body.theme-dark .modal-header button.modal-close-btn{background:#5a7a952e;color:#8ab4cc}body.theme-dark .modal-header button.modal-close-btn:hover{background:#5a7a954d;color:#c8dff0}.modal-header button.ipam-btn,.modal-actions button.ipam-btn{min-height:unset;border:1px solid rgba(29,100,114,.35);border-radius:7px;padding:6px 16px;background:#1d64720f;color:#1d6472;font-weight:600;box-shadow:none}.modal-header button.ipam-btn.ipam-btn--primary,.modal-actions button.ipam-btn.ipam-btn--primary{background:#1d9ab0;color:#fff;border-color:#1d9ab0}.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:disabled{cursor:not-allowed;opacity:.55}.tools-grid{display:grid;flex:1 1 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exports-grid{margin-top:16px}.tool-card{display:grid;gap:14px;align-content:start;padding:18px}.tool-card-header,.tool-result-meta,.tool-hop-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tool-badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;color:#1d6472;background:#e8f2f5;font-size:12px;font-weight:800;text-transform:uppercase}.tool-badge.active{color:#1d6f55;background:#e9f7f0}.tool-badge.locked{color:#8a1f1f;background:#fff1f1}.tool-form,.tool-result{display:grid;gap:12px}.tool-form label{display:grid;gap:6px;color:#314656;font-size:14px;font-weight:750}.tool-form-inline-check{display:flex!important;flex-direction:row;align-items:flex-start;gap:8px!important;font-weight:600!important;cursor:pointer}.tool-form-inline-check input[type=checkbox]{width:auto;min-height:auto;margin-top:2px;flex-shrink:0}.tool-form-inline-check .tool-note{display:block;font-weight:400;font-size:12px;margin-top:1px}.tool-form input,.tool-form select{width:100%;min-height:40px;border:1px solid #c8d3dd;border-radius:6px;padding:8px 10px}.tool-form-grid,.tool-result-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.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{display:grid;gap:8px;margin:0;padding:0;list-style:none}.tool-result-list li,.tool-hop-row,.tool-status{border:1px solid #d9e0e7;border-radius:6px;padding:9px 10px;background:#eef4f8}.tool-result-empty,.tool-note{margin:0;color:#587183;line-height:1.45}.tool-output{margin:0;overflow:auto;border:1px solid #d9e0e7;border-radius:6px;padding:10px 12px;color:#263b4b;background:#eef4f8;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.tool-result-pairs{margin:0}.tool-result-pairs dt{color:#587183;font-weight:750}.tool-result-pairs dd{margin:0;color:#172026}.tool-status{margin:0;font-weight:800}.tool-status.success{color:#1d6f55}.tool-status.danger{color:#8a1f1f}.subnet-input-row{display:flex;gap:10px;align-items:flex-end}.subnet-ip-label{flex:1 1 auto}.subnet-prefix-label{flex:0 0 220px}.subnet-result-dl{display:grid;grid-template-columns:auto 1fr;margin:0;border:1px solid rgba(209,220,230,.7);border-radius:8px;overflow:hidden}.subnet-row{display:contents}.subnet-row dt,.subnet-row dd{padding:8px 14px;font-size:13px;border-bottom:1px solid rgba(209,220,230,.5);margin:0}.subnet-row:last-child dt,.subnet-row:last-child dd{border-bottom:none}.subnet-row dt{font-weight:600;color:#587183;white-space:nowrap;background:#edf3f899}.subnet-row dd{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px;color:#172026;word-break:break-all}.subnet-row--highlight dt{background:#1d9ab014;color:#1a4550;font-weight:700}.subnet-row--highlight dd{background:#1d9ab00f;color:#1a4550;font-weight:700}.subnet-ref{margin-top:14px;border-top:1px solid rgba(209,220,230,.6);padding-top:12px}.subnet-ref-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#7a96a8;margin-bottom:8px}.subnet-ref-table{width:100%;border-collapse:collapse;font-size:12.5px}.subnet-ref-table th{text-align:left;padding:5px 10px;font-weight:700;color:#587183;border-bottom:1px solid rgba(209,220,230,.7);background:#edf3f880}.subnet-ref-table td{padding:6px 10px;border-bottom:1px solid rgba(209,220,230,.35);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:#263b4b}.subnet-ref-table tr:last-child td{border-bottom:none}.subnet-ref-current td{background:#1d9ab014;color:#1a4550;font-weight:700}.security-live-controls{align-items:center}.inline-toggle{display:inline-flex;align-items:center;gap:8px;min-height:38px;color:#314656;font-weight:750}.inline-toggle input{width:18px;height:18px}.security-filters{display:grid;flex:0 0 280px;gap:12px;align-content:start;padding:16px}.security-filters label{display:grid;gap:6px;color:#314656;font-size:13px;font-weight:750}.security-filters input{width:100%;min-height:38px;border:1px solid #c8d3dd;border-radius:6px;padding:8px 10px}.security-search{position:relative}.security-search svg{position:absolute;left:10px;bottom:11px;color:#587183}.security-search input{padding-left:32px}.quick-filters{display:flex;flex-wrap:wrap;gap:8px}.quick-filters button,.clear-filters,.security-pagination button{min-height:34px;border:1px solid #c8d3dd;border-radius:6px;padding:7px 10px;color:#263b4b;background:#ecf1f6;font-weight:750;cursor:pointer}.quick-filters button:hover,.clear-filters:hover,.security-pagination button:hover:not(:disabled){border-color:#1d6472;color:#1d6472}.security-results{min-width:0;flex:1 1 auto;overflow:hidden}.security-results-meta,.security-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:#587183;font-size:13px;font-weight:750}.security-results-meta{border-bottom:1px solid #d9e0e7}.security-table{max-height:620px;overflow:auto}.security-table-header,.security-row{display:grid;grid-template-columns:168px 90px 120px 120px 150px 82px 92px 112px 88px 90px minmax(120px,1fr);gap:10px;align-items:center}.security-table-header{position:sticky;top:0;z-index:2;min-width:1330px;padding:10px 12px;border-bottom:1px solid #d9e0e7;background:#f5f7f9;color:#587183;font-size:12px;font-weight:800}.security-table-header button{border:0;padding:0;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.security-row-group{min-width:1330px;border-bottom:1px solid #edf2f5;border-left:3px solid transparent;transition:border-left-color .13s}.security-row-group:hover{border-left-color:#1d9ab04d}.security-row{width:100%;min-height:44px;border:0;padding:9px 12px;background:#f3f7fa;color:#172026;text-align:left;cursor:pointer}.security-row:hover{background:#ecf5f8}.row-time{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.clickable-cell{min-width:0;overflow:hidden;border-radius:4px;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.clickable-cell:hover{background:#e8f2f5;color:#1d6472}.topology-link-cell{color:#1d6472;font-weight:750}.related-devices{flex-wrap:wrap;align-items:center;padding:10px 14px 0 36px;color:#587183;font-size:12px;font-weight:700}.topology-jump-button{min-height:30px;border:1px solid #c8d3dd;border-radius:6px;padding:6px 10px;color:#1d6472;background:#ecf1f6;font-size:12px;font-weight:750;cursor:pointer}.topology-jump-button:hover{border-color:#1d6472}.action-pill{display:inline-block;width:max-content;max-width:100%;font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:99px;letter-spacing:.04em}.action-pill.block,.action-pill.deny,.action-pill.drop{background:#e0505038;color:#b01c1c}.action-pill.pass,.action-pill.allow,.action-pill.accept{background:#2dba7c38;color:#0d6b3a}.action-pill.unknown{background:#a0b4c038;color:#4a6070}.raw-log{margin:0;overflow:auto;padding:12px 14px 14px 36px;border-top:1px solid #edf2f5;color:#263b4b;background:#eef4f8;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.security-empty{padding:24px;color:#587183}.security-pagination{border-top:1px solid #d9e0e7}.security-pagination button:disabled{cursor:not-allowed;opacity:.55}.quick-filter-block{border-color:#b91c1c4d!important;color:#9c2020!important;background:#e0505014!important}.quick-filter-pass{border-color:#0d6b3a4d!important;color:#0a5e32!important;background:#2dba7c1a!important}.details-heading{align-items:center;padding-bottom:14px;margin-bottom:2px;position:relative}.details-heading:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:1px;background:#d1dce6e6;margin:0 4px}.details-heading h3{margin:0;font-size:15px;font-weight:700;color:#1a2c38;line-height:1.3;min-width:0}.details-heading-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:100%}.status-dot{display:inline-block;width:12px;height:12px;border-radius:999px;flex-shrink:0}.status-dot--sm{width:8px;height:8px}.status-dot.online{background:#2d9d78}.status-dot.offline{background:#8a96a3}.status-dot.warning{background:#d99a22}.status-dot.unknown{background:#5b7c91}.status-dot.disabled{background:#9aabb6;opacity:.6}.color-readout{display:inline-block;width:14px;height:14px;margin-right:7px;border:1px solid #b7c4ce;border-radius:999px;vertical-align:-2px}.details-panel dl{display:grid;grid-template-columns:110px 1fr;gap:16px 12px;margin:18px 0;padding:0 4px}.details-panel dt{color:#7a96a8;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}.details-panel dd{margin:0;font-size:13.5px;color:#1a2c38;overflow-wrap:anywhere}.panel-empty p{color:#587183;line-height:1.5}.top-affected{margin-top:16px;flex-direction:column;align-items:flex-start}.top-affected h4{margin:0;color:#314656;font-size:14px}.device-security-panel{padding-top:14px}.device-detail-tabs{display:flex;justify-content:space-between;border-bottom:1px solid rgba(209,220,230,.8);margin:4px -18px;padding:0 18px}.device-detail-tab{flex:1;padding:7px 12px;font-size:12px;font-weight:600;color:#8aa0b0;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;letter-spacing:.02em;text-align:center;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{flex:1;text-align:center}.live-status-inline{font-size:.72em;font-weight:500;margin-left:4px;vertical-align:middle}.live-status-inline.online{color:#2d9d78}.live-status-inline.offline{color:#8a96a3}.live-status-inline.warning{color:#d99a22}.details-heading-body{display:block;flex:1 1 auto;min-width:0}.details-live-badge{display:inline-flex;align-items:center;gap:5px;width:max-content;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent}.details-live-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.details-live-badge--online{background:#15803d17;border-color:#15803d38;color:#15803d}.details-live-badge--online .details-live-dot{background:#22c55e;animation:pulse-dot-green 1.8s ease-in-out infinite}.details-live-badge--offline{background:#b91c1c14;border-color:#b91c1c38;color:#b91c1c}.details-live-badge--offline .details-live-dot{background:#e05050;animation:pulse-dot 1.8s ease-in-out infinite}.details-live-badge--warning{background:#d99a221a;border-color:#d99a2240;color:#89621d}.details-live-badge--warning .details-live-dot{background:#d99a22}.details-live-rtt{font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;opacity:.75;border-left:1px solid currentColor;padding-left:5px;margin-left:1px}.editable-dd{cursor:text;border-radius:3px;padding:1px 3px;margin:-1px -3px;transition:background .12s}.editable-dd:hover{background:#1d9ab014}.details-inline-input{width:100%;box-sizing:border-box;font-size:.9em;padding:3px 6px;border:1px solid #1d6472;border-radius:4px;background:#f3f7fa;color:#1a2c38;outline:none;font-family:inherit}.details-inline-input:focus{border-color:#1d9ab0;box-shadow:0 0 0 2px #1d9ab02e}textarea.details-inline-input{resize:vertical;line-height:1.4}.details-inline-color{display:flex;align-items:center;gap:6px}.details-inline-color input[type=color]{width:34px;height:26px;border:1px solid #b7c4ce;border-radius:4px;padding:1px;cursor:pointer;background:none}.details-inline-auto{font-size:.8em;padding:3px 8px;border:1px solid #b7c4ce;border-radius:4px;background:#e5eaef;color:#314656;cursor:pointer}.details-edit-hint{font-size:.73em;color:#8a96a3;margin:4px 0 14px;text-align:center;letter-spacing:.01em}.security-heading{gap:8px}.security-heading h4{margin:0;font-size:14px}.security-summary-list{display:grid;grid-template-columns:80px 1fr;gap:8px 10px;margin:12px 0}.security-summary-list dt{color:#587183;font-weight:700}.security-summary-list dd{margin:0}.device-event-list{flex-direction:column}.device-event-row{display:grid;grid-template-columns:132px 72px minmax(0,1fr);gap:8px;align-items:center;min-height:34px;border:1px solid #d9e0e7;border-radius:6px;padding:7px 9px;color:#263b4b;background:#eef4f8;font-size:12px;text-align:left}.modal-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:#0a121cad}.modal{width:min(100%,560px);max-height:calc(100vh - 40px);overflow:auto;border-radius:16px;background:#f3f7fa;box-shadow:0 24px 64px #17202638,0 4px 16px #17202614}.modal-header{align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #d9e0e7}.modal-header button{background:#4e687826;color:#4e6878;box-shadow:none}.modal-form{display:grid;gap:14px;padding:20px}.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.scan-form-grid{display:grid;grid-template-columns:1fr;gap:14px}.modal-form label{display:grid;gap:6px;color:#314656;font-size:14px;font-weight:750}.modal-form .checkbox-label,.confirm-large-scan{display:flex;align-items:center;gap:9px}.checkbox-label input,.confirm-large-scan input{width:18px;min-height:18px}.scan-safety,.scan-progress{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d9e0e7;border-radius:8px;padding:12px 14px;background:#ecf1f6}.scan-safety.warning{border-color:#dfb867;background:#fff8e8}.scan-safety div,.scan-progress div:last-child{display:grid;gap:3px}.scan-safety span,.scan-progress span{color:#587183;font-size:13px;line-height:1.35}.confirm-large-scan{flex:0 0 auto;min-height:38px;border:1px solid #c8d3dd;border-radius:6px;padding:8px 10px;background:#f3f7fa;font-weight:750}.confirm-large-scan:has(input:disabled){color:#7d8c98;background:#edf3f7}.scan-progress{justify-content:flex-start}.scan-progress-pulse{width:16px;height:16px;border-radius:999px;background:#1d6472;animation:scan-pulse 1s ease-in-out infinite}@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{width:100%;min-height:40px;border:1px solid #c8d3dd;border-radius:6px;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{min-height:92px;resize:vertical}.color-picker{display:flex;flex-wrap:wrap;gap:8px}.color-picker button{width:34px;height:34px;min-height:34px;border:2px solid #d3dee7;border-radius:999px;padding:0;cursor:pointer}.color-picker button.selected{border-color:#172026;box-shadow:0 0 0 3px #1720261f}.color-picker .clear-color{width:auto;border-radius:6px;padding:0 10px;color:#263b4b;background:#edf3f7!important;font-weight:750}.color-picker .custom-color-picker{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid #c8d3dd;border-radius:6px;padding:0 10px 0 6px;color:#263b4b;background:#ecf1f6;font-size:12px;font-weight:750;cursor:pointer}.color-picker .custom-color-picker input[type=color]{width:24px;height:24px;min-height:24px;border:0;padding:0;background:transparent;cursor:pointer}.modal-actions{justify-content:flex-end}.modal-actions button:first-child{background:#1d64720f;border:1px solid rgba(29,100,114,.35);color:#1d6472;box-shadow:none}.modal-actions button:first-child:hover:not(:disabled){background:#1d64721f;border-color:#1d647280;opacity:1}.scan-results{border-top:1px solid #d9e0e7;padding:0 20px 20px}.scan-summary{display:flex;align-items:baseline;gap:8px;margin:18px 0 12px}.scan-summary strong{font-size:26px}.scan-summary span{color:#587183}.scan-table{display:grid;overflow:hidden;border:1px solid rgba(209,220,230,.8);border-radius:12px}.scan-table-header{display:grid;grid-template-columns:28px 120px 1fr 1fr 120px;gap:10px;padding:0 10px 8px;color:#587183;font-size:12px;font-weight:750}.scan-row{display:grid;grid-template-columns:28px 120px 1fr 1fr 120px;gap:10px;align-items:center;min-height:42px;padding:8px 10px;border-bottom:1px solid #edf2f5;font-size:13px}.scan-row:last-child{border-bottom:0}.scan-row input{width:16px;min-height:16px}.scan-import-actions{margin-top:14px}.empty-results{border:1px solid rgba(209,220,230,.8);border-radius:12px;padding:14px;color:#587183;background:#ecf1f6}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: rgba(255, 255, 255, .075);--nm-shell-text: #e7edf2;--nm-shell-muted: #7c8795;--nm-accent: #22c0cf;--nm-accent-strong: #55d6e1;--nm-accent-soft: rgba(34, 192, 207, .12);color:#d7e2ea;background:var(--nm-bg)}.dash-donut-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100px;height:100px;flex-shrink:0}.dash-donut-svg{width:100px;height:100px;transform:rotate(-90deg)}.dash-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.dash-donut-pct{font-size:21px;font-weight:800;letter-spacing:-.03em;color:#1a2e3d;line-height:1}.dash-donut-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8aa0b0}.dash-health-with-donut{display:flex;align-items:center;gap:16px;padding:14px 18px 16px}.dash-health-bars{flex:1;display:flex;flex-direction:column;gap:8px}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-row{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid rgba(175,198,216,.35)}.skeleton-row:last-child{border-bottom:none}.skeleton-line{border-radius:6px;background:linear-gradient(90deg,#e8edf3 25%,#d8e4ec,#e8edf3 75%);background-size:600px 100%;animation:shimmer 1.4s ease-in-out infinite}.skeleton-circle{border-radius:50%;flex-shrink:0;background:linear-gradient(90deg,#e8edf3 25%,#d8e4ec,#e8edf3 75%);background-size:600px 100%;animation:shimmer 1.4s ease-in-out infinite}body.theme-dark .auth-split-right{background:#0a1118}body.theme-dark .dash-empty-icon{background:#1d9ab014;color:#4a6a82}body.theme-dark .dash-empty-title{color:#8ab0c4}body.theme-dark .dash-empty-desc{color:#3a5262}body.theme-dark .dash-empty-action{background:#1d9ab01a;border-color:#1d9ab033;color:#4db8cc}body.theme-dark .dash-empty-action:hover{background:#1d9ab02e;border-color:#1d9ab059}body.theme-dark .dash-donut-pct{color:#c9d9e6}body.theme-dark .skeleton-line,body.theme-dark .skeleton-circle{background:linear-gradient(90deg,#111c28 25%,#1a2a38,#111c28 75%);background-size:600px 100%}body.theme-dark .dash-alert-dot{background:#e07070}body.theme-dark .dash-alert-dismiss{color:#c06060}body.theme-dark .dash-panel-link{background:#1d9ab014;border-color:#1d9ab02e}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{background:linear-gradient(90deg,rgba(29,154,176,.16) 0%,rgba(29,154,176,.045) 65%,transparent 100%);border-left-color:#1d9ab066;color:var(--nm-shell-text)}body.theme-dark .sidebar-link.active{background:linear-gradient(90deg,rgba(29,154,176,.3) 0%,rgba(29,154,176,.07) 65%,transparent 100%);border-left-color:#1d9ab0;color:#6ddbe8}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{border-color:#ffffff1f;color:var(--nm-shell-text)}body.theme-dark .app-topbar{border-bottom-color:var(--nm-border);background:#0e1c2af0}body.theme-dark .app-topbar-icon{border-color:#22c0cf3d;background:var(--nm-accent-soft);color:var(--nm-accent-strong)}body.theme-dark .app-topbar-copy strong{color:var(--nm-text)}body.theme-dark .app-topbar-status{border-color:#22a06b3d;color:#7ad6ad;background:#22a06b1a}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{background:#172839;border-color:#4a6980b8;color:#7897ad}body.theme-dark .loc-topbar-search input{color:#c8dae8;background:#172839;color-scheme:dark}body.theme-dark .loc-topbar-search input::placeholder{color:#6f8fa6}body.theme-dark .auth-theme-toggle{background:#0e1824d9;border-color:#ffffff1a;color:#8ab0c8}body.theme-dark .auth-theme-toggle:hover{background:#162637e6;border-color:#ffffff2e;color:#aac8e0}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:#1e2e3c;background:#131e28;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{background:#1d9ab014;color:#a8ccd8}body.theme-dark .tools-nav-item--active{background:#1d9ab024;color:#5bc8da}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:#1e2e3c;color:#d7e2ea;background:#131e28;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:#111a22;border-color:#324454;color:#d7e2ea}body.theme-dark .security-filters input:focus{border-color:#1d9ab0;background:#0e1e28;outline:none}body.theme-dark .security-search svg{color:#5a7a95}body.theme-dark .tool-form-actions{border-top-color:#1e2e3c}body.theme-dark .auth-brand{border-bottom-color:#ffffff12}body.theme-dark .notif-provider-heading{color:#c9d9e6;border-bottom-color:#ffffff12}body.theme-dark .notif-test-btn{border-color:#1d9ab038;color:#5bc8da}body.theme-dark .notif-test-btn:hover{background:#1d9ab01a;border-color:#1d9ab066}body.theme-dark .notif-result.ok{background:#2d9d7826;color:#4fbc80}body.theme-dark .notif-result.err{background:#dc50501f;color:#e08080}body.theme-dark .auth-brand-name{color:#c9d9e6}body.theme-dark .auth-slogan{color:#4e6a80!important}body.theme-dark .auth-form-heading{color:#c9d9e6}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:#4e7a94}body.theme-dark .auth-card input{border-color:#ffffff1a;background:#ffffff0a;color:#d7e2ea}body.theme-dark .auth-card input:focus{border-color:#1d9ab0;background:#1d9ab00f;box-shadow:0 0 0 3px #1d9ab024}body.theme-dark .metric-icon{background:linear-gradient(135deg,#0e2535,#0a3040);color:#3fbdd0}body.theme-dark .graph-surface{background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px),#141d25;background-size:28px 28px}body:not(.theme-dark) .graph-surface{border-color:#c8c8c8;background:radial-gradient(circle,rgba(0,0,0,.18) 1px,transparent 1px),#eaecef;background-size:28px 28px}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:#1a2c38;color:#d0dce6;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:#2a4258}body.theme-dark .details-inline-auto{background:#1e303f;color:#a0b8c8;border-color:#2a4258}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{border-color:#2b3946;color:#9db0bf;background:#1b2731}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:#293743;color:#d7e2ea;background:#16212b}body.theme-dark .subnet-result-dl{border-color:#1e2e3c}body.theme-dark .subnet-row dt{background:#0e1c28;color:#6a9ab8;border-bottom-color:#ffffff0d}body.theme-dark .subnet-row dd{background:#101e2c;color:#c8dce8;border-bottom-color:#ffffff0d}body.theme-dark .subnet-row--highlight dt{background:#1d9ab01f;color:#5bc8da}body.theme-dark .subnet-row--highlight dd{background:#1d9ab014;color:#5bc8da}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:#0e1c28;color:#4a7a94;border-bottom-color:#1e2e3c}body.theme-dark .subnet-ref-table td{color:#9db8cc;border-bottom-color:#ffffff0a}body.theme-dark .subnet-ref-current td{background:#1d9ab01a;color:#5bc8da}body.theme-dark .inventory-row{border-bottom-color:#ffffff0a;border-left-color:transparent}body.theme-dark .admin-user-name{color:#c9d9e6}body.theme-dark .admin-suspended-badge{background:#3a1414;color:#e08888}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:#0e1c28;border-color:#1d9ab0;color:#c9d9e6}body.theme-dark .admin-email-btn{border-color:#2a3d4e;background:#131e28;color:#7a9db8}body.theme-dark .admin-email-btn--save{border-color:#1a5a34;background:#0d2e1a;color:#4fbc80}body.theme-dark .admin-role-select--superadmin{border-color:#7a3030;background:#1e0e0e;color:#e09090}body.theme-dark .admin-role-select--networkadmin{border-color:#1e5060;background:#0a1e28;color:#70c8d8}body.theme-dark .admin-role-select--securityanalyst{border-color:#6a5010;background:#1a1200;color:#d4a040}body.theme-dark .admin-role-select--viewer{border-color:#3a5468;background:#0e1e28;color:#90b0c8}body.theme-dark .admin-status-pill.active{background:#0d2e1a;color:#4fbc80;border-color:#1a5a34}body.theme-dark .admin-status-pill.suspended{background:#3a1414;color:#e08888;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.warning{background:#d99a221a;border-color:#d99a2240;color:#fbbf24}body.theme-dark .details-live-badge--online{background:#4ade801a;border-color:#4ade8033;color:#4ade80}body.theme-dark .details-live-badge--offline{background:#f871711a;border-color:#f8717133;color:#f87171}body.theme-dark .details-live-badge--warning{background:#d99a221a;border-color:#d99a2233;color:#fbbf24}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:#0f1c28;color:#4e7a94;border-bottom-color:#1e2e3c}body.theme-dark .audit-log-row{border-bottom-color:#1a2836}body.theme-dark .audit-log-row:hover{background:#0d1820}body.theme-dark .audit-date{color:#c9d9e6}body.theme-dark .audit-time{color:#3a5262}body.theme-dark .audit-category-badge--auth{background:#0e1e3a;color:#7aa8e8;border-color:#1e3868}body.theme-dark .audit-category-badge--network,body.theme-dark .audit-category-badge--device,body.theme-dark .audit-category-badge--topology{background:#0a1e28;color:#4db8cc;border-color:#1d5060}body.theme-dark .audit-category-badge--security{background:#1a1200;color:#d4a040;border-color:#6a5010}body.theme-dark .audit-category-badge--system{background:#131e28;color:#5a7a8e;border-color:#243444}body.theme-dark .audit-action{color:#9db8cc}body.theme-dark .audit-actor{color:#8ab0c8}body.theme-dark .audit-target{color:#c9d9e6}body.theme-dark .audit-detail{color:#3a5262}body.theme-dark .inventory-group-select{border-color:#ffffff1a;color:#b0c8da;background:#111a22;color-scheme:dark}body.theme-dark .inventory-bulk-edit{border-bottom-color:#ffffff0d;background:#0f1c28}body.theme-dark .inventory-bulk-title{background:#1d9ab01f;color:#5bc8da}body.theme-dark .inventory-bulk-edit label{color:#4a7a94}body.theme-dark .inventory-bulk-edit select{border-color:#ffffff14;background:#111a22;color:#b0c8da;color-scheme:dark}body.theme-dark .inventory-bulk-edit button{border-color:#1d9ab029;color:#5a9ab8}body.theme-dark .inventory-bulk-edit button:hover:not(:disabled){background:#1d9ab01a;border-color:#1d9ab04d;color:#7abcd4}body.theme-dark .inventory-bulk-edit button.danger-button{border-color:#dc646433!important;color:#e08080!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:#c9d9e6}body.theme-dark .details-panel dt{color:#4e7a94}body.theme-dark .details-panel dd{color:#c0d0de}body.theme-dark .topology-toolbar-right label{color:#4e7a94}body.theme-dark .topology-toolbar-right button{border-color:#1d9ab02e;color:#5bc8da;background:#1d9ab012}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 .security-row:hover,body.theme-dark .inventory-row:hover{background:#192430}body.theme-dark .inventory-row:hover{border-left-color:#1d9ab040}body.theme-dark .inventory-row.active{background:#0e1e2e;border-left-color:#1d9ab0}body.theme-dark .saved-layout-row.active{background:#21303b}body.theme-dark .vlan-toolbar{border-bottom-color:#32506480}body.theme-dark .vlan-search-input{background:#1a2836;border-color:#648ca04d;color:#c9d9e6}body.theme-dark .vlan-search-input:focus{border-color:#1d9ab0}body.theme-dark .vlan-table-header{background:#0f1e2a;border-bottom-color:#32506480;color:#4e6a7a}body.theme-dark .vlan-row{border-bottom-color:#1e3241cc;color:#c9d9e6}body.theme-dark .vlan-row:hover{background:#162230;border-left-color:#1d9ab059}body.theme-dark .vlan-row--selected{background:#112030;border-left-color:#1d9ab0}body.theme-dark .vlan-name-primary{color:#c9d9e6}body.theme-dark .vlan-name-sub{color:#4e6a7a}body.theme-dark .vlan-mono-cell{color:#7aacbe}body.theme-dark .vlan-usable-count{color:#3a5262}body.theme-dark .vlan-id-badge{background:#6450c81f;color:#a090e8;border-color:#6450c838}body.theme-dark .vlan-ip-pill{background:#1d9ab01f;color:#4db8cc;border-color:#1d9ab038}body.theme-dark .vlan-device-badge{background:#1d647233;color:#4db8cc}body.theme-dark .vlan-empty-cell{color:#3a5262}body.theme-dark .vlan-inferred-badge{background:#1e2e3a;color:#4e6a7a}body.theme-dark .vlan-form-heading h3{color:#c9d9e6}body.theme-dark .vlan-form-close{background:#5a7a952e;color:#8ab4cc}body.theme-dark .vlan-form-close:hover{background:#5a7a954d;color:#c8dff0}body.theme-dark .vlan-action-btn{color:#4db8cc;border-color:#4db8cc40;background:#4db8cc12}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:#8ab4c8}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:#5a7a95}body.theme-dark .loc-item-addr{color:#8ab4c8}body.theme-dark .loc-item-badge{background:#1d9ab026;color:#4db8cc}body.theme-dark .loc-item-badge--zero{background:#5a788c1f;color:#5a7a95}body.theme-dark .loc-item-swatch{background:#2d3d52}body.theme-dark .loc-card{background:#0f1e2a;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:#1d9ab0;box-shadow:0 0 0 2px #1d9ab040}body.theme-dark .loc-card-name{color:#d8eaf5}body.theme-dark .loc-card-sub{color:#5a7a95}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:#111a22;border-color:#324454;color:#d7e2ea}body.theme-dark .tool-form input:focus,body.theme-dark .tool-form select:focus{border-color:#1d9ab0;background:#0e1e28;outline:none}body.theme-dark .tool-output,body.theme-dark .raw-log{color:#c8dae8;background:#0e1c28;border-color:#1e2e3c}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:#0e1c28;border-color:#1e2e3c}body.theme-dark .tool-target-strip span,body.theme-dark .tool-target-strip strong{color:#c8dae8}body.theme-dark .tool-target-strip button{background:#131e28;border-color:#243040;color:#8ab4cc}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:#d7e2ea}body.theme-dark .overview-subtitle{color:#6a8fa8}body.theme-dark .overview-nav-card:hover{border-color:#1d9ab0;background:#0e1e2c;box-shadow:0 4px 18px #0000004d,0 2px 8px #1d9ab01a;transform:translateY(-2px)}body.theme-dark .overview-nav-label{color:#c9d9e6}body.theme-dark .overview-nav-desc{color:#6a8fa8}body.theme-dark .metric strong,body.theme-dark .admin-system-stat strong{color:#d7e2ea}body.theme-dark .admin-system-stat span{color:#4a6070}body.theme-dark .admin-system-stat-icon--teal{color:#40d4ea;background:#40d4ea1a}body.theme-dark .admin-system-stat-icon--blue{color:#6aa8f0;background:#6aa8f01a}body.theme-dark .admin-system-stat-icon--purple{color:#a78bfa;background:#a78bfa1a}body.theme-dark .dash-title{color:#d7e2ea}body.theme-dark .dash-subtitle{color:#5a7a8e}body.theme-dark .dash-role-badge{background:#1d9ab026;color:#4db8cc;border-color:#1d9ab040}body.theme-dark .dash-header-meta{color:#3a5262}body.theme-dark .dash-stat{background:#131e28;border-color:#28465a8c;box-shadow:0 1px 4px #0003,0 4px 14px #00000026}body.theme-dark .dash-stat:hover{box-shadow:0 2px 10px #0000004d,0 8px 24px #0003}body.theme-dark .dash-stat-value{color:#d7e8f2}body.theme-dark .dash-stat-label{color:#4e6a7a}body.theme-dark .dash-stat-sub{color:#334e5e}body.theme-dark .dash-stat-icon{background:#1d9ab021;color:#4db8cc}body.theme-dark .dash-stat--green .dash-stat-icon{background:#2dba7c1f;color:#2dba7c}body.theme-dark .dash-stat--red .dash-stat-icon{background:#e050501f;color:#e05050}body.theme-dark .dash-stat--purple .dash-stat-icon{background:#7c5cbf1f;color:#a080e8}body.theme-dark .dash-stat--blue .dash-stat-icon{background:#3b80d01f;color:#60a0e0}body.theme-dark .dash-stat--indigo .dash-stat-icon{background:#5060c01f;color:#8090d8}body.theme-dark .dash-alert{background:#e050501a;border-color:#e0505038;color:#e08080}body.theme-dark .dash-alert-link{color:#e08080}body.theme-dark .dash-panel{background:#131e28;border-color:#28465a99}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{background:#172839;border-color:#4a6980b8;color:#7897ad}body.theme-dark .overview-fav-search input{color:#c9d9e6;background:transparent;border-color:transparent}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:hover{background:#0c1820}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{background:#2dba7c38;color:#3dd690}body.theme-dark .dash-status-pill--offline{background:#e0505038;color:#f06060}body.theme-dark .dash-status-pill--warning{background:#e0903038;color:#e09040}body.theme-dark .dash-status-pill--unknown{background:#3c5a6e59;color:#6a8a9a}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{background:#1d9ab014;border-color:#1d9ab033;color:#7a96a8}body.theme-dark .dash-tag-count{color:#4db8cc}body.theme-dark .dash-nav-btn:hover{background:#0c1820}body.theme-dark .dash-nav-btn-icon{background:#1d9ab01a;color:#4db8cc}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:#111a22;border-color:#324454;color:#d7e2ea}body.theme-dark .dtype-icon-current:hover{border-color:#1d6472;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{background:#0d2028;border-color:#1d6472;color:#5abfcc}body.theme-dark .icon-picker-modal{background:#17222b}body.theme-dark .icon-picker-header{border-color:#243040}body.theme-dark .icon-picker-title{color:#d7e2ea}body.theme-dark .icon-picker-close{background:#5a7a952e;color:#8ab4cc}body.theme-dark .icon-picker-close:hover{background:#5a7a954d;color:#c8dff0}body.theme-dark .icon-picker-search-row{border-color:#1f2f3c}body.theme-dark .icon-picker-search{background:#111a22;border-color:#324454;color:#d7e2ea}body.theme-dark .icon-picker-search:focus{border-color:#1d9ab0;background:#0e1e28}body.theme-dark .icon-picker-item{color:#7a9fb8}body.theme-dark .icon-picker-item:hover{background:#1b2e3a;border-color:#41586d;color:#d7e2ea}body.theme-dark .icon-picker-item.selected{background:#0d2028;border-color:#1d6472;color:#5abfcc}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:#d7e2ea}body.theme-dark .icon-picker-tab.active{color:#4db8cc;border-bottom-color:#1d9ab0}body.theme-dark .icon-mgr-modal{background:#17222b}body.theme-dark .icon-mgr-header{border-color:#243040}body.theme-dark .icon-mgr-title{color:#d7e2ea}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:#d7e2ea}body.theme-dark .icon-mgr-tab.active{color:#4db8cc;border-bottom-color:#1d9ab0}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:hover{background:#1b2e3a}body.theme-dark .icon-mgr-pack-row.active{background:#0e2030}body.theme-dark .icon-mgr-pack-name{color:#d7e2ea}body.theme-dark .icon-mgr-badge{background:#0d2028;color:#4db8cc}body.theme-dark .icon-mgr-badge--local{background:#1a1a2e;color:#8090d8}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:#0e2030;border-color:#1d6472;color:#4db8cc}body.theme-dark .icon-mgr-btn:hover{background:#0d3040;border-color:#1d9ab0}body.theme-dark .icon-mgr-btn--danger{background:#2a1212;border-color:#6a2020;color:#e07070}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:#d7e2ea}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:#111a22;border-color:#324454;color:#d7e2ea}body.theme-dark .icon-mgr-form input:not([type=file]):focus{border-color:#1d9ab0;background:#0e1e28}body.theme-dark .icon-mgr-device-types-actions{border-color:#1a2633}body.theme-dark .system-icon-manage-btn{background:#0e2030;border-color:#1d6472;color:#4db8cc}body.theme-dark .system-icon-manage-btn:hover{background:#0d3040;border-color:#1d9ab0}body.theme-dark .icon-picker-trigger-btn{background:#111a22;border-color:#324454}body.theme-dark .icon-picker-trigger-btn:hover{border-color:#1d9ab0;background:#0e1e28}body.theme-dark .icon-picker-trigger-name{color:#d7e2ea}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 .clear-filters,body.theme-dark .security-pagination button,body.theme-dark .layout-dropdown button,body.theme-dark .overlay-controls button{border-color:#324454;color:#d7e2ea;background:#111a22}body.theme-dark .quick-filter-block{border-color:#e050504d!important;color:#f06060!important;background:#e050501a!important}body.theme-dark .quick-filter-pass{border-color:#2dba7c4d!important;color:#3dd690!important;background:#2dba7c1a!important}body.theme-dark .action-pill.block,body.theme-dark .action-pill.deny,body.theme-dark .action-pill.drop{background:#e0505038;color:#f06060}body.theme-dark .action-pill.pass,body.theme-dark .action-pill.allow,body.theme-dark .action-pill.accept{background:#2dba7c38;color:#3dd690}body.theme-dark .action-pill.unknown{background:#3c5a6e59;color:#6a8a9a}body.theme-dark .topology-control-group{border-color:#324454;background:#111a22}body.theme-dark .topology-section h4{color:#9db0bf}body.theme-dark .topology-stats-chip{border-color:#324454;color:#a8bac8;background:#111a22eb}body.theme-dark .topo-stat-btn{background:#121c26f2;border-color:#2a3d50;color:#90b4c8;box-shadow:0 1px 3px #00000040}body.theme-dark .topo-stat-btn:hover{background:#152030;border-color:#1d9ab066}body.theme-dark .topo-stat-btn--active{background:#0e2535;border-color:#1d9ab080}body.theme-dark .topo-stat-count{color:#d0dce8}body.theme-dark .topo-stat-label{color:#5a8098}body.theme-dark .topo-stat-btn--devices .topo-stat-icon{background:#1d9ab026;color:#3fbdd0}body.theme-dark .topo-stat-btn--relationships .topo-stat-icon{background:#5060c026;color:#7888d8}body.theme-dark .topo-stat-btn--groups .topo-stat-icon{background:#7c5cbf26;color:#9870d8}body.theme-dark .topo-entity-list{background:#111e2a;border-color:#2a3d50;box-shadow:0 4px 24px #0006}body.theme-dark .topo-entity-row{color:#c8dae8}body.theme-dark .topo-entity-row:hover{background:#162433}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{background:#5060c026;color:#7888d8}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:#324454;color:#d7e2ea;background:#111a22}body.theme-dark .topology-toolbar:not(.topology-toolbar--ribbon){background:#111c26;border-bottom-color:#1e2e3c}body.theme-dark .topology-toolbar--ribbon{background:#07181ff0;border-bottom-color:var(--nm-border);box-shadow:none}body.theme-dark .topology-toolbar--ribbon:before{background:#2d46588c}body.theme-dark .toolbar-btn{background:#1b2731;border-color:#324454;color:#c8dae8}body.theme-dark .toolbar-btn:hover:not(:disabled){background:#243544;border-color:#41586d;color:#e3eef6}body.theme-dark .toolbar-select{background:#1b2731;border-color:#324454;color:#c8dae8;color-scheme:dark}body.theme-dark .toolbar-select option{background:#1a2736;color:#c8dae8}body.theme-dark .toolbar-label{color:#4e7a94}body.theme-dark .admin-tabs{background:#ffffff0a}body.theme-dark .admin-tab-btn{color:#4e7a94}body.theme-dark .admin-tab-btn:hover{color:#8ab0c8;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:#324454;color:#d7e2ea;background:#111a22}body.theme-dark .topology-toolbar-right button:hover{background:#1b2731;border-color:#41586d}@media(max-width:760px){:root{--nm-topbar-height: 56px}.app-shell{grid-template-columns:1fr}.app-main{min-height:calc(100dvh - 52px)}.sidebar{flex-direction:row;align-items:center;padding:0 10px;min-height:52px;height:auto;overflow-y:visible;border-right:none;border-bottom:1px solid rgba(0,0,0,.2);gap:0}.brand{min-height:auto;padding:2px 10px 2px 4px;font-size:15px;flex-shrink:0;margin-right:2px}.sidebar nav{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0;margin-top:0;flex:1;min-width:0;-webkit-overflow-scrolling:touch}.sidebar nav::-webkit-scrollbar{display:none}.sidebar-section-label,.sidebar-section-rule{display:none}.sidebar-link{justify-content:center;font-size:0;padding:8px;min-height:40px;width:40px;flex-shrink:0;border-left:none;border-bottom:2px solid transparent;border-radius:8px}.sidebar-link.active{background:linear-gradient(90deg,rgba(29,154,176,.28) 0%,rgba(29,154,176,.06) 65%,transparent 100%);border-left-color:#1d9ab0;border-bottom-color:transparent;padding-left:8px;color:#5bc8da}.sidebar-theme-toggle,.sidebar-logout{font-size:0;width:34px;min-height:34px;justify-content:center;padding:6px;margin-top:0;flex-shrink:0;border:1px solid rgba(255,255,255,.1);border-radius:8px}.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{align-items:flex-start;flex-direction:column}.admin-tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;width:100%;-webkit-overflow-scrolling:touch}.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{width:100%;align-items:flex-start;justify-content:flex-start}.security-live-controls{align-items:flex-start;flex-direction:column}.details-panel,.security-filters{flex-basis:auto}.tools-nav{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid rgba(209,220,230,.6);padding:0 0 8px}.tools-main{padding-left:0;padding-top:20px}.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-table-header,.scan-row,.admin-users-header,.admin-users-row,.inventory-table-header,.inventory-row,.device-event-row{grid-template-columns:1fr}.scan-safety{align-items:stretch;flex-direction:column}body.theme-dark .sidebar{border-bottom-color:#ffffff14}}@media(max-width:480px){:root{--nm-topbar-height: 54px}.app-shell{display:block;min-height:100dvh}.app-main{min-height:100dvh}.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:100;flex-direction:row;align-items:center;padding:0 4px env(safe-area-inset-bottom);height:56px;min-height:56px;border-bottom:none;border-top:1px solid rgba(0,0,0,.28);border-right:none;gap:0;flex-wrap:nowrap}.brand{display:none}.sidebar nav{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0;margin-top:0;flex:1;min-width:0;justify-content:space-around;-webkit-overflow-scrolling:touch}.sidebar nav::-webkit-scrollbar{display:none}.sidebar-section-label,.sidebar-section-rule{display:none}.sidebar-link{flex:1;justify-content:center;font-size:0;padding:4px 6px;min-height:48px;width:auto;min-width:0;flex-shrink:1;border-left:none;border-bottom:none;border-top:2px solid transparent;border-radius:0}.sidebar-link.active{background:linear-gradient(90deg,rgba(29,154,176,.24) 0%,rgba(29,154,176,.06) 65%,transparent 100%);border-left-color:#1d9ab0;border-bottom-color:transparent;border-top-color:transparent;color:#5bc8da;padding-left:6px}.sidebar-theme-toggle,.sidebar-logout{font-size:0;width:44px;min-height:48px;justify-content:center;padding:4px;margin-top:0;flex-shrink:0;border:none;border-radius:0;border-top:2px solid transparent}.sidebar-logout{margin-top:0;margin-left:0}.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{padding:16px 12px 72px;min-height:100dvh;box-sizing:border-box}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));overflow:hidden;padding:10px 10px 56px}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{padding:0;align-items:flex-end}.modal,.modal--wide{width:100%;max-width:100%;max-height:92dvh;border-radius:18px 18px 0 0}.device-form-body{grid-template-columns:1fr}.device-form-col+.device-form-col{border-left:none;border-top:1px solid rgba(209,220,230,.3)}.icon-picker-backdrop,.icon-mgr-backdrop{align-items:flex-end}.icon-picker-modal{width:100%;max-width:100%;max-height:88dvh;border-radius:16px 16px 0 0}.icon-mgr-modal{width:100%;max-width:100%;max-height:92dvh;border-radius:16px 16px 0 0}.workspace-header{gap:10px}.admin-tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;width:100%;-webkit-overflow-scrolling:touch}.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{display:flex;gap:4px;margin-bottom:18px;padding:4px;background:#17263409;border-radius:10px;border-bottom:none;width:fit-content}.admin-tab-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:none;border-bottom:none;margin-bottom:0;padding:6px 18px;font-size:13px;font-weight:600;color:#6a8699;cursor:pointer;border-radius:7px;transition:color .15s,background .15s,box-shadow .15s;white-space:nowrap}.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{width:100%;padding:7px 10px;border:1px solid #c8d6e0;border-radius:5px;font-size:13px;margin-bottom:12px;box-sizing:border-box}.admin-col-center{display:flex;align-items:center;justify-content:center}.admin-user-identity{display:flex;align-items:center;gap:10px;overflow:hidden;min-width:0}.admin-user-avatar-wrap{position:relative;flex-shrink:0}.admin-user-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;overflow:hidden;position:relative;transition:filter .15s}.admin-user-avatar:hover{filter:brightness(.88)}.admin-user-avatar:hover .admin-avatar-overlay{opacity:1}.admin-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.admin-avatar-initials{pointer-events:none}.admin-avatar-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000006b;border-radius:50%;opacity:0;transition:opacity .15s;color:#fff}.admin-avatar-clear{display:none;position:absolute;top:-3px;right:-3px;width:14px;height:14px;border-radius:50%;border:1.5px solid #fff;background:#c53030;color:#fff;font-size:10px;line-height:1;align-items:center;justify-content:center;cursor:pointer;padding:0;min-height:unset;font-weight:900}.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,#1d5e6c,#1d8c9e)}.admin-user-avatar--securityanalyst{background:linear-gradient(135deg,#7a5200,#b07800)}.admin-user-avatar--viewer{background:linear-gradient(135deg,#4a6278,#6688a0)}.admin-user-info{overflow:hidden;min-width:0;display:flex;flex-direction:column;gap:3px}.admin-user-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#1a2e3d}.admin-suspended-badge{display:inline-block;font-size:9px;padding:1px 6px;border-radius:8px;background:#fce8e8;color:#9b1f1f;font-weight:700;text-transform:uppercase;letter-spacing:.04em;align-self:flex-start}.admin-email-display{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;max-width:100%;min-width:0;text-align:left;border-radius:3px}.admin-email-display:hover .admin-email-pencil{opacity:1}.admin-user-email{font-size:11px;color:#5a7d94;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-email-placeholder{font-size:11px;color:#9ab0bc;font-style:italic}.admin-email-pencil{opacity:0;color:#9ab0bc;flex-shrink:0;transition:opacity .12s}.admin-email-edit-row{display:flex;align-items:center;gap:3px;min-width:0}.admin-email-input{font-size:11px;padding:2px 6px;border:1px solid #1d9ab0;border-radius:4px;min-width:0;flex:1;min-height:unset;height:22px;background:#fff;outline:none;color:#1a2e3d}.admin-email-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;border:1px solid #c8d6e0;background:#f4f8fa;cursor:pointer;flex-shrink:0;padding:0;color:#4a6a7a;min-height:unset}.admin-email-btn--save{border-color:#a8dfbf;background:#e8f7ef;color:#1a6e3a}.admin-role-select{font-size:11px;padding:4px 8px;border-radius:12px;font-weight:700;cursor:pointer;border:1.5px solid;line-height:1.3;width:100%}.admin-role-select:disabled{opacity:.7;cursor:not-allowed}.admin-role-select--superadmin{border-color:#e8b0b0;background:#fff5f5;color:#7a1f1f}.admin-role-select--networkadmin{border-color:#8ec5cf;background:#eef6f8;color:#155060}.admin-role-select--securityanalyst{border-color:#d4c070;background:#fdfbee;color:#5a4200}.admin-role-select--viewer{border-color:#b0c4d4;background:#f5f9fc;color:#3a5468}.admin-status-toggle{display:flex;align-items:center;cursor:pointer}.admin-status-toggle input[type=checkbox]{display:none}.admin-status-pill{font-size:11px;padding:4px 12px;border-radius:12px;font-weight:700;white-space:nowrap;border:1px solid;transition:background .12s}.admin-status-pill.active{background:#e4f5ec;color:#1a6e3a;border-color:#a8dfbf}.admin-status-pill.suspended{background:#fce8e8;color:#9b1f1f;border-color:#e8b0b0}.admin-row-actions{display:flex;gap:4px;flex-wrap:nowrap;align-items:center;justify-content:center}.admin-action-btn{font-size:11px;padding:4px 10px;border-radius:5px;border:1px solid #c8d6e0;background:#f4f8fa;cursor:pointer;color:#263b4b;white-space:nowrap;flex:1;text-align:center}.admin-action-btn:hover{background:#e2ecf2}.admin-action-btn--danger{border-color:#e0b0b0;color:#8a1f1f;background:#fff5f5}.admin-action-btn--danger:hover{background:#ffe0e0}.admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-panel-actions{display:flex;gap:6px;flex-wrap:wrap}.alert-status-pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;background:#8282821a;color:#6a7a84}.alert-status-pill--active{background:#2d9d781a;color:#1d7a5a}.alert-test-results{display:flex;flex-direction:column;gap:3px;margin-top:6px}body.theme-dark .alert-status-pill{background:#82828226;color:#7a96a8}body.theme-dark .alert-status-pill--active{background:#2d9d7826;color:#3ab88a}body.theme-dark .admin-action-btn{background:#1d9ab014;border-color:#1d9ab040;color:#8ab4cc}body.theme-dark .admin-action-btn:hover{background:#1d9ab026}body.theme-dark .admin-action-btn--danger{background:#b43c3c1a;border-color:#b43c3c4d;color:#e07070}body.theme-dark .admin-action-btn--danger:hover{background:#b43c3c2e}.admin-reset-form{margin-top:16px;border-top:1px solid #e0e8f0;padding-top:16px}.admin-reset-actions{display:flex;gap:8px;margin-top:8px}.device-type-icon-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:14px}.device-type-icon-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.dtype-type-label{font-size:13px;font-weight:600;color:#2b3e4e;white-space:nowrap}.dtype-icon-picker{position:relative}.dtype-icon-current{display:flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #c8d6e0;border-radius:6px;background:#fff;cursor:pointer;font-size:12px;color:#263b4b;transition:border-color .12s,background .12s}.dtype-icon-current:hover{border-color:#1d6472;background:#f0f7f8}.dtype-icon-current img{display:block;flex-shrink:0}.dtype-icon-current span{font-size:12px;white-space:nowrap}.dtype-icon-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #c8d6e0;border-radius:8px;padding:8px;display:flex;flex-wrap:wrap;gap:4px;z-index:300;box-shadow:0 4px 20px #00000021;min-width:220px;max-width:300px}.dtype-icon-option{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 8px;border:1.5px solid transparent;border-radius:6px;background:none;cursor:pointer;font-size:10px;color:#3b5060;transition:background .1s,border-color .1s;min-width:56px}.dtype-icon-option:hover{background:#eef6f8;border-color:#aebfcb}.dtype-icon-option.selected{background:#dff0f3;border-color:#1d6472;color:#1d6472;font-weight:700}.dtype-icon-option img{display:block}.icon-picker-backdrop{position:fixed;inset:0;background:#0a141e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center}.icon-picker-modal{background:#fff;border-radius:12px;box-shadow:0 8px 40px #0a1e3238;width:min(620px,95vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.icon-picker-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #e8edf2}.icon-picker-title{font-size:15px;font-weight:700;color:#1d3a50}.icon-picker-close{background:#4e68781a;border:none;border-radius:6px;color:#5a7a90;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;min-height:unset;height:auto;box-shadow:none;flex-shrink:0;transition:color .13s,background .13s}.icon-picker-close:hover{background:#4e687838;color:#1a2c38}.icon-picker-search-row{padding:12px 20px 10px;border-bottom:1px solid #eef2f6}.icon-picker-search{width:100%;padding:7px 12px;border:1px solid #d0dae3;border-radius:6px;font-size:13px;color:#1d3a50;background:#f8fbfd;outline:none;box-sizing:border-box;transition:border-color .15s}.icon-picker-search:focus{border-color:#2196a0;background:#fff}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;padding:14px 16px;overflow-y:auto}.icon-picker-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px 8px;border:1.5px solid transparent;border-radius:8px;background:none;cursor:pointer;font-size:11px;color:#4b6578;text-align:center;line-height:1.25;transition:background .12s,border-color .12s,color .12s}.icon-picker-item:hover{background:#eef6f9;border-color:#bcd9e4;color:#1d3a50}.icon-picker-item.selected{background:#e0f4f7;border-color:#2196a0;color:#1d6472;font-weight:600}.icon-picker-empty{grid-column:1/-1;color:#8a9baa;font-size:13px;text-align:center;padding:24px 0;margin:0}.icon-picker-img{display:block;object-fit:contain;border-radius:3px}.icon-picker-tabs{display:flex;gap:2px;padding:8px 16px 0;border-bottom:1px solid #eef2f6;overflow-x:auto;scrollbar-width:none}.icon-picker-tabs::-webkit-scrollbar{display:none}.icon-picker-tab{flex-shrink:0;padding:5px 12px 6px;font-size:12px;font-weight:600;color:#7a9fb8;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;border-radius:4px 4px 0 0;transition:color .12s,border-color .12s;margin-bottom:-1px}.icon-picker-tab:hover{color:#1d3a50}.icon-picker-tab.active{color:#1d6472;border-bottom-color:#2196a0}.icon-mgr-backdrop{position:fixed;inset:0;background:#0a141e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center}.icon-mgr-modal{background:#fff;border-radius:12px;box-shadow:0 8px 40px #0a1e3238;width:min(700px,96vw);max-height:82vh;display:flex;flex-direction:column;overflow:hidden}.icon-mgr-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #e8edf2;flex-shrink:0}.icon-mgr-title{font-size:15px;font-weight:700;color:#1d3a50}.icon-mgr-tabs{display:flex;gap:0;padding:0 16px;border-bottom:1px solid #e8edf2;flex-shrink:0;overflow-x:auto;scrollbar-width:none}.icon-mgr-tabs::-webkit-scrollbar{display:none}.icon-mgr-tab{padding:10px 16px;font-size:13px;font-weight:600;color:#7a9fb8;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color .12s,border-color .12s}.icon-mgr-tab:hover{color:#1d3a50}.icon-mgr-tab.active{color:#1d6472;border-bottom-color:#2196a0}.icon-mgr-banner{padding:8px 20px;font-size:12px;font-weight:600;flex-shrink:0}.icon-mgr-banner--error{background:#fef2f2;color:#b44444}.icon-mgr-banner--success{background:#f0faf5;color:#1a6e3a}.icon-mgr-body{flex:1;overflow-y:auto}.icon-mgr-packs-list{display:flex;flex-direction:column}.icon-mgr-pack-row{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid #f0f4f8;transition:background .1s}.icon-mgr-pack-row:hover{background:#f8fbfd}.icon-mgr-pack-row.active{background:#eef7f9}.icon-mgr-pack-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.icon-mgr-pack-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.icon-mgr-pack-name{font-size:14px;font-weight:600;color:#1d3a50}.icon-mgr-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:99px;background:#e0f4f7;color:#1d6472;letter-spacing:.04em}.icon-mgr-badge--local{background:#f0f0fa;color:#5860c0}.icon-mgr-pack-count{font-size:11px;color:#8a9baa}.icon-mgr-pack-preview{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin-top:2px}.icon-mgr-preview-item{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#f4f8fa;border-radius:4px}.icon-mgr-preview-more{font-size:11px;color:#8a9baa;padding-left:2px}.icon-mgr-pack-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0}.icon-mgr-btn{padding:5px 12px;font-size:12px;font-weight:600;border-radius:5px;border:1px solid #bcd9e4;background:#eef7f9;color:#1d6472;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.icon-mgr-btn:hover{background:#d8eef4;border-color:#2196a0}.icon-mgr-btn--danger{border-color:#f0c0c0;background:#fef5f5;color:#b44444}.icon-mgr-btn--danger:hover{background:#ffe0e0;border-color:#b44444}.icon-mgr-import-sections{display:flex;flex-direction:column}.icon-mgr-import-section{padding:20px 24px;border-bottom:1px solid #f0f4f8}.icon-mgr-import-section:last-child{border-bottom:none}.icon-mgr-section-header{margin-bottom:12px}.icon-mgr-section-title{display:block;font-size:14px;font-weight:700;color:#1d3a50;margin-bottom:2px}.icon-mgr-section-desc{display:block;font-size:12px;color:#7a9fb8}.icon-mgr-form{display:flex;flex-direction:column;gap:10px}.icon-mgr-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#5b7c91}.icon-mgr-form input[type=file]{font-size:12px}.icon-mgr-form input:not([type=file]){padding:6px 10px;border:1px solid #d0dae3;border-radius:5px;font-size:13px;color:#1d3a50;background:#f8fbfd;outline:none}.icon-mgr-form input:not([type=file]):focus{border-color:#2196a0;background:#fff}.icon-mgr-form button[type=submit]{align-self:flex-start;padding:6px 16px;font-size:13px;font-weight:600;background:#2196a0;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background .12s}.icon-mgr-form button[type=submit]:hover:not(:disabled){background:#1d6472}.icon-mgr-form button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.icon-mgr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.icon-mgr-device-types{padding:20px 24px}.icon-mgr-device-types-actions{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #eef2f6}.icon-mgr-saved-tick{font-size:12px;color:#1a6e3a;font-weight:700}.system-tab-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.system-tab-col{display:flex;flex-direction:column;gap:20px}.system-icon-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.system-icon-manage-btn{flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:600;background:#eef7f9;color:#1d6472;border:1.5px solid #bcd9e4;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.system-icon-manage-btn:hover{background:#d8eef4;border-color:#2196a0}@media(max-width:760px){.system-tab-grid{grid-template-columns:1fr}}.icon-picker-field{display:flex;flex-direction:column;gap:5px}.icon-picker-field-label{font-size:12px;font-weight:600;color:#5b7c91;text-transform:uppercase;letter-spacing:.04em}.icon-picker-trigger-wrap{position:relative}.icon-picker-trigger-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:1.5px solid #d0dae3;border-radius:7px;background:#f8fbfd;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.icon-picker-trigger-btn:hover{border-color:#2196a0;background:#eef7f9}.icon-picker-trigger-text{flex:1;display:flex;flex-direction:column;gap:1px}.icon-picker-trigger-name{font-size:13px;font-weight:600;color:#1d3a50}.icon-picker-trigger-hint{font-size:11px;color:#8a9baa}.icon-picker-trigger-chevron{color:#8a9baa;flex-shrink:0}.audit-log-table{font-size:12.5px}.audit-log-header,.audit-log-row{display:grid;grid-template-columns:110px 1fr 90px 1.4fr;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(209,220,230,.7);align-items:start}.audit-log-header{font-size:11px;font-weight:800;color:#5b7c91;text-transform:uppercase;letter-spacing:.05em;background:#eef3f7;border-radius:6px 6px 0 0;padding:8px 14px;border-bottom:1px solid rgba(209,220,230,.9)}.audit-log-row:hover{background:#f6fafb}.audit-time-cell{display:flex;flex-direction:column;gap:1px}.audit-date{color:#263b4b;font-size:12px;font-weight:600}.audit-time{color:#7a96a8;font-family:monospace;font-size:11px}.audit-event-cell{display:flex;flex-direction:column;gap:4px;min-width:0}.audit-category-badge{display:inline-block;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em;align-self:flex-start;white-space:nowrap;border:1px solid}.audit-category-badge--auth{background:#e8f0fd;color:#1d45a0;border-color:#b0c8f4}.audit-category-badge--network,.audit-category-badge--device,.audit-category-badge--topology{background:#e4f5f7;color:#145060;border-color:#8ec5cf}.audit-category-badge--security{background:#fdf5e4;color:#7a4d00;border-color:#d4b060}.audit-category-badge--system{background:#eff2f5;color:#4a6278;border-color:#b8ccda}.audit-action{font-size:12px;color:#1a2e3d;font-weight:500;word-break:break-word}.audit-actor{color:#2a4860;font-weight:600;font-size:12.5px;align-self:center}.audit-context-cell{display:flex;flex-direction:column;gap:2px;min-width:0;align-self:center}.audit-target{color:#1a3048;font-size:12px;font-weight:500;word-break:break-word}.audit-detail{color:#6a8a9e;font-size:11px;word-break:break-word}.audit-empty{color:#8a9baa;padding:20px 14px}.audit-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 0 0;font-size:13px;color:#5b7c91}.audit-pagination button{font-size:13px;padding:5px 14px}.announcement-banner{background:#fff8e0;border-bottom:2px solid #e6c840;color:#5a4300;padding:10px 20px;font-size:13px;font-weight:500;text-align:center;flex-shrink:0}.topology-toolbar{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px 6px;padding:6px 12px;min-height:44px;position:relative}.topology-toolbar h2{margin:0}.topology-toolbar p{margin:4px 0 0;color:#587183}.topology-toolbar:not(.topology-toolbar--ribbon)>div:first-child{display:grid;gap:2px}.topology-toolbar-right{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-left:auto}.topology-toolbar-right label{display:grid;gap:6px;color:#314656;font-size:12px;font-weight:750}.topology-toolbar-right label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#4f6474}.topology-toolbar-right select{min-height:36px;border:1px solid rgba(200,213,221,.9);border-radius:8px;padding:6px 10px;color:#263b4b;background:#fff;font-size:13px;box-shadow:0 1px 3px #1720260d}.topology-toolbar-right button{min-height:36px;border:1px solid rgba(29,100,114,.22);border-radius:8px;padding:6px 14px;color:#1d6472;background:#1d64720f;font-size:13px;font-weight:650;cursor:pointer;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{position:relative;z-index:40;overflow:visible;background:#f8fafbeb;border-bottom:1px solid var(--nm-border);box-shadow:none;min-height:50px;padding:0 22px;align-items:stretch;flex-wrap:nowrap;gap:4px;border-radius:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topology-toolbar--ribbon:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#7896ac47;pointer-events:none}.topology-toolbar--ribbon .toolbar-group{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 10px;flex-shrink:0;min-height:0}.topology-toolbar--ribbon .toolbar-group-controls{display:flex;align-items:center;gap:7px}.topology-toolbar--ribbon .toolbar-group--toggles{flex-wrap:wrap;gap:6px 12px}.toolbar-label{font-size:9.5px;font-weight:700;color:#7a96a8;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;width:100%;text-align:center}.toolbar-select{font-size:12px;padding:5px 9px;border:1px solid rgba(209,220,230,.9);border-radius:7px;background:#f6f9fc;color:#2a4258;max-width:140px;transition:border-color .15s,background .15s}.toolbar-select option{background:#fff;color:#2a4258}.toolbar-select:focus{outline:none;border-color:#1d9ab080;background:#fff}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 13px;border:1px solid rgba(209,220,230,.9);border-radius:7px;background:#f6f9fc;color:#2a4258;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.toolbar-btn:hover{background:#1d647212;border-color:#1d64724d;color:#1a3a52}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-btn--sm{padding:4px 10px;font-size:11px}.toolbar-btn--primary{background:linear-gradient(135deg,#1d6472,#1a8fa0);color:#fff;border-color:#1d9ab080;box-shadow:0 1px 6px #1d647259}.toolbar-btn--primary:hover{opacity:.88;border-color:#1d9ab099}.toolbar-toggle{display:flex;align-items:center;gap:5px;font-size:12px;color:#6a94ae;cursor:pointer;white-space:nowrap;transition:color .15s}.toolbar-toggle:hover{color:#9abdd4}.toolbar-toggle input[type=checkbox]{cursor:pointer;accent-color:#1d9ab0}.toolbar-divider{width:1px;align-self:stretch;background:#ffffff2e;flex-shrink:0;margin:8px 0}.toolbar-dropdown-wrapper{position:relative;z-index:55}.toolbar-btn--active{background:#1d9ab024;border-color:#1d9ab059;color:#5bc8da}.toolbar-btn--active:hover{background:#1d9ab033;border-color:#1d9ab073;color:#7dd8e6}.toolbar-display-panel{position:absolute;top:calc(100% + 6px);left:0;background:#0f1d2c;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;box-shadow:0 12px 40px #0000008c,0 2px 10px #0000004d;z-index:100;display:flex;flex-direction:column;gap:14px;min-width:240px}.toolbar-display-panel:before{content:"";position:absolute;top:-5px;left:16px;width:8px;height:8px;background:#0f1d2c;border-left:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.08);transform:rotate(45deg)}.toolbar-display-panel label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#6a90aa}.toolbar-display-panel label span{font-size:11px;color:#3a5a72;font-weight:700;align-self:flex-end}.toolbar-display-panel select{font-size:12px;padding:5px 8px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0d;color:#90b4c8}.toolbar-display-panel input[type=range]{accent-color:#1d9ab0;width:100%}.toolbar-display-actions{display:flex;gap:6px}.toolbar-display-actions .toolbar-btn{flex:1}.toolbar-btn-badge{display:inline-flex;align-items:center;background:#1d9ab040;color:#5bc8da;border-radius:999px;font-size:10px;font-weight:700;padding:1px 6px;margin:0 2px;letter-spacing:.02em}.toolbar-btn--xs{font-size:11px;padding:4px 9px;min-height:unset}.toolbar-groups-panel{position:absolute;top:calc(100% + 6px);left:0;background:#0f1d2c;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;box-shadow:0 12px 40px #0000008c,0 2px 10px #0000004d;z-index:100;display:flex;flex-direction:column;gap:10px;min-width:220px}.toolbar-groups-panel:before{content:"";position:absolute;top:-5px;left:16px;width:8px;height:8px;background:#0f1d2c;border-left:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.08);transform:rotate(45deg)}.toolbar-groups-actions{display:flex;gap:6px}.toolbar-groups-actions .toolbar-btn{flex:1}.toolbar-groups-list{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.toolbar-group-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;background:none;border:none;cursor:pointer;color:#c8dae8;font-size:12px;text-align:left;width:100%;transition:background .12s,color .12s}.toolbar-group-row:hover{background:#ffffff0f}.toolbar-group-row--hidden{color:#4a6a80}.toolbar-group-row--hidden:hover{background:#ffffff0a;color:#6a8aa0}.toolbar-group-eye{flex-shrink:0;display:flex;opacity:.7}.toolbar-group-row:hover .toolbar-group-eye{opacity:1}.toolbar-group-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-group-count{flex-shrink:0;font-size:11px;font-weight:600;color:#3a6a80;background:#ffffff0f;border-radius:999px;padding:0 7px;min-width:22px;text-align:center}.toolbar-groups-empty{margin:0;font-size:12px;color:#4a6a80;text-align:center;padding:6px 0}.topo-entity-row--hidden{opacity:.45}.topo-entity-eye{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#4a6a80;padding:2px 4px;border-radius:4px;transition:color .12s,background .12s}.topo-entity-eye:hover{color:#c8dae8;background:#ffffff14}.scan-target-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;padding:6px 2px}.scan-target-label{font-weight:700;color:#314656}.scan-target-label.warning{color:#b87c10}.scan-target-help{color:#587183;flex:1 1 auto}.scan-confirm-check{display:flex;align-items:center;gap:7px;font-weight:700;color:#b87c10;white-space:nowrap}.scan-confirm-check input[type=checkbox]{width:16px;min-height:16px}.scan-group-row{display:flex;align-items:flex-end;gap:8px}.scan-group-select-label{flex:1 1 auto;display:grid;gap:6px;color:#314656;font-size:14px;font-weight:750}.scan-new-group-btn{flex:0 0 auto;height:36px;padding:0 12px;font-size:13px;font-weight:700;border:1px dashed #a8bfd0;border-radius:6px;background:transparent;color:#3b7cc9;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s}.scan-new-group-btn:hover{background:#eaf3fb;border-color:#3b7cc9}.scan-new-group-row{display:flex;gap:8px;align-items:center}.scan-new-group-row input{flex:1}.scan-new-group-row button{white-space:nowrap}.profile-layout{display:flex;flex-direction:column;gap:24px;padding:20px 28px 32px;max-width:900px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-panel{padding:24px;display:flex;flex-direction:column;gap:0}.profile-panel h2{font-size:15px;font-weight:800;color:#1c3040;margin:0 0 18px}.profile-form{display:flex;flex-direction:column;gap:14px}.profile-avatar-row{display:flex;align-items:center;gap:16px;margin-bottom:4px}.profile-avatar{width:64px;height:64px;border-radius:50%;background:#1d6472;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.profile-avatar-initials{font-size:22px;font-weight:800;color:#fff;letter-spacing:.03em}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-avatar-actions{display:flex;flex-direction:column;gap:6px}.profile-avatar-upload-btn{display:inline-block;padding:6px 14px;font-size:13px;font-weight:700;border:1px solid #c8d3dd;border-radius:6px;background:#f4f8fb;color:#314656;cursor:pointer;text-align:center;transition:background .1s}.profile-avatar-upload-btn:hover{background:#e8f1f7;border-color:#aabcc8}.profile-avatar-remove-btn{font-size:12px;color:#b03030;background:transparent;border:none;cursor:pointer;padding:0;text-align:left}.profile-avatar-remove-btn:hover{text-decoration:underline}.profile-field-label{display:grid;gap:6px;font-size:14px;font-weight:750;color:#314656}.profile-input{padding:8px 10px;border:1px solid #c8d3dd;border-radius:6px;font-size:14px;color:#1c3040;background:#fff}.profile-input:disabled{background:#edf3f7;color:#7d8c98}.profile-form-actions{display:flex;justify-content:flex-end;margin-top:4px}body.theme-dark .modal-form label,body.theme-dark .scan-group-select-label{color:#9db0bf}body.theme-dark .scan-target-label{color:#c9d9e6}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:#283643;background:#1b2731}body.theme-dark .scan-safety span,body.theme-dark .scan-progress span{color:#7a9fb8}body.theme-dark .scan-safety.warning{border-color:#5a4020;background:#1e1400}body.theme-dark .confirm-large-scan{border-color:#324454;background:#111a22;color:#d4a040}body.theme-dark .confirm-large-scan:has(input:disabled){background:#0e1720;color:#4a6070}body.theme-dark .scan-new-group-btn{border-color:#324454;color:#5abfcc}body.theme-dark .scan-new-group-btn:hover{background:#111e28;border-color:#1d6472}body.theme-dark .scan-summary{color:#9db0bf}body.theme-dark .scan-table-header{color:#6a8fa8;border-color:#2b3946;background:#1b2731}body.theme-dark .empty-results{color:#6a8fa8;border-color:#1e2e3c;background:#111c26}body.theme-dark .profile-panel h2{color:#c9d9e6}body.theme-dark .profile-field-label{color:#9db0bf}body.theme-dark .profile-input{border-color:#324454;color:#d7e2ea;background:#111a22}body.theme-dark .profile-input:disabled{background:#0e1720;color:#4a6070}body.theme-dark .profile-avatar-upload-btn{border-color:#324454;background:#1b2731;color:#c9d9e6}body.theme-dark .profile-avatar-upload-btn:hover{background:#1d2e3c;border-color:#41586d}body:not(.theme-dark) .topology-toolbar--ribbon{background:#f8fafbeb;border-top:1px solid rgba(120,150,172,.28);border-bottom-color:var(--nm-border)}body:not(.theme-dark) .toolbar-label{color:#42617a}body:not(.theme-dark) .toolbar-select{border-color:#7896ac80;background:#f3f7fa;color:#1e3547;color-scheme:light}body:not(.theme-dark) .toolbar-select option{background:#f3f7fa;color:#1e3547}body:not(.theme-dark) .toolbar-btn{border-color:#6487a266;background:#f3f7fa;color:#2a4d65}body:not(.theme-dark) .toolbar-btn:hover:not(:disabled){background:#e0e9f2;border-color:#6487a2a6;color:#17344d}body:not(.theme-dark) .toolbar-btn--active{background:#1d9ab01f;border-color:#1d9ab066;color:#1a6070}body:not(.theme-dark) .toolbar-btn--active:hover{background:#1d9ab02e;border-color:#1d9ab080;color:#1a6070}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{display:flex;flex-direction:column;gap:1px;padding:0 4px}.inv-toolbar-count{font-size:20px;font-weight:700;color:#c2ddf0;line-height:1;letter-spacing:-.02em}.inv-toolbar-meta{font-size:11px;color:#4a7090;white-space:nowrap}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{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;margin-bottom:14px;align-items:start}.mon-last-poll{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;color:var(--nm-text-muted);font-size:12px;font-weight:650}body.route-monitoring .dash-alert{max-width:none;margin:2px 0 18px}.mon-ports-sidebar{position:sticky;top:48px;max-height:calc(100vh - 80px);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{width:100%;box-sizing:border-box}.mon-table-body{max-height:520px}.mon-table{width:100%;border-collapse:collapse;font-size:13px}.mon-table th{text-align:left;padding:9px 14px;font-size:11px;font-weight:700;color:#7a96a8;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(209,220,230,.6);white-space:nowrap;background:#f3f7fa;position:sticky;top:0;z-index:1}.mon-row{cursor:pointer;border-bottom:1px solid rgba(209,220,230,.5);transition:background .1s}.mon-row td{padding:10px 14px;vertical-align:middle;overflow:hidden}.mon-row:hover{background:#1d9ab00a}.mon-row--active{background:#1d9ab012}.mon-row--active:hover{background:#1d9ab01a}.mon-device-cell{display:flex;align-items:center;gap:10px;min-width:0}.mon-device-meta{display:flex;flex-direction:column;flex:0 0 110px;min-width:0;overflow:hidden}.mon-device-name{display:block;font-weight:500;color:#1a2e3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mon-device-ip{display:block;font-size:11px;color:#8aa0b0;font-family:monospace;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mon-cell-mono{font-family:monospace;font-size:12px;color:#4a6070;white-space:nowrap}.mon-col-resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:2;-webkit-user-select:none;user-select:none;border-radius:0 3px 3px 0;transition:background .12s}.mon-col-resize-handle:hover{background:#1d9ab059}.mon-col-resize-handle:active{background:#1d9ab08c}.mon-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.mon-dot-online{background:var(--dash-green);box-shadow:0 0 0 2px #2dba7c33}.mon-dot-offline{background:var(--dash-red);box-shadow:0 0 0 2px #e0505033}.mon-dot-warning{background:var(--dash-amber)}.mon-dot-unknown{background:var(--dash-muted)}.mon-dot-disabled{background:#c0ccd8}.mon-uptime{font-size:12px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap}.mon-uptime-good{color:#1a7a50;background:#2dba7c1f}.mon-uptime-warn{color:#7a5000;background:#e090301f}.mon-uptime-bad{color:#8a2020;background:#e050501f}.mon-port-badges{display:flex;gap:4px;flex-wrap:wrap}.mon-port-badge{font-size:10px;font-weight:700;padding:2px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.mon-port-badge--open{background:#2dba7c1f;color:#1a7a50}.mon-port-badge--closed{background:#a0b4c026;color:#7a96a8}.mon-search-wrap{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid rgba(209,220,230,.9);border-radius:6px;padding:4px 9px;color:#8aa0b0}.mon-search{border:none;outline:none;font-size:12px;width:140px;background:transparent;color:#1a2e3d}.mon-detail-panel{min-height:300px}.mon-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(209,220,230,.6)}.mon-detail-stat{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 10px}.mon-detail-stat+.mon-detail-stat{border-left:1px solid rgba(209,220,230,.6)}.mon-detail-stat-val{font-size:14px;font-weight:700;color:#1a2e3d}.mon-chart-body{padding:0 18px 14px}.mon-sparkline-wrap{display:flex;gap:8px;align-items:stretch;margin-top:6px}.mon-sparkline-yaxis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:10px;font-family:monospace;color:#7a96a8;padding-bottom:16px;flex-shrink:0;white-space:nowrap}.mon-sparkline-avg-label{color:#1d9ab0;opacity:.8}.mon-sparkline-area{flex:1;min-width:0}.mon-sparkline{display:block;width:100%;height:60px;border-radius:4px;overflow:visible}.mon-sparkline-xaxis{display:flex;justify-content:space-between;font-size:10px;font-family:monospace;color:#7a96a8;margin-top:3px}.mon-hours-select{font-size:12px;border:1px solid rgba(209,220,230,.9);border-radius:5px;padding:3px 7px;background:#fff;color:#4a6070;cursor:pointer}.mon-port-rows{padding:10px 18px 14px;display:flex;flex-direction:column;gap:8px}.mon-port-row{display:flex;align-items:center;gap:9px;font-size:13px}.mon-port-label{font-weight:500;color:#1a2e3d}.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{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.mon-port-input{border:1px solid rgba(209,220,230,.9);border-radius:6px;padding:5px 10px;font-size:13px;background:#fff;color:#1a2e3d}.mon-port-input:first-of-type{width:110px}.mon-port-input:last-of-type{width:130px}.mon-port-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mon-port-chip{display:inline-flex;align-items:center;gap:4px;background:#1d9ab014;color:#1d6472;border:1px solid rgba(29,154,176,.18);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.mon-port-chip-port{color:#5b9aac;font-family:monospace}.mon-port-chip-del{background:none;border:none;cursor:pointer;color:#8aa0b0;display:flex;align-items:center;padding:0 2px;margin-left:2px}.mon-port-chip-del:hover{color:var(--dash-red)}.mon-panel-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mon-heartbeat-body{padding:10px 18px 14px}.heartbeat-bar{display:flex;flex-wrap:wrap;gap:2px}.heartbeat-bar--sm{flex-direction:row;justify-content:flex-start;gap:1px;flex-wrap:nowrap;overflow:hidden;margin:0 6px 0 0;flex:1}.heartbeat-bar--lg{gap:3px;flex-wrap:nowrap;justify-content:flex-end}.heartbeat-beat{display:block;border-radius:2px;flex-shrink:0}.heartbeat-bar--sm .heartbeat-beat{width:6px;height:14px;border-radius:2px}.heartbeat-bar--lg .heartbeat-beat{flex:1;min-width:2px;max-width:14px;height:28px;border-radius:3px;flex-shrink:1}.heartbeat-beat--online{background:var(--dash-green)}.heartbeat-beat--offline{background:var(--dash-red)}.heartbeat-beat--unknown{background:#89a}.heartbeat-legend{display:flex;gap:14px;margin-top:10px;font-size:11px;color:#6b8499}.heartbeat-legend-item{display:flex;align-items:center;gap:5px}.heartbeat-timeline{width:100%}.heartbeat-beat--clickable{cursor:crosshair}.heartbeat-time-axis{display:grid;margin-top:5px;font-size:10.5px;color:#8aa0b0;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.heartbeat-time-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heartbeat-summary{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:11.5px;flex-wrap:wrap}.hb-tooltip-card{position:fixed;z-index:9999;background:#fff;border:1px solid rgba(209,220,230,.9);border-radius:9px;box-shadow:0 6px 24px #00000021;padding:10px 14px 12px;min-width:210px;max-width:260px;pointer-events:none;font-size:12.5px}.hb-tooltip-header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid rgba(209,220,230,.6)}.hb-tooltip-date{font-weight:600;color:#1a2e3d;font-size:12px}.hb-tooltip-time{font-size:12px;color:#6b8499;font-variant-numeric:tabular-nums}.hb-tooltip-status-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}.hb-tooltip-status-text{font-weight:700;font-size:13px;flex:1}.hb-tooltip-rtt{font-size:11.5px;color:#6b8499;font-variant-numeric:tabular-nums;background:#d1dce64d;border-radius:4px;padding:1px 7px}.hb-tooltip-ports{display:flex;gap:5px;flex-wrap:wrap;padding-top:5px;border-top:1px solid rgba(209,220,230,.5)}.incident-log{padding:6px 18px 14px;display:flex;flex-direction:column;gap:6px}.incident-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:7px;background:#d1dce62e;font-size:12.5px}.incident-row--active{background:#e0505014;border:1px solid rgba(224,80,80,.22)}.incident-row-body{display:flex;align-items:center;gap:6px;flex:1}.incident-time{font-size:12px;color:#3a5568;font-variant-numeric:tabular-nums}.incident-badge{margin-left:auto;font-size:11px;font-weight:700;color:#6b8499;background:#d1dce666;border-radius:5px;padding:2px 8px}.incident-badge--active{color:#c0392b;background:#e050501f}.incident-alert-tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:#7a4800;background:#e090301f;border:1px solid rgba(224,144,48,.28);border-radius:4px;padding:1px 7px;white-space:nowrap}.mon-hero-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:#08101a9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mon-hero{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 80px);display:flex;flex-direction:column;border-radius:16px;background:#e8eaed;box-shadow:0 32px 80px #0a121c4d,0 4px 20px #0a121c1f;overflow:hidden}.mon-hero-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(209,220,230,.7);background:#fff;flex-shrink:0;border-top:3px solid transparent}.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{border-top-color:#89a}.mon-hero-header-left{display:flex;align-items:center;gap:14px}.mon-hero-header-left .mon-dot{width:13px;height:13px;flex-shrink:0}.mon-hero-name{font-size:18px;font-weight:700;color:#0d1e2b;line-height:1.25}.mon-hero-sub{font-size:12.5px;color:#7a96a8;margin-top:2px}.mon-hero-close{background:#4e68781a;border:none;border-radius:6px;color:#5a7a90;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;min-height:unset;height:auto;box-shadow:none;flex-shrink:0;transition:color .13s,background .13s}.mon-hero-close:hover{background:#4e687838;color:#1a2c38}.mon-hero-stats{display:flex;border-bottom:1px solid rgba(209,220,230,.6);background:#f9fbfd;flex-shrink:0}.mon-hero-stat{display:flex;flex-direction:column;gap:5px;padding:13px 20px;flex:1;border-right:1px solid rgba(209,220,230,.6)}.mon-hero-stat:last-child{border-right:none}.mon-hero-stat-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#7a96a8}.mon-hero-stat-val{font-size:14px;font-weight:600;color:#1a2e3d}.mon-hero-body{flex:1;overflow-y:auto;padding:20px 24px 24px}.mon-hero-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;align-items:start}.mon-hero-col{display:flex;flex-direction:column;gap:14px}.mon-hero-section{background:#fff;border:1px solid rgba(209,220,230,.7);border-radius:10px;overflow:hidden}.mon-hero-section-title{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 9px;font-size:11px;font-weight:700;color:#3a5468;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(209,220,230,.5);background:#f9fbfd}.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:#18273a;box-shadow:0 32px 80px #0000008c,0 4px 20px #00000047}body.theme-dark .mon-hero-header{background:#1e3047;border-color:#2d3d52}body.theme-dark .mon-hero-name{color:#d8eaf5}body.theme-dark .mon-hero-sub{color:#5a7a95}body.theme-dark .mon-hero-stats{background:#192840;border-color:#2d3d52}body.theme-dark .mon-hero-stat{border-color:#2d3d52}body.theme-dark .mon-hero-stat-val{color:#d8eaf5}body.theme-dark .mon-hero-section{background:#1e3047;border-color:#2d3d52}body.theme-dark .mon-hero-section-title{color:#8ab4cc;background:#192840;border-color:#2d3d52}body.theme-dark .mon-hero-close{background:#5a7a952e;color:#8ab4cc}body.theme-dark .mon-hero-close:hover{background:#5a7a954d;color:#c8dff0}body.theme-dark .modal-close{background:#5a7a952e;color:#8ab4cc}body.theme-dark .modal-close:hover{background:#5a7a954d;color:#c8dff0}body.theme-dark .ipam-modal-close{background:#5a7a952e;color:#8ab4cc}body.theme-dark .ipam-modal-close:hover{background:#5a7a954d;color:#c8dff0}body.theme-dark .mon-table th{background:#1a2535;color:#5a7a95;border-color:#2d3d52}body.theme-dark .mon-row{border-color:#253545}body.theme-dark .mon-row:hover{background:#1d9ab00f}body.theme-dark .mon-row--active{background:#1d9ab01f}body.theme-dark .mon-device-name{color:#d8eaf5}body.theme-dark .mon-device-ip{color:#5a7a95}body.theme-dark .mon-cell-mono{color:#7a9bb0}body.theme-dark .mon-search-wrap{background:transparent;border-color:#ffffff1a}body.theme-dark .mon-search{background:transparent;color:#c8dae8}body.theme-dark .mon-detail-stats{border-color:#2d3d52}body.theme-dark .mon-detail-stat+.mon-detail-stat{border-color:#2d3d52}body.theme-dark .mon-detail-stat-val,body.theme-dark .mon-port-label{color:#d8eaf5}body.theme-dark .mon-hours-select{background:#253545;border-color:#3a5068;color:#9bbdd4}body.theme-dark .mon-port-input{background:#253545;border-color:#3a5068;color:#c8dae8}body.theme-dark .mon-port-chip{background:#1d9ab01a;color:#5bb8cc;border-color:#1d9ab040}body.theme-dark .mon-port-chip-port{color:#4a8898}body.theme-dark .mon-uptime-good{background:#2dba7c26;color:#4dcf96}body.theme-dark .mon-uptime-warn{background:#e0903026;color:#e0b060}body.theme-dark .mon-uptime-bad{background:#e0505026;color:#e07070}body.theme-dark .mon-port-badge--open{background:#2dba7c26;color:#4dcf96}body.theme-dark .mon-port-badge--closed{background:#a0b4c014;color:#5a7a95}body.theme-dark .heartbeat-beat--unknown{background:#4d6a82}body.theme-dark .heartbeat-legend{color:#5a7a95}body.theme-dark .heartbeat-time-axis,body.theme-dark .mon-sparkline-yaxis,body.theme-dark .mon-sparkline-xaxis{color:#4a6a85}body.theme-dark .hb-tooltip-card{background:#1e2f41;border-color:#2d3d52;box-shadow:0 6px 24px #00000073}body.theme-dark .hb-tooltip-header{border-color:#2d3d52}body.theme-dark .hb-tooltip-date{color:#d8eaf5}body.theme-dark .hb-tooltip-time{color:#5a7a95}body.theme-dark .hb-tooltip-rtt{background:#1d3145b3;color:#7a9bb0}body.theme-dark .hb-tooltip-ports{border-color:#2d3d52}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:#5a7a95;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{display:grid;gap:0;padding:4px 0 8px}.mon-analysis-row{display:flex;align-items:center;justify-content:space-between;padding:7px 18px;gap:12px;font-size:12.5px}.mon-analysis-row:not(:last-child){border-bottom:1px solid rgba(209,220,230,.4)}.mon-analysis-val{font-weight:650;color:#1a2e3d;font-size:12.5px}.mon-analysis-val--warn{color:#b85c00}.mon-trend{font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;border:1px solid}.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{font-weight:500;opacity:.85}.mon-anomaly{font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;border:1px solid}.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{font-weight:500;opacity:.8}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{background:#e0903012;border-color:#e0903040;color:#7a5000}.dash-alert--warn .dash-alert-link{color:#7a5000}.ipam-cidr{font-family:monospace;font-size:12px;color:#3a5c74;background:#1d9ab012;padding:1px 5px;border-radius:3px}.ipam-util-bar{height:6px;background:#1d9ab01a;border-radius:3px;overflow:hidden;flex:1}.ipam-util-bar--thin{height:4px}.ipam-util-fill{height:100%;border-radius:3px;transition:width .3s}.ipam-util-wrap{display:flex;align-items:center;gap:8px;min-width:120px}.ipam-util-pct{font-size:11px;font-weight:600;color:#4a6070;white-space:nowrap}.ipam-conflict-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;border-bottom:1px solid rgba(209,220,230,.4)}.ipam-conflict-row:last-child{border-bottom:none}.ipam-conflict-icon{flex-shrink:0;font-size:10px;margin-top:3px}.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{display:flex;flex-direction:column;gap:10px}.ipam-form-row{display:flex;gap:10px;flex-wrap:wrap}.vlan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vlan-form-grid__full{grid-column:1 / -1}.modal--wide{width:min(100%,860px)}.device-form{padding:0;gap:0}.device-form-body{display:grid;grid-template-columns:1fr 1fr}.device-form-col{display:flex;flex-direction:column}.device-form-col+.device-form-col{border-left:1px solid rgba(209,220,230,.3)}.device-form-section{display:grid;gap:12px;padding:16px 20px}.device-form-section--fill{flex:1;display:flex;flex-direction:column;gap:12px}.device-form-section--fill .device-form-notes-label{flex:1;display:grid;grid-template-rows:auto 1fr}.device-form-section--fill .device-form-notes-label textarea{height:100%;min-height:80px;resize:none}.device-form-section+.device-form-section{border-top:1px solid rgba(209,220,230,.3)}.device-form-section-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8aacbe}.device-form-actions{padding:12px 20px 16px;border-top:1px solid rgba(209,220,230,.3);background:none}.ipam-form-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#4a6070;text-transform:uppercase;letter-spacing:.04em}.ipam-form-input{border:1px solid rgba(209,220,230,.9);border-radius:6px;padding:6px 10px;font-size:13px;background:#fff;color:#1a2e3d;min-width:140px}.ipam-form-input--mono{font-family:monospace}.ipam-form-input--wide{min-width:320px}.ipam-form-actions{display:flex;gap:8px;align-items:center}.ipam-btn{padding:5px 14px;font-size:12px;font-weight:600;border-radius:7px;border:1px solid rgba(29,100,114,.35);background:#1d64720f;color:#1d6472;cursor:pointer;transition:background .13s,border-color .13s;white-space:nowrap}.ipam-btn:hover:not(:disabled){background:#1d9ab017;border-color:#1d9ab066}.ipam-btn:disabled{opacity:.5;cursor:not-allowed}.ipam-btn--primary{background:#1d9ab0;color:#fff;border-color:#1d9ab0}.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{background:#1d9ab0;color:#fff;border-color:#1d9ab0}body.theme-dark .ipam-btn--primary:hover:not(:disabled){background:#22afc8;border-color:#22afc8}.ipam-row-actions{display:flex;gap:10px}.ipam-dhcp-panel{margin-top:14px}.ipam-dhcp-range-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 8px;border:1px solid rgba(59,128,208,.18);border-radius:999px;background:#3b80d014;color:#245f9d;font-size:11px;white-space:nowrap}.ipam-dhcp-range-pill code{font-family:monospace;font-size:11px}body.route-ipam .dash-alert{margin:0 0 14px}.ipam-sync-note{display:flex;align-items:center;gap:5px;font-size:12px;color:#7a96a8;margin:-6px 0 14px}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-header{align-items:center;gap:12px}.ipam-reservations-heading{display:grid;gap:2px;min-width:150px}.ipam-reservations-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;min-width:0;flex-wrap:wrap}.ipam-reservation-filter{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#5a7080;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.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{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.ipam-grid-row{display:flex;align-items:center;gap:6px}.ipam-grid-row-label{width:38px;font-size:10px;font-family:monospace;color:#8aa0b0;text-align:right;flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none}.ipam-grid-row-cells{display:flex;flex:1;gap:3px}.ipam-grid-cell{flex:1;min-width:8px;height:18px;border-radius:2px;border:1px solid rgba(0,0,0,.06);cursor:default;transition:transform .1s}.ipam-grid-cell--dhcp-range{box-shadow:inset 0 0 0 2px #2563eb59,0 0 0 1px #2563eb2e}.ipam-grid-cell:hover{transform:scaleY(1.4);z-index:1;position:relative}.ipam-grid-cell--has-tip{cursor:pointer}.ipam-tooltip-card{position:fixed;z-index:9999;background:#fff;border:1px solid rgba(209,220,230,.9);border-radius:8px;box-shadow:0 4px 20px #0000001f;padding:10px 13px 12px;min-width:200px;max-width:260px;pointer-events:none;font-size:12.5px;line-height:1.5}.ipam-tooltip-header{display:flex;align-items:center;gap:7px;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid rgba(209,220,230,.7)}.ipam-tooltip-kind-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.ipam-tooltip-ip{font-weight:700;font-family:monospace;color:#1a2e3d;font-size:13px;flex:1}.ipam-tooltip-kind{font-size:11px;font-weight:600;color:#8aa0b0;text-transform:uppercase;letter-spacing:.04em}.ipam-tooltip-row{display:flex;justify-content:space-between;gap:10px;color:#3a5568;font-size:12px;padding:1px 0}.ipam-tooltip-row span:first-child{color:#8aa0b0;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{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#7a96a8}.ipam-legend-item{display:flex;align-items:center;gap:4px}.ipam-legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.ipam-legend-tip{margin-left:auto;font-style:italic;opacity:.7}.ipam-vlan-sync-label{display:flex;align-items:center;gap:7px;font-size:13px;color:#4a6070;margin:8px 0 4px;cursor:pointer}.ipam-vlan-sync-label input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--nm-accent-strong)}body.theme-dark .ipam-vlan-sync-label{color:#7a9ab4}.ipam-addr-tabs{display:flex;gap:0;border-bottom:1px solid rgba(209,220,230,.6);padding:0 18px}.ipam-addr-tab{background:none;border:none;padding:7px 14px;font-size:12px;font-weight:600;color:#7a96a8;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.ipam-addr-tab:hover{color:#1a2e3d}.ipam-addr-tab.active{color:#1d9ab0;border-bottom-color:#1d9ab0}.ipam-kind-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.ipam-kind-badge--device{background:#2dba7c1f;color:#1a7a50}.ipam-kind-badge--dhcp{background:#3b80d01f;color:#1d4e8a}.ipam-kind-badge--gateway{background:#f59e0b1f;color:#7a5000}.ipam-kind-badge--reserved{background:#9333ea1f;color:#6b21a8}.ipam-kind-badge--free{background:#a0b4c01f;color:#7a96a8}.ipam-kind-badge--network,.ipam-kind-badge--broadcast{background:#94a3b826;color:#5a7a95}.ipam-grid-cell--reservable{cursor:crosshair}.ipam-grid-cell--reservable:hover{background:#1d9ab038!important;transform:scaleY(1.4)}.ipam-lease-textarea{width:100%;font-family:monospace;font-size:12px;border:1px solid rgba(209,220,230,.9);border-radius:6px;padding:10px 12px;resize:vertical;background:#fafcfe;color:#1a2e3d;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{background:#253545;border-color:#3a5068;color:#c8dae8}body.theme-dark .ipam-reservation-filter{color:#7a9ab4}body.theme-dark .ipam-addr-tab{color:#5a7a95}body.theme-dark .ipam-addr-tab:hover{color:#d8eaf5}body.theme-dark .ipam-kind-badge--device{background:#2dba7c26;color:#4dcf96}body.theme-dark .ipam-kind-badge--dhcp{background:#3b80d026;color:#6aacf0}body.theme-dark .ipam-kind-badge--gateway{background:#f59e0b26;color:#e0b060}body.theme-dark .ipam-kind-badge--reserved{background:#9333ea26;color:#c084fc}body.theme-dark .ipam-kind-badge--free{background:#a0b4c014;color:#5a7a95}body.theme-dark .ipam-lease-textarea{background:#1a2535;border-color:#3a5068;color:#c8dae8}body.theme-dark .ipam-dhcp-range-pill{background:#1a3a5c;border:1.5px solid #5aa0e0;color:#bde0ff;box-shadow:0 0 0 1px #5aa0e02e}body.theme-dark .ipam-dhcp-range-pill code{color:#bde0ff}body.theme-dark .ipam-grid-cell{border-color:#ffffff0f}body.theme-dark .ipam-grid-cell--dhcp-range{box-shadow:inset 0 0 0 2px #5aa0e0,0 0 0 1px #5aa0e080}body.theme-dark .ipam-tooltip-card{background:#1e2f41;border-color:#2d3d52;box-shadow:0 4px 20px #0006}body.theme-dark .ipam-tooltip-header{border-color:#2d3d52}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:#5a7a95}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{border-top-color:#ffffff0d;background:none}.ipam-detail-modal{width:min(100%,820px);max-height:calc(100vh - 60px);display:flex;flex-direction:column;overflow:hidden}.ipam-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(209,220,230,.6);flex-shrink:0}.ipam-modal-title-wrap{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.ipam-modal-name{font-size:17px;font-weight:700;color:#1a2e3d;white-space:nowrap}.ipam-modal-cidr{font-size:13px}.ipam-modal-stats{display:flex;gap:0;border-bottom:1px solid rgba(209,220,230,.6);flex-shrink:0}.ipam-modal-stat{flex:1;display:flex;flex-direction:column;padding:14px 20px;gap:3px;border-right:1px solid rgba(209,220,230,.6)}.ipam-modal-stat:last-child{border-right:none}.ipam-modal-stat-label{font-size:11px;font-weight:600;color:#8aa0b0;text-transform:uppercase;letter-spacing:.04em}.ipam-modal-stat-val{font-size:22px;font-weight:800;color:#1a2e3d;line-height:1.1}.ipam-modal-stat-of{font-size:13px;font-weight:500;color:#8aa0b0}.ipam-modal-stat-mono{font-family:monospace;font-size:15px}.ipam-modal-dhcp-pill{font-size:12px;padding:4px 10px;margin-top:2px}.ipam-modal-dhcp-pill code{font-size:12px}.ipam-modal-util{padding:14px 22px 10px;flex-shrink:0}.ipam-modal-body{flex:1;overflow-y:auto;padding:12px 22px 18px;scrollbar-width:thin;scrollbar-color:rgba(160,180,192,.4) transparent}.ipam-subnet-row{cursor:pointer}body.theme-dark .ipam-detail-modal{background:#101c28}body.theme-dark .ipam-modal-header{border-color:#28465a99}body.theme-dark .ipam-modal-name{color:#d8eaf5}body.theme-dark .ipam-modal-stats,body.theme-dark .ipam-modal-stat{border-color:#28465a99}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{width:min(100%,860px);display:flex;flex-direction:column}.modal-title{font-size:15px;font-weight:700;color:#1a2e3d}.modal-close{background:#4e68781a;border:none;border-radius:6px;color:#5a7a90;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;min-height:unset;height:auto;box-shadow:none;flex-shrink:0;transition:color .13s,background .13s}.modal-close:hover{background:#4e687838;color:#1a2c38}.ipam-modal-close{background:#4e68781a;border:none;border-radius:6px;color:#5a7a90;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;min-height:unset;height:auto;box-shadow:none;flex-shrink:0;transition:color .13s,background .13s}.ipam-modal-close:hover{background:#4e687838;color:#1a2c38}.import-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-height:calc(100vh - 220px)}.import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:36px 20px;border:2px dashed rgba(29,154,176,.35);border-radius:12px;background:#1d9ab00a;cursor:pointer;transition:background .15s,border-color .15s;text-align:center}.import-dropzone:hover,.import-dropzone--over{background:#1d9ab01a;border-color:#1d9ab099}.import-dropzone-label{font-size:14px;font-weight:600;color:#1a2e3d}.import-dropzone-hint{font-size:12px;color:#7a96a8}.import-file-row{display:flex;align-items:center;gap:10px}.import-file-name{font-size:13px;font-weight:600;color:#1a2e3d;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-error{font-size:13px;color:var(--dash-red);background:#e0505014;border:1px solid rgba(224,80,80,.2);border-radius:7px;padding:8px 12px}.import-summary-row{display:flex;gap:16px;align-items:center;font-size:13px}.import-summary-ok{color:#1a7a50;font-weight:600}.import-summary-err{color:var(--dash-red);font-weight:600}.import-preview-wrap{overflow-x:auto;border:1px solid rgba(200,215,225,.7);border-radius:8px;max-height:320px;overflow-y:auto}.import-preview-table{margin:0}.import-row--error{opacity:.6;background:#e050500d}.import-truncate-note{font-size:11px;color:#7a96a8;text-align:center;padding:6px}.import-actions{display:flex;gap:10px;align-items:center}.import-result{display:flex;flex-direction:column;gap:10px}.import-result-stats{display:flex;gap:16px;align-items:center}.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{font-size:12px;color:var(--dash-red);max-height:120px;overflow-y:auto;padding-left:18px;margin:0}.import-field-ref{border-top:1px solid rgba(200,215,225,.7);padding:12px 20px;font-size:12px}.import-field-ref summary{cursor:pointer;color:#4e6878;font-weight:600;-webkit-user-select:none;user-select:none}.import-ref-table{width:100%;margin-top:10px;border-collapse:collapse;font-size:12px}.import-ref-table th,.import-ref-table td{padding:5px 10px;border-bottom:1px solid rgba(200,215,225,.5);text-align:left}.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{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:16px}.rbac-role-card{background:#1d9ab00a;border:1px solid rgba(29,154,176,.15);border-radius:8px;padding:16px 18px}.rbac-role-name{font-size:14px;font-weight:700;color:#1d6a8a;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(29,154,176,.15)}.rbac-perm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rbac-perm-row{display:flex;align-items:flex-start}.rbac-perm-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;width:100%}.rbac-perm-label input[type=checkbox]{margin-top:3px;flex-shrink:0;accent-color:#1d9ab0;width:15px;height:15px}.rbac-perm-label-text{display:flex;flex-direction:column;gap:1px}.rbac-perm-label-text strong{font-size:13px;font-weight:600;color:#2a4860}.rbac-perm-desc{font-size:11px;color:#7a96a8;line-height:1.4}.rbac-role-card--custom{border-color:#8264c840;background:#8264c80a}.rbac-role-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(29,154,176,.15)}.rbac-role-header .rbac-role-name{margin:0;padding:0;border:none}.rbac-delete-btn{background:none;border:none;color:#b05050;cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px;line-height:1;opacity:.7;transition:opacity .15s,background .15s}.rbac-delete-btn:hover{opacity:1;background:#b43c3c1a}.rbac-new-group-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 16px;padding:14px 16px;background:#1d9ab00a;border:1px solid rgba(29,154,176,.15);border-radius:8px}.rbac-new-group-input{flex:1;min-width:180px;padding:7px 10px;border:1px solid rgba(29,154,176,.3);border-radius:6px;font-size:13px;background:#fff;color:inherit}.rbac-name-error{font-size:12px;color:var(--dash-red)}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{background:#142332cc;border-color:#1d9ab04d;color:#c8dae8}body.theme-dark .rbac-delete-btn{color:#e07070}.fav-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;color:#b8c8d8;transition:color .15s,background .15s;line-height:1;min-height:unset;box-shadow:none}.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:#4e6878}body.theme-dark .fav-btn:hover{color:#e8b840;background:#e8b8401f}body.theme-dark .fav-btn--active{color:#e8b840}@media(max-width:760px){.dash-panel-header{align-items:flex-start;flex-wrap:wrap}.dash-panel-actions,.overview-fav-search{width:100%}.dash-device-row--favourite{grid-template-columns:10px minmax(0,1fr) auto 26px}.dash-device-row--favourite .dash-panel-meta{display:none}}.sidebar-collapse-btn{display:inline-flex;align-items:center;gap:8px;min-height:32px;width:100%;border:none;border-radius:var(--nm-radius-md);padding:5px 10px;color:var(--nm-shell-muted);background:none;font-size:12px;font-weight:500;cursor:pointer;transition:color .15s,background .15s;margin-top:8px}.sidebar-collapse-btn svg{color:var(--nm-accent);opacity:.78}.sidebar-collapse-btn:hover{color:var(--nm-shell-text);background:#ffffff0a}.sidebar-collapse-btn:hover svg{opacity:1}.sidebar--collapsed{width:auto;padding:14px 10px;align-items:center}.sidebar--collapsed .brand{justify-content:center;padding:0;width:44px}.sidebar--collapsed .sidebar-section-label{display:none}.sidebar--collapsed .sidebar-link{justify-content:center;padding:8px 0;gap:0;width:44px}.sidebar--collapsed .sidebar-collapse-btn{justify-content:center;padding:5px 0;width:44px}.sidebar--collapsed .sidebar-theme-toggle,.sidebar--collapsed .sidebar-logout{justify-content:center;padding:8px 0;width:44px;gap:0}.sidebar--collapsed nav{width:100%}
