:root{
  --bg:#0f1115; --panel:#171a21; --panel2:#1e222b; --line:#2a2f3a;
  --text:#e7eaf0; --muted:#9aa3b2; --brand:#3b82f6; --brand2:#2563eb;
  --green:#22c55e; --amber:#f59e0b; --red:#ef4444; --radius:14px;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.5}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1040px;margin:0 auto;padding:24px}
header.nav{background:var(--panel);border-bottom:1px solid var(--line)}
header.nav .inner{max-width:1040px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px}
.brand{font-weight:800;font-size:20px;letter-spacing:-.5px}
.brand span{color:var(--brand)}
.nav .spacer{flex:1}
.nav .who{color:var(--muted);font-size:14px}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--line)}
.badge.construction{background:#1e2a16;color:#a3e635;border-color:#3f5723}
.badge.consulting{background:#16222a;color:#67e8f9;border-color:#23495a}
.badge.paid{background:#0f2a1a;color:#4ade80;border-color:#225c3a}
.badge.pending{background:#2a210f;color:#fbbf24;border-color:#5c4822}
.badge.mock{background:#2a1622;color:#f9a8d4;border-color:#5c2347}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px}
.card h2,.card h3{margin-top:0}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.grid.cols-2{grid-template-columns:1fr}}
h1{font-size:26px;margin:0 0 4px}
.sub{color:var(--muted);margin:0 0 20px}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
input,select,textarea{width:100%;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);
  border-radius:9px;color:var(--text);font-size:14px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand)}
.btn{display:inline-block;padding:10px 16px;border-radius:9px;border:1px solid var(--brand2);
  background:var(--brand);color:#fff;font-weight:600;cursor:pointer;font-size:14px}
.btn:hover{background:var(--brand2);text-decoration:none}
.btn.secondary{background:transparent;color:var(--text);border-color:var(--line)}
.btn.green{background:var(--green);border-color:#16a34a}
.btn.sm{padding:6px 12px;font-size:13px}
.btn.block{display:block;width:100%;text-align:center}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}
th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.progress{height:12px;background:var(--panel2);border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.progress > span{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;transition:width .4s}
.kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.kv:last-child{border-bottom:none}
.kv .k{color:var(--muted)}
.muted{color:var(--muted)}
.right{text-align:right}
.alert{padding:10px 14px;border-radius:9px;margin-bottom:14px;font-size:14px}
.alert.err{background:#2a1414;color:#fca5a5;border:1px solid #5c2323}
.alert.warn{background:#2a2410;color:#fcd34d;border:1px solid #5c5023}
.installment-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;margin-bottom:8px;align-items:end}
.center{max-width:420px;margin:60px auto}
.stat{font-size:30px;font-weight:800}
.hint{font-size:12px;color:var(--muted);margin-top:6px}
.flex{display:flex;gap:10px;align-items:center}
hr{border:none;border-top:1px solid var(--line);margin:18px 0}

/* ---------- print (clean receipts/invoices) ---------- */
@media print {
  header.nav, .btn, hr { display: none !important; }
  body { background: #fff; color: #000; }
  .container { padding: 0; }
  .center { margin: 0; }
  .card { border: 1px solid #ccc; box-shadow: none; }
  .kv { border-bottom: 1px dashed #bbb; }
  .kv .k, .muted, .hint, .sub { color: #333; }
}

/* ---------- RTL (Arabic) ---------- */
[dir="rtl"] th,[dir="rtl"] td{text-align:right}
[dir="rtl"] .right{text-align:left}
[dir="rtl"] .installment-row{grid-template-columns:2fr 1fr 1fr auto}
[dir="rtl"] .progress > span{background:linear-gradient(270deg,#22c55e,#16a34a)}
