:root,[data-theme=light]{--canvas:#f3f5fa;--surface:#fff;--surface-2:#f8f9fc;--surface-3:#eff1f7;--dock:#12131b;--dock-2:#222431;--ink:#111424;--ink-2:#353a4d;--muted:#697288;--line:#e7e9f2;--line-2:#d7dbe7;--accent:#5755e7;--accent-2:#4338ca;--accent-soft:#eeefff;--on-accent:#fff;--green:#007a61;--green-soft:#e8f8f3;--blue:#0876a8;--blue-soft:#e9f6fc;--amber:#9b5a08;--amber-soft:#fff4df;--red:#b6344b;--red-soft:#fdecef;--code-canvas:#f4f5f8;--code-gutter:#eceff4;--code-line:#d9dde7;--code-ink:#2a3040;--code-muted:#778196;--code-selection:#dfe1ff;--code-caret:#5755e7;--shadow:0 3px 12px rgba(34,39,68,.05),0 20px 48px -38px rgba(79,70,229,.48);--shadow-lift:0 12px 28px -22px rgba(79,70,229,.34),0 3px 10px rgba(30,35,60,.06);--radius-card:16px;--radius-control:10px;color-scheme:light}
[data-theme=dark]{--canvas:#0d1018;--surface:#171b26;--surface-2:#1d2230;--surface-3:#252b3a;--dock:#080a0f;--dock-2:#171b26;--ink:#f4f6fb;--ink-2:#d4d9e5;--muted:#929bad;--line:#2b3344;--line-2:#3b455a;--accent:#8b8dff;--accent-2:#a9aaff;--accent-soft:#292a52;--on-accent:#11131a;--green:#39c9a2;--green-soft:#123b32;--blue:#48bdec;--blue-soft:#123343;--amber:#f1b64e;--amber-soft:#3b2c13;--red:#f47a8b;--red-soft:#401b24;--code-canvas:#111827;--code-gutter:#0d1424;--code-line:#27324a;--code-ink:#e6ebf5;--code-muted:#74809b;--code-selection:#3730a3;--code-caret:#a5b4fc;--shadow:0 16px 38px -26px rgba(0,0,0,.9);--shadow-lift:0 18px 46px -28px rgba(0,0,0,.95);--radius-card:16px;--radius-control:10px;color-scheme:dark}
[data-theme=dark] .danger-confirm,[data-theme=dark] .section-number,[data-theme=dark] .client-share-control button:last-child{color:var(--on-accent)}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{min-width:320px;min-height:100%;margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}form,h1,h2,h3,h4,p{margin:0}code,pre{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}svg{display:block}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}a,button,input,select,textarea,summary{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:is(a,button,summary):focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.eyebrow{color:var(--accent);font-size:11px;font-weight:750;letter-spacing:0}.muted-text{color:var(--muted)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--line-2) 70%,var(--accent));background-clip:content-box}
.desktop-app{height:100vh;display:grid;grid-template-columns:76px 264px minmax(0,1fr);overflow:hidden}.app-dock{z-index:60;display:flex;align-items:center;flex-direction:column;padding:14px 10px;background:var(--dock);color:#b8bdcb}.dock-logo{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#f4f5f8;color:#171922;font-size:12px;font-weight:850}.dock-nav{width:100%;display:grid;gap:7px;margin-top:30px}.dock-nav a,.dock-tools button{position:relative;width:54px;min-height:50px;display:grid;place-items:center;margin:0 auto;border:0;border-radius:10px;background:transparent;color:#7e8597}.dock-nav a:hover,.dock-tools button:hover{background:color-mix(in srgb,var(--dock-2) 84%,var(--accent));color:#fff}.dock-nav a:active:not(.active),.dock-tools button:active{background:color-mix(in srgb,var(--dock-2) 68%,var(--accent))}.dock-nav a.active{background:var(--accent);color:var(--on-accent);box-shadow:0 10px 22px -12px color-mix(in srgb,var(--accent) 62%,transparent)}.dock-nav a.active::before{content:"";position:absolute;left:-10px;top:50%;width:3px;height:22px;border-radius:3px;background:var(--accent);transform:translateY(-50%)}.dock-nav svg,.dock-tools svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dock-label{position:absolute;left:64px;top:50%;z-index:100;min-width:54px;padding:5px 8px;border-radius:6px;background:#11131a;color:#fff;font-size:11px;opacity:0;pointer-events:none;transform:translate(-4px,-50%)}.dock-nav a:hover .dock-label,.dock-tools button:hover .dock-label{opacity:1;transform:translate(0,-50%)}.dock-nav b{position:absolute;right:5px;top:5px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:9px}.dock-nav b.hot{background:var(--amber)}.dock-tools{width:100%;display:grid;gap:7px;margin-top:auto}.dock-tools form{margin:0}.dock-tools button{padding:0}.context-sidebar{min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--surface-2);overflow:auto}.context-brand{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line)}.context-brand>a{display:flex;align-items:center;gap:9px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:850}.brand-mark.large{width:48px;height:48px}.context-brand strong,.context-brand small{display:block}.context-brand strong{font-size:13px}.context-brand small{color:var(--muted);font-size:10px}.context-live{display:flex;align-items:center;gap:5px;color:var(--green);font-size:9px}.context-live i,.context-footer i,.sync-state i,.trust-badge i{width:7px;height:7px;border-radius:50%;background:var(--green)}.context-heading{padding:26px 20px 18px}.context-heading>p{color:var(--muted);font-size:10px;font-weight:700}.context-heading h1{margin:4px 0 6px;font-size:25px;line-height:1.2}.context-heading>span{display:block;color:var(--muted);font-size:12px;line-height:1.65}.context-primary{min-height:42px;display:flex;align-items:center;margin:0 16px 18px;padding:0 12px;border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700}.context-primary:hover{background:var(--accent-2)}.context-primary:active{background:var(--accent-2);transform:translateY(0)}.context-section-label{display:flex;align-items:center;justify-content:space-between;padding:0 20px 8px;color:var(--muted);font-size:10px;font-weight:700}.context-section-label b{min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:var(--surface-3);font-size:9px}.context-menu{display:grid;gap:3px;padding:0 12px}.context-menu a{min-height:42px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:600}.context-menu a span{font:9px ui-monospace;color:var(--muted)}.context-menu a:hover,.context-menu a.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.context-menu a.active{box-shadow:inset 3px 0 0 var(--accent),var(--shadow)}.context-metrics{display:grid;gap:1px;margin:20px 16px 0;border:1px solid var(--line);border-radius:8px;background:var(--line);overflow:hidden}.context-metrics div{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--surface)}.context-metrics span{color:var(--muted);font-size:10px}.context-metrics b{font-size:13px}.context-list{display:grid;gap:3px;padding:0 12px}.context-list>a{min-height:56px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;color:var(--muted)}.context-list>a:hover,.context-list>a.active{background:var(--surface);box-shadow:var(--shadow);color:var(--ink)}.context-list>a.active{box-shadow:inset 3px 0 0 var(--accent),var(--shadow)}.context-list strong,.context-list small{display:block}.context-list strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.context-list small{margin-top:2px;color:var(--muted);font-size:10px}.context-list em{font-size:9px;font-style:normal}.context-list>p{padding:12px;color:var(--muted);font-size:11px}.context-engine{min-width:48px;height:26px;display:grid;place-items:center;border-radius:6px;background:var(--surface-3);font-size:8px;font-weight:750}.context-engine.mihomo{color:var(--green)}.context-engine.xray{color:var(--blue)}.context-engine.sing-box{color:var(--accent)}.config-context-list>a,.engine-context-list>a{grid-template-columns:auto 1fr}.context-callout{margin:22px 16px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.context-callout span{font-size:28px;font-weight:800}.context-callout p{font-size:11px;font-weight:700}.context-callout small{color:var(--muted);font-size:10px}.context-back{margin:20px 20px 0;color:var(--accent);font-size:11px}.context-steps{display:grid;gap:8px;margin:20px 16px;padding:0;list-style:none}.context-steps li{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.context-steps b{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;font-size:9px}.context-steps li.active{color:var(--ink);font-weight:700}.context-steps li.active b{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.context-footer{margin-top:auto;padding:16px 20px;border-top:1px solid var(--line)}.context-footer span{display:flex;align-items:center;gap:7px}.context-footer b{font-size:11px}.context-footer small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.workspace-shell{min-width:0;display:flex;flex-direction:column;background:var(--canvas)}.workspace-topbar{height:58px;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:0 24px;border-bottom:1px solid var(--line);background:var(--surface)}.workspace-route{display:flex;align-items:center;gap:8px;font-size:11px}.workspace-route span,.workspace-route i{color:var(--muted);font-style:normal}.workspace-actions{display:flex;align-items:center;gap:10px}.sync-state{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.workspace-main{min-width:0;flex:1;overflow:auto;padding:24px}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);padding:8px 13px;color:var(--ink-2);font-size:12px;font-weight:700;white-space:nowrap}.button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.button:active{transform:translateY(0);box-shadow:none}.button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);box-shadow:0 8px 18px -12px rgba(85,88,232,.75)}.button.primary:hover{background:var(--accent-2);color:var(--on-accent)}.button.primary:active{background:color-mix(in srgb,var(--accent-2) 90%,#000);box-shadow:none}.button.small{min-height:34px;padding:6px 10px;font-size:10px}.danger-button{color:var(--red)}input,select,textarea{min-width:0;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--ink)}input,select{height:42px;padding:0 11px}textarea{padding:12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.46;transform:none}.engine-badge,.status-label{display:inline-flex;align-items:center;width:max-content;font-weight:750}.engine-badge{min-height:27px;padding:4px 8px;border:1px solid currentColor;border-radius:6px;background:var(--surface);font-size:10px}.engine-badge.mihomo{color:var(--green)}.engine-badge.xray{color:var(--blue)}.engine-badge.sing-box{color:var(--accent)}.status-label{min-height:25px;padding:4px 8px;border-radius:13px;font-size:9px}.status-label.ok{background:var(--green-soft);color:var(--green)}.status-label.warn{background:var(--amber-soft);color:var(--amber)}.status-label.bad{background:var(--red-soft);color:var(--red)}.status-label.muted{background:var(--surface-3);color:var(--muted)}.status-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--muted)}.status-dot.ok{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 12%,transparent)}.status-dot.warn{background:var(--amber)}.status-dot.bad{background:var(--red)}.alert{margin-bottom:14px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12px}.alert.success{border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:var(--green-soft);color:var(--green)}.alert.error{border-color:color-mix(in srgb,var(--red) 30%,var(--line));background:var(--red-soft);color:var(--red)}.empty{text-align:center;color:var(--muted)}.empty.compact{padding:28px 16px}.empty.large{padding:58px 22px;border:1px dashed var(--line-2);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.empty strong{display:block;color:var(--ink);font-size:13px}.empty p{margin-top:8px;line-height:1.7}.labels{display:flex;flex-wrap:wrap;gap:5px}.labels span{padding:3px 6px;border-radius:5px;background:var(--surface-3);color:var(--muted);font:9px ui-monospace}.confirm-dialog{width:min(460px,calc(100% - 28px));max-width:none;padding:0;border:0;border-radius:12px;background:transparent;color:var(--ink);box-shadow:0 28px 80px -24px rgba(5,8,18,.7)}.confirm-dialog::backdrop{background:rgba(8,10,17,.58);backdrop-filter:blur(3px)}.confirm-dialog-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.confirm-dialog-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:var(--red-soft);color:var(--red)}.confirm-dialog-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.confirm-dialog h2{margin-top:2px;font-size:18px}.confirm-dialog [data-confirm-message]{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.7}.confirm-dialog footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;margin-top:5px;padding-top:13px;border-top:1px solid var(--line)}.danger-confirm{border:1px solid var(--red);border-radius:8px;background:var(--red);padding:8px 13px;color:#fff;font-weight:700}.danger-confirm:hover{background:color-mix(in srgb,var(--red) 84%,#000)}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.dashboard-head h2{margin:3px 0;font-size:22px}.dashboard-head>div>p:last-child{color:var(--muted);font-size:11px}.trust-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:15px;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:700}.ops-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ops-stats>a{min-height:104px;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:13px;padding:18px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.ops-stats>a:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-lift)}.ops-stats>a:active{transform:translateY(0);box-shadow:var(--shadow)}.stat-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:var(--surface-3)}.stat-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.stat-icon.green{background:var(--green-soft);color:var(--green)}.stat-icon.blue{background:var(--blue-soft);color:var(--blue)}.stat-icon.amber{background:var(--amber-soft);color:var(--amber)}.stat-icon.red{background:var(--red-soft);color:var(--red)}.ops-stats small,.ops-stats strong,.ops-stats p{display:block}.ops-stats small,.ops-stats p{color:var(--muted);font-size:10px}.ops-stats strong{font-size:26px;line-height:1.05;font-weight:820;letter-spacing:-.01em}.ops-stats strong em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;margin-top:12px}.workspace-panel{border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.workspace-panel>header{min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line)}.workspace-panel h3{margin-top:2px;font-size:16px}.workspace-panel>header>a{color:var(--accent);font-size:10px;font-weight:700}.fleet-overview-list>a{min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 90px 12px;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line)}.fleet-overview-list>a:last-child{border-bottom:0}.fleet-overview-list>a:hover{position:relative}.fleet-overview-list>a:hover::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--accent)}.node-avatar,.machine-avatar{display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-weight:800}.node-avatar{width:36px;height:36px}.fleet-overview-list strong,.fleet-overview-list small{display:block}.fleet-overview-list strong{font-size:11px}.fleet-overview-list small,.fleet-overview-list time{color:var(--muted);font-size:10px}.fleet-overview-list>a>i{color:var(--accent);font-style:normal}.recent-tasks>div>a{min-height:58px;display:grid;grid-template-columns:10px minmax(0,1fr) 70px 12px;align-items:center;gap:9px;padding:9px 14px;border-bottom:1px solid var(--line)}.recent-tasks>div>a:last-child{border-bottom:0}.recent-tasks>div>a:hover{position:relative}.recent-tasks>div>a:hover::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--accent)}.recent-tasks strong,.recent-tasks small{display:block}.recent-tasks strong{font-size:11px}.recent-tasks small,.recent-tasks time{color:var(--muted);font-size:10px}.recent-tasks b{color:var(--accent)}
.access-secret{display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;margin-bottom:12px;padding:12px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:8px;background:var(--green-soft)}.access-secret code{overflow-wrap:anywhere}.access-secret small{grid-column:2/4;color:var(--muted);font-size:10px}.access-secret button{border:1px solid var(--green);border-radius:6px;background:transparent;color:var(--green)}.enrollment-sheet{margin-bottom:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.enrollment-sheet>summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 15px;cursor:pointer}.enrollment-sheet>summary:hover{background:var(--surface-2)}.enrollment-sheet>summary b,.enrollment-sheet>summary small{display:block}.enrollment-sheet>summary b{font-size:12px}.enrollment-sheet>summary small{color:var(--muted);font-size:9px}.enrollment-sheet>summary i{color:var(--accent);font-size:9px;font-style:normal}.enrollment-sheet-body{padding:14px;background:var(--surface-2)}.access-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 10px;padding:0;list-style:none}.access-steps li{display:flex;gap:8px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.access-steps li>b{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:9px}.access-steps strong,.access-steps small{display:block}.access-steps strong{font-size:10px}.access-steps small{color:var(--muted);font-size:8px}.access-form{display:grid;grid-template-columns:1fr 170px auto;align-items:end;gap:8px}.access-form label{display:grid;gap:4px;font-size:10px;font-weight:700}.access-history{margin-top:10px;border-top:1px solid var(--line)}.access-history>summary{padding:10px 0;color:var(--muted);font-size:10px}.access-history article{display:flex;justify-content:space-between;padding:8px;border:1px solid var(--line);background:var(--surface)}.access-history strong,.access-history small{display:block}.access-history small{color:var(--muted);font-size:9px}.machine-stack{display:grid;gap:12px}.machine-workspace{border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.machine-header{min-height:68px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(330px,.9fr) auto 20px;align-items:center;gap:16px;padding:10px 15px;cursor:pointer}.machine-header:hover{background:var(--surface-2)}.machine-workspace[open]>.machine-header{border-bottom:1px solid var(--line)}.machine-identity{display:flex;align-items:center;gap:9px}.machine-avatar{width:38px;height:38px}.machine-identity strong,.machine-identity code{display:block}.machine-identity strong{font-size:13px}.machine-identity code{color:var(--muted);font-size:9px}.machine-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0}.machine-facts div{padding:0 10px;border-left:1px solid var(--line)}.machine-facts dt{color:var(--muted);font-size:8px}.machine-facts dd{margin:2px 0 0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.machine-state{display:flex;align-items:center;gap:7px}.machine-state b,.machine-state small{display:block}.machine-state b{font-size:10px}.machine-state small{color:var(--muted);font-size:8px}.machine-chevron svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:1.8}.machine-workspace[open] .machine-chevron{transform:rotate(180deg)}.machine-body{display:grid;grid-template-columns:250px minmax(0,1fr);background:var(--surface-2)}.machine-profile{padding:16px;border-right:1px solid var(--line)}.machine-profile h2{margin-top:2px;font-size:17px}.identity-list{margin:12px 0 0}.identity-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.identity-list div:last-child{border-bottom:0}.identity-list dt{color:var(--muted);font-size:9px}.identity-list dd{margin:0;font-size:10px;font-weight:650;text-align:right}.identity-list code{font-size:9px}.machine-profile>.labels{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.machine-profile>.labels span{padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:8px}.machine-telemetry{margin-top:16px;padding-top:12px;border-top:2px solid var(--accent)}.machine-telemetry>header{display:flex;justify-content:space-between}.machine-telemetry>header b{font-size:11px}.machine-telemetry button{min-height:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--accent);font-size:9px}.machine-telemetry>small{display:block;color:var(--muted);font-size:8px}.telemetry-lines{margin-top:8px}.telemetry-lines>div{padding:7px 0;border-bottom:1px solid var(--line)}.telemetry-lines>div>span,.telemetry-lines>div>strong{display:flex;justify-content:space-between;font-size:9px}.telemetry-lines>div>span{color:var(--muted)}.telemetry-lines progress{width:100%;height:3px;display:block;margin-top:5px;border:0}.telemetry-lines progress::-webkit-progress-bar{background:var(--line)}.telemetry-lines progress::-webkit-progress-value{background:var(--accent)}.network-line i{font-style:normal}.network-line small{color:var(--muted);font-size:8px}.service-canvas{min-width:0;padding:16px}.service-canvas-head{display:flex;justify-content:space-between;margin-bottom:11px}.service-canvas-head h2{margin-top:2px;font-size:18px}.service-canvas-head p:last-child,.service-canvas-head>span{color:var(--muted);font-size:9px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.service-card{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.service-card-main{padding:12px}.service-card-main>header{display:flex;align-items:center;justify-content:space-between}.engine-state{display:flex;align-items:center;gap:5px}.engine-state i{width:6px;height:6px;border-radius:50%;background:var(--amber)}.engine-state.ok i{background:var(--green)}.engine-state b{font-size:9px}.service-version{margin-top:13px}.service-version small,.service-version strong{display:block}.service-version small{color:var(--muted);font-size:8px}.service-version strong{margin-top:3px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.service-facts{display:grid;grid-template-columns:1fr 1fr;margin:12px 0 8px}.service-facts div{padding:7px;border:1px solid var(--line);background:var(--surface-2)}.service-facts div+div{border-left:0}.service-facts dt{color:var(--muted);font-size:8px}.service-facts dd{margin:2px 0 0;font-size:10px;font-weight:700}.deployment-drift{display:flex;justify-content:space-between;margin-bottom:8px;padding:6px 7px;border-radius:6px;background:var(--amber-soft);color:var(--amber);font-size:8px}.config-diff-drawer{margin-bottom:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);overflow:hidden}.config-diff-drawer>summary{min-height:30px;display:flex;align-items:center;justify-content:space-between;padding:5px 8px;color:var(--accent);font-size:9px;cursor:pointer}.config-diff-drawer>summary:hover{background:var(--surface)}.config-diff-drawer>summary i{font-style:normal}.config-diff-drawer[open]>summary i{transform:rotate(45deg)}.config-diff{max-height:260px;margin:0;padding:8px;overflow:auto;border-top:1px solid var(--line);background:var(--canvas);color:var(--ink-2);font-family:var(--mono);font-size:9px;line-height:1.6;white-space:pre-wrap;word-break:break-all}.config-diff .diff-remove{color:var(--red)}.config-diff .diff-add{color:var(--green)}.config-diff .diff-context{color:var(--muted)}.service-endpoint{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:7px;border:1px solid var(--line);border-radius:6px}.service-endpoint b,.service-endpoint small{display:block}.service-endpoint b{font-size:9px}.service-endpoint small{color:var(--muted);font-size:8px}.service-endpoint code{max-width:50%;overflow:hidden;color:var(--ink-2);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.service-endpoint.empty{color:var(--muted);background:var(--surface-2)}.service-config{width:100%}.runtime-drawer{border-top:1px solid var(--line)}.runtime-drawer>summary{min-height:40px;display:flex;justify-content:space-between;padding:7px 11px;color:var(--muted);cursor:pointer}.runtime-drawer>summary b,.runtime-drawer>summary small{display:block}.runtime-drawer>summary b{font-size:9px}.runtime-drawer>summary small{font-size:8px}.runtime-drawer>summary i{font-style:normal}.runtime-drawer-body{display:grid;gap:7px;padding:8px;background:var(--surface-2)}.service-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.service-actions .button{width:100%}.core-version-form{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.core-version-form label{display:grid;gap:3px;color:var(--muted);font-size:9px}.core-version-form>small{color:var(--muted);font-size:8px}.machine-footer{grid-column:1/-1;display:flex;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--line);background:var(--surface)}.machine-footer>span{display:flex;align-items:center;gap:6px}.machine-footer>span i{color:var(--green);font-style:normal}.machine-footer b{font-size:9px}.machine-footer small{color:var(--muted);font-size:8px}.machine-footer summary{color:var(--muted);font-size:9px}.machine-footer form button{border:0;background:transparent;color:var(--red);font-size:9px}
.config-workspace{border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.editor-toolbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line)}.editor-toolbar h2{margin-top:2px;font-size:18px}.editor-toolbar>div>span{color:var(--muted);font-size:9px}.editor-toolbar-state{display:flex;align-items:center;gap:9px}.editor-toolbar-state b{font-size:16px}.config-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px}.code-workspace{min-width:0}.code-workspace>header{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}.code-workspace>header b{display:block;font-size:10px}.code-workspace>header small{color:var(--muted);font-size:8px}.code-workspace>textarea{width:100%;min-height:500px;display:block;border:0;border-radius:0;resize:vertical;font-size:11px;line-height:1.65}.code-workspace>footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--line)}.code-workspace>footer span{color:var(--muted);font-size:9px}.config-inspector{padding:16px;border-left:1px solid var(--line);background:var(--surface-2)}.config-inspector h3{margin-top:2px;font-size:14px}.config-inspector label{display:grid;gap:4px;margin-top:12px;font-size:9px;font-weight:700}.description-input{min-height:90px}.inspector-rules{display:grid;gap:4px;margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.inspector-rules b{font-size:10px}.inspector-rules small{color:var(--muted);font-size:8px}.inspector-rules small:before{content:"✓";margin-right:4px;color:var(--green)}.delivery-bar{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(500px,1.5fr);align-items:center;gap:18px;padding:14px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.delivery-bar>div{display:flex;align-items:center;gap:10px}.delivery-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.delivery-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.delivery-bar h3{font-size:12px}.delivery-bar small{color:var(--muted);font-size:8px}.delivery-bar form{display:grid;grid-template-columns:1fr 150px auto;align-items:end;gap:7px}.delivery-bar label{display:grid;gap:3px;font-size:9px;font-weight:700}.revision-timeline{border-top:1px solid var(--line)}.revision-timeline>summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer}.revision-timeline>summary b,.revision-timeline>summary small{display:block}.revision-timeline>summary b{font-size:11px}.revision-timeline>summary small,.revision-timeline>summary>strong{color:var(--muted);font-size:8px}.timeline-body{display:grid;grid-template-columns:210px 1fr;min-height:280px;border-top:1px solid var(--line)}.timeline-body>nav{padding:7px;border-right:1px solid var(--line);background:var(--surface-2)}.timeline-body>nav a{min-height:50px;display:grid;grid-template-columns:8px 1fr;gap:7px;padding:7px;border-radius:6px}.timeline-body>nav a.active{background:var(--surface)}.timeline-body>nav a>i{width:7px;height:7px;margin-top:4px;border:1px solid var(--line-2);border-radius:50%}.timeline-body>nav a.current>i,.timeline-body>nav a.active>i{border-color:var(--accent);background:var(--accent)}.timeline-body>nav b,.timeline-body>nav strong,.timeline-body>nav small{display:block}.timeline-body>nav b{font-size:10px}.timeline-body>nav strong,.timeline-body>nav small{font-size:8px}.timeline-body>nav small{color:var(--muted)}.timeline-preview{padding:12px;background:var(--surface-2)}.timeline-preview>header{display:flex;justify-content:space-between;margin-bottom:7px}.timeline-preview>header b,.timeline-preview>header small{display:block}.timeline-preview>header small{color:var(--muted);font-size:8px}.timeline-preview textarea{width:100%;min-height:210px;font-size:10px}.timeline-placeholder{display:grid;place-items:center;color:var(--muted);font-size:10px}.config-danger{display:flex;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--line);background:var(--red-soft)}.config-danger b,.config-danger small{display:block}.config-danger b{color:var(--red);font-size:10px}.config-danger small{color:var(--muted);font-size:8px}.config-danger button{border:0;background:transparent;color:var(--red);font-size:9px}
.task-filter-panel{margin-bottom:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.task-filter-panel>summary{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:9px 14px}.task-filter-panel>summary b{display:block;font-size:11px}.task-filter-panel>summary i{font-style:normal}.audit-query{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto;align-items:end;gap:7px;padding:12px 14px;border-top:1px solid var(--line);background:var(--surface-2)}.audit-query label{display:grid;gap:3px;color:var(--muted);font-size:9px;font-weight:700}.audit-query>a{min-height:42px;display:flex;align-items:center;color:var(--accent);font-size:9px}.audit-live{display:flex;align-items:center;gap:6px;margin-bottom:12px;padding:7px 10px;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:9px}.audit-live i{width:6px;height:6px;border-radius:50%;background:var(--green)}.task-timeline{position:relative}.task-timeline:before{content:"";position:absolute;left:15px;top:9px;bottom:9px;width:1px;background:var(--line-2)}.task-event{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;margin-bottom:9px}.timeline-marker{position:relative;z-index:2;display:flex;justify-content:center}.timeline-marker>i{width:11px;height:11px;margin-top:18px;border:3px solid var(--canvas);border-radius:50%;background:var(--muted);box-shadow:0 0 0 1px var(--line-2)}.timeline-marker>i.ok{background:var(--green)}.timeline-marker>i.warn{background:var(--amber)}.timeline-marker>i.bad{background:var(--red)}.task-event-card{border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.task-event.focused .task-event-card{outline:2px solid var(--accent);background:var(--accent-soft)}.task-event-card>header{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.event-action{display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 8px}.event-action>small,.event-action>form{grid-column:2}.event-action strong{font-size:12px}.event-action small,.task-event time small{color:var(--muted);font-size:8px}.event-action form button{border:0;background:transparent;color:var(--accent);padding:0;font-size:9px}.task-event time{text-align:right}.task-event time b{display:block;font-size:9px}.task-event-body{display:grid;grid-template-columns:minmax(360px,.9fr) 1fr;gap:14px;padding:12px 14px}.event-target{display:flex;align-items:center;gap:10px}.event-target>span b,.event-target>span small{display:block}.event-target>span b{font-size:8px}.event-target>span small{color:var(--muted);font-size:8px}.task-lifecycle{padding-left:10px;border-left:1px solid var(--line)}.event-result{min-width:0;color:var(--muted);font-size:9px}.event-result summary{color:var(--accent);font-weight:700}.task-result-block{margin-top:8px}.task-result-block>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;color:var(--ink-2)}.task-result-block>header button{border:0;background:transparent;color:var(--accent);font-size:8px;font-weight:700}.event-result pre{max-height:220px;overflow:auto;margin:0;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);font-size:9px;white-space:pre-wrap}.event-result pre.task-error{color:var(--red)}
.protocol-browser{border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.protocol-browser>header{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:9px 13px;border-bottom:1px solid var(--line)}.protocol-browser>header>div{display:flex;align-items:center;gap:9px}.protocol-browser>header b{display:block;font-size:11px}.protocol-browser>header small{color:var(--muted);font-size:9px}.protocol-browser>nav{display:flex;overflow:auto;padding:7px}.protocol-browser>nav a{min-width:160px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:8px;border-radius:7px}.protocol-browser>nav a:hover,.protocol-browser>nav a.active{background:var(--surface-2)}.protocol-browser>nav a.active{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.protocol-browser>nav a>b{height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;font-size:8px}.protocol-browser strong,.protocol-browser small{display:block}.protocol-browser strong{font-size:10px}.protocol-browser small{max-width:95px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.protocol-browser i{font-style:normal}.recipe-workspace{margin-top:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.recipe-toolbar{min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line)}.recipe-toolbar>div{display:flex;align-items:center;gap:10px}.recipe-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:800}.recipe-toolbar h2{font-size:16px}.recipe-toolbar small{color:var(--muted);font-size:8px}.recipe-toolbar>div:last-child>a{color:var(--accent);font-size:9px}.recipe-version{padding-right:10px;border-right:1px solid var(--line);text-align:right}.recipe-version b,.recipe-version small{display:block}.recipe-version b{font-size:16px}.builder-layout{display:grid;grid-template-columns:190px minmax(0,1fr)}.builder-index{padding:10px;border-right:1px solid var(--line);background:var(--surface-2)}.builder-index a{display:flex;gap:8px;padding:9px;border-radius:7px}.builder-index a:hover{background:var(--surface)}.builder-index b{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:9px}.builder-index strong,.builder-index small{display:block}.builder-index strong{font-size:10px}.builder-index small{color:var(--muted);font-size:8px}.builder-sections{min-width:0}.builder-section{scroll-margin-top:20px;padding:16px;border-bottom:1px solid var(--line)}.builder-section>header{display:flex;align-items:center;gap:9px;margin-bottom:12px}.section-number{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:var(--accent);color:#fff;font-size:9px;font-weight:800}.builder-section>header strong,.builder-section>header small{display:block}.builder-section>header strong{font-size:12px}.builder-section>header small{color:var(--muted);font-size:8px}.plan-fields{display:grid;gap:10px}.plan-fields.three{grid-template-columns:1.15fr 1fr .65fr}.plan-fields.two{grid-template-columns:1fr 1fr}.plan-fields.one{margin-top:10px}.plan-fields label{font-size:9px;font-weight:700}.plan-fields input,.plan-fields select{width:100%;display:block;margin-top:4px}.plan-fields label>small,.secret-input small{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:400}.secret-value-control{display:flex;margin-top:4px}.secret-value-control input{flex:1;margin-top:0;border-radius:7px 0 0 7px}.secret-value-control button{border:1px solid var(--line-2);border-left:0;border-radius:0 7px 7px 0;background:var(--surface-2);color:var(--accent);font-size:9px}.security-section{box-shadow:inset 3px 0 0 var(--green)}.validation-note{margin-top:9px;padding:8px;border-radius:6px;background:var(--green-soft);color:var(--green);font-size:8px}.tls-switch{display:flex;align-items:center;gap:8px;margin-bottom:9px;padding:8px;border:1px solid var(--line);border-radius:7px}.tls-switch input{height:auto}.tls-switch strong,.tls-switch small{display:block}.tls-switch small{color:var(--muted);font-size:8px}.builder-actions{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px)}.builder-actions b,.builder-actions small{display:block}.builder-actions b{font-size:10px}.builder-actions small{color:var(--muted);font-size:8px}.builder-actions>div:last-child{display:flex;gap:6px}.node-revision-timeline,.advanced-studio{margin-top:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.advanced-studio>summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px}.advanced-studio>summary b,.advanced-studio>summary small{display:block}.advanced-studio>summary b{font-size:11px}.advanced-studio>summary small,.advanced-studio>summary i{color:var(--muted);font-size:8px;font-style:normal}.advanced-studio-body{display:grid;grid-template-columns:200px minmax(400px,1fr) 220px;border-top:1px solid var(--line);background:var(--surface-2)}.field-rail,.official-rail{background:var(--surface)}.field-rail{border-right:1px solid var(--line)}.field-rail>header,.official-rail>header{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid var(--line);font-size:9px}.field-rail>a{display:grid;grid-template-columns:6px 1fr auto;gap:6px;padding:7px}.field-rail>a.active{background:var(--accent-soft)}.field-rail>a>i{width:5px;height:5px;border-radius:50%;background:var(--line-2)}.field-rail>a>i.present{background:var(--green)}.field-rail strong,.field-rail code{display:block}.field-rail strong{font-size:9px}.field-rail code,.field-rail small{color:var(--muted);font-size:8px}.field-canvas{min-width:0;padding:12px}.field-canvas>header{display:flex;justify-content:space-between}.field-canvas h2{display:inline-block;font-size:15px}.field-canvas header code,.field-canvas header a,.field-canvas>p{color:var(--muted);font-size:8px}.field-canvas>p{margin:8px 0}.field-canvas form textarea{width:100%;min-height:280px;margin-top:4px}.field-canvas form>footer,.source-studio form>footer{display:flex;justify-content:space-between;margin-top:7px}.field-canvas form>footer div,.source-studio form>footer div{display:flex;gap:5px}.source-studio{margin-top:8px;border-top:1px solid var(--line)}.source-studio>summary{padding:9px 0;font-size:9px}.source-studio form>textarea{min-height:400px}.official-rail{border-left:1px solid var(--line)}.official-rail>p,.official-rail summary{padding:8px;border-bottom:1px solid var(--line);font-size:8px}.official-rail a{color:var(--accent)}.official-rail details>div{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:5px}.official-rail details>div a{padding:5px;background:var(--surface-2);font-size:8px}
.client-access{margin-top:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.client-access>header{min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid var(--line)}.client-access>header h2{font-size:15px}.client-access>header small{display:block;color:var(--muted);font-size:9px}.client-host-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:10px;padding:14px 15px}.client-host-form>label{font-size:9px;font-weight:700}.client-host-form input{width:100%;display:block;margin-top:4px}.client-host-form label>small{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:400}.client-access-note{margin:0 15px 14px;padding:8px;border-radius:6px;background:var(--amber-soft);color:var(--amber);font-size:9px}.client-access>.alert{margin:0 15px 14px}.client-share{margin:0 15px 12px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:8px;background:var(--accent-soft)}.client-share>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.client-share>header b,.client-share>header small{display:block}.client-share>header b{font-size:10px}.client-share>header small{color:var(--muted);font-size:8px}.client-share-control input{min-width:0;width:100%;font-family:ui-monospace,monospace}.client-share-control button{border-radius:0}.client-share-control button:last-child{border-radius:0 7px 7px 0;padding:0 12px;background:var(--accent);color:#fff}.client-parameters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 15px 15px;border:1px solid var(--line);border-radius:8px;background:var(--line);overflow:hidden}.client-parameters>div{min-width:0;padding:9px;background:var(--surface)}.client-parameters>div>span:first-child{display:block;margin-bottom:4px;color:var(--muted);font-size:8px;font-weight:700}.client-parameters code{display:block;overflow:hidden;color:var(--ink-2);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.client-parameters .secret-value-control{margin-top:0}.client-parameters input{height:34px;font-size:9px}.client-access-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:110px;padding:20px;color:var(--muted);text-align:center}.client-access-empty b{color:var(--ink);font-size:11px}.client-access-empty span{margin-top:4px;font-size:9px}.stack-form{display:flex;flex-direction:column;gap:20px}.stack-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.theme-toggle{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.login-body{min-height:100vh;display:grid;place-items:center;padding:28px;background:#e9edf5}.login-theme-toggle{position:fixed;right:20px;top:20px}.login-shell{width:min(1050px,100%);min-height:620px;display:grid;grid-template-columns:1.12fr .88fr;border-radius:16px;background:var(--surface);box-shadow:0 35px 80px -40px rgba(20,24,38,.5);overflow:hidden}.login-story{display:flex;flex-direction:column;justify-content:space-between;padding:40px;background:#171922;color:#fff}.brand{display:flex;align-items:center;gap:9px}.brand strong,.brand small{display:block}.brand small{color:#aab0c0;font-size:9px}.login-message{margin:42px 0}.login-message h1{font-size:40px;line-height:1.18}.login-message h1 em{color:#a5a6ff;font-style:normal}.login-copy{margin-top:16px;color:#b8bdcb;line-height:1.75}.login-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.login-visual>span{padding:12px;border:1px solid #333642;border-radius:8px;background:#20222b}.login-visual i{width:7px;height:7px;display:block;margin-bottom:10px;border-radius:50%;background:#35c69d}.login-visual b,.login-visual small{display:block}.login-visual b{font-size:10px}.login-visual small{color:#9299aa;font-size:8px}.login-card{display:flex;flex-direction:column;justify-content:center;padding:44px}.login-card-head{display:flex;gap:12px;margin-bottom:28px}.login-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.login-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.login-card h2{font-size:24px}.login-card .button{width:100%}.login-foot{margin-top:22px;color:var(--muted);font-size:9px;text-align:center}
@media(max-width:1100px){.desktop-app{grid-template-columns:70px 230px minmax(0,1fr)}.context-heading{padding-left:16px;padding-right:16px}.dashboard-columns{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.machine-header{grid-template-columns:1fr auto 20px}.machine-facts{display:none}.machine-body{grid-template-columns:1fr}.machine-profile{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;border-right:0;border-bottom:1px solid var(--line)}.machine-telemetry{margin-top:0;padding-top:0;padding-left:14px;border-top:0;border-left:2px solid var(--accent)}.config-editor-grid{grid-template-columns:1fr}.config-inspector{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;border-left:0;border-top:1px solid var(--line)}.config-inspector>header,.inspector-rules{grid-column:1/-1}.config-inspector label{margin-top:0}.delivery-bar{grid-template-columns:1fr}.task-event-body{grid-template-columns:1fr}.advanced-studio-body{grid-template-columns:190px 1fr}.official-rail{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:820px) and (pointer:coarse){body{padding-bottom:76px}.desktop-app{height:auto;display:block;overflow:visible}.app-dock{position:fixed;z-index:90;left:10px;right:10px;bottom:10px;width:auto;height:62px;display:grid;grid-template-columns:repeat(6,1fr);padding:4px;border:1px solid #333642;border-radius:13px;box-shadow:0 16px 40px -14px rgba(0,0,0,.55)}.dock-logo{display:none}.dock-nav,.dock-tools{display:contents}.dock-tools form{display:contents}.dock-nav a,.dock-tools button{width:100%;min-height:52px;margin:0;border-radius:9px}.dock-nav a.active{background:#fff}.dock-label{position:static;min-width:0;padding:0;background:transparent;color:inherit;font-size:8px;opacity:1;transform:none}.dock-nav a,.dock-tools button{display:flex;flex-direction:column;gap:2px}.dock-nav svg,.dock-tools svg{width:18px;height:18px}.dock-nav b{right:7px;top:3px}.context-sidebar{border-right:0;border-bottom:1px solid var(--line);overflow:visible}.context-brand{min-height:62px;padding:10px 14px}.context-heading{padding:18px 14px 12px}.context-heading h1{font-size:22px}.context-heading>span{font-size:11px}.context-primary{margin:0 14px 12px}.context-section-label{padding:0 14px 7px}.context-menu,.context-list{display:flex;overflow:auto;padding:0 10px 12px}.context-menu a{min-width:max-content}.context-list>a{min-width:210px;background:var(--surface)}.context-metrics{grid-template-columns:repeat(3,1fr);margin:0 14px 14px}.context-metrics div{align-items:flex-start;flex-direction:column}.context-callout,.context-footer{display:none}.context-back{display:block;margin:14px 14px 0}.context-steps{display:flex;margin:10px 14px}.context-steps li{flex:1}.workspace-topbar{position:sticky;z-index:40;top:0;height:50px;padding:0 12px}.workspace-route span,.workspace-route i{display:none}.sync-state{display:none}.workspace-main{overflow:visible;padding:12px}.ops-stats{grid-template-columns:1fr 1fr}.dashboard-head{align-items:flex-start;flex-direction:column;gap:9px}.dashboard-columns{grid-template-columns:1fr}.machine-profile{display:block;padding:14px}.machine-telemetry{margin-top:15px;padding-top:12px;padding-left:0;border-top:2px solid var(--accent);border-left:0}.service-grid{grid-template-columns:1fr}.access-steps{grid-template-columns:1fr}.access-form{grid-template-columns:1fr}.config-inspector{display:block}.config-inspector label{margin-top:10px}.delivery-bar form{grid-template-columns:1fr}.audit-query{grid-template-columns:1fr 1fr}.task-event-card>header{gap:10px}.task-event-body{grid-template-columns:1fr}.builder-layout{grid-template-columns:1fr}.builder-index{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.builder-index a{min-width:145px}.plan-fields.three,.plan-fields.two{grid-template-columns:1fr}.builder-actions{align-items:stretch;flex-direction:column}.builder-actions>div:last-child{display:grid;grid-template-columns:1fr 1fr}.client-host-form{grid-template-columns:1fr}.client-parameters{grid-template-columns:1fr 1fr}.advanced-studio-body{grid-template-columns:1fr}.field-rail{border-right:0;border-bottom:1px solid var(--line)}.login-body{padding:0}.login-shell{min-height:100vh;grid-template-columns:1fr;border-radius:0}.login-story{min-height:360px;padding:26px}.login-message{margin:28px 0}.login-message h1{font-size:32px}.login-card{padding:34px 26px}}
@media(max-width:520px) and (pointer:coarse){.context-live{display:none}.ops-stats{grid-template-columns:1fr 1fr}.ops-stats>a{grid-template-columns:34px 1fr;padding:11px}.stat-icon{width:34px;height:34px}.fleet-overview-list>a{grid-template-columns:34px 1fr auto 10px}.fleet-overview-list time{display:none}.machine-header{grid-template-columns:1fr auto 18px;padding:9px}.machine-state small{display:none}.code-workspace>footer{align-items:flex-start;flex-direction:column}.audit-query{grid-template-columns:1fr}.task-event{grid-template-columns:22px 1fr}.task-timeline:before{left:10px}.timeline-marker>i{margin-top:18px}.event-action{grid-template-columns:1fr}.event-action>.status-label{grid-row:1}.event-action>strong,.event-action>small,.event-action>form{grid-column:1}.task-event-card>header{align-items:flex-start;flex-direction:column}.task-event time{text-align:left}.event-target{align-items:flex-start;flex-wrap:wrap}.recipe-toolbar{align-items:flex-start;flex-direction:column}.builder-actions>div:last-child{grid-template-columns:1fr}.client-access>header{align-items:flex-start;flex-direction:column;gap:8px}.client-share-control{flex-wrap:wrap}.client-share-control input{flex-basis:100%;border-radius:7px}.client-share-control button{min-height:36px;flex:1;border-top:0}.client-share-control button:first-of-type{border-left:1px solid var(--line-2);border-radius:7px 0 0 7px}.client-parameters{grid-template-columns:1fr}.timeline-body{grid-template-columns:1fr}.timeline-body>nav{border-right:0;border-bottom:1px solid var(--line)}.login-visual{grid-template-columns:1fr}.login-visual>span{padding:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
[hidden]{display:none!important}.context-live.inactive,.trust-badge.inactive,.sync-state.inactive{color:var(--muted)}.context-live.inactive i,.context-footer i.inactive,.trust-badge.inactive i,.sync-state.inactive i{background:var(--muted)}.trust-badge.warn{background:var(--amber-soft);color:var(--amber)}.trust-badge.warn i{background:var(--amber)}.engine-state.bad i{background:var(--red)}.engine-state.muted i{background:var(--muted)}
.dashboard-columns{align-items:start}.fleet-engines{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.fleet-engines em{padding:2px 5px;border-radius:4px;background:var(--surface-3);color:var(--muted);font-size:8px;font-style:normal;font-weight:700}.fleet-engines em.mihomo{color:var(--green)}.fleet-engines em.xray{color:var(--blue)}.fleet-engines em.sing-box{color:var(--accent)}.fleet-engines em.ss-rust{color:var(--amber)}.context-engine.ss-rust,.engine-badge.ss-rust{color:var(--amber)}
@media(max-width:820px) and (pointer:coarse){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-dock{bottom:calc(10px + env(safe-area-inset-bottom))}}
.service-config-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:6px}.service-config-actions form,.service-config-actions .button{width:100%}
.task-diagnostic{margin-bottom:8px;padding:8px;border-left:3px solid var(--red);border-radius:0 6px 6px 0;background:var(--red-soft);color:var(--red)}.task-diagnostic b,.task-diagnostic small{display:block}.task-diagnostic b{font-size:9px}.task-diagnostic small{margin-top:3px;color:var(--ink-2);font-size:8px;line-height:1.55}
.ops-stats>a:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));box-shadow:var(--shadow-hover);transform:translateY(-2px)}
@media(max-width:820px) and (pointer:coarse){button{min-width:44px;min-height:44px}.button,.button.small,.machine-telemetry button{min-height:44px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select{height:44px;min-height:44px}.context-sidebar a,.workspace-main a,.workspace-main summary{min-height:44px}.context-brand>a,.context-back,.workspace-actions>a,.field-canvas header a,.official-rail a,.event-result summary,.event-action form button,.task-result-block>header button,.machine-footer summary,.machine-footer form button,.access-history form button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.event-action form button,.task-result-block>header button,.machine-footer form button{padding:8px}.machine-footer summary{padding:0 8px}.field-canvas form>footer>label{min-height:44px;display:flex;align-items:center;gap:7px}}
.task-feedback{display:flex;align-items:center;gap:9px}.task-feedback>[data-task-feedback-dot]{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent)}.task-feedback>[data-task-feedback-link]{margin-left:auto;font-weight:750;white-space:nowrap}.task-feedback.pending,.task-feedback.running{border-color:color-mix(in srgb,var(--amber) 30%,var(--line));background:var(--amber-soft);color:var(--amber)}.task-feedback.running>[data-task-feedback-dot]{animation:task-feedback-pulse 1.2s ease-in-out infinite}.task-feedback.failed,.task-feedback.canceled{border-color:color-mix(in srgb,var(--red) 30%,var(--line));background:var(--red-soft);color:var(--red)}.task-feedback[data-poll-error="1"]{border-style:dashed}@keyframes task-feedback-pulse{50%{opacity:.4;transform:scale(.72)}}
.audit-live.syncing i{animation:task-feedback-pulse 1.2s ease-in-out infinite}.audit-live.poll-error{background:var(--amber-soft);color:var(--amber)}.audit-live.poll-error i{background:var(--amber)}.task-result-refresh{display:inline-flex;align-items:center;min-height:32px;color:var(--accent);font-weight:750}
@media(max-width:820px) and (pointer:coarse){.task-feedback{align-items:flex-start;flex-wrap:wrap}.task-feedback>[data-task-feedback-dot]{margin-top:6px}.task-feedback>[data-task-feedback-link]{width:100%;margin-left:17px;justify-content:flex-start}}
.node-config-source{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:14px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.node-config-source>div h2{margin-top:3px;font-size:17px}.node-config-source>div small{display:block;max-width:760px;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.65}.node-config-source.loaded{grid-template-columns:minmax(0,1fr) auto auto;border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:color-mix(in srgb,var(--green-soft) 48%,var(--surface))}.node-config-source form{margin:0}.node-config-source form .button{min-width:160px}
@media(max-width:820px) and (pointer:coarse){.node-config-source,.node-config-source.loaded{grid-template-columns:1fr;gap:10px;padding:14px}.node-config-source>span{justify-self:start}.node-config-source form,.node-config-source form .button{width:100%}}
.config-file-source form{display:flex;align-items:end;gap:8px}.config-file-source form label{display:grid;gap:5px;color:var(--muted);font-size:9px}.config-file-source form select{min-width:220px}.config-file-source.loaded{grid-template-columns:minmax(0,1fr) auto minmax(330px,auto)}
@media(max-width:820px) and (pointer:coarse){.config-file-source.loaded{grid-template-columns:1fr}.config-file-source form{display:grid;grid-template-columns:1fr}.config-file-source form label,.config-file-source form select{width:100%;min-width:0}}
.config-mutation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 20px 16px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.config-mutation>span b,.config-mutation>span small{display:block}.config-mutation>span b{margin-top:2px;font-size:12px}.config-mutation>span small{margin-top:3px;color:var(--muted);font-size:9px}.config-mutation>label,.field-mutation>label{display:grid;gap:4px;color:var(--muted);font-size:9px}.config-mutation select{min-width:210px}.field-mutation{display:flex;align-items:end;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}.field-mutation>small{padding-bottom:11px;color:var(--muted);font-size:9px;line-height:1.5}.field-mutation select{min-width:180px}
@media(max-width:820px) and (pointer:coarse){.config-mutation,.field-mutation{display:grid;grid-template-columns:1fr;margin-left:0;margin-right:0}.config-mutation select,.field-mutation select{width:100%;min-width:0}.field-mutation>small{padding-bottom:0}}
.inbound-browser{margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.inbound-browser>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.inbound-browser>header span b{display:block;margin-top:2px;font-size:12px}.inbound-browser>nav{display:flex;gap:8px;padding:10px;overflow:auto}.inbound-browser>nav>a{min-width:190px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.inbound-browser>nav>a.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--ink)}.inbound-browser>nav strong,.inbound-browser>nav small{display:block}.inbound-browser>nav strong{font-size:10px}.inbound-browser>nav small{margin-top:2px;font:8px ui-monospace;color:var(--muted)}.inbound-browser>nav i{color:var(--accent);font-style:normal}
@media(max-width:820px) and (pointer:coarse){.inbound-browser>header{align-items:flex-start}.inbound-browser>nav>a{min-width:82%}}
.live-config-workspace{border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.live-config-editor{display:grid;grid-template-columns:minmax(0,1fr) 260px}.live-config-editor .code-workspace>textarea{min-height:620px}.live-config-editor .code-workspace>footer>div{display:flex;gap:8px}.live-config-inspector{padding:16px;border-left:1px solid var(--line);background:var(--surface-2)}.live-config-inspector h3{margin-top:2px;font-size:15px}.live-config-inspector dl{margin:16px 0 0}.live-config-inspector dl>div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.live-config-inspector dt{color:var(--muted);font-size:9px}.live-config-inspector dd{margin:0;overflow-wrap:anywhere;font-size:10px;font-weight:700}.live-config-note{margin-top:16px;padding:10px;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink-2);font-size:9px;line-height:1.65}.live-config-empty .button{margin-top:16px}
@media(max-width:1100px){.live-config-editor{grid-template-columns:1fr}.live-config-inspector{border-top:1px solid var(--line);border-left:0}}
@media(max-width:820px) and (pointer:coarse){.live-config-editor .code-workspace>textarea{min-height:500px}.live-config-editor .code-workspace>footer{gap:10px}.live-config-editor .code-workspace>footer>div{width:100%;display:grid;grid-template-columns:1fr 1fr}.live-config-inspector{padding:14px}}
.code-workspace>.code-editor-toolbar{height:auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}.code-file-meta,.code-editor-meta{display:flex;align-items:center;min-width:0}.code-file-meta{gap:9px}.code-file-meta b{display:block;overflow:hidden;font:600 11px ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.code-file-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--accent)}.code-file-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.code-editor-meta{justify-content:flex-end;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:8px}.code-editor-meta>span{white-space:nowrap}.code-language{padding:3px 6px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);color:var(--ink-2);font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace}.code-editor-frame{display:grid;grid-template-columns:50px minmax(0,1fr);min-height:500px;background:var(--surface)}.code-gutter{overflow:hidden;padding:14px 12px 14px 0;border-right:1px solid var(--line);background:var(--surface-2);color:var(--muted);font:10px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right;user-select:none;white-space:pre}.code-editor-input{width:100%;min-height:500px;display:block;resize:vertical;border:0;border-radius:0;padding:14px;background:var(--surface);color:var(--ink);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}.code-editor-input:focus{box-shadow:none}.code-workspace>footer{gap:12px}.code-workspace>footer>span{display:flex;align-items:center;gap:7px;min-width:0;color:var(--muted);font-size:9px}.code-status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--green)}.live-config-editor .code-editor-frame,.live-config-editor .code-editor-input{min-height:620px}
@media(max-width:820px) and (pointer:coarse){.code-workspace>.code-editor-toolbar{align-items:flex-start;min-height:54px;padding:9px 10px}.code-editor-meta{gap:5px}.code-editor-meta>[data-code-status]{display:none}.code-editor-frame{grid-template-columns:40px minmax(0,1fr)}.code-gutter{padding-right:8px}.code-editor-input,.live-config-editor .code-editor-input,.live-config-editor .code-editor-frame{min-height:500px}.code-workspace>footer>span{align-items:flex-start}.code-workspace>footer>div{width:100%}}
.code-editor-input{overflow:auto;white-space:pre}.code-gutter{line-height:18.15px}.editor-toolbar-state b{white-space:nowrap}
.code-editor-meta [data-code-position]{font:8px ui-monospace,SFMono-Regular,Consolas,monospace}.code-workspace>footer>div{display:flex;gap:8px}.code-editor-input.is-invalid{box-shadow:inset 3px 0 0 var(--red)}[data-code-editor][data-code-valid="0"] [data-code-status],[data-code-editor][data-code-valid="0"] [data-code-bytes]{color:var(--red);font-weight:700}
@media(max-width:820px) and (pointer:coarse){.code-workspace>footer>div,.live-config-editor .code-workspace>footer>div{display:grid;grid-template-columns:1fr 1fr}.live-config-editor .code-reset{grid-column:1/-1}}
@media(max-width:520px) and (pointer:coarse){.live-config-workspace>.editor-toolbar,.config-workspace>.editor-toolbar{align-items:flex-start;flex-direction:column;gap:9px}.editor-toolbar-state{width:100%;justify-content:flex-start}}
.workspace-shell,.workspace-main{min-height:0}

/* Cross-page layout rhythm and responsive reading order. */
.dashboard-head,.ops-stats,.dashboard-columns{width:100%;max-width:1240px;margin-left:auto;margin-right:auto}.dashboard-columns{grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr)}
.enrollment-sheet,.machine-stack{width:100%;max-width:1280px;margin-left:auto;margin-right:auto}.service-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.machine-facts dt,.service-version small,.service-facts dt,.service-endpoint small,.runtime-drawer>summary small{font-size:9px}.machine-facts dd,.service-facts dd{font-size:11px}.identity-list dt,.identity-list dd,.telemetry-lines>div>span,.telemetry-lines>div>strong{font-size:10px}.machine-telemetry>small,.network-line small{font-size:9px}.engine-state b,.service-endpoint b,.runtime-drawer>summary b,.machine-footer b{font-size:10px}.service-version strong{font-size:12px}.deployment-drift,.service-endpoint code,.machine-footer small{font-size:9px}
.config-workspace,.live-config-workspace{width:100%;max-width:1240px;margin-left:auto;margin-right:auto}.live-config-editor{grid-template-columns:minmax(0,1fr) minmax(290px,320px)}.live-config-inspector dt{font-size:10px}.live-config-inspector dd{font-size:11px;line-height:1.55}.live-config-note{font-size:10px}
.task-workspace{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}.task-event-body{grid-template-columns:minmax(0,1fr) auto;align-items:center}.event-result{justify-self:end}.event-action strong{font-size:13px}.event-action small,.task-event time small,.event-target>span b,.event-target>span small{font-size:9px}.task-event time b,.audit-live,.event-result{font-size:10px}
.workspace-panel>header>a{font-size:11px}.fleet-overview-list strong,.recent-tasks strong{font-size:12px}.fleet-overview-list small,.fleet-overview-list time,.recent-tasks small,.recent-tasks time{font-size:10px}
@media(max-width:1100px){.dashboard-columns{grid-template-columns:1fr}.live-config-editor{grid-template-columns:1fr}.task-event-body{grid-template-columns:1fr}.event-result{justify-self:start}}
@media(max-width:820px) and (pointer:coarse){.dashboard-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.dashboard-head>.trust-badge{margin-top:22px}.machine-body{display:flex;flex-direction:column}.service-canvas{order:1;padding:14px}.machine-profile{order:2;border-top:1px solid var(--line);border-bottom:0}.machine-footer{order:3}.service-grid{grid-template-columns:1fr}.live-config-inspector dl{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.live-config-inspector dl>div{display:block}.live-config-inspector dl>div:nth-child(3){grid-column:1/-1}.live-config-inspector dt{margin-bottom:3px}.task-event-body{gap:10px}.event-result{justify-self:start}}
@media(max-width:520px) and (pointer:coarse){.dashboard-head{grid-template-columns:minmax(0,1fr) auto}.dashboard-head h2{font-size:21px}.dashboard-head>div>p:last-child{max-width:250px}.dashboard-head>.trust-badge{margin-top:21px;padding:6px 8px}}

/* Corporate Trust v30: full-workflow refinements guided by visual audits. */
.desktop-app{grid-template-columns:88px 250px minmax(0,1fr);background:var(--canvas)}
.app-dock{margin:12px;padding:12px 5px;border:1px solid color-mix(in srgb,var(--line) 20%,transparent);border-radius:20px;box-shadow:0 26px 64px -34px rgba(7,9,18,.92)}
.dock-logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#fff,#e8e9f3);box-shadow:0 10px 24px -16px rgba(0,0,0,.65)}
.dock-nav{margin-top:24px;gap:8px}.dock-nav a,.dock-tools button{width:48px;min-height:48px;border-radius:13px}.dock-nav a.active{background:linear-gradient(145deg,#fff,#efefff);box-shadow:0 8px 24px -16px rgba(87,85,231,.9)}
.context-sidebar{margin:12px 0;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,var(--canvas));box-shadow:var(--shadow);scrollbar-width:thin}
.context-brand{min-height:68px;padding:12px 16px;border-bottom-color:var(--line)}.brand-mark{border-radius:11px;background:linear-gradient(145deg,var(--accent),#7067f1);box-shadow:0 10px 22px -14px rgba(87,85,231,.9)}
.context-heading{padding:24px 18px 16px}.context-heading h1{margin-top:6px;font-size:28px;letter-spacing:-.035em}.context-heading>span{max-width:210px;font-size:11px;line-height:1.65}
.context-primary{margin:0 14px 18px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#6c56dc);box-shadow:0 12px 24px -16px rgba(87,85,231,.92)}
.context-menu{gap:5px;padding:0 10px}.context-menu a{border-radius:11px}.context-menu a:hover,.context-menu a.active,.context-list>a:hover,.context-list>a.active{box-shadow:none}.context-menu a.active,.context-list>a.active{background:var(--accent-soft);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.context-list{gap:5px;padding:0 10px}.context-list>a{border:1px solid transparent;border-radius:12px}.context-list>a:hover{border-color:var(--line);background:var(--surface)}.context-list>a.active small{color:var(--ink-2)}
.context-metrics{gap:0;margin:20px 14px 0;border:0;border-radius:13px;background:var(--surface-3)}.context-metrics div{padding:11px 12px;border-bottom:1px solid var(--line)}.context-metrics div:last-child{border-bottom:0}
.workspace-shell{position:relative;background:radial-gradient(circle at 72% -20%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 40%),var(--canvas)}
.workspace-topbar{height:58px;margin:12px 20px 0;padding:0 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.workspace-main{padding:24px 28px 32px}.workspace-route{font-weight:600}.workspace-route b{letter-spacing:-.01em}
.button,input,select,textarea{border-radius:var(--radius-control)}.button{border-color:var(--line-2)}.button.primary{border-color:transparent;background:linear-gradient(135deg,var(--accent),#6d56df);box-shadow:0 12px 24px -16px rgba(87,85,231,.92)}.button.primary:hover{background:linear-gradient(135deg,var(--accent-2),#5b45c7);box-shadow:0 16px 28px -18px rgba(87,85,231,.95)}
.dashboard-head h2{font-size:27px;letter-spacing:-.035em}.dashboard-head>div>p:last-child{font-size:12px}.trust-badge{padding:7px 11px;border:1px solid color-mix(in srgb,var(--green) 18%,transparent);box-shadow:0 8px 24px -20px color-mix(in srgb,var(--green) 70%,transparent)}
.ops-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.ops-stats>a{grid-column:span 1;min-height:118px;display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;gap:14px;padding:17px;border-color:transparent;border-radius:var(--radius-card);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.ops-stats>a:first-child{grid-column:span 3;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;min-height:150px;padding:24px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent-soft) 58%,var(--surface)))}.ops-stats>a:nth-child(n+2){background:color-mix(in srgb,var(--surface) 95%,var(--canvas))}.ops-stats>a:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.ops-stats>a:first-child .stat-icon{width:52px;height:52px;border-radius:16px}.ops-stats>a:first-child strong{font-size:36px}.ops-stats>a:first-child p{font-size:10px}.ops-stats strong{font-size:27px;letter-spacing:-.04em}.stat-icon{border-radius:12px}
.dashboard-columns{gap:14px;margin-top:14px}.workspace-panel{border-color:transparent;border-radius:var(--radius-card);box-shadow:var(--shadow)}.workspace-panel>header{padding:15px 18px;border-bottom-color:var(--line)}.workspace-panel h3{font-size:18px;letter-spacing:-.025em}.fleet-overview-list>a,.recent-tasks>div>a{margin:0 8px;border-bottom-color:var(--line);border-radius:10px}.fleet-overview-list>a:hover,.recent-tasks>div>a:hover{background:var(--accent-soft)}.node-avatar,.machine-avatar{border-radius:12px;background:linear-gradient(145deg,var(--accent-soft),color-mix(in srgb,var(--accent) 14%,var(--surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 9%,transparent)}
.enrollment-sheet,.machine-workspace,.config-workspace,.live-config-workspace,.task-filter-panel,.task-event-card,.protocol-browser,.recipe-workspace,.client-access,.node-revision-timeline,.advanced-studio,.inbound-browser{border-color:transparent;border-radius:var(--radius-card);box-shadow:var(--shadow)}
.machine-stack{gap:16px}.machine-header{min-height:74px;padding:12px 17px}.machine-body{background:color-mix(in srgb,var(--surface-2) 88%,var(--canvas))}.machine-profile{padding:18px}.service-canvas{padding:18px}.service-card{border-color:var(--line);border-radius:13px;box-shadow:0 10px 24px -24px rgba(79,70,229,.55)}.service-card:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:var(--shadow-lift)}
.service-version strong{min-height:34px;display:-webkit-box;overflow:hidden;line-height:1.5;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.task-event{margin-bottom:12px}.task-event-card{border:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.task-event.focused .task-event-card{outline:0;border-color:var(--accent);background:linear-gradient(135deg,var(--accent-soft),var(--surface));box-shadow:0 18px 42px -28px rgba(87,85,231,.65)}.task-event-card>header{padding:14px 16px}.task-event-body{padding:14px 16px}.task-timeline:before{background:linear-gradient(var(--accent),var(--line-2) 20%,var(--line-2) 80%,transparent)}
.editor-toolbar{min-height:78px;padding:15px 18px}.editor-toolbar h2{font-size:21px;letter-spacing:-.025em}.code-workspace>.code-editor-toolbar{min-height:62px;padding:11px 16px}.code-editor-frame{background:var(--code-canvas)}.code-gutter{border-right-color:var(--code-line);background:var(--code-gutter);color:var(--code-muted)}.code-editor-input{background:var(--code-canvas);color:var(--code-ink);caret-color:var(--code-caret)}.code-editor-input::selection{background:var(--code-selection);color:var(--code-ink)}.code-editor-input:focus{background:var(--code-canvas)}.code-language{border-color:#dfe3ef;border-radius:7px}.live-config-inspector,.config-inspector{background:linear-gradient(180deg,var(--surface-2),var(--surface))}
.recipe-toolbar{min-height:78px;padding:14px 17px}.recipe-icon,.section-number{border-radius:11px}.builder-index{background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface-2))}.builder-index a{border-radius:10px}.builder-section{padding:20px}.client-share{border-color:color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:12px;background:linear-gradient(135deg,var(--accent-soft),var(--surface))}
.advanced-studio>summary{min-height:70px;padding:13px 16px;cursor:pointer}.advanced-studio>summary b{font-size:13px}.advanced-studio>summary small,.advanced-studio>summary i{font-size:10px}.advanced-studio-body{grid-template-columns:220px minmax(0,1fr) 210px}.field-rail>header,.official-rail>header{padding:12px 13px;font-size:10px}.field-rail>a{gap:8px;padding:9px 11px;border-left:3px solid transparent}.field-rail>a:hover{background:var(--surface-2)}.field-rail>a.active{border-left-color:var(--accent);background:var(--accent-soft)}.field-rail strong{font-size:10px}.field-rail code,.field-rail small{font-size:9px}.field-canvas{padding:18px}.field-canvas h2{font-size:20px;letter-spacing:-.025em}.field-canvas header code,.field-canvas header a,.field-canvas>p{font-size:10px}.field-canvas>p{margin:10px 0 14px;line-height:1.65}.field-canvas form textarea{min-height:250px;line-height:1.6}.field-canvas form>footer,.source-studio form>footer{align-items:center;margin-top:10px}.field-canvas form>footer>span,.source-studio form>footer>span{color:var(--muted);font-size:10px}.source-studio{margin-top:14px}.source-studio>summary{padding:12px 0;font-size:11px;font-weight:700}.source-studio form>textarea{min-height:420px;background:var(--code-canvas);color:var(--code-ink);caret-color:var(--code-caret)}.source-studio form>textarea::selection{background:var(--code-selection);color:var(--code-ink)}.official-rail>p,.official-rail summary{padding:10px 12px;font-size:10px}.official-rail details>div{gap:5px;padding:7px}.official-rail details>div a{padding:7px;border-radius:6px;font-size:9px}
.enrollment-security-note{display:flex;align-items:flex-start;gap:9px;margin-top:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:10px;background:var(--accent-soft);color:var(--ink-2);font-size:9px}.enrollment-security-note b{flex:0 0 auto;color:var(--accent)}
.task-event-card:has(.event-result details[open]) .task-event-body{grid-template-columns:1fr}.task-event-card:has(.event-result details[open]) .event-result{width:100%;justify-self:stretch}.event-result details[open]{width:100%}.event-result details[open]>summary{margin-bottom:8px}.task-result-block{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.task-result-block>header{min-height:42px;margin:0;padding:0 11px;border-bottom:1px solid var(--line);background:var(--surface-2)}.event-result .task-result-block pre{max-height:360px;padding:13px;border:0;border-radius:0;background:#111827;color:#e6ebf5;font-size:10px;line-height:1.65}.event-result .task-result-block pre.task-error{background:color-mix(in srgb,#111827 88%,var(--red));color:#ffd8de}
@media(max-width:1100px){.desktop-app{grid-template-columns:82px 226px minmax(0,1fr)}.ops-stats{grid-template-columns:repeat(3,1fr)}.ops-stats>a:first-child{grid-column:1/-1}.ops-stats>a:nth-child(n+2){grid-column:span 1}}
@media(max-width:820px) and (pointer:coarse){.desktop-app{height:auto;display:block;background:var(--canvas);overflow:visible}.app-dock{margin:0}.context-sidebar{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:var(--surface-2)}.context-brand{min-height:60px}.context-heading{padding:18px 14px 13px}.context-heading h1{font-size:25px}.context-heading>span{max-width:none}.workspace-topbar{top:0;height:52px;margin:0;padding:0 12px;border-width:0 0 1px;border-radius:0;box-shadow:none}.workspace-main{padding:14px 12px 24px}.ops-stats{grid-template-columns:1fr 1fr;gap:10px}.ops-stats>a:first-child{grid-column:1/-1;min-height:126px;padding:18px}.ops-stats>a:nth-child(n+2){grid-column:span 1;min-height:112px;padding:14px}.dashboard-head h2{font-size:24px}.workspace-panel,.enrollment-sheet,.machine-workspace,.config-workspace,.live-config-workspace,.task-filter-panel,.task-event-card,.protocol-browser,.recipe-workspace,.client-access,.node-revision-timeline,.advanced-studio,.inbound-browser{border-radius:14px}.code-editor-frame,.code-editor-input{min-height:520px}}
@media(max-width:520px) and (pointer:coarse){.ops-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ops-stats>a:first-child{grid-template-columns:46px minmax(0,1fr)}.ops-stats>a:first-child .stat-icon{width:46px;height:46px}.ops-stats>a:first-child strong{font-size:32px}.ops-stats>a:nth-child(n+2){grid-column:span 1;min-height:108px;padding:12px 10px}.ops-stats>a:nth-child(n+2) .stat-icon{width:38px;height:38px}.ops-stats>a:nth-child(n+2) strong{font-size:25px}.ops-stats>a:nth-child(n+2) p{display:none}.service-card{border-radius:12px}.builder-section{padding:16px 14px}}
@media(max-width:820px) and (pointer:coarse){
  .context-brand,.context-heading,.context-footer{display:none}
  .page-dashboard .context-sidebar{display:none}
  .context-sidebar{padding:10px 12px;overflow:visible}
  .context-primary{min-height:44px;margin:0 0 8px;padding:0 14px}
  .context-section-label{min-height:24px;padding:0 2px 5px}
  .context-list{display:flex;gap:8px;padding:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity}
  .context-list::-webkit-scrollbar{display:none}
  .context-list>a{min-width:210px;min-height:50px;flex:0 0 auto;padding:7px 10px;scroll-snap-align:start}
  .config-context-list>a,.engine-context-list>a{min-width:168px}
  .context-section-label:not(:first-of-type){margin-top:8px}
  .task-context-menu{display:flex;gap:7px;padding:0;overflow-x:auto;scrollbar-width:none}
  .task-context-menu::-webkit-scrollbar{display:none}
  .task-context-menu a{min-width:max-content;min-height:42px;flex:0 0 auto;padding:0 14px}
  .context-callout,.context-steps,.context-back{display:none}
  .page-agents .context-primary{display:none}
  .page-tasks .context-sidebar{padding-block:8px}
  .page-agent-config .context-sidebar{padding-top:10px}
  .workspace-route span,.workspace-route i{display:none}
  .workspace-topbar{position:sticky;z-index:50}
  .sync-state span{display:none}
  .advanced-studio-body{display:block}
  .field-rail{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity}
  .field-rail::-webkit-scrollbar{display:none}
  .field-rail>header{min-width:112px;flex:0 0 112px;align-items:flex-start;flex-direction:column;justify-content:center}
  .field-rail>a{min-width:168px;min-height:66px;flex:0 0 168px;align-items:center;border-left:0;border-bottom:3px solid transparent;scroll-snap-align:start}
  .field-rail>a.active{border-bottom-color:var(--accent)}
  .field-canvas{padding:16px 14px}
  .field-canvas>header{gap:10px;align-items:flex-start;flex-direction:column}
  .field-canvas form>footer,.source-studio form>footer{align-items:stretch;flex-direction:column;gap:10px}
  .field-canvas form>footer div,.source-studio form>footer div{display:grid;grid-template-columns:1fr 1fr}
  .official-rail{border-left:0;border-top:1px solid var(--line)}
  .builder-actions{bottom:calc(76px + env(safe-area-inset-bottom));z-index:80;padding:9px 10px;border:1px solid var(--line);border-radius:12px 12px 0 0;box-shadow:0 -14px 34px -28px rgba(15,18,38,.7)}
  .builder-actions>div:first-child{display:none}
  .builder-actions>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
  .builder-actions .button{min-width:0;padding:8px 6px;white-space:normal}
  .login-shell{background:#171922}
  .login-card{position:relative;margin-top:-18px;padding-top:40px;border-radius:24px 24px 0 0;background:var(--surface)}
  .timeline-body>nav{display:grid;gap:8px;padding:12px;border-right:0;border-bottom:1px solid var(--line);background:var(--surface-2)}
  .timeline-body>nav a{min-height:70px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
  .timeline-body>nav a.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
  .timeline-preview{padding:14px}
}
@media(max-width:520px) and (pointer:coarse){.ops-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ops-stats>a:nth-child(n+2){grid-column:span 1;min-height:108px;padding:12px 10px}}

/* Control settings v31: server-persisted operational defaults. */
.settings-workspace{width:100%;max-width:1080px;margin:0 auto}.settings-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px;padding:4px 2px}.settings-hero h2{margin:4px 0;font-size:28px;letter-spacing:-.035em}.settings-hero>div>p:last-child{color:var(--muted);font-size:12px}.settings-persistence{min-width:190px;display:grid;grid-template-columns:8px 1fr;align-items:center;gap:2px 8px;padding:10px 13px;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-radius:12px;background:var(--green-soft);color:var(--green)}.settings-persistence i{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:var(--green)}.settings-persistence b,.settings-persistence small{display:block}.settings-persistence b{font-size:11px}.settings-persistence small{font-size:9px}.settings-form{display:grid;gap:14px}.settings-section{scroll-margin-top:76px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.settings-section>header{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:13px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent-soft) 38%,var(--surface)))}.settings-section-number{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:800}.settings-section h3{font-size:17px;letter-spacing:-.02em}.settings-section header p{margin-top:3px;color:var(--muted);font-size:10px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}.settings-grid.one-column{grid-template-columns:minmax(260px,520px)}.settings-field{display:grid;gap:6px;align-content:start}.settings-field>span{font-size:11px;font-weight:750}.settings-field input,.settings-field select{width:100%}.settings-field small{color:var(--muted);font-size:9px;line-height:1.55}.settings-hint{margin:0;color:var(--muted);font-size:9px;line-height:1.7}.settings-hint code{color:var(--ink-2)}.audit-list{display:grid;gap:6px;margin:0;padding:20px;list-style:none}.audit-list li{display:grid;grid-template-columns:118px 86px minmax(0,1fr) minmax(0,1.4fr) 110px;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.audit-list time{color:var(--muted);font-size:9px}.audit-list .audit-action{font-size:10px;font-weight:750}.audit-list code{overflow:hidden;color:var(--ink-2);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.audit-list small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.audit-list em{overflow:hidden;color:var(--muted);font-size:8px;font-style:normal;text-align:right;text-overflow:ellipsis;white-space:nowrap}.settings-savebar{position:sticky;z-index:20;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 -14px 36px -30px rgba(15,18,38,.75);backdrop-filter:blur(14px)}.settings-savebar b,.settings-savebar small{display:block}.settings-savebar b{font-size:11px}.settings-savebar small{margin-top:2px;color:var(--muted);font-size:9px}.settings-savebar>div:last-child{display:flex;gap:8px}.settings-saved-state{padding:5px 9px;border-radius:12px;background:var(--green-soft);color:var(--green);font-size:9px;font-weight:700}.settings-callout>span small{display:inline;font-size:10px}
/* Mobile settings v32: keep actions in document flow so every field remains reachable. */
@media(max-width:820px) and (pointer:coarse){.app-dock{grid-template-columns:repeat(7,1fr)}.page-settings .context-sidebar{padding-block:8px}.settings-hero{align-items:flex-start;flex-direction:column;gap:12px}.settings-persistence{min-width:0}.settings-grid{grid-template-columns:1fr;padding:16px}.settings-grid.one-column{grid-template-columns:1fr}.settings-section>header{padding:16px}.settings-savebar{position:static;bottom:auto;align-items:stretch;flex-direction:column}.settings-savebar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.settings-savebar .button{min-width:0}.page-settings .workspace-main{padding-bottom:20px}}
@media(max-width:420px) and (pointer:coarse){.app-dock{left:6px;right:6px}.dock-nav a,.dock-tools button{gap:1px}.dock-nav svg,.dock-tools svg{width:17px;height:17px}.settings-savebar>div:last-child{grid-template-columns:1fr}}

/* Mobile task batching v33: preserve the full audit while keeping long histories navigable. */
.task-load-more{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.task-load-more span{color:var(--muted);font-size:10px}.task-load-more b{color:var(--ink)}
@media(max-width:820px) and (pointer:coarse){.task-load-more{margin-bottom:10px;flex-direction:column}.task-load-more .button{width:100%}}

/* Node workspace v50: balanced service grid with a dedicated version drawer and non-stretching cards. */
.batch-toolbar{display:flex;align-items:center;gap:10px;margin:0 18px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.batch-toolbar-title{font-size:10px;font-weight:800}.batch-toolbar label{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700}.batch-toolbar select{min-height:30px;padding:3px 6px;font-size:9px}.batch-toolbar small{color:var(--muted);font-size:9px}.batch-select{min-width:18px;min-height:18px;display:inline-grid;place-items:center;margin-right:2px}.batch-select input{width:15px;height:15px;margin:0;accent-color:var(--accent);cursor:pointer}.page-agents .machine-body{display:grid;grid-template-columns:minmax(0,1fr);background:color-mix(in srgb,var(--surface-2) 88%,var(--canvas))}.page-agents .service-canvas{order:1;padding:14px 16px}.page-agents .service-canvas-head{align-items:flex-end;margin-bottom:11px}.page-agents .service-canvas-head h2{font-size:21px;letter-spacing:-.025em}.page-agents .service-canvas-head p:last-child{font-size:10px}.page-agents .service-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:10px}.page-agents .service-card{align-self:start;border-color:var(--line);border-radius:12px;box-shadow:none}.page-agents .service-card:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:none}.page-agents .service-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 12px;padding:11px 13px}.service-overview{min-width:0;grid-column:1;grid-row:1}.service-overview>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.service-overview .service-version{margin-top:6px}.service-version-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.service-version-toggle{min-height:25px;display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:6px;background:var(--accent-soft);padding:3px 8px;color:var(--accent);font-size:8px;font-weight:750;cursor:pointer}.service-version-toggle:hover{text-decoration:underline}.service-overview .service-version strong{min-height:0;display:block;margin-top:2px;overflow:hidden;color:var(--ink-2);font-size:10px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.service-deployment{min-width:0;grid-column:1;grid-row:2}.service-deployment .service-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}.service-deployment .service-facts div{min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}.service-deployment .service-facts dt{font-size:8px}.service-deployment .service-facts dd{margin-top:1px;font-size:10px}.service-deployment .deployment-drift{width:max-content;max-width:100%;gap:10px;margin:6px 0 0;padding:3px 6px}.service-deployment .service-endpoint{min-height:0;justify-content:flex-start;gap:7px;margin:6px 0 0;padding:0;border:0;background:transparent}.service-deployment .service-endpoint span{display:flex;align-items:center;gap:6px}.service-deployment .service-endpoint b,.service-deployment .service-endpoint small,.service-deployment .service-endpoint code{font-size:8px}.service-deployment .service-endpoint code{max-width:45%}.service-deployment .service-endpoint.empty{background:transparent}.service-primary-action{grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:center;gap:7px}.service-primary-action form{margin:0}.service-primary-action .button{min-height:34px;padding:6px 10px;font-size:10px}.page-agents .runtime-drawer>summary{min-height:36px;align-items:center;padding:6px 14px;background:color-mix(in srgb,var(--surface-2) 76%,var(--surface))}.page-agents .runtime-drawer>summary span{display:flex;align-items:center;gap:8px}.page-agents .runtime-drawer>summary b,.page-agents .runtime-drawer>summary small{display:inline}.page-agents .runtime-drawer[open]>summary i{transform:rotate(45deg)}.page-agents .version-drawer>summary{background:color-mix(in srgb,var(--accent-soft) 48%,var(--surface));color:var(--accent)}.page-agents .runtime-drawer-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:12px 14px}.page-agents .service-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.page-agents .core-version-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;padding:10px}.page-agents .version-drawer .core-version-form{grid-template-columns:1fr}.page-agents .core-version-form>small{grid-column:1/-1}.release-channel-fieldset{min-width:0;display:grid;gap:6px;margin:0;padding:0;border:0}.release-channel-fieldset legend{padding:0;color:var(--muted);font-size:9px}.release-channel-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.release-channel-options label{min-width:0;display:flex;align-items:center;gap:5px;min-height:32px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink-2);font-size:9px;font-weight:650;cursor:pointer}.release-channel-options label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.release-channel-options input{width:13px;height:13px;margin:0;accent-color:var(--accent)}.release-channel-options span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-version-field.is-disabled{opacity:.58}.node-inspector{order:2;margin:0 18px 16px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.node-inspector-summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;cursor:pointer;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent-soft) 20%,var(--surface)))}.node-inspector-summary:hover{background:var(--surface-2)}.node-inspector-summary b,.node-inspector-summary small{display:block}.node-inspector-summary b{font-size:12px}.node-inspector-summary small{margin-top:2px;color:var(--muted);font-size:9px}.node-inspector-summary>i{color:var(--accent);font-size:9px;font-style:normal;font-weight:750}.node-inspector[open] .node-inspector-summary>i{font-size:0}.node-inspector[open] .node-inspector-summary>i:after{content:"收起";font-size:9px}.node-inspector-body{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:18px;padding:16px;border-top:1px solid var(--line);background:var(--surface-2)}.node-identity-panel{min-width:0}.node-identity-panel h2{margin-top:2px;font-size:16px}.node-inspector .machine-telemetry{min-width:0;margin:0;padding:0 0 0 18px;border-top:0;border-left:2px solid var(--accent)}.node-inspector .telemetry-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.node-inspector .telemetry-lines .network-line{grid-column:1/-1}.metric-trend-panel{grid-column:1/-1;min-width:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.metric-trend-empty{grid-column:1/-1;min-width:0;display:grid;place-items:center;align-content:center;gap:6px;padding:34px 20px;text-align:center}.metric-trend-empty>span{color:var(--muted);font-size:26px}.metric-trend-empty b{font-size:11px}.metric-trend-empty small{max-width:300px;color:var(--muted);font-size:9px;line-height:1.6}.metric-trend-panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.metric-trend-panel>header b{font-size:11px}.metric-trend-panel>header small{color:var(--muted);font-size:8px}.metric-trend-chart{width:100%;height:64px;display:block}.trend-line{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.trend-line.trend-rx{stroke:var(--accent)}.trend-line.trend-tx{stroke:var(--amber)}.metric-trend-legend{display:flex;gap:14px;margin:6px 0 0;padding:0}.metric-trend-legend div{display:flex;align-items:center;gap:5px;font-size:9px}.metric-trend-legend span{color:var(--muted)}.metric-trend-legend b{font-size:9px}.trend-dot{width:7px;height:7px;border-radius:50%}.trend-dot.trend-rx{background:var(--accent)}.trend-dot.trend-tx{background:var(--amber)}.page-agents .machine-footer{order:3}.page-agents .machine-footer>span small{margin-left:4px}
@media(max-width:1100px){.page-agents .runtime-drawer-body{grid-template-columns:1fr}.page-agents .core-version-form{grid-template-columns:1fr 1fr auto}}
@media(max-width:820px) and (pointer:coarse){.page-agents .service-canvas{padding:14px}.page-agents .service-canvas-head{align-items:flex-start}.page-agents .service-canvas-head p:last-child{display:none}.page-agents .service-grid{grid-template-columns:1fr}.page-agents .service-card-main{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}.service-overview{grid-column:auto;grid-row:auto}.service-overview .service-version strong{font-size:10px}.service-deployment{grid-column:auto;grid-row:auto;padding-top:9px;border-top:1px solid var(--line)}.service-deployment .deployment-drift{width:100%}.service-deployment .service-endpoint{margin-top:7px}.service-primary-action{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.service-primary-action:has(>a:only-child){grid-template-columns:1fr}.service-primary-action .button,.service-primary-action form{width:100%}.page-agents .runtime-drawer>summary{min-height:40px}.page-agents .runtime-drawer>summary span{display:block}.page-agents .runtime-drawer>summary b,.page-agents .runtime-drawer>summary small{display:block}.page-agents .runtime-drawer-body{grid-template-columns:1fr;padding:10px}.page-agents .service-actions{grid-template-columns:1fr 1fr}.page-agents .core-version-form{grid-template-columns:1fr}.page-agents .core-version-form>small{grid-column:auto}.release-channel-options{grid-template-columns:1fr}.node-inspector{margin:0 14px 14px}.node-inspector-summary{align-items:flex-start}.node-inspector-summary small{max-width:260px;line-height:1.5}.node-inspector-body{grid-template-columns:1fr;gap:14px;padding:14px}.node-inspector .machine-telemetry{padding:14px 0 0;border-top:2px solid var(--accent);border-left:0}.node-inspector .telemetry-lines{grid-template-columns:1fr}.node-inspector .telemetry-lines .network-line{grid-column:auto}.page-agents .machine-footer{padding-inline:14px}.page-agents .machine-footer>span small{display:none}}

/* Node configuration v36: one compact selector bar and one editing surface. */
.page-agent-config .context-back,.page-agent-config .context-steps{display:none}.config-command-bar,.config-command-bar.loaded{display:block;margin-bottom:12px;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.config-command-bar.loaded{border-color:color-mix(in srgb,var(--green) 24%,var(--line))}.config-command-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:12px 16px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--green-soft) 24%,var(--surface)))}.config-command-title{min-width:0;display:flex;align-items:center;gap:11px}.config-command-title h2{margin-top:2px;font-size:18px;letter-spacing:-.02em}.config-command-title small{display:block;overflow:hidden;max-width:720px;margin-top:2px;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.config-command-state{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.config-command-state>a{color:var(--accent);font-size:9px;font-weight:700}.config-command-state .recipe-version{min-width:38px}.config-command-selectors{display:grid;grid-template-columns:minmax(230px,.58fr) minmax(0,1.42fr);background:var(--line)}.config-command-selectors>.config-selector{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;margin:0;border:0;border-radius:0;background:var(--surface);box-shadow:none}.config-command-selectors>.config-selector:only-child{grid-column:1/-1}.config-command-selectors>.config-selector+ .config-selector{margin-left:1px}.config-selector>header,.config-selector.protocol-browser>header{min-width:88px;min-height:58px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;gap:3px;padding:8px 12px;border:0}.config-selector>header>span{display:flex;align-items:center;gap:6px}.config-selector>header b{margin:0;font-size:10px}.config-selector>header small{font-size:8px}.config-selector>header .button{min-height:28px;padding:4px 7px;font-size:8px}.config-selector>nav,.config-selector.protocol-browser>nav{min-width:0;display:flex;gap:6px;padding:7px 9px;overflow-x:auto;scrollbar-width:thin}.config-selector.inbound-browser>nav>a{min-width:138px;display:block;padding:6px 8px;border:1px solid var(--line);border-radius:8px}.config-selector.inbound-browser>nav>a.active{border-color:var(--accent);background:var(--accent-soft)}.config-selector.protocol-browser>nav>a{min-width:max-content;display:flex;grid-template-columns:none;align-items:center;gap:6px;padding:6px 9px;border:1px solid transparent;border-radius:8px}.config-selector.protocol-browser>nav>a.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:none}.config-selector.protocol-browser>nav a>b{width:auto;min-width:28px;height:26px;padding:0 5px}.config-selector.protocol-browser strong{font-size:9px}.page-agent-config .recipe-workspace{margin-top:0}.page-agent-config .config-mutation{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,310px);align-items:center;gap:14px;margin:14px 16px 10px;padding:9px 11px}.page-agent-config .config-mutation>span b{margin:0;font-size:11px}.page-agent-config .config-mutation>span small{margin-top:1px}.page-agent-config .config-mutation>label{grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:8px}.page-agent-config .config-mutation select{height:38px;min-width:0}.page-agent-config .builder-layout{grid-template-columns:minmax(0,1fr)}.page-agent-config .builder-index{display:flex;gap:5px;padding:7px 12px;border-right:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent-soft) 32%,var(--surface-2));overflow-x:auto}.page-agent-config .builder-index a{min-width:max-content;align-items:center;gap:6px;padding:6px 8px}.page-agent-config .builder-index b{width:24px;height:24px}.page-agent-config .builder-index small{display:none}
@media(max-width:820px) and (pointer:coarse){.config-command-head{align-items:flex-start;flex-direction:column;gap:9px;padding:11px 12px}.config-command-title{align-items:flex-start}.config-command-title small{max-width:270px;white-space:normal}.config-command-state{width:100%;justify-content:flex-start;flex-wrap:wrap}.config-command-selectors{grid-template-columns:1fr}.config-command-selectors>.config-selector{grid-column:1;grid-template-columns:76px minmax(0,1fr)}.config-command-selectors>.config-selector+ .config-selector{margin-top:1px;margin-left:0}.config-selector>header,.config-selector.protocol-browser>header{min-width:0;padding:7px 9px}.config-selector.inbound-browser>nav>a{min-width:150px}.page-agent-config .config-mutation{grid-template-columns:1fr;margin:10px;padding:10px}.page-agent-config .config-mutation>label{grid-template-columns:1fr}.page-agent-config .builder-index{padding-inline:9px}.page-agent-config .builder-index a{min-width:max-content}}

/* Node resources v37: keep live host health in the node summary. */
.page-agents .machine-header{grid-template-columns:minmax(185px,.68fr) minmax(460px,1.5fr) auto 18px;gap:12px}.machine-resource-summary{position:relative;min-width:0;display:grid;grid-template-columns:.58fr 1fr 1fr 1.2fr;align-items:center;padding-left:6px}.machine-resource-summary>div{min-width:0;padding:0 9px;border-left:1px solid var(--line)}.machine-resource-summary>div>span,.machine-resource-summary>div>strong,.machine-resource-summary>div>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-resource-summary>div>span{color:var(--muted);font-size:8px}.machine-resource-summary>div>strong{margin-top:1px;color:var(--ink);font-size:10px}.machine-resource-summary>div>small{margin-top:2px;color:var(--muted);font-size:7px}.machine-resource-summary progress{width:100%;height:3px;display:block;margin-top:4px;border:0}.machine-resource-summary progress::-webkit-progress-bar{border-radius:3px;background:var(--line)}.machine-resource-summary progress::-webkit-progress-value{border-radius:3px;background:var(--accent)}.machine-resource-summary i{font-style:normal}.machine-resource-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.node-inspector-body{grid-template-columns:minmax(0,1fr)}.node-identity-panel{width:100%;max-width:760px}.node-identity-panel .identity-list dd code{overflow-wrap:anywhere}.node-identity-refresh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.node-identity-refresh span{color:var(--muted);font-size:9px}.node-identity-refresh button{min-height:34px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);padding:6px 10px;color:var(--accent);font-size:9px}
@media(max-width:1100px){.page-agents .machine-header{grid-template-columns:minmax(0,1fr) auto 18px;gap:10px}.machine-resource-summary{grid-column:1/-1;grid-row:2;padding:9px 0 0;border-top:1px solid var(--line)}.machine-resource-summary>div:first-child{border-left:0;padding-left:0}}
@media(max-width:820px) and (pointer:coarse){.page-agents .machine-header{grid-template-columns:minmax(0,1fr) auto 18px;padding:11px 12px}.machine-resource-summary{grid-template-columns:1fr 1fr;gap:9px 0}.machine-resource-summary>div{padding-inline:9px}.machine-resource-summary>div:nth-child(3){border-left:0;padding-left:0}.machine-resource-summary>div>strong{font-size:9px}.machine-resource-network small{font-size:7px}.node-identity-refresh{align-items:stretch;flex-direction:column}.node-identity-refresh button{min-height:44px}}

/* Node enrollment v38: one entry point, with the form revealed only on demand. */
.page-agents .enrollment-sheet{scroll-margin-top:76px}.page-agents .enrollment-sheet[data-has-agents="1"]:not([open]){display:none}

/* Wide configuration editor v40: use the available width instead of stacking sparse sections. */
@media(min-width:1101px){.page-agent-config .config-mutation{min-height:50px;margin:10px 12px 0;padding:7px 10px;border-color:var(--line);background:var(--surface)}.page-agent-config .builder-index{display:none}.page-agent-config .builder-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;padding:12px;background:color-mix(in srgb,var(--surface-2) 82%,var(--canvas))}.page-agent-config .builder-section{min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px -24px rgba(79,70,229,.5)}.page-agent-config .builder-section.security-section{grid-column:1/-1}.page-agent-config .plan-fields.two:has(>label:only-of-type){grid-template-columns:minmax(0,1fr)}.page-agent-config .builder-actions{padding-inline:16px}}

/* Hierarchical configuration workbench v41: reveal one decision level at a time. */
.config-hierarchy-menu{background:var(--surface)}.config-hierarchy-menu>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;cursor:pointer}.config-hierarchy-menu>summary:hover{background:var(--surface-2)}.config-hierarchy-menu>summary b,.config-hierarchy-menu>summary small{display:block}.config-hierarchy-menu>summary b{font-size:10px}.config-hierarchy-menu>summary small{margin-top:1px;color:var(--muted);font-size:8px}.config-hierarchy-menu>summary i{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:9px;font-style:normal;font-weight:700}.config-hierarchy-menu>summary i:after{content:"+";width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.config-hierarchy-menu[open]>summary{border-bottom:1px solid var(--line)}.config-hierarchy-menu[open]>summary i{font-size:0}.config-hierarchy-menu[open]>summary i:before{content:"收起";font-size:9px}.config-hierarchy-menu[open]>summary i:after{content:"−"}.page-agent-config .builder-index>header{padding:6px 8px 11px;border-bottom:1px solid var(--line)}.page-agent-config .builder-index>header b,.page-agent-config .builder-index>header small{width:auto;height:auto;display:block;border-radius:0;background:transparent;color:inherit}.page-agent-config .builder-index>header b{font-size:10px}.page-agent-config .builder-index>header small{margin-top:2px;color:var(--muted);font-size:8px}.page-agent-config .builder-index>a.active{background:var(--accent-soft);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}.page-agent-config .builder-index>a.active>b{background:var(--accent);color:var(--on-accent)}
@media(min-width:1101px){.page-agent-config .builder-layout{display:grid;grid-template-columns:200px minmax(0,1fr)}.page-agent-config .builder-index{display:block;padding:10px;border-right:1px solid var(--line);border-bottom:0;background:color-mix(in srgb,var(--surface-2) 88%,var(--canvas));overflow:visible}.page-agent-config .builder-index>a{min-width:0;align-items:center;margin-top:4px;padding:9px}.page-agent-config .builder-index small{display:block}.page-agent-config .builder-sections{display:block;padding:14px;background:color-mix(in srgb,var(--surface-2) 82%,var(--canvas))}.page-agent-config .builder-section,.page-agent-config .builder-section.security-section{max-width:1080px;margin:0 auto;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px -24px rgba(79,70,229,.5)}.page-agent-config .plan-fields.two:has(>label:only-of-type){grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px) and (pointer:coarse){.config-hierarchy-menu>summary{align-items:flex-start;padding:9px 12px}.config-hierarchy-menu>summary span{min-width:0}.config-hierarchy-menu>summary small{overflow:hidden;max-width:240px;text-overflow:ellipsis;white-space:nowrap}.page-agent-config .builder-layout{display:block}.page-agent-config .builder-index{display:flex;padding:7px 9px}.page-agent-config .builder-index>header{display:none}.page-agent-config .builder-index>a{min-width:max-content}.page-agent-config .builder-sections{display:block;padding:10px;background:var(--surface-2)}.page-agent-config .builder-section,.page-agent-config .builder-section.security-section{margin:0;padding:16px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}}

/* Config templates: reusable per-node configuration bodies. */

.template-workspace{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.template-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.template-head h3{font-size:16px}.template-head span{color:var(--muted);font-size:9px}.template-create{margin-top:12px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.template-create>summary{min-height:38px;display:flex;align-items:center;padding:8px 12px;font-size:10px;font-weight:800;cursor:pointer}.template-create>form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:var(--surface-2)}.template-create label{display:grid;gap:4px;font-size:9px;font-weight:700}.template-content-field{grid-column:1/-1}.template-create textarea{min-height:140px;font-family:var(--mono);font-size:10px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:12px}.template-card{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);overflow:hidden}.template-card>header{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid var(--line)}.template-card h4{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.template-card>header small{margin-left:auto;color:var(--muted);font-size:8px}.template-card pre{max-height:170px;margin:0;padding:10px 11px;overflow:auto;color:var(--ink-2);font-family:var(--mono);font-size:9px;line-height:1.6;white-space:pre-wrap;word-break:break-all}.template-card>footer{display:flex;justify-content:space-between;gap:8px;padding:8px 11px;border-top:1px solid var(--line)}.template-card>footer form{display:flex;align-items:center;gap:6px;margin:0}.template-card>footer label{display:flex;align-items:center;gap:4px;font-size:8px;font-weight:700}.template-card>footer select{min-height:28px;font-size:9px}.template-empty{margin:14px 0 4px;color:var(--muted);font-size:10px}
/* Automatic client access v43: keep exports with the deployed service, never in the configuration editor. */
.client-profile-drawer{border-top:1px solid var(--line);background:var(--surface)}.client-profile-drawer>summary{min-height:40px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:7px 14px;background:color-mix(in srgb,var(--green-soft) 24%,var(--surface));cursor:pointer}.client-profile-drawer>summary:hover{background:color-mix(in srgb,var(--green-soft) 46%,var(--surface))}.client-profile-drawer>summary span b,.client-profile-drawer>summary span small{display:block}.client-profile-drawer>summary span b{font-size:10px}.client-profile-drawer>summary span small{overflow:hidden;margin-top:1px;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.client-profile-drawer>summary>strong{color:var(--green);font-size:8px}.client-profile-drawer>summary>i{color:var(--green);font-style:normal}.client-profile-drawer[open]>summary>i{transform:rotate(45deg)}.client-profile-drawer-body{display:grid;gap:9px;padding:11px 14px 13px;border-top:1px solid var(--line);background:var(--surface-2)}.client-profile-card{min-width:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.client-profile-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.client-profile-card>header b,.client-profile-card>header small{display:block}.client-profile-card>header b{font-size:10px}.client-profile-card>header small{margin-top:1px;color:var(--muted);font-size:8px}.client-profile-drawer .client-share-control input{width:100%}.client-profile-drawer .client-parameters{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-radius:8px}.client-parameter-menu{margin-top:8px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.client-parameter-menu>summary{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:6px 9px;color:var(--muted);font-size:9px;font-weight:700;cursor:pointer}.client-parameter-menu>summary:hover{background:var(--surface-2)}.client-parameter-menu>summary i{font-size:8px;font-style:normal}.client-parameter-menu[open]>summary{border-bottom:1px solid var(--line)}.client-parameter-menu[open]>summary i{font-size:0}.client-parameter-menu[open]>summary i:after{content:"收起";font-size:8px}.client-profile-note{color:var(--muted);font-size:8px;line-height:1.65}
@media(max-width:820px) and (pointer:coarse){.client-profile-drawer>summary{min-height:44px;padding-inline:12px}.client-profile-drawer-body{padding:10px}.client-profile-drawer .client-share-control{flex-wrap:wrap}.client-profile-drawer .client-share-control input{flex-basis:100%;border-radius:7px}.client-profile-drawer .client-share-control button{min-height:38px;flex:1;border-top:0}.client-profile-drawer .client-share-control button:first-of-type{border-left:1px solid var(--line-2);border-radius:7px 0 0 7px}.client-profile-drawer .client-parameters{grid-template-columns:1fr}}
/* Client access workspace v51: dedicated, filterable exports outside node service cards. */
.service-client-access{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid color-mix(in srgb,var(--green) 22%,var(--line));padding:7px 14px;background:color-mix(in srgb,var(--green-soft) 34%,var(--surface));color:var(--ink-2)}.service-client-access:hover{background:color-mix(in srgb,var(--green-soft) 62%,var(--surface));color:var(--green)}.service-client-access span{min-width:0}.service-client-access b,.service-client-access small{display:block}.service-client-access b{font-size:9px}.service-client-access small{margin-top:1px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.service-client-access strong{flex:0 0 auto;color:var(--green);font-size:8px}.service-client-access i{margin-left:3px;font-style:normal}
.client-access-workspace{display:grid;gap:14px}.client-access-hero{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 26px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:16px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent-soft) 58%,var(--surface)));box-shadow:var(--shadow)}.client-access-hero>div:first-child{min-width:0}.client-access-hero h1{margin-top:3px;font-size:26px;letter-spacing:-.035em}.client-access-hero p:last-child{max-width:680px;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.7}.client-access-summary{display:grid;grid-template-columns:repeat(2,minmax(118px,1fr));gap:8px;margin:0}.client-access-summary div{min-width:118px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--surface) 84%,transparent)}.client-access-summary dt{color:var(--muted);font-size:9px;font-weight:700}.client-access-summary dd{margin:4px 0 0;color:var(--accent);font-size:23px;font-weight:800}
.client-access-filter-panel{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.client-access-search{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:8px}.client-access-search label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:750}.client-access-search input{width:100%}.client-access-filter-row{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:10px;padding-top:11px;border-top:1px solid var(--line)}.client-access-filter-row>span{padding-top:7px;color:var(--muted);font-size:9px;font-weight:750}.client-access-filter-row nav{display:flex;flex-wrap:wrap;gap:6px}.client-access-filter-row a{min-height:30px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:5px 10px;background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:700}.client-access-filter-row a:hover{border-color:var(--accent);color:var(--accent)}.client-access-filter-row a.active{border-color:color-mix(in srgb,var(--accent) 54%,var(--line));background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}
.client-access-results-head{display:flex;align-items:center;justify-content:space-between;padding:2px 3px;color:var(--muted);font-size:10px}.client-access-results-head strong{color:var(--ink-2);font-size:10px}.client-access-entry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,480px),1fr));align-items:start;gap:14px}.client-access-entry{min-width:0;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.client-access-entry-head{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line)}.client-access-node{min-width:0;display:flex;align-items:center;gap:10px}.client-access-node>.node-avatar{width:36px;height:36px;flex:0 0 36px}.client-access-node strong,.client-access-node small{display:block}.client-access-node strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.client-access-node small{margin-top:2px;color:var(--muted);font-size:9px}.client-access-engine{display:flex;align-items:center;gap:7px;flex:0 0 auto}.engine-badge.ss-rust{color:#b96b0a}.client-access-entry-meta{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,.7fr) auto;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.client-access-entry-meta>span{min-width:0}.client-access-entry-meta small,.client-access-entry-meta code,.client-access-entry-meta strong{display:block}.client-access-entry-meta small{color:var(--muted);font-size:8px}.client-access-entry-meta code,.client-access-entry-meta strong{margin-top:2px;overflow:hidden;color:var(--ink-2);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.client-access-entry-meta>a{color:var(--accent);font-size:9px;font-weight:750}.client-access-profile-grid{display:grid;gap:10px;padding:14px;background:color-mix(in srgb,var(--surface-2) 68%,var(--surface))}.client-access-entry .client-profile-card{padding:14px;border-radius:11px}.client-access-entry .client-profile-card>header{align-items:center;margin-bottom:10px}.client-access-entry .client-profile-card>header b{font-size:12px}.client-access-entry .client-profile-card>header small{margin-top:2px;font-size:9px}.client-access-entry .client-share-control{display:flex}.client-access-entry .client-share-control input{width:100%;height:40px;font-size:10px}.client-access-entry .client-share-control button{min-width:52px}.client-access-entry .client-parameter-menu{margin-top:10px;border-radius:9px}.client-access-entry .client-parameter-menu>summary{min-height:38px;padding:7px 10px;font-size:9px}.client-access-entry .client-parameters{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:0;border-radius:0}.client-access-entry .client-parameters>div{padding:10px}.client-access-entry .client-parameters code{font-size:9px}.client-access-entry .client-parameters .secret-value-control{display:flex}.client-access-empty-state{grid-column:1/-1;min-height:330px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:34px;border:1px dashed var(--line-2);border-radius:15px;background:var(--surface);text-align:center}.client-access-empty-state>span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--accent-soft);color:var(--accent);font-size:25px}.client-access-empty-state h2{margin-top:14px;font-size:17px}.client-access-empty-state p{max-width:520px;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.7}.client-access-empty-state .button{margin-top:16px}
@media(max-width:1280px){.client-access-entry-grid{grid-template-columns:1fr}.client-access-hero{align-items:flex-start}.client-access-summary{flex:0 0 auto}}
@media(max-width:820px) and (pointer:coarse){.client-access-workspace{gap:10px}.client-access-hero{min-height:0;align-items:stretch;flex-direction:column;gap:16px;padding:18px;border-radius:14px}.client-access-hero h1{font-size:23px}.client-access-summary{grid-template-columns:1fr 1fr}.client-access-summary div{min-width:0;padding:11px 12px}.client-access-filter-panel{padding:13px}.client-access-search{grid-template-columns:1fr}.client-access-search .button{width:100%}.client-access-filter-row{grid-template-columns:1fr;gap:6px}.client-access-filter-row>span{padding-top:0}.client-access-filter-row nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.client-access-filter-row a{min-width:max-content}.client-access-entry-head{align-items:flex-start;flex-direction:column}.client-access-engine{width:100%;justify-content:space-between}.client-access-entry-meta{grid-template-columns:1fr 1fr}.client-access-entry-meta>a{grid-column:1/-1}.client-access-profile-grid{padding:10px}.client-access-entry .client-profile-card{padding:11px}.client-access-entry .client-share-control{flex-wrap:wrap}.client-access-entry .client-share-control input{flex-basis:100%;border-radius:7px}.client-access-entry .client-share-control button{min-height:40px;flex:1;border-top:0}.client-access-entry .client-share-control button:first-of-type{border-left:1px solid var(--line-2);border-radius:7px 0 0 7px}.client-access-entry .client-parameters{grid-template-columns:1fr}.page-client-access .context-sidebar{display:none}}
@media(max-width:820px) and (pointer:coarse){.page-client-access .dock-nav a.active{color:var(--accent)}}
/* Copy reduction v44: reserve explanatory text for validation and failure states. */
.builder-actions.compact{justify-content:flex-end}

/* GPT Image reference v45: flatter desktop workspace and focused mobile navigation. */
.mobile-account-menu{display:none}.login-shell.compact-login{width:min(420px,calc(100% - 32px));min-height:0;display:block;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 24px 70px -42px rgba(15,18,38,.55)}.compact-login .login-card{display:block;padding:34px}.login-card-brand{justify-content:center;margin-bottom:32px}.login-card-brand .brand-mark{width:48px;height:48px}.login-card-brand strong{font-size:16px}.login-card-brand small{font-size:10px}.compact-login .login-card-head{align-items:center;justify-content:space-between;margin-bottom:22px}.compact-login .login-card-head h1{margin-top:2px;font-size:24px}.compact-login .login-card-head .trust-badge{padding:5px 8px;box-shadow:none}.compact-login .stack-form{gap:16px}.compact-login .login-foot{margin-top:18px}
@media(min-width:821px){.desktop-app{grid-template-columns:68px 232px minmax(0,1fr)}.app-dock{margin:0;padding:12px 7px;border:0;border-radius:0;box-shadow:none}.dock-logo{width:42px;height:42px;border-radius:11px;background:#f4f5f8;box-shadow:none}.dock-nav{margin-top:22px}.dock-nav a,.dock-tools button{width:46px;min-height:46px;border-radius:10px}.dock-nav a.active{background:var(--accent);box-shadow:none}.context-sidebar{margin:0;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}.context-brand{min-height:60px}.brand-mark,.context-primary{background:var(--accent);box-shadow:none}.workspace-shell{background:var(--canvas)}.workspace-topbar{height:60px;margin:0;padding:0 22px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.workspace-main{padding:22px 24px 30px}.button.primary{border-color:var(--accent);background:var(--accent);box-shadow:none}.button.primary:hover{background:var(--accent-2);box-shadow:none}.ops-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ops-stats>a,.ops-stats>a:first-child,.ops-stats>a:nth-child(n+2){grid-column:span 1;min-height:108px;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:none}.ops-stats>a:hover{transform:none;border-color:color-mix(in srgb,var(--accent) 32%,var(--line));box-shadow:none}.ops-stats>a:first-child .stat-icon{width:40px;height:40px;border-radius:10px}.ops-stats>a:first-child strong,.ops-stats strong{font-size:26px}.workspace-panel,.enrollment-sheet,.machine-workspace,.config-workspace,.live-config-workspace,.task-filter-panel,.task-event-card,.protocol-browser,.recipe-workspace,.node-revision-timeline,.advanced-studio,.inbound-browser,.settings-section{border-color:var(--line);border-radius:12px;box-shadow:none}.settings-section>header,.config-command-head{background:var(--surface)}.settings-savebar{box-shadow:none}.task-load-more{box-shadow:none}}
@media(min-width:821px) and (max-width:1199px){.ops-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px) and (pointer:coarse){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-dock{height:64px;display:block;padding:4px}.dock-nav{width:100%;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0}.dock-tools{display:none!important}.dock-nav a{width:100%;min-height:54px;margin:0;border-radius:9px}.mobile-account-menu{position:relative;display:block}.mobile-account-menu>summary{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);font-weight:800;letter-spacing:1px;cursor:pointer}.mobile-account-menu>div{position:absolute;z-index:120;right:0;top:46px;width:150px;padding:6px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:0 18px 48px -28px rgba(15,18,38,.65)}.mobile-account-menu button{width:100%;min-height:42px;border:0;border-radius:7px;background:transparent;padding:7px 10px;color:var(--ink);text-align:left}.mobile-account-menu button:hover{background:var(--surface-2)}.mobile-account-menu form{margin:0}.workspace-actions{gap:7px}.workspace-actions>.button{padding-inline:9px}.ops-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ops-stats>a,.ops-stats>a:first-child,.ops-stats>a:nth-child(n+2){grid-column:span 1;min-height:98px;display:block;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:none}.ops-stats .stat-icon{display:none}.ops-stats>a:first-child strong,.ops-stats strong{font-size:27px}.ops-stats>a p{margin-top:4px}.login-body{min-height:100vh;padding:18px;background:var(--canvas)}.login-shell.compact-login{width:100%;min-height:0;display:block;border-radius:15px;background:var(--surface)}.compact-login .login-card{position:static;margin:0;padding:28px 22px;border-radius:15px;background:var(--surface)}.login-card-brand{margin-bottom:28px}.compact-login .login-card-head{align-items:flex-start}.compact-login .login-card-head h1{font-size:22px}}

/* GPT Image reference v46: keep normal states self-explanatory and reserve copy for failures or confirmation. */
.role-badge{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:8px;font-style:normal;font-weight:750}.role-badge.role-admin{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft)}.role-badge.role-operator{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 32%,var(--line));background:var(--amber-soft)}.context-sidebar>.context-menu:first-of-type{margin-top:16px}.context-sidebar>.context-section-label:first-of-type{padding-top:16px}.context-sidebar>.context-primary{margin-top:16px}.dashboard-head{align-items:center}.dashboard-head>.trust-badge{margin-top:0}.workspace-panel>header{min-height:56px}.ops-stats>a,.ops-stats>a:first-child,.ops-stats>a:nth-child(n+2){min-height:88px}.settings-section>header{align-items:center}.settings-savebar{justify-content:flex-end}.live-config-inspector dl{margin-top:0}.node-config-source>h2{font-size:17px}.code-workspace>footer>span:has([data-code-validation]:empty){display:none}.field-canvas form>footer,.source-studio form>footer{justify-content:flex-end}.page-agent-config .config-mutation{display:flex;justify-content:flex-end}.page-agent-config .config-mutation>label{width:min(100%,310px)}
@media(min-width:821px){.page-dashboard .desktop-app{grid-template-columns:68px minmax(0,1fr)}.page-dashboard .context-sidebar{display:none}.page-agent-config .config-mutation{width:310px;margin:10px 12px 0 auto;padding:0;border:0;background:transparent}}
@media(max-width:820px) and (pointer:coarse){.dashboard-head{align-items:center;flex-direction:row}.dashboard-head>.trust-badge{margin-top:0}.ops-stats>a,.ops-stats>a:first-child,.ops-stats>a:nth-child(n+2){min-height:90px}.settings-hero{margin-bottom:10px}.page-agent-config .config-mutation>label{width:100%}}
@media(prefers-reduced-motion:reduce){.ops-stats>a{transition:none}.ops-stats>a:hover{transform:none}}
/* Polish V47: readability floor, micro-interactions, and missing shadow token. */
:root,[data-theme=light]{--shadow-hover:0 6px 20px rgba(34,39,68,.09),0 26px 58px -34px rgba(79,70,229,.52)}
[data-theme=dark]{--shadow-hover:0 14px 36px -22px rgba(0,0,0,.88),0 4px 12px rgba(0,0,0,.24)}
.service-client-access small,.service-client-access strong,.client-access-entry-meta small,.timeline-body>nav small,.event-action small,.task-event time small,.delivery-bar small,.config-danger small,.access-steps small,.client-share>header small,.client-parameters>div>span:first-child{font-size:9px}
.machine-resource-summary progress,.telemetry-lines progress{height:4px;border-radius:4px}
.machine-resource-summary progress::-webkit-progress-bar,.telemetry-lines progress::-webkit-progress-bar{border-radius:4px}
.machine-resource-summary progress::-webkit-progress-value,.telemetry-lines progress::-webkit-progress-value{border-radius:4px;transition:width .55s cubic-bezier(.25,.46,.45,.94)}
.service-card{transition:border-color .18s ease,box-shadow .18s ease,transform .15s ease}.page-agents .service-card:hover{transform:translateY(-1px)}
.context-primary{transition:background .15s ease,transform .12s ease,box-shadow .15s ease}.context-primary:hover{transform:translateY(-1px)}.context-primary:active{transform:translateY(0)}
.alert{border-radius:10px}.alert.success{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 18%,transparent)}.alert.error{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 18%,transparent)}
.code-editor-input{font-size:12px;line-height:1.7}.code-gutter{font-size:11px;line-height:1.7}
::placeholder{opacity:.62}
.timeline-marker>i{width:12px;height:12px;margin-top:16px}
.context-list>a{transition:background .14s ease,border-color .14s ease,color .14s ease}
@media(prefers-reduced-motion:reduce){.machine-resource-summary progress::-webkit-progress-value,.telemetry-lines progress::-webkit-progress-value{transition:none}.service-card,.context-primary,.context-list>a{transition:none}.page-agents .service-card:hover,.context-primary:hover{transform:none}}
/* Deployment command dialog v48: a scoped extension to the initial console surface. */
.modal-backdrop{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:24px;background:rgba(8,10,17,.62);backdrop-filter:blur(4px);animation:deploy-backdrop-in .16s ease-out}.deploy-command-modal{width:min(720px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 34px 90px -34px rgba(5,8,18,.82);overflow:hidden;animation:deploy-modal-in .18s ease-out}.deploy-command-head{display:grid;grid-template-columns:44px minmax(0,1fr) 34px;align-items:start;gap:12px;padding:20px 20px 17px;border-bottom:1px solid var(--line)}.deploy-command-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent)}.deploy-command-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.deploy-command-head h2{margin-top:2px;font-size:20px;letter-spacing:-.025em}.deploy-command-head div>p:last-child{margin-top:4px;color:var(--muted);font-size:10px}.deploy-command-close{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:22px;line-height:1}.deploy-command-close:hover{background:var(--surface-2);color:var(--ink)}.deploy-command-body{display:grid;gap:14px;padding:18px 20px;background:color-mix(in srgb,var(--surface-2) 72%,var(--surface));overflow:auto}.deploy-command-notice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--amber) 22%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--amber-soft) 72%,var(--surface));color:var(--ink-2)}.deploy-command-notice>svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;fill:none;stroke:var(--amber);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.deploy-command-notice b,.deploy-command-notice small{display:block}.deploy-command-notice b{font-size:10px}.deploy-command-notice small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.55}.deploy-command-shell{border:1px solid #292f40;border-radius:11px;background:#111520;box-shadow:inset 0 1px rgba(255,255,255,.04);overflow:hidden}.deploy-command-shell>header{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #292f40;background:#171c29;color:#929bad;font:9px ui-monospace,SFMono-Regular,Consolas,monospace}.deploy-command-shell>header span{display:flex;align-items:center;gap:7px}.deploy-command-shell>header i{width:7px;height:7px;border-radius:50%;background:#39c9a2;box-shadow:0 0 0 3px rgba(57,201,162,.12)}.deploy-command-shell>div{display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;padding:15px 16px 16px}.deploy-command-prompt{padding-top:1px;color:#8b8dff;font:700 12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;user-select:none}.deploy-command-input{width:100%;min-height:112px;max-height:210px;display:block;resize:none;border:0;border-radius:0;background:transparent;padding:0;color:#e6ebf5;font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto;overflow-wrap:normal;white-space:pre-wrap}.deploy-command-input:focus{border:0;background:transparent;box-shadow:none}.deploy-command-input::selection{background:#3730a3;color:#fff}.deploy-command-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface)}.deploy-command-actions>span{color:var(--muted);font-size:9px}.deploy-command-actions>div{display:flex;gap:8px}.deploy-command-copy{min-width:116px}.deploy-command-copy svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.deploy-command-copy.copied{border-color:var(--green);background:var(--green);color:#fff}.deploy-command-copy.copied:hover{background:var(--green);color:#fff}@keyframes deploy-backdrop-in{from{opacity:0}}@keyframes deploy-modal-in{from{opacity:0;transform:translateY(8px) scale(.985)}}
@media(max-width:620px) and (pointer:coarse){.modal-backdrop{align-items:end;padding:0}.deploy-command-modal{width:100%;max-height:calc(100vh - 18px);border-width:1px 0 0;border-radius:16px 16px 0 0}.deploy-command-head{grid-template-columns:40px minmax(0,1fr) 32px;gap:10px;padding:17px 15px 14px}.deploy-command-icon{width:40px;height:40px}.deploy-command-head h2{font-size:18px}.deploy-command-head div>p:last-child{display:none}.deploy-command-body{gap:12px;padding:14px 15px}.deploy-command-shell>div{padding:13px}.deploy-command-input{min-height:130px;font-size:10px}.deploy-command-actions{align-items:stretch;flex-direction:column;padding:12px 15px calc(12px + env(safe-area-inset-bottom))}.deploy-command-actions>span{text-align:center}.deploy-command-actions>div{display:grid;grid-template-columns:1fr 1.35fr}.deploy-command-actions .button{min-width:0}}
@media(prefers-reduced-motion:reduce){.modal-backdrop,.deploy-command-modal{animation:none}}
.access-history-actions{display:flex;align-items:center;gap:6px}.access-history-delete{min-height:30px;align-self:center;border:1px solid color-mix(in srgb,var(--red) 28%,var(--line));border-radius:7px;background:var(--red-soft);padding:5px 10px;color:var(--red);font-size:9px;font-weight:700}.access-history-delete:hover{border-color:var(--red);background:color-mix(in srgb,var(--red-soft) 74%,var(--surface))}
/* UI consistency v52: keep single-node actions focused and make unavailable states explicit. */
.page-agents:not(:has(#batch-form)) .batch-select{display:none}
.batch-toolbar{min-height:52px;margin-inline:0;padding:9px 12px;background:var(--surface-2);box-shadow:none}
.batch-node-options{min-width:0;margin:0;padding:0;border:0}.batch-node-options legend{margin-bottom:6px;color:var(--muted);font-size:9px;font-weight:700}.batch-results{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.batch-results header,.batch-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.batch-results header small,.batch-result-row small{color:var(--muted);font-size:8px}.batch-result-row{padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.batch-result-row.ok{border-color:color-mix(in srgb,var(--green) 32%,var(--line))}.batch-result-row.error{border-color:color-mix(in srgb,var(--red) 32%,var(--line))}.batch-result-row b,.batch-result-row small{display:block}.enrollment-dialog-body{gap:16px}.enrollment-dialog-form{display:grid;gap:12px}.enrollment-dialog-form>label{display:grid;gap:6px;font-size:10px;font-weight:700}.enrollment-dialog-form>label input{min-height:38px}.enrollment-security-note{display:grid;gap:3px;margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--amber) 25%,var(--line));border-radius:8px;background:var(--amber-soft)}.enrollment-security-note b{font-size:10px}.enrollment-security-note span{color:var(--muted);font-size:9px;line-height:1.5}.enrollment-form-actions{display:flex;justify-content:flex-end;gap:8px}.enrollment-history{border-top:1px solid var(--line);padding-top:14px}.enrollment-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.enrollment-history>header b,.enrollment-history>header small{display:block}.enrollment-history>header b{font-size:11px}.enrollment-history>header small{max-width:520px;margin-top:3px;color:var(--muted);font-size:8px;line-height:1.5}.enrollment-history>header>span{min-width:28px;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:800;text-align:center}.enrollment-history>[data-enrollment-history-list]{max-height:180px;display:grid;gap:6px;overflow:auto}.enrollment-history article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.enrollment-history article b,.enrollment-history article small{display:block}.enrollment-history article b{font-size:9px}.enrollment-history article small{margin-top:2px;color:var(--muted);font-size:8px}.enrollment-history-empty{margin:0;padding:14px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:9px;text-align:center}
.batch-toolbar-title{color:var(--ink-2)}
.batch-toolbar .button:disabled{opacity:.48}
.node-settings-missing{display:grid;justify-items:start;gap:8px;padding:24px;border:1px dashed var(--line);background:var(--surface-2);color:var(--muted)}.node-settings-missing strong{color:var(--ink);font-size:14px}.node-settings-missing p{margin:0;font-size:10px}
.node-execution-mode{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--amber) 24%,var(--line));border-radius:8px;background:var(--amber-soft);color:var(--ink-2)}
.node-execution-mode b{flex:0 0 auto;color:var(--amber);font-size:9px}.node-execution-mode span{font-size:9px;line-height:1.55}.node-execution-mode code{color:var(--ink-2);font:inherit;font-weight:700}
.engine-state.muted{color:var(--muted)}.engine-state.muted i{background:var(--muted)}
.service-management-unavailable{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:6px 14px;border-top:1px solid var(--line);background:var(--surface-2);color:var(--muted)}
.service-management-unavailable b{font-size:9px}.service-management-unavailable small{font-size:8px}
.node-danger-zone{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--red) 24%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--red-soft) 54%,var(--surface))}
.node-danger-zone span{min-width:0}.node-danger-zone b,.node-danger-zone small{display:block}.node-danger-zone b{color:var(--red);font-size:10px}.node-danger-zone small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.5}.node-danger-zone .button{flex:0 0 auto}
.config-execution-callout{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--amber) 24%,var(--line));border-radius:10px;background:var(--amber-soft)}.config-execution-callout span{min-width:0}.config-execution-callout b,.config-execution-callout small{display:block}.config-execution-callout b{font-size:10px}.config-execution-callout small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.55}.config-execution-callout .button{flex:0 0 auto}
.task-inline-action{min-height:25px;margin-left:8px;border-color:var(--line-2);background:var(--surface-2);color:var(--accent);font-size:8px}.task-inline-action:hover{border-color:var(--accent);background:var(--accent-soft)}
.task-filter-reset{display:inline-flex;align-items:center;min-height:30px;margin-left:4px;padding:5px 9px;color:var(--muted);font-size:9px;font-weight:700}.task-filter-reset:hover{color:var(--accent)}
.settings-savebar{justify-content:space-between;min-height:58px;padding:10px 14px}.settings-savebar-copy{min-width:0}.settings-savebar-copy b,.settings-savebar-copy small{display:block}.settings-savebar-copy b{font-size:10px}.settings-savebar-copy small{margin-top:2px;color:var(--muted);font-size:8px}
.page-settings .settings-savebar{position:static;bottom:auto;margin-top:0}
@media(max-width:820px) and (pointer:coarse){.node-danger-zone{align-items:stretch;flex-direction:column;gap:10px}.node-danger-zone .button{width:100%}.config-execution-callout{align-items:stretch;flex-direction:column}.config-execution-callout .button{width:100%}.settings-savebar{align-items:stretch;gap:10px}.settings-savebar-copy{display:none}.task-inline-action{margin-left:0;margin-top:5px}}
.node-identity-refresh>div{display:flex;align-items:center;gap:6px}.node-identity-refresh>div button{white-space:nowrap}
.user-create-form{display:grid;gap:16px;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.user-create-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.user-create-fields label,.user-edit-grid label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:700}.user-create-fields input,.user-create-fields select,.panel-user-row input,.panel-user-row select{width:100%;min-width:0;height:38px;padding:0 10px;font-size:10px}.user-create-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.user-create-actions span{color:var(--muted);font-size:9px}.panel-user-list{display:grid;gap:10px;margin-top:16px}.panel-user-row{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:none}.panel-user-row>header{display:flex;align-items:center;gap:10px;min-width:0}.panel-user-row>header>div{min-width:0;flex:1}.panel-user-row>header strong,.panel-user-row>header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-user-row>header strong{font-size:12px}.panel-user-row>header small{margin-top:3px;color:var(--muted);font-size:9px}.user-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:800}.user-role-badge{padding:4px 8px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:8px;font-style:normal;font-weight:750}.user-edit-grid{display:grid;grid-template-columns:150px minmax(160px,1fr) minmax(160px,1fr) 120px;gap:10px}.user-disabled-toggle{align-content:end;gap:6px}.user-disabled-toggle>span:last-child{display:flex;align-items:center;gap:5px;height:38px;color:var(--ink-2);font-size:10px}.user-disabled-toggle input{width:14px;height:14px;margin:0;accent-color:var(--accent)}.permission-editor{display:grid;gap:10px;padding-top:3px;border-top:1px solid var(--line)}.permission-editor-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.permission-editor-head b{font-size:10px}.permission-editor-head small{color:var(--muted);font-size:8px}.permission-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.permission-groups section{min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.permission-groups h4{margin:0 0 7px;color:var(--ink-2);font-size:9px}.permission-groups section>div{display:grid;gap:5px}.permission-groups label{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:8px;line-height:1.3}.permission-groups label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-groups input{width:13px;height:13px;flex:0 0 13px;margin:0;accent-color:var(--accent)}.panel-user-row>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}.panel-user-row>footer small{color:var(--muted);font-size:8px}.panel-user-row>footer .button{flex:0 0 auto}
@media(max-width:1000px){.user-create-fields{grid-template-columns:1fr 1fr}.user-edit-grid{grid-template-columns:1fr 1fr}.permission-groups{grid-template-columns:1fr 1fr}}
@media(max-width:620px) and (pointer:coarse){.user-create-fields,.user-edit-grid,.permission-groups{grid-template-columns:1fr}.user-create-actions,.panel-user-row>footer{align-items:stretch;flex-direction:column}.user-create-actions .button,.panel-user-row>footer .button{width:100%}.user-create-form,.panel-user-row{padding:12px}}

