#!/usr/bin/env bash
set -euo pipefail

APP_DIR="${1:-$(pwd)}"
LAYOUT="$APP_DIR/resources/views/layouts/superadmin.blade.php"
PARTIAL_DIR="$APP_DIR/resources/views/layouts/superadmin/partials"
PARTIAL="$PARTIAL_DIR/sidebar_v4_clean_nav.blade.php"
STAMP="$(date +%Y%m%d_%H%M%S)"
BACKUP_ROOT="/root/laravel_patch_backups"
BACKUP_DIR="$BACKUP_ROOT/superadmin_sidebar_v4_clean_rebuild_$STAMP"
LOG="$BACKUP_DIR/patch.log"

mkdir -p "$BACKUP_DIR" "$PARTIAL_DIR"
exec > >(tee -a "$LOG") 2>&1

say() { echo "[$(date '+%F %T')] $*"; }
fail() { echo "❌ $*"; exit 1; }

say "بدء باتش V4: إعادة بناء سايدبار السوبر أدمن من أول وجديد"
[ -f "$LAYOUT" ] || fail "لم أجد ملف اللايوت: $LAYOUT"
[ -f "$APP_DIR/artisan" ] || say "تنبيه: لم أجد artisan في هذا المسار، سأكمل كباتش ملفات فقط."

say "1) Backup كامل قبل أي تعديل"
mkdir -p "$BACKUP_DIR/resources/views/layouts/superadmin/partials"
cp -a "$LAYOUT" "$BACKUP_DIR/superadmin.blade.php.before"
if [ -d "$PARTIAL_DIR" ]; then cp -a "$PARTIAL_DIR" "$BACKUP_DIR/resources/views/layouts/superadmin/partials_before"; fi

