/* Account management page.
   Design language: docs/Contexell-Design-Language-v2.md — tokens from base.css ONLY,
   no raw hex values, no off-scale sizes. */

.app-nav { background: rgba(247, 249, 252, 0.88); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }

.acct-wrap { max-width: 680px; margin: 0 auto; padding: 40px 22px 80px; }

.acct-head h1 { font-size: clamp(26px, 3.4vw, 32px); letter-spacing: -0.025em; margin: 4px 0 8px; }
.acct-sub { color: var(--muted); font-size: 14.5px; margin: 0 0 30px; }

.acct-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 26px 28px;
  margin-bottom: 22px;
}
.acct-card h2 { font-size: 17px; letter-spacing: -0.01em; margin: 0 0 18px; }
.acct-card form { max-width: 380px; }

.acct-note { font-size: 13.5px; color: var(--muted); margin: 0 0 18px; }

.stat-row { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.stat {
  flex: 1;
  min-width: 130px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
}
.stat-num { font-family: var(--font-display); font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
.stat-label { font-size: 12.5px; color: var(--muted); }

.acct-danger { border-color: var(--bad-line); }
.acct-danger h2 { color: var(--bad); }

/* ---- Store profile / billing / API keys / preferences ---- */

.field-row { display: flex; gap: 12px; flex-wrap: wrap; }
.field-row .field { flex: 1; min-width: 120px; }

.check-row {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; margin: 0 0 12px; cursor: pointer;
}
.check-row input { width: auto; accent-color: var(--primary); }

.plan-grid { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.plan-card {
  flex: 1; min-width: 170px;
  background: var(--paper); border: 1px solid var(--line);
  border-radius: 12px; padding: 16px 18px;
  display: flex; flex-direction: column; gap: 8px;
}
.plan-card h3 { margin: 0; font-family: var(--font-display); font-size: 17px; }
.plan-card ul { margin: 0; padding-left: 18px; font-size: 13px; color: var(--muted); }
.plan-price { font-family: var(--font-display); font-size: 22px; font-weight: 800; }
.plan-current { border-width: 2px; border-color: var(--primary); }
.plan-badge {
  align-self: flex-start; font-size: 12px; font-weight: 600;
  background: var(--ink); color: var(--on-dark);
  border-radius: 999px; padding: 3px 10px;
}
.plan-badge.plan-soon { background: var(--muted); }

.key-reveal {
  background: var(--warn-soft); border: 1px solid var(--warn-line); border-radius: var(--radius-sm);
  padding: 12px 14px; margin-bottom: 16px; font-size: 13.5px;
  color: var(--warn-deep);
  display: flex; flex-direction: column; gap: 8px;
}
.key-reveal code { word-break: break-all; font-size: 12.5px; }
.key-reveal .btn { align-self: flex-start; }

.key-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 10px 14px; margin-bottom: 8px; font-size: 13.5px;
}
.key-row code { font-size: 12.5px; margin: 0 8px; }
.key-status { font-size: 12px; color: var(--muted); }
.key-revoked { opacity: 0.55; }

#key-form { max-width: 380px; align-items: flex-end; margin-bottom: 16px; }
#key-form .btn { margin-bottom: 2px; }
