/* FINCORYA — identité visuelle officielle */
:root {
  --brand-primary: #006B4F;
  --brand-secondary: #013B36;
  --brand-accent: #C9A227;
  --brand-light: #F7F8F5;
  --brand-text: #18201F;

  --primary: var(--brand-primary);
  --primary-hover: var(--brand-secondary);
  --secondary: var(--brand-secondary);
  --accent: var(--brand-accent);
  --background: var(--brand-light);
  --surface: #fff;
  --text: var(--brand-text);
  --graphite: var(--brand-text);
  --ivory: var(--brand-light);
  --emerald: var(--brand-primary);
  --deep: var(--brand-secondary);
  --gold: var(--brand-accent);
  --border: rgba(1, 59, 54, .14);
  --line: rgba(1, 59, 54, .14);
  --text-muted: rgba(24, 32, 31, .72);
  --muted: rgba(24, 32, 31, .72);
  --success-bg: rgba(0, 107, 79, .10);
  --warning-bg: rgba(201, 162, 39, .14);
  --shadow-sm: 0 5px 18px rgba(1, 59, 54, .07);
  --shadow-md: 0 14px 38px rgba(1, 59, 54, .13);
}

html { background: var(--brand-light); }
body { color: var(--brand-text); background: var(--brand-light); }
::selection { color: #fff; background: var(--brand-primary); }

.currency-mark { background: var(--brand-secondary); }

.button-primary {
  background: var(--brand-primary);
  color: #fff;
  box-shadow: 0 6px 16px rgba(0, 107, 79, .20), inset 0 1px rgba(255, 255, 255, .18);
}
.button-primary:hover { background: var(--brand-secondary); }
.button-primary:active { box-shadow: 0 2px 8px rgba(1, 59, 54, .18); }
.button-secondary { border-color: rgba(1, 59, 54, .24); background: var(--brand-light); color: var(--brand-secondary); }
.button-secondary:hover { background: rgba(0, 107, 79, .08); }

.field input,
.field select,
.field textarea,
.stack-form input,
.stack-form textarea {
  border-color: rgba(1, 59, 54, .28);
  color: var(--brand-text);
  background: #fff;
}
.field input:hover,
.field select:hover,
.field textarea:hover { border-color: rgba(0, 107, 79, .60); }
.field input:focus,
.field select:focus,
.field textarea:focus,
.stack-form input:focus,
.stack-form textarea:focus {
  outline: 3px solid rgba(201, 162, 39, .30);
  border-color: var(--brand-primary);
}

.button:focus-visible,
.icon-button:focus-visible,
.text-link:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--brand-accent);
  outline-offset: 3px;
}

.panel,
.account-card,
.auth-card,
.filter-bar { border-color: rgba(1, 59, 54, .14); box-shadow: var(--shadow-sm); }
.account-card { transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; cursor: pointer; }
.account-card:hover { border-color: rgba(0, 107, 79, .38); background: rgba(247, 248, 245, .65); box-shadow: var(--shadow-md); }
.table-wrap th { color: rgba(24, 32, 31, .68); }
.table-wrap tbody tr:hover { background: rgba(0, 107, 79, .035); }
.reference,
.text-link { color: var(--brand-primary); }
.status-completed { color: var(--brand-primary); background: rgba(0, 107, 79, .10); }
.status-pending { color: var(--brand-secondary); background: rgba(201, 162, 39, .18); }

.auth-security-mark {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  border: 1px solid rgba(0, 107, 79, .18);
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(0, 107, 79, .08);
  color: var(--brand-secondary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
}
.auth-security-mark svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--brand-primary);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
