/* ═══════════════════════════════════════════════════════════
   RJ BUSINESS SOLUTIONS — Official Brand System (Blue + White)
   Hyperion Quantum Credit Nexus
   ═══════════════════════════════════════════════════════════ */
:root {
  --rj-blue: #2563eb;
  --rj-sky-blue: #0ea5e9;
  --rj-deep-blue: #1e3a8a;
  --rj-navy: #0f172a;
  --rj-white: #ffffff;
  --rj-soft-white: #f8fafc;
  --rj-light-blue: #eff6ff;
  --rj-border-blue: #bfdbfe;
  --rj-muted-blue: #dbeafe;
  --rj-success: #10b981;
  --rj-warning: #f59e0b;
  --rj-danger: #ef4444;
  --rj-dark-text: #0f172a;
  --rj-muted-text: #475569;
  --font-heading: "Space Grotesk", "Poppins", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-mono: "Space Grotesk", ui-monospace, monospace;
}

body { font-family: var(--font-body); }
h1, h2, h3, h4, .font-heading { font-family: var(--font-heading); }

/* Premium dark gradient header (official brand gradient) */
.brand-header {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 55%, #2563eb 100%);
}

/* Nav tabs — on dark header */
.tab-btn {
  padding: 0.6rem 1.1rem;
  font-weight: 600;
  font-size: 0.875rem;
  font-family: var(--font-heading);
  color: var(--rj-border-blue);
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  white-space: nowrap;
  transition: all .15s;
}
.tab-btn:hover { color: #ffffff; background: rgba(255,255,255,.08); }
.tab-btn.active {
  background: var(--rj-soft-white);
  color: var(--rj-blue);
  border: 1px solid var(--rj-border-blue);
  border-bottom: none;
}

/* Cards — white on soft white */
.card {
  background: var(--rj-white);
  border: 1px solid var(--rj-border-blue);
  border-radius: 0.75rem;
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(37, 99, 235, .06);
}
.card-gold { /* legacy class name — now brand accent card */
  border-color: var(--rj-blue);
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}
.card-accent {
  border-color: var(--rj-blue);
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}

/* Inputs */
.input {
  width: 100%;
  background: var(--rj-white);
  border: 1px solid var(--rj-border-blue);
  color: var(--rj-dark-text);
  border-radius: 0.5rem;
  padding: 0.55rem 0.8rem;
  font-size: 0.9rem;
}
.input::placeholder { color: #94a3b8; }
.input:focus {
  outline: none;
  border-color: var(--rj-blue);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .18);
}
label.lbl {
  display: block; font-size: .72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .05em;
  color: var(--rj-muted-text); margin-bottom: .3rem;
  font-family: var(--font-heading);
}

/* Buttons — primary brand gradient */
.btn-primary {
  background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);
  color: #fff; font-weight: 700; font-family: var(--font-heading);
  padding: 0.65rem 1.4rem; border-radius: 0.5rem; transition: all .15s;
  box-shadow: 0 2px 8px rgba(37, 99, 235, .3);
}
.btn-primary:hover { filter: brightness(1.08); transform: translateY(-1px); }
.btn-gold { /* legacy class name — now deep blue solid */
  background: var(--rj-deep-blue); color: #fff; font-weight: 700;
  font-family: var(--font-heading);
  padding: 0.65rem 1.4rem; border-radius: 0.5rem; transition: all .15s;
}
.btn-gold:hover { filter: brightness(1.15); transform: translateY(-1px); }

