/* API 中转服务页面 */
.api-service-page{max-width:1180px}
.api-title-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.api-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:99px;background:rgba(14,165,233,.12);color:var(--accent);font-size:11px;font-weight:750;white-space:nowrap}
.api-badge-muted{background:var(--soft);color:var(--muted)}

.api-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:center;padding:28px 30px;background:linear-gradient(115deg,rgba(14,165,233,.1),rgba(20,184,166,.07)),var(--panel);border-color:rgba(14,165,233,.22)}
.api-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.api-hero h2{margin:9px 0 10px;font-size:clamp(22px,3vw,30px);letter-spacing:-.035em;line-height:1.2}
.api-hero p{margin:0;max-width:640px;color:var(--muted);font-size:13.5px;line-height:1.8}
.api-hero p code,.api-models-panel code,.api-docs code,.api-note code{padding:2px 6px;border-radius:6px;background:var(--soft);color:var(--accent);font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:.92em;word-break:break-all}
.api-facts{display:flex;flex-direction:column;gap:9px;margin:17px 0 0;padding:0;list-style:none}
.api-facts li{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12.5px}
.api-facts i{width:16px;color:var(--accent2);text-align:center}
.api-hero-side{display:flex;flex-direction:column;gap:10px}
.api-endpoint-box{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--panel-solid)}
.api-endpoint-box span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.api-endpoint-box code{display:block;overflow-wrap:anywhere;color:var(--text);font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:12px;line-height:1.5}

.api-login-callout{display:flex;align-items:center;gap:18px;margin-top:16px;padding:22px 24px}
.api-callout-icon{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:18px;box-shadow:0 8px 20px rgba(14,165,233,.22)}
.api-callout-body{flex:1;min-width:0}
.api-callout-body h2{margin:0 0 4px;font-size:18px}
.api-callout-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}

.api-blocked{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:16px;padding:46px 24px}
.api-blocked-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(245,158,11,.13);color:#b45309;font-size:22px}
.api-blocked h2{margin:16px 0 8px;font-size:22px}
.api-blocked p{margin:0;color:var(--text);font-size:14px}
.api-blocked .hint{margin-top:12px;color:var(--muted);font-size:12px}