say "2) محاولة Backup للداتا بيس من .env إن أمكن"
if command -v mysqldump >/dev/null 2>&1 && [ -f "$APP_DIR/.env" ]; then
  set +e
  DB_DATABASE=$(grep -E '^DB_DATABASE=' "$APP_DIR/.env" | tail -1 | cut -d= -f2- | tr -d '"
')
  DB_USERNAME=$(grep -E '^DB_USERNAME=' "$APP_DIR/.env" | tail -1 | cut -d= -f2- | tr -d '"
')
  DB_PASSWORD=$(grep -E '^DB_PASSWORD=' "$APP_DIR/.env" | tail -1 | cut -d= -f2- | tr -d '"
')
  DB_HOST=$(grep -E '^DB_HOST=' "$APP_DIR/.env" | tail -1 | cut -d= -f2- | tr -d '"
')
  DB_PORT=$(grep -E '^DB_PORT=' "$APP_DIR/.env" | tail -1 | cut -d= -f2- | tr -d '"
')
  DB_HOST=${DB_HOST:-127.0.0.1}
  DB_PORT=${DB_PORT:-3306}
  if [ -n "${DB_DATABASE:-}" ] && [ -n "${DB_USERNAME:-}" ]; then
    MYSQL_PWD="$DB_PASSWORD" mysqldump -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" --single-transaction --quick "$DB_DATABASE" > "$BACKUP_DIR/database_before.sql" 2> "$BACKUP_DIR/database_backup_error.log"
    if [ $? -eq 0 ]; then say "✅ DB backup: $BACKUP_DIR/database_before.sql"; else say "⚠️ تعذر DB backup، التفاصيل: $BACKUP_DIR/database_backup_error.log"; fi
  else
    say "⚠️ بيانات DB غير كافية في .env، تخطيت DB backup."
  fi
  set -e
else
  say "⚠️ mysqldump غير متوفر أو .env غير موجود، تخطيت DB backup."
fi

say "3) كتابة partial جديد نظيف للسايدبار"
cat > "$PARTIAL" <<'BLADE_V4'
{{--
    SuperAdmin Sidebar V4 Clean Rebuild
    ترتيب فعلي للسايدبار بدون حذف وظائف النظام.
    يتم توليده عبر باتش أمير — مع بقاء rollback من الباك أب.
--}}
@php
    use Illuminate\Support\Facades\Route;
    use Illuminate\Support\Facades\DB;
    use Illuminate\Support\Facades\Schema;

    $__saV4_url = function ($routes, $fallback = '#') {
        foreach ((array) $routes as $routeName) {
            try {
                if ($routeName && Route::has($routeName)) {
                    return route($routeName);
                }
            } catch (\Throwable $e) {}
        }
        return $fallback === '#' ? '#' : url($fallback);
    };

    $__saV4_q = function ($url, $query) {
        if (!$url || $url === '#') return '#';
        return $url . (str_contains($url, '?') ? '&' : '?') . $query;
    };

    $__saV4_active = function ($patterns) {
        foreach ((array) $patterns as $pattern) {
            try { if (request()->routeIs($pattern)) return true; } catch (\Throwable $e) {}
        }
        return false;
    };

    $__saV4_count = function ($table, $callback = null) {
        try {
            if (!Schema::hasTable($table)) return 0;
            $q = DB::table($table);
            if (is_callable($callback)) $callback($q);
            return (int) $q->count();
        } catch (\Throwable $e) { return 0; }
    };

    $proCreateBase = $__saV4_url([
        'superadmin.proactiveReports.create.safe',
        'superadmin.proactiveReports.create',
        'superadmin.proactive.reports.create',
        'superadmin.proactive.report.create',
        'superadmin.proactiveReports.new',
    ], '/superadmin/proactive-reports/create');

    $proRegularCreate = $__saV4_q($proCreateBase, 'type=regular');
    $proPlusCreate    = $__saV4_q($proCreateBase, 'type=plus');
    $proExtraCreate   = $__saV4_url(['superadmin.proactive-extra.reports.create'], '/superadmin/proactive-extra/reports/create');

    $pendingAbsences = $__saV4_count('excused_absences', function ($q) {
        try { $q->whereIn('status', ['pending','new','review','under_review']); } catch (\Throwable $e) {}
    });

    $todayEvaluations = $__saV4_count('evaluations', function ($q) {
        try { $q->whereDate('created_at', now()->toDateString()); } catch (\Throwable $e) {}
    });

    $sections = [
        [
            'key' => 'rooms', 'title' => 'الغرف وغرف القيادة', 'sub' => 'أول شيء دائمًا', 'icon' => '👑', 'open' => true,
            'items' => [
                ['لوحة التحكم', 'نظرة عامة وحالة النظام', '🏠', $__saV4_url(['superadmin.dashboard'], '/superadmin/dashboard'), ['superadmin.dashboard']],
                ['غرفة السوبر أدمن', 'قيادة عامة وقرارات عليا', '⭐', $__saV4_url(['superadmin.control-room.dashboard','superadmin.dashboard'], '/superadmin/dashboard'), ['superadmin.control-room.*','superadmin.dashboard']],
                ['غرفة إيمان المحاكوي', 'إدارة ومتابعة وذكاء', '👸', $__saV4_url(['superadmin.iman.index'], '/superadmin/iman'), ['superadmin.iman.*']],
                ['غرفة الصقر', 'متابعة، لايفات، أعضاء، استقرار', '🛡️', $__saV4_url(['superadmin.falcon-room.online-members','superadmin.falcon-room.ees.momentum-dashboard'], '/superadmin/falcon-room/online-members'), ['superadmin.falcon-room.*','superadmin.falcon.*']],
                ['غرفة رولا', 'صبايا، حضور، دعم، إنعاش', '👑', $__saV4_url(['superadmin.falconRolaNotes.index','superadmin.meetings.index'], '/superadmin/meetings'), ['superadmin.falconRolaNotes.*','superadmin.meetings.*']],
                ['Socratic Sentinel', 'مراقبة وAudit وTracking', '👁️', $__saV4_url(['superadmin.sentinel.dashboard','superadmin.socratic.dashboard'], '/superadmin/sentinel'), ['superadmin.sentinel.*','superadmin.socratic.*']],
            ],
        ],
        [
            'key' => 'users', 'title' => 'الأعضاء والصلاحيات', 'sub' => 'فوق لأنه أساس الإدارة', 'icon' => '👥', 'open' => true,
            'items' => [
                ['المستخدمين', 'إدارة الحسابات', '👤', $__saV4_url(['superadmin.users.index'], '/superadmin/users'), ['superadmin.users.*']],
                ['الأدوار', 'صلاحيات النظام', '🛡️', $__saV4_url(['superadmin.roles.index'], '/superadmin/roles'), ['superadmin.roles.*']],
                ['الرتب', 'ترقية وتصنيف', '⭐', $__saV4_url(['superadmin.ranks.index'], '/superadmin/ranks'), ['superadmin.ranks.*']],
                ['الأعضاء والمتابعة', 'حالات، مشرفين، ترقيات', '🧭', $__saV4_url(['superadmin.members-sheet.index','superadmin.falcon.member_care.index'], '/superadmin/members-sheet'), ['superadmin.members-sheet.*','superadmin.falcon.member_care.*']],
                ['الإنذارات والمخالفات', 'تنبيهات ومحاسبة', '⚠️', $__saV4_url(['superadmin.violations.index'], '/superadmin/violations'), ['superadmin.violations.*']],
            ],
        ],
        [
            'key' => 'proactive', 'title' => 'ProActive', 'sub' => 'التوسّع الخارجي والتقارير', 'icon' => '⚡', 'open' => true,
            'items' => [
                ['لوحة ProActive', 'المواعيد والتقارير والنبض', '⚡', $__saV4_url(['superadmin.proactive.socrates.dashboard','superadmin.proactive.schedules.index'], '/superadmin/proactive/schedules'), ['superadmin.proactive.*']],
                ['إنشاء تقرير عادي', 'تقرير جولة خارجية Regular', '📝', $proRegularCreate, ['superadmin.proactive.report.create','superadmin.proactive.reports.create']],
                ['إنشاء تقرير Plus', 'أصدقاء ومعارف التيم', '➕', $proPlusCreate, ['superadmin.proactive.plus.*']],
                ['إنشاء تقرير Extra', 'تحالفات وحالات خاصة', '💎', $proExtraCreate, ['superadmin.proactive-extra.reports.create']],
                ['إنشاء موعد', 'جدولة جولة ProActive', '📅', $__saV4_url(['superadmin.proactive.schedules.create'], '/superadmin/proactive/schedules/create'), ['superadmin.proactive.schedules.create']],
                ['المواعيد', 'اليوم، القادم، المنتهي', '🗓️', $__saV4_url(['superadmin.proactive.schedules.index','superadmin.proactive.schedules.grid'], '/superadmin/proactive/schedules'), ['superadmin.proactive.schedules.*']],
                ['التقارير', 'كل تقارير ProActive', '📚', $__saV4_url(['superadmin.proactive.reports.index'], '/superadmin/proactive/reports'), ['superadmin.proactive.reports.*']],
                ['Plus', 'شبكة الأصدقاء والمعارف', '🟣', $__saV4_url(['superadmin.proactive.plus.grid','superadmin.proactive.socrates.analytics.plus'], '/superadmin/proactive/plus'), ['superadmin.proactive.plus.*']],
                ['Extra', 'تحالفات وحملات خاصة', '🔷', $__saV4_url(['superadmin.proactive-extra.dashboard'], '/superadmin/proactive-extra'), ['superadmin.proactive-extra.*']],
                ['التحالفات', 'علاقات وتعاون رسمي', '🤝', $__saV4_url(['superadmin.proactive-extra.alliances.index'], '/superadmin/proactive-extra/alliances'), ['superadmin.proactive-extra.alliances.*']],
            ],
        ],
        [
            'key' => 'evaluations', 'title' => 'التقييمات والغيابات', 'sub' => 'عدالة داخلية قبل المحاسبة', 'icon' => '⚖️', 'open' => true,
            'items' => [
                ['تقييم سريع', 'افتح نظام تقييم المشرفين', '✅', $__saV4_url(['superadmin.evaluations.index'], '/superadmin/evaluations'), ['superadmin.evaluations.*'], $todayEvaluations],
                ['نزاهة التقييمات', 'مراجعة العدالة والتعارض', '🧪', $__saV4_url(['superadmin.evaluations.integrity'], '/superadmin/evaluations/integrity'), ['superadmin.evaluations.integrity*']],
                ['طلبات الغياب', 'مراجعة وقبول ورفض', '📋', $__saV4_url(['superadmin.absences.index'], '/superadmin/absences'), ['superadmin.absences.*'], $pendingAbsences],
                ['غياب اليوم', 'من غائب اليوم ومن معذور', '📌', $__saV4_url(['superadmin.absences.today'], '/superadmin/absences/today'), ['superadmin.absences.today']],
                ['التعارضات', 'تعارض الغياب والحضور', '🔎', $__saV4_url(['superadmin.absences.conflicts'], '/superadmin/absences/conflicts'), ['superadmin.absences.conflicts']],
                ['الاعتراضات', 'اعتراضات وتقارير متابعة', '📣', $__saV4_url(['superadmin.reports-objections.index'], '/superadmin/reports-objections'), ['superadmin.reports-objections.*']],
            ],
        ],
        [
            'key' => 'lives', 'title' => 'اللايفات والأنشطة', 'sub' => 'حضور، ساعات، فعاليات', 'icon' => '📡', 'open' => false,
            'items' => [
                ['مركز اللايفات', 'ساعات وعرض عام', '📡', $__saV4_url(['superadmin.falcon-room.lives-new.programs.index','member.my-lives.index'], '/superadmin/falcon-room/lives-new/programs'), ['superadmin.falcon-room.lives-new.*']],
                ['الأنشطة الداخلية', 'أنشطة وأدوات متابعة', '⚡', $__saV4_url(['superadmin.internal-activities.index'], '/superadmin/internal-activities'), ['superadmin.internal-activities.*']],
                ['الاجتماعات', 'اجتماعات وقرارات', '🧾', $__saV4_url(['superadmin.meetings.index'], '/superadmin/meetings'), ['superadmin.meetings.*']],
                ['المسابقات', 'فعاليات وتحديات', '🏆', $__saV4_url(['superadmin.competitions.index'], '/superadmin/competitions'), ['superadmin.competitions.*']],
                ['إنجازات ذهبية', 'تكريم وإنجازات', '🎁', $__saV4_url(['superadmin.golden-achievements.index'], '/superadmin/golden-achievements'), ['superadmin.golden-achievements.*']],
            ],
        ],
        [
            'key' => 'academy', 'title' => 'الأكاديمية والاختبارات', 'sub' => 'تعليم، علامات، تقدّم', 'icon' => '🎓', 'open' => false,
            'items' => [
                ['الأكاديمية', 'لوحة التعليم', '🎓', $__saV4_url(['superadmin.academy.dashboard'], '/superadmin/academy'), ['superadmin.academy.*']],
                ['الكورسات', 'مواد ودورات', '📘', $__saV4_url(['superadmin.academy.courses.index'], '/superadmin/academy/courses'), ['superadmin.academy.courses.*']],
                ['العلامات', 'Grades وتحليلات', '📊', $__saV4_url(['superadmin.academy.grades.index'], '/superadmin/academy/grades'), ['superadmin.academy.grades.*']],
                ['الاختبارات', 'إحصائيات ومقارنة AI', '🧠', $__saV4_url(['my-evaluations.index'], '/my-evaluations'), ['my-evaluations.*']],
            ],
        ],
        [
            'key' => 'reports', 'title' => 'التقارير والرقابة', 'sub' => 'متابعة، أمن، سجلات', 'icon' => '📈', 'open' => false,
            'items' => [
                ['مركز الإشعارات', 'تنبيهات وسجلات', '🔔', $__saV4_url(['superadmin.notifyhub.dashboard','superadmin.notifyhub.index'], '/superadmin/notifyhub'), ['superadmin.notifyhub.*']],
                ['الأمان', 'حماية وفحص', '🛡️', $__saV4_url(['superadmin.security.index'], '/superadmin/security'), ['superadmin.security.*']],
                ['السيرفرات', 'فحص النظام والسجلات', '🖥️', $__saV4_url(['superadmin.servers.index'], '/superadmin/servers'), ['superadmin.servers.*']],
                ['مراقبة الرسائل', 'رسائل وأرشيف وتحليلات', '💬', $__saV4_url(['superadmin.messages-monitor.dashboard'], '/superadmin/messages-monitor'), ['superadmin.messages-monitor.*']],
                ['النصائح', 'معطياتي بالتيم', '💡', $__saV4_url(['superadmin.advisor-tips.index'], '/superadmin/advisor-tips'), ['superadmin.advisor-tips.*']],
            ],
        ],
        [
            'key' => 'system', 'title' => 'النظام والإعدادات', 'sub' => 'إعدادات وأدوات إضافية', 'icon' => '⚙️', 'open' => false,
            'items' => [
                ['الإعدادات', 'ضبط النظام', '⚙️', $__saV4_url(['superadmin.settings.index'], '/superadmin/settings'), ['superadmin.settings.*']],
                ['الطلبات العليا', 'طلبات حساسة ومتابعة', '📨', $__saV4_url(['superadmin.high-level-requests.index'], '/superadmin/high-level-requests'), ['superadmin.high-level-requests.*']],
                ['دعوات وإنجازات', 'روابط ودعوات', '🎟️', $__saV4_url(['superadmin.invites.overview'], '/superadmin/invites'), ['superadmin.invites.*']],
                ['الاستبيانات', 'Surveys ومتابعة', '🗳️', $__saV4_url(['superadmin.surveys.dashboard','superadmin.surveys.index'], '/superadmin/surveys'), ['superadmin.surveys.*']],
                ['محرر النصوص', 'كتابة وتنسيق', '✍️', $__saV4_url(['superadmin.text-editor.index'], '/superadmin/text-editor'), ['superadmin.text-editor.*']],
            ],
        ],
        [
            'key' => 'extras', 'title' => 'باقي الأنظمة والأدوات', 'sub' => 'كل شيء موجود بدون زحمة', 'icon' => '📦', 'open' => false,
            'items' => [
                ['نظام زهرة', 'Meetings + AI + Analytics', '🌸', $__saV4_url(['superadmin.zuhra.dashboard'], '/superadmin/zuhra'), ['superadmin.zuhra.*']],
                ['Athena', 'AI + Radar + Analytics', '♟️', $__saV4_url(['superadmin.taateer.index'], '/superadmin/taateer'), ['superadmin.taateer.*']],
                ['Chiken', 'Dashboard + Analytics + Monitor', '🎧', $__saV4_url(['superadmin.whatsapp.insights-hub.index'], '/superadmin/whatsapp/insights-hub'), ['superadmin.whatsapp.*']],
                ['Ramadan', 'مسابقات وسجلات وأوقات', '🌙', $__saV4_url(['superadmin.ramadan.schedule.index'], '/superadmin/ramadan'), ['superadmin.ramadan.*']],
                ['Pokemon', 'تقارير وأدوات', '🔥', $__saV4_url(['superadmin.pokemon.index'], '/superadmin/pokemon'), ['superadmin.pokemon.*']],
            ],
        ],
    ];
@endphp

<style id="sa-sidebar-v4-clean-style">
    #sidebar{ width:22.5rem !important; max-width:calc(100vw - 58px) !important; }
    #sidebar .sidebar-scroll{ display:none !important; }
    #sidebar .sa-v4-nav{ height:calc(100vh - 10.5rem); overflow-y:auto; padding:14px 14px 18px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.38) transparent; }
    #sidebar .sa-v4-nav::-webkit-scrollbar{ width:5px; }
    #sidebar .sa-v4-nav::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.35); border-radius:999px; }
    .sa-v4-shell{ direction:rtl; font-family:inherit; }
    .sa-v4-focus{ margin:0 0 12px; padding:12px; border:1px solid rgba(245,158,11,.28); background:linear-gradient(135deg,rgba(15,23,42,.75),rgba(91,33,182,.32)); border-radius:22px; box-shadow:0 18px 60px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08); }
    .sa-v4-title{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
    .sa-v4-title strong{ font-size:14px; color:#fff; font-weight:950; letter-spacing:-.02em; }
    .sa-v4-title span{ font-size:10px; color:#fde68a; border:1px solid rgba(251,191,36,.28); border-radius:999px; padding:4px 8px; background:rgba(251,191,36,.10); }
    .sa-v4-search{ position:relative; margin-bottom:10px; }
    .sa-v4-search input{ width:100%; height:42px; border-radius:17px; border:1px solid rgba(255,255,255,.10); background:rgba(2,6,23,.45); color:#fff; outline:none; padding:0 38px 0 12px; font-size:13px; font-weight:800; }
    .sa-v4-search input::placeholder{ color:rgba(255,255,255,.48); }
    .sa-v4-search b{ position:absolute; right:14px; top:50%; transform:translateY(-50%); opacity:.55; }
    .sa-v4-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .sa-v4-action, .sa-v4-action-main{ min-height:44px; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:16px; text-decoration:none; color:#fff; font-size:12px; font-weight:950; border:1px solid rgba(255,255,255,.12); background:linear-gradient(135deg,rgba(59,130,246,.22),rgba(139,92,246,.22)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); transition:.18s ease; }
    .sa-v4-action:hover, .sa-v4-action-main:hover{ transform:translateY(-1px); background:linear-gradient(135deg,rgba(245,158,11,.28),rgba(139,92,246,.26)); }
    .sa-v4-report-box{ grid-column:1 / -1; position:relative; border:1px solid rgba(245,158,11,.25); border-radius:18px; background:rgba(15,23,42,.40); overflow:hidden; }
    .sa-v4-action-main{ border-radius:0; justify-content:space-between; padding:0 12px; background:linear-gradient(135deg,rgba(245,158,11,.20),rgba(14,165,233,.16)); }
    .sa-v4-report-menu{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:8px; }
    .sa-v4-report-menu a{ text-decoration:none; text-align:center; border-radius:13px; padding:9px 4px; font-size:11px; font-weight:950; color:rgba(255,255,255,.92); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.08); }
    .sa-v4-section{ margin:10px 0; border:1px solid rgba(255,255,255,.09); border-radius:20px; background:linear-gradient(135deg,rgba(15,23,42,.50),rgba(30,41,59,.25)); overflow:hidden; box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
    .sa-v4-section[open]{ border-color:rgba(125,211,252,.22); background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(139,92,246,.16)); }
    .sa-v4-summary{ cursor:pointer; list-style:none; display:flex; align-items:center; gap:10px; padding:13px 12px; user-select:none; }
    .sa-v4-summary::-webkit-details-marker{ display:none; }
    .sa-v4-ico{ flex:0 0 38px; height:38px; border-radius:15px; display:grid; place-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10); box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
    .sa-v4-s-text{ min-width:0; flex:1; text-align:right; }
    .sa-v4-s-text strong{ display:block; color:#fff; font-size:14px; font-weight:950; line-height:1.25; }
    .sa-v4-s-text small{ display:block; color:rgba(255,255,255,.58); font-size:11px; font-weight:700; margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .sa-v4-chevron{ color:rgba(255,255,255,.55); transition:.18s ease; }
    .sa-v4-section[open] .sa-v4-chevron{ transform:rotate(180deg); }
    .sa-v4-items{ padding:0 10px 11px; display:grid; gap:7px; }
    .sa-v4-link{ position:relative; display:flex; align-items:center; gap:10px; min-height:48px; padding:9px 10px; border-radius:16px; text-decoration:none; color:rgba(255,255,255,.90); background:rgba(255,255,255,.045); border:1px solid transparent; transition:.16s ease; }
    .sa-v4-link:hover{ background:rgba(255,255,255,.085); border-color:rgba(255,255,255,.10); transform:translateX(-2px); }
    .sa-v4-link.active{ background:linear-gradient(135deg,rgba(59,130,246,.26),rgba(168,85,247,.24)); border-color:rgba(168,85,247,.42); box-shadow:0 12px 28px rgba(30,64,175,.18); }
    .sa-v4-link-ico{ flex:0 0 35px; height:35px; border-radius:14px; display:grid; place-items:center; background:rgba(15,23,42,.38); border:1px solid rgba(255,255,255,.08); font-size:16px; }
    .sa-v4-link-text{ min-width:0; flex:1; text-align:right; }
    .sa-v4-link-text strong{ display:block; font-size:13px; font-weight:950; line-height:1.15; color:#fff; }
    .sa-v4-link-text small{ display:block; color:rgba(255,255,255,.54); font-size:10.5px; font-weight:700; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .sa-v4-badge{ min-width:22px; height:22px; display:grid; place-items:center; padding:0 7px; border-radius:999px; font-size:10px; font-weight:950; color:#fff; background:#e11d48; border:2px solid rgba(255,255,255,.16); }
    .sa-v4-foot{ margin:12px 0 0; padding:11px; border-radius:18px; background:rgba(2,6,23,.26); border:1px dashed rgba(255,255,255,.14); color:rgba(255,255,255,.62); text-align:center; font-size:11px; font-weight:800; }
    .sa-v4-empty{ display:none !important; }
    @media (max-width:640px){
        #sidebar{ width:calc(100vw - 56px) !important; }
        #sidebar .sa-v4-nav{ height:calc(100dvh - 10.2rem); padding:12px 11px 16px; }
        .sa-v4-actions{ grid-template-columns:1fr 1fr; gap:7px; }
        .sa-v4-action{ font-size:11px; min-height:42px; }
        .sa-v4-summary{ padding:12px 10px; }
        .sa-v4-link{ min-height:46px; }
    }
</style>

<nav class="sa-v4-nav" aria-label="سايدبار السوبر أدمن الجديد">
    <div class="sa-v4-shell" id="saSidebarV4Clean">
        <div class="sa-v4-focus">
            <div class="sa-v4-title">
                <strong>سايدبار السوبر أدمن</strong>
                <span>V4 نظيف</span>
            </div>
            <div class="sa-v4-search">
                <b>🔎</b>
                <input id="saV4Search" type="search" autocomplete="off" placeholder="ابحث داخل القائمة…">
            </div>
            <div class="sa-v4-actions">
                <a class="sa-v4-action" href="{{ $__saV4_url(['superadmin.evaluations.index'], '/superadmin/evaluations') }}">✅ تقييم</a>
                <a class="sa-v4-action" href="{{ $__saV4_url(['superadmin.absences.index'], '/superadmin/absences') }}">📋 الغياب</a>
                <a class="sa-v4-action" href="{{ $__saV4_url(['superadmin.users.index'], '/superadmin/users') }}">👥 الأعضاء</a>
                <a class="sa-v4-action" href="{{ $__saV4_url(['superadmin.servers.index','superadmin.security.index'], '/superadmin/servers') }}">🖥️ فحص</a>
                <div class="sa-v4-report-box">
                    <div class="sa-v4-action-main"><span>📝 إنشاء تقرير ProActive</span><span>اختر النوع</span></div>
                    <div class="sa-v4-report-menu">
                        <a href="{{ $proRegularCreate }}">عادي</a>
                        <a href="{{ $proPlusCreate }}">Plus</a>
                        <a href="{{ $proExtraCreate }}">Extra</a>
                    </div>
                </div>
            </div>
        </div>

        @foreach($sections as $section)
            <details class="sa-v4-section" data-sa-v4-section="{{ $section['key'] }}" @if($section['open']) open @endif>
                <summary class="sa-v4-summary">
                    <span class="sa-v4-ico">{{ $section['icon'] }}</span>
                    <span class="sa-v4-s-text">
                        <strong>{{ $section['title'] }}</strong>
                        <small>{{ $section['sub'] }}</small>
                    </span>
                    <span class="sa-v4-chevron">⌄</span>
                </summary>
                <div class="sa-v4-items">
                    @foreach($section['items'] as $item)
                        @php
                            [$label, $desc, $icon, $url, $patterns] = $item;
                            $badge = $item[5] ?? null;
                            $isActive = $__saV4_active($patterns ?? []);
                        @endphp
                        <a class="sa-v4-link {{ $isActive ? 'active' : '' }}" href="{{ $url }}" data-sa-v4-item>
                            <span class="sa-v4-link-ico">{{ $icon }}</span>
                            <span class="sa-v4-link-text">
                                <strong>{{ $label }}</strong>
                                <small>{{ $desc }}</small>
                            </span>
                            @if(!is_null($badge) && (int)$badge > 0)
                                <span class="sa-v4-badge">{{ (int)$badge > 99 ? '99+' : (int)$badge }}</span>
                            @endif
                        </a>
                    @endforeach
                </div>
            </details>
        @endforeach

        <div class="sa-v4-foot">الغرف أولًا • الأعضاء والصلاحيات فوق • ProActive مرتب حسب: عادي / Plus / Extra</div>
    </div>
</nav>

<script id="sa-sidebar-v4-clean-script">
(function(){
    function boot(){
        var root=document.getElementById('saSidebarV4Clean');
        var search=document.getElementById('saV4Search');
        if(!root||!search||root.dataset.ready==='1') return;
        root.dataset.ready='1';
        search.addEventListener('input', function(){
            var q=(this.value||'').trim().toLowerCase();
            var sections=root.querySelectorAll('.sa-v4-section');
            sections.forEach(function(sec){
                var any=false;
                sec.querySelectorAll('[data-sa-v4-item]').forEach(function(a){
                    var ok=!q || (a.textContent||'').toLowerCase().indexOf(q)>-1;
                    a.classList.toggle('sa-v4-empty', !ok);
                    if(ok) any=true;
                });
                sec.classList.toggle('sa-v4-empty', !any);
                if(q && any) sec.setAttribute('open','open');
            });
        });
    }
    if(document.readyState==='loading') document.addEventListener('DOMContentLoaded', boot); else boot();
})();
</script>

BLADE_V4

say "4) استبدال Navigation القديم فقط، بدون حذف الهيدر أو الفوتر أو باقي اللايوت"
python3 - "$LAYOUT" <<'PY_REPLACE_V4'
from pathlib import Path
import re, sys
p = Path(sys.argv[1])
s = p.read_text(encoding='utf-8')
include = "@include('layouts.superadmin.partials.sidebar_v4_clean_nav')"
# remove old v4 include if any
s = re.sub(r"\n?\s*@include\(['\"]layouts\.superadmin\.partials\.sidebar_v4_clean_nav['\"]\)\s*", "\n", s)
# Find the current big sidebar nav by its known class, then replace only that nav block.
m = re.search(r'<nav\b[^>]*class="[^"]*sidebar-scroll[^"]*"[^>]*>', s, re.S)
if not m:
    m = re.search(r'<!--\s*Navigation\s*-->\s*', s, re.I)
    if not m:
        raise SystemExit('لم أجد Navigation القديم داخل superadmin.blade.php')
    insert_at = m.end()
    s = s[:insert_at] + "\n        " + include + "\n" + s[insert_at:]
else:
    start = m.start()
    end = s.find('</nav>', m.end())
    if end == -1:
        raise SystemExit('وجدت بداية nav لكن لم أجد نهايته </nav>')
    end += len('</nav>')
    replacement = "        <!-- Navigation V4 Clean Rebuild: old huge nav moved to backup -->\n        " + include
    s = s[:start] + replacement + s[end:]
marker = '{{-- SUPERADMIN SIDEBAR V4 CLEAN REBUILD ACTIVE --}}'
if marker not in s:
    s = s.replace('<body', marker + '\n<body', 1)
p.write_text(s, encoding='utf-8')
PY_REPLACE_V4

say "5) إنشاء rollback جاهز"
cat > "$BACKUP_DIR/rollback.sh" <<EOF_ROLLBACK
#!/usr/bin/env bash
set -euo pipefail
APP_DIR="\${1:-$APP_DIR}"
cp -a "$BACKUP_DIR/superadmin.blade.php.before" "\$APP_DIR/resources/views/layouts/superadmin.blade.php"
if [ -d "$BACKUP_DIR/resources/views/layouts/superadmin/partials_before" ]; then
  rm -rf "\$APP_DIR/resources/views/layouts/superadmin/partials"
  mkdir -p "\$APP_DIR/resources/views/layouts/superadmin"
  cp -a "$BACKUP_DIR/resources/views/layouts/superadmin/partials_before" "\$APP_DIR/resources/views/layouts/superadmin/partials"
fi
cd "\$APP_DIR"
php artisan optimize:clear || true
php artisan view:clear || true
echo "✅ رجعنا اللايوت كما كان قبل V4"
EOF_ROLLBACK
chmod +x "$BACKUP_DIR/rollback.sh"

say "6) تنظيف الكاش"
cd "$APP_DIR"
php artisan optimize:clear || true
php artisan view:clear || true
php artisan route:list >/dev/null 2> "$BACKUP_DIR/route_list_error.log" && say "✅ route:list OK" || say "⚠️ route:list فيه ملاحظة، راجع: $BACKUP_DIR/route_list_error.log"

say "✅ انتهى باتش V4 بنجاح"
say "Backup: $BACKUP_DIR"
say "Rollback: bash $BACKUP_DIR/rollback.sh"