/* Severity badges — light theme */
.sev-CRITICAL { background: rgba(239,68,68,.1); color: #dc2626; border: 1px solid rgba(239,68,68,.4); }
.sev-HIGH { background: rgba(245,158,11,.12); color: #d97706; border: 1px solid rgba(245,158,11,.4); }
.sev-MEDIUM { background: rgba(14,165,233,.1); color: #0284c7; border: 1px solid rgba(14,165,233,.4); }
.sev-LOW { background: rgba(37,99,235,.08); color: #2563eb; border: 1px solid rgba(37,99,235,.3); }
.sev-INFO { background: rgba(71,85,105,.08); color: #475569; border: 1px solid rgba(71,85,105,.3); }
.sev-badge { font-size: .7rem; font-weight: 800; padding: .15rem .55rem; border-radius: 9999px; letter-spacing: .03em; }

.type-badge {
  font-size: .7rem; font-weight: 700; padding: .15rem .5rem;
  border-radius: .25rem; background: var(--rj-light-blue);
  color: var(--rj-deep-blue); border: 1px solid var(--rj-border-blue);
}

.stat-value { font-size: 1.9rem; font-weight: 800; line-height: 1.1; font-family: var(--font-heading); }
.mono-doc { font-family: var(--font-mono); font-size: .78rem; white-space: pre-wrap; line-height: 1.45; }

.score-ring { position: relative; width: 130px; height: 130px; }
.spinner {
  border: 3px solid var(--rj-muted-blue); border-top-color: var(--rj-blue);
  border-radius: 50%; width: 2rem; height: 2rem;
  animation: spin .8s linear infinite; margin: 0 auto;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Brand kit page helpers ── */
.swatch { border-radius: .6rem; border: 1px solid var(--rj-border-blue); overflow: hidden; }
.swatch-chip { height: 64px; }
.swatch-meta { padding: .5rem .7rem; background: #fff; font-size: .75rem; }
.copy-block {
  background: var(--rj-navy); color: #e2e8f0; border-radius: .6rem;
  padding: 1rem; font-family: var(--font-mono); font-size: .75rem;
  white-space: pre-wrap; line-height: 1.5; position: relative;
  overflow-x: auto;
}
.copy-btn {
  position: absolute; top: .5rem; right: .5rem;
  background: rgba(37,99,235,.25); color: #93c5fd;
  border: 1px solid rgba(147,197,253,.35);
  font-size: .7rem; font-weight: 700; padding: .2rem .6rem; border-radius: .35rem;
  cursor: pointer; font-family: var(--font-heading);
}
.copy-btn:hover { background: rgba(37,99,235,.45); color: #fff; }
.brand-section-title {
  font-family: var(--font-heading); font-weight: 700; font-size: 1.15rem;
  color: var(--rj-navy); margin-bottom: .75rem;
  display: flex; align-items: center; gap: .5rem;
}
.brand-section-title i { color: var(--rj-blue); }

/* ── Legal pages ── */
.legal-doc h2 { font-family: var(--font-heading); font-weight: 700; font-size: 1.05rem; color: var(--rj-navy); margin: 1.25rem 0 .4rem; }
.legal-doc p { font-size: .9rem; color: var(--rj-muted-text); margin-bottom: .6rem; line-height: 1.6; }
.legal-doc a { color: var(--rj-blue); text-decoration: underline; }
.legal-doc b { color: var(--rj-dark-text); }

/* ── Status pills (case tracking) ── */
.st-pill { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .65rem; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.st-INTAKE { background: rgba(71,85,105,.08); color: #475569; border: 1px solid rgba(71,85,105,.3); }
.st-ANALYZING { background: rgba(14,165,233,.1); color: #0284c7; border: 1px solid rgba(14,165,233,.4); }
.st-DISPUTING { background: rgba(37,99,235,.08); color: #2563eb; border: 1px solid rgba(37,99,235,.3); }
.st-PRE_LITIGATION { background: rgba(245,158,11,.12); color: #d97706; border: 1px solid rgba(245,158,11,.4); }
.st-LITIGATION { background: rgba(239,68,68,.1); color: #dc2626; border: 1px solid rgba(239,68,68,.4); }
.st-SETTLED { background: rgba(16,185,129,.1); color: #059669; border: 1px solid rgba(16,185,129,.4); }
.st-CLOSED { background: rgba(15,23,42,.06); color: #0f172a; border: 1px solid rgba(15,23,42,.2); }

/* ── Print / PDF export of executive report ── */
@media print {
  header, footer, nav, .no-print, #main-nav { display: none !important; }
  body { background: #fff !important; }
  main { max-width: 100% !important; padding: 0 !important; }
  .card { box-shadow: none !important; break-inside: avoid; }
  .print-header { display: block !important; }
  .max-h-\[600px\] { max-height: none !important; overflow: visible !important; }
}
.print-header { display: none; border-bottom: 3px solid var(--rj-blue); padding-bottom: .75rem; margin-bottom: 1rem; }