.api-quota-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.api-quota-card{padding:18px 20px}
.api-quota-card>span{display:block;color:var(--muted);font-size:11px;font-weight:650}
.api-quota-card>strong{display:block;margin:5px 0 10px;font-size:26px;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.api-quota-card .progress{height:8px}
.api-quota-card>small{display:block;margin-top:9px;color:var(--muted);font-size:11px;line-height:1.6}
.api-quota-card-wide strong{font-size:20px;letter-spacing:-.02em}

.api-keys-panel,.api-models-panel,.api-logs-panel,.api-docs{margin-top:16px}
.api-key-create{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.api-key-create .compact-input{flex:1;min-width:min(100%,300px);max-width:none}
.api-key-create .btn-primary{white-space:nowrap}
.api-key-list{display:flex;flex-direction:column;gap:8px}
.api-key-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.api-key-item strong{display:block;font-size:13px}
.api-key-item code{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:6px;background:var(--panel-solid);color:var(--accent);font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:11px}
.api-key-item small{display:block;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.5}
.api-key-item .btn-quiet{flex:none;color:var(--danger)}

.api-model-table td{vertical-align:middle}
.api-model-table td small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
.api-model-table td strong{font-variant-numeric:tabular-nums}
.api-effort{display:inline-flex;padding:3px 7px;border-radius:99px;background:rgba(20,184,166,.12);color:#0f766e;font-size:10px;font-weight:750}
.dark .api-effort{color:#5eead4}
.api-effort-list{display:flex;flex-wrap:wrap;gap:5px}

.api-log-toolbar{margin-bottom:12px}
.api-log-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;color:var(--muted);font-size:11.5px}
.api-log-summary span{padding:5px 8px;border-radius:7px;background:var(--soft)}
.api-log-summary strong{color:var(--text);font-variant-numeric:tabular-nums}
.api-log-table td{font-size:11.5px;vertical-align:middle}
.api-log-table td small{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.5}
.api-log-table .api-log-error{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.api-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:99px;font-size:10px;font-weight:750;white-space:nowrap}
.api-status-success{background:rgba(34,197,94,.12);color:#15803d}
.api-status-failed{background:rgba(239,68,68,.12);color:#b91c1c}
.api-status-cancelled{background:rgba(100,116,139,.14);color:var(--muted)}
.api-status-incomplete{background:rgba(245,158,11,.13);color:#b45309}
.dark .api-status-success{color:#86efac}
.dark .api-status-failed{color:#fca5a5}
.dark .api-status-incomplete{color:#fcd34d}

.api-doc-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 16px}
.api-doc-summary>div{padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}
.api-doc-summary span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.api-doc-summary code{display:block;overflow-wrap:anywhere;color:var(--text);font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:11.5px;line-height:1.5}
.api-queue-note{display:flex;align-items:flex-start;gap:13px;margin:0 0 20px;padding:15px 17px;border:1px solid rgba(14,165,233,.3);border-left:4px solid var(--accent);border-radius:12px;background:linear-gradient(100deg,rgba(14,165,233,.09),rgba(20,184,166,.06))}
.api-queue-note>i{flex:none;margin-top:2px;color:var(--accent);font-size:16px}
.api-queue-note strong{display:block;margin-bottom:5px;font-size:13px}
.api-queue-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}
.api-docs h3{margin:22px 0 10px;font-size:14px;letter-spacing:-.01em}
.api-docs h3:first-of-type{margin-top:4px}
.api-doc-table td,.api-doc-table th{font-size:11.5px;line-height:1.65;vertical-align:top}
.api-doc-table td:first-child{min-width:150px}
.api-doc-table code{padding:1px 5px;border-radius:5px;background:var(--soft);color:var(--accent);font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:.92em;word-break:break-word}
.api-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.api-doc-grid h3{margin:0 0 8px;font-size:12px;color:var(--muted);font-weight:750}
.api-code{margin:0;padding:15px 16px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text);font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:11.5px;line-height:1.7;white-space:pre}
.api-code code{padding:0;background:transparent;color:inherit;font-size:inherit;word-break:normal}
.api-note{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.api-note i{margin-right:5px;color:var(--accent)}

.api-key-dialog{width:min(620px,calc(100% - 28px));margin:auto;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel-solid);color:var(--text);box-shadow:var(--shadow)}
.api-key-dialog::backdrop{background:rgba(8,17,31,.55);backdrop-filter:blur(4px)}
.api-key-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.api-key-dialog-head h2{margin:0;font-size:18px}
.api-key-dialog>p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.7}
.api-new-key{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid rgba(14,165,233,.3);border-radius:12px;background:rgba(14,165,233,.07)}
.api-new-key code{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--accent);font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:12px;line-height:1.6}
.api-new-key .btn-secondary{flex:none}
.api-key-dialog .dialog-actions{display:flex;justify-content:flex-end;margin-top:18px}

@media(max-width:900px){
    .api-hero{grid-template-columns:1fr;gap:18px;padding:22px 20px}
    .api-doc-grid{grid-template-columns:1fr}
    .api-doc-summary{grid-template-columns:1fr}
}
@media(max-width:760px){
    .api-title-badges{margin-top:2px}
    .api-quota-grid{grid-template-columns:1fr}
    .api-login-callout{align-items:flex-start;flex-wrap:wrap}
    .api-login-callout .btn-primary{width:100%;justify-content:center}
    .api-key-item{align-items:flex-start;flex-direction:column}
    .api-key-item .btn-quiet{width:100%}
}

#api-application-form { max-width: 680px; margin: 20px auto; text-align: left; }
#api-application-form label { display: block; margin: 16px 0 8px; }
#api-application-form textarea, #api-application-form input { width: 100%; box-sizing: border-box; padding: 12px; font: inherit; }
