:root{
  --navy:#0f172a; --blue:#1e3a8a; --accent:#2563eb; --accent-2:#06b6d4;
  --bg:#f5f7fb; --card:#ffffff; --muted:#64748b; --green:#16a34a; --purple:#7c3aed; --border:#e5e7eb;
  --shadow:0 8px 28px rgba(15,23,42,.055); --shadow-hover:0 16px 36px rgba(15,23,42,.10);
}
[data-theme="dark"]{
  --navy:#e8edf7; --blue:#172554; --bg:#0b1220; --card:#111827; --muted:#94a3b8; --border:#263449;
  --shadow:0 8px 28px rgba(0,0,0,.18); --shadow-hover:0 16px 36px rgba(0,0,0,.25);
}
html{scroll-behavior:smooth;}
*{font-family:'Tajawal',sans-serif;}
body{background:radial-gradient(circle at 100% 0%, rgba(37,99,235,.045), transparent 28%), var(--bg); color:var(--navy); transition:.2s;}

/* Sidebar */
.sidebar{width:248px; min-height:100vh; background:linear-gradient(180deg,#0b1220 0%,#111b33 100%); color:#cfd6ee; padding:18px 14px; position:sticky; top:0; height:100vh; overflow-y:auto; border-left:1px solid rgba(255,255,255,.04); flex-shrink:0;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:#fff;margin-bottom:18px;padding:0 6px;}
.brand .dot{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 7px 18px rgba(37,99,235,.3);}
.sidebar-user{border:1px solid rgba(255,255,255,.07)!important;background:rgba(255,255,255,.045)!important;}
.nav-section{font-size:10px;color:#7183a8;margin:18px 7px 7px;font-weight:800;letter-spacing:.5px;}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;margin:3px 0;border-radius:11px;font-size:13px;color:#b8c4dc;cursor:pointer;text-decoration:none;white-space:nowrap;}
.nav-item i{font-size:16px;width:19px;text-align:center;}
.nav-item:hover{background:rgba(37,99,235,.18);color:#fff;transform:translateX(-2px);}
.nav-item.active{background:linear-gradient(90deg,#2563eb,#1d4ed8);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(37,99,235,.22);}
.nav-section-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:10px;color:#7183a8;margin:17px 7px 5px;font-weight:800;letter-spacing:.4px;user-select:none;}
.nav-section-toggle .chev{transition:transform .2s;}
.nav-section-toggle[aria-expanded="true"] .chev{transform:rotate(-90deg);}

/* Topbar */
.main-content{min-width:0;max-width:1700px;}
.search-box,.user-chip,.icon-btn{background:var(--card);border:1px solid var(--border);}
.search-box{border-radius:13px;padding:9px 14px;display:flex;align-items:center;gap:9px;min-width:280px;box-shadow:0 2px 10px rgba(15,23,42,.025);}
.search-box input{border:none;background:transparent;outline:none;font-size:13px;width:100%;color:inherit;}
.icon-btn{width:39px;height:39px;border-radius:12px;position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--navy);}
.icon-btn:hover{border-color:#bfd0ff;color:var(--accent);transform:translateY(-1px);}
.user-chip{min-height:39px;cursor:pointer;box-shadow:0 2px 10px rgba(15,23,42,.025);}
.user-chip .caret{transition:transform .2s;}
.user-chip[aria-expanded="true"] .caret{transform:rotate(180deg);}
.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#06b6d4);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;}
.dropdown-menu{border-radius:14px;border:1px solid var(--border);box-shadow:0 18px 45px rgba(15,23,42,.13);padding:7px;background:var(--card);color:inherit;}
.dropdown-item{border-radius:9px;font-size:13px;padding:9px 10px;display:flex;align-items:center;gap:9px;color:inherit;}
.dropdown-item:hover{background:var(--bg);color:inherit;}
.breadcrumb{padding:0 2px;}
.breadcrumb-item{font-size:12px;}
.breadcrumb-item a{color:var(--muted);text-decoration:none;}
.breadcrumb-item.active{font-weight:700;color:var(--navy);}

/* Hero */
.hero{background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.17),transparent 25%), linear-gradient(125deg,#0b1220 0%,#172554 52%,#2563eb 100%);border-radius:22px;padding:30px 32px;color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 40px rgba(15,23,42,.14);}
.hero::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;left:-80px;bottom:-150px;background:rgba(6,182,212,.16);}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.025));pointer-events:none;}
.hero > *{position:relative;z-index:1;}
.hero h1{font-size:1.45rem;}
.hero p{color:#cbd5e1;max-width:720px;line-height:1.8;font-size:13px;}
.pill{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 13px;font-size:11px;color:#e5e7eb;}
.btn-hero-outline{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:10px;}
.btn-hero-outline:hover{background:rgba(255,255,255,.16);color:#fff;}

/* Cards */
.stat-card,.chart-card,.panel-card{border-radius:18px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);transition:.2s;}
.stat-card{overflow:hidden;position:relative;}
.stat-card::before{content:"";position:absolute;right:0;top:0;width:4px;height:100%;background:var(--accent);opacity:0;transition:.2s;}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
.stat-card:hover::before{opacity:1;}
.stat-icon{width:42px;height:42px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.025);}
.stat-value{font-size:28px;font-weight:800;letter-spacing:-.5px;}
.chart-card{min-height:190px;}
.chart-card:hover{box-shadow:var(--shadow-hover);}
.chart-number{font-size:22px;font-weight:800;margin-top:2px;}
.chart-meta{font-size:11px;color:var(--muted);}
.mini-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:10px;}
.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:5px;}
.badge-soft-green{background:#ecfdf5;color:#15803d;}
.badge-soft-red{background:#fee2e2;color:#dc2626;}
.badge-soft-blue{background:#eff6ff;color:#1d4ed8;}
.badge-soft-purple{background:#f5f3ff;color:#6d28d9;}

.table{--bs-table-bg:transparent;margin-bottom:0;}
.table > :not(caption) > * > *{color:inherit;border-color:var(--border);padding-top:12px;padding-bottom:12px;vertical-align:middle;}
.table thead th{background:var(--bg);font-weight:800;font-size:11px;white-space:nowrap;}
.table thead th:first-child{border-radius:0 10px 10px 0;}
.table thead th:last-child{border-radius:10px 0 0 10px;}
.table tbody tr:hover{background:rgba(37,99,235,.035);}

.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.section-heading .title{font-weight:800;font-size:14px;}
.section-heading .subtitle{font-size:11px;color:var(--muted);margin-top:2px;}

.quick-card{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:13px;display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;}
.quick-card:hover{transform:translateY(-2px);border-color:#cbd5e1;box-shadow:var(--shadow);color:inherit;}
.quick-card .qicon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#eff6ff;color:var(--accent);}
.quick-card .qtitle{font-size:12px;font-weight:800;}
.quick-card .qdesc{font-size:10px;color:var(--muted);margin-top:2px;}

.form-control,.form-select{border-radius:11px;border-color:var(--border);background:var(--card);color:inherit;padding:10px 12px;}
.form-control:focus,.form-select:focus{border-color:#93c5fd;box-shadow:0 0 0 .2rem rgba(37,99,235,.10);}
.btn{border-radius:10px;font-weight:700;}
.btn-primary-custom{background:var(--accent);color:#fff;border:0;}
.btn-primary-custom:hover{background:#1d4ed8;color:#fff;transform:translateY(-1px);}
.btn,.nav-item,.icon-btn,.user-chip,.dropdown-item,.quick-card{transition:all .18s ease;}
.btn:active,.icon-btn:active{transform:translateY(1px);}
.nav-item:focus-visible,.btn:focus-visible,.icon-btn:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px;}
.toast{border-radius:12px;border:1px solid var(--border);}
.footer-line{border-top:1px solid var(--border);padding-top:16px;}

/* Existing inner pages (Users, Payments, ...) pick up the new look */
.table-card{border-radius:18px;}
main h2{font-weight:800;font-size:1.4rem;}

@media (max-width:992px){ .sidebar-desktop{display:none!important;} .main-content{padding:14px!important;} }
@media (max-width:767.98px){
  .search-box{min-width:0;width:100%;}
  .hero{padding:22px;border-radius:18px;}
  .hero h1{font-size:1.18rem;}
  .hero p{font-size:12px;}
  .stat-value{font-size:22px;}
}
