blob: 3a9bc964c41038a6ab98a29c47311a3fcb5a2448 [file]
.settingsConnectionRow {
display: grid;
gap: var(--space-1-5);
padding: var(--space-3) var(--space-3);
border-radius: var(--radius-surface);
border: var(--border-width-hairline) solid var(--border);
background: var(--foreground-2);
box-shadow: 0 1px 3px oklch(from var(--foreground) l c h / 0.03);
}
/* Status-color restraint: verified is the expected state — default
card chrome; color is reserved for exception states below. */
.settingsConnectionRow[data-status="needs_reauth"] {
border-color: oklch(from var(--info) l c h / 0.30);
background: oklch(from var(--info) l c h / 0.06);
}
.settingsConnectionRow[data-status="error"] {
border-color: oklch(from var(--destructive) l c h / 0.30);
background: oklch(from var(--destructive) l c h / 0.05);
}
.settingsConnectionRow[data-status="not_configured"] {
border-color: oklch(from var(--info) l c h / 0.20);
background: oklch(from var(--info) l c h / 0.03);
}
/* PR-OAUTH-SUBSCRIPTION-0: Claude subscription card states. */
.settingsConnectionRow[data-status="not_logged_in"] {
border-color: var(--border);
background: var(--foreground-2);
}
.settingsConnectionRow[data-status="authorizing"],
.settingsConnectionRow[data-status="refreshing"] {
border-color: oklch(from var(--info) l c h / 0.30);
background: oklch(from var(--info) l c h / 0.04);
}
/* authenticated: expected state, default card chrome (see above). */
.settingsConnectionRow[data-status="refresh_failed"],
.settingsConnectionRow[data-status="quota_unavailable"] {
border-color: oklch(from var(--warning, var(--info)) l c h / 0.30);
background: oklch(from var(--warning, var(--info)) l c h / 0.05);
}
.settingsConnectionRow[data-status="provider_rejected"] {
border-color: oklch(from var(--destructive) l c h / 0.30);
background: oklch(from var(--destructive) l c h / 0.05);
}
.settingsQuotaSection {
display: grid;
gap: var(--space-1);
padding: var(--space-2) var(--space-2-5);
border-radius: var(--radius-surface);
background: oklch(from var(--foreground) l c h / 0.03);
}
.settingsQuotaRow {
display: flex;
justify-content: space-between;
font-size: var(--font-size-ui);
font-variant-numeric: tabular-nums;
}
.settingsOauthPastePanel {
display: grid;
gap: var(--space-2);
margin-top: var(--space-1);
padding: var(--space-3) var(--space-3);
border-radius: var(--radius-surface);
background: oklch(from var(--foreground) l c h / 0.04);
}
.settingsOauthPastePanel textarea {
width: 100%;
padding: var(--space-2);
border-radius: var(--radius-control);
border: var(--border-width-hairline) solid var(--border);
background: var(--background);
color: var(--foreground);
font-family: var(--font-mono);
font-size: var(--font-size-ui);
}
.settingsErrorText {
color: var(--destructive-text, var(--destructive, red));
}
.settingsConnectionRow[data-status="disabled"] {
opacity: var(--opacity-disabled);
}
.settingsConnectionRow[data-default="true"] {
box-shadow: 0 0 0 2px oklch(from var(--control) l c h / 0.12);
}
.settingsConnectionRowName {
display: flex;
align-items: center;
gap: var(--space-2);
min-width: 0;
}
.settingsConnectionRowHead {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-3);
}
.settingsConnectionRowText {
display: grid;
gap: var(--space-0-5);
min-width: 0;
}
.settingsConnectionRowText strong {
color: var(--foreground);
font-size: var(--font-size-ui);
font-weight: var(--font-weight-semibold);
}
.settingsConnectionRowText small {
color: var(--muted-foreground);
font-family: var(--font-mono);
font-size: var(--font-size-caption);
}
/* #520 PR9: .settingsConnectionBadge + data-tone retired onto the Chip
primitive (packages/ui/src/primitives/chip.tsx); variants mirror StatusTone
directly, so settings callers pass the tone without statusBadgeVariant. The
warning tone no longer misuses --info. */
.settingsConnectionDetail {
margin: 0;
color: var(--foreground-secondary);
font-size: var(--font-size-caption);
line-height: var(--leading-normal);
}
.settingsConnectionMeta {
margin: 0;
display: flex;
gap: var(--space-3);
color: var(--muted-foreground);
font-size: var(--font-size-caption);
font-family: var(--font-mono);
}
.settingsInlineFileState {
display: inline-flex;
align-items: center;
gap: var(--space-1-5);
}
.settingsConnectionActions {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
gap: var(--space-2);
margin-top: var(--space-1);
}
/* .settingsRow states + hint moved to rows.css
(PR-SETTINGS-ROWS-CONVERGENCE-0). */
.providersPanel {
min-height: 420px;
display: grid;
grid-template-columns: minmax(190px, 0.82fr) minmax(0, 1.5fr);
gap: var(--space-3);
}
.settingsSurface[data-modal="true"] .providersPanel {
min-height: 480px;
grid-template-columns: minmax(190px, 0.7fr) minmax(250px, 1fr);
}