/* Client address setup v52: keep deployed exports actionable when an Agent
   cannot report a routable address from its runtime environment. */
.client-address-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--amber-soft) 38%,var(--surface))}.client-address-form label{display:grid;gap:5px;color:var(--ink-2);font-size:9px;font-weight:750}.client-address-form input{width:100%;height:38px}.client-address-form small{color:var(--muted);font-size:8px;font-weight:400}.client-address-form>div{display:flex;gap:7px}.client-address-editor{border-bottom:1px solid var(--line)}.client-address-editor>summary{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:7px 16px;color:var(--muted);font-size:9px;font-weight:700;cursor:pointer}.client-address-editor>summary:hover{background:var(--surface-2);color:var(--accent)}.client-address-editor>summary i{font-style:normal}.client-address-editor[open]>summary i{transform:rotate(45deg)}.client-address-editor .client-address-form{border-top:1px solid var(--line);border-bottom:0}.client-address-missing{padding:14px 16px;border-bottom:1px solid var(--line);color:var(--amber);font-size:9px}.client-access-entry-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:92px;padding:18px;color:var(--muted);text-align:center}.client-access-entry-empty b{color:var(--ink-2);font-size:10px}.client-access-entry-empty span{margin-top:4px;font-size:9px}
@media(max-width:820px) and (pointer:coarse){.client-address-form{grid-template-columns:1fr;padding:12px}.client-address-form>div{display:grid;grid-template-columns:1fr 1fr}.client-address-form .button{width:100%}}


