/**
 * Bull.inf console polish — shared across desks + landing chrome.
 * Loaded AFTER per-page inline styles so tokens/radius/type win.
 */
:root {
  --font-ui: "DM Sans", system-ui, sans-serif;
  --radius: 6px;
  --line: rgba(232, 234, 223, 0.1);
  --acid-dim: rgba(200, 245, 66, 0.1);
  --ink-3: #171912;
  --privy-border-radius-sm: 6px;
  --privy-border-radius-md: 6px;
  --privy-border-radius-lg: 6px;
  --privy-border-radius-full: 6px;
  --privy-color-accent-lightest: rgba(200, 245, 66, 0.1);
}

/* UI copy uses DM Sans; mono reserved for code/keys via explicit rules */
body {
  font-family: var(--font-ui) !important;
  font-weight: 400 !important;
}

/* Desk grid → faint wash. Skip landing (.frame) so the home ki-aura stage paints. */
body:not(:has(.frame))::before {
  background: radial-gradient(
    ellipse 60% 40% at 18% 0%,
    rgba(200, 245, 66, 0.05),
    transparent 58%
  ) !important;
  background-size: auto !important;
}

code,
pre,
.curl,
.gk-curl,
.key-box,
.key-reveal-value,
.deposit-row code,
.mono,
kbd,
samp {
  font-family: var(--font-mono, "IBM Plex Mono", ui-monospace, monospace) !important;
}

.label {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
}

.btn,
button.btn,
a.btn,
.btn-primary,
.btn-sm,
.field,
input.field,
select.field,
textarea.field,
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="search"],
select,
textarea,
.panel,
.console-card,
.modal,
.card,
.bal-card,
.auth-gate-card,
.fund-advanced,
.stripe-topup,
.key-box,
.key-reveal-box,
.backdrop .modal,
.gk-modal,
.gk-block,
.gk-gate,
.gk-curl,
.curl {
  border-radius: var(--radius) !important;
}

.btn,
button.btn,
a.btn {
  font-family: var(--font-ui) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}

.field,
input.field,
select.field,
textarea.field {
  font-family: var(--font-ui) !important;
}

/* Quieter sidebar active — rail + dim, not neon flood */
.side-nav a.active {
  color: var(--paper) !important;
  background: rgba(232, 234, 223, 0.04) !important;
  border-left-color: var(--acid) !important;
}

.side-nav a {
  border-radius: 0 var(--radius) var(--radius) 0;
  font-size: 13px !important;
}

/* Status / balance figures on desks: paper, not acid (acid stays on CTAs) */
.layout .bal,
.layout .bal-card-val,
.layout .gk-bal-val,
.layout .stat-val,
.layout .earned-val,
.layout .kpi .v,
.main .bal,
.main .bal-card-val,
.main .stat-val,
.main .earned-val {
  color: var(--paper) !important;
}

.layout .bal-card.is-primary .bal-card-val,
.main .bal-card.is-primary .bal-card-val {
  color: var(--paper) !important;
}

.layout .bal-card.is-primary,
.main .bal-card.is-primary {
  border-color: var(--line) !important;
  background: var(--ink) !important;
}

.panel,
.console-card,
.card {
  background: var(--ink-2) !important;
  border-color: var(--line) !important;
  border-radius: var(--radius) !important;
}

.top-actions .btn-primary,
.header-actions .btn-primary {
  border-radius: var(--radius) !important;
}

/* Tables / offer rows */
table,
.offers,
.offer-row,
.row-card {
  border-color: var(--line);
}

th {
  font-family: var(--font-ui) !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

td,
.muted {
  font-family: var(--font-ui);
}

.badge,
.pill,
.tag,
.status {
  border-radius: var(--radius) !important;
}

/* Landing / modal shared controls */
.gk-modal .btn,
.gk-modal .field,
.backdrop .btn,
.backdrop .field {
  border-radius: var(--radius) !important;
  font-family: var(--font-ui) !important;
}

.nav-cta,
.btn-side,
.walk-cta {
  border-radius: var(--radius) !important;
}
