/* Extend the public learning identity to the isolated learning and role shells.
   State classes, progress values, validation colors and responsive behavior stay
   under the original templates and scripts. */
body.alkz-learning-theme:is(.alkz-role-theme, .alkz-interactive-theme, .alkz-admin-theme) {
    --primary-color: #006da5;
    --secondary-color: #142b4a;
    --color-brand-50: #eef7fc;
    --color-brand-100: #dceff8;
    --color-brand-200: #badff1;
    --color-brand-500: #0079b5;
    --color-brand-600: #006da5;
    --color-brand-700: #005780;
    --color-brand-900: #142b4a;
    --color-ink: #1f2933;
    --color-surface-alt: #f5f7f9;
    --font-sans: 'IBM Plex Sans Arabic', 'Tajawal', system-ui, sans-serif;
    font-family: var(--font-sans);
    background: #f5f7f9 !important;
}
.alkz-learning-theme:is(.alkz-role-theme, .alkz-interactive-theme) :is(.shadow-lg, .shadow-xl, .shadow-premium) {
    box-shadow: 0 2px 8px rgb(24 54 74 / 5%) !important;
}
.alkz-learning-theme:is(.alkz-role-theme, .alkz-interactive-theme) :is(h1, h2, h3, h4) {
    text-shadow: none !important;
}
.alkz-learning-theme:is(.alkz-role-theme, .alkz-interactive-theme) [class*="bg-clip-text"] {
    background: none !important;
    color: var(--alkz-blue) !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Welcome banners and dashboard navigation. */
.alkz-role-theme .alkz-portal-banner {
    color: var(--alkz-text) !important;
    background: var(--alkz-blue-soft) !important;
    border-bottom: 1px solid #d4e5ee;
    transform: none !important;
}
.alkz-role-theme .alkz-portal-banner > .pointer-events-none { display: none; }
.alkz-role-theme .alkz-portal-banner :is(h1, h1 span, .text-white) {
    color: var(--alkz-navy) !important;
    -webkit-text-fill-color: currentColor !important;
}
.alkz-role-theme .alkz-portal-banner :is(.text-ink-200, .text-ink-300) { color: var(--alkz-muted) !important; }
.alkz-role-theme .alkz-portal-banner :is(.text-gold-300, .text-gold-400) { color: var(--alkz-blue) !important; }
.alkz-role-theme .alkz-portal-banner [class~="bg-white/10"] {
    background: #fff !important;
    border-color: #d4e5ee !important;
    backdrop-filter: none;
    box-shadow: none;
}
.alkz-role-theme .alkz-portal-banner [class~="bg-navy-900"] {
    background: var(--alkz-navy) !important;
    color: var(--alkz-yellow) !important;
}
.alkz-role-theme :is(.trainee-sidebar, .instructor-sidebar) a {
    border-radius: 8px;
    box-shadow: none !important;
}
.alkz-role-theme :is(.trainee-sidebar, .instructor-sidebar) a[class*="from-navy-"] {
    color: var(--alkz-blue) !important;
    background: var(--alkz-blue-soft) !important;
    border-inline-start: 3px solid var(--alkz-blue);
}
.alkz-role-theme :is(.trainee-sidebar, .instructor-sidebar) a[class*="from-navy-"] span {
    color: var(--alkz-blue) !important;
}
.alkz-role-theme .alkz-portal-help {
    color: var(--alkz-navy) !important;
    background: var(--alkz-yellow-soft) !important;
    border: 1px solid #ebd69c;
    box-shadow: none;
}
.alkz-role-theme .alkz-portal-help :is(h4, p, a, i) { color: var(--alkz-navy) !important; }
.alkz-role-theme .alkz-portal-tip { background: var(--alkz-navy) !important; }
.alkz-role-theme :is(.trainee-content-card, .instructor-content-card) {
    min-width: 0;
    border-color: var(--alkz-line) !important;
    box-shadow: none !important;
}

/* Registered-course cards: colored categories, readable metadata, blue actions. */
.alkz-role-theme .courses-page .courses-header {
    background: #fff;
    border-color: var(--alkz-line);
    border-radius: 8px;
}
.alkz-role-theme .courses-page .courses-title-icon {
    color: var(--alkz-blue);
    background: var(--alkz-blue-soft);
    box-shadow: none;
    border-radius: 8px;
}
.alkz-role-theme .courses-page .page-title { color: var(--alkz-navy); }
.alkz-role-theme .courses-page .course-card {
    --portal-accent: var(--alkz-blue);
    --portal-accent-soft: var(--alkz-blue-soft);
    border: 1px solid var(--alkz-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}
.alkz-role-theme .courses-page .course-card:nth-child(4n + 2) { --portal-accent: var(--alkz-purple); --portal-accent-soft: var(--alkz-purple-soft); }
.alkz-role-theme .courses-page .course-card:nth-child(4n + 3) { --portal-accent: var(--alkz-yellow-ink); --portal-accent-soft: var(--alkz-yellow-soft); }
.alkz-role-theme .courses-page .course-card:nth-child(4n + 4) { --portal-accent: var(--alkz-navy); --portal-accent-soft: var(--alkz-navy-soft); }
.alkz-role-theme .courses-page .course-card:hover { transform: none; border-color: var(--portal-accent) !important; }
.alkz-role-theme .courses-page .course-card > .course-accent { background: var(--portal-accent) !important; height: 3px; border: 0; }
.alkz-role-theme .courses-page .course-title-text { color: var(--alkz-navy); }
.alkz-role-theme .courses-page .course-meta-pill { color: var(--portal-accent); background: var(--portal-accent-soft); }
.alkz-role-theme .courses-page .course-meta-pill.is-gold { color: var(--alkz-yellow-ink); background: var(--alkz-yellow-soft); }
.alkz-role-theme .courses-page .course-info-grid { background: #f5f7f9; }
.alkz-role-theme .courses-page .btn-courses {
    border-radius: 6px !important;
    box-shadow: none !important;
    transform: none !important;
}
.alkz-role-theme .courses-page .btn-course-primary {
    color: #fff !important;
    background: var(--alkz-blue) !important;
    border-color: var(--alkz-blue) !important;
}
.alkz-role-theme .courses-page .btn-course-primary:hover { background: var(--alkz-blue-hover) !important; }
.alkz-role-theme .courses-page .btn-course-interactive {
    color: var(--alkz-purple) !important;
    background: var(--alkz-purple-soft) !important;
    border-color: #d7c7ed !important;
}
.alkz-role-theme .courses-page :is(.btn-course-gold, .btn-course-warning) {
    color: var(--alkz-yellow-ink) !important;
    background: var(--alkz-yellow-soft) !important;
    border-color: #ebd69c !important;
}

/* Interactive courses, sidebars, slides and activities. Semantic correct/error
   states retain their existing green/red colors. */
.alkz-interactive-theme .leadership-sidebar-panel {
    background: #fff !important;
    border-color: var(--alkz-line) !important;
    box-shadow: none;
}
.alkz-interactive-theme .leadership-sidebar-panel :is(a, div)[class*="rounded-2xl"] { border-radius: 8px; }
.alkz-interactive-theme .leadership-content-wrap > .alkz-learning-course-hero {
    padding: 24px;
    background: var(--alkz-blue-soft);
    border: 1px solid #d4e5ee;
    border-radius: 10px;
}
.alkz-interactive-theme .leadership-content-wrap > .grid > section:nth-child(4n + 2) { border-top: 3px solid var(--alkz-purple); }
.alkz-interactive-theme .leadership-content-wrap > .grid > section:nth-child(4n + 3) { background: var(--alkz-yellow-soft); border-color: #ebd69c; }
.alkz-interactive-theme .leadership-content-wrap > .grid > section:nth-child(4n + 4) { background: var(--alkz-purple-soft); border-color: #ded2ef; }
.alkz-interactive-theme :is(.slide-viewer-frame, .leadership-game-frame, .alkz-learning-diagram) {
    border-color: var(--alkz-line) !important;
    border-radius: 10px;
    box-shadow: none !important;
}
.alkz-interactive-theme :is(.leadership-game-frame, .alkz-learning-diagram) { background: var(--alkz-blue-soft) !important; }
.alkz-interactive-theme .slide-viewer .leadership-slide-layout--cover {
    background: var(--alkz-navy) !important;
    border-top: 6px solid var(--alkz-yellow);
}
.alkz-interactive-theme .slide-viewer .leadership-slide-layout--cover::before { display: none; }
.alkz-interactive-theme .slide-viewer .leadership-slide-layout--cover .leadership-slide-copy { text-shadow: none; }
.alkz-interactive-theme .slide-viewer .slide-viewer-nav-button {
    color: var(--alkz-blue) !important;
    border-color: #b6d5e5 !important;
    border-radius: 6px;
    box-shadow: none !important;
}
.alkz-interactive-theme .slide-viewer .slide-viewer-nav-button--primary:not(:disabled),
.alkz-interactive-theme .leadership-game-frame .leadership-game-action {
    color: #fff !important;
    background: var(--alkz-blue) !important;
    border-color: var(--alkz-blue) !important;
}
.alkz-interactive-theme .slide-viewer .slide-viewer-nav-button--primary:hover:not(:disabled),
.alkz-interactive-theme .leadership-game-frame .leadership-game-action:hover { background: var(--alkz-blue-hover) !important; }
.alkz-interactive-theme :is([class~="bg-indigo-100"], [class~="bg-violet-100"]) { color: var(--alkz-purple); background-color: var(--alkz-purple-soft); }
.alkz-interactive-theme :is([class~="text-indigo-700"], [class~="text-violet-700"]) { color: var(--alkz-purple); }
.alkz-interactive-theme .leadership-main button[class~="bg-cyan-700"] { background: var(--alkz-blue); }
.alkz-interactive-theme .leadership-main button[class~="bg-cyan-700"]:hover { background: var(--alkz-blue-hover); }

/* The same identity for LMS trainee, instructor and administration shells. */
.alkz-lms-theme > header {
    color: var(--alkz-navy);
    background: #fff !important;
    border-bottom: 1px solid var(--alkz-line);
    box-shadow: none;
}
.alkz-lms-theme > header :is(.text-white, .text-gold-300, .text-gold-400, .text-ink-300) { color: var(--alkz-blue); }
.alkz-lms-theme > header button { color: var(--alkz-blue); background: var(--alkz-blue-soft); }
.alkz-lms-theme #lms-sidebar { background: #fff; border-color: var(--alkz-line); box-shadow: none; }
.alkz-lms-theme #lms-sidebar :is(.text-white, .text-ink-300, .text-ink-400) { color: var(--alkz-muted); }
.alkz-lms-theme #lms-sidebar .lms-nav-item { color: var(--alkz-text); }
.alkz-lms-theme #lms-sidebar .nav-icon { color: var(--alkz-blue); background: var(--alkz-blue-soft); }
.alkz-lms-theme .lms-nav-item.active {
    color: var(--alkz-blue);
    background: var(--alkz-blue-soft);
    border-inline-start: 3px solid var(--alkz-blue);
    box-shadow: none;
}
.alkz-lms-theme .lms-nav-item.active .nav-icon { color: var(--alkz-blue); background: #fff; }
.alkz-lms-theme :is(.lms-btn-primary, button.bg-navy-900, a.bg-navy-900) { background: var(--alkz-blue); color: #fff; }
.alkz-lms-theme .stat-card { box-shadow: none; border-top: 3px solid var(--alkz-blue); }
.alkz-lms-theme .stat-card:nth-child(3n + 2) { border-top-color: var(--alkz-purple); }
.alkz-lms-theme .stat-card:nth-child(3n + 3) { border-top-color: var(--alkz-yellow); }

.alkz-role-login > .pointer-events-none { display: none; }
.alkz-role-login > .grid > [class*="from-navy-"] {
    background: var(--alkz-navy) !important;
    border-top: 4px solid var(--alkz-yellow);
}
.alkz-role-login button[type="submit"] {
    color: #fff;
    background: var(--alkz-blue) !important;
    box-shadow: none !important;
}
.alkz-role-login button[type="submit"]:hover { background: var(--alkz-blue-hover) !important; }

/* AdminLTE role dashboards retain their tables, menus and responsive classes. */
.alkz-admin-theme :is(.content-wrapper, .right-side) { background: #f5f7f9; }
.alkz-admin-theme .main-header :is(.logo, .navbar) { color: #fff; background: var(--alkz-blue) !important; }
.alkz-admin-theme :is(.main-sidebar, .left-side) { background: var(--alkz-navy) !important; }
.alkz-admin-theme .sidebar-menu > li.header { color: #cfdae8; background: #10233c; }
.alkz-admin-theme .sidebar-menu > li > a { color: #e3ebf5; }
.alkz-admin-theme .sidebar-menu > li:is(.active, .menu-open) > a,
.alkz-admin-theme .sidebar-menu > li:hover > a { color: #fff; background: #1f3b5e; border-right-color: var(--alkz-yellow); }
.alkz-admin-theme .sidebar-menu .treeview-menu { background: #193251; }
.alkz-admin-theme .sidebar-menu .treeview-menu a { color: #d2deed; }
.alkz-admin-theme .btn-primary { color: #fff; background: var(--alkz-blue); border-color: var(--alkz-blue); }
.alkz-admin-theme .box { border-radius: 8px; border-top-color: var(--alkz-blue); box-shadow: 0 2px 8px rgb(24 54 74 / 5%); }
.alkz-admin-theme .box.box-warning { border-top-color: var(--alkz-yellow); }
.alkz-admin-theme .box.box-info { border-top-color: var(--alkz-purple); }

/* Nova keeps its own light/dark preference and application components. */
.alkz-nova-theme { --primary: 0, 109, 165; --primary-dark: 0, 87, 128; --primary-500: 0, 109, 165; --primary-600: 0, 87, 128; }
.alkz-nova-theme .bg-primary-500 { background-color: #006da5; }
.alkz-nova-theme .text-primary-500 { color: #006da5; }
.alkz-nova-theme .border-primary-500 { border-color: #006da5; }
html.dark body.alkz-nova-theme { background: #111c2c !important; color: #d1dce9; }

@media (max-width: 639px) {
    .alkz-interactive-theme .leadership-content-wrap > .alkz-learning-course-hero { padding: 18px; }
}