/* Port traffic quotas v53: per-port accounting and automatic enforcement. */
.traffic-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:12px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent-soft) 30%,var(--surface)));box-shadow:var(--shadow)}.traffic-hero h2{margin-top:3px;font-size:23px}.traffic-hero>div>p:last-child{max-width:560px;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.55}.traffic-hero>section{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:7px}.traffic-hero>section div{display:grid;gap:2px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.traffic-hero>section span{color:var(--muted);font-size:8px}.traffic-hero>section b{font-size:17px}.traffic-hero>section .bad b{color:var(--red)}.traffic-total{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;margin-bottom:12px;padding:11px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.traffic-total span{color:var(--muted);font-size:9px}.traffic-total strong{justify-self:end;font-size:11px}.traffic-total progress{width:100%;height:5px;grid-column:1/-1}.traffic-create{margin-bottom:12px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:12px;background:var(--surface);overflow:hidden}.traffic-create>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 16px;cursor:pointer}.traffic-create>summary b,.traffic-create>summary small{display:block}.traffic-create>summary b{font-size:11px}.traffic-create>summary small{margin-top:2px;color:var(--muted);font-size:8px}.traffic-create>summary i{color:var(--accent);font-style:normal}.traffic-create[open]>summary i{transform:rotate(45deg)}.traffic-create>form,.traffic-edit>form{display:grid;gap:12px;padding:14px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.traffic-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.traffic-form-grid label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:750}.traffic-form-grid input,.traffic-form-grid select{width:100%;min-width:0;height:36px;font-size:9px}.traffic-form-note{color:var(--muted);font-size:8px;line-height:1.6}.traffic-create>form>.button{justify-self:start}.traffic-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));align-items:start;gap:11px}.traffic-policy-card{border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.traffic-policy-card.is-blocked{border-color:color-mix(in srgb,var(--red) 38%,var(--line))}.traffic-policy-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line)}.traffic-policy-card>header>div{min-width:0;display:flex;align-items:center;gap:7px}.traffic-policy-card>header strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.traffic-policy-card>header code{flex:0 0 auto;color:var(--muted);font-size:8px}.traffic-policy-status{display:flex;align-items:center;gap:5px;flex:0 0 auto;padding:4px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:750}.traffic-policy-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.traffic-policy-status.ok{background:var(--green-soft);color:var(--green)}.traffic-policy-status.warn{background:var(--amber-soft);color:var(--amber)}.traffic-policy-status.bad{background:var(--red-soft);color:var(--red)}.traffic-usage{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:14px 15px}.traffic-usage>div{display:flex;align-items:baseline;gap:4px}.traffic-usage b{font-size:20px}.traffic-usage span{color:var(--muted);font-size:9px}.traffic-usage progress{width:100%;height:6px;grid-column:1/-1}.traffic-usage small{grid-column:1/-1;color:var(--muted);font-size:8px}.traffic-directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;border-block:1px solid var(--line);background:var(--line)}.traffic-directions div{min-width:0;padding:10px 12px;background:var(--surface-2)}.traffic-directions dt{color:var(--muted);font-size:8px}.traffic-directions dd{margin:2px 0 0;overflow:hidden;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.traffic-directions small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.traffic-error{margin:10px 14px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--red) 28%,var(--line));border-radius:8px;background:var(--red-soft);color:var(--red);font-size:8px;line-height:1.5;overflow-wrap:anywhere}.traffic-policy-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px}.traffic-edit{position:relative}.traffic-edit>summary{color:var(--accent);font-size:9px;font-weight:750;cursor:pointer}.traffic-edit[open]{width:100%;flex-basis:100%}.traffic-policy-card>footer:has(.traffic-edit[open]){align-items:stretch;flex-wrap:wrap}.traffic-edit>form{margin-top:9px;border:1px solid var(--line);border-radius:9px}.traffic-edit .traffic-form-grid{grid-template-columns:1fr 1fr}.traffic-edit form>div:last-child{display:flex;justify-content:flex-end;gap:7px}.traffic-edit [name=agent_id]{pointer-events:none;opacity:.7}
@media(max-width:1000px){.traffic-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px) and (pointer:coarse){.dock-nav{grid-template-columns:repeat(9,minmax(0,1fr))}.traffic-hero{align-items:stretch;flex-direction:column;padding:15px}.traffic-hero>section{width:100%}.traffic-form-grid,.traffic-edit .traffic-form-grid{grid-template-columns:1fr 1fr}.traffic-policy-grid{grid-template-columns:1fr}}
@media(max-width:520px) and (pointer:coarse){.traffic-hero>section{grid-template-columns:repeat(3,1fr)}.traffic-form-grid,.traffic-edit .traffic-form-grid{grid-template-columns:1fr}.traffic-policy-card>header{align-items:flex-start;flex-direction:column}.traffic-policy-card>header>div{width:100%;flex-wrap:wrap}.traffic-directions{grid-template-columns:1fr 1fr}.traffic-directions div:last-child{grid-column:1/-1}.traffic-policy-card>footer{align-items:stretch;flex-direction:column}.traffic-policy-card>footer>.button{width:100%}}

