@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700;800;900&family=Montserrat:wght@300;400;500;600;700;800&display=swap');

:root{
  --academy-primary:#306E5F;
  --academy-secondary:#B39D62;
  --academy-bg:#f6f7fb;
  --academy-surface:#ffffff;
  --academy-surface-2:#f1f5f9;
  --academy-border:#e7eaf0;
  --academy-text:#172033;
  --academy-muted:#6b7280;
  --academy-shadow:0 12px 32px rgba(15,23,42,.06);
  --academy-shadow-sm:0 6px 18px rgba(15,23,42,.05);
  --academy-radius:18px;
  --academy-sidebar:278px;
  --academy-header:72px;
}

*{box-sizing:border-box}
html{min-height:100%; background:var(--academy-bg)}
html[dir="rtl"] body{font-family:'Tajawal',sans-serif!important; direction:rtl; text-align:right}
html[dir="ltr"] body{font-family:'Montserrat',sans-serif!important; direction:ltr; text-align:left}
body{margin:0; min-height:100vh; background:var(--academy-bg); color:var(--academy-text); overflow-x:hidden; font-size:14px}
a{color:var(--academy-primary); text-decoration:none}a:hover{color:#25584c}

.hero-app{min-height:100vh; background:radial-gradient(circle at top left, rgba(48,110,95,.08), transparent 28%), var(--academy-bg)}
.hero-topbar{height:var(--academy-header); position:fixed; top:0; left:0; right:0; z-index:1020; background:rgba(255,255,255,.82); backdrop-filter:blur(16px); border-bottom:1px solid rgba(231,234,240,.85); display:flex; align-items:center; padding:0 28px; gap:16px}
.hero-topbar .brand{display:flex;align-items:center;gap:12px;color:var(--academy-text);font-weight:800;font-size:20px;white-space:nowrap}
.hero-logo{width:38px;height:38px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--academy-border);padding:4px;box-shadow:var(--academy-shadow-sm)}
.hero-icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid var(--academy-border);background:var(--academy-surface);display:inline-flex;align-items:center;justify-content:center;color:var(--academy-text);box-shadow:0 2px 8px rgba(15,23,42,.04);transition:.2s}
.hero-icon-btn:hover{transform:translateY(-1px);box-shadow:var(--academy-shadow-sm);color:var(--academy-primary)}
.hero-topbar-actions{display:flex;align-items:center;gap:10px}
html[dir="rtl"] .hero-topbar-actions{margin-right:auto}html[dir="ltr"] .hero-topbar-actions{margin-left:auto}
.hero-lang{height:42px;border-radius:14px;border:1px solid var(--academy-border);background:#fff;color:var(--academy-text);padding:0 12px;display:inline-flex;align-items:center;gap:8px;font-weight:700}
.dropdown-menu{border:1px solid var(--academy-border);border-radius:16px;box-shadow:var(--academy-shadow);padding:8px}.dropdown-item{border-radius:10px;padding:9px 12px}.dropdown-item:hover{background:rgba(48,110,95,.08);color:var(--academy-primary)}

.hero-sidebar{position:fixed;top:calc(var(--academy-header) + 18px);bottom:18px;width:var(--academy-sidebar);z-index:1010;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border:1px solid rgba(231,234,240,.9);border-radius:24px;box-shadow:var(--academy-shadow);padding:16px;overflow:auto;scrollbar-width:thin}
html[dir="rtl"] .hero-sidebar{right:18px;left:auto}html[dir="ltr"] .hero-sidebar{left:18px;right:auto}
.hero-sidebar::-webkit-scrollbar{width:6px}.hero-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}
.sidebar-brand{display:flex;align-items:center;gap:10px;padding:8px 10px 18px;border-bottom:1px solid var(--academy-border);margin-bottom:12px}.sidebar-brand img{width:40px;height:40px;border-radius:12px;object-fit:contain}.sidebar-brand span{font-weight:800;font-size:18px;color:var(--academy-text)}
.hero-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.hero-menu-heading{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--academy-muted);font-weight:800;margin:14px 10px 6px}.hero-menu-link,.hero-submenu-toggle{width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;color:#334155;font-weight:700;border:1px solid transparent;background:transparent;transition:.18s}.hero-menu-link:hover,.hero-submenu-toggle:hover{background:rgba(48,110,95,.07);color:var(--academy-primary);border-color:rgba(48,110,95,.08)}.hero-menu-link.active,.hero-menu .active>.hero-menu-link,.hero-menu .active>.hero-submenu-toggle{background:linear-gradient(135deg,rgba(48,110,95,.14),rgba(179,157,98,.12));color:var(--academy-primary);border-color:rgba(48,110,95,.16);box-shadow:0 8px 18px rgba(48,110,95,.08)}.hero-menu-link svg,.hero-submenu-toggle svg{width:20px;height:20px;stroke-width:2.1;color:#5d739f}.hero-menu-link.active svg,.hero-menu .active svg{color:var(--academy-primary)}.hero-menu-text{flex:1}.hero-submenu{list-style:none;margin:4px 0 6px;padding:0 14px}.hero-submenu a{display:block;padding:9px 14px;border-radius:12px;color:#475569;font-weight:600}.hero-submenu li.active a,.hero-submenu a:hover{background:rgba(48,110,95,.07);color:var(--academy-primary)}

.hero-main{min-height:100vh;padding-top:calc(var(--academy-header) + 28px);padding-bottom:32px;transition:.2s}
html[dir="rtl"] .hero-main{padding-right:calc(var(--academy-sidebar) + 46px);padding-left:32px}html[dir="ltr"] .hero-main{padding-left:calc(var(--academy-sidebar) + 46px);padding-right:32px}.hero-content{max-width:1440px;margin:0 auto}.hero-page-card,.academy-card,.widget-content-area{background:rgba(255,255,255,.9)!important;border:1px solid var(--academy-border)!important;border-radius:24px!important;box-shadow:var(--academy-shadow)!important}.hero-page-card{padding:26px}.hero-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.hero-title{font-size:24px;font-weight:900;margin:0;color:var(--academy-text)}.hero-subtitle{color:var(--academy-muted);margin:6px 0 0}.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.btn{border-radius:14px!important;font-weight:800!important;padding:.65rem 1rem!important}.btn-primary{background:var(--academy-primary)!important;border-color:var(--academy-primary)!important;color:#fff!important;box-shadow:0 10px 22px rgba(48,110,95,.18)!important}.btn-primary:hover{background:#285d51!important;border-color:#285d51!important}.btn-outline-primary{border-color:rgba(48,110,95,.3)!important;color:var(--academy-primary)!important}.btn-outline-primary:hover{background:rgba(48,110,95,.08)!important;color:var(--academy-primary)!important}.btn-outline-success{border-color:rgba(48,110,95,.28)!important;color:var(--academy-primary)!important}.btn-outline-secondary{border-color:#d8dee8!important;color:#475569!important}.btn-outline-info{border-color:rgba(59,130,246,.25)!important;color:#2563eb!important}.btn-danger,.btn-outline-danger:hover{border-radius:14px!important}
.form-control,.form-select{border-radius:14px!important;border:1px solid #d9e0ea!important;min-height:44px;background:#fff!important;color:var(--academy-text)!important;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:var(--academy-primary)!important;box-shadow:0 0 0 4px rgba(48,110,95,.12)!important}.form-label{font-weight:800;color:#334155}
.table{--bs-table-bg:transparent!important}.table thead th{background:#f8fafc!important;color:#64748b!important;font-size:12px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--academy-border)!important}.table td,.table th{padding:14px 16px!important;border-color:#edf1f7!important;vertical-align:middle}.table tbody tr:hover{background:#fbfdff}.badge{border-radius:999px;padding:.5rem .75rem;font-weight:800}.badge-light-success{background:rgba(48,110,95,.1);color:var(--academy-primary)}.badge-light-danger{background:rgba(220,38,38,.1);color:#b91c1c}.badge-light-warning{background:rgba(245,158,11,.12);color:#b45309}

.hero-stat-card,.report-card{background:#fff;border:1px solid var(--academy-border);border-radius:24px;padding:22px;box-shadow:var(--academy-shadow-sm);height:100%;transition:.2s}.hero-stat-card:hover,.report-card:hover{transform:translateY(-2px);box-shadow:var(--academy-shadow)}.card-icon{width:48px;height:48px;border-radius:16px;background:rgba(48,110,95,.1);display:flex;align-items:center;justify-content:center;color:var(--academy-primary)}.card-icon svg{width:24px;height:24px}.stat-value{font-size:30px;font-weight:900;line-height:1;color:var(--academy-text)}.stat-label{font-size:13px;font-weight:700;color:var(--academy-muted);margin-top:8px}.import-panel{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px}.crud-toolbar{gap:16px}.crud-searchbar{background:#f8fafc;border:1px solid var(--academy-border);border-radius:18px;padding:14px;margin-left:0;margin-right:0}
.pagination{gap:6px}.page-link{border-radius:12px!important;border:1px solid var(--academy-border);color:var(--academy-primary)}.page-item.active .page-link{background:var(--academy-primary);border-color:var(--academy-primary)}
.alert{border-radius:18px;border:0;box-shadow:var(--academy-shadow-sm)}.alert-success{background:rgba(48,110,95,.1);color:var(--academy-primary)}.alert-danger{background:rgba(220,38,38,.1);color:#b91c1c}.alert-warning{background:rgba(245,158,11,.12);color:#92400e}

.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(48,110,95,.13),transparent 34%),#f6f7fb;padding:24px}.auth-card{width:min(440px,100%);background:rgba(255,255,255,.92);border:1px solid var(--academy-border);border-radius:28px;box-shadow:0 24px 70px rgba(15,23,42,.09);padding:34px}.auth-logo{width:64px;height:64px;border-radius:20px;object-fit:contain;background:#fff;border:1px solid var(--academy-border);padding:8px;box-shadow:var(--academy-shadow-sm)}

.theme-customizer,.customizer-links,#customizer,.customizer-overlay,.btn-customizer,.setting_toggle,.settings{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}

@media(max-width: 991.98px){:root{--academy-sidebar:270px}.hero-sidebar{transform:translateX(110%);transition:.2s}html[dir="ltr"] .hero-sidebar{transform:translateX(-110%)}body.sidebar-open .hero-sidebar{transform:translateX(0)!important}.hero-main{padding-left:18px!important;padding-right:18px!important}.hero-topbar{padding:0 16px}.hero-page-header{align-items:flex-start;flex-direction:column}.hero-actions{width:100%}.hero-actions .btn{flex:1}.hero-topbar .brand span{display:none}}
@media(max-width:575.98px){.hero-page-card{padding:16px}.table-responsive{border-radius:18px}.auth-card{padding:24px}.btn{padding:.6rem .8rem!important}}
