﻿/* ── API Keys Page ────────────────────────────────────────────────────────── */
.key-list { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.25rem; }

.api-key-card { padding: 0; overflow: hidden; }
.api-key-card-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: 1rem 1.25rem 0.5rem;
}
.api-key-card-name-row { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.api-key-card-name { font-family: var(--font-heading); font-weight: 700; font-size: 15px; }
.api-key-card-meta { font-size: 12px; color: var(--color-text-light); }

.api-key-card-body {
  display: flex; gap: 10px; align-items: center;
  padding: 0.5rem 1.25rem 0.5rem;
}
.api-key-display {
  flex: 1; background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-md); padding: 8px 12px;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.api-key-display code { font-family: var(--font-mono); font-size: 12px; color: var(--color-text-mid); }

/* Usage stats grid — 3 columns on desktop, collapses on very small screens */
.api-key-usage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}

/* Usage stat tiles in the inline usage panel */
.usage-stat-tile {
  background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-md); padding: 0.6rem 0.75rem;
  display: flex; flex-direction: column; gap: 2px; text-align: center;
}
.usage-stat-value { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; color: var(--color-text); }
.usage-stat-label { font-size: 11px; color: var(--color-text-light); text-transform: uppercase; letter-spacing: 0.04em; }

/* form-input used inside card edit panels */
.api-key-card .form-input {
  border: 1px solid var(--color-border); border-radius: var(--radius-md);
  padding: 6px 10px; font-size: 13px; outline: none;
  transition: border-color 0.15s;
}
.api-key-card .form-input:focus { border-color: var(--color-primary); }

.create-key-card { padding: 1.5rem; margin-bottom: 1.25rem; border: 1.5px solid var(--color-primary); }
.create-key-row { display: flex; gap: 12px; align-items: flex-end; margin-top: 1rem; }
.create-key-row .form-field { flex: 1; }

.warning-card {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 1.25rem 1.5rem;
  background: #fefce8;
  border: 1px solid #FDE68A;
  margin-top: 1.25rem;
}
.warning-icon { color: var(--color-warning); font-size: 18px; flex-shrink: 0; margin-top: 2px; }
.warning-title { font-weight: 600; font-size: 14px; color: #92400E; margin-bottom: 4px; }
.warning-body { font-size: 13px; color: #92400E; line-height: 1.5; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Key card body — stack key display above action buttons */
  .api-key-card-body  { flex-wrap: wrap; }
  .api-key-display    { min-width: 0; width: 100%; }

  /* Create key row — stack input + button vertically */
  .create-key-row     { flex-direction: column; }
  .create-key-row .form-field { width: 100%; }
  .create-key-row .btn { align-self: flex-start; }

  /* Table wraps horizontally */
  .table-card         { overflow-x: auto; }
}
@media (max-width: 480px) {
  .api-key-card-header    { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
  .create-key-card        { padding: 1rem; }
  .usage-stat-tile        { padding: 0.5rem 0.75rem; }
  .usage-stat-value       { font-size: 1rem; }
  .warning-card           { padding: 1rem; }
  .api-key-usage-grid     { grid-template-columns: 1fr; }
}