/* Central core logs v59: readable, aligned, immediate filtering. */
.core-log-workspace{display:grid;gap:14px}.core-log-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px}.core-log-header h2{font-size:25px;letter-spacing:-.025em}.core-log-header p{margin-top:4px;color:var(--muted);font-size:11px}.core-log-header p strong{color:var(--ink-2)}.core-log-auto{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:650}.core-log-auto button{position:relative;width:38px;height:22px;padding:0;border:0;border-radius:999px;background:var(--line-2)}.core-log-auto button i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px color-mix(in srgb,var(--ink) 28%,transparent)}.core-log-auto button[aria-checked=true]{background:var(--accent)}.core-log-auto button[aria-checked=true] i{transform:translateX(16px)}
.core-log-filters{display:grid;grid-template-columns:minmax(500px,1.15fr) minmax(350px,.8fr) minmax(260px,1fr) 110px auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow)}.core-log-filter-group,.core-log-filters label{display:grid;gap:7px;min-width:0;color:var(--muted);font-size:11px;font-weight:750}.core-log-filter-group>div{height:42px;display:flex;align-items:stretch;gap:4px;padding:4px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface-2)}.core-log-filter-group button{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;white-space:nowrap}.core-log-filter-group button span{overflow:hidden;color:var(--ink-2);font-size:11px;font-weight:750;text-overflow:ellipsis}.core-log-filter-group button b{min-width:22px;padding:2px 6px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:9px;line-height:1.3}.core-log-filter-group button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 4px color-mix(in srgb,var(--ink) 14%,transparent)}.core-log-filter-group button[aria-pressed=true] span{color:var(--accent)}.core-log-filter-group button[aria-pressed=true] b{background:var(--accent-soft);color:var(--accent)}.core-log-filters input,.core-log-filters select{width:100%;min-width:0;height:42px;font-size:11px}.core-log-filters .button{min-height:42px;padding-inline:12px;font-size:11px}.core-log-status{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 4px;color:var(--muted);font-size:10px}.core-log-status strong{color:var(--ink-2)}.core-log-status>span:last-child,.core-log-live{display:flex;align-items:center;gap:9px}.core-log-live{color:var(--green)}.core-log-live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.core-log-stream{--core-log-grid:168px 130px 72px 150px minmax(360px,1fr);min-height:360px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-2);overflow:hidden;box-shadow:var(--shadow)}.core-log-columns,.core-log-row{min-width:0;display:grid;grid-template-columns:var(--core-log-grid);align-items:center;gap:12px;padding-inline:16px}.core-log-columns{min-height:38px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:750}.core-log-row{position:relative;min-height:60px;padding-top:11px;padding-bottom:11px;border-bottom:1px solid var(--line);background:var(--surface)}.core-log-row:last-child{border-bottom:0}.core-log-row:hover{background:var(--surface-2)}.core-log-row time,.core-log-row span{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.core-log-row time{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.core-log-row .engine-badge{min-height:30px;justify-self:start;padding:5px 9px;background:var(--surface);font-size:11px}.core-log-level{color:var(--muted);font-weight:750}.core-log-agent{color:var(--muted)}.core-log-row pre{min-width:0;margin:0;color:var(--ink-2);font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;white-space:pre-wrap}.core-log-row.level-warning{background:color-mix(in srgb,var(--amber-soft) 42%,var(--surface));box-shadow:inset 3px 0 var(--amber)}.core-log-row.level-warning .core-log-level{color:var(--amber)}.core-log-row.level-error,.core-log-row.level-critical{background:color-mix(in srgb,var(--red-soft) 38%,var(--surface));box-shadow:inset 3px 0 var(--red)}.core-log-row.level-error .core-log-level,.core-log-row.level-critical .core-log-level{color:var(--red)}.core-log-row.level-debug pre{color:var(--muted)}.core-log-empty{min-height:328px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);text-align:center}.core-log-empty strong{color:var(--ink-2);font-size:13px}.core-log-empty span{margin-top:5px;font-size:11px}.core-log-source-notice{display:flex;align-items:center;gap:9px;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--amber) 30%,var(--line));background:var(--amber-soft);color:var(--amber);font-size:11px}.core-log-source-notice strong{color:var(--amber)}.core-log-source-notice span{min-width:0}
@media(max-width:1600px){.core-log-filters{grid-template-columns:minmax(400px,1.2fr) minmax(280px,.8fr) minmax(220px,1fr)}.core-log-limit{grid-column:1}.core-log-reset{grid-column:2;justify-self:start}.core-log-stream{--core-log-grid:150px 118px 64px 118px minmax(220px,1fr)}}
@media(max-width:820px) and (pointer:coarse){.core-log-header{align-items:center}.core-log-filters{grid-template-columns:1fr;padding:10px}.core-log-filter-group>div{height:auto;min-height:42px;flex-wrap:wrap}.core-log-filter-group button{min-width:calc(25% - 3px);min-height:34px}.core-log-engine-filter button{min-width:calc(33.33% - 3px)}.core-log-limit,.core-log-reset{grid-column:auto}.core-log-reset{justify-self:stretch}.core-log-row{grid-template-columns:1fr auto auto;padding:9px 10px}.core-log-columns{display:none}.core-log-row time{grid-column:1}.core-log-agent{grid-column:1}.core-log-row pre{grid-column:1/-1;padding-top:2px}.core-log-empty{min-height:280px}.page-core-logs .dock-nav a.active{color:var(--accent)}}
@media(max-width:480px) and (pointer:coarse){.core-log-level-filter button{min-width:calc(50% - 3px)}.core-log-row{grid-template-columns:1fr auto}.core-log-level{display:none}.core-log-row pre{grid-column:1/-1}.core-log-status>span:last-child>span:last-child{display:none}}
/* Core logs v60: size against the workspace instead of the full viewport. */
@media(pointer:fine){.app-body.page-core-logs .desktop-app{min-width:0}}
.core-log-workspace{min-width:0;container-type:inline-size}.core-log-filters{display:flex;align-items:flex-end;flex-wrap:wrap}.core-log-engine-filter{min-width:min(100%,430px);flex:1 1 430px}.core-log-level-filter{min-width:min(100%,310px);flex:1 1 310px}.core-log-search{min-width:min(100%,240px);flex:1 1 240px}.core-log-limit{width:104px;flex:0 1 104px}.core-log-reset{flex:0 0 auto}.core-log-status{min-width:0;flex-wrap:wrap}.core-log-status>span:last-child{flex-wrap:wrap}.core-log-stream{--core-log-grid:minmax(130px,.85fr) minmax(88px,.6fr) minmax(58px,.38fr) minmax(96px,.65fr) minmax(0,3.5fr);width:100%;max-width:100%;min-width:0}.core-log-columns,.core-log-row{min-width:0}
@container(max-width:840px){.core-log-columns{display:none}.core-log-stream{overflow:hidden}.core-log-row{grid-template-columns:minmax(140px,1fr) auto auto;gap:8px;padding:10px 12px}.core-log-row time{grid-column:1}.core-log-agent{grid-column:1}.core-log-row pre{grid-column:1/-1;padding-top:2px}.core-log-empty{min-height:280px}.core-log-source-notice{align-items:flex-start;flex-wrap:wrap}}
@container(max-width:560px){.core-log-filter-group>div{height:auto;min-height:42px;flex-wrap:wrap}.core-log-filter-group button{min-width:calc(50% - 3px);min-height:34px}.core-log-engine-filter button{min-width:calc(33.33% - 3px)}.core-log-row{grid-template-columns:minmax(0,1fr) auto}.core-log-level{display:none}.core-log-status>span:last-child>span:last-child{display:none}}

