:root{
  --bg-main:#052e1b;
  --bg-card:#064e3b;
  --bg-soft:#022c22;
  --text-main:#ecfdf5;
  --text-muted:#a7f3d0;
  --accent:#22c55e;
  --accent-dark:#16a34a;
  --danger:#dc2626;
  --border-soft:rgba(255,255,255,.12);
}

/* GLOBAL */
html,body{
  background:var(--bg-main);
  color:var(--text-main);
}

/* PANELS / STEPS */
.card,
.card-auth,
.step{
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:12px;
}

/* HEADERS */
h1,h2,h3{
  color:var(--text-main);
}

/* FORMS – BASELINE (matches transactions.php) */
label,
.form-label{
  color:var(--text-main);
}

input,
select,
textarea,
.form-control{
  background:#ecfdf5;
  color:#000;
  border-radius:10px;
}

/* BUTTONS */
.btn,
.btn-primary,
button{
  background:var(--accent);
  border:none;
  color:#022c22;
  font-weight:600;
}

.btn:hover,
button:hover{
  background:var(--accent-dark);
  color:#ecfdf5;
}

/* LINKS */
a{
  color:#86efac;
}
a:hover{
  color:#bbf7d0;
}

/* ALERTS */
.alert-success{
  background:#dcfce7;
  color:#065f46;
}
.alert-danger{
  background:#fee2e2;
  color:#7f1d1d;
}

/* VARIANCE */
.variance{
  color:#f87171;
}

/* TABLES */
table th{
  background:#064e3b;
  color:var(--text-main);
}
table td{
  color:#000;
}

/* PLACEHOLDERS */
::placeholder{
  color:#6b7280;
}

/* DISABLED */
input:disabled,
select:disabled{
  background:#e5e7eb;
  color:#374151;
}

/* =========================
   SAFARI / iOS MINIMAL FIX
   ========================= */

/* Safari ignores color on select & date unless text-fill-color is set */
select,
input[type="date"]{
  -webkit-text-fill-color:#000;
}

/* Safari option rendering */
select option{
  color:#000;
  background:#ecfdf5;
}

/* TABLE BODY READABILITY FIX */
table tbody td {
  background: #ecfdf5;   /* light background */
  color: #000;           /* black text */
}

/* Inputs inside table cells */
table tbody td input {
  background: #ecfdf5;
  color: #000;
}
table tbody tr:nth-child(even) td {
  background: #f0fdf4;
}
