/* === Boutique Law Firm Theme — insolventa.app ===
   British Racing Green + Brass + Cream + Charcoal
   Lora (serif) + Inter (sans) + JetBrains Mono
*/

:root {
  /* Backgrounds */
  --bg-cream:      #FAF7F2;
  --bg-paper:      #FFFFFF;
  --bg-linen:      #F5F0E8;

  /* Primary — British Racing Green */
  --green-50:      #F4F8F6;
  --green-100:     #E8F0EC;
  --green-200:     #CCD9D2;
  --green-300:     #A2BBB0;
  --green-400:     #6B8F7E;
  --green-500:     #3D6856;
  --green-600:     #2A4F3F;
  --green-700:     #1B3D2F;  /* PRIMARY */
  --green-800:     #15301F;
  --green-900:     #0F2418;

  /* Accent — Brass (mat gold) */
  --brass-50:      #FBF8F2;
  --brass-100:     #F2E8D0;
  --brass-200:     #E5D6B5;
  --brass-300:     #D0B98A;
  --brass-400:     #B89968;  /* ACCENT */
  --brass-500:     #A88958;
  --brass-600:     #876D3D;

  /* Text */
  --charcoal:      #2A2620;  /* body */
  --stone:         #6B5D54;  /* muted */
  --linen-border:  #E8E2D8;

  /* Status (warm tinted) */
  --burgundy:      #7B2D3F;  /* error */
  --olive:         #6B7B3A;  /* success */
  --amber:         #A56F1F;  /* warn */
}

/* === Tailwind class overrides === */
/* Background paper / cream */
body { background: var(--bg-cream); color: var(--charcoal); }

/* "ink" → charcoal/stone */
.text-ink-50, .text-ink-100, .text-ink-200, .text-ink-300 { color: var(--linen-border) !important; }
.text-ink-400 { color: var(--stone) !important; opacity: 0.65; }
.text-ink-500 { color: var(--stone) !important; }
.text-ink-600 { color: var(--charcoal) !important; opacity: 0.85; }
.text-ink-700, .text-ink-800, .text-ink-900, .text-ink-950 { color: var(--charcoal) !important; }

.bg-ink-50  { background: var(--bg-linen) !important; }
.bg-ink-100 { background: var(--bg-linen) !important; }
.bg-ink-200 { background: var(--linen-border) !important; }
.bg-ink-300 { background: #D0C9BD !important; }

.border-ink-100, .border-ink-200, .border-ink-300 { border-color: var(--linen-border) !important; }

/* "accent" → green */
.text-accent-50  { color: var(--green-50) !important; }
.text-accent-100 { color: var(--green-100) !important; }
.text-accent-300 { color: var(--green-300) !important; }
.text-accent-400 { color: var(--green-400) !important; }
.text-accent-500 { color: var(--green-500) !important; }
.text-accent-600 { color: var(--green-600) !important; }
.text-accent-700 { color: var(--green-700) !important; }
.text-accent-800 { color: var(--green-800) !important; }
.text-accent-900 { color: var(--green-900) !important; }

.bg-accent-50  { background: var(--green-50) !important; }
.bg-accent-100 { background: var(--green-100) !important; }
.bg-accent-200 { background: var(--green-200) !important; }
.bg-accent-600 { background: var(--green-600) !important; }
.bg-accent-700 { background: var(--green-700) !important; }
.bg-accent-800 { background: var(--green-800) !important; }

.border-accent-200 { border-color: var(--green-200) !important; }
.border-accent-300 { border-color: var(--green-300) !important; }
.border-accent-400 { border-color: var(--green-400) !important; }
.border-accent-700 { border-color: var(--green-700) !important; }

.ring-accent-400 { --tw-ring-color: var(--green-400) !important; }
.ring-accent-700 { --tw-ring-color: var(--green-700) !important; }

/* "gold" → brass */
.text-gold-300 { color: var(--brass-300) !important; }
.text-gold-400 { color: var(--brass-400) !important; }
.text-gold-500 { color: var(--brass-500) !important; }
.text-gold-600 { color: var(--brass-600) !important; }
.bg-gold-100 { background: var(--brass-100) !important; }
.bg-gold-200 { background: var(--brass-200) !important; }
.bg-gold-400 { background: var(--brass-400) !important; }

/* === Typography === */
h1, h2, h3, h4 {
  font-family: 'Lora', Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--green-700);
}
h1 { font-weight: 700; }
.font-serif { font-family: 'Lora', Georgia, serif; }
.font-sans  { font-family: 'Inter', system-ui, sans-serif; }
.font-mono  { font-family: 'JetBrains Mono', 'Courier New', monospace; }

