.config-content{padding:0}.node-config-page{min-height:calc(100vh - 78px);background:#fff}.node-toolbar{min-height:58px;padding:10px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.node-picker{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.node-picker svg{width:17px;color:var(--blue)}.node-picker select{min-width:180px;height:36px;padding:0 30px 0 10px;border:1px solid #cbd4e0;background:#fff;color:#10203c}.outline-action,.quiet-action{min-height:36px;padding:0 12px;border:1px solid #cbd4e0;background:#fff;color:#24405f;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.outline-action:hover{border-color:var(--blue);color:var(--blue)}.danger-action{min-height:36px;padding:0 11px;border:1px solid #f0bdc3;background:#fff;color:var(--accent);display:flex;align-items:center;gap:6px;font-size:11px}.danger-action svg{width:14px}.outline-action:disabled{opacity:.5;cursor:wait}.outline-action svg,.quiet-action svg{width:15px}.quiet-action{border-color:transparent;color:var(--blue)}.inline-create{display:flex;align-items:center;gap:7px;position:relative}.inline-create input{height:36px;border:1px solid #cbd4e0;padding:0 9px;min-width:160px}.inline-create button{height:36px;border:1px solid var(--blue);background:var(--blue);color:#fff;padding:0 10px;display:flex;align-items:center;gap:5px;font-size:12px}.inline-create button svg{width:14px}.inline-create button.quiet{border-color:transparent;background:transparent;color:var(--muted)}.inline-error{color:var(--accent);font-size:11px}.service-tabs{height:54px;padding:0 24px;display:flex;align-items:stretch;gap:28px;border-bottom:1px solid var(--line)}.service-tabs button{position:relative;border:0;background:transparent;padding:0 4px;color:#43516a;font-size:13px}.service-tabs button.selected{color:var(--blue);font-weight:680}.service-tabs button.selected:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--blue)}.config-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:calc(100vh - 190px)}.config-main{min-width:0}.pending-rail{position:static;width:auto;height:auto;background:#fbfcfe;color:#10203c;display:block;border-left:1px solid var(--line);padding:22px 18px}.pending-rail h3{margin:0 0 6px;font-size:14px}.pending-rail>p{margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.5}.pending-item{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:13px 0;border-top:1px solid var(--line)}.pending-item>svg{width:15px;color:var(--blue)}.pending-item>div{min-width:0;display:flex;flex-direction:column;gap:5px}.pending-item b{color:var(--green);font-size:11px}.pending-item code{overflow-wrap:anywhere;color:#596980;font-size:10px;line-height:1.45}.pending-item small{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis}.pending-item small svg{width:11px;margin-right:4px;vertical-align:middle}.pending-empty{min-height:140px;display:grid;place-content:center;justify-items:center;gap:8px;color:#8490a2;font-size:11px}.pending-empty svg{width:24px;color:#8fd1b4}.instance-layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100%}.instance-rail{position:static;width:auto;height:auto;background:#fbfcfe;color:#10203c;display:block;border-right:1px solid var(--line);padding:20px 12px}.instance-rail h3{margin:0 10px 14px;font-size:12px;color:#4b5b73}.instance-item{display:grid;grid-template-columns:1fr 32px;align-items:center;border:1px solid transparent}.instance-item.active{border-color:#cddbf1;background:#eaf2ff}.instance-item>button:first-child{height:40px;padding:0 10px;border:0;background:transparent;color:#24405f;display:flex;justify-content:space-between;align-items:center;font-size:12px}.instance-item>button:first-child svg{width:14px}.instance-delete{width:30px;height:30px;border:0;background:transparent;color:#93a0b3;opacity:0}.instance-item:hover .instance-delete{opacity:1}.instance-delete:hover{color:var(--accent)}.instance-delete svg{width:14px}.add-instance{width:100%;height:39px;margin-top:5px;border:1px dashed #c7d1df;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.add-instance svg{width:14px}.instance-create{display:grid;grid-template-columns:1fr 34px;gap:4px;margin-top:6px}.instance-create input{min-width:0;height:36px;border:1px solid #cbd4e0;padding:0 8px;font-size:11px}.instance-create button{border:0;background:var(--blue);color:#fff}.instance-create button svg{width:15px}.instance-create small{grid-column:1 / -1;color:var(--accent)}.form-panel{min-width:0}.panel-heading{min-height:78px;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0 0 5px;font-size:17px}.panel-heading p{margin:0;color:var(--muted);font-size:11px}.config-section{padding:22px 24px 26px;border-bottom:1px solid var(--line)}.config-section-heading{margin-bottom:18px}.config-section-heading h3{margin:0 0 5px;font-size:13px}.config-section-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:16px}.config-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:#43516a;font-size:11px;font-weight:620}.config-field.field-wide{grid-column:1 / -1}.config-field input,.config-field select,.config-field textarea{width:100%;min-height:38px;border:1px solid #cbd4e0;border-radius:0;background:#fff;color:#10203c;outline:none;padding:8px 10px;font-size:12px;font-weight:400}.config-field textarea{min-height:86px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5}.config-field input:focus,.config-field select:focus,.config-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2768ef14}.config-field small{color:var(--muted);font-weight:400;line-height:1.45}.toggle-field{display:flex;align-items:center;gap:10px;min-height:38px;font-size:11px}.toggle-field>div{display:flex;flex-direction:column;gap:3px}.toggle-field b{font-size:11px}.toggle-field small{color:var(--muted)}.toggle{width:34px;height:19px;padding:2px;border:0;border-radius:10px;background:#b7c1cf;transition:background .15s}.toggle span{display:block;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .15s}.toggle.on{background:var(--green)}.toggle.on span{transform:translate(15px)}.secret-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 16px}.secret-editor label{min-width:0;display:flex;flex-direction:column;gap:6px;color:#43516a;font-size:11px;font-weight:620}.secret-editor label>div{display:flex}.secret-editor input{width:100%;min-width:0;height:38px;border:1px solid #cbd4e0;padding:0 10px;font:12px ui-monospace,monospace}.secret-editor label button{width:40px;border:1px solid #cbd4e0;border-left:0;background:#fff;color:#596980}.secret-editor label button svg{width:16px}.secret-editor label small{color:#a56b16;font-weight:400}.key-actions{display:flex;gap:4px;align-items:flex-end;padding-bottom:1px}.form-error{grid-column:1 / -1;padding:9px 10px;background:#fff3e8;color:#a75c0c;display:flex;align-items:center;gap:6px;font-size:11px}.form-error svg{width:14px}.peer-heading{display:flex;align-items:center;justify-content:space-between}.peer-heading>div h3{margin-bottom:5px}.peer-table{border-top:1px solid var(--line);overflow:hidden}.peer-row{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(160px,1.3fr) minmax(130px,1fr) minmax(135px,1fr) 82px 34px;gap:8px;align-items:center;padding:9px 8px;border-bottom:1px solid var(--line);font-size:11px}.peer-row>input,.peer-row>textarea{width:100%;min-width:0;min-height:34px;border:1px solid #d3dae4;padding:6px 7px;background:#fff;font-size:11px}.peer-row>textarea{height:34px;resize:vertical}.peer-header{min-height:38px;padding-top:0;padding-bottom:0;color:var(--muted);font-weight:620;background:#fbfcfe}.peer-psk{grid-column:2 / -1;display:flex;gap:8px;padding:2px 0 5px}.peer-psk label{flex:1;display:flex;align-items:center;gap:8px;color:var(--muted)}.peer-psk input{flex:1;min-width:0;height:32px;border:1px solid #d3dae4;padding:0 7px}.peer-psk button{height:32px;border:1px solid #cbd4e0;background:#fff;color:#43516a;display:flex;align-items:center;gap:5px;font-size:11px}.peer-psk button svg{width:14px}.rule-files,.host-list,.mapping-list,.subscription-list{display:flex;flex-direction:column}.mapping-list>div,.subscription-list>div{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(220px,1.2fr) 36px;gap:8px;align-items:center;min-height:44px;border-top:1px solid var(--line)}.mapping-list input,.subscription-list input{min-width:0;height:36px;border:1px solid #d3dae4;padding:0 8px;font-size:11px}.mapping-list code,.subscription-list code{font-size:11px;overflow-wrap:anywhere}.mapping-list .mapping-header{min-height:34px;color:var(--muted);font-size:10px;background:#fbfcfe;padding:0 8px}.mapping-list .mapping-add,.subscription-list .subscription-add{grid-template-columns:minmax(170px,.8fr) minmax(220px,1.2fr) 90px}.mapping-add button,.subscription-add button{height:36px;border:1px solid #cbd4e0;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px}.mapping-add button svg,.subscription-add button svg{width:14px}.rule-files>div,.host-list>div{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(280px,1.5fr) 36px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.rule-files code,.host-list code{font-size:11px;overflow-wrap:anywhere}.rule-files input,.host-list input,.host-list textarea{min-width:0;height:36px;border:1px solid #d3dae4;padding:0 8px;font-size:11px}.host-list textarea{padding-top:7px;resize:vertical}.rule-files .rule-add,.host-list .rule-add{grid-template-columns:minmax(160px,.7fr) minmax(280px,1.5fr) 90px}.rule-add button{height:36px;border:1px solid #cbd4e0;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px}.rule-add button svg{width:14px}.empty-service,.first-node{min-height:480px;display:grid;place-content:center;justify-items:center;text-align:center;color:var(--muted)}.empty-service svg,.first-node>svg{width:34px;color:#93a7c5}.empty-service h2,.first-node h2{color:#2b3c57;font-size:16px;margin:15px 0 5px}.empty-service p,.first-node p{margin:0 0 18px;font-size:11px}.first-node .node-toolbar{border:0;padding:0}.compact{padding:24px}@media(max-width:1180px){.config-workspace{grid-template-columns:minmax(0,1fr)}.pending-rail{display:none}.peer-row{grid-template-columns:100px minmax(150px,1.2fr) minmax(130px,1fr) minmax(130px,1fr) 72px 32px}}@media(max-width:900px){.config-grid{grid-template-columns:1fr}.config-field.field-wide{grid-column:auto}.instance-layout{grid-template-columns:160px minmax(0,1fr)}.instance-rail{width:auto!important}.peer-table{overflow-x:auto}.peer-row{min-width:780px}}@media(max-width:650px){.node-toolbar{align-items:flex-start;flex-direction:column;padding:10px 14px}.node-picker{width:100%}.node-picker select{flex:1;min-width:0}.service-tabs{height:auto;min-height:88px;padding:0 8px;gap:0;overflow:visible;flex-wrap:wrap}.service-tabs button{flex:0 0 25%;height:44px;padding:0 2px;white-space:nowrap;font-size:10.5px}.config-workspace{min-height:auto}.instance-layout{display:block}.instance-rail{display:flex;width:100%!important;height:auto!important;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid var(--line)}.instance-rail h3{display:none}.instance-item{min-width:130px}.add-instance{min-width:110px;margin:0 0 0 6px}.panel-heading,.config-section{padding-left:14px;padding-right:14px}.panel-heading{align-items:flex-start}.secret-editor{grid-template-columns:1fr}.key-actions{align-items:center}.rule-files>div,.host-list>div,.rule-files .rule-add,.host-list .rule-add{grid-template-columns:1fr 34px}.mapping-list>div,.subscription-list>div,.mapping-list .mapping-add,.subscription-list .subscription-add{grid-template-columns:1fr 34px}.mapping-list .mapping-header{display:none}.rule-files input,.host-list input,.host-list textarea,.mapping-list input,.subscription-list input{grid-column:1}.rule-add button,.mapping-add button,.subscription-add button{grid-column:2;grid-row:1 / span 2;height:100%}}:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#10203c;background:#fff;font-synthesis:none;--nav:#071e3c;--nav2:#0b2d59;--accent:#f33b4e;--blue:#2768ef;--green:#079b5b;--line:#dce3ed;--muted:#66738a}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:210px 1fr}aside{position:fixed;width:210px;height:100vh;background:linear-gradient(180deg,var(--nav2),var(--nav));color:#eaf2ff;display:flex;flex-direction:column}.brand{height:78px;display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid #ffffff12;font-size:20px;letter-spacing:.06em}.brand svg{width:25px}.brand b{font-weight:780}nav{padding:10px 0}nav button{position:relative;width:100%;height:57px;border:0;background:transparent;color:#dce8fb;display:flex;align-items:center;gap:15px;padding:0 22px;text-align:left;font-size:14px}nav button svg{width:19px}nav button.active{background:#ffffff0f;color:#fff}nav button.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#3e87ff}.side-status{margin-top:auto;padding:18px 21px;display:flex;gap:11px;border-top:1px solid #ffffff12}.side-status svg{width:20px;color:#50d795}.side-status div{display:flex;flex-direction:column;gap:4px;font-size:12px}.side-status span{color:#8ba0bf}.side-foot{padding:18px 22px;border-top:1px solid #ffffff12;color:#7890b2;font-size:11px}.workspace{grid-column:2;min-width:0}.workspace>header{height:78px;padding:0 26px 0 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.workspace header>div{display:flex;align-items:center;gap:24px}.workspace h1{font-size:24px;margin:0;letter-spacing:-.03em}.connection{font-size:12px;color:var(--green);display:flex;align-items:center;gap:7px;border-left:1px solid var(--line);padding-left:24px}.connection svg{width:17px}.primary{border:0;background:var(--accent);color:#fff;min-height:42px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:680;font-size:13px;border-radius:3px}.primary svg{width:17px}.primary:disabled{opacity:.38;cursor:not-allowed}.content{padding:30px 34px}.summary{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding-bottom:28px}.summary>div{min-height:102px;padding:4px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column}.summary>div:first-child{padding-left:0}.summary>div:last-child{border:0}.summary span{font-size:12px;color:var(--muted)}.summary strong{font-size:30px;margin:10px 0 5px;letter-spacing:-.04em}.summary strong.commit{font-size:20px;color:var(--green)}.summary small{font-size:11px;color:#7a879b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-section{padding-top:28px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title h2{margin:0 0 5px;font-size:16px}.section-title p{margin:0;color:var(--muted);font-size:12px}.text-button{display:flex;align-items:center;border:0;background:none;color:var(--blue);gap:3px;font-size:12px}.text-button svg{width:15px}.table-wrap{border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#59677e;font-weight:560;height:43px}td{height:49px;border-top:1px solid var(--line)}tbody tr{cursor:pointer}tbody tr:hover{background:#f7f9fc}.state{display:inline-flex;align-items:center;gap:7px}.state:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.online{color:var(--green)}.offline{color:var(--accent)}.muted{color:var(--muted)}.empty{text-align:center;padding:44px;color:var(--muted)}.health-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border:1px solid var(--line)}.health-row>div{padding:17px 20px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;border-right:1px solid var(--line);font-size:12px}.health-row>div:last-child{border:0}.health-row svg{width:17px;color:var(--blue)}.health-row b{color:var(--green)}.search{width:240px;height:38px;border:1px solid #cbd4e0;display:flex;align-items:center;padding:0 11px}.search svg{width:16px;color:#65738a}.search input{border:0;outline:0;width:100%;padding:0 8px;font-size:12px}.split{display:flex;margin:-30px -34px;min-height:calc(100vh - 78px)}.split .grow{flex:1;padding:30px 34px}.inspector{position:relative;width:390px;border-left:1px solid var(--line);padding:30px 24px;background:#fbfcfe}.inspector h2{font-size:18px;margin:0}.inspector>p{font-size:12px;color:var(--muted);margin:5px 0 25px}.close{position:absolute;right:18px;top:22px;border:0;background:none;font-size:24px;color:var(--muted)}.key-list{display:flex;flex-direction:column}.add-key{display:grid;grid-template-columns:minmax(250px,1fr) minmax(180px,1fr) 90px;gap:8px;margin-bottom:15px}.add-key input,.add-security input{height:38px;border:1px solid #cbd4e0;padding:0 10px;outline:none}.add-key button,.session button{border:1px solid #cbd4e0;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.add-key svg{width:15px}.key-row{display:grid;grid-template-columns:minmax(250px,35%) 1fr 36px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.key-row code{font-size:11px;color:#30415e;overflow-wrap:anywhere}.key-row textarea{min-height:42px;max-height:130px;resize:vertical;border:1px solid #d3dae4;padding:8px;font:12px/1.4 ui-monospace,monospace}.key-row textarea:disabled{background:#f3f5f8;color:#929db0}.icon{width:34px;height:34px;border:0;background:transparent;display:grid;place-items:center}.icon svg{width:16px}.danger{color:var(--accent)}.danger:disabled{opacity:.25}.security{max-width:820px}.security-block{border:1px solid var(--line);padding:22px;margin-top:18px}.security-block h3{font-size:14px;margin:0 0 16px}.add-security{display:flex;gap:8px}.add-security input{flex:1}.credential-list{margin-top:18px}.credential-list>div{display:grid;grid-template-columns:42px 1fr 36px;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.key-symbol{width:36px;height:36px;background:#eaf1ff;color:var(--blue);display:grid;place-items:center}.key-symbol svg{width:18px}.credential-list div div:nth-child(2){display:flex;flex-direction:column;gap:3px;font-size:12px}.credential-list span,.credential-list small{color:var(--muted)}.session{display:flex;align-items:center;justify-content:space-between}.session h3{margin-bottom:5px}.session p{font-size:12px;color:var(--muted);margin:0}.session button{height:38px;padding:0 13px}.session svg{width:15px}.notice,.banner{margin:15px 34px 0;padding:10px 13px;font-size:12px;display:flex;align-items:center}.notice{background:#e9f8f1;color:#087a4b}.notice button,.banner button{margin-left:auto;border:0;background:none;color:inherit}.error{background:#fff0f1;color:#ba2333;padding:9px 11px;display:flex;align-items:center;gap:7px;font-size:12px}.auth-page{min-height:100vh;display:grid;place-items:center;background:#071e3c}.auth-panel{width:min(420px,calc(100vw - 34px));background:#fff;padding:38px}.auth-brand{display:flex;align-items:center;gap:10px;color:#10213d;letter-spacing:.06em;font-weight:800}.auth-icon{width:48px;height:48px;background:#e9f8f1;color:var(--green);display:grid;place-items:center;margin-top:45px}.auth-panel h1{font-size:25px;margin:20px 0 8px}.auth-panel>p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 22px}.auth-panel label{display:flex;flex-direction:column;gap:7px;margin:13px 0;font-size:12px;font-weight:650}.auth-panel input{height:42px;border:1px solid #cbd4e0;padding:0 11px}.auth-button{width:100%;margin-top:18px}.auth-panel small{display:block;text-align:center;margin-top:18px;color:#7d8899}.loading{height:100vh;display:grid;place-items:center;color:var(--muted)}@media(max-width:900px){.shell{grid-template-columns:70px 1fr}aside{width:70px}.brand{padding:0;justify-content:center}.brand b,nav span,.side-status div,.side-foot{display:none}nav button{justify-content:center;padding:0}.side-status{justify-content:center;padding:18px 0}.summary{grid-template-columns:1fr 1fr;gap:20px}.summary>div:nth-child(2){border-right:0}.health-row{grid-template-columns:1fr}.health-row>div{border-right:0;border-bottom:1px solid var(--line)}.inspector{position:fixed;right:0;top:0;height:100vh;z-index:5;box-shadow:-12px 0 30px #12203a22}}@media(max-width:650px){.workspace>header{padding:0 16px}.workspace header>div{gap:10px}.connection{display:none}.workspace h1{font-size:19px}.primary{padding:0 11px}.content{padding:22px 16px}.summary{grid-template-columns:1fr 1fr}.summary>div{padding:5px 12px}.summary>div:nth-child(odd){padding-left:0}.summary strong{font-size:24px}.table-wrap{overflow-x:auto}table{min-width:720px}.health-row{margin-top:20px}.section-title{align-items:flex-start;gap:10px}.search{width:150px}.inspector{width:calc(100vw - 70px)}.key-row{grid-template-columns:1fr 34px}.key-row textarea{grid-column:1/2}.add-key{grid-template-columns:1fr}.split{margin:-22px -16px}.split .grow{padding:22px 16px}}
