#settings-dialog { width:min(1040px,calc(100vw - 32px)); height:min(700px,calc(100dvh - 32px)); max-height:calc(100dvh - 32px); padding:20px 24px; overflow:hidden; }
#settings-dialog[open] { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; gap:14px; }
#settings-dialog .settings-heading h2 { font-size:20px; }
.settings-tabs { display:flex; gap:6px; border-bottom:1px solid #e1e6ee; padding-bottom:10px; }
.settings-tabs button { border:0; border-radius:6px; background:#f3f5f8; color:#59697e; padding:9px 14px; }
.settings-tabs button[aria-pressed="true"] { background:var(--brand-soft); color:var(--brand-ink); font-weight:700; }
.settings-tabs [data-settings-view="trace"] { display:none; }
.settings-workspace { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:24px; min-height:0; }
.settings-form,.settings-extra { min-width:0; overflow:auto; }
.settings-extra { display:none; }
#settings-dialog[data-view="extra"] .settings-form { display:none; }
#settings-dialog[data-view="extra"] .settings-extra { display:block; }
#settings-dialog label { margin:0 0 14px; font-size:12px; }
#settings-dialog input,#settings-dialog select { margin-top:6px; padding:10px; min-height:40px; }
#settings-dialog p { font-size:12px; line-height:1.5; margin:8px 0; }
#settings-dialog .portal-link { display:inline-block; margin-top:6px; font-size:12px; }
#settings-dialog #settings-storage-status { color:#65758b; margin-top:14px; }
#settings-dialog .header-settings { margin:12px 0; padding:10px; }
#settings-dialog .environment-endpoints { padding:10px; font-size:11px; margin:0; }
#settings-dialog .environment-endpoints dd { margin-bottom:8px; }
#settings-dialog .token-exchange { display:grid; grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) auto; gap:10px; margin:0; padding:14px; min-width:0; min-height:0; background:#fafbfd; }
#settings-dialog .token-exchange p { margin:0; font-size:11px; }
.token-wire-pane { display:flex; flex-direction:column; min-height:0; }
#settings-dialog .token-exchange h3 { flex:none; margin:0 0 6px; font-size:12px; }
#settings-dialog .token-exchange pre { flex:1; min-height:0; max-height:none; margin:0; overflow:auto; padding:10px; font-size:11px; line-height:1.5; }
.settings-footer { border-top:1px solid #e1e6ee; padding-top:12px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
#settings-dialog .settings-footer #settings-status { flex:1; margin:0; overflow-wrap:anywhere; }
#settings-dialog .settings-footer .test-actions { flex:none; margin:0; display:flex; gap:8px; }
#settings-dialog .settings-footer button { min-height:42px; padding:10px 16px; }
@media(max-width:760px) {
 #settings-dialog { width:calc(100vw - 16px); height:min(680px,calc(100dvh - 16px)); max-height:calc(100dvh - 16px); padding:14px; }
 #settings-dialog[open] { gap:10px; }
 .settings-tabs [data-settings-view="trace"] { display:block; }
 .settings-tabs { gap:4px; padding-bottom:8px; }
 .settings-tabs button { flex:1; padding:9px 4px; font-size:12px; min-height:40px; }
 .settings-workspace { grid-template-columns:minmax(0,1fr); gap:0; }
 #settings-dialog .token-exchange { display:none; }
 #settings-dialog[data-view="trace"] .settings-form,#settings-dialog[data-view="trace"] .settings-extra { display:none; }
 #settings-dialog[data-view="trace"] .token-exchange { display:grid; }
 #settings-dialog label { margin-bottom:12px; }
 #settings-dialog input,#settings-dialog select { font-size:16px; }
 #settings-dialog .settings-footer { display:grid; gap:8px; }
 #settings-dialog .settings-footer .test-actions { justify-content:stretch; }
 #settings-dialog .settings-footer button { flex:1; }
 #settings-dialog .settings-footer #settings-status { font-size:11px; }
}

@media(max-width:760px) and (max-height:650px) { #settings-dialog label { margin-bottom:8px; } #settings-dialog input,#settings-dialog select { min-height:36px; padding:7px; margin-top:4px; } #settings-dialog p { margin:4px 0; font-size:11px; } #settings-dialog #settings-storage-status { margin-top:6px; font-size:10px; } #settings-dialog .portal-link { margin-top:0; font-size:11px; } }

/* Unified credentials and request settings */
#settings-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto}
#settings-dialog .settings-tabs{display:none}
#settings-dialog .settings-form{display:block}
#settings-dialog .header-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:12px 0;padding:10px}
#settings-dialog .header-settings label{margin:0}
#settings-dialog .header-settings legend{font-size:11px}
#settings-dialog .settings-addresses{margin:8px 0}
#settings-dialog .settings-addresses summary{font-size:11px;padding:8px 0;color:#62738a}
#settings-dialog #settings-forget{font-size:11px;padding:6px 10px;margin-top:6px}
#settings-dialog #settings-storage-status{font-size:11px;margin:6px 0}
.broker-portal-link{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;margin:-6px 0 14px;border-radius:6px;color:var(--brand-nav-muted);font-size:11px;line-height:1.5}
.broker-portal-link:hover{background:var(--brand-nav-hover);color:var(--brand-nav-text)}
.broker-portal-link[hidden]{display:none}
@media(max-width:760px){
 #settings-dialog[open]{grid-template-rows:auto auto minmax(0,1fr) auto}
 #settings-dialog .settings-tabs{display:flex}
 #settings-dialog[data-view="trace"] .settings-form{display:none}
 .broker-portal-link{grid-column:1 / -1;grid-row:4;margin:0;padding:4px 0 2px;min-height:30px}
 #settings-dialog .header-settings{margin:8px 0;padding:8px}
}

#settings-dialog #settings-forget { border:1px solid #d8e1eb; border-radius:6px; background:#fff; color:#67768a; cursor:pointer; }
#settings-dialog .header-settings[hidden] { display:none; }
#api-request-wire { white-space:pre-wrap; overflow-wrap:anywhere; overflow:auto; max-width:100%; max-height:420px; padding:12px; background:#edf1f7; border-radius:5px; font:12px/1.7 Consolas,monospace; }
#api-list .api-group a:has(.api-success-badge) { position:relative; padding-right:66px; }
#api-list .api-success-badge { position:absolute; right:16px; top:50%; transform:translateY(-50%); display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; color:#147348; background:#e8f6ed; border:1px solid #a7d9bc; border-radius:50%; font-size:19px; font-weight:700; }
#api-list a.is-favorite > .api-success-badge::before { content:none; }
#successful-request-status { color:#147348; font-size:12px; overflow-wrap:anywhere; }