/* Node settings v55: one selected-node workspace with dense core operations. */
.node-settings-page,.node-settings-stack{width:100%;max-width:1280px;margin-inline:auto}.node-settings-page:has(> .node-card-grid){max-width:none}.node-settings-stack{display:grid;gap:12px}.node-operations-workspace{min-width:0}.node-operations-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 2px 14px;border-bottom:1px solid var(--line)}.node-operations-title{min-width:0;display:flex;align-items:center;gap:11px}.node-operations-title .machine-avatar{width:42px;height:42px;flex:0 0 42px}.node-operations-title>div{min-width:0}.node-operations-title h2{margin-top:2px;overflow:hidden;font-size:22px;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.node-operations-title code{display:block;margin-top:1px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.node-live-state{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8px}.node-live-state b{color:var(--ink-2)}.node-live-state small:before{content:"·";margin-right:5px}.node-operations-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.node-resource-strip{position:relative;display:grid;grid-template-columns:.7fr 1fr 1fr 1.35fr;margin-top:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.node-resource-strip>div{min-width:0;padding:11px 13px;border-left:1px solid var(--line)}.node-resource-strip>div:first-child{border-left:0}.node-resource-strip span,.node-resource-strip strong,.node-resource-strip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-resource-strip>div>span{color:var(--muted);font-size:8px}.node-resource-strip>div>strong{margin-top:3px;font-size:11px}.node-resource-strip>div>small{margin-top:3px;color:var(--muted);font-size:8px}.node-resource-strip i,.node-resource-strip b{font-style:normal}.node-resource-strip progress{width:100%;height:4px;display:block;margin-top:7px;border:0;border-radius:4px}.node-resource-strip progress::-webkit-progress-bar{border-radius:4px;background:var(--line)}.node-resource-strip progress::-webkit-progress-value{border-radius:4px;background:var(--accent);transition:width .55s cubic-bezier(.25,.46,.45,.94)}
.node-settings-tabs{display:flex;align-items:center;gap:24px;margin-top:15px;border-bottom:1px solid var(--line)}.node-settings-tabs button{position:relative;min-width:76px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;padding:8px 4px;color:var(--muted);font-size:10px;font-weight:750;cursor:pointer}.node-settings-tabs button:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:transparent;content:""}.node-settings-tabs button:hover{color:var(--ink)}.node-settings-tabs button[aria-selected="true"]{color:var(--accent)}.node-settings-tabs button[aria-selected="true"]:after{background:var(--accent)}.node-settings-tabs button span{min-width:26px;padding:2px 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:8px}.node-settings-tabs button[aria-selected="true"] span{background:var(--accent-soft);color:var(--accent)}.node-settings-panels{padding-top:13px}.node-tab-panel[hidden]{display:none}.node-panel-heading{min-height:42px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 2px 10px}.node-panel-heading h3{font-size:14px;letter-spacing:0}.node-panel-heading small,.node-panel-heading>span{display:block;margin-top:2px;color:var(--muted);font-size:8px}.core-runtime-list{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.page-agents .core-runtime-row{border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none;transition:background .14s ease}.page-agents .core-runtime-row:last-child{border-bottom:0}.page-agents .core-runtime-row:hover{transform:none;border-color:var(--line);background:var(--surface-2);box-shadow:none}.core-runtime-summary{min-height:64px;display:grid;grid-template-columns:minmax(170px,.8fr) minmax(190px,1fr) auto;align-items:center;gap:14px;padding:10px 12px}.core-runtime-name{min-width:0;display:flex;align-items:center;gap:9px}.core-runtime-name .engine-state{min-width:0}.core-runtime-version{min-width:0}.core-runtime-version small,.core-runtime-version strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.core-runtime-version small{color:var(--muted);font-size:8px}.core-runtime-version strong{margin-top:3px;color:var(--ink-2);font-size:10px}.core-runtime-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.core-action-group{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden}.core-action{width:34px;height:32px;display:grid;place-items:center;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--surface);padding:0;color:var(--muted);cursor:pointer}.core-action:last-child{border-right:0}.core-action:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.core-action.danger:hover:not(:disabled){background:var(--red-soft);color:var(--red)}.core-action:disabled{background:var(--surface-2);color:var(--line-2);cursor:not-allowed}.core-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.core-action svg rect{fill:none}.core-version-panel:not([open]){display:none}.core-version-panel{border-top:1px solid var(--line);background:var(--surface-2)}.core-version-panel>summary{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:7px 12px;color:var(--ink-2);cursor:pointer}.core-version-panel>summary b{font-size:9px}.core-version-panel>summary span{color:var(--accent);font-size:8px;font-weight:700}.page-agents .core-version-panel .runtime-drawer-body{padding:0 12px 12px;background:transparent}.page-agents .core-version-panel .core-version-form{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr) auto;align-items:end;gap:9px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.page-agents .core-version-panel .core-version-form>small{grid-column:1/-1}
.node-metrics-panel>.metric-trend-empty,.node-metrics-panel>.metric-trend-panel{min-height:230px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.node-metrics-panel>.metric-trend-panel{padding:16px}.node-agent-panel{padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.node-agent-panel>.node-panel-heading{padding:0 0 10px;border-bottom:1px solid var(--line)}.node-identity-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:5px}.node-identity-list div{min-width:0}.node-identity-list dd{min-width:0;overflow-wrap:anywhere}.node-agent-panel>.labels{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.node-agent-panel>.labels span{padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:8px}.node-agent-panel .node-identity-refresh{margin-top:9px}.node-agent-panel .node-danger-zone{margin-top:12px}.node-public-ips{margin-top:12px;padding:10px 12px 4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.node-public-ips>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:7px}.node-public-ips>header b{font-size:10px}.node-public-ips>header small{color:var(--muted);font-size:8px}.public-ip-row{display:flex;align-items:center;gap:9px;min-height:32px;padding:6px 0;border-top:1px solid var(--line)}.ip-family{flex:none;display:inline-grid;place-items:center;min-width:38px;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:800;font-style:normal;letter-spacing:.05em}.ip-family.v4{border:1px solid color-mix(in srgb,var(--blue) 32%,var(--line));background:var(--blue-soft);color:var(--blue)}.ip-family.v6{border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);color:var(--accent)}.public-ip-row code{min-width:0;flex:1;overflow-wrap:anywhere;word-break:break-all;font-size:12px}.public-ip-row small{flex:none;color:var(--muted);font-size:8px}.public-ip-row.empty code{color:var(--muted);font-weight:400}.node-card-ips{display:flex;flex-direction:column;gap:3px;margin:9px 14px 0;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.card-ip-row{display:flex;align-items:center;gap:7px;min-width:0}.card-ip-row .ip-family{min-width:32px;padding:1px 5px;font-size:9px}.card-ip-row code{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.card-ip-row.empty code{color:var(--line-2);font-weight:400}.card-ip-copy{flex:none;width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:0;color:var(--muted);cursor:pointer}.card-ip-copy:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);color:var(--accent)}.card-ip-copy svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card-ip-copy .copy-check{display:none}.card-ip-copy.copied{border-color:var(--green);background:var(--green-soft);color:var(--green)}.card-ip-copy.copied rect{display:none}.card-ip-copy.copied .copy-check{display:block}
.node-batch-panel{margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.node-batch-panel>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;cursor:pointer}.node-batch-panel>summary b,.node-batch-panel>summary small{display:block}.node-batch-panel>summary b{font-size:10px}.node-batch-panel>summary small{margin-top:2px;color:var(--muted);font-size:8px}.node-batch-panel>summary i{color:var(--accent);font-size:9px;font-style:normal}.node-batch-panel[open]>summary i{transform:rotate(45deg)}.node-batch-panel .batch-toolbar{display:grid;gap:10px;margin:0;padding:11px 12px;border-width:1px 0 0;border-radius:0;background:var(--surface-2)}.batch-selection-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-selection-head>strong{color:var(--ink-2);font-size:9px}.batch-select-all{display:inline-flex;align-items:center;gap:7px;min-height:34px;margin:0;padding:6px 11px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--accent);font-size:9px;font-weight:800;cursor:pointer}.batch-select-all:has(input:checked),.batch-select-all:has(input[aria-checked="mixed"]){border-color:var(--accent);background:var(--accent-soft)}.batch-select-all input,.batch-select input{accent-color:var(--accent)}.batch-select-all:has(input:disabled){opacity:.48;cursor:not-allowed}.batch-node-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px}.batch-node-options .batch-select{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.batch-node-options .batch-select:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.batch-node-options .batch-select:has(input:disabled){opacity:.62}.batch-node-options .batch-select>span{min-width:0}.batch-node-options .batch-select b,.batch-node-options .batch-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-node-options .batch-select b{font-size:9px}.batch-node-options .batch-select small{margin-top:2px;color:var(--muted);font-size:8px}.batch-controls{display:flex;align-items:center;gap:9px}.batch-controls label{display:flex;align-items:center;gap:5px}
@media(max-width:820px) and (pointer:coarse){.node-operations-header{min-height:0;align-items:stretch;flex-direction:column;gap:12px;padding:2px 0 12px}.node-operations-title .machine-avatar{width:38px;height:38px;flex-basis:38px}.node-operations-title h2{font-size:19px}.node-operations-actions{display:grid;grid-template-columns:1fr 1fr}.node-operations-actions .button{width:100%}.node-resource-strip{grid-template-columns:1fr 1fr}.node-resource-strip>div{padding:10px}.node-resource-strip>div:nth-child(3){border-top:1px solid var(--line);border-left:0}.node-resource-strip>div:nth-child(4){border-top:1px solid var(--line)}.node-settings-tabs{gap:0}.node-settings-tabs button{min-width:0;flex:1}.node-settings-panels{padding-top:11px}.core-runtime-summary{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:11px}.core-runtime-name{grid-column:1}.core-runtime-version{grid-column:1;grid-row:2}.core-runtime-actions{grid-column:1/-1;grid-row:3;justify-content:space-between;padding-top:8px;border-top:1px solid var(--line)}.core-runtime-summary:not(:has(.core-action-group)) .core-runtime-actions{grid-column:2;grid-row:1/3;align-self:center;padding:0;border:0}.core-action{width:44px;height:42px}.core-runtime-actions>.button{min-width:76px}.page-agents .core-version-panel .runtime-drawer-body{padding:0 10px 10px}.page-agents .core-version-panel .core-version-form{grid-template-columns:1fr}.page-agents .core-version-panel .core-version-form>small{grid-column:auto}.node-metrics-panel>.metric-trend-empty,.node-metrics-panel>.metric-trend-panel{min-height:210px}.node-agent-panel{padding:12px}.node-identity-list{grid-template-columns:1fr}.node-agent-panel .node-identity-refresh{align-items:stretch}.node-agent-panel .node-identity-refresh>div{display:grid;grid-template-columns:1fr}.node-agent-panel .node-identity-refresh button{width:100%}.batch-controls{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.batch-controls label{align-items:stretch;display:grid;gap:5px}.batch-controls .button{width:100%}.node-batch-panel>summary{min-height:52px}.enrollment-form-actions{display:grid;grid-template-columns:1fr 1fr}.enrollment-form-actions .button{width:100%}}
@media(max-width:480px) and (pointer:coarse){.node-resource-strip>div>strong{font-size:9px}.node-resource-strip>div>small{font-size:7px}.core-action-group{flex:1}.core-action{width:auto;flex:1}.core-runtime-actions>.button{min-width:68px}.batch-controls{grid-template-columns:1fr}.batch-controls>small{grid-column:1}}
@media(prefers-reduced-motion:reduce){.node-resource-strip progress::-webkit-progress-value{transition:none}.page-agents .core-runtime-row{transition:none}}
/* node settings overview cards: the container spans the full workspace width
   so the auto-fill grid adds columns on larger windows while cards stay
   left-aligned and keep their original size. */
.app-body.no-context .desktop-app{grid-template-columns:76px minmax(0,1fr)}
.app-body.no-context .context-sidebar{display:none}
.node-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
.node-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
a.node-card:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));box-shadow:var(--shadow-lift);transform:translateY(-1px)}
a.node-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.node-card.batch-selecting{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.node-card.batch-selecting:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));box-shadow:var(--shadow-lift);transform:translateY(-1px)}
.node-card.batch-selecting.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 14px 30px -24px color-mix(in srgb,var(--accent) 74%,transparent)}
.node-card-head{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--line)}
.node-card-select{position:relative;width:24px;height:28px;display:grid;place-items:center;flex:0 0 24px;margin-right:-6px;border-radius:6px;cursor:pointer}
.node-card-select:hover{background:var(--accent-soft)}
.node-card-select input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.node-card-select span{position:relative;width:18px;height:18px;display:block;border:1px solid var(--line-2);border-radius:5px;background:var(--surface);box-shadow:inset 0 0 0 1px transparent}
.node-card-select input:checked+span{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.node-card-select input:checked+span:after{position:absolute;left:5px;top:2px;width:5px;height:9px;display:block;border-right:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);content:"";transform:rotate(45deg)}
.node-card-select input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.node-card-select input:disabled+span{background:var(--surface-3);opacity:.48}
.node-card-grip{display:grid;place-items:center;width:24px;height:28px;flex:0 0 24px;margin-right:-6px;border-radius:6px;color:var(--line-2);cursor:grab;touch-action:none}
.node-card-grip:hover{color:var(--muted);background:var(--surface-2)}
.node-card-grip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.node-card.dragging{position:relative;z-index:5;opacity:.4;cursor:grabbing}
body.node-card-dragging{cursor:grabbing;user-select:none}
body.node-card-dragging a.node-card{transform:none}
body.node-card-dragging a.node-card:hover{border-color:var(--line);box-shadow:var(--shadow);transform:none}
a.node-card.node-card-ghost{position:fixed;z-index:60;margin:0;pointer-events:none;opacity:.96;box-shadow:var(--shadow-lift);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));cursor:grabbing;will-change:transform;transform-origin:top left}
body.node-card-dragging a.node-card.drop-target{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 60%,transparent),var(--shadow);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.node-card-head .machine-avatar{width:38px;height:38px;flex:0 0 38px}
.node-card-title{min-width:0;flex:1}
.node-card-title strong,.node-card-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.node-card-title strong{font-size:13px}
.node-card-title small{margin-top:1px;color:var(--muted);font-size:9px}
.node-card-state{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.node-card-state b{font-size:10px}
.node-card-state small{color:var(--muted);font-size:8px}
.node-card-resources{position:relative;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.node-card-resources>div{min-width:0;padding:10px 14px}
.node-card-resources>div:nth-child(2n){border-left:1px solid var(--line)}
.node-card-resources>div:nth-child(n+3){border-top:1px solid var(--line)}
.node-card-resources span,.node-card-resources strong,.node-card-resources small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.node-card-resources span{color:var(--muted);font-size:8px}
.node-card-resources strong{margin-top:3px;font-size:11px}
.node-card-resources small{margin-top:3px;color:var(--muted);font-size:8px}
.node-card-resources i,.node-card-resources b{font-style:normal;font-weight:inherit}
.node-card-resources progress{width:100%;height:4px;display:block;margin-top:6px;border:0;border-radius:4px}
.node-card-cores{display:flex;flex-wrap:wrap;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line)}
.core-chip{display:flex;align-items:center;gap:6px;min-width:0;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.core-chip .engine-badge{min-height:0;padding:2px 6px;font-size:9px}
.core-chip .engine-state b{font-size:9px}
.node-card-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding:10px 14px}
.node-card-foot>small{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto;color:var(--muted);font-size:8px}
.node-card-foot>small i{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--green)}
.node-card-foot>small span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.node-card-stamp{flex:1 1 auto;overflow:hidden;color:var(--muted);font-size:8px;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.node-card-open{display:flex;align-items:center;gap:5px;flex:0 0 auto;color:var(--accent);font-size:10px;font-weight:700}
.node-card-open i{font-style:normal;transition:transform .16s ease}
a.node-card:hover .node-card-open i{transform:translateX(3px)}
.node-card[data-state="offline"] .node-card-resources,.node-card[data-state="offline"] .node-card-cores{opacity:.55}
.node-card[data-state="offline"] .node-card-foot>small i{background:var(--muted)}
.node-batch-form{display:contents}
.node-batch-bar{position:fixed;z-index:58;left:calc(50% + 38px);bottom:22px;width:min(920px,calc(100vw - 124px));display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--surface) 96%,var(--accent-soft));padding:10px 12px;box-shadow:0 22px 56px -24px rgba(15,18,38,.48);transform:translateX(-50%)}
.node-batch-bar .batch-selection-head{min-width:190px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding-right:12px;border-right:1px solid var(--line)}
.node-batch-bar .batch-selection-head>strong{font-size:9px;white-space:nowrap}
.node-batch-bar .batch-select-all{min-height:34px;padding:5px 9px}
.node-batch-bar .batch-select-all input{width:14px;height:14px;margin:0}
.node-batch-bar .batch-controls{min-width:0;display:flex;align-items:end;justify-content:flex-end;gap:7px}
.node-batch-bar .batch-controls label{min-width:128px;display:grid;gap:3px;color:var(--muted);font-size:8px;font-weight:700}
.node-batch-bar .batch-controls label>span{padding-left:2px}
.node-batch-bar .batch-controls select{width:100%;height:34px;min-height:34px;padding:0 9px;font-size:9px}
.node-batch-bar .batch-controls .button{height:34px;min-height:34px}
.node-batch-close{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:18px;line-height:1}
.node-batch-close:hover{border-color:var(--accent);color:var(--accent)}
.node-batch-bar .batch-results{position:absolute;right:0;bottom:calc(100% + 8px);width:min(460px,100%);max-height:260px;display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-lift);overflow:auto}
.node-batch-bar .batch-results[hidden]{display:none}
.node-back-link{display:inline-flex;align-items:center;gap:5px;margin:2px 2px 10px;color:var(--muted);font-size:10px;font-weight:700}
.node-back-link:hover{color:var(--accent)}
@media(max-width:820px) and (pointer:coarse){.node-card-grid{grid-template-columns:1fr}.node-back-link{margin-bottom:8px}.node-batch-bar{left:12px;right:12px;bottom:84px;width:auto;grid-template-columns:1fr;padding:10px;transform:none}.node-batch-bar .batch-selection-head{min-width:0;display:flex;padding:0 0 8px;border-right:0;border-bottom:1px solid var(--line)}.node-batch-bar .batch-controls{display:grid;grid-template-columns:1fr 1fr}.node-batch-bar .batch-controls label{min-width:0}.node-batch-bar .batch-controls .button{width:100%}.node-batch-close{position:absolute;right:9px;top:9px}.node-batch-bar .batch-selection-head{padding-right:42px}.node-batch-bar .batch-results{left:0;right:0;width:auto}}
@media(max-width:480px) and (pointer:coarse){.node-batch-bar .batch-controls{grid-template-columns:1fr 1fr}.node-batch-bar .batch-controls label{grid-column:span 1}}
@media(prefers-reduced-motion:reduce){.node-card,.node-card-open i{transition:none}}
/* Desktop (fine-pointer) browsers keep one fixed layout: zooming scales the
   whole page uniformly and narrower windows scroll instead of reflowing into
   the compact layout, which stays reserved for coarse-pointer devices. */