/* === Components === */
.btn-primary {
  background: var(--green-700);
  color: #FFFFFF;
  border-radius: 4px;
  border: 2px solid var(--green-700);
  font-weight: 500;
  padding: 0.65rem 1.35rem;
  transition: all .15s;
}
.btn-primary:hover {
  background: var(--green-800);
  border-color: var(--green-800);
}
.btn-primary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--brass-300);
}
.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-ghost {
  background: transparent;
  color: var(--charcoal);
  border: 1px solid var(--linen-border);
  border-radius: 4px;
  font-weight: 500;
  padding: 0.6rem 1.25rem;
  transition: all .15s;
}
.btn-ghost:hover {
  border-color: var(--green-400);
  background: var(--bg-linen);
}

/* Input fields */
.field {
  background: var(--bg-paper);
  border: 1px solid var(--linen-border);
  border-radius: 4px;
  padding: 0.6rem 0.75rem;
  color: var(--charcoal);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.95rem;
  transition: border-color .15s, box-shadow .15s;
}
.field:focus {
  outline: none;
  border-color: var(--green-700);
  box-shadow: 0 0 0 3px var(--green-100);
}

.label {
  display: block;
  font-size: 0.85rem;
  color: var(--stone);
  margin-bottom: 0.35rem;
  font-weight: 500;
}

/* Pills / badges */
.pill-success {
  background: #EDF1E0;
  color: #4D5A22;
  font-size: 0.75rem;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-weight: 600;
}
.pill-warning {
  background: #F7EBD3;
  color: #7A4F12;
  font-size: 0.75rem;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-weight: 600;
}
.pill-danger {
  background: #F3DEDF;
  color: #5A1F2A;
  font-size: 0.75rem;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-weight: 600;
}

/* Alerts */
.alert-error {
  background: #F8E8E9;
  color: var(--burgundy);
  border-left: 3px solid var(--burgundy);
  padding: 0.75rem 1rem;
  border-radius: 4px;
  font-size: 0.9rem;
}
.alert-info {
  background: var(--green-100);
  color: var(--green-700);
  border-left: 3px solid var(--green-400);
  padding: 0.75rem 1rem;
  border-radius: 4px;
  font-size: 0.9rem;
}

/* === Anchor underlines (juridic premium) === */
a {
  color: var(--green-700);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
a:hover { color: var(--green-600); }

/* === Cards === */
.card-paper {
  background: var(--bg-paper);
  border: 1px solid var(--linen-border);
  border-radius: 6px;
  padding: 1.5rem;
}

/* Decorative serif quote */
blockquote {
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 1.15rem;
  color: var(--charcoal);
  border-left: 3px solid var(--brass-400);
  padding-left: 1.25rem;
  margin: 1.5rem 0;
}

/* Code & numbers */
code, .mono { font-family: 'JetBrains Mono', monospace; }

/* Selection color (brass) */
::selection {
  background: var(--brass-200);
  color: var(--green-900);
}

/* Smooth scrollbar (subtle brass) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-cream); }
::-webkit-scrollbar-thumb { background: var(--green-300); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--green-500); }
