/* ===== مصاريف إبراهيم — هوية بصرية ===== */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap');

:root{
  --ink:#0c0a1e;          /* خلفية ليلية */
  --ink-2:#141132;
  --panel:#1a1640;
  --panel-2:#221c52;
  --line:rgba(255,255,255,.08);
  --text:#ece9ff;
  --muted:#9a93c8;
  --violet:#7c6cff;
  --violet-deep:#3B2FC9;  /* بنفسجي ميندي */
  --gold:#e8c468;
  --gold-soft:#f4dd9a;
  --green:#43d6a0;
  --red:#ff6b8a;
  --radius:16px;
  --shadow:0 24px 60px -20px rgba(0,0,0,.65);
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:'Tajawal',system-ui,sans-serif;
  background:
    radial-gradient(1200px 600px at 90% -10%, rgba(124,108,255,.18), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(232,196,104,.10), transparent 55%),
    var(--ink);
  color:var(--text);
  direction:rtl;
  min-height:100vh;
  padding:32px 18px 64px;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:980px;margin:0 auto}

/* رأس الصفحة */
.brand{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.brand .dot{
  width:42px;height:42px;border-radius:12px;flex:none;
  background:linear-gradient(140deg,var(--violet),var(--violet-deep));
  display:grid;place-items:center;font-size:20px;
  box-shadow:0 8px 24px -6px rgba(124,108,255,.6);
}
.brand h1{font-size:15px;font-weight:700;letter-spacing:.5px;color:var(--muted);margin:0}
.greet{margin:18px 0 26px}
.greet .hi{font-size:30px;font-weight:800;line-height:1.2}
.greet .hi b{
  background:linear-gradient(90deg,var(--gold-soft),var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.greet .sub{color:var(--muted);font-size:16px;margin-top:6px}

/* تبويب التنقل */
.nav{display:flex;gap:8px;margin:0 0 22px}
.nav a{
  text-decoration:none;color:var(--muted);font-weight:700;font-size:14px;
  padding:10px 18px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);transition:.2s;
}
.nav a.active{color:var(--ink);background:linear-gradient(90deg,var(--gold-soft),var(--gold));border-color:transparent}
.nav a:hover:not(.active){color:var(--text);border-color:var(--violet)}

/* البطاقات */
.card{
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:26px;
}
.card + .card{margin-top:20px}
.card h2{margin:0 0 18px;font-size:18px;font-weight:800;display:flex;align-items:center;gap:10px}
.card h2 .bar{width:4px;height:20px;border-radius:4px;background:linear-gradient(var(--gold),var(--violet))}

/* الحقول */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
label{font-size:13px;font-weight:700;color:var(--muted)}
label .req{color:var(--gold)}
input,select,textarea{
  font-family:inherit;font-size:15px;color:var(--text);
  background:var(--ink-2);border:1px solid var(--line);border-radius:12px;
  padding:13px 14px;transition:.18s;width:100%;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(124,108,255,.18);
}
select option{background:var(--ink-2)}
textarea{resize:vertical;min-height:54px}

.amount-wrap{position:relative}
.amount-wrap input{font-size:22px;font-weight:800;letter-spacing:.5px;padding-left:48px}
.amount-wrap .cur{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gold);font-weight:800}

.btn{
  margin-top:8px;width:100%;border:none;cursor:pointer;
  font-family:inherit;font-size:16px;font-weight:800;color:var(--ink);
  padding:15px;border-radius:12px;
  background:linear-gradient(90deg,var(--gold-soft),var(--gold));
  transition:.2s;
}
.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

/* تنبيه نجاح */
.flash{
  display:flex;align-items:center;gap:10px;
  background:rgba(67,214,160,.12);border:1px solid rgba(67,214,160,.35);
  color:var(--green);border-radius:12px;padding:13px 16px;margin-bottom:18px;font-weight:700;
}
.flash.err{background:rgba(255,107,138,.12);border-color:rgba(255,107,138,.35);color:var(--red)}

/* جدول آخر العمليات */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:12px 10px;text-align:right;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:700;font-size:12px;text-transform:uppercase}
td .pill{background:rgba(124,108,255,.14);color:var(--violet);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
td.amt{font-weight:800;color:var(--gold-soft)}
.empty{text-align:center;color:var(--muted);padding:30px}

/* أرقام ملخّص */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px}
.stat{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.stat .k{color:var(--muted);font-size:13px;font-weight:700}
.stat .v{font-size:26px;font-weight:800;margin-top:6px}
.stat .v.gold{color:var(--gold-soft)}
.stat .v.neg{color:var(--red)}

/* أشرطة التحليل */
.bars{display:flex;flex-direction:column;gap:14px}
.bar-row{display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:14px}
.bar-row .name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-track{height:14px;border-radius:999px;background:var(--ink-2);overflow:hidden}
.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--violet),var(--gold))}
.bar-fill.over{background:linear-gradient(90deg,#ff6b8a,#ff9d5c)}

/* الميزانية */
.budget-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;color:var(--muted)}
.budget-head b{color:var(--gold-soft)}
.budget-pct{font-weight:800;color:var(--violet);font-size:16px}
.budget-pct.over{color:var(--red)}
.budget-note{margin-top:10px;font-size:13px;font-weight:700;color:var(--green)}
.budget-note.over{color:var(--red)}

/* أزرار التقرير */
.report-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-ghost{
  flex:1;min-width:110px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:700;
  color:var(--text);background:var(--ink-2);border:1px solid var(--line);
  border-radius:12px;padding:13px;transition:.18s;
}
.btn-ghost:hover{border-color:var(--violet);background:var(--panel-2);transform:translateY(-1px)}
.btn-ghost:active{transform:translateY(0)}
.bar-val{font-weight:800;color:var(--gold-soft);font-size:14px;white-space:nowrap}

.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:6px}
.filters .field{flex:1;min-width:160px}