@media (pointer:fine){.app-body .desktop-app{min-width:1404px}}
/* Sidebar navigation: distinct workflow icons and compact mobile overflow. */
.dock-tools .dock-settings{position:relative;width:46px;min-height:46px;display:grid;place-items:center;margin:0 auto;border:0;border-radius:10px;background:transparent;color:#7e8597}
.dock-tools .dock-settings:hover{background:color-mix(in srgb,var(--dock-2) 84%,var(--accent));color:#fff}
.dock-tools .dock-settings.active{background:var(--accent);color:var(--on-accent)}
.dock-tools .dock-settings.active::before{content:"";position:absolute;left:-7px;top:50%;width:3px;height:22px;border-radius:3px;background:var(--accent);transform:translateY(-50%)}
.dock-tools .dock-settings:hover .dock-label{opacity:1;transform:translate(0,-50%)}
@media(max-width:820px) and (pointer:coarse){.dock-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.dock-nav .dock-mobile-secondary{display:none}.mobile-account-menu>summary svg{width:18px;height:18px;fill:currentColor}.mobile-account-menu>summary.active{border-color:color-mix(in srgb,var(--accent) 36%,var(--line-2));background:var(--accent-soft);color:var(--accent)}.mobile-account-menu a,.mobile-account-menu button{width:100%;min-height:42px;display:flex;align-items:center;border:0;border-radius:7px;background:transparent;padding:7px 10px;color:var(--ink);text-align:left}.mobile-account-menu a:hover,.mobile-account-menu button:hover{background:var(--surface-2)}.mobile-account-menu a.active{background:var(--accent-soft);color:var(--accent);font-weight:700}}
/* Kernel presets: keep the selected node's engine cards in one column. */
.preset-node-workspace>.service-canvas>.service-grid{grid-template-columns:minmax(0,1fr)}
/* Client access: keep the context sidebar as the sole node filter on narrow screens. */
@media(max-width:820px) and (pointer:coarse){.page-client-access .context-sidebar{display:flex}}
/* Server plans: report local regeneration results without moving the workspace scroll position. */
.builder-regenerate-status{min-width:0;margin-right:auto;overflow:hidden;color:var(--green);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.builder-regenerate-status.error{color:var(--red)}
.generated-input-control{display:flex;margin-top:4px}.generated-input-control input{flex:1;margin-top:0;border-radius:7px 0 0 7px}.generated-input-control .field-generate-button{border:1px solid var(--line-2);border-left:0;border-radius:0 7px 7px 0;background:var(--surface-2);padding:0 10px;color:var(--accent);font-size:9px;white-space:nowrap}.server-form .secret-value-control button{border-radius:0}.server-form .secret-value-control button:last-child{border-radius:0 7px 7px 0}.server-form .field-generate-button{min-width:52px;padding-inline:8px}
/* Refresh and mutation notices overlay the workspace instead of shifting it. */
.workspace-main>[data-spa-notice]{position:fixed;right:24px;top:70px;z-index:70;width:min(420px,calc(100vw - 32px));margin:0;box-shadow:var(--shadow)}
.core-log-status[data-refresh-error]{color:var(--amber)}.core-log-status[data-refresh-error] i{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.traffic-total[data-refresh-error]{border-color:color-mix(in srgb,var(--amber) 45%,var(--line))}

/* Port traffic history v54: control-plane daily aggregation and direct filters. */
.traffic-hero>div>p:last-child{font-size:12px}.traffic-hero>section span,.traffic-total span{font-size:11px}.traffic-hero>section b{font-size:21px}.traffic-total strong{font-size:13px}.traffic-filters{display:grid;grid-template-columns:1.15fr .8fr 1.35fr .9fr .8fr auto;align-items:end;gap:10px;margin-bottom:12px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}.traffic-filters label{display:grid;min-width:0;gap:6px;color:var(--muted);font-size:11px;font-weight:750}.traffic-filters select,.traffic-filters input{width:100%;min-width:0;height:40px;font-size:12px}.traffic-filters>.button{height:40px;white-space:nowrap}.traffic-history{margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.traffic-history>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px 10px}.traffic-history>header>div{display:grid;gap:3px}.traffic-history>header span,.traffic-history dt{color:var(--muted);font-size:11px}.traffic-history>header strong{font-size:24px}.traffic-history>header dl{display:flex;gap:24px;margin:0}.traffic-history>header dl div{display:grid;gap:3px}.traffic-history>header dd{margin:0;font-size:13px;font-weight:800}.traffic-chart-legend{display:flex;align-items:center;gap:15px;padding:0 18px;color:var(--muted);font-size:10px}.traffic-chart-legend span{display:flex;align-items:center;gap:5px}.traffic-chart-legend span::before{width:8px;height:8px;border-radius:2px;background:var(--accent);content:""}.traffic-chart-legend .sent::before{background:color-mix(in srgb,var(--accent) 35%,var(--green))}.traffic-chart-legend small{margin-left:auto;font-size:10px}.traffic-month-chart{height:190px;margin:8px 18px 0;padding:12px 6px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,color-mix(in srgb,var(--line) 70%,transparent) 44px)}.traffic-month-chart svg{display:block;width:100%;height:100%;overflow:visible}.traffic-month-chart rect{cursor:help}.traffic-month-chart .traffic-bar-received{fill:var(--accent)}.traffic-month-chart .traffic-bar-sent{fill:color-mix(in srgb,var(--accent) 35%,var(--green))}.traffic-month-chart text{fill:var(--muted);font-size:9px;text-anchor:middle}.traffic-month-chart g:hover rect{filter:brightness(1.12)}.traffic-daily{border-top:1px solid var(--line)}.traffic-daily>summary{padding:12px 18px;color:var(--accent);font-size:11px;font-weight:800;cursor:pointer}.traffic-daily>div{max-height:330px;overflow:auto;border-top:1px solid var(--line)}.traffic-daily table{width:100%;border-collapse:collapse;font-size:11px}.traffic-daily th{position:sticky;z-index:1;top:0;background:var(--surface-2);color:var(--muted);font-size:10px;text-align:left}.traffic-daily th,.traffic-daily td{padding:9px 18px;border-bottom:1px solid var(--line);white-space:nowrap}.traffic-daily td:last-child{color:var(--muted)}.traffic-form-grid label{font-size:11px}.traffic-form-grid input,.traffic-form-grid select{height:40px;font-size:12px}.traffic-create>summary b{font-size:13px}.traffic-create>summary small,.traffic-form-note{font-size:10px}.traffic-auto-block{display:flex;align-items:center;gap:10px;justify-self:start;color:var(--text);cursor:pointer}.traffic-auto-block input{width:17px;height:17px;accent-color:var(--accent)}.traffic-auto-block span{display:grid;gap:2px}.traffic-auto-block b{font-size:12px}.traffic-auto-block small{color:var(--muted);font-size:10px}.traffic-policy-card>header strong{font-size:13px}.traffic-policy-card>header code,.traffic-policy-status{font-size:10px}.traffic-usage span,.traffic-usage small,.traffic-directions dt,.traffic-directions small{font-size:10px}.traffic-directions dd{font-size:12px}.traffic-error{font-size:10px}
@media(max-width:1200px){.traffic-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.traffic-filters>.button{justify-self:start}.traffic-month-chart{gap:3px}}
@media(max-width:820px) and (pointer:coarse){.traffic-filters{grid-template-columns:1fr 1fr}.traffic-history>header{align-items:flex-start;flex-direction:column}.traffic-month-chart{height:160px;margin-inline:10px;gap:2px}.traffic-chart-legend{padding-inline:12px}.traffic-daily th,.traffic-daily td{padding-inline:12px}}
@media(max-width:520px) and (pointer:coarse){.traffic-filters{grid-template-columns:1fr}.traffic-history>header dl{width:100%;justify-content:space-between}.traffic-chart-legend small{display:none}.traffic-day-bar small{font-size:7px}}
.traffic-filters{grid-template-columns:.8fr 1.35fr .9fr auto}
.dashboard-traffic-history{width:100%;max-width:1240px;margin:14px auto 0;border-radius:12px;box-shadow:none}.dashboard-traffic-head{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center!important;gap:18px!important;padding:17px 18px 13px!important;border-bottom:1px solid var(--line)}.dashboard-traffic-title{min-width:0;display:block!important}.dashboard-traffic-title h3{margin-top:2px;font-size:17px;letter-spacing:-.02em}.dashboard-traffic-title small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.dashboard-traffic-total{min-width:120px;display:grid!important;gap:2px;padding-right:18px;border-right:1px solid var(--line)}.dashboard-traffic-total strong{font-size:25px!important;letter-spacing:-.03em}.dashboard-traffic-head dl{gap:9px!important}.dashboard-traffic-head dl div{min-width:88px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.dashboard-traffic-head dd{font-size:12px!important}.dashboard-traffic-month{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:750}.dashboard-traffic-month input{width:150px;height:38px;font-size:11px}.dashboard-traffic-history .traffic-chart-legend{padding-top:12px}.dashboard-traffic-chart{height:152px;margin-top:2px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 35px,color-mix(in srgb,var(--line) 70%,transparent) 36px)}.dashboard-traffic-actions{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px;border-top:1px solid var(--line)}.dashboard-traffic-actions>a{color:var(--accent);font-size:10px;font-weight:800}.dashboard-traffic-actions>a:hover{text-decoration:underline}.dashboard-traffic-dialog{width:min(820px,calc(100% - 32px))}.dashboard-traffic-detail-body{max-height:min(540px,calc(100vh - 220px));overflow:auto;background:var(--surface)}.dashboard-traffic-detail-body table{width:100%;border-collapse:collapse;font-size:11px}.dashboard-traffic-detail-body th{position:sticky;z-index:1;top:0;background:var(--surface-2);color:var(--muted);font-size:10px;text-align:left}.dashboard-traffic-detail-body th,.dashboard-traffic-detail-body td{padding:10px 18px;border-bottom:1px solid var(--line);white-space:nowrap}.dashboard-traffic-detail-body td:last-child{color:var(--muted)}.dashboard-traffic-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:var(--surface)}.dashboard-traffic-dialog-actions span{color:var(--muted);font-size:9px}
.traffic-policy-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),440px));justify-content:start;gap:12px}.traffic-policy-card{width:100%;border-radius:12px;box-shadow:none}.traffic-policy-card>header{align-items:flex-start;padding:14px 15px;background:var(--surface)}.traffic-policy-heading{min-width:0;display:flex;align-items:center;gap:9px}.traffic-policy-heading>span:last-child{min-width:0;display:grid;gap:3px}.traffic-policy-heading strong{display:block;max-width:100%;font-size:13px}.traffic-policy-heading small{min-width:0;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.traffic-policy-heading code{color:var(--ink-2);font-size:9px}.traffic-policy-status{padding:4px 7px}.traffic-policy-status.neutral{background:var(--surface-3);color:var(--muted)}.traffic-usage{padding:16px 15px 14px}.traffic-usage b{font-size:23px;letter-spacing:-.025em}.traffic-usage progress{height:5px}.traffic-usage small{line-height:1.5}.traffic-directions{gap:8px;padding:0 14px 14px;border:0;background:var(--surface)}.traffic-directions div{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.traffic-policy-card>footer{justify-content:flex-end;padding:10px 14px;border-top:1px solid var(--line);background:var(--surface)}.traffic-policy-card>footer .button{min-height:32px}.traffic-policy-card>footer .button:first-child{margin-right:auto}.traffic-edit-dialog{width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 48px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 34px 90px -34px rgba(5,8,18,.82);overflow:hidden}.traffic-edit-dialog::backdrop{background:rgba(8,10,17,.62);backdrop-filter:blur(4px)}.traffic-edit-dialog>header{display:grid;grid-template-columns:44px minmax(0,1fr) 34px;align-items:start;gap:12px;padding:20px;border-bottom:1px solid var(--line)}.traffic-edit-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-size:21px;font-weight:800}.traffic-edit-dialog>header h2{margin-top:2px;font-size:20px}.traffic-edit-dialog>header div>p:last-child{margin-top:3px;color:var(--muted);font-size:10px}.traffic-edit-dialog>form{display:flex;min-height:0;flex-direction:column}.traffic-edit-body{padding:18px 20px;background:color-mix(in srgb,var(--surface-2) 72%,var(--surface));overflow:auto}.traffic-edit-body .traffic-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.traffic-edit-body .traffic-auto-block{margin-top:14px}.traffic-edit-dialog>form>footer{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface)}
@media(max-width:1200px){.traffic-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.dashboard-traffic-head{grid-template-columns:minmax(220px,1fr) auto auto}.dashboard-traffic-month{grid-column:1/-1}.dashboard-traffic-month input{width:100%}}
@media(max-width:820px) and (pointer:coarse){.traffic-filters{grid-template-columns:1fr 1fr}.dashboard-traffic-head{grid-template-columns:1fr 1fr}.dashboard-traffic-title{grid-column:1/-1}.dashboard-traffic-total{padding-right:0;border-right:0}.dashboard-traffic-head dl{justify-self:end}.dashboard-traffic-month{grid-column:1/-1}.dashboard-traffic-month input{width:100%}.traffic-policy-grid{grid-template-columns:1fr}.traffic-edit-dialog{width:100%;max-height:calc(100vh - 18px);margin:auto 0 0;border-width:1px 0 0;border-radius:16px 16px 0 0}.traffic-edit-body .traffic-form-grid{grid-template-columns:1fr}.traffic-edit-dialog>form>footer{grid-template-columns:1fr 1fr;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.traffic-edit-dialog>form>footer>span{display:none}.traffic-edit-dialog>form>footer .danger-button{grid-column:1/-1;justify-self:start}.dashboard-traffic-dialog-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}
@media(max-width:520px) and (pointer:coarse){.traffic-filters{grid-template-columns:1fr}.dashboard-traffic-history>header dl{width:100%;justify-content:space-between}}
/* Dashboard traffic axis and themed month picker. */
.dashboard-traffic-chart{height:126px;border-bottom:0}.dashboard-traffic-axis{display:grid;grid-template-columns:repeat(31,minmax(0,1fr));align-items:center;margin:0 24px;padding:7px 0 11px;color:var(--ink-2);font-size:10px;font-weight:750;line-height:1}.dashboard-traffic-axis span{text-align:center;white-space:nowrap}.dashboard-traffic-month{position:relative}.dashboard-traffic-month>span{color:var(--muted);font-size:10px;font-weight:750}.dashboard-month-picker{position:relative;width:160px}.dashboard-month-picker>summary{height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);padding:0 11px;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer;list-style:none}.dashboard-month-picker>summary::-webkit-details-marker{display:none}.dashboard-month-picker>summary i{color:var(--muted);font-size:13px;font-style:normal;transition:transform .15s ease}.dashboard-month-picker[open]>summary{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.dashboard-month-picker[open]>summary i{transform:rotate(180deg)}.dashboard-month-popover{position:absolute;z-index:55;right:0;top:44px;width:286px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:0 20px 48px -24px rgba(15,18,38,.45)}.dashboard-month-popover>header{height:36px;display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:7px}.dashboard-month-popover>header strong{text-align:center;font-size:12px}.dashboard-month-popover>header button{width:30px;height:30px;border:0;border-radius:7px;background:var(--surface-2);color:var(--muted);font-size:18px}.dashboard-month-popover>header button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.dashboard-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.dashboard-month-grid button{height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink-2);font-size:10px;font-weight:700}.dashboard-month-grid button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:var(--accent-soft);color:var(--accent)}.dashboard-month-grid button.active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.dashboard-month-grid button:disabled{background:transparent;color:var(--muted);opacity:.38}.dashboard-month-popover>footer{display:flex;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.dashboard-month-popover>footer button{border:0;background:transparent;color:var(--accent);font-size:9px;font-weight:800}.dashboard-month-popover>footer button:hover{text-decoration:underline}
@media(max-width:1100px){.dashboard-month-picker{width:100%}.dashboard-month-popover{left:0;right:auto}}
@media(max-width:520px) and (pointer:coarse){.dashboard-traffic-axis{margin-inline:16px;font-size:8px}.dashboard-month-popover{width:min(286px,calc(100vw - 48px))}}
/* Traffic workspace v55: align the page with the current console density and modal system. */
.traffic-workspace{width:100%;margin:0 auto}.traffic-control-panel{display:grid;grid-template-columns:minmax(0,1fr) 290px;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:visible}.traffic-control-panel>.traffic-filters{grid-template-columns:.8fr 1.3fr .85fr auto;align-items:end;gap:9px;margin:0;padding:13px 14px;border:0;border-radius:0;background:transparent;box-shadow:none}.traffic-control-panel>.traffic-filters label{gap:5px;font-size:9px}.traffic-control-panel>.traffic-filters select{height:38px;font-size:10px}.traffic-control-panel>.traffic-filters>.button{height:38px;min-height:38px;padding-inline:10px;font-size:9px}.traffic-control-panel>.traffic-total{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:5px 10px;margin:0;padding:13px 15px;border:0;border-left:1px solid var(--line);border-radius:0;background:var(--surface-2)}.traffic-control-panel>.traffic-total>span{min-width:0;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.traffic-control-panel>.traffic-total>div{display:flex;align-items:baseline;justify-content:flex-end;gap:4px}.traffic-control-panel>.traffic-total strong{font-size:16px;letter-spacing:-.02em}.traffic-control-panel>.traffic-total small{color:var(--muted);font-size:9px}.traffic-control-panel>.traffic-total progress{height:5px;grid-column:1/-1}.traffic-control-panel>.traffic-total em{grid-column:1/-1;color:var(--muted);font-size:8px;font-style:normal;text-align:right}.traffic-policy-list-head{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding:0 2px}.traffic-policy-list-head>div{display:flex;align-items:center;gap:8px}.traffic-policy-list-head h2{font-size:15px;letter-spacing:-.02em}.traffic-policy-list-head span{min-width:21px;height:21px;display:grid;place-items:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:800}.traffic-policy-list-head small{color:var(--muted);font-size:9px}.traffic-workspace>.traffic-policy-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}.traffic-workspace>.empty.large{min-height:220px;display:grid;align-content:center}.traffic-create-dialog{width:min(760px,calc(100% - 32px))}.traffic-create-dialog>form>footer{grid-template-columns:1fr auto auto}.traffic-create-unavailable{display:grid;justify-items:start;gap:8px;padding:28px 24px;background:var(--surface-2)}.traffic-create-unavailable strong{font-size:14px}.traffic-create-unavailable p{color:var(--muted);font-size:10px;line-height:1.6}.traffic-create-unavailable .button{margin-top:5px}
@media(max-width:1100px){.traffic-control-panel{grid-template-columns:1fr}.traffic-control-panel>.traffic-total{border-top:1px solid var(--line);border-left:0}.traffic-control-panel>.traffic-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto}}
@media(max-width:820px) and (pointer:coarse){.traffic-control-panel>.traffic-filters{grid-template-columns:1fr 1fr}.traffic-control-panel>.traffic-filters>.button{justify-self:start}.traffic-policy-list-head{align-items:flex-start;flex-direction:column;gap:2px}.traffic-create-dialog>form>footer{grid-template-columns:1fr 1fr}.traffic-create-dialog>form>footer>span{display:none}}
@media(max-width:520px) and (pointer:coarse){.traffic-control-panel>.traffic-filters{grid-template-columns:1fr}.traffic-workspace>.traffic-policy-grid{grid-template-columns:1fr}}
/* Rewritten traffic policy card. */
.traffic-policy-card{transition:border-color .15s ease,transform .15s ease}.traffic-policy-card:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));transform:translateY(-1px)}.traffic-policy-card>header{min-height:68px;align-items:center;padding:13px 14px}.traffic-card-identity{min-width:0;display:flex;align-items:center;gap:10px}.traffic-card-identity>span:last-child{min-width:0;display:grid;gap:4px}.traffic-card-identity strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.traffic-card-identity small{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--muted);font-size:9px;white-space:nowrap}.traffic-card-identity small i{color:var(--line-2);font-style:normal}.traffic-card-identity code{color:var(--ink-2);font-size:9px}.traffic-card-quota{display:grid;gap:7px;padding:15px 15px 14px}.traffic-card-quota>header{display:flex;align-items:center;justify-content:space-between}.traffic-card-quota>header span{color:var(--muted);font-size:9px;font-weight:700}.traffic-card-quota>header b{padding:3px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:9px}.traffic-card-quota>div{display:flex;align-items:baseline;gap:5px}.traffic-card-quota>div strong{font-size:24px;letter-spacing:-.035em}.traffic-card-quota>div span{color:var(--muted);font-size:10px}.traffic-card-quota progress{width:100%;height:6px}.traffic-card-quota>small{color:var(--muted);font-size:9px}.traffic-card-transfer{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);background:var(--surface-2)}.traffic-card-transfer>div{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 14px}.traffic-card-transfer>div+div{border-left:1px solid var(--line)}.traffic-card-transfer>div>i{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;font-size:14px;font-style:normal;font-weight:800}.traffic-card-transfer>div>i.received{background:var(--accent-soft);color:var(--accent)}.traffic-card-transfer>div>i.sent{background:var(--green-soft);color:var(--green)}.traffic-card-transfer span{min-width:0;display:grid;gap:2px}.traffic-card-transfer small{color:var(--muted);font-size:8px}.traffic-card-transfer strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.traffic-card-transfer em{color:var(--muted);font-size:8px;font-style:normal;white-space:nowrap}.traffic-policy-card>footer{min-height:50px;justify-content:space-between;padding:8px 14px}.traffic-card-sync{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.traffic-card-sync i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.traffic-card-sync i.ok{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.traffic-card-actions{display:flex;align-items:center;gap:6px}.traffic-card-actions .button{min-width:48px}.traffic-card-actions .button:first-child{margin-right:0}.traffic-card-actions .button:last-child{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:var(--accent-soft);color:var(--accent)}
.traffic-card-controls{display:flex;align-items:center;gap:7px;flex:0 0 auto}.traffic-card-controls .traffic-card-grip{margin-right:-4px}.traffic-policy-card.dragging{position:relative;z-index:5;opacity:.4}.traffic-policy-card.traffic-card-ghost{position:fixed;z-index:60;margin:0;pointer-events:none;opacity:.96;border-color:color-mix(in srgb,var(--accent) 32%,var(--line));box-shadow:var(--shadow-lift);cursor:grabbing;will-change:transform;transform-origin:top left}body.traffic-card-dragging{cursor:grabbing;user-select:none}body.traffic-card-dragging .traffic-policy-card{transform:none}body.traffic-card-dragging .traffic-policy-card:hover{border-color:var(--line);box-shadow:var(--shadow);transform:none}body.traffic-card-dragging .traffic-policy-card.drop-target{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 60%,transparent),var(--shadow)}
@media(prefers-reduced-motion:reduce){.traffic-policy-card{transition:none}.traffic-policy-card:hover{transform:none}}
.traffic-configured-port{border-style:dashed}.traffic-configured-port>header{background:color-mix(in srgb,var(--surface-2) 58%,var(--surface))}.traffic-configured-port-body{min-height:112px;display:flex;align-items:center;gap:12px;padding:17px 15px}.traffic-configured-port-body>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:18px;font-weight:800}.traffic-configured-port-body>div{min-width:0}.traffic-configured-port-body strong{display:block;font-size:12px}.traffic-configured-port-body p{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.55}.traffic-configured-port .traffic-configure-port{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:var(--accent-soft);color:var(--accent)}
@media(max-width:520px) and (pointer:coarse){.traffic-card-transfer{grid-template-columns:1fr}.traffic-card-transfer>div+div{border-top:1px solid var(--line);border-left:0}.traffic-policy-card>footer{align-items:stretch;flex-direction:row}.traffic-card-actions{margin-left:auto}}
/* Traffic quota progress: use the panel accent treatment instead of the browser-native gray bar. */
.traffic-card-quota progress,.traffic-control-panel>.traffic-total progress{-webkit-appearance:none;appearance:none;display:block;overflow:hidden;border:0;border-radius:999px;background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 9%,transparent)}.traffic-card-quota progress{height:8px}.traffic-control-panel>.traffic-total progress{height:6px}.traffic-card-quota progress::-webkit-progress-bar,.traffic-control-panel>.traffic-total progress::-webkit-progress-bar{border-radius:999px;background:var(--accent-soft)}.traffic-card-quota progress::-webkit-progress-value,.traffic-control-panel>.traffic-total progress::-webkit-progress-value{min-width:7px;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--blue)));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 28%,transparent);transition:width .45s ease}.traffic-card-quota progress::-moz-progress-bar,.traffic-control-panel>.traffic-total progress::-moz-progress-bar{min-width:7px;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--blue)))}.traffic-policy-card.is-blocked .traffic-card-quota progress::-webkit-progress-value{background:var(--red);box-shadow:0 0 8px color-mix(in srgb,var(--red) 28%,transparent)}.traffic-policy-card.is-blocked .traffic-card-quota progress::-moz-progress-bar{background:var(--red)}
.traffic-card-quota.is-monitor-only>header b{background:var(--green-soft);color:var(--green)}.traffic-total-metering{grid-column:1/-1;padding:5px 8px;border-radius:7px;background:var(--green-soft);color:var(--green)!important;font-size:8px!important;font-weight:700;text-align:center}
@media(prefers-reduced-motion:reduce){.traffic-card-quota progress::-webkit-progress-value,.traffic-control-panel>.traffic-total progress::-webkit-progress-value{transition:none}}
/* Node settings cards use the same themed progress treatment as traffic quotas. */
.page-node-settings .node-card-resources progress,.page-node-settings .node-resource-strip progress,.page-node-settings .telemetry-lines progress{-webkit-appearance:none;appearance:none;width:100%;height:6px;display:block;overflow:hidden;border:0;border-radius:999px;background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 9%,transparent)}.page-node-settings .node-card-resources progress::-webkit-progress-bar,.page-node-settings .node-resource-strip progress::-webkit-progress-bar,.page-node-settings .telemetry-lines progress::-webkit-progress-bar{border-radius:999px;background:var(--accent-soft)}.page-node-settings .node-card-resources progress::-webkit-progress-value,.page-node-settings .node-resource-strip progress::-webkit-progress-value,.page-node-settings .telemetry-lines progress::-webkit-progress-value{min-width:7px;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--blue)));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 28%,transparent);transition:width .45s ease}.page-node-settings .node-card-resources progress::-moz-progress-bar,.page-node-settings .node-resource-strip progress::-moz-progress-bar,.page-node-settings .telemetry-lines progress::-moz-progress-bar{min-width:7px;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--blue)))}.page-node-settings progress[data-level="warn"]::-webkit-progress-value{background:linear-gradient(90deg,var(--amber),color-mix(in srgb,var(--amber) 68%,var(--red)));box-shadow:0 0 8px color-mix(in srgb,var(--amber) 28%,transparent)}.page-node-settings progress[data-level="warn"]::-moz-progress-bar{background:var(--amber)}.page-node-settings progress[data-level="danger"]::-webkit-progress-value{background:var(--red);box-shadow:0 0 8px color-mix(in srgb,var(--red) 28%,transparent)}.page-node-settings progress[data-level="danger"]::-moz-progress-bar{background:var(--red)}.page-node-settings progress[data-level="idle"]{background:var(--surface-3);box-shadow:none}.page-node-settings progress[data-level="idle"]::-webkit-progress-bar{background:var(--surface-3)}
@media(prefers-reduced-motion:reduce){.page-node-settings .node-card-resources progress::-webkit-progress-value,.page-node-settings .node-resource-strip progress::-webkit-progress-value,.page-node-settings .telemetry-lines progress::-webkit-progress-value{transition:none}}
.node-public-ips>header small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-public-ips>header .node-address-note{flex:1;text-align:right}.node-card-ips>.node-address-note{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}
.card-ip-row code{min-width:0;max-width:calc(100% - 72px);flex:0 1 auto}
/* Client access v57: group exports by node and keep secondary controls out of
   the primary reading path. */
