@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap";:root{--ink:#15191e;--paper:#f4f1e9;--muted:#676861;--line:#c9c4b8;--acid:#d5ef4b;--blue:#98c9e8;--red:#f26c56;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}:focus-visible{outline-offset:3px;outline:3px solid #176e9c}.brand{letter-spacing:-.05em;align-items:center;gap:10px;font-weight:700;line-height:.9;display:inline-flex}.brand-mark{background:var(--ink);width:28px;height:28px;color:var(--acid);letter-spacing:0;place-items:center;font-family:DM Mono,monospace;font-size:14px;display:grid}.brand small{color:var(--muted);letter-spacing:.08em;margin-top:4px;font-family:DM Mono,monospace;font-size:9px;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:DM Mono,monospace;font-size:11px}.landing{min-height:100vh;overflow:hidden}.landing-header,.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;padding:0 5vw;display:flex}.landing-header nav{gap:26px;font-size:13px;font-weight:600;display:flex}.landing-header nav a:last-child{border-bottom:2px solid var(--ink)}.hero{background:var(--ink);min-height:595px;color:var(--paper);grid-template-columns:minmax(0,660px) minmax(320px,520px);justify-content:space-between;align-items:center;gap:max(30px,min(5vw,90px));padding:90px 5vw 70px;display:grid}.hero .eyebrow{color:var(--acid)}.hero h1{letter-spacing:-.055em;max-width:735px;margin:20px 0;font:600 max(42px,min(6.8vw,91px))/.94 Newsreader,Georgia,serif}.hero-copy p{color:#d0d0c9;max-width:510px;font-size:16px;line-height:1.65}.hero-actions{align-items:center;gap:26px;margin-top:32px;display:flex}.button{background:var(--acid);color:var(--ink);padding:12px 18px;font-size:13px;font-weight:700}.text-link{border-bottom:1px solid var(--acid);font-size:13px}.network-diagram{background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:36px 36px;border:1px solid #484c4d;width:100%;margin:0;position:relative}.network-diagram svg{aspect-ratio:520/400;width:100%;height:auto;display:block}.diagram-line{stroke:var(--acid);stroke-width:1px}.diagram-node rect{fill:var(--ink);stroke:var(--acid)}.diagram-node text{fill:var(--acid);text-anchor:middle;dominant-baseline:middle;font-family:DM Mono,monospace;font-size:15px}.diagram-caption{fill:#c7c7bd;text-anchor:middle;font-family:DM Mono,monospace;font-size:10px}.diagram-caption-left{text-anchor:start}.diagram-caption-right{text-anchor:end}.diagram-route{fill:#8f938c;font-family:DM Mono,monospace;font-size:10px}.network-diagram figcaption{color:#a6a9a3;text-align:center;padding:10px 2px 12px;font:10px DM Mono,monospace}.built-strip{background:var(--acid);justify-content:space-between;align-items:center;min-height:68px;padding:0 5vw;font:500 11px DM Mono,monospace;display:flex}.built-strip span:first-child{font-size:14px}.principles{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8vw;padding:110px 15vw 100px 5vw;display:grid}.principles h2,.platform h2,.reliability h2{letter-spacing:-.04em;margin:16px 0 0;font:600 max(35px,min(4vw,55px))/1 Newsreader,Georgia,serif}.principle-copy{font-size:17px;line-height:1.75}.principle-copy p:first-child{margin-top:0}.principle-copy p:last-child{color:var(--muted)}.platform{padding:85px 5vw 0}.platform-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(4,1fr);margin-top:60px;display:grid}.platform-grid article{border-right:1px solid var(--line);min-height:225px;padding:18px 20px 25px 0}.platform-grid article+article{padding-left:20px}.platform-grid article:last-child{border-right:0}.platform-grid span{color:var(--muted);font:11px DM Mono,monospace}.platform-grid h3{margin:54px 0 9px;font-size:17px}.platform-grid p{max-width:190px;color:var(--muted);font-size:13px;line-height:1.6}.reliability{padding:85px 5vw 0}.reliability-intro{max-width:620px;color:var(--muted);margin:22px 0 0;font-size:15px;line-height:1.7}.reliability-list{border-top:1px solid var(--ink);grid-template-columns:repeat(2,1fr);gap:0 56px;margin:56px 0 0;padding:0;list-style:none;display:grid}.reliability-list li{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr;gap:16px;padding:22px 0;display:grid}.reliability-list span{color:var(--muted);padding-top:2px;font:11px DM Mono,monospace}.reliability-list p{max-width:440px;margin:0;font-size:14px;line-height:1.6}footer{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:1fr 1.5fr 2fr;align-items:center;gap:30px;padding:36px 5vw;font-size:11px;display:grid}footer p{color:var(--ink);font:12px DM Mono,monospace}.app-frame{background:#fcfaf5;min-height:100vh}.app-header{z-index:3;background:#fcfaf5;padding-left:3vw;padding-right:3vw;position:sticky;top:0}.app-header nav{gap:4px;display:flex}.app-header nav a{padding:8px 11px;font-size:12px}.app-header nav a.active{background:var(--ink);color:var(--acid)}.preview-label{color:var(--muted);font:10px DM Mono,monospace}.menu-button{border:0;border-bottom:1px solid var(--ink);background:0 0;padding:4px 0;display:none}.preview-banner{z-index:2;background:var(--acid);border-bottom:1px solid var(--ink);text-align:center;padding:8px 3vw;font:10px DM Mono,monospace;position:sticky;top:76px}.adapter-list em.prototype{color:#936800}.adapter-list em.unavailable{color:#9b3d31}.page-heading{border-bottom:2px solid var(--ink);justify-content:space-between;gap:30px;padding:78px 0 50px;display:flex}.page-heading h1{letter-spacing:-.05em;margin:12px 0 0;font:600 max(42px,min(5vw,70px))/.92 Newsreader,Georgia,serif}.page-heading p{max-width:360px;color:var(--muted);margin:22px 0 0;font-size:14px;line-height:1.65}.topology{border-bottom:1px solid var(--line);background-image:radial-gradient(#b8b5ac 1px,#0000 1px);background-size:19px 19px;height:355px;position:relative;overflow:hidden}.map-label{color:var(--muted);font:10px DM Mono,monospace;position:absolute;top:22px;left:22px}.map-line{background:var(--ink);transform-origin:0;height:1px;position:absolute}.map-line-a{width:30%;top:48%;left:36%;transform:rotate(-27deg)}.map-line-b{width:30%;top:48%;left:36%;transform:rotate(26deg)}.map-core{background:var(--ink);width:82px;height:82px;color:var(--acid);place-items:center;font:500 19px DM Mono,monospace;display:grid;position:absolute;top:40%;left:31%}.map-core span{font-size:9px}.map-peer{border:1px solid var(--ink);background:#fcfaf5;gap:4px;padding:11px 15px;font-size:12px;display:grid;position:absolute}.map-peer small{color:var(--muted)}.map-peer-0{top:26%;right:17%}.map-peer-1{bottom:17%;right:19%}.map-peer-2{bottom:10%;left:7%}.status{background:var(--acid);border-radius:50%;width:8px;height:8px;display:inline-block}.status.relay{background:var(--blue)}.status.offline{background:var(--red)}.stat-row{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr) 2fr;display:grid}.stat-row div,.stat-row p{margin:0;padding:22px 0}.stat-row div+div{border-left:1px solid var(--line);padding-left:24px}.stat-row b{font:500 31px Newsreader,Georgia,serif;display:block}.stat-row span{color:var(--muted);font-size:11px}.stat-row p{text-align:right;font:11px DM Mono,monospace}.coverage{grid-template-columns:1fr 2fr;padding-top:70px;display:grid}.coverage h2{letter-spacing:-.04em;font:500 32px/1 Newsreader,Georgia,serif}.coverage ul{margin:0;padding:0;list-style:none}.coverage li{border-top:1px solid var(--line);grid-template-columns:150px 1fr;padding:15px 0;font-size:13px;display:grid}.coverage li span{color:var(--muted)}.data-table{border-bottom:1px solid var(--line)}.table-head,.data-table article{grid-template-columns:1.25fr .8fr 1fr 1.5fr;align-items:center;gap:18px;display:grid}.table-head{border-bottom:1px solid var(--line);text-transform:uppercase;color:var(--muted);padding:13px 0;font:10px DM Mono,monospace}.data-table article{border-bottom:1px solid var(--line);min-height:75px;font-size:13px}.data-table article small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.data-table code,.oidc code,.zone-list code{font:12px DM Mono,monospace}.peers-table .table-head,.peers-table article{grid-template-columns:1.1fr .85fr .7fr 2.5fr}.presence{align-items:center;gap:7px;display:flex}.adapter-list{flex-wrap:wrap;gap:6px;display:flex}.adapter-list>span{border:1px solid var(--line);padding:3px 5px;font:10px DM Mono,monospace}.adapter-list em{color:var(--muted);margin-top:3px;font-size:8px;font-style:normal;display:block}.adapter-list em.available{color:#457100}.adapter-list em.preview{color:#936800}.kind{text-transform:uppercase;font:10px DM Mono,monospace}.route-rule{gap:12px;padding:19px 0;font-size:12px;display:flex}.route-rule span{color:var(--muted);margin-left:auto;font:10px DM Mono,monospace}.note{border-left:4px solid var(--acid);max-width:550px;margin-top:44px;padding-left:18px;font-size:13px;line-height:1.6}.note b{display:block}.zone-list article{border-bottom:1px solid var(--line);justify-content:space-between;padding:34px 0;display:flex}.zone-list h2{margin-left:17px;font:500 36px Newsreader,Georgia,serif;display:inline}.zone-index{color:var(--muted);font:11px DM Mono,monospace}.zone-list p{color:var(--muted);margin:9px 0 0 45px;font-size:12px}.zone-list article>div:last-child{width:220px;color:var(--muted);align-content:center;gap:7px;font-size:12px;display:grid}.access-layout{grid-template-columns:1fr 1.4fr;gap:6vw;padding-top:45px;display:grid}.access-layout h2{letter-spacing:-.04em;margin:16px 0 11px;font:500 43px Newsreader,Georgia,serif}.access-layout h2 span{vertical-align:middle;letter-spacing:0;font:11px DM Mono,monospace}.oidc{border-top:4px solid var(--ink);background:var(--acid);padding:20px}.oidc p{font-size:13px}.oidc code{overflow-wrap:anywhere;display:block}.oidc small{margin-top:50px;font-size:10px;display:block}.mapping dl{margin:17px 0 0}.mapping dl div{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;padding:17px 0;font-size:13px;display:grid}.mapping dt{font-weight:700}.mapping dd{color:var(--muted);margin:0}.krasichka-line{margin-top:60px;font:12px DM Mono,monospace}.signin-gate,.session-error,.page-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:80px 20px;display:flex}.page-loading{color:var(--muted);font:500 15px DM Mono,monospace}.signin-gate h1,.session-error h1{letter-spacing:-.04em;margin:10px 0 0;font:600 max(34px,min(4vw,52px))/1 Newsreader,Georgia,serif}.signin-gate>p{max-width:460px;color:var(--muted);margin:0;font-size:14px;line-height:1.65}.email-signin{border:1px solid var(--line);border-top:4px solid var(--ink);background:#fffef9;gap:12px;width:min(360px,100%);padding:24px;display:grid}.email-signin-divider{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;font:10px DM Mono,monospace}.email-signin label{text-align:left;gap:6px;font-size:12px;font-weight:600;display:grid}.email-signin label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font:10px DM Mono,monospace}.email-signin input{border:1px solid var(--line);color:var(--ink);background:#fff;padding:10px 12px;font:14px DM Mono,monospace}.email-signin .error-note{margin:0}.email-signin-toggle{cursor:pointer;background:0 0;border:0;justify-self:center;padding:0}.signin-gate .krasichka-line,.session-error .krasichka-line{margin-top:34px}.signin-gate>.foot-credit{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:100%;margin-top:34px;font-size:12px;display:flex}.foot-credit .kra{align-items:center;gap:6px;display:inline-flex}.foot-credit img{flex:none}.session-error{border-top:4px solid var(--red)}.session-error .note{max-width:460px;margin:0;font-size:14px;line-height:1.65}.device-form{gap:14px;width:min(460px,100%);display:grid}.device-form label{text-align:left;gap:7px;font-size:12px;font-weight:600;display:grid}.device-form label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font:10px DM Mono,monospace}.device-form input{border:1px solid var(--line);color:var(--ink);text-align:center;letter-spacing:.14em;background:#fff;padding:12px 14px;font:15px DM Mono,monospace}.device-actions{justify-content:center;gap:12px;display:flex}.panel{margin-top:54px}section h2{letter-spacing:-.03em;margin:56px 0 20px;font:500 30px/1 Newsreader,Georgia,serif}.form-panel{border:1px solid var(--line);border-top:4px solid var(--ink);background:#fffef9;padding:26px 28px 32px}.form-panel h2{margin:0 0 22px}.form-grid{grid-template-columns:1fr 1fr;gap:18px 22px;margin-bottom:24px;display:grid}.form-grid label{flex-direction:column;gap:7px;font-size:12px;font-weight:600;display:flex}.form-grid label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font:10px DM Mono,monospace}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);color:var(--ink);background:#fff;padding:9px 11px;font:13px DM Mono,monospace}.form-grid label.wide,.form-grid label.check{grid-column:1/-1}.form-grid label.check{color:var(--ink);flex-direction:row;align-items:center;gap:10px}.form-grid label.check input{width:16px;height:16px}.form-grid .required-mark,.form-grid label.is-invalid>span,.form-grid.is-invalid>legend{color:var(--red)}.form-grid label.is-invalid input{border-color:var(--red);border-left:3px solid var(--red);background:#fdf0ed}.form-grid.is-invalid{border:1px solid var(--red);padding:12px 14px 14px}.form-grid .field-error{color:#9b3d31;text-transform:uppercase;letter-spacing:.06em;font:10px DM Mono,monospace}.permission-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:26px 0 24px;padding:0;display:grid}.permission-grid legend{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font:10px DM Mono,monospace}.permission-option{border:1px solid var(--line);background:#fff;flex-direction:row;align-items:flex-start;gap:10px;padding:11px 13px;font-size:13px;font-weight:600;display:flex}.permission-option input{width:16px;height:16px;margin-top:2px}.permission-option span{flex-direction:column;gap:3px;display:flex}.permission-option small{color:var(--muted);font-size:12px;font-weight:400}.permission-grid.is-invalid{border:1px solid var(--red);padding:12px 14px 14px}.permission-grid.is-invalid>legend{color:var(--red)}.permission-grid .field-error{color:#9b3d31;text-transform:uppercase;letter-spacing:.06em;grid-column:1/-1;font:10px DM Mono,monospace}.token-permissions{font-weight:600}.records{resize:vertical}.inline-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:10px;margin:18px 0;font:10px DM Mono,monospace;display:inline-flex}.inline-label select{border:1px solid var(--line);background:#fff;padding:8px 10px;font:13px DM Mono,monospace}.button{cursor:pointer;border:0}.button:disabled{opacity:.45;cursor:not-allowed}.button-small{padding:7px 11px;font-size:12px;font-weight:600}.row-actions{justify-content:flex-end;gap:8px;display:flex}.state-on,.state-off{border:1px solid var(--line);justify-self:start;padding:3px 9px;font:11px DM Mono,monospace}.state-on{color:#457100;background:#f3f8dd;border-color:#a9c46a}.state-off{color:#9b3d31;background:#faeae7;border-color:#d8a49b}.data-table{margin-top:36px}.data-table>[role=row]{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:14px 0;font-size:13px;display:grid}.adapters-table [role=row]{grid-template-columns:1fr 1fr}.capabilities-table [role=row]{grid-template-columns:1fr 1.6fr 2.4fr}.capabilities-table [role=row].row-current{background:#f7f4ea}.peers-table [role=row]{grid-template-columns:1fr .7fr 1.4fr .8fr .9fr .9fr .5fr 1fr}.peers-table.row-mutate [role=row]{grid-template-columns:1fr .7fr 1.4fr .8fr .9fr .9fr 1fr 1fr 1.7fr}.routes-table [role=row]{grid-template-columns:1.5fr .8fr 1.2fr .6fr .9fr 1fr}.zones-table [role=row]{grid-template-columns:1.3fr 1.3fr .6fr .9fr 1.5fr}.forwarding-table [role=row]{grid-template-columns:1fr 1.6fr .6fr .9fr 1fr}.events-table [role=row]{grid-template-columns:.5fr 1.1fr 1.1fr 2.6fr}.tenants-table [role=row]{grid-template-columns:1fr 1fr}.admin-projects-table [role=row]{grid-template-columns:1fr 1fr .8fr}.enrollments-table [role=row]{grid-template-columns:1fr 1fr 1.2fr .8fr 1fr}.events-status{color:var(--muted);align-items:center;gap:12px;margin-top:26px;font:12px DM Mono,monospace;display:flex}.state-badge{border:1px solid var(--ink);background:var(--ink);color:var(--acid);text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;font:11px DM Mono,monospace}.event-payload{overflow-wrap:anywhere;color:var(--muted)}.error-note{border:1px solid var(--red);border-left:4px solid var(--red);background:#fbe9e5;margin-top:24px;padding:14px 18px;font-size:13px}.readonly-note{border:1px dashed var(--line);max-width:550px;color:var(--muted);margin-top:24px;padding:14px 18px;font-size:13px}.empty-state{border-bottom:1px solid var(--line);color:var(--muted);margin:40px 0;padding:28px 0;font-size:14px}.loading{color:var(--muted);margin:40px 0;font:12px DM Mono,monospace}.session-details{margin:0;display:grid}.session-details div{border-top:1px solid var(--line);grid-template-columns:220px 1fr;gap:18px;padding:13px 0;font-size:13px;display:grid}.session-details dt{font-weight:700}.session-details dd{color:var(--muted);overflow-wrap:anywhere;margin:0;font:12px DM Mono,monospace}.header-tools{align-items:center;gap:16px;display:flex}.session-subject{color:var(--muted);font:12px DM Mono,monospace}.project-switcher{flex-direction:column;gap:4px;display:flex}.project-switcher select{border:1px solid var(--line);color:var(--ink);background:#fff;padding:6px 9px;font:12px DM Mono,monospace}.ticket{border:1px solid var(--ink);background:var(--acid);gap:8px;margin-top:20px;padding:18px 20px;display:grid}.ticket code{overflow-wrap:anywhere;font:13px DM Mono,monospace}.ticket span{color:#4a4a3a;font:11px DM Mono,monospace}.resolution{border:1px solid var(--line);background:#fffef9;gap:6px;margin-top:20px;padding:16px 18px;font-size:13px;display:grid}.resolution b{text-transform:uppercase;letter-spacing:.06em;font:12px DM Mono,monospace}.connection-toggle{flex-wrap:wrap;align-items:center;gap:44px;margin-top:30px;display:flex}.connection-toggle .note{max-width:420px;margin:0}.vpn-toggle{border:5px solid var(--line);width:172px;height:172px;color:var(--ink);cursor:pointer;background:#fffef9;border-radius:50%;place-items:center;padding:0;transition:border-color .15s,background .15s;display:grid}.vpn-toggle:disabled{cursor:progress;opacity:1}.vpn-toggle-core{letter-spacing:.02em;font:500 17px DM Mono,monospace}.vpn-toggle.ring-connecting{border-color:var(--blue);border-top-color:var(--ink);animation:1.1s linear infinite vpn-spin}.vpn-toggle.ring-on{color:#457100;background:#f3f8dd;border-color:#457100}.vpn-toggle.ring-degraded{color:#936800;background:#fdf4d7;border-color:#936800}.vpn-toggle.ring-stale{border-color:var(--muted);background:var(--line);color:var(--muted);border-style:dashed}.vpn-toggle.ring-error{border-color:var(--red);color:#9b3d31;background:#faeae7}.vpn-toggle.ring-reconnecting{border-color:var(--blue);border-top-color:var(--ink);border-style:dashed;animation:1.1s linear infinite vpn-spin}.vpn-toggle.ring-unbound{border-color:var(--muted);background:var(--line);color:var(--muted);border-style:dashed}@keyframes vpn-spin{to{transform:rotate(360deg)}}@media (max-width:760px){.form-grid,.permission-grid{grid-template-columns:1fr}.data-table>[role=row]{grid-template-columns:1fr 1fr;row-gap:8px}.session-details div{grid-template-columns:1fr;gap:4px}.signin-gate h1,.session-error h1{font-size:34px}.landing-header,.app-header{min-height:66px;padding:0 20px}.landing-header nav a:not(:last-child){display:none}.hero{grid-template-columns:1fr;gap:40px;min-height:0;padding:65px 20px 70px}.hero h1{font-size:max(44px,min(14vw,68px))}.network-diagram{max-width:440px}.node{transform:scale(.75)}.built-strip{flex-direction:column;align-items:flex-start;gap:5px;padding:18px 20px}.built-strip span:first-child{font-size:12px}.principles{grid-template-columns:1fr;gap:30px;padding:70px 20px}.platform{padding:60px 20px 0}.platform-grid{grid-template-columns:1fr 1fr;margin-top:40px}.platform-grid article{border-bottom:1px solid var(--line);min-height:170px}.platform-grid article:nth-child(2){border-right:0}.platform-grid h3{margin-top:30px}.reliability{padding:60px 20px 0}.reliability-list{grid-template-columns:1fr;gap:0;margin-top:40px}footer{grid-template-columns:1fr;gap:12px;padding:30px 20px}.app-header{flex-wrap:wrap}.menu-button{display:block}.app-header nav{border-top:1px solid var(--line);order:4;width:calc(100% + 40px);margin:10px -20px 0;padding:10px 20px;display:none;overflow-x:auto}.app-header nav.is-open{display:flex}.preview-label{display:none}.app-frame main{padding:0 20px 45px}.page-heading{padding:50px 0 35px;display:block}.page-heading p{margin-top:25px}.topology{height:290px}.map-peer{padding:8px;font-size:10px}.map-peer-0,.map-peer-1{right:3%}.map-peer-2{left:2%}.map-core{left:32%;transform:scale(.75)}.stat-row{grid-template-columns:repeat(3,1fr)}.stat-row div{padding:15px 0}.stat-row div+div{padding-left:10px}.stat-row p{text-align:left;grid-column:1/-1;padding-top:8px}.coverage,.access-layout{grid-template-columns:1fr;gap:25px}.coverage li{grid-template-columns:110px 1fr}.table-head{display:none}.data-table article,.peers-table article{grid-template-columns:1fr 1fr;gap:12px;padding:17px 0}.adapter-list{grid-column:1/-1}.route-rule{flex-wrap:wrap}.route-rule span{width:100%;margin-left:0}.zone-list article{display:block}.zone-list article>div:last-child{margin:24px 0 0 45px}.mapping dl div{grid-template-columns:1fr;gap:7px}}.app-frame{--paper:#fff;--ink:#19212d;--muted:#687484;--line:#e4e8ee;--acid:#dceaff;--blue:#eaf1ff;color:var(--ink);background:#fff;grid-template-columns:238px minmax(0,1fr);display:grid}.app-sidebar{border-right:1px solid var(--line);background:#f7f8fa;flex-direction:column;min-width:0;height:100vh;display:flex;position:sticky;top:0}.sidebar-top{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:24px 20px 18px;display:flex}.sidebar-top .brand{font-size:17px}.sidebar-top .brand-mark{color:#fff;background:#3d67bb;border-radius:7px;width:30px;height:30px}.sidebar-top .brand small{font-size:9px}.sidebar-edition{color:var(--muted);letter-spacing:.08em;padding-left:40px;font:10px DM Mono,monospace}.sidebar-project{border-bottom:1px solid var(--line);padding:20px 14px}.sidebar-project .project-switcher{gap:8px}.sidebar-project .project-switcher select{background:#fff;border-radius:6px;width:100%;padding:10px;font-family:Manrope,Arial,sans-serif;font-size:12px}.app-sidebar nav{flex:1;padding:12px 6px;overflow-y:auto}.sidebar-group-label{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;padding:16px 15px 7px;font:10px DM Mono,monospace;display:block}.app-sidebar nav a{color:#344153;border-radius:5px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.app-sidebar nav a:hover{background:#edf0f5}.app-sidebar nav a.active{color:#264f9e;background:#e8edf8;box-shadow:inset 3px 0 #4b72c7}.nav-glyph{opacity:.55;font:11px DM Mono,monospace}.sidebar-account{border-top:1px solid var(--line);align-items:center;gap:9px;min-width:0;padding:15px 12px;display:flex}.account-avatar{color:#355ba0;background:#dae4f8;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.account-details{flex:1;min-width:0;font-size:11px;display:grid}.account-details strong{text-overflow:ellipsis;overflow:hidden}.account-details small{color:var(--muted)}.sidebar-account button{color:#345caa;cursor:pointer;background:0 0;border:0;font-size:11px}.app-workspace{min-width:0}.workspace-bar{border-bottom:1px solid var(--line);align-items:center;gap:12px;height:56px;padding:0 max(20px,min(3vw,48px));display:flex}.workspace-title{font-size:12px;font-weight:700}.workspace-title span{color:#a9b1be;padding:0 7px}.workspace-status{color:var(--muted);margin-left:auto;font:10px DM Mono,monospace}.workspace-menu{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:19px;display:none}.app-frame main{max-width:1480px;margin:0 auto;padding:0 max(20px,min(3vw,48px)) 80px}.app-frame .page-heading{border-bottom:1px solid var(--line);align-items:end;padding:38px 0 28px}.app-frame .page-heading h1{letter-spacing:-.045em;margin:5px 0 0;font:700 max(28px,min(3vw,38px))/1.2 Manrope,Arial,sans-serif}.app-frame .page-heading p{max-width:490px;margin:0;font-size:13px;line-height:1.5}.app-frame .eyebrow{color:#72839b}.app-frame .button{color:#fff;background:#4c71c9;border-radius:5px}.app-frame .button:hover:not(:disabled){background:#365caf}.app-frame .panel{margin-top:32px}.app-frame .network-inventory{border:1px solid var(--line);border-radius:10px;margin-top:24px;overflow:hidden}.app-frame .network-inventory>[role=row]{grid-template-columns:minmax(140px,1.2fr) minmax(150px,1.4fr) minmax(120px,1fr) minmax(170px,1fr) 64px minmax(200px,1.3fr);align-items:start;gap:20px;padding:18px 20px}.app-frame .network-inventory>.table-head{background:#f7f8fa;padding:12px 20px;font-size:10px}.network-inventory>[role=row]:last-child{border-bottom:0}.network-inventory [role=cell]{overflow-wrap:anywhere;min-width:0}.network-inventory [role=cell]:first-child a{color:#345caa;font-weight:700}.network-inventory small{color:var(--muted);margin-top:5px;font:11px/1.5 Manrope,Arial,sans-serif;display:block}.network-inventory code{font-size:11px;line-height:1.6}.node-keys{margin-top:10px}.node-keys summary{cursor:pointer;color:#345caa;font-size:12px;font-weight:600}.node-keys code{-webkit-user-select:all;user-select:all;display:block}.node-key{border:1px solid var(--line);background:#f7f8fa;border-radius:6px;gap:3px;margin-top:8px;padding:8px 10px;display:grid}.node-key small{margin:0}.node-key code{overflow-wrap:anywhere;font:10px/1.5 DM Mono,monospace}.node-key .network-status{font-size:10px}.network-status{border-radius:5px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.network-status:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.network-status.is-online{color:#246345;background:#edf7f0}.network-status.is-offline{color:#a33e37;background:#fcf0ef}.network-status.is-disabled{color:#606b7b;background:#f0f2f5}.network-status.is-paused{color:#865b18;background:#fff6e6}.network-link-details{margin-top:8px}.network-link-details summary{color:var(--muted);cursor:pointer;font-size:11px}.network-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.network-section-heading h2{letter-spacing:-.025em;margin:0;font:700 22px/1.3 Manrope,Arial,sans-serif}.network-section-heading p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.network-count{color:#52647f;white-space:nowrap;background:#f0f3f8;border-radius:5px;padding:5px 9px;font:11px DM Mono,monospace}.app-frame .network-secondary{border:1px solid var(--line);color:#345caa;background:#fff}.app-frame .network-secondary:hover:not(:disabled){background:#eef3ff}.network-screen :-webkit-any(a,button,input,select,textarea,summary):focus-visible{outline-offset:3px;outline:2px solid #4c71c9}.network-screen :-moz-any(a,button,input,select,textarea,summary):focus-visible{outline-offset:3px;outline:2px solid #4c71c9}.network-screen :is(a,button,input,select,textarea,summary):focus-visible{outline-offset:3px;outline:2px solid #4c71c9}.network-screen #network-nodes details.form-panel{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px 20px}.network-screen #network-nodes details.form-panel>summary{cursor:pointer;color:#345caa;font-size:13px;font-weight:600}.network-screen #network-nodes details.form-panel[open]>summary{margin-bottom:20px}.network-diagnostics{border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.network-runtime-cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:20px;display:grid}.network-runtime-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:14px 16px;display:grid}.network-runtime-card span{color:var(--muted);font-size:11px}.network-runtime-card b{font:700 18px/1.3 Manrope,Arial,sans-serif}.network-runtime-card small{color:var(--muted);font-size:10px}.network-diagnostics-table{border-collapse:collapse;width:100%;margin-top:22px;font-size:12px}.network-diagnostics-table caption{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:8px;font:10px DM Mono,monospace}.network-diagnostics-table th{border-bottom:1px solid var(--line);text-align:left;color:var(--muted);text-transform:uppercase;padding:10px;font:10px DM Mono,monospace}.network-diagnostics-table td{border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;padding:12px 10px}.network-diagnostics-table code{font-size:11px}.node-test{gap:8px;display:grid}.node-test label{color:var(--muted);gap:4px;font-size:10px;display:grid}.node-test select{border:1px solid var(--line);background:#fff;border-radius:5px;width:100%;min-width:0;padding:7px 8px;font-size:11px}.node-test-result{border:1px solid var(--line);background:#f7f8fa;border-radius:6px;gap:3px;padding:8px 10px;display:grid}.node-test-result small{margin:0}.node-test-result code{overflow-wrap:anywhere;font:10px/1.5 DM Mono,monospace}.node-test-verified{color:#246345;font-weight:600}.node-test-error{color:#a33e37}@media (max-width:1200px){.app-frame .network-inventory>.table-head{display:none}.app-frame .network-inventory>[role=row]:not(.table-head){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.network-inventory [role=cell]:first-child{grid-column:1/-1}.network-inventory [role=cell]:before{content:attr(data-label);color:var(--muted);margin-bottom:6px;font:10px Manrope,Arial,sans-serif;display:block}}@media (max-width:600px){.app-frame .network-inventory>[role=row]:not(.table-head){padding:16px}.network-section-heading{align-items:start}}.node-details{margin-top:32px;display:block}.node-details>.table-head{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.node-details>div:not(.table-head){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.node-details [role=cell]{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:6px;gap:8px;padding:16px;display:grid}.node-details [role=cell]:first-child,.node-details .row-actions{grid-column:1/-1}.node-details [role=cell]:before{color:var(--muted);font:11px Manrope,Arial,sans-serif}.node-details [role=cell]:nth-child(2):before{content:"Адаптер"}.node-details [role=cell]:nth-child(3):before{content:"Адрес"}.node-details [role=cell]:nth-child(4):before{content:"Соединение"}.node-details [role=cell]:nth-child(5):before{content:"Наблюдаемый IP"}.node-details [role=cell]:nth-child(6):before{content:"Расположение"}.node-details [role=cell]:nth-child(7):before{content:"RTT"}.node-details [role=cell]:nth-child(8):before{content:"Последний heartbeat"}.node-details .row-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:600px){.node-details>div:not(.table-head){grid-template-columns:1fr}.network-inventory{overflow-x:auto}}.app-frame .machines-onboarding{background:#eef3ff;border:0;border-radius:7px;min-height:230px;padding:26px 32px;position:relative;overflow:hidden}.machines-onboarding h2{letter-spacing:-.03em;margin:0 0 12px;font:700 19px Manrope,Arial,sans-serif}.machines-onboarding .note{border:0;max-width:600px;margin:0;padding:0}.machines-onboarding ol{max-width:620px;padding-left:24px;font-size:13px;line-height:2}.machines-onboarding li::marker{color:#4c71c9;font-weight:700}.machines-onboarding:after{content:"";opacity:.8;pointer-events:none;background:radial-gradient(circle,#7095e6 0 48%,#0000 49%) 0 0/90px 90px,radial-gradient(circle,#b2c9fa 0 48%,#0000 49%) 45px 45px/90px 90px;width:380px;height:280px;position:absolute;bottom:-90px;right:-45px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30%);mask-image:linear-gradient(90deg,#0000,#000 30%)}.app-frame [data-testid=machines-table],.app-frame [data-testid=machines-enrollments-table]{border-collapse:collapse;text-align:left;width:100%;margin-top:30px;font-size:12px}.app-frame [data-testid=machines-table] th,.app-frame [data-testid=machines-enrollments-table] th{border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;padding:12px 10px;font:10px DM Mono,monospace}.app-frame [data-testid=machines-table] td,.app-frame [data-testid=machines-enrollments-table] td{border-bottom:1px solid var(--line);vertical-align:top;padding:18px 10px}.app-frame [data-testid=machines-table] td p{color:var(--muted);margin:5px 0 0}.app-frame [data-testid=machines-table] code,.app-frame [data-testid=machines-enrollments-table] code{overflow-wrap:anywhere;font-size:11px}.app-frame [data-testid=machines-table] .row-actions{flex-wrap:wrap}.app-frame .tokens-table{border-collapse:collapse;text-align:left;width:100%;margin-top:22px;font-size:13px}.app-frame .tokens-table th{border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:0 12px 10px;font:10px DM Mono,monospace}.app-frame .tokens-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 12px}.app-frame .tokens-table tbody tr:last-child td{border-bottom:0}.app-frame .tokens-table tbody tr:hover{background:#fafbfd}.app-frame .tokens-table td p{color:var(--muted);margin:4px 0 0;font-size:11px}.app-frame .tokens-table code{overflow-wrap:anywhere;font-size:11px}.app-frame .tokens-table .col-label{width:15%}.app-frame .tokens-table .col-access{width:auto}.app-frame .tokens-table .col-date{width:12%}.app-frame .tokens-table .col-state{width:13%}.app-frame .tokens-table .col-action{width:10%}.app-frame .tokens-table th:first-child,.app-frame .tokens-table td:first-child{padding-left:0}.app-frame .tokens-table th:last-child,.app-frame .tokens-table td:last-child{padding-right:0}.app-frame .revoked-tokens{margin-top:26px}.revoked-tokens>summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font:10px DM Mono,monospace}.revoked-tokens [data-testid=revoked-tokens-table]{opacity:.75}.app-frame .project-grid{border:1px solid var(--line);flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;padding:12px 14px;display:flex}.project-grid legend{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:0 6px;font:10px DM Mono,monospace}.project-grid label.check{align-items:center;gap:8px;font-size:13px;display:flex}.app-frame .application-manager{border:1px solid var(--line);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.application-manager .field-caption{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font:10px DM Mono,monospace}.application-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.application-row small{color:var(--muted)}.application-row .row-actions{margin-left:auto}.application-create{flex-wrap:wrap;gap:10px;display:flex}.application-create input{border:1px solid var(--line);color:var(--ink);background:#fff;flex:180px;padding:9px 11px;font:13px DM Mono,monospace}@media (max-width:900px){.app-frame{display:block}.app-sidebar{z-index:5;visibility:hidden;width:238px;height:calc(100vh - 56px);transition:transform .2s,visibility 0s .2s;position:absolute;top:56px;left:0;transform:translate(-110%);box-shadow:10px 12px 25px #15243a20}.app-sidebar.is-open{visibility:visible;transition:transform .2s;transform:translate(0)}.workspace-menu{display:inline-block}.app-frame .page-heading{display:block}.app-frame .page-heading p{margin-top:10px}}@media (max-width:760px){.app-frame main{padding:0 20px 50px}.app-frame [data-testid=machines-table],.app-frame [data-testid=machines-enrollments-table]{display:block;overflow-x:auto}.app-frame .machines-onboarding{padding:20px}.machines-onboarding:after{display:none}}.sidebar-group+.sidebar-group{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.sidebar-group .sidebar-group-label{padding-top:14px}.app-sidebar nav a{padding-left:16px}.app-frame .panel-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.app-frame .panel-heading>div{min-width:0}.app-frame .panel-heading h2,.app-frame .panel>h2{letter-spacing:-.02em;margin:0;font:700 21px/1.3 Manrope,Arial,sans-serif}.app-frame .panel-heading .note,.app-frame .panel>.note{border:0;max-width:680px;margin:7px 0 0;padding:0;font-size:12px;line-height:1.6}.app-frame .panel-heading .eyebrow{margin-bottom:6px;display:block}.app-frame .form-panel{border:1px solid var(--line);background:#fff;border-top:3px solid #4c71c9;border-radius:10px;padding:24px}.app-frame .form-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.app-frame .form-hint{color:var(--muted);font-size:12px}.app-frame .button-quiet{color:#345caa;border:1px solid var(--line);background:#fff}.app-frame .button-quiet:hover:not(:disabled){background:#eef3ff;border-color:#b9c8e8}.app-frame .table-scroll{overflow-x:auto}.app-frame .cell-nowrap{white-space:nowrap;color:#4a566a;font-size:12px}.app-frame .state-on,.app-frame .state-off,.app-frame .state-muted{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-self:start;padding:3px 9px;font:10px DM Mono,monospace;display:inline-block}.app-frame .state-muted{color:#606b7b;background:#f0f2f5}.app-frame .role-badge{color:#2f56a3;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#eef3ff;border-radius:999px;padding:4px 10px;font:10px DM Mono,monospace;display:inline-block}.app-frame .role-admin{color:#246345;background:#e8f5ec}.app-frame .role-operator{color:#865b18;background:#fff4e2}.app-frame .count-badge{color:#52647f;white-space:nowrap;background:#f0f3f8;border-radius:999px;padding:4px 9px;font:10px DM Mono,monospace;display:inline-block}.app-frame .detail-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:20px;display:grid}.app-frame .detail-card{border:1px solid var(--line);background:#fafbfd;border-radius:8px;gap:6px;min-width:0;padding:14px 16px;display:grid}.app-frame .detail-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font:10px DM Mono,monospace}.app-frame .detail-card b{overflow-wrap:anywhere;font-size:13px}.app-frame .access-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.app-frame .access-link{border:1px solid var(--line);background:#fff;border-radius:9px;gap:6px;padding:18px;transition:border-color .15s,box-shadow .15s;display:grid}.app-frame .access-link:hover{border-color:#b9c8e8;box-shadow:0 3px 14px #15243a12}.app-frame .access-link b{color:#26478c;font-size:13px}.app-frame .access-link span{color:var(--muted);font-size:11px;line-height:1.55}.app-frame .summary-list{margin:18px 0 0;padding:0;list-style:none}.app-frame .summary-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:12px 0;font-size:13px;display:flex}.app-frame .summary-list li:last-child{border-bottom:0}.app-frame .summary-main{gap:3px;min-width:0;display:grid}.app-frame .summary-main small,.app-frame .summary-meta{color:var(--muted);font-size:11px}.app-frame .summary-meta{white-space:nowrap}.app-frame .company-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;margin-top:30px;display:grid}.app-frame .company-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:18px;margin-top:0;padding:22px;display:grid}.app-frame .company-card header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.app-frame .company-card h2{letter-spacing:-.02em;margin:0;font:700 20px/1.3 Manrope,Arial,sans-serif}.app-frame .company-card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font:10px DM Mono,monospace}.app-frame .company-card .note{border:0;margin:0;padding:0;font-size:12px}.app-frame .company-card code{color:var(--muted);font-size:11px}.app-frame .chip-row{flex-wrap:wrap;gap:6px;display:flex}.app-frame .token-chip{color:#40506a;background:#f6f8fc;border:1px solid #dbe2ee;border-radius:5px;padding:3px 8px;font:10px DM Mono,monospace;display:inline-block}.app-frame .token-label{font-weight:700;display:block}.app-frame .token-id{color:#8793a5;margin-top:4px;display:block}.app-frame .token-permissions{flex-wrap:wrap;gap:5px;display:flex}.app-frame .token-projects{flex-wrap:wrap;gap:4px 10px;display:flex}.app-frame .token-confirm{justify-items:start;gap:6px;display:grid}.app-frame .token-action{text-align:right;white-space:nowrap}.app-frame .tokens-table.simple-table .col-label,.app-frame .tokens-table.simple-table .col-access,.app-frame .tokens-table.simple-table .col-date,.app-frame .tokens-table.simple-table .col-state,.app-frame .tokens-table.simple-table .col-action{width:auto}.app-frame .tokens-table.simple-table tbody tr:hover{background:0 0}.app-frame .tokens-table tr.row-selected{background:#f2f6ff}.app-frame .inline-field{flex-wrap:wrap;gap:14px;margin-top:18px;display:flex}.app-frame .inline-field label{gap:6px;font-size:12px;font-weight:600;display:grid}.app-frame .inline-field label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font:10px DM Mono,monospace}.app-frame .inline-field select{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:220px;padding:9px 10px}.app-frame .device-list{margin-top:18px}.app-frame .device-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,1.2fr) minmax(120px,1fr) minmax(110px,.9fr) minmax(130px,1fr) minmax(150px,1.1fr) minmax(90px,auto);align-items:start;gap:18px;padding:16px 0;font-size:13px;display:grid}.app-frame .device-row.table-head{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 0 10px;font:10px DM Mono,monospace}.app-frame .device-row:last-child{border-bottom:0}.app-frame .device-identity{justify-items:start;gap:6px;display:grid}.app-frame .device-authority{gap:4px;min-width:0;display:grid}.app-frame .device-authority code{overflow-wrap:anywhere;font-size:11px}.app-frame .device-authority small,.app-frame .device-row small{color:var(--muted);font-size:11px;line-height:1.5}.app-frame .device-actions{text-align:right;white-space:nowrap}.app-frame .application-manager>summary{cursor:pointer;color:#345caa;font-size:12px;font-weight:600}.app-frame .application-manager[open]>summary{margin-bottom:12px}.app-frame .project-grid .permission-option{padding:8px 11px}.app-frame .token-form-panel .project-grid,.app-frame .token-form-panel .permission-grid{margin:0 0 22px}.app-frame .token-form-panel .application-manager{margin-top:4px}.app-frame .token-form-panel .permission-option{background:#fff}@media (max-width:1200px){.app-frame .access-links{grid-template-columns:repeat(2,minmax(0,1fr))}.app-frame .device-row.table-head{display:none}.app-frame .device-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.app-frame .device-actions{text-align:left}}@media (max-width:760px){.app-frame .access-links,.app-frame .device-row{grid-template-columns:1fr}}.app-frame .admin-search{margin-top:16px}.app-frame .admin-search input{border:1px solid var(--line);background:#fff;border-radius:6px;width:min(360px,100%);padding:9px 11px;font:12px DM Mono,monospace}.app-frame .panel .empty-state{border-bottom:0;margin:20px 0 4px;padding:16px 0}