.primary{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important}.headerActions{display:flex;align-items:center;gap:10px}.apiState{font-size:12px;color:#b54708;background:#fffaeb;border:1px solid #fedf89;border-radius:16px;padding:5px 9px}.apiState.connected{color:#067647;background:#ecfdf3;border-color:#abefc6}.securityNote{display:flex;gap:14px;align-items:center;margin-top:18px;padding:13px 15px;border:1px solid #abefc6;background:#f0fdf4;border-radius:10px;font-size:13px;color:#475467}.securityNote b{color:#067647;white-space:nowrap}.credentialStats{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:15px}.credentialStats article{padding:15px;border:1px solid #eaecf0;border-radius:10px}.credentialStats span{display:inline;color:#667085;font-size:12px}.credentialStats b{display:block;margin-top:7px;font-size:22px}.credentialStats .ok{color:#067647}.credentialStats .warn{color:#b54708}.credentialTable{overflow:auto;margin-top:15px}.credentialRow{min-width:920px;display:grid;grid-template-columns:1.3fr 1.5fr 1fr .65fr .65fr .65fr 40px;align-items:center;min-height:62px;border-top:1px solid #eaecf0;padding:0 11px;font-size:12px;color:#475467}.credentialRow.head{min-height:38px;background:#f9fafb;border:0;color:#667085}.credentialRow b,.credentialRow small{display:block}.credentialRow b{font-size:13px}.credentialRow small{color:#98a2b3;margin-top:4px}.credentialRow code{font-size:11px}.credentialRow button{border:0}.status{justify-self:start;padding:4px 8px;border-radius:12px;background:#ecfdf3;color:#067647;font-style:normal}.status.观察{background:#fffaeb;color:#b54708}.status.冷却,.status.禁用{background:#fef3f2;color:#b42318}.controlSplit{grid-template-columns:1.15fr 1fr}.routeMap{display:grid;grid-template-columns:130px 28px 1fr;align-items:center;gap:10px;margin-top:20px}.logicalModel{padding:15px;border:1px solid #abefc6;background:#ecfdf3;border-radius:10px}.logicalModel>*{display:block}.logicalModel small,.logicalModel span{font-size:10px;color:#667085}.logicalModel b{margin:6px 0;font-size:17px}.routeArrow{text-align:center;color:#98a2b3}.routeChannels{display:grid;gap:7px}.routeChannels p{position:relative;overflow:hidden;margin:0;padding:10px;border:1px solid #eaecf0;border-radius:8px;font-size:11px;display:flex;justify-content:space-between}.routeChannels p i{position:absolute;inset:0 auto 0 0;background:#ecfdf3;z-index:0}.routeChannels p b,.routeChannels p span{position:relative}.routeFactors{display:grid;grid-template-columns:repeat(5,1fr);margin-top:13px;border-top:1px solid #eaecf0;padding-top:12px}.routeFactors span{font-size:10px;color:#98a2b3}.routeFactors b{display:block;color:#344054;font-size:14px;margin-top:3px}.keyCard{margin-top:18px;padding:16px;background:#172033;color:#fff;border-radius:10px}.keyCard small{color:#98a2b3}.keyCard code{display:block;font-size:16px;margin:8px 0 14px}.keyCard>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keyCard span{font-size:9px;color:#98a2b3}.keyCard b{display:block;color:#fff;font-size:11px;margin-top:4px}pre{white-space:pre-wrap;margin:10px 0 0;padding:13px;background:#f9fafb;border:1px solid #eaecf0;border-radius:8px;font:10px/1.65 ui-monospace,monospace;color:#344054}dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;border:0;border-radius:14px;padding:0;box-shadow:0 24px 80px #10182840}dialog::backdrop{background:#10182899}dialog form{padding:24px}dialog header{display:flex;justify-content:space-between}dialog header small{color:#16a34a;font-weight:800;letter-spacing:.12em}dialog h2{margin:5px 0;font-size:24px}dialog header p{margin:0;color:#667085;font-size:12px}dialog header button{border:0;background:#fff;font-size:20px}.dialogGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.dialogGrid label{font-size:12px;color:#475467}.dialogGrid input,.dialogGrid select{display:block;width:100%;height:41px;margin-top:5px;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px;font-size:13px}.wideField{grid-column:1/-1}.dialogActions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dialogActions button{height:38px;border:1px solid #d0d5dd;border-radius:8px;padding:0 14px;font-weight:700}@media(max-width:760px){.credentialStats{grid-template-columns:1fr 1fr}.controlSplit{grid-template-columns:1fr}.routeMap{grid-template-columns:1fr}.routeArrow{transform:rotate(90deg)}.dialogGrid{grid-template-columns:1fr}.wideField{grid-column:auto}.headerActions{align-items:flex-end;flex-direction:column}.apiState{display:none}}
