Spaces:
Running
Running
| /* Settings → API Keys panel — Wave 2 AUTH-03 UI. Styled to match the existing | |
| Credentials tab + LogsFooter palette (var(--chrome-*) tokens). */ | |
| .apikeys-panel { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 14px; | |
| padding: 12px 0; | |
| } | |
| .apikeys-panel__title { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 6px; | |
| margin: 0; | |
| font-family: var(--font-sans); | |
| font-size: 0.92rem; | |
| font-weight: 600; | |
| color: var(--chrome-fg); | |
| letter-spacing: -0.005em; | |
| } | |
| .apikeys-panel__intro { | |
| margin: 0; | |
| font-size: 0.8rem; | |
| line-height: 1.55; | |
| color: var(--chrome-fg-muted); | |
| } | |
| .apikeys-panel__intro code { | |
| font-family: var(--font-mono); | |
| background: var(--chrome-hover-bg); | |
| padding: 0 4px; | |
| border-radius: 3px; | |
| font-size: 0.8em; | |
| } | |
| .apikeys-panel__error { | |
| padding: 8px 10px; | |
| background: color-mix(in srgb, var(--chrome-severity-err) 12%, transparent); | |
| border: 1px solid color-mix(in srgb, var(--chrome-severity-err) 35%, transparent); | |
| border-radius: var(--chrome-radius-pill); | |
| font-size: 0.78rem; | |
| color: var(--chrome-severity-err); | |
| } | |
| .apikeys-rows { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| } | |
| .apikeys-row { | |
| border: 1px solid var(--chrome-border); | |
| border-radius: var(--chrome-radius-pill); | |
| padding: 12px 14px; | |
| background: var(--chrome-bg); | |
| display: flex; | |
| flex-direction: column; | |
| gap: 6px; | |
| } | |
| .apikeys-row--active { | |
| border-left: 2px solid var(--chrome-accent, #8ec07c); | |
| background: color-mix(in srgb, var(--chrome-accent, #8ec07c) 5%, var(--chrome-bg)); | |
| } | |
| .apikeys-row__head { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 8px; | |
| } | |
| .apikeys-row__name { | |
| font-weight: 500; | |
| font-size: 0.85rem; | |
| color: var(--chrome-fg); | |
| } | |
| .apikeys-badge { | |
| font-size: 0.66rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| padding: 2px 7px; | |
| border-radius: 999px; | |
| background: var(--chrome-hover-bg); | |
| color: var(--chrome-fg-muted); | |
| } | |
| .apikeys-badge--active { | |
| background: color-mix(in srgb, var(--chrome-accent, #8ec07c) 25%, transparent); | |
| color: var(--chrome-accent, #8ec07c); | |
| } | |
| .apikeys-row__meta { | |
| display: flex; | |
| align-items: center; | |
| flex-wrap: wrap; | |
| gap: 10px; | |
| font-size: 0.78rem; | |
| color: var(--chrome-fg-muted); | |
| } | |
| .apikeys-row__set, | |
| .apikeys-row__unset, | |
| .apikeys-row__whoami { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 4px; | |
| } | |
| .apikeys-row__set { color: var(--chrome-severity-ok, #8ec07c); } | |
| .apikeys-row__unset { color: var(--chrome-severity-warn, #fabd2f); } | |
| .apikeys-row__whoami--ok { color: var(--chrome-severity-ok, #8ec07c); } | |
| .apikeys-row__whoami--bad { color: var(--chrome-severity-err); } | |
| .apikeys-row__masked { | |
| font-family: var(--font-mono); | |
| font-size: 0.75rem; | |
| background: var(--chrome-hover-bg); | |
| padding: 1px 6px; | |
| border-radius: 4px; | |
| } | |
| .apikeys-row__help { | |
| margin: 2px 0 0; | |
| font-size: 0.74rem; | |
| color: var(--chrome-fg-muted); | |
| line-height: 1.45; | |
| } | |
| .apikeys-row__actions { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| margin-top: 6px; | |
| flex-wrap: wrap; | |
| } | |
| .apikeys-input { | |
| flex: 1 1 220px; | |
| min-width: 220px; | |
| padding: 6px 10px; | |
| background: var(--chrome-hover-bg); | |
| border: 1px solid var(--chrome-border); | |
| border-radius: var(--chrome-radius-pill); | |
| color: var(--chrome-fg); | |
| font-family: var(--font-mono); | |
| font-size: 0.8rem; | |
| } | |
| .apikeys-input:focus { | |
| outline: none; | |
| border-color: var(--chrome-accent, #83a598); | |
| } | |
| .apikeys-btn { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 5px; | |
| padding: 6px 12px; | |
| font-size: 0.76rem; | |
| font-weight: 500; | |
| border-radius: var(--chrome-radius-pill); | |
| border: 1px solid var(--chrome-border); | |
| background: var(--chrome-bg); | |
| color: var(--chrome-fg); | |
| cursor: pointer; | |
| } | |
| .apikeys-btn:hover:not(:disabled) { | |
| background: var(--chrome-hover-bg); | |
| } | |
| .apikeys-btn:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| .apikeys-btn--save { | |
| background: color-mix(in srgb, var(--chrome-accent, #83a598) 25%, var(--chrome-bg)); | |
| border-color: var(--chrome-accent, #83a598); | |
| } | |
| .apikeys-btn--danger { | |
| color: var(--chrome-severity-err); | |
| border-color: color-mix(in srgb, var(--chrome-severity-err) 35%, var(--chrome-border)); | |
| } | |
| .apikeys-btn--ghost { | |
| background: transparent; | |
| } | |
| .apikeys-panel__footer { | |
| display: flex; | |
| justify-content: flex-end; | |
| } | |
| .apikeys-clear-dialog { | |
| margin-top: 4px; | |
| padding: 12px 14px; | |
| border: 1px solid color-mix(in srgb, var(--chrome-severity-err) 35%, var(--chrome-border)); | |
| border-radius: var(--chrome-radius-pill); | |
| background: color-mix(in srgb, var(--chrome-severity-err) 6%, var(--chrome-bg)); | |
| display: flex; | |
| flex-direction: column; | |
| gap: 8px; | |
| } | |
| .apikeys-clear-dialog p { | |
| margin: 0; | |
| font-size: 0.82rem; | |
| } | |
| .apikeys-checkbox { | |
| font-size: 0.78rem; | |
| color: var(--chrome-fg-muted); | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 5px; | |
| } | |
| .apikeys-clear-dialog__actions { | |
| display: flex; | |
| justify-content: flex-end; | |
| gap: 8px; | |
| } | |