:root{--bg:#0d1720;--rail:#111e28;--panel:#13212b;--raised:#1b2a35;--line:#2a3b48;--text:#f3f6fa;--secondary:#bdc9d3;--muted:#94a5b3;--amber:#f5b63e;--amber-ink:#241a05;--selection:#55401a;--green:#50d19b;--blue:#72b0fa;--red:#ffaaa4;--radius:7px;color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--amber)}::selection{background:var(--amber);color:var(--amber-ink)}input{caret-color:var(--amber)}*{scrollbar-width:thin;scrollbar-color:#425461 var(--bg)}[hidden]{display:none!important}.symbols{position:absolute;width:0;height:0;overflow:hidden}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;flex:none}button{cursor:pointer;display:inline-flex;gap:9px;align-items:center;justify-content:center;border-radius:5px;min-height:39px;padding:9px 15px;border:1px solid transparent;font-weight:550;transition:background-color .15s ease-out,color .15s ease-out}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}button.primary:hover{background:#ffca67}button.secondary{background:transparent;color:var(--text);border-color:#668090}button.secondary:hover{background:var(--raised)}button.plain{background:transparent;color:var(--secondary);padding:8px;min-height:34px}button.plain:hover{color:var(--text);background:var(--raised)}button.small{min-height:28px;padding:4px 9px;font-size:12px}.full{width:100%}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.muted,.help{color:var(--muted)}.help{font-size:12px;line-height:1.65}.error{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:25px;letter-spacing:-.025em;margin-bottom:9px;font-weight:650;line-height:1.3}h2{font-size:15px;line-height:1.4;margin-bottom:16px;font-weight:600}h3{font-size:16px}p{line-height:1.6}.app{display:flex;min-height:100vh}.sidebar{width:205px;position:fixed;inset:0 auto 0 0;background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:13px;align-items:center;padding:24px 23px 28px;text-decoration:none;color:var(--text)}.brand>svg{width:28px;height:32px;color:#96c6ff}.brand strong{font-size:18px;letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:6px;padding:4px 10px}.sidebar nav button{justify-content:flex-start;background:transparent;color:var(--secondary);font-weight:450;min-height:46px;padding:12px 16px;gap:17px;border-radius:5px}.sidebar nav button:hover{background:var(--raised)}.sidebar nav button.selected{color:var(--text);background:var(--raised);box-shadow:inset 2px 0 #88bbff}.sidebar-bottom{margin-top:auto;padding:24px;color:var(--secondary);font-size:12px}.sidebar-bottom p{margin:7px 0 18px;font-size:11px;color:var(--muted)}.live-dot,.dot{display:inline-block;width:8px;height:8px;background:var(--green);border-radius:50%;margin-right:7px;flex:none}.dot.offline{background:var(--muted)}.dot.warning{background:var(--amber)}.workspace{margin-left:205px;width:calc(100% - 205px);min-width:0;display:flex;flex-direction:column}.topbar{height:61px;display:flex;align-items:center;justify-content:flex-end;gap:38px;padding:0 30px;background:var(--rail);border-bottom:1px solid var(--line);color:var(--secondary);font-size:12px}.endpoint{display:flex;gap:9px;align-items:center;max-width:50%;overflow:hidden}.endpoint span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.endpoint svg{color:var(--green);width:15px}.account{display:flex;align-items:center;gap:12px}.account>.plain{margin-left:22px}.account svg{width:16px}.workspace main{padding:30px;max-width:2000px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:20px}.page-heading p{margin-bottom:0;color:var(--secondary);font-size:13px}.page-heading .actions{padding-top:2px}.summary{display:flex;gap:24px;align-items:center;flex-wrap:wrap;color:var(--secondary);font-size:12px;min-height:32px;margin:8px 0 13px}.summary>span{display:flex;align-items:center;gap:1px}.summary>span+span{padding-left:22px;border-left:1px solid var(--line)}.operations{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.ledger{overflow:hidden;min-height:335px}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:17px 18px 13px}.section-heading h2{margin:0}.section-heading h2>span{color:var(--secondary);font-weight:400}.section-heading .muted{font-size:11px}.filter{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--secondary);white-space:nowrap}.filter input{accent-color:var(--amber)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums}th{font-weight:500;color:var(--secondary);font-size:11px;background:#162630;height:39px}th,td{padding:12px 14px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}th:first-child,td:first-child{padding-left:18px}td.numeric{text-align:right}tbody tr{cursor:pointer}tbody tr:hover{background:var(--raised)}tbody tr.selected{background:var(--selection)}.row-main{display:flex;gap:9px;align-items:center;color:var(--text);font-weight:550}.row-main svg{width:15px;height:15px;color:var(--secondary)}.session-row .row-main{padding-left:18px;font-weight:400}.session-id{font-family:ui-monospace,monospace;font-size:11px}.status{display:inline-flex;align-items:center;white-space:nowrap;color:var(--green)}.status.offline{color:var(--muted)}.status.offline .dot{background:var(--muted)}.inspector{padding:18px;min-height:335px;display:flex;flex-direction:column}.inspector h2{padding-bottom:14px;border-bottom:1px solid var(--line)}.route{display:flex;align-items:center;gap:8px;font-size:12px;margin:2px 0 20px;overflow-wrap:anywhere}.route>span{flex:1;min-width:0}.route small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.route>b{font-weight:400;color:var(--muted)}.encryption{display:flex;gap:8px;align-items:center;color:var(--green);font-size:12px;margin-bottom:20px}.encryption svg{width:15px}dl{margin:0}dl.detail-list>div{display:grid;grid-template-columns:115px 1fr;gap:12px;margin:12px 0;line-height:1.5;font-size:12px}dt{color:var(--secondary)}dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.inspector .actions{margin-top:20px}.inspector .help{margin-top:auto;margin-bottom:0;padding-top:18px}.empty{padding:46px 25px;text-align:center;color:var(--secondary)}.empty>svg{width:31px;height:31px;color:var(--muted);margin-bottom:14px}.empty h3{color:var(--text);margin-bottom:8px}.empty p{font-size:12px;max-width:42ch;margin:0 auto}.bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;margin-top:20px}.legend{display:flex;gap:16px;font-size:11px;color:var(--secondary)}.legend>span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.blue-key:before{background:var(--blue);width:16px;height:3px;border-radius:0}.green-key:before{background:transparent;width:16px;height:3px;border-radius:0;border-top:3px dashed var(--green)}.traffic-body{display:flex;gap:18px;padding:0 18px 15px;align-items:center}.chart-wrap{flex:1;min-width:0}.chart-wrap>svg{width:100%;height:181px;stroke-width:1.5}.chart-wrap>p{margin:3px 0 0;font-size:10px}.chart-grid{stroke:#2a3b48;stroke-width:.7}.chart-label{font-family:inherit;font-size:10px;fill:var(--secondary);stroke:none}.line-up{stroke:var(--blue);fill:none;stroke-width:3.5}.line-down{stroke:var(--green);fill:none;stroke-width:2;stroke-dasharray:7 5;stroke-linecap:butt}.totals{width:130px}.totals>div{margin:10px 0 25px}.totals dt{font-size:11px;margin-bottom:6px}.totals dd{font-size:19px;font-weight:600}.activity ol{list-style:none;padding:0 18px 14px;margin:0;max-height:238px;overflow-y:auto}.activity li{display:grid;grid-template-columns:8px 40px 1fr;gap:9px;padding:9px 0;font-size:11px;line-height:1.45}.activity li .dot{width:6px;height:6px;margin-top:5px}.activity time{font-variant-numeric:tabular-nums;color:var(--muted)}.activity .event-detail{color:var(--secondary);display:block;margin-top:3px;font-size:10px;overflow-wrap:anywhere}.notice{border:1px solid #736038;background:#302a1f;color:#ffdda1;padding:12px 15px;border-radius:6px;margin:0 0 15px;font-size:12px;line-height:1.6}.notice.success{border-color:#3a6d59;background:#17392e;color:#a2e9cb}.notice.error{border-color:#7d4845;background:#3b2625;color:var(--red)}.setup-guide{padding:22px;border:1px solid #6e572b;background:#25281f;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.setup-guide h2{margin-bottom:7px}.setup-guide p{font-size:12px;max-width:80ch;margin-bottom:0;color:var(--secondary)}.role-details{padding:17px 20px;border:1px solid var(--line);border-radius:7px;background:var(--panel);margin:0 0 15px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}.role-details dl>dt{font-size:11px;margin-bottom:7px}.role-details dl>dd{font-size:13px}.role-details dl.address>dd{font-size:20px;font-weight:600}.role-details .copy{margin-left:10px}.role-details .role-status{margin-left:auto;font-size:12px}.settings-form{max-width:900px;background:var(--panel);padding:6px 22px 25px;border:1px solid var(--line);border-radius:7px}.settings-form .section-heading{padding:18px 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{min-width:0}.field.wide{grid-column:1/-1}.field .help{margin:7px 0 0}label{color:var(--secondary);font-size:12px;display:block;margin-bottom:8px}input:not([type=checkbox]),select{width:100%;border:1px solid #4a606f;border-radius:5px;background:#0f1c26;color:var(--text);padding:10px 12px;min-height:40px}input:read-only{color:var(--muted);background:var(--bg)}input::placeholder{color:#a5b3bf}input[type=file]{font-size:12px;padding:12px}input[type=file]::file-selector-button{border:0;background:var(--raised);padding:6px 10px;color:var(--text);border-radius:4px;margin-right:12px}select{appearance:auto}.settings-form>.help{margin:22px 0}.checkbox-label{display:flex;gap:10px;align-items:flex-start;line-height:1.6}.checkbox-label input{margin-top:4px;accent-color:var(--amber)}.checkbox-label a{color:#ffcc6e;text-underline-offset:3px}.role-tag{display:inline-flex;font-size:11px;color:var(--secondary);border:1px solid var(--line);border-radius:4px;padding:4px 8px}.network-panel{max-width:900px;margin-top:20px;padding:20px}.network-panel h2{margin-bottom:8px}.network-panel ul{padding-left:18px;font:12px/1.9 ui-monospace,monospace;color:var(--secondary)}footer{font-size:10px;color:var(--muted);padding:10px 30px 20px;display:flex;justify-content:space-between;gap:20px}.auth-shell{min-height:100vh;max-width:460px;padding:65px 20px;margin:auto}.auth-brand{display:flex;gap:15px;align-items:center;justify-content:center;margin-bottom:45px;font-size:23px}.auth-brand svg{width:34px;height:38px;color:#96c6ff}.auth-panel{padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.auth-panel h1{margin:20px 0 12px;font-size:24px}.auth-panel>p{font-size:13px;color:var(--secondary)}.auth-panel form{margin-top:25px}.auth-panel form .error{font-size:12px;min-height:19px;margin:15px 0}.auth-foot{text-align:center;font-size:12px;color:var(--secondary);margin-top:25px}.auth-foot>span{display:block;margin-top:8px;color:var(--muted);font-size:11px}dialog{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;width:min(500px,calc(100vw - 30px));padding:25px;box-shadow:0 20px 60px #0008}dialog::backdrop{background:#02080dbb}dialog p{font-size:12px;color:var(--secondary)}dialog label{margin-top:17px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.dialog-heading h2{font-size:19px;margin-bottom:0}.close-dialog{font-size:25px;line-height:1}.toast{position:fixed;bottom:22px;right:22px;z-index:20;padding:14px 18px;border:1px solid #6c808d;border-radius:6px;background:var(--raised);max-width:min(440px,calc(100vw - 30px));font-size:12px;box-shadow:0 8px 25px #0005}.toast.error{color:var(--red)}@media(min-width:1600px){.operations,.bottom-grid{grid-template-columns:minmax(0,1fr) 395px}.ledger,.inspector{min-height:365px}th,td{padding-top:14px;padding-bottom:14px}.chart-wrap>svg{height:210px}.workspace main{padding:32px 34px}.topbar{padding-right:34px}}@media(max-width:1250px){.sidebar{width:180px}.workspace{margin-left:180px;width:calc(100% - 180px)}.workspace main{padding:22px}.operations,.bottom-grid{grid-template-columns:minmax(0,1fr) 290px}.page-heading{flex-direction:column;gap:15px}.page-heading .actions{padding:0}.inspector{padding:15px}dl.detail-list>div{grid-template-columns:90px 1fr}.traffic-body{gap:10px}.totals{width:100px}.totals dd{font-size:16px}.legend{gap:8px;font-size:10px}}@media(max-width:950px){.operations,.bottom-grid{grid-template-columns:1fr}.inspector{min-height:0}.inspector .help{margin-top:10px}.inspector .actions{margin-top:10px}.ledger{min-height:280px}.activity ol{max-height:210px}.topbar{gap:16px}.account>.plain{margin-left:4px}.role-details{gap:22px}.summary{gap:14px}.summary>span+span{padding-left:14px}}@media(max-width:650px){.app{display:block}.sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:16px 18px;gap:10px}.brand strong{font-size:17px}.brand>svg{width:24px;height:26px}.brand small{display:inline-block;margin-left:10px}.sidebar nav{flex-direction:row;padding:0 8px 8px;gap:2px;overflow-x:auto}.sidebar nav button{font-size:11px;min-height:38px;white-space:nowrap;gap:6px;padding:8px 10px}.sidebar nav button svg{width:15px}.sidebar nav button.selected{box-shadow:inset 0 -2px #88bbff}.sidebar-bottom{display:none}.workspace{width:100%;margin:0}.topbar{height:44px;padding:0 14px;justify-content:space-between;font-size:10px}.endpoint{max-width:54%}.account{gap:6px}.account>svg{display:none}.account .plain{font-size:10px;padding:5px}.workspace main{padding:20px 14px}h1{font-size:22px}.page-heading p{font-size:12px}.actions{gap:7px}button{font-size:12px;min-height:37px;padding:8px 11px}.summary{font-size:10px;gap:9px}.summary>span+span{padding-left:9px}.role-details{padding:15px;gap:17px}.role-details dl.address>dd{font-size:18px}.role-details .role-status{margin-left:0}.section-heading{padding:15px 13px;gap:10px}.section-heading h2{font-size:13px}.filter{font-size:10px}.inspector{padding:15px}.traffic-body{padding:0 13px 13px;flex-direction:column;align-items:stretch}.chart-wrap>svg{height:165px}.legend{gap:10px}.totals{display:flex;gap:35px;width:100%}.totals>div{margin:4px 0}.chart-wrap>p{font-size:9px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.settings-form{padding:4px 16px 20px}.setup-guide{padding:17px;align-items:flex-start;flex-direction:column}.setup-guide p{font-size:11px}footer{padding:10px 14px 20px;flex-direction:column;gap:5px}.auth-shell{padding-top:40px}.auth-panel{padding:25px}.notice{font-size:11px}.network-panel{padding:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Role-specific first task blocks preserve the approved C companion hierarchy. */
.agent-details{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:28px;align-items:start;padding:20px}
.target-block h2,.target-result h2{margin-bottom:15px}.target-address{display:grid;gap:12px;margin-bottom:18px}.target-address>div{display:grid;grid-template-columns:130px 1fr;gap:18px}.target-address dt,.target-address dd{font-size:13px}.target-address dd{background:var(--bg);border:1px solid var(--line);padding:7px 10px;border-radius:4px;max-width:400px}.target-address dt{padding-top:7px}.target-result{border-left:1px solid var(--line);padding-left:28px;font-size:12px}.role-test-result{font-size:12px;line-height:1.6;margin-top:12px;color:var(--secondary)}.role-test-result.success{color:#a2e9cb}.role-test-result.error{color:var(--red)}.role-test-result small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.relay-state{margin-top:13px;font-size:12px}.client-details{display:block;padding:20px}.client-route{display:grid;grid-template-columns:minmax(260px,1fr) 28px minmax(220px,1fr) 28px minmax(160px,1fr);gap:20px;align-items:center}.route-node{min-width:0}.route-node>.status{font-size:12px;margin-top:12px}.route-arrow{color:var(--muted);font-size:22px}.route-check{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);margin-top:18px;padding-top:17px}.route-check .role-test-result,.route-check .help{margin:0;max-width:60ch}.route-check .actions{flex-shrink:0}
@media(max-width:1250px){.client-route{grid-template-columns:minmax(200px,1.1fr) 20px minmax(150px,1fr) 20px minmax(100px,.8fr);gap:12px}.client-route .address>dd{font-size:17px}.route-check{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:950px){.agent-details{grid-template-columns:1fr;gap:20px}.target-result{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.client-route{grid-template-columns:1fr;gap:12px}.route-arrow{font-size:17px;line-height:1;transform:rotate(90deg);width:17px}.route-node>.status{margin-top:8px}}
@media(max-width:650px){.agent-details,.client-details{padding:17px}.target-address>div{grid-template-columns:95px 1fr;gap:10px}.target-address dt,.target-address dd{font-size:12px}.route-check{gap:15px}.client-route .address>dd{font-size:20px}}

.password-form{margin-top:20px}.password-form .section-heading{padding-bottom:6px}.password-form>.help:first-of-type{margin:0 0 20px}.password-form .field.wide>input{max-width:100%}.form-message{font-size:12px;line-height:1.6}.form-message:empty{display:none}
.connection-sub{display:block;color:var(--secondary);font-size:11px;margin:7px 0 0 24px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.relay-address{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;gap:5px;align-items:center}.connection-dialog{max-height:calc(100vh - 32px);overflow:auto;width:min(570px,calc(100vw - 30px))}.connection-dialog .checkbox-label{margin-top:20px}.connection-dialog .checkbox-label input{width:16px;height:16px;flex:none}.status.pending{color:var(--amber)}

.relay-group{border-top:1px solid var(--line)}.relay-group>summary{display:flex;align-items:center;gap:16px;padding:18px;cursor:pointer;list-style:none;background:var(--raised)}.relay-group>summary::-webkit-details-marker{display:none}.relay-group>summary:before{content:'›';color:var(--amber);font-size:22px;transform:rotate(90deg)}.relay-group:not([open])>summary:before{transform:none}.relay-group-title{min-width:0;flex:1}.relay-group-title strong{display:block;font-size:14px}.relay-group-url{display:block;color:var(--secondary);font-size:11px;margin-top:6px;overflow-wrap:anywhere}.relay-group-counts{display:grid;gap:6px;font-size:11px;color:var(--secondary)}.relay-group-empty{margin:0;padding:22px;color:var(--muted);font-size:12px}.relay-group .table-scroll table{min-width:780px}.relay-group td:nth-child(4){white-space:nowrap}
@media(max-width:1250px){.relay-group>summary{flex-wrap:wrap}.relay-group-counts{margin-left:30px}.relay-group>summary>.row-actions{margin-left:auto}.relay-group-title{flex-basis:calc(100% - 45px)}}
@media(max-width:650px){.relay-group>summary{padding:14px;gap:10px}.relay-group-counts{margin-left:20px;font-size:10px;flex-basis:100%}.relay-group>summary>.row-actions{margin-left:20px}.relay-group-url{font-size:10px}.relay-group-title strong{font-size:13px}}
.setup-dialog{width:min(1120px,calc(100vw - 40px));max-width:1120px;max-height:calc(100dvh - 40px);overflow:auto}.setup-dialog h2{margin-top:8px}.setup-dialog>.help{max-width:850px}.setup-route{display:flex;align-items:center;gap:18px;padding:18px 0;border-block:1px solid var(--border,#2d3b48);margin:20px 0}.setup-route>span{min-width:0;flex:1}.setup-route small{display:block;color:var(--muted,#a7b4c3);margin-bottom:6px}.setup-route strong{display:block;overflow-wrap:anywhere;font-size:16px}.setup-route b{color:#edb457}.setup-advanced{margin:14px 0}.setup-advanced summary{cursor:pointer;color:#b6c4d3;padding:8px 0}.setup-command-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.setup-command{min-width:0;border-top:2px solid #edb457;padding:20px 0}.setup-command h3{font-size:18px;line-height:1.45;margin:12px 0}.setup-command>p{font-size:13px;line-height:1.65}.setup-command textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:170px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;line-height:1.65;padding:12px;background:#0e1821;color:#dce4ef;border:1px solid #354451;border-radius:5px;overflow-wrap:anywhere}.setup-command .actions{margin-top:14px}.setup-command a{font-size:13px;color:#edb457}.setup-dialog code{overflow-wrap:anywhere}.setup-dialog .dialog-heading{align-items:flex-start}
@media(max-width:700px){.setup-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px}.setup-command-grid{grid-template-columns:1fr;gap:0}.setup-route{flex-direction:column;align-items:stretch;gap:10px}.setup-route>b{transform:rotate(90deg);align-self:center}.setup-route strong{font-size:15px}.setup-dialog .form-grid{grid-template-columns:1fr}.setup-dialog .field.wide{grid-column:auto}.setup-command textarea{min-height:190px}.setup-dialog .actions{flex-wrap:wrap}}

.setup-run{font-family:ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;padding:12px;background:#0e1821;border:1px solid #354451;border-radius:5px}.setup-command .actions{margin-bottom:14px}
