/* 2026-11 UI pass: readability floor, cloud-era helpers, catalog grouping. Loaded last. */

/* Readability: the original 9–10px text was hard to read on normal monitors. */
.helper,.note,.stat-note,.panel-head p,.hub-card-meta,.key-meta,.job-stats,.job-title,.step p,.quality-row p,.dataset p,.endpoint-sub,.source-item p{font-size:12px}
.page-heading p,.hero p{font-size:13px}
.panel-head h2{font-size:15px}
th{font-size:11.5px}
td,table{font-size:12px}
.tag{font-size:11px}
.brand small,.workspace small,.sidebar-foot small{font-size:10.5px;letter-spacing:.5px}
.workspace-tag{font-size:11px;font-weight:600;color:var(--green);background:var(--green-pale);padding:2px 6px;border-radius:4px}
.workspace-tag:empty{display:none}
.footer{font-size:11px}
.breadcrumb,.service-status,#quick-search input{font-size:12px}
.eyebrow{font-size:10.5px}

/* API address + certificate */
.url-row{display:flex;gap:10px;align-items:stretch;margin:8px 0 14px}
.url-row .url-block{flex:1;margin:0;display:flex;align-items:center}
.cert-note{margin:10px 0 16px;padding:10px 12px;border-radius:6px;background:#f4f8f5;border:1px solid #e3eee7}
.cert-note a{color:var(--green);font-weight:600}
.access-banner .cert-note{margin:10px 0 0;background:#ffffff80}
.quality-row p a{color:var(--green);margin-left:4px}

/* One-time key box: usage right under the key */
.key-usage{margin-top:18px;border-top:1px solid #e3ece6;padding-top:16px}
.key-usage .code-tabs{margin-bottom:8px}
.key-usage .code-tabs button{color:#6c8a79}
.key-usage .code-tabs button.active{color:var(--green);font-weight:600}
.key-usage pre{margin:0 0 12px;padding:16px 18px;background:#172d29;color:#c9dfd0;border-radius:8px;font:12px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}
.key-usage .helper{margin-top:10px}
.key-prefix{display:flex;align-items:center;gap:10px;margin:8px 0 2px}
.key-prefix code{font:12px var(--mono);color:#4a7461;background:#f7f9f8;border:1px solid #e7eee9;border-radius:4px;padding:3px 7px}

/* Data catalog: summary, category chips, grouped sections */
.catalog-summary{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:baseline;background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px 22px;margin-bottom:18px;font-size:13px;color:#6d7c80}
.catalog-summary strong{font:600 20px var(--mono);color:var(--ink);margin-right:4px}
.catalog-summary .muted{color:#a0a9ac}
.hub-toolbar{flex-wrap:wrap}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid #dfe6e3;background:#fff;color:#5d6c71;border-radius:999px;padding:6px 12px;font-size:12px}
.chip:hover{border-color:#8bb6a3}
.chip.active{background:var(--green);border-color:var(--green);color:#fff}
.catalog-group{margin-bottom:24px}
.catalog-group h2{font-size:15px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.catalog-group h2 small{font:11px var(--mono);color:#8a969a;background:#eef2f1;border-radius:10px;padding:2px 7px;font-weight:400}
.hub-card.dimmed{opacity:.6}
.hub-card.dimmed:hover{opacity:1}

/* Operations */
.state-name{min-width:140px;font-size:12.5px;font-weight:500;color:#3d5149}

/* Sources: optional local import collapsed on servers */
details.local-source>summary{cursor:pointer;list-style:none}
details.local-source>summary::-webkit-details-marker{display:none}
details.local-source>summary:after{content:'展开';font-size:12px;color:var(--green)}
details.local-source[open]>summary:after{content:'收起'}

/* MCP setup steps */
.setup-steps{margin:0 0 16px;padding-left:20px;font-size:13px;line-height:2;color:#4f5f63}
.setup-steps a{color:var(--green);font-weight:600}

@media(max-width:580px){
 .url-row{flex-direction:column}
 .catalog-summary{padding:14px 16px;gap:8px 16px}
 .chip{padding:5px 10px}
}
.catalog-group .hub-grid{margin-bottom:0}
.source-layout details.local-source{align-self:start}
/* Key created: address and key together */
.credential{background:#fff;border:1px solid #d7e7dc;border-radius:8px;margin:14px 0}
.credential-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 14px}
.credential-row+.credential-row{border-top:1px solid #edf3ef}
.credential-row span{font-size:12px;color:#6b7c74}
.credential-row code{font:13px/1.6 var(--mono);color:#1f3b31;overflow-wrap:anywhere}
@media(max-width:580px){.credential-row{grid-template-columns:minmax(0,1fr) auto}.credential-row span{grid-column:1/-1}}
.credential-row code{margin:0;padding:0;background:none;border:0;display:block;min-height:0}
