/* NGO ERP - minimal stylesheet, no external dependencies (keeps page weight tiny) */
:root {
  --navy: #1f3a5f;
  --navy-dark: #16294a;
  --accent: #2c7a4b;
  --bg: #f4f6f8;
  --border: #dde2e7;
  --text: #222;
  --danger: #b3261e;
}
* { box-sizing: border-box; }
body { margin:0; font-family: -apple-system, Segoe UI, Roboto, Arial, sans-serif; background: var(--bg); color: var(--text); font-size: 15px; }
a { color: var(--navy); }
.nav { background: var(--navy); color:#fff; padding: 10px 20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.nav a { color:#fff; text-decoration:none; margin-right: 14px; font-size: 14px; }
.nav a:hover { text-decoration:underline; }
.nav .brand { font-weight:600; font-size:16px; margin-right: 24px; }
.container { max-width: 1000px; margin: 20px auto; padding: 0 16px; }
.card { background:#fff; border:1px solid var(--border); border-radius:8px; padding:18px 20px; margin-bottom:18px; }
h1,h2,h3 { color: var(--navy-dark); }
table { border-collapse: collapse; width:100%; margin-top:10px; }
th, td { border:1px solid var(--border); padding:8px 10px; text-align:left; font-size:14px; }
th { background:#eef1f4; }
.right { text-align:right; }
input, select, textarea { padding:7px 9px; border:1px solid #c3cad1; border-radius:5px; font-size:14px; width:100%; }
label { display:block; margin:10px 0 4px; font-weight:600; font-size:13px; }
button, .btn { background: var(--navy); color:#fff; border:none; padding:9px 16px; border-radius:6px; cursor:pointer; font-size:14px; text-decoration:none; display:inline-block; }
button:hover, .btn:hover { background: var(--navy-dark); }
.btn-secondary { background:#6b7785; }
.flash { padding:10px 14px; border-radius:6px; margin-bottom:14px; font-size:14px; }
.flash-success { background:#e4f5ea; color:#1a5c33; border:1px solid #b9e3c8; }
.flash-error { background:#fbe9e7; color:var(--danger); border:1px solid #f3c2bd; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.balanced { color: var(--accent); font-weight:600; }
.unbalanced { color: var(--danger); font-weight:600; }
.tag { display:inline-block; padding:2px 8px; border-radius:10px; font-size:12px; background:#eef1f4; }
.line-row td { padding:4px 6px; }
.remove-line { color:var(--danger); cursor:pointer; background:none; border:none; padding:4px 8px; }
footer { text-align:center; padding:20px; color:#8a97a3; font-size:12px; }
