<!doctype html>
<html lang="ar" dir="rtl" data-theme="dim">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>إعدادات المصروفات</title>

  <style>
    /* =========================
       Theme Variables (Default = DIM)
       ========================= */
    :root{ /* default = dim */
      --bg:#121826;
      --surface:#101827;
      --card:#151e30;
      --card2:#0f1a33;

      --text:#e5e7eb;
      --muted:#9ca3af;

      --border:rgba(255,255,255,.10);
      --border2:rgba(255,255,255,.14);
      --shadow:0 18px 40px rgba(0,0,0,.22);

      --primary:#6366f1;
      --primary2:#4f46e5;
      --success:#22c55e;
      --warning:#f59e0b;
      --danger:#ef4444;

      --input:#0b1327;
      --inputBorder:rgba(255,255,255,.12);
      --inputFocus:rgba(99,102,241,.35);

      --tableHead:rgba(255,255,255,.05);
      --rowHover:rgba(99,102,241,.08);
    }

    /* ✅ Dark (أغمق) */
    html[data-theme="dark"]{
      --bg:#070b14;
      --surface:#0b1220;
      --card:#0f172a;
      --card2:#0b1327;
    }

    /* ✅ Light (أبيض صافي مثل التصميم القديم) */
    html[data-theme="light"]{
      --bg:#ffffff;
      --surface:#ffffff;
      --card:#ffffff;
      --card2:#ffffff;

      --text:#111827;
      --muted:#6b7280;

      --border:rgba(17,24,39,.10);
      --border2:rgba(17,24,39,.14);
      --shadow:0 12px 28px rgba(0,0,0,.10);

      --primary:#111827;
      --primary2:#111827;

      --success:#16a34a;
      --warning:#d97706;
      --danger:#dc2626;

      --input:#ffffff;
      --inputBorder:rgba(17,24,39,.14);
      --inputFocus:rgba(17,24,39,.12);

      --tableHead:rgba(17,24,39,.03);
      --rowHover:rgba(17,24,39,.03);
    }

    *{box-sizing:border-box}

    body{
      font-family:Arial, sans-serif;
      margin:0;
      background:var(--bg);
      color:var(--text);
      padding:22px;
    }

    html[data-theme="dim"] body,
    html[data-theme="dark"] body{
      background:linear-gradient(180deg, var(--bg), var(--bg));
    }

    .container{max-width:1150px;margin:0 auto}

    /* Page header */
    .pageHeader{
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid var(--border);
      border-radius:18px;
      box-shadow:var(--shadow);
      padding:16px 16px 12px;
      margin-bottom:14px;
    }
    html[data-theme="light"] .pageHeader{
      background:#ffffff;
      border-color:rgba(17,24,39,.10);
      box-shadow:0 12px 28px rgba(0,0,0,.08);
    }

    .headerTop{
      display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap
    }
    .title{font-weight:900;font-size:18px;letter-spacing:.2px}
    .subtitle{color:var(--muted);font-size:13px;margin-top:6px;line-height:1.6}

    .navRow{
      display:flex;gap:8px;flex-wrap:nowrap;overflow:auto;max-width:100%;
      padding-top:10px;padding-bottom:6px;-webkit-overflow-scrolling:touch;align-items:center
    }
    .navRow > *{flex:0 0 auto; white-space:nowrap;}

    /* Buttons */
    .btn{
      padding:10px 12px;border-radius:12px;border:1px solid transparent;
      cursor:pointer;font-weight:900;font-size:13px;line-height:1;
      display:inline-flex;align-items:center;gap:8px;text-decoration:none;
      transition:transform .05s ease, opacity .15s ease, border-color .15s ease;
      user-select:none;
    }
    .btn:active{transform:translateY(1px)}

    .btnPrimary{
      background:linear-gradient(180deg, var(--primary), var(--primary2));
      color:#fff;border-color:rgba(255,255,255,.10)
    }
    html[data-theme="light"] .btnPrimary{
      background:#111827; color:#fff; border-color:rgba(17,24,39,.12);
    }

    .btnGhost{
      background:rgba(255,255,255,.03);
      color:var(--text);
      border-color:var(--border2)
    }
    html[data-theme="light"] .btnGhost{
      background:#ffffff;
      border-color:rgba(17,24,39,.12);
    }
    .btnGhost:hover{border-color:rgba(255,255,255,.18)}
    html[data-theme="light"] .btnGhost:hover{border-color:rgba(17,24,39,.20)}

    .btnDanger{
      background:rgba(239,68,68,.14);
      color:#fff;border-color:rgba(239,68,68,.35)
    }
    html[data-theme="light"] .btnDanger{
      background:#ffffff;
      color:#dc2626;
      border-color:rgba(220,38,38,.25);
    }
    .btnDanger:hover{opacity:.95}

    .activeTab{
      background:rgba(99,102,241,.20);
      border-color:rgba(99,102,241,.55);
      color:#fff;
    }
    html[data-theme="light"] .activeTab{
      background:rgba(17,24,39,.05);
      border-color:rgba(17,24,39,.18);
      color:#111827;
    }

    /* Cards */
    .card{
      background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
      border:1px solid var(--border);
      border-radius:18px;
      box-shadow:var(--shadow);
      padding:16px;
      margin-bottom:14px;
    }
    html[data-theme="light"] .card{
      background:#ffffff;
      border-color:rgba(17,24,39,.10);
      box-shadow:0 12px 28px rgba(0,0,0,.08);
    }

    /* Alerts */
    .alert{padding:12px;border-radius:14px;border:1px solid;font-weight:900;margin-bottom:14px}
    .alert.err{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.35);color:#fff}
    .alert.ok{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.35);color:#fff}
    html[data-theme="light"] .alert.err{color:#991b1b;background:#fef2f2;border-color:#fecaca}
    html[data-theme="light"] .alert.ok{color:#166534;background:#ecfdf3;border-color:#bbf7d0}

    /* Forms */
    label{display:block;font-size:12px;color:var(--muted);font-weight:900;margin-bottom:6px}
    input, select{
      width:100%;
      padding:11px 12px;
      border:1px solid var(--inputBorder);
      border-radius:12px;
      outline:none;
      font-size:14px;
      background:var(--input);
      color:var(--text);
    }
    input:focus, select:focus{
      border-color:rgba(99,102,241,.55);
      box-shadow:0 0 0 3px var(--inputFocus);
    }
    html[data-theme="light"] input:focus,
    html[data-theme="light"] select:focus{
      border-color:rgba(17,24,39,.22);
      box-shadow:0 0 0 3px rgba(17,24,39,.08);
    }

    .grid{display:grid;grid-template-columns: 1fr 1fr 240px;gap:10px;align-items:end}
    @media (max-width: 820px){
      .grid{grid-template-columns:1fr}
      body{padding:16px}
    }

    /* Table */
    .tableWrap{
      overflow:auto;
      border-radius:14px;
      border:1px solid var(--border);
      background:rgba(0,0,0,.10);
      margin-top:10px;
    }
    html[data-theme="light"] .tableWrap{
      background:#ffffff;
      border-color:rgba(17,24,39,.10);
    }

    table{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      min-width:900px;
    }
    thead th{
      position:sticky;top:0;z-index:2;
      background:var(--tableHead);
      border-bottom:1px solid var(--border);
      padding:12px 12px;
      font-weight:900;
      font-size:13px;
      white-space:nowrap;
      text-align:right;
    }
    tbody td{
      padding:12px 12px;
      border-bottom:1px solid rgba(255,255,255,.06);
      font-size:13px;
      vertical-align:middle;
    }
    html[data-theme="light"] tbody td{
      border-bottom:1px solid rgba(17,24,39,.08);
    }
    tbody tr:hover td{background:var(--rowHover)}

    .muted{color:var(--muted);font-size:12px;font-weight:900}

    /* Badges (مثل الإعدادات الأساسية) */
    .badge{
      display:inline-flex;align-items:center;gap:6px;
      padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.03);
      color:var(--text);
    }
    html[data-theme="light"] .badge{
      border-color:rgba(17,24,39,.12);
      background:rgba(17,24,39,.03);
      color:var(--text);
    }
    .badge.on{border-color:rgba(34,197,94,.40);background:rgba(34,197,94,.14)}
    .badge.off{border-color:rgba(239,68,68,.40);background:rgba(239,68,68,.14)}

    /* Inline actions */
    .rowActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
    .miniBtn{
      padding:8px 10px;border-radius:12px;border:1px solid var(--border2);
      background:rgba(255,255,255,.03);color:var(--text);font-weight:900;cursor:pointer;font-size:12px;
    }
    html[data-theme="light"] .miniBtn{
      background:#ffffff;
      border-color:rgba(17,24,39,.12);
      color:#111827;
    }
    .miniBtn:hover{border-color:rgba(255,255,255,.18)}
    html[data-theme="light"] .miniBtn:hover{border-color:rgba(17,24,39,.20)}

    .miniBtnDanger{
      padding:8px 10px;border-radius:12px;border:1px solid rgba(239,68,68,.35);
      background:rgba(239,68,68,.14);color:#fff;font-weight:900;cursor:pointer;font-size:12px;
    }
    html[data-theme="light"] .miniBtnDanger{
      background:#ffffff;
      color:#dc2626;
      border-color:rgba(220,38,38,.25);
    }
  </style>

  <!-- ✅ Apply saved theme ASAP (avoid flash) -->
  <script>
    (function(){
      const themes = ["light","dim","dark"];
      const key = "ui_theme";
      const saved = localStorage.getItem(key);
      const t = (saved && themes.includes(saved)) ? saved : "dim";
      document.documentElement.setAttribute("data-theme", t);
    })();
  </script>
</head>

<body>
<div class="container">

  <!-- ✅ الهيدر الرئيسي (بنفس قالب الإعدادات) -->
  <div class="pageHeader">
    <div class="headerTop">
      <div>
        <div class="title">إعدادات المصروفات</div>
        <div class="subtitle">إدارة المصروفات الرئيسية والفرعية</div>
      </div>

      <div class="navRow">
        <a class="btn btnPrimary" href="{{ Route::has('dashboard') ? route('dashboard') : (Route::has('dashboard.sales') ? route('dashboard.sales') : '#') }}">الرئيسية</a>

        <a class="btn btnGhost {{ Route::currentRouteNamed('dashboard.sales') ? 'activeTab' : '' }}"
           href="{{ Route::has('dashboard.sales') ? route('dashboard.sales') : '#' }}">المبيعات</a>

        <a class="btn btnGhost {{ Route::currentRouteNamed('purchases.*') ? 'activeTab' : '' }}"
           href="{{ Route::has('purchases.index') ? route('purchases.index') : '#' }}">المشتريات</a>

        <a class="btn btnGhost {{ Route::currentRouteNamed('expenses.*') ? 'activeTab' : '' }}"
           href="{{ Route::has('expenses.index') ? route('expenses.index') : '#' }}">المصروفات</a>

        <a class="btn btnGhost {{ Route::currentRouteNamed('dashboard.reports*') ? 'activeTab' : '' }}"
           href="{{ Route::has('dashboard.reports') ? route('dashboard.reports') : '#' }}">التقارير</a>

        <a class="btn btnGhost {{ Route::currentRouteNamed('settings.*') ? 'activeTab' : '' }}"
           href="{{ Route::has('settings.index') ? route('settings.index') : '#' }}">الإعدادات</a>

        @if(auth()->check() && (auth()->user()->role ?? 'user') === 'admin')
          <a class="btn btnGhost" href="{{ Route::has('branches.index') ? route('branches.index') : '#' }}">إدارة الفروع</a>
          <a class="btn btnGhost" href="{{ Route::has('users.index') ? route('users.index') : '#' }}">إدارة المستخدمين</a>
        @endif

        <button class="btn btnGhost" type="button" id="themeBtn">🎨 المظهر</button>

        <form method="POST" action="{{ Route::has('logout') ? route('logout') : '#' }}" style="display:inline">
          @csrf
          <button class="btn btnDanger" type="submit">خروج</button>
        </form>
      </div>
    </div>
  </div>

  <!-- ✅ الشريط الفرعي للمصروفات -->
  <div class="card">
    <div class="navRow" style="padding-top:0">
      <a class="btn btnGhost" href="{{ Route::has('expenses.index') ? route('expenses.index') : '#' }}">إضافة مصروف</a>
      <a class="btn btnGhost" href="{{ Route::has('expenses.invoices') ? route('expenses.invoices') : '#' }}">فواتير المصروفات</a>
      <a class="btn btnGhost activeTab" href="{{ Route::has('expenses.settings') ? route('expenses.settings') : '#' }}">إعدادات المصروفات</a>
    </div>
  </div>

  @if(session('ok')) <div class="alert ok">{{ session('ok') }}</div> @endif
  @if(session('error')) <div class="alert err">{{ session('error') }}</div> @endif
  @if($errors->any()) <div class="alert err">{{ $errors->first() }}</div> @endif

  <!-- ✅ (1) المصروفات الرئيسية -->
  <div class="card">
    <div style="font-weight:900;margin-bottom:6px">المصروفات الرئيسية (Categories)</div>
    <div class="muted">مثال: مصروفات إيجارات / مصروفات تشغيل</div>

    <form method="POST" action="{{ route('expenses.cats.store') }}" style="margin-top:10px">
      @csrf
      <div class="grid" style="grid-template-columns: 1fr 240px;">
        <div>
          <label>اسم المصروف الرئيسي</label>
          <input type="text" name="name" placeholder="مثال: مصروفات إيجارات" required>
        </div>
        <div>
          <label>&nbsp;</label>
          <button class="btn btnPrimary" type="submit">إضافة</button>
        </div>
      </div>
    </form>

    <div class="tableWrap">
      <table style="min-width:700px">
        <thead>
          <tr>
            <th>#</th>
            <th>اسم المصروف الرئيسي</th>
            <th>الحالة</th>
            <th style="text-align:left">إجراءات</th>
          </tr>
        </thead>
        <tbody>
          @forelse(($categories ?? []) as $c)
            <tr>
              <td class="muted">{{ $c->id }}</td>
              <td>
                <form method="POST" action="{{ route('expenses.cats.update', ['id'=>$c->id]) }}"
                      style="display:flex;gap:8px;align-items:center;flex-wrap:wrap">
                  @csrf
                  <input name="name" value="{{ $c->name }}" style="max-width:420px" required>
                  <button class="miniBtn" type="submit">تعديل</button>
                </form>
              </td>
              <td>
                @if((int)($c->is_active ?? 0) === 1)
                  <span class="badge on">مفعل</span>
                @else
                  <span class="badge off">معطل</span>
                @endif
              </td>
              <td style="text-align:left">
                <div class="rowActions">
                  <form method="POST" action="{{ route('expenses.cats.toggle', ['id'=>$c->id]) }}">
                    @csrf
                    @if((int)($c->is_active ?? 0) === 1)
                      <button class="miniBtnDanger" type="submit">تعطيل</button>
                    @else
                      <button class="miniBtn" type="submit">تفعيل</button>
                    @endif
                  </form>
                </div>
              </td>
            </tr>
          @empty
            <tr><td colspan="4" class="muted" style="padding:14px;text-align:center">لا توجد مصروفات رئيسية حالياً</td></tr>
          @endforelse
        </tbody>
      </table>
    </div>
  </div>

  <!-- ✅ (2) المصروفات الفرعية -->
  <div class="card">
    <div style="font-weight:900;margin-bottom:6px">المصروفات الفرعية (Subcategories)</div>
    <div class="muted">لازم تختار المصروف الرئيسي أولاً</div>

    <form method="POST" action="{{ route('expenses.subcats.store') }}" style="margin-top:10px">
      @csrf
      <div class="grid">
        <div>
          <label>المصروف الرئيسي</label>
          <select name="category_id" required>
            <option value="">— اختر —</option>
            @foreach(($categories ?? []) as $c)
              <option value="{{ $c->id }}">{{ $c->name }}</option>
            @endforeach
          </select>
        </div>
        <div>
          <label>اسم المصروف الفرعي</label>
          <input type="text" name="name" placeholder="مثال: إيجار المحل" required>
        </div>
        <div>
          <label>&nbsp;</label>
          <button class="btn btnPrimary" type="submit">إضافة</button>
        </div>
      </div>
    </form>

    <div class="tableWrap">
      <table>
        <thead>
          <tr>
            <th>#</th>
            <th>المصروف الرئيسي</th>
            <th>المصروف الفرعي</th>
            <th>الحالة</th>
            <th style="text-align:left">إجراءات</th>
          </tr>
        </thead>
        <tbody>
          @forelse(($subcats ?? []) as $sc)
            <tr>
              <td class="muted">{{ $sc->id }}</td>
              <td class="muted">{{ $sc->category_name }}</td>
              <td>
                <form method="POST" action="{{ route('expenses.subcats.update', ['id'=>$sc->id]) }} "
                      style="display:flex;gap:8px;align-items:center;flex-wrap:wrap">
                  @csrf
                  <select name="category_id" style="max-width:260px" required>
                    @foreach(($categories ?? []) as $c)
                      <option value="{{ $c->id }}" {{ (int)$c->id === (int)$sc->category_id ? 'selected' : '' }}>{{ $c->name }}</option>
                    @endforeach
                  </select>
                  <input name="name" value="{{ $sc->name }}" style="max-width:320px" required>
                  <button class="miniBtn" type="submit">تعديل</button>
                </form>
              </td>
              <td>
                @if((int)($sc->is_active ?? 0) === 1)
                  <span class="badge on">مفعل</span>
                @else
                  <span class="badge off">معطل</span>
                @endif
              </td>
              <td style="text-align:left">
                <div class="rowActions">
                  <form method="POST" action="{{ route('expenses.subcats.toggle', ['id'=>$sc->id]) }}">
                    @csrf
                    @if((int)($sc->is_active ?? 0) === 1)
                      <button class="miniBtnDanger" type="submit">تعطيل</button>
                    @else
                      <button class="miniBtn" type="submit">تفعيل</button>
                    @endif
                  </form>
                </div>
              </td>
            </tr>
          @empty
            <tr><td colspan="5" class="muted" style="padding:14px;text-align:center">لا توجد مصروفات فرعية حالياً</td></tr>
          @endforelse
        </tbody>
      </table>
    </div>
  </div>

</div>

<script>
(function(){
  const themes = ["light","dim","dark"];
  const key = "ui_theme";
  const html = document.documentElement;
  const btn = document.getElementById("themeBtn");

  function label(t){
    if(t === "light") return "☀️ فاتح";
    if(t === "dark") return "🌙 داكن";
    return "🌗 مريح";
  }
  function apply(t){
    html.setAttribute("data-theme", t);
    localStorage.setItem(key, t);
    if(btn) btn.textContent = "🎨 " + label(t);
  }

  const saved = localStorage.getItem(key);
  const t = (saved && themes.includes(saved)) ? saved : (html.getAttribute("data-theme") || "dim");
  apply(t);

  if(btn){
    btn.addEventListener("click", function(){
      const cur = html.getAttribute("data-theme") || "dim";
      const idx = themes.indexOf(cur);
      const next = themes[(idx + 1) % themes.length];
      apply(next);
    });
  }
})();
</script>

</body>
</html>
