.ns-global-search{position:relative}.ns-search-results{position:absolute;z-index:20;top:42px;right:0;width:330px;border:1px solid var(--line);border-radius:10px;background:#121a2d;box-shadow:0 20px 45px rgba(0,0,0,.4);padding:5px}.ns-search-result{display:flex;align-items:center;gap:9px;width:100%;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;padding:9px;cursor:pointer}.ns-search-result:hover{background:rgba(142,157,255,.12)}.ns-search-result>span:nth-child(2){flex:1}.ns-search-result b,.ns-search-result small{display:block}.ns-search-result b{font-size:10px}.ns-search-result small{color:var(--muted);font-size:9px;margin-top:2px}.ns-search-type{color:#9eabff;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.ns-search-empty{color:var(--muted);font-size:10px;padding:12px}.ns-search-results[hidden]{display:none}

/* Northstar onboarding and shared form primitives. */
main[data-page="setup"],:is(main[data-page="signin"],main[data-page="signup"]),main[data-page="factor"],main[data-page="invite"]{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:54px 20px 80px;background:radial-gradient(700px 420px at 50% 0%,rgba(96,112,255,.16),transparent 70%)}main[data-page="setup"] .card,:is(main[data-page="signin"],main[data-page="signup"]) .card,main[data-page="factor"] .card,main[data-page="invite"] .card{width:min(100%,520px);margin:0;padding:32px;border:1px solid rgba(142,157,255,.24);border-radius:18px;background:linear-gradient(160deg,rgba(26,35,67,.96),rgba(15,21,40,.96));box-shadow:0 28px 80px rgba(0,0,0,.35)}main[data-page="setup"] .card:before,:is(main[data-page="signin"],main[data-page="signup"]) .card:before,main[data-page="factor"] .card:before,main[data-page="invite"] .card:before{content:"";display:block;width:42px;height:42px;border-radius:13px;margin-bottom:24px;background:linear-gradient(140deg,#bdc8ff,#6977ff);box-shadow:0 8px 24px rgba(124,137,255,.3)}main[data-page="setup"] h2,:is(main[data-page="signin"],main[data-page="signup"]) h2,main[data-page="factor"] h2,main[data-page="invite"] h2{font-size:25px;letter-spacing:-.06em;margin:0 0 9px;color:var(--ink)}main[data-page="setup"] p,:is(main[data-page="signin"],main[data-page="signup"]) p,main[data-page="factor"] p,main[data-page="invite"] p{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 24px}main[data-page="setup"] label,:is(main[data-page="signin"],main[data-page="signup"]) label,main[data-page="factor"] label,main[data-page="invite"] label{display:block;color:#a7b0cc;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:16px 0 7px}main[data-page="setup"] input,:is(main[data-page="signin"],main[data-page="signup"]) input,main[data-page="factor"] input,main[data-page="invite"] input{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(5,9,20,.52);color:var(--ink);padding:12px 13px;font:inherit;font-size:13px;outline:0}main[data-page="setup"] input:focus,:is(main[data-page="signin"],main[data-page="signup"]) input:focus,main[data-page="factor"] input:focus,main[data-page="invite"] input:focus{border-color:#8e9dff;box-shadow:0 0 0 3px rgba(142,157,255,.12)}main[data-page="setup"] .card>label:nth-of-type(n+2){display:inline-block;width:calc(50% - 7px);vertical-align:top;margin-right:10px}main[data-page="setup"] .card>input:nth-of-type(n+2){display:inline-block;width:calc(50% - 7px);vertical-align:top}main[data-page="setup"] button,:is(main[data-page="signin"],main[data-page="signup"]) button,main[data-page="factor"] button,main[data-page="invite"] button{border:0;border-radius:9px;background:linear-gradient(135deg,#9daaff,#7080ff);color:#10152b;padding:11px 16px;font-size:12px;font-weight:800;cursor:pointer}main[data-page="setup"] button.ghost,:is(main[data-page="signin"],main[data-page="signup"]) button.ghost,main[data-page="factor"] button.ghost,main[data-page="invite"] button.ghost{border:1px solid var(--line);background:transparent;color:var(--muted)}.err{color:var(--danger);font-size:11px;margin-top:12px}
@media(max-width:620px){main[data-page="setup"] .card,:is(main[data-page="signin"],main[data-page="signup"]) .card,main[data-page="factor"] .card,main[data-page="invite"] .card{padding:24px}main[data-page="setup"] .card>label:nth-of-type(n+2),main[data-page="setup"] .card>input:nth-of-type(n+2){display:block;width:100%;margin-right:0}}
main[data-page="setup"] .card>label,main[data-page="setup"] .card>input{display:block!important;width:100%!important;margin-right:0}
.ns-content .ns-filter-button{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);font-weight:600}.ns-content button.link-button{border:0;background:transparent;color:#9eabff;padding:0;font-weight:600}

/* Shared live management surfaces. */
body[data-role] .ns-global-top #user-line{display:none}.ns-content>.card,.ns-content>.card:has(table){border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);padding:18px;margin:0 0 13px;overflow-x:auto}.ns-content h3{font-size:14px;letter-spacing:-.03em;margin:0 0 10px;color:var(--ink)}.ns-content p{font-size:11px;line-height:1.55;color:var(--muted)}.ns-content label{display:block;color:#9ca7c6;font-size:10px;font-weight:700;letter-spacing:.04em;margin:11px 0 5px}.ns-content input,.ns-content select,.ns-content textarea{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(4,8,17,.44);color:var(--ink);padding:9px 10px;font:inherit;font-size:11px;outline:0}.ns-content input:focus,.ns-content select:focus,.ns-content textarea:focus{border-color:#8e9dff;box-shadow:0 0 0 3px rgba(142,157,255,.1)}.ns-content button,.ns-content .btn{border:1px solid rgba(142,157,255,.34);border-radius:8px;background:linear-gradient(135deg,#8997ff,#6677f5);color:#10152b;padding:8px 12px;font-size:10px;font-weight:800;cursor:pointer}.ns-content button.ghost,.ns-content .ghost{border-color:var(--line);background:rgba(255,255,255,.035);color:var(--muted);font-weight:600}.ns-content button.danger{border-color:rgba(255,142,155,.28);background:rgba(255,142,155,.1);color:var(--danger)}.ns-content .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ns-content table{width:100%;border-collapse:collapse;font-size:10px;margin-top:13px}.ns-content th,.ns-content td{padding:10px 8px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top;white-space:normal}.ns-content th{color:#707b9b;font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.ns-content td{color:#dce2f7}.ns-content td.muted,.ns-content .muted{color:var(--muted)}.ns-content .badge{display:inline-block;padding:4px 7px;border-radius:5px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:9px;color:var(--muted)}.ns-content .badge.ok,.ns-content .badge.approved{color:var(--accent-2);background:rgba(119,224,192,.09)}.ns-content .badge.fail,.ns-content .badge.rejected{color:var(--danger);background:rgba(255,142,155,.09)}.ns-content .badge.pending{color:#f6cb76;background:rgba(246,203,118,.09)}.ns-content .filters{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0}.ns-content .filters>div{min-width:150px;flex:1}.ns-content .token-box{background:rgba(4,8,17,.5);border:1px solid var(--line);border-radius:8px;padding:10px;color:#b9c4e3}.ns-content .err{color:var(--danger);font-size:10px;margin-top:8px}.ns-content .install-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.ns-content .install-card{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);padding:12px}.ns-content .tabs{display:flex;gap:6px;flex-wrap:wrap;background:transparent;padding:0;margin-bottom:12px}.ns-content .tab{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);border-radius:7px;padding:7px 10px}.ns-content .tab.active{color:var(--ink);border-color:#8e9dff;background:rgba(142,157,255,.13)}.ns-content .field-label{display:none}.ns-content .chart{background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:10px;padding:10px}.ns-content .run-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}.ns-content .run-stats dt{color:var(--muted);font-size:9px}.ns-content .run-stats dd{margin:3px 0;font-size:13px}.ns-content .stack{display:grid;gap:5px}.ns-content [data-write]{transition:opacity .15s}.ns-content pre{border:1px solid var(--line);border-radius:8px;background:#080d19;color:#c4cdef;padding:12px;overflow:auto;font-size:10px}.ns-content code{color:#b9c4e3}.ns-content h2{font-size:18px;letter-spacing:-.04em}.ns-content h4{font-size:11px;margin:0 0 7px}.ns-content .foot{display:none}
@media(max-width:760px){.ns-content>.card{padding:14px}.ns-content table{min-width:720px}.ns-content .filters>div{min-width:130px}.ns-content .row>input,.ns-content .row>select{flex:1;min-width:140px}}
.ns-page-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.ns-page-section-head p{margin:5px 0 0}.ns-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:11px}.ns-agent-card{border:1px solid var(--line);border-radius:12px;background:rgba(5,9,19,.32);padding:15px;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.ns-agent-card:hover,.ns-agent-card:focus{transform:translateY(-2px);border-color:rgba(142,157,255,.58);background:rgba(142,157,255,.07);outline:none}.ns-agent-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.ns-device-icon{width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(142,157,255,.28);border-radius:10px;background:rgba(142,157,255,.12);color:#b9c3ff;font-size:22px;line-height:1}.ns-device-icon.desktop{background:rgba(119,224,192,.1);border-color:rgba(119,224,192,.24);color:#91ebd0}.ns-device-icon.large{width:64px;height:64px;border-radius:17px;font-size:38px;flex-shrink:0}.ns-agent-status{width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 4px rgba(119,224,192,.1)}.ns-agent-status.offline{background:var(--danger);box-shadow:0 0 0 4px rgba(255,142,155,.1)}.ns-agent-status.disabled{background:#7b849f;box-shadow:0 0 0 4px rgba(123,132,159,.1)}.ns-agent-name strong,.ns-agent-name small{display:block}.ns-agent-name strong{font-size:12px}.ns-agent-name small{color:var(--muted);font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ns-agent-meta{display:flex;justify-content:space-between;gap:8px;margin-top:14px;color:var(--muted);font-size:9px}.ns-agent-meta span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ns-agent-health{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;border-top:1px solid rgba(255,255,255,.07);margin-top:13px;padding-top:12px;color:var(--muted);font-size:8px}.ns-agent-health b{display:block;color:var(--ink);font-size:10px;margin-top:3px}.ns-empty-state{grid-column:1/-1;border:1px dashed rgba(142,157,255,.3);border-radius:12px;padding:36px;text-align:center;color:var(--muted)}.ns-empty-state .ns-device-icon{margin:0 auto 10px}.ns-empty-state strong{display:block;color:var(--ink);font-size:13px}.ns-empty-state p{margin:6px 0 0}.ns-agent-detail{display:grid;gap:13px}.ns-detail-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.ns-detail-actions{display:flex;gap:7px;flex-wrap:wrap}.ns-device-hero{display:flex;align-items:center;gap:16px;padding:19px 20px;border:1px solid rgba(142,157,255,.23);border-radius:14px;background:linear-gradient(135deg,rgba(142,157,255,.11),rgba(255,255,255,.025))}.ns-device-hero h2{margin:5px 0 4px;font-size:22px}.ns-device-hero p{margin:0;color:var(--muted);font-size:10px}.ns-detail-live{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10px;color:var(--accent-2)}.ns-detail-live i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent)}.ns-detail-live.offline{color:var(--danger)}.ns-device-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ns-device-stat{border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.035);padding:13px}.ns-device-stat span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.ns-device-stat strong{display:block;font-size:20px;letter-spacing:-.05em;margin:7px 0 2px}.ns-device-stat em{font-style:normal;color:var(--muted);font-size:8px}.ns-detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.ns-device-chart{height:170px;display:flex;align-items:end;gap:7px;padding:12px 0 24px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 40px,rgba(255,255,255,.05) 41px)}.ns-device-chart i{flex:1;min-height:10%;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#8e9dff,rgba(142,157,255,.13))}.ns-device-chart i:nth-child(3n){background:linear-gradient(180deg,#77e0c0,rgba(119,224,192,.13))}.ns-chart-legend{display:flex;gap:14px;color:var(--muted);font-size:8px;margin-top:10px}.ns-chart-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.legend-cpu{background:#8e9dff}.legend-memory{background:#77e0c0}.ns-detail-list{display:grid;gap:0;margin:0}.ns-detail-list div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.ns-detail-list div:last-child{border:0}.ns-detail-list dt{color:var(--muted);font-size:9px}.ns-detail-list dd{margin:0;text-align:right;font-size:9px}.ns-device-runs{display:grid;gap:0}.ns-device-runs>div{display:flex;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.06);padding:10px 0}.ns-device-runs>div:last-child{border:0}.ns-device-runs>div>span:nth-child(2){flex:1}.ns-device-runs b,.ns-device-runs small{display:block}.ns-device-runs b{font-size:10px}.ns-device-runs small{color:var(--muted);font-size:8px;margin-top:3px}.ns-run-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2)}.ns-run-dot.fail{background:var(--danger)}.ns-run-dot.running{background:#f6cb76}@media(max-width:760px){.ns-page-section-head,.ns-detail-header,.ns-device-hero{align-items:flex-start;flex-direction:column}.ns-page-section-head .row{width:100%}.ns-page-section-head .row button{flex:1}.ns-device-stat-grid{grid-template-columns:repeat(2,1fr)}.ns-detail-grid{grid-template-columns:1fr}.ns-detail-live{margin-left:0}}

/* Pricing and quote pages: the same card look as the sign-in page, laid out for reading. */
main[data-page="pricing"] .card,main[data-page="quote"] .card{background:rgba(255,255,255,.03);border:1px solid rgba(139,147,220,.22);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 18px 50px rgba(0,0,0,.25)}
main[data-page="pricing"] .card h2{margin:0}
main[data-page="pricing"] .card ul{margin:0;padding-left:18px;color:#9aa3b8;font-size:14px;line-height:1.5}
main[data-page="pricing"] .card button{margin-top:auto;align-self:flex-start}
main[data-page="pricing"] .card .muted{color:#9aa3b8;margin:0}
main[data-page="quote"] .card label{display:block;margin-top:10px;font-size:13px;color:#9aa3b8}
main[data-page="quote"] .card input,main[data-page="quote"] .card select,main[data-page="quote"] .card textarea{width:100%;box-sizing:border-box}
main[data-page="quote"] .card textarea{min-height:110px;font:inherit}
main[data-page="quote"] .card input,main[data-page="quote"] .card select,main[data-page="quote"] .card textarea{background:#0b0f1d;color:#e6e9f5;border:1px solid rgba(139,147,220,.3);border-radius:10px;padding:10px 12px;font:inherit}
main[data-page="quote"] .card input::placeholder,main[data-page="quote"] .card textarea::placeholder{color:#6b7390}