/* الشريط العلوي + المستخدم */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.userchip{display:flex;align-items:center;gap:10px}
.userchip .uname{font-size:13px;font-weight:700;color:var(--text);background:rgba(255,255,255,.04);
  border:1px solid var(--line);padding:7px 12px;border-radius:999px;white-space:nowrap}
.userchip .logout{font-size:13px;font-weight:700;color:var(--muted);text-decoration:none;
  border:1px solid var(--line);padding:7px 13px;border-radius:999px;transition:.18s}
.userchip .logout:hover{color:var(--red);border-color:var(--red)}

/* صفحة الدخول */
.login-body{display:grid;place-items:center;min-height:100vh;padding:20px}
.login-box{width:100%;max-width:400px}
.login-hint{color:var(--muted);font-size:14px;margin:0 0 18px}
.code-input{text-align:center;font-size:30px;font-weight:800;letter-spacing:14px;padding:16px}

/* الشريط العلوي على الجوال */
@media(max-width:560px){
  .topbar{flex-direction:row;flex-wrap:wrap}
  .userchip .uname{max-width:130px;overflow:hidden;text-overflow:ellipsis}
  .code-input{letter-spacing:10px;font-size:26px}
}

/* تمرير الجدول أفقياً على الجوال */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -6px}
.table-scroll table{min-width:520px}

/* ===== الجوال ===== */
@media(max-width:760px){
  body{padding:20px 14px 48px}
  .card{padding:20px 16px}
  .greet .hi{font-size:24px}
  .stats{grid-template-columns:1fr 1fr;gap:12px}
  .stat{padding:16px}
  .stat .v{font-size:20px}
  .bar-row{grid-template-columns:1fr;gap:6px}
  .bar-row .name{font-size:13px}
  .bar-val{justify-self:flex-start;font-size:13px}
}

@media(max-width:560px){
  body{padding:16px 12px 44px}
  .grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .greet .hi{font-size:22px}
  .greet .sub{font-size:14px}
  .nav{flex-wrap:wrap}
  .nav a{flex:1;text-align:center;padding:11px 12px}
  .amount-wrap input{font-size:20px}
  .card h2{font-size:16px}
  .filters .field{min-width:100%}
  input,select,textarea{font-size:16px}   /* يمنع زوم iOS التلقائي */
  .btn{padding:16px;font-size:17px}
}

/* أزرار الصف في التفاصيل */
.row-actions{white-space:nowrap;display:flex;gap:8px;align-items:center}
.act{font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;border:1px solid var(--line);
  cursor:pointer;text-decoration:none;background:var(--ink-2);font-family:inherit}
.act.edit{color:var(--violet);border-color:rgba(124,108,255,.4)}
.act.edit:hover{background:rgba(124,108,255,.12)}
.act.del{color:var(--red);border-color:rgba(255,107,138,.4)}
.act.del:hover{background:rgba(255,107,138,.12)}
