:root{--page:#f4f6f9;--panel:#fff;--sidebar:#101622;--sidebar2:#0c111b;--text:#192235;--muted:#6f7b8e;--faint:#98a3b3;--line:#e4e8ee;--accent:#7156e8;--accent2:#5f43d8;--accent-soft:#eeeafd;--green:#18a473;--green-soft:#e7f7f1;--amber:#d69218;--amber-soft:#fff4dd;--red:#d95666;--red-soft:#feedef;--blue:#377fd4;--blue-soft:#e9f2fc;--shadow:0 12px 34px rgba(29,42,64,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--page);color:var(--text)}body{font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(113,86,232,.2);outline-offset:2px}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:238px;display:flex;flex-direction:column;padding:0 13px 15px;color:#dbe2ef;background:linear-gradient(180deg,var(--sidebar),var(--sidebar2));border-right:1px solid rgba(255,255,255,.04)}.brand{height:72px;display:flex;align-items:center;gap:11px;padding:0 10px}.brand-mark,.auth-logo{width:37px;height:37px;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:linear-gradient(145deg,#8a71f3,var(--accent2));border-radius:10px;box-shadow:0 8px 24px rgba(112,82,232,.3);font-weight:800}.brand>span:last-child{display:flex;flex-direction:column;line-height:1.1}.brand strong{color:#fff;font-size:16px}.brand small{margin-top:4px;color:#7f8ba0;font-size:9px;text-transform:uppercase;letter-spacing:.11em}.sidebar nav{margin-top:10px}.nav-heading{display:block;margin:0 12px 9px;color:#647085;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.sidebar nav a,.sidebar-bottom>a{height:43px;display:flex;align-items:center;gap:11px;padding:0 12px;margin:3px 0;color:#8995a9;border-radius:9px;font-weight:600;transition:.16s ease}.sidebar nav a:hover,.sidebar-bottom>a:hover{color:#edf1f8;background:#1a2231}.sidebar nav a.active,.sidebar-bottom>a.active{color:#fff;background:linear-gradient(90deg,rgba(119,89,238,.3),rgba(99,70,219,.1));box-shadow:inset 3px 0 #8167ed}.sidebar nav i,.sidebar-bottom>a i{width:21px;color:#7b879b;font-size:17px;font-style:normal;text-align:center}.sidebar nav a.active i{color:#b9abfb}.sidebar-bottom{margin-top:auto}.user-card{margin-top:13px;padding:13px 8px 1px;display:flex;align-items:center;gap:9px;border-top:1px solid rgba(255,255,255,.07)}.avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:#263650;border-radius:50%;font-size:10px;font-weight:800}.user-card>span:nth-child(2){display:flex;flex:1;flex-direction:column}.user-card strong{color:#e8edf5;font-size:11px}.user-card small{color:#728096;font-size:9px}.user-card form{margin:0}.user-card button{padding:5px;color:#748196;border:0;background:none}.mobile-close,.menu-button,.nav-scrim{display:none}
.workspace{min-height:100vh;margin-left:238px}.topbar{position:sticky;top:0;z-index:25;height:64px;display:flex;align-items:center;gap:12px;padding:0 28px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.global-search{width:min(445px,45vw);height:38px;display:flex;align-items:center;gap:9px;padding:0 11px;color:var(--faint);background:#f6f8fa;border:1px solid transparent;border-radius:9px}.global-search:focus-within{background:#fff;border-color:#cfc5f8;box-shadow:0 0 0 3px rgba(113,86,232,.07)}.global-search input{flex:1;min-width:0;border:0;background:transparent;font-size:11px}.global-search kbd{padding:2px 6px;color:#929cad;background:#fff;border:1px solid #dfe3ea;border-radius:5px;font-size:9px}.live-pill{height:29px;display:flex;align-items:center;gap:7px;margin-left:auto;padding:0 10px;color:#49705f;background:#eff9f5;border:1px solid #dbf0e8;border-radius:20px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.live-pill i{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px rgba(24,164,115,.1)}.header-button{width:35px;height:35px;display:grid;place-items:center;color:#748196;background:#fff;border:1px solid var(--line);border-radius:9px}.content{width:100%;max-width:1500px;margin:auto;padding:30px 30px 50px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:23px}.eyebrow{margin:0 0 7px;color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.page-heading h1{margin:0;color:#182135;font-size:26px;line-height:1.15;letter-spacing:-.035em}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:11px}.page-actions{display:flex;align-items:center;gap:9px}.primary,.secondary{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:8px;font-size:10px;font-weight:750}.primary{color:#fff;background:var(--accent);border:1px solid var(--accent);box-shadow:0 5px 14px rgba(113,86,232,.18)}.primary:hover{background:var(--accent2)}.secondary{color:#58657a;background:#fff;border:1px solid var(--line)}.secondary:hover{background:#f8fafc}.small{min-height:30px;padding:0 10px;font-size:9px}.button-link{vertical-align:middle}.full{width:100%}.flash{display:flex;align-items:center;gap:9px;margin-bottom:17px;padding:11px 13px;color:#326f5a;background:var(--green-soft);border:1px solid #cceadf;border-radius:9px;font-size:11px}.flash.error{color:#9a3f4c;background:var(--red-soft);border-color:#f7ccd2}.flash>span{width:20px;height:20px;display:grid;place-items:center;background:rgba(255,255,255,.6);border-radius:50%;font-weight:800}.flash button{margin-left:auto;color:inherit;border:0;background:none}.token-once{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:15px;color:#6c5620;background:#fff8e8;border:1px solid #f0dfb6;border-radius:10px}.token-once div{flex:1}.token-once strong{font-size:11px}.token-once p{margin:2px 0 0;font-size:9px}.token-once code{max-width:42%;padding:9px;overflow:auto;background:#fff;border:1px solid #ead9af;border-radius:7px;font-size:9px}.token-once button{padding:8px 10px;color:#7e6120;background:#fff;border:1px solid #e5d3a6;border-radius:7px;font-size:9px;font-weight:700}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:13px}.metric{min-height:111px;display:flex;align-items:flex-start;gap:12px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 20px rgba(29,42,64,.025)}.metric-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px}.metric-icon.green{color:var(--green);background:var(--green-soft)}.metric-icon.violet{color:var(--accent);background:var(--accent-soft)}.metric-icon.blue{color:var(--blue);background:var(--blue-soft)}.metric-icon.amber{color:var(--amber);background:var(--amber-soft)}.metric>div{display:flex;flex-direction:column}.metric small{color:var(--muted);font-size:9px}.metric strong{margin:3px 0 2px;color:#1b2436;font-size:25px;line-height:1.05;letter-spacing:-.04em}.metric p{margin:3px 0 0;color:var(--faint);font-size:9px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 22px rgba(29,42,64,.028)}.panel-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;color:#283246;font-size:13px}.panel-head p{margin:4px 0 0;color:var(--faint);font-size:9px}.panel-head>a{color:var(--accent);font-size:9px;font-weight:750}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr);gap:13px;margin-bottom:13px}.topology-live{position:relative;min-height:320px;padding-top:20px;overflow:hidden;background:radial-gradient(circle at 1px 1px,#dfe4eb 1px,transparent 1.2px);background-size:17px 17px}.topology-live:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 25%,rgba(255,255,255,.55) 100%)}.topology-cloud,.topology-gateway{position:relative;z-index:2;margin:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff;border:1px solid #dfe4eb;box-shadow:0 6px 18px rgba(31,45,67,.08)}.topology-cloud{width:86px;height:46px;color:#677489;border-radius:9px;font-size:16px}.topology-cloud span{font-size:8px;font-weight:800}.map-line.vertical{position:absolute;z-index:1;top:66px;left:50%;width:1px;height:38px;background:#d2d9e4}.topology-gateway{width:105px;height:95px;margin-top:38px;color:#fff;background:linear-gradient(145deg,#8a70f1,#6648dd);border-color:#6d51dc;border-radius:14px;font-size:25px;box-shadow:0 10px 25px rgba(105,78,218,.2)}.topology-gateway strong{margin-top:4px;font-size:9px}.topology-gateway small{color:#d9d2fb;font-size:7px}.map-nodes{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:22px 18px}.map-node{min-width:128px;display:flex;align-items:center;gap:8px;padding:9px 10px;background:rgba(255,255,255,.96);border:1px solid #dfe4eb;border-radius:9px;box-shadow:0 5px 16px rgba(31,45,67,.07)}.map-node:hover{border-color:#cfc5f8;transform:translateY(-1px)}.map-node>span{display:flex;flex-direction:column;font-size:9px;font-weight:750}.map-node small{margin-top:2px;color:#8793a5;font:7px ui-monospace,monospace}.status{width:7px;height:7px;display:inline-block;flex:0 0 auto;background:#9ca6b5;border-radius:50%}.status.online{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.status.attention{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.status.offline{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.status.unknown{background:#97a2b2;box-shadow:0 0 0 3px #eff1f4}.health-score{width:41px;height:41px;display:grid;place-items:center;color:var(--green);background:radial-gradient(circle,#fff 53%,transparent 55%),conic-gradient(var(--green) 0 92%,#e8ecf1 92%);border-radius:50%;font-size:10px;font-weight:800}.attention-items{padding:8px 13px}.attention-items>a{display:flex;align-items:center;gap:9px;padding:12px 5px;border-bottom:1px solid #edf0f4}.attention-items>a>span{display:flex;flex:1;flex-direction:column}.attention-items strong{font-size:9px}.attention-items small{margin-top:3px;color:#8b97a9;font-size:8px}.attention-items em{color:#9ba5b4;font-style:normal}.empty-mini{padding:22px 10px;text-align:center}.empty-mini b{width:30px;height:30px;display:grid;place-items:center;margin:0 auto 7px;color:var(--green);background:var(--green-soft);border-radius:50%}.empty-mini strong{display:block;font-size:10px}.empty-mini p{margin:3px 0;color:var(--faint);font-size:8px}.posture-card{display:flex;align-items:center;gap:10px;margin:5px 13px 13px;padding:13px;background:linear-gradient(135deg,#f8f7fe,#f7fafc);border:1px solid #eeebfb;border-radius:10px}.posture-card>span{width:39px;height:39px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:50%;font-weight:800}.posture-card div{display:flex;flex-direction:column}.posture-card small{color:#7c8798;font-size:8px}.posture-card strong{margin:2px 0;font-size:9px}.posture-card p{margin:0;color:#929dae;font-size:7px}
.table-panel,.agent-panel,.vault-table-panel{overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{height:35px;padding:0 16px;color:#909bac;background:#fafbfc;border-bottom:1px solid var(--line);font-size:8px;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.055em}td{height:58px;padding:0 16px;color:#5f6b7f;border-bottom:1px solid #edf0f4;font-size:9px;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tr[data-href]{cursor:pointer}tr[data-href]:hover{background:#faf9fe}td:first-child>span{vertical-align:middle}.device-cell-icon{width:30px;height:30px;display:inline-grid;place-items:center;margin-right:9px;color:#5c6980;background:#eff2f6;border-radius:8px;font-size:9px;font-weight:800}td:first-child>span:last-child{display:inline-flex;flex-direction:column}td strong{color:#333e52;font-size:9px}td small{display:block;margin-top:2px;color:#929dad;font-size:8px}.tag{display:inline-flex;align-items:center;padding:4px 6px;color:#6d7481;background:#eff2f5;border-radius:5px;font-size:7px;font-weight:800;text-transform:capitalize}.tag.static{color:#6952ce;background:#f0edfc}.tag.reserved{color:#3175c6;background:#eaf3fc}.tag.dhcp{color:#677181;background:#eff2f5}.tag.offline{color:#a44450;background:var(--red-soft)}.positive{color:#278b69!important}.muted{color:#9aa4b3}.state{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:6px}.state small{grid-column:2}.empty-table{height:100px;text-align:center;color:var(--faint)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;padding:12px 14px}.toolbar form{display:flex;align-items:center;gap:8px}.toolbar input{width:310px;height:36px;padding:0 11px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;font-size:10px}.toolbar form>a{color:var(--accent);font-size:9px}.toolbar>span{color:var(--faint);font-size:9px}.device-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.device-card{padding:17px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 20px rgba(29,42,64,.025);transition:.15s ease}.device-card:hover{border-color:#d2c8f9;box-shadow:0 10px 28px rgba(42,53,75,.08);transform:translateY(-2px)}.device-card-head{display:flex;align-items:start;justify-content:space-between}.device-large-icon,.device-hero-icon{width:43px;height:43px;display:grid;place-items:center;color:#654dce;background:var(--accent-soft);border-radius:11px;font-weight:800}.device-card h2{margin:13px 0 2px;font-size:14px}.device-card>p{height:29px;margin:0;color:var(--faint);font-size:9px}.device-card dl{margin:10px 0 13px}.device-card dl div{min-height:31px;display:grid;grid-template-columns:34% 66%;align-items:center;border-bottom:1px solid #f0f2f5}.device-card dt{color:#8a95a6;font-size:8px}.device-card dd{margin:0;overflow:hidden;color:#465268;font-size:8px;text-align:right;text-overflow:ellipsis}.device-card footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid #edf0f4}.device-card footer>span:last-child{color:var(--accent);font-size:8px;font-weight:750}.empty-card{grid-column:1/-1;min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px}.empty-card>span{width:50px;height:50px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:14px}.empty-card h2{margin:13px 0 2px;font-size:14px}.empty-card p{margin:0;color:var(--muted);font-size:10px}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:#8691a2;font-size:9px}.breadcrumb a{color:var(--accent);font-weight:700}.device-hero{display:flex;align-items:center;gap:14px;margin-bottom:20px}.device-hero-icon{width:56px;height:56px;border-radius:15px;font-size:16px}.device-hero>div:nth-child(2){flex:1}.state-inline{display:flex;align-items:center;gap:7px;color:var(--green);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.device-hero h1{margin:4px 0 1px;font-size:24px;line-height:1.15}.device-hero p{margin:0;color:var(--muted);font-size:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}.panel-symbol{width:29px;height:29px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:8px;font-style:normal}.detail-list{margin:0;padding:6px 17px}.detail-list>div{min-height:42px;display:grid;grid-template-columns:36% 64%;align-items:center;border-bottom:1px solid #f0f2f5}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:#8a95a6;font-size:9px}.detail-list dd{margin:0;color:#465268;font-size:9px;text-align:right}.detail-list dd code{font-size:8px}.vault-device-panel,.notes-panel{margin-bottom:13px;overflow:hidden}.vault-list{padding:0 14px}.vault-row{min-height:62px;display:flex;align-items:center;gap:11px;padding:0 3px;border-bottom:1px solid #edf0f4}.vault-row:last-child{border-bottom:0}.vault-type{width:31px;height:31px;display:grid;place-items:center;color:#6750cf;background:var(--accent-soft);border-radius:8px}.vault-row>span:nth-child(2){min-width:150px;display:flex;flex:1;flex-direction:column}.vault-row strong{font-size:9px}.vault-row small{margin-top:3px;color:#8d98a8;font-size:8px}.vault-row>code{min-width:140px;color:#556276;font-size:9px;letter-spacing:.08em}.vault-user{color:#657186;font-size:8px}.empty-row{min-height:82px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--faint);font-size:9px}.empty-row.tall{min-height:260px;flex-direction:column;text-align:center}.empty-row.tall>span{width:50px;height:50px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:14px}.empty-row.tall h2{margin:5px 0 0;color:var(--text);font-size:14px}.empty-row.tall p{max-width:430px;margin:0;line-height:1.7}.notes-copy{padding:18px;color:#5f6b7e;font-size:10px;line-height:1.75}
.network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:13px}.network-card{padding:17px;border-top:3px solid var(--network-colour)}.network-card-top{display:flex;align-items:center;justify-content:space-between}.network-symbol{width:35px;height:35px;display:grid;place-items:center;color:var(--network-colour);background:#f2f1fb;border-radius:9px}.network-status{display:flex;align-items:center;gap:5px;color:#599079;font-size:7px;font-weight:800;text-transform:uppercase}.network-card-top i{width:5px;height:5px;background:var(--green);border-radius:50%}.network-card h2{margin:14px 0 2px;font-size:14px}.network-card>code{color:#8792a3;font-size:9px}.capacity{margin:15px 0}.capacity>div{height:6px;overflow:hidden;background:#edf0f4;border-radius:5px}.capacity>div span{display:block;height:100%;background:var(--network-colour);border-radius:5px}.capacity p{display:flex;justify-content:space-between;margin:6px 0 0;color:#8a95a6;font-size:8px}.capacity p strong{color:#566276}.network-card dl{margin:0}.network-card dl>div{min-height:31px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f2f5}.network-card dl>div:last-child{border-bottom:0}.network-card dt{color:#8a95a6;font-size:8px}.network-card dd{margin:0;color:#465268;font-size:8px}.network-edit-button{width:100%;margin-top:13px}.ipam-note{display:flex;align-items:center;gap:13px;padding:15px 17px}.ipam-note>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;color:var(--blue);background:var(--blue-soft);border-radius:9px;font-weight:800}.ipam-note h2{margin:0 0 3px;font-size:10px}.ipam-note p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}.vault-security-strip{display:flex;align-items:center;gap:12px;margin-bottom:13px;padding:14px 16px;color:#397360;background:linear-gradient(100deg,#eff9f5,#f8fbfa);border:1px solid #d8ece5;border-radius:11px}.vault-security-strip>span{width:34px;height:34px;display:grid;place-items:center;background:#fff;border-radius:50%;font-weight:800}.vault-security-strip div{flex:1}.vault-security-strip strong{font-size:10px}.vault-security-strip p{margin:2px 0 0;color:#68877c;font-size:8px}.vault-security-strip a{font-size:8px;font-weight:800}.readonly-pill{padding:6px 9px;color:#657186;background:#fff;border:1px solid var(--line);border-radius:20px;font-size:8px;font-weight:750}.audit-panel{overflow:hidden}.audit-head,.audit-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr .7fr;align-items:center;column-gap:10px}.audit-head{height:36px;padding:0 16px;color:#929dac;background:#fafbfc;border-bottom:1px solid var(--line);font-size:8px;font-weight:800;text-transform:uppercase}.audit-row{min-height:61px;padding:7px 16px;color:#657186;border-bottom:1px solid #edf0f4;font-size:8px}.audit-row:last-child{border-bottom:0}.audit-row>span:first-child{display:flex;align-items:center;gap:9px}.audit-row>span:first-child>span{display:flex;flex-direction:column}.audit-row strong{color:#344055;font-size:9px;text-transform:capitalize}.audit-row small{margin-top:2px;color:#96a0af}.audit-icon{width:29px;height:29px;display:grid;place-items:center;flex:0 0 auto;color:var(--blue);background:var(--blue-soft);border-radius:8px;font-style:normal;font-weight:800}.audit-icon.warning{color:var(--amber);background:var(--amber-soft)}.audit-icon.critical{color:var(--red);background:var(--red-soft)}.severity{padding:4px 6px;color:var(--blue);background:var(--blue-soft);border-radius:5px;font-size:7px;text-transform:capitalize}.severity.warning{color:#986c1b;background:var(--amber-soft)}.severity.critical{color:#a34350;background:var(--red-soft)}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}.settings-card{overflow:hidden}.settings-form{padding:15px 17px}.settings-form label,.stack-form label,.form-grid label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;color:#59667b;font-size:9px;font-weight:700}.settings-form input,.stack-form input,.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:38px;padding:8px 10px;color:#2d374b;background:#fff;border:1px solid #dfe4eb;border-radius:8px;font-size:10px}.form-grid textarea{resize:vertical}.settings-form input:focus,.stack-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#bfb2f4;box-shadow:0 0 0 3px rgba(113,86,232,.07)}.settings-form label small,.stack-form label small{color:#99a3b2;font-size:7px;font-weight:400}.security-list{margin:0;padding:9px 16px 14px;list-style:none}.security-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4}.security-list li:last-child{border-bottom:0}.security-list li>span{width:26px;height:26px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:50%;font-size:9px;font-weight:800}.security-list li>div{display:flex;flex-direction:column}.security-list strong{font-size:9px}.security-list small{margin-top:2px;color:#8d98a8;font-size:8px}.agent-panel{margin-bottom:20px}.agent-help{display:flex;gap:9px;margin:12px;padding:11px 13px;color:#5f7087;background:#f4f7fb;border-radius:8px;font-size:8px}.agent-help>span{width:21px;height:21px;display:grid;place-items:center;flex:0 0 auto;color:var(--blue);background:var(--blue-soft);border-radius:50%;font-weight:800}.agent-help p{margin:2px 0;line-height:1.6}.danger-link{padding:0;color:#b04956;border:0;background:none;font-size:8px;font-weight:750}
.modal-backdrop{position:fixed;z-index:80;inset:0;background:rgba(14,21,33,.34);backdrop-filter:blur(2px)}body.modal-open{overflow:hidden}dialog.modal{position:fixed;z-index:90;inset:50% auto auto 50%;width:min(720px,calc(100% - 28px));max-height:calc(100vh - 42px);margin:0;padding:0;overflow:auto;transform:translate(-50%,-50%);background:#fff;border:0;border-radius:14px;box-shadow:0 24px 80px rgba(16,25,41,.24)}dialog.modal::backdrop{background:transparent}.modal.narrow{width:min(480px,calc(100% - 28px))}.modal-form{padding:0}.modal-head{position:sticky;top:0;z-index:2;min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#fff;border-bottom:1px solid var(--line)}.modal-head small{color:var(--accent);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.modal-head h2{margin:3px 0 0;font-size:15px}.modal-head button{width:31px;height:31px;color:#7a8699;background:#f7f8fa;border:1px solid var(--line);border-radius:8px;font-size:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px;padding:17px 20px 5px}.form-grid.one-column{grid-template-columns:1fr}.form-grid .wide{grid-column:1/-1}.form-grid label span{color:#9ca5b3;font-size:7px;font-weight:400}.check-label{min-height:38px;display:flex!important;align-items:center;flex-direction:row!important;padding:8px 9px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.check-label input{width:15px!important;min-height:auto!important;margin:0!important;accent-color:var(--accent)}.modal-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:13px 20px;background:#fafbfc;border-top:1px solid var(--line)}.reveal-warning{margin:15px 20px 0;padding:10px 12px;color:#7e6121;background:var(--amber-soft);border-radius:8px;font-size:8px;line-height:1.6}.revealed-secret{margin:0 20px 15px;padding:12px;background:#f2f0fc;border:1px solid #ded8f8;border-radius:9px}.revealed-secret small{display:block;color:#7d6cc5;font-size:7px;font-weight:800;text-transform:uppercase}.revealed-secret code{display:block;margin:6px 0 9px;overflow-wrap:anywhere;color:#2d374a;font-size:11px;user-select:all}.revealed-secret button{padding:5px 8px;color:var(--accent);background:#fff;border:1px solid #d6cff5;border-radius:6px;font-size:8px;font-weight:700}.form-error{margin:0 20px 14px;padding:9px 11px;color:#a34350;background:var(--red-soft);border-radius:7px;font-size:8px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 20% 20%,rgba(113,86,232,.13),transparent 30%),radial-gradient(circle at 80% 80%,rgba(55,127,212,.08),transparent 30%),#f3f5f9}.auth-card{width:min(430px,100%);padding:30px;background:#fff;border:1px solid #e1e5ec;border-radius:16px;box-shadow:0 20px 60px rgba(28,40,61,.11)}.auth-card.setup-card{width:min(610px,100%)}.auth-logo{margin-bottom:20px}.auth-logo.shield{background:linear-gradient(145deg,#27b383,#14855f)}.auth-eyebrow{margin:0 0 7px;color:var(--accent);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.auth-card h1{margin:0;font-size:24px;line-height:1.2;letter-spacing:-.035em}.auth-intro{margin:8px 0 21px;color:var(--muted);font-size:10px;line-height:1.7}.stack-form label{margin-bottom:13px}.stack-form .primary{width:100%;margin-top:3px}.auth-error{margin-bottom:14px;padding:10px 11px;color:#a3424f;background:var(--red-soft);border:1px solid #f8ccd2;border-radius:8px;font-size:9px}.auth-foot{margin:18px 0 0;color:#9ba4b2;font-size:8px;text-align:center}.otp-input,.otp-field{font-family:ui-monospace,monospace!important;font-size:17px!important;letter-spacing:.3em;text-align:center}.mfa-enrolment{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:20px;margin:5px 0 20px;padding:15px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.mfa-enrolment canvas{width:220px;height:220px;background:#fff;border:8px solid #fff;border-radius:8px}.mfa-enrolment>div{min-width:0}.mfa-enrolment small{color:#7f8a9b;font-size:8px}.mfa-enrolment code{display:block;margin:7px 0;padding:9px;overflow-wrap:anywhere;color:#39455a;background:#fff;border:1px solid var(--line);border-radius:7px;font-size:9px;line-height:1.7}.mfa-enrolment p{color:#8390a2;font-size:8px;line-height:1.7}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.recovery-grid code{padding:9px;color:#38445a;background:#f7f8fa;border:1px solid var(--line);border-radius:7px;text-align:center}.auth-card .button-link.primary{width:100%;margin-top:8px}.setup-note{margin-top:15px;padding:12px;color:#637087;background:#f4f6f9;border-radius:8px;font-size:9px;line-height:1.7}.error-card p{color:var(--muted);line-height:1.7}
.installer-page{min-height:100vh;padding:34px 20px 60px;background:radial-gradient(circle at 12% 8%,rgba(113,86,232,.13),transparent 28%),radial-gradient(circle at 88% 70%,rgba(55,127,212,.08),transparent 25%),#f2f4f8}.installer-shell{width:min(920px,100%);margin:auto}.installer-hero{display:flex;align-items:center;gap:15px;margin-bottom:22px}.installer-hero .auth-logo{margin:0}.installer-hero>div{flex:1}.installer-hero h1{margin:0;font-size:28px;letter-spacing:-.04em}.installer-hero p:last-child{max-width:650px;margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.65}.installer-version{padding:5px 9px;color:#725bd0;background:#ebe7fb;border-radius:20px;font-size:8px;font-weight:800}.installer-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.installer-steps span{height:48px;display:flex;align-items:center;justify-content:center;gap:8px;color:#9aa4b3;border-right:1px solid var(--line);font-size:9px;font-weight:750}.installer-steps span:last-child{border-right:0}.installer-steps span.active{color:#4b3bb1;background:#faf9fe}.installer-steps i{width:20px;height:20px;display:grid;place-items:center;background:#f0f2f5;border-radius:50%;font-size:8px;font-style:normal}.installer-steps .active i{color:#fff;background:var(--accent)}.installer-errors{margin-bottom:14px;padding:14px 17px;color:#923b48;background:var(--red-soft);border:1px solid #f5c9cf;border-radius:11px}.installer-errors strong{font-size:10px}.installer-errors ul{margin:7px 0 0;padding-left:18px;font-size:9px;line-height:1.7}.installer-panel{margin-bottom:13px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px rgba(29,42,64,.035);overflow:hidden}.installer-panel-head{min-height:72px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.installer-panel-head>span{width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;color:#6751ce;background:var(--accent-soft);border-radius:9px;font-size:8px;font-weight:850}.installer-panel-head h2{margin:0;font-size:13px}.installer-panel-head p{margin:3px 0 0;color:#8b96a6;font-size:8px;line-height:1.6}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:15px 18px}.install-check{min-height:49px;display:flex;align-items:center;gap:9px;padding:9px 10px;background:#f8fafc;border:1px solid #edf0f4;border-radius:8px}.install-check i{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-size:9px;font-style:normal;font-weight:900}.install-check span{display:flex;flex-direction:column}.install-check strong{font-size:8px}.install-check small{margin-top:2px;color:#8a95a6;font-size:7px}.install-check.pass i{color:#22835f;background:var(--green-soft)}.install-check.warn i{color:#a26e0e;background:var(--amber-soft)}.install-check.fail i{color:#a5424f;background:var(--red-soft)}.installer-fields{padding:17px 18px 5px}.installer-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 19px;background:#fff;border:1px solid var(--line);border-radius:12px}.installer-submit strong{font-size:9px}.installer-submit p{margin:3px 0 0;color:#909aaa;font-size:8px}.installer-submit .primary:disabled{opacity:.45;cursor:not-allowed}.install-success{width:min(650px,100%);margin:8vh auto 0;padding:35px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 70px rgba(28,40,61,.11);text-align:center}.success-mark{width:53px;height:53px;display:grid;place-items:center;margin:0 auto 17px;color:#fff;background:linear-gradient(145deg,#2ab987,#14855f);border-radius:50%;font-size:22px;font-weight:850;box-shadow:0 10px 25px rgba(24,164,115,.22)}.install-success h1{margin:0;font-size:25px;letter-spacing:-.035em}.success-intro{max-width:510px;margin:8px auto 21px;color:var(--muted);font-size:10px;line-height:1.75}.entrance-card{display:flex;align-items:center;gap:13px;margin:18px 0;padding:14px;text-align:left;background:#f5f2ff;border:1px solid #ddd6fa;border-radius:11px}.entrance-card>div{min-width:0;flex:1}.entrance-card small{color:#745fcf;font-size:8px;font-weight:800;text-transform:uppercase}.entrance-card code{display:block;margin:5px 0;overflow-wrap:anywhere;color:#29344a;font-size:10px;user-select:all}.entrance-card p{margin:0;color:#7f88a0;font-size:8px;line-height:1.55}.entrance-card button{flex:0 0 auto;padding:8px 10px;color:#6450c5;background:#fff;border:1px solid #d3cafa;border-radius:7px;font-size:8px;font-weight:750}.next-security{display:flex;align-items:center;gap:11px;margin:0 0 16px;padding:12px;text-align:left;background:#f7faf9;border:1px solid #e1ece8;border-radius:10px}.next-security>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:var(--green);border-radius:50%;font-size:9px;font-weight:800}.next-security div{display:flex;flex-direction:column}.next-security strong{font-size:9px}.next-security p{margin:3px 0 0;color:#819087;font-size:8px;line-height:1.55}.success-continue{margin-top:3px}.private-entrance-panel{margin-bottom:13px}.private-entrance-row{display:flex;align-items:center;gap:10px;padding:16px 18px}.private-entrance-row code{min-width:0;flex:1;padding:10px;overflow-wrap:anywhere;color:#463a7d;background:#f4f1ff;border:1px solid #dfd8fa;border-radius:8px;font-size:9px;user-select:all}.private-entrance-panel>p{margin:-6px 18px 16px;color:#8994a5;font-size:8px}.not-found-page{margin:0;background:#fff;color:#222;font:16px/1.5 system-ui,sans-serif}.not-found-page main{max-width:620px;margin:14vh auto;padding:24px}.not-found-page h1{margin:0 0 10px;font-size:30px}.not-found-page p{color:#666}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.device-card-grid{grid-template-columns:repeat(3,1fr)}.network-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.sidebar{transform:translateX(-100%);transition:transform .2s ease}.workspace{margin-left:0}.menu-button{width:35px;height:35px;display:grid;place-items:center;color:#68758a;background:#fff;border:1px solid var(--line);border-radius:8px}.mobile-close{position:absolute;top:18px;right:12px;width:32px;height:32px;display:grid;place-items:center;color:#8691a3;background:transparent;border:0;font-size:20px}.nav-open .sidebar{transform:translateX(0)}.nav-open .nav-scrim{position:fixed;z-index:35;inset:0;display:block;background:rgba(12,18,28,.45);border:0}.topbar{padding:0 18px}.content{padding:25px 20px 42px}.dashboard-grid{grid-template-columns:1fr}.device-card-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.audit-head,.audit-row{grid-template-columns:2fr 1fr 1fr}.audit-head>*:nth-child(3),.audit-row>*:nth-child(3),.audit-head>*:nth-child(5),.audit-row>*:nth-child(5){display:none}.settings-grid{grid-template-columns:1fr}}
@media(max-width:620px){.topbar{padding:0 12px}.global-search{width:44px;padding:0 12px}.global-search input,.global-search kbd{display:none}.global-search:focus-within{position:absolute;left:58px;right:60px;width:auto}.global-search:focus-within input{display:block}.live-pill{display:none}.header-button{margin-left:auto}.content{padding:21px 12px 35px}.page-heading{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions>*{flex:1}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric{min-height:102px;padding:13px;gap:8px}.metric-icon{width:30px;height:30px}.metric strong{font-size:21px}.metric p{display:none}.device-card-grid,.network-grid{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column;gap:9px}.toolbar form,.toolbar input{width:100%}.device-hero{align-items:flex-start;flex-wrap:wrap}.device-hero>div:nth-child(2){min-width:calc(100% - 74px)}.device-hero .page-actions{width:100%}.vault-row{flex-wrap:wrap;padding:11px 3px}.vault-row>code{order:3;flex:1}.vault-user{display:none}.token-once{align-items:flex-start;flex-direction:column}.token-once code{max-width:100%}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.mfa-enrolment{grid-template-columns:1fr}.mfa-enrolment canvas{margin:auto}.auth-card{padding:24px}.audit-head,.audit-row{grid-template-columns:2fr 1fr}.audit-head>*:nth-child(2),.audit-row>*:nth-child(2){display:none}.modal-actions>*{flex:1}.installer-page{padding:20px 10px 40px}.installer-hero{align-items:flex-start;flex-wrap:wrap}.installer-hero>div{order:2;flex-basis:calc(100% - 55px)}.installer-version{margin-left:auto}.installer-steps span{font-size:8px}.check-grid{grid-template-columns:1fr;padding:12px}.installer-panel-head{padding:13px}.installer-fields{padding:14px 13px 2px}.installer-submit{align-items:stretch;flex-direction:column}.installer-submit .primary{width:100%}.install-success{margin:3vh auto 0;padding:24px 17px}.entrance-card{align-items:stretch;flex-direction:column}.entrance-card button{width:100%}.private-entrance-row{align-items:stretch;flex-direction:column}}

/* Installer accessibility scale: comfortable at 100% browser zoom on high-resolution displays. */
.installer-page{padding:40px 24px 72px;font-size:16px}.installer-shell{width:min(1120px,100%)}.installer-hero{gap:18px;margin-bottom:28px}.installer-hero .auth-logo{width:48px;height:48px;font-size:15px}.installer-page .auth-eyebrow{margin-bottom:8px;font-size:12px}.installer-hero h1{font-size:34px}.installer-hero p:last-child{max-width:780px;margin-top:7px;font-size:14px;line-height:1.65}.installer-version{padding:7px 12px;font-size:11px}.installer-steps{margin-bottom:18px;border-radius:13px}.installer-steps span{height:60px;gap:10px;font-size:13px}.installer-steps i{width:27px;height:27px;font-size:11px}.installer-errors{margin-bottom:18px;padding:18px 21px}.installer-errors strong{font-size:14px}.installer-errors ul{margin-top:9px;font-size:13px}.installer-panel{margin-bottom:18px;border-radius:14px}.installer-panel-head{min-height:88px;gap:15px;padding:19px 24px}.installer-panel-head>span{width:40px;height:40px;border-radius:10px;font-size:11px}.installer-panel-head h2{font-size:18px}.installer-panel-head p{margin-top:4px;font-size:13px;line-height:1.6}.check-grid{gap:12px;padding:20px 24px}.install-check{min-height:66px;gap:12px;padding:12px 14px;border-radius:10px}.install-check i{width:30px;height:30px;font-size:12px}.install-check strong{font-size:13px}.install-check small{margin-top:3px;font-size:12px}.installer-fields{padding:22px 24px 7px}.installer-page .form-grid{column-gap:18px}.installer-page .form-grid label{gap:8px;margin-bottom:18px;font-size:13px}.installer-page .form-grid label small{font-size:12px;line-height:1.55}.installer-page .form-grid input,.installer-page .form-grid select,.installer-page .form-grid textarea{min-height:50px;padding:12px 14px;border-radius:10px;font-size:15px}.installer-submit{padding:21px 24px;border-radius:14px}.installer-submit strong{font-size:14px}.installer-submit p{margin-top:4px;font-size:12px}.installer-page .primary{min-height:48px;padding:0 19px;font-size:14px}.install-success{width:min(760px,100%);padding:44px}.success-mark{width:64px;height:64px;margin-bottom:20px;font-size:27px}.install-success h1{font-size:32px}.success-intro{max-width:600px;margin-top:10px;font-size:14px}.entrance-card{gap:16px;margin:22px 0;padding:19px}.entrance-card small{font-size:11px}.entrance-card code{margin:7px 0;font-size:14px}.entrance-card p{font-size:12px;line-height:1.6}.entrance-card button{min-height:44px;padding:0 14px;font-size:13px}.next-security{gap:14px;margin-bottom:20px;padding:17px}.next-security>span{width:36px;height:36px;font-size:12px}.next-security strong{font-size:13px}.next-security p{margin-top:4px;font-size:12px;line-height:1.6}.success-continue{margin-top:5px}
@media(max-width:620px){.installer-page{padding:24px 12px 48px}.installer-hero{gap:13px;margin-bottom:22px}.installer-hero .auth-logo{width:44px;height:44px}.installer-page .auth-eyebrow{font-size:11px}.installer-hero h1{font-size:29px}.installer-hero p:last-child{font-size:13px}.installer-version{font-size:10px}.installer-steps span{height:54px;gap:6px;font-size:12px}.installer-steps i{width:24px;height:24px;font-size:10px}.installer-panel-head{min-height:82px;padding:16px 15px}.installer-panel-head>span{width:36px;height:36px}.installer-panel-head h2{font-size:16px}.installer-panel-head p{font-size:12px}.check-grid{padding:14px}.install-check{min-height:62px}.install-check strong{font-size:13px}.install-check small{font-size:11px}.installer-fields{padding:17px 15px 3px}.installer-page .form-grid label{font-size:13px}.installer-page .form-grid input,.installer-page .form-grid select,.installer-page .form-grid textarea{font-size:16px}.installer-submit{padding:18px 16px}.install-success{padding:30px 18px}.install-success h1{font-size:28px}.success-intro{font-size:13px}.entrance-card{padding:16px}.entrance-card code{font-size:13px}}