.client-access-workspace.compact{gap:10px}.client-access-toolbar{position:relative;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.client-access-toolbar.empty>span{color:var(--muted);font-size:9px}.client-access-toolbar>nav{min-width:0;display:flex;align-items:center;gap:5px}.client-access-toolbar>nav a{min-height:28px;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:7px;padding:4px 8px;color:var(--muted);font-size:9px;font-weight:700}.client-access-toolbar>nav a:hover{background:var(--surface-2);color:var(--accent)}.client-access-toolbar>nav a.active{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--accent-soft);color:var(--accent)}.client-access-toolbar>nav a>b{min-width:17px;display:grid;place-items:center;border-radius:999px;padding:1px 4px;background:var(--surface-2);font-size:8px}.client-access-toolbar>div{display:flex;align-items:center;gap:6px;flex:0 0 auto}.client-access-search-menu{position:relative}.client-access-search-menu>summary{min-height:28px;display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;padding:4px 9px;background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:700;cursor:pointer}.client-access-search-menu[open]>summary{border-color:var(--accent);color:var(--accent)}.client-access-search-menu>form{position:absolute;z-index:45;right:0;top:34px;width:390px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-hover)}.client-access-search-menu input{width:100%;height:34px;font-size:9px}.client-access-node-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));align-items:start;gap:10px}.client-access-node-card{min-width:0;border:1px solid var(--line);border-radius:11px;background:var(--surface);overflow:hidden}.client-access-node-card>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid var(--line)}.client-access-node-card .client-access-node>.node-avatar{width:32px;height:32px;flex-basis:32px}.client-access-node-card .client-access-node strong{font-size:12px}.client-access-node-card .client-access-node small{font-size:8px}.client-access-node-card .client-access-node small code{color:var(--ink-2);font-size:8px}.client-access-node-state{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:var(--muted);font-size:8px;font-weight:700}.client-access-node-state i{width:6px;height:6px;border-radius:50%;background:currentColor}.client-access-node-state.ok{color:var(--green)}.client-access-node-state.warn{color:var(--amber)}.client-access-node-card>.client-address-editor{border-bottom:1px solid var(--line)}.client-access-node-card>.client-address-editor>summary{min-height:30px;padding:5px 13px;font-size:8px}.client-access-node-card>.client-address-editor .client-address-form{padding:10px 13px}.client-access-node-engines{display:grid}.client-access-engine-group+ .client-access-engine-group{border-top:1px solid var(--line)}.client-access-engine-group>header{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 13px;background:var(--surface-2)}.client-access-engine-group>header>span{display:flex;align-items:center;gap:7px}.client-access-engine-group>header small{color:var(--muted);font-size:8px}.client-access-engine-group>header>a{color:var(--accent);font-size:8px;font-weight:700}.client-access-engine-group>div{display:grid}.client-profile-row{min-width:0;padding:10px 13px}.client-profile-row+ .client-profile-row{border-top:1px solid var(--line)}.client-profile-row>header{display:flex;align-items:baseline;gap:7px;margin-bottom:7px}.client-profile-row>header b{font-size:10px}.client-profile-row>header small{min-width:0;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.client-profile-row .client-share-control{display:flex}.client-profile-row .client-share-control input{width:100%;height:35px;font-size:9px}.client-profile-row .client-share-control button{min-width:48px}.client-profile-row .client-parameter-menu{margin-top:6px;border:0;border-radius:0}.client-profile-row .client-parameter-menu>summary{min-height:25px;justify-content:flex-end;padding:3px 0;font-size:8px}.client-profile-row .client-parameter-menu[open]>summary{border-bottom:0}.client-profile-row .client-parameters{grid-template-columns:repeat(3,minmax(0,1fr));margin:5px 0 0;border-radius:7px}.client-profile-row .client-parameters>div{padding:8px}.client-access-node-grid>.client-access-empty-state{min-height:240px}.client-access-node-card .client-access-entry-empty{min-height:60px;margin:0;padding:14px;font-size:8px}[data-copy-state=success]{color:var(--green)!important}
@media(max-width:820px) and (pointer:coarse){.client-access-toolbar{align-items:stretch;flex-direction:column}.client-access-toolbar>nav{overflow-x:auto;padding-bottom:1px}.client-access-toolbar>nav a{min-width:max-content}.client-access-toolbar>div{justify-content:space-between}.client-access-search-menu>form{position:static;width:100%;grid-template-columns:1fr;margin-top:6px;box-shadow:none}.client-access-search-menu>form .button{width:100%}.client-access-node-grid{grid-template-columns:1fr}.client-profile-row .client-share-control{flex-wrap:wrap}.client-profile-row .client-share-control input{flex-basis:100%;border-radius:7px}.client-profile-row .client-share-control button{min-height:38px;flex:1;border-top:0}.client-profile-row .client-share-control button:first-of-type{border-left:1px solid var(--line-2);border-radius:7px 0 0 7px}.client-profile-row .client-parameters{grid-template-columns:1fr}}
/* Client access v58: compact masonry cards and parameter details built on the panel modal system. */
.client-access-node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,390px),1fr));grid-auto-rows:1px;align-items:start;gap:10px}.client-access-node-grid.empty{display:block}.client-access-node-card{width:100%;min-width:0;margin:0}.client-access-node-grid>.client-access-empty-state{margin:0}.client-parameter-open{min-height:28px;display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:5px 0 0 auto;border:0;background:transparent;padding:3px 0;color:var(--accent);font-size:8px;font-weight:750}.client-parameter-open:hover{text-decoration:underline}.client-parameter-open span{font-size:10px;transition:transform .15s ease}.client-parameter-open:hover span{transform:translateX(2px)}.client-parameter-dialog{width:min(560px,calc(100% - 32px))}.client-parameter-dialog .client-parameter-icon{font-size:12px;letter-spacing:0}.client-parameter-dialog>header div>p:last-child{display:flex;align-items:center;gap:7px}.client-parameter-dialog .engine-badge{flex:0 0 auto;white-space:nowrap}.client-parameter-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-parameter-dialog-body{max-height:calc(100vh - 164px);overflow:auto}.client-parameter-list{margin:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.client-parameter-list>div{min-width:0;min-height:48px;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px}.client-parameter-list>div+div{border-top:1px solid var(--line)}.client-parameter-list dt{color:var(--muted);font-size:9px;font-weight:750}.client-parameter-list dd{min-width:0;margin:0;color:var(--ink-2);font-size:10px}.client-parameter-list code{display:block;overflow-wrap:anywhere;font-size:10px;white-space:normal}.client-parameter-list .secret-value-control{display:flex}.client-parameter-list .secret-value-control input{width:100%;height:36px;font-size:10px}.client-parameter-list .secret-value-control button{min-width:46px}
@media(max-width:820px) and (pointer:coarse){.client-access-node-grid{grid-template-columns:1fr}.client-parameter-dialog{width:100%}.client-parameter-dialog-body{padding:14px 15px}.client-parameter-list>div{grid-template-columns:82px minmax(0,1fr);gap:8px}}
@media(prefers-reduced-motion:reduce){.client-parameter-open span{transition:none}}
.page-agents .service-primary-action{flex-wrap:nowrap;gap:6px}.page-agents .service-primary-action .button{width:auto;min-height:30px;border-radius:7px;padding:4px 9px;font-size:9px}.page-agents .service-primary-action .service-config{width:auto;min-width:62px}.service-engine-title{min-width:0;display:flex;align-items:center;gap:6px}.service-import-chip{min-height:25px;display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--amber) 36%,var(--line));border-radius:6px;background:var(--amber-soft);padding:3px 8px;color:var(--amber);font-size:8px;font-weight:750;line-height:1;white-space:nowrap;cursor:pointer}.service-import-chip:hover{border-color:var(--amber);background:color-mix(in srgb,var(--amber-soft) 74%,var(--surface))}.service-import-chip.blocked{border-color:color-mix(in srgb,var(--red) 34%,var(--line));background:var(--red-soft);color:var(--red)}

/* Manual configuration: managed and importable files are independent views. */
.live-config-source-switch{display:inline-flex;gap:3px;margin-top:9px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.live-config-source-switch button{min-width:112px;min-height:34px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:6px;background:transparent;padding:5px 9px;color:var(--muted);cursor:pointer}.live-config-source-switch button:hover{background:var(--surface)}.live-config-source-switch button.active{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--surface);color:var(--accent);box-shadow:0 1px 3px rgb(15 23 42 / 7%)}.live-config-source-switch b{font-size:9px}.live-config-source-switch small{font-size:8px;font-weight:600}.live-config-source-switch button.active small{color:var(--muted)}
