/**
 * Necudah Frontend V2 — Glassmorphism Foundation
 *
 * Site-wide glass design layer. Loads on ALL frontend pages
 * when V2 design preview is enabled.
 *
 * This file provides:
 * - CSS variables (accent, glass, text, typography)
 * - Body gradient background
 * - Glass utility classes
 * - Overrides for core .necudah-* components
 * - SVG icon styles
 * - Form controls, buttons, badges, cards
 *
 * Page-specific overrides remain in their own files:
 * - home-v2.css (dashboard stats, welcome, quick links)
 * - auth-v2.css (login/register forms)
 *
 * @package Necudah
 * @since   1.2.8
 */

@import url('https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@400;500;700&family=Heebo:wght@300;400;500;600;700&display=swap');

/* ================================================================
   CSS VARIABLES
   ================================================================ */
:root {
    /* Accent — overridable via theme options */
    --v2-accent:          #6366f1;
    --v2-accent-2:        #a855f7;
    --v2-accent-light:    rgba(99, 102, 241, 0.12);

    /* Stat icon gradients */
    --v2-icon-blue:       linear-gradient(135deg, #60a5fa, #3b82f6);
    --v2-icon-teal:       linear-gradient(135deg, #34d399, #059669);
    --v2-icon-orange:     linear-gradient(135deg, #fb923c, #f97316);
    --v2-icon-pink:       linear-gradient(135deg, #f472b6, #ec4899);
    --v2-icon-indigo:     linear-gradient(135deg, #818cf8, #6366f1);

    /* Glass — overridable via theme options */
    --v2-glass-opacity:   0.55;
    --v2-glass-blur-val:  14px;
    --v2-glass-bg:        rgba(255, 255, 255, var(--v2-glass-opacity));
    --v2-glass-border:    rgba(255, 255, 255, 0.85);
    --v2-glass-blur:      blur(var(--v2-glass-blur-val));
    --v2-glass-radius:    16px;
    --v2-btn-radius:      9px;

    /* Text */
    --v2-text:            #0f172a;
    --v2-text-body:       #1e293b;
    --v2-text-muted:      #64748b;
    --v2-text-hint:       #94a3b8;

    /* Dividers */
    --v2-divider:         rgba(0, 0, 0, 0.06);
    --v2-divider-light:   rgba(0, 0, 0, 0.04);

    /* Typography */
    --v2-font-display:    'Frank Ruhl Libre', Georgia, serif;
    --v2-font-body:       'Heebo', system-ui, -apple-system, sans-serif;
    --v2-font-ui:         'Heebo', system-ui, -apple-system, sans-serif;
}

/* Theme CSS variables are overridden in inline <style id="necudah-theme-vars">
   via class-theme-options.php when V2 is enabled. This ensures they win
   over the theme's own inline variable declarations. */

/* ================================================================
   PAGE BACKGROUND — Pastel Gradient
   ================================================================ */
body, body.home, body.page, body.single, body.archive, body.logged-in {
    background-color: transparent !important;
    background-image: linear-gradient(
        135deg,
        var(--necudah-v2-g1, #dce8f8) 0%,
        var(--necudah-v2-g2, #e8daf5) 35%,
        var(--necudah-v2-g3, #f5daea) 65%,
        var(--necudah-v2-g4, #fde8d4) 100%
    ) !important;
    background-attachment: fixed !important;
    background-size: cover !important;
    min-height: 100vh;
    font-family: var(--v2-font-body);
    color: var(--v2-text-body);
}

/* Kill all theme wrapper backgrounds so gradient shows through */
#main, .site-main, .entry-content, main, .content-area,
#primary, #content, .site-content, .page .entry-content,
article, .post, .page, .type-page, .hentry,
.necudah-profile,
.necudah-groups-page,
.necudah-events-page {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Kill outer page card wrappers — MOVED to end of file for specificity */
/*  (see bottom of file)  */
}

/* ================================================================
   SVG ICON CLASSES
   ================================================================ */
.necudah-icon {
    color: var(--v2-accent);
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

.necudah-icon-muted {
    color: var(--v2-text-hint);
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

.necudah-icon-white {
    color: #ffffff;
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

/* ================================================================
   GLASS TREATMENT — Applied to all card-level components.
   Since --necudah-bg is transparent, we must set glass bg explicitly.
   ================================================================ */
.necudah-card,
.necudah-group-card,
.necudah-member-card,
.necudah-event-card,
.necudah-calendar,
.necudah-inbox,
.necudah-inbox-content,
.necudah-dropdown-menu,
.necudah-event-popover-inner,
.necudah-invite-results,
.necudah-messages-wrapper,
.necudah-conversation-header,
.necudah-message-form,
.necudah-post-card,
.necudah-dashboard-wrapper,
.lms-course-card,
.lms-section.card,
.lms-sidebar-card,
.lms-quiz-section.card {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 16px;
    box-shadow: none !important;
}

/* Lighter glass for secondary surfaces */
.necudah-card-footer,
.necudah-comment-content,
.necudah-composer,
.necudah-group-search input,
.necudah-conversation-item.active {
    background: rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Stronger glass for modals and dropdowns */
.necudah-modal-content,
.necudah-edit-event-modal {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
}

/* Page-level containers — transparent, NOT glass */
.necudah-profile,
.necudah-groups-page,
.necudah-events-page,
.necudah-directory-page {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* ================================================================
   GLASS CARD — Additional card-level overrides
   (main glass treatment is in the bulk rule above)
   ================================================================ */

.necudah-card-header {
    border-bottom: 1px solid var(--v2-divider);
    font-family: var(--v2-font-ui);
}

.necudah-card-body {
    font-family: var(--v2-font-body);
}

/* ================================================================
   BUTTONS — Override .necudah-btn from frontend.css
   ================================================================ */
.necudah-btn {
    font-family: var(--v2-font-ui);
    border-radius: var(--v2-btn-radius, 9px);
    font-weight: 700;
    font-size: 0.82rem;
    transition: all 0.15s;
}

.necudah-btn-primary {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

.necudah-btn-primary:hover {
    opacity: 0.9;
}

.necudah-btn-secondary {
    background: var(--v2-glass-bg);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--v2-glass-border) !important;
    color: var(--v2-text-body) !important;
}

.necudah-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.70);
}

.necudah-btn-outline {
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: var(--v2-text-muted) !important;
}

.necudah-btn-outline:hover {
    border-color: var(--v2-accent) !important;
    color: var(--v2-accent) !important;
}

.necudah-btn-danger {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    color: #ffffff !important;
}

/* ================================================================
   FORM CONTROLS — Glass style
   ================================================================ */
.necudah-form-control,
.necudah-input,
input[type="text"].necudah-input,
input[type="email"].necudah-input,
input[type="password"].necudah-input,
textarea.necudah-input,
select.necudah-input {
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 10px;
    font-family: var(--v2-font-body);
    color: var(--v2-text);
    transition: all 0.15s;
}

.necudah-form-control:focus,
.necudah-input:focus {
    outline: none;
    border-color: var(--v2-accent);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

/* ================================================================
   TOGGLE — Override .necudah-toggle from frontend.css
   ================================================================ */
.necudah-toggle .necudah-toggle-slider {
    background: rgba(0, 0, 0, 0.12);
}

.necudah-toggle input:checked + .necudah-toggle-slider {
    background: var(--v2-toggle-color, var(--v2-accent)) !important;
}

/* Custom component colors (from Theme Options — only active when CSS vars are set) */

input[type="checkbox"]:checked {
    background-color: var(--v2-checkbox-color, var(--v2-accent)) !important;
    border-color: var(--v2-checkbox-color, var(--v2-accent)) !important;
}

input[type="radio"]:checked {
    border-color: var(--v2-checkbox-color, var(--v2-accent)) !important;
}

input[type="radio"]:checked::before {
    background: var(--v2-checkbox-color, var(--v2-accent)) !important;
}

/* ================================================================
   BADGES & PILLS
   ================================================================ */
.necudah-badge,
.necudah-count-badge {
    font-family: var(--v2-font-ui);
}

/* V2 role badges */
.necudah-v2-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 600;
    font-family: var(--v2-font-ui);
}

.necudah-v2-badge--student {
    background: rgba(220, 252, 231, 0.65);
    color: #065f46;
}

.necudah-v2-badge--teacher {
    background: rgba(224, 231, 255, 0.65);
    color: #3730a3;
}

.necudah-v2-badge--admin {
    background: rgba(254, 226, 226, 0.65);
    color: #991b1b;
}

.necudah-v2-badge--default {
    background: rgba(241, 245, 249, 0.65);
    color: #475569;
}

/* Seal badge */
.necudah-seal-badge {
    display: inline-flex;
    direction: ltr;
    align-items: center;
}

.necudah-seal-badge .badge-seal {
    position: relative;
    z-index: 2;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.necudah-seal-badge .badge-seal img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
    position: absolute;
    top: 0;
    left: 0;
}

.necudah-seal-badge .badge-seal .necudah-seal-svg {
    position: relative;
    z-index: 3;
    color: rgba(255,255,255,0.9);
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.2));
}

.necudah-seal-badge .badge-pill {
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.9);
    color: var(--v2-text);
    padding: 3px 12px 3px 14px;
    border-radius: 0 20px 20px 0;
    margin-inline-start: -12px;
    font-size: 0.7rem;
    font-weight: 600;
    font-family: var(--v2-font-ui);
    white-space: nowrap;
}

/* ================================================================
   LINKS — Accent color
   ================================================================ */
a {
    transition: color 0.15s;
}

.necudah-link,
.necudah-link-primary {
    color: var(--v2-accent);
}

/* ================================================================
   PAGE CONTAINERS — Override backgrounds
   ================================================================ */

/* Groups page */
.necudah-groups-page,
.necudah-events-page,
.necudah-directory-page,
.necudah-profile-page,
.necudah-messages-container {
    font-family: var(--v2-font-body);
}

/* Group cards */
.necudah-group-card {
    background: var(--v2-glass-bg);
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border);
    border-radius: var(--v2-glass-radius);
    box-shadow: none;
}

/* Events */
.necudah-event-card {
    background: var(--v2-glass-bg);
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border);
    border-radius: var(--v2-glass-radius);
    box-shadow: none;
}

/* Profile */
.necudah-profile-card,
.necudah-profile-content {
    background: var(--v2-glass-bg);
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border);
    border-radius: var(--v2-glass-radius);
    box-shadow: none;
}

/* Messages */
.necudah-messages-list,
.necudah-conversation {
    background: var(--v2-glass-bg);
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border);
    border-radius: var(--v2-glass-radius);
    box-shadow: none;
}

/* Notifications */
.necudah-notifications-page .necudah-card {
    background: var(--v2-glass-bg) !important;
}

/* Directory */
.necudah-member-card {
    background: var(--v2-glass-bg);
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border);
    border-radius: var(--v2-glass-radius);
    box-shadow: none;
}

/* ================================================================
   MODAL — Glass treatment
   ================================================================ */
.necudah-modal-content {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--v2-glass-border);
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.necudah-modal-header {
    border-bottom: 1px solid var(--v2-divider);
}

.necudah-modal-footer {
    border-top: 1px solid var(--v2-divider);
}

/* ================================================================
   LMS PAGES — Glass overrides
   ================================================================ */

/* Course cards in archive/catalog */
.lms-course-card,
.lms-course-card.card {
    background: var(--v2-glass-bg) !important;
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Course page sections */
.lms-section.card,
.lms-section .card {
    background: var(--v2-glass-bg) !important;
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* ================================================================
   LMS VIEWER — Lesson / Topic / Quiz / Course Glass Treatment
   ================================================================ */

/* Sidebar — glass card with content nav */
.lms-lesson-sidebar,
.lms-sidebar-card,
.lms-sidebar-card.card,
.lms-course-sidebar {
    background: rgba(255, 255, 255, 0.50) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Active sidebar item */
.lms-sidebar-lesson.current,
.lms-sidebar-lesson.current-parent {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    border-radius: 10px !important;
    color: #fff !important;
}

.lms-sidebar-lesson.current .lms-sidebar-lesson-title,
.lms-sidebar-lesson.current-parent .lms-sidebar-lesson-title,
.lms-sidebar-lesson.current .lms-sidebar-lesson-num,
.lms-sidebar-lesson.current .lms-lesson-progress {
    color: #fff !important;
}

/* Sidebar progress section */
.lms-sidebar-progress {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* Quiz sections — main content cards */
.lms-quiz-section,
.lms-quiz-section.card,
.lms-quiz-container {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Quiz header (question count + timer) */
.lms-quiz-header {
    background: rgba(255, 255, 255, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 12px !important;
}

/* Quiz answer options — glass cards */
.lms-option {
    background: rgba(255, 255, 255, 0.45) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 12px !important;
    transition: all 0.2s ease !important;
}

.lms-option:hover {
    background: rgba(255, 255, 255, 0.65) !important;
    border-color: rgba(99, 102, 241, 0.3) !important;
}

.lms-option.selected {
    background: rgba(99, 102, 241, 0.08) !important;
    border-color: var(--v2-accent) !important;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15) !important;
}

/* Quiz navigation buttons */
.lms-quiz-nav .lms-nav-prev,
.lms-lesson-nav .lms-nav-prev {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: var(--v2-btn-radius) !important;
}

.lms-quiz-nav .lms-nav-next,
.lms-lesson-nav .lms-nav-next {
    border-radius: var(--v2-btn-radius) !important;
}

/* Question navigator dots */
.lms-question-nav .lms-nav-btn {
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    background: rgba(255, 255, 255, 0.45) !important;
}

.lms-question-nav .lms-nav-btn.answered {
    background: var(--v2-accent) !important;
    color: #fff !important;
    border-color: var(--v2-accent) !important;
}

.lms-question-nav .lms-nav-btn.current {
    border-color: var(--v2-accent) !important;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;
}

/* Quiz timer */
.lms-quiz-timer {
    background: rgba(239, 68, 68, 0.08) !important;
    border-radius: 20px !important;
    padding: 4px 12px !important;
}

/* Quiz results card */
.lms-quiz-result {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
}

/* Lesson/Topic content area */
.lms-lesson-content,
.lms-content-wrapper,
.lms-lesson-body {
    background: transparent !important;
}

/* Lesson topbar */
.lms-lesson-topbar {
    background: rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6) !important;
}

/* Progress bar */
.lms-progress-fill {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    border-radius: 20px !important;
}

.lms-progress-bar {
    background: rgba(0, 0, 0, 0.06) !important;
    border-radius: 20px !important;
}

/* Lesson navigation (prev/next cards) */
.lms-lesson-nav a,
.lms-lesson-nav .lms-nav-prev,
.lms-lesson-nav .lms-nav-next {
    background: rgba(255, 255, 255, 0.50) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: var(--v2-glass-radius) !important;
    transition: all 0.2s ease !important;
}

.lms-lesson-nav a:hover {
    background: rgba(255, 255, 255, 0.70) !important;
    border-color: rgba(99, 102, 241, 0.3) !important;
}

/* Lesson child items (topics/quizzes under lesson) */
.lms-child-item {
    background: rgba(255, 255, 255, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 10px !important;
    margin-bottom: 4px !important;
}

.lms-child-item:hover {
    background: rgba(255, 255, 255, 0.55) !important;
}

/* Complete button */
.lms-complete-btn,
.lms-complete-topic-btn {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: var(--v2-btn-radius) !important;
}

/* Completion note */
.lms-completion-note {
    background: rgba(255, 255, 255, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 12px !important;
}

/* Locked/drip-feed message */
.lms-drip-locked,
.lms-linear-locked {
    background: rgba(255, 255, 255, 0.40) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: var(--v2-glass-radius) !important;
}

/* Course hero */
.lms-course-hero {
    border-radius: var(--v2-glass-radius) !important;
    overflow: hidden;
}

/* Course curriculum items */
.lms-curriculum-lesson,
.lms-curriculum-item {
    background: rgba(255, 255, 255, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 10px !important;
    margin-bottom: 6px !important;
}

.lms-curriculum-lesson:hover,
.lms-curriculum-item:hover {
    background: rgba(255, 255, 255, 0.55) !important;
}

/* ================================================================
   LEARNING GAMES — Glass Treatment
   ================================================================ */

/* --- Layout & Main Panels --- */
.lms-game-start,
.lms-game-container,
.lms-game-results {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Typography */
.lms-game-title {
    font-family: var(--v2-font-display) !important;
}

.lms-game-description,
.lms-game-meta-item,
.lms-game-progress-text,
.lms-game-timer,
.lms-game-moves {
    font-family: var(--v2-font-ui) !important;
}

/* --- Play & Action Buttons --- */
.lms-game-play-btn {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    border-radius: var(--v2-btn-radius) !important;
    border: none !important;
}

.lms-game-play-btn:hover {
    opacity: 0.9 !important;
}

.lms-game-back-btn {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: var(--v2-btn-radius) !important;
    color: var(--v2-text-body) !important;
}

/* --- Meta Pills --- */
.lms-game-meta-item {
    background: rgba(255, 255, 255, 0.40) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 20px !important;
}

/* --- Progress Bar --- */
.lms-game-progress-fill {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
}

.lms-game-progress-bar {
    background: rgba(0, 0, 0, 0.06) !important;
}

/* --- Header Divider --- */
.lms-game-header {
    border-bottom-color: rgba(0, 0, 0, 0.06) !important;
}

/* --- Score Circle --- */
.lms-game-score-circle {
    background: rgba(255, 255, 255, 0.40) !important;
    border-color: var(--v2-accent) !important;
}

.lms-game-score-number {
    color: var(--v2-accent) !important;
    font-family: var(--v2-font-display) !important;
}

/* --- Option / Interactive Cards (shared pattern) --- */
.lms-speed-option,
.lms-matching-item,
.lms-ml-option,
.lms-sh-option,
.lms-ordering-pool-item,
.lms-sort-bucket {
    background: rgba(255, 255, 255, 0.45) !important;
    border: 2px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 12px !important;
    transition: all 0.2s ease !important;
}

.lms-speed-option:hover,
.lms-matching-item:hover,
.lms-ml-option:hover,
.lms-sh-option:hover,
.lms-ordering-pool-item:hover,
.lms-sort-bucket:hover {
    background: rgba(255, 255, 255, 0.65) !important;
    border-color: rgba(99, 102, 241, 0.3) !important;
}

/* Selected state */
.lms-speed-option.selected,
.lms-matching-item.selected,
.lms-ordering-placed {
    background: rgba(99, 102, 241, 0.08) !important;
    border-color: var(--v2-accent) !important;
}

/* Correct state — tinted glass */
.lms-speed-option.correct,
.lms-matching-item.matched,
.lms-hm-key.correct,
.lms-ml-option.correct,
.lms-sh-option.correct,
.lms-tf-btn.correct,
.lms-jp-result.correct,
.lms-rd-result.correct {
    background: rgba(220, 252, 231, 0.35) !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
}

/* Wrong state — tinted glass */
.lms-speed-option.wrong,
.lms-matching-item.wrong,
.lms-hm-key.wrong,
.lms-ml-option.wrong,
.lms-sh-option.wrong,
.lms-tf-btn.wrong,
.lms-jp-result.wrong,
.lms-rd-result.wrong {
    background: rgba(254, 226, 226, 0.35) !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
}

/* --- Hangman Keyboard --- */
.lms-hm-key {
    background: rgba(255, 255, 255, 0.50) !important;
    border: 2px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 10px !important;
}

.lms-hm-key:hover {
    border-color: rgba(99, 102, 241, 0.3) !important;
    background: rgba(255, 255, 255, 0.70) !important;
}

/* --- Memory Card --- */
.lms-memory-card-front {
    background: rgba(255, 255, 255, 0.60) !important;
    border: 2px solid rgba(255, 255, 255, 0.7) !important;
}

.lms-memory-card.matched .lms-memory-card-front {
    background: rgba(220, 252, 231, 0.40) !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
}

/* --- Scramble Letter Tiles --- */
.lms-scramble-letter {
    background: rgba(255, 255, 255, 0.50) !important;
    border: 2px solid rgba(255, 255, 255, 0.7) !important;
}

/* --- Input Fields (glass) --- */
.lms-scramble-input,
.lms-blanks-input,
.lms-blanks-select,
.lms-nk-input,
.lms-sh-input,
.lms-tr-input,
.lms-rd-input,
.lms-cw-input:focus {
    border-color: rgba(255, 255, 255, 0.7) !important;
}

.lms-scramble-input:focus,
.lms-blanks-input:focus,
.lms-blanks-select:focus,
.lms-nk-input:focus,
.lms-sh-input:focus,
.lms-tr-input:focus,
.lms-rd-input:focus {
    border-color: var(--v2-accent) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12) !important;
}

/* --- Check / Submit Buttons --- */
.lms-scramble-check-btn,
.lms-nk-check-btn,
.lms-sh-check-btn,
.lms-rd-check-btn {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    border-radius: var(--v2-btn-radius) !important;
    border: none !important;
    color: #fff !important;
}

/* --- True/False Buttons — glass tint --- */
.lms-tf-true {
    background: rgba(220, 252, 231, 0.40) !important;
    border: 2px solid rgba(16, 185, 129, 0.4) !important;
}

.lms-tf-true:hover {
    background: rgba(220, 252, 231, 0.60) !important;
}

.lms-tf-false {
    background: rgba(254, 226, 226, 0.40) !important;
    border: 2px solid rgba(239, 68, 68, 0.35) !important;
}

.lms-tf-false:hover {
    background: rgba(254, 226, 226, 0.60) !important;
}

/* --- Hint / Explanation / Feedback Boxes --- */
.lms-scramble-hint,
.lms-speed-explanation,
.lms-tf-feedback,
.lms-ml-feedback,
.lms-rd-hint {
    background: rgba(255, 255, 255, 0.40) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 10px !important;
}

/* --- Crossword / Word Search Grid Cells --- */
.lms-cw-cell {
    background: rgba(255, 255, 255, 0.60) !important;
}

.lms-ws-cell {
    border-color: rgba(255, 255, 255, 0.6) !important;
}

.lms-ws-cell:hover {
    background: rgba(99, 102, 241, 0.06) !important;
}

.lms-ws-cell.lms-ws-selecting {
    background: rgba(99, 102, 241, 0.12) !important;
    border-color: var(--v2-accent) !important;
}

.lms-ws-cell.lms-ws-found {
    background: rgba(220, 252, 231, 0.45) !important;
    border-color: rgba(134, 239, 172, 0.4) !important;
}

.lms-ws-word {
    background: rgba(255, 255, 255, 0.35) !important;
    border-radius: 8px !important;
}

.lms-ws-word.found {
    background: rgba(220, 252, 231, 0.35) !important;
}

/* --- Typing Race Word Display --- */
.lms-tr-word {
    background: rgba(255, 255, 255, 0.40) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: var(--v2-glass-radius) !important;
}

/* --- Speed Quiz Timer --- */
.lms-speed-timer-fill {
    background: var(--v2-accent) !important;
}

.lms-speed-timer-fill.warning {
    background: #f59e0b !important;
}

.lms-speed-timer-fill.danger {
    background: #ef4444 !important;
}

/* --- Speed Score Accent --- */
.lms-speed-score-bar .score {
    color: var(--v2-accent) !important;
}

/* --- Jeopardy Board --- */
.lms-jp-board th {
    background: var(--v2-accent) !important;
}

.lms-jp-cell {
    background: rgba(255, 251, 235, 0.55) !important;
    border: 2px solid rgba(255, 255, 255, 0.6) !important;
}

.lms-jp-cell:hover {
    background: rgba(254, 243, 199, 0.55) !important;
}

.lms-jp-cell.answered {
    background: rgba(255, 255, 255, 0.30) !important;
}

.lms-jp-score strong {
    color: var(--v2-accent) !important;
}

/* --- Millionaire Lifelines --- */
.lms-ml-lifeline {
    background: rgba(255, 251, 235, 0.45) !important;
    border: 2px solid rgba(217, 119, 6, 0.3) !important;
    border-radius: 20px !important;
}

.lms-ml-lifeline:hover {
    background: rgba(254, 243, 199, 0.55) !important;
}

/* --- Ordering Number Badge --- */
.lms-ordering-num {
    background: var(--v2-accent) !important;
}

/* --- Blanks Sentence --- */
.lms-blanks-sentence {
    background: rgba(255, 255, 255, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 12px !important;
}

.lms-blanks-number {
    color: var(--v2-accent) !important;
}

/* --- Sudoku Grid --- */
.lms-sdk-grid td {
    border-color: rgba(255, 255, 255, 0.6) !important;
}

.lms-sdk-cell.given {
    background: rgba(255, 255, 255, 0.35) !important;
}

/* --- Crossword Clue Group Headers --- */
.lms-cw-clue-group h4 {
    color: var(--v2-accent) !important;
}

/* --- Word Search Counter --- */
.lms-ws-counter {
    color: var(--v2-accent) !important;
}

/* --- Sort Bucket Count --- */
.lms-sort-bucket-count {
    color: var(--v2-accent) !important;
}

/* ================================================================
   LEARNING GAMES — Dark Mode
   ================================================================ */

[data-theme="dark"] .lms-game-start,
[data-theme="dark"] .lms-game-container,
[data-theme="dark"] .lms-game-results {
    background: rgba(15, 23, 42, 0.55) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .lms-game-title {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .lms-game-description,
[data-theme="dark"] .lms-game-meta-item,
[data-theme="dark"] .lms-game-progress-text,
[data-theme="dark"] .lms-game-timer {
    color: #94a3b8 !important;
}

[data-theme="dark"] .lms-game-meta-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .lms-game-header {
    border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .lms-game-score-circle {
    background: rgba(255, 255, 255, 0.04) !important;
}

/* Dark option cards */
[data-theme="dark"] .lms-speed-option,
[data-theme="dark"] .lms-matching-item,
[data-theme="dark"] .lms-ml-option,
[data-theme="dark"] .lms-sh-option,
[data-theme="dark"] .lms-ordering-pool-item,
[data-theme="dark"] .lms-sort-bucket,
[data-theme="dark"] .lms-hm-key {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .lms-speed-option:hover,
[data-theme="dark"] .lms-matching-item:hover,
[data-theme="dark"] .lms-ml-option:hover,
[data-theme="dark"] .lms-sh-option:hover,
[data-theme="dark"] .lms-ordering-pool-item:hover,
[data-theme="dark"] .lms-hm-key:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}

/* Dark correct/wrong states */
[data-theme="dark"] .lms-speed-option.correct,
[data-theme="dark"] .lms-matching-item.matched,
[data-theme="dark"] .lms-hm-key.correct,
[data-theme="dark"] .lms-ml-option.correct,
[data-theme="dark"] .lms-sh-option.correct {
    background: rgba(16, 185, 129, 0.10) !important;
    border-color: rgba(16, 185, 129, 0.25) !important;
}

[data-theme="dark"] .lms-speed-option.wrong,
[data-theme="dark"] .lms-matching-item.wrong,
[data-theme="dark"] .lms-hm-key.wrong,
[data-theme="dark"] .lms-ml-option.wrong,
[data-theme="dark"] .lms-sh-option.wrong {
    background: rgba(239, 68, 68, 0.10) !important;
    border-color: rgba(239, 68, 68, 0.25) !important;
}

/* Dark memory card */
[data-theme="dark"] .lms-memory-card-front {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

/* Dark scramble tiles */
[data-theme="dark"] .lms-scramble-letter {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

/* Dark T/F buttons */
[data-theme="dark"] .lms-tf-true {
    background: rgba(16, 185, 129, 0.10) !important;
    border-color: rgba(16, 185, 129, 0.25) !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] .lms-tf-false {
    background: rgba(239, 68, 68, 0.10) !important;
    border-color: rgba(239, 68, 68, 0.25) !important;
    color: #fca5a5 !important;
}

/* Dark grids */
[data-theme="dark"] .lms-cw-cell {
    background: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .lms-ws-cell {
    border-color: rgba(255, 255, 255, 0.06) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .lms-sdk-grid td {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .lms-sdk-cell.given {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #e2e8f0 !important;
}

/* Dark hints / feedback */
[data-theme="dark"] .lms-scramble-hint,
[data-theme="dark"] .lms-speed-explanation,
[data-theme="dark"] .lms-tf-feedback,
[data-theme="dark"] .lms-ml-feedback {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
    color: #94a3b8 !important;
}

/* Dark typing race / blanks */
[data-theme="dark"] .lms-tr-word,
[data-theme="dark"] .lms-blanks-sentence {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
    color: #e2e8f0 !important;
}

/* Dark jeopardy */
[data-theme="dark"] .lms-jp-cell {
    background: rgba(217, 119, 6, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .lms-jp-cell.answered {
    background: rgba(255, 255, 255, 0.03) !important;
}

/* Dark word search */
[data-theme="dark"] .lms-ws-word {
    background: rgba(255, 255, 255, 0.04) !important;
    color: #e2e8f0 !important;
}

/* Dark inputs */
[data-theme="dark"] .lms-scramble-input,
[data-theme="dark"] .lms-blanks-input,
[data-theme="dark"] .lms-blanks-select,
[data-theme="dark"] .lms-nk-input,
[data-theme="dark"] .lms-sh-input,
[data-theme="dark"] .lms-tr-input,
[data-theme="dark"] .lms-rd-input {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

/* Dark question text */
[data-theme="dark"] .lms-speed-question-text,
[data-theme="dark"] .lms-tf-text,
[data-theme="dark"] .lms-ml-question,
[data-theme="dark"] .lms-jp-q-text,
[data-theme="dark"] .lms-rd-question,
[data-theme="dark"] .lms-hm-word,
[data-theme="dark"] .lms-nk-word-display,
[data-theme="dark"] .lms-sh-word,
[data-theme="dark"] .lms-sort-bucket-name,
[data-theme="dark"] .lms-cw-clue {
    color: #e2e8f0 !important;
}

/* Dark game results heading */
[data-theme="dark"] .lms-game-results h2 {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .lms-game-results-details {
    color: #94a3b8 !important;
}

/* ================================================================
   QUIZ PLAYER — Glass Treatment
   ================================================================ */

/* Question card */
.lms-question {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Quiz title header card */
.lms-quiz-title-header {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Quiz info box (start screen) */
.lms-quiz-info {
    background: rgba(255, 255, 255, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 12px !important;
}

/* Question nav bar */
.lms-question-nav {
    background: rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* Quiz buttons */
.lms-quiz-nav .btn-primary,
.lms-start-quiz-btn,
#next-question {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--v2-btn-radius) !important;
}

.lms-quiz-nav .btn-secondary,
#prev-question {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    color: var(--v2-text-body) !important;
    border-radius: var(--v2-btn-radius) !important;
}

#submit-quiz,
.btn-success {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--v2-btn-radius) !important;
}

/* Outline/review button */
.btn-outline {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid var(--v2-accent) !important;
    color: var(--v2-accent) !important;
    border-radius: var(--v2-btn-radius) !important;
}

/* ================================================================
   QUIZ RESULTS — Glass Treatment
   ================================================================ */

/* Result card */
.lms-quiz-result {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
    text-align: center;
}

/* Pending notice */
.lms-pending-notice {
    background: rgba(254, 243, 199, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(253, 224, 71, 0.4) !important;
    border-radius: 12px !important;
}

/* ================================================================
   QUIZ REVIEW — Glass Treatment (kill colored left borders!)
   ================================================================ */

/* Review container */
.lms-quiz-review {
    max-width: 800px;
}

/* Review question cards — tinted glass based on status */
.lms-review-question {
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
    position: relative;
    overflow: hidden;
}

/* Option 1: Tinted glass background per status — no colored borders */
.lms-review-question.lms-review-correct {
    background: rgba(220, 252, 231, 0.30) !important;
    border: 1px solid rgba(134, 239, 172, 0.35) !important;
}

.lms-review-question.lms-review-incorrect {
    background: rgba(254, 226, 226, 0.30) !important;
    border: 1px solid rgba(252, 165, 165, 0.30) !important;
}

.lms-review-question.lms-review-pending {
    background: rgba(254, 249, 195, 0.30) !important;
    border: 1px solid rgba(253, 224, 71, 0.30) !important;
}

/* Status icons — rounded square with tinted bg */
.lms-review-status {
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}

.lms-review-correct .lms-review-status {
    background: rgba(16, 185, 129, 0.12) !important;
}

.lms-review-incorrect .lms-review-status {
    background: rgba(239, 68, 68, 0.10) !important;
}

.lms-review-pending .lms-review-status {
    background: rgba(245, 158, 11, 0.12) !important;
}

/* Question number */
.lms-review-number {
    color: var(--v2-text-muted) !important;
    font-size: 0.8rem !important;
}

/* Answer labels */
.lms-review-label {
    color: var(--v2-text-hint) !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.05em !important;
}

/* Student answer box — subtle glass */
.lms-review-student-answer {
    background: rgba(255, 255, 255, 0.40) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 10px !important;
    color: var(--v2-text-body) !important;
}

/* Correct answer box — soft green tint glass */
.lms-review-correct-answer {
    background: rgba(220, 252, 231, 0.50) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(134, 239, 172, 0.4) !important;
    border-radius: 10px !important;
    color: #065f46 !important;
}

/* Pending review note — soft amber tint glass */
.lms-review-pending-note {
    background: rgba(254, 243, 199, 0.50) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(253, 224, 71, 0.3) !important;
    border-radius: 10px !important;
    color: #92400e !important;
}

/* Explanation box — soft purple tint glass (no left border) */
.lms-review-explanation {
    background: rgba(237, 233, 254, 0.45) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(196, 181, 253, 0.4) !important;
    border-left: 1px solid rgba(196, 181, 253, 0.4) !important;
    border-radius: 10px !important;
}

/* Total time badge */
.lms-review-total-time {
    background: rgba(238, 242, 255, 0.55) !important;
    border: 1px solid rgba(199, 210, 254, 0.4) !important;
    border-radius: 20px !important;
    color: var(--v2-accent) !important;
}

/* Time spent per question badge */
.lms-review-time {
    background: rgba(238, 242, 255, 0.55) !important;
    border: 1px solid rgba(199, 210, 254, 0.3) !important;
    border-radius: 20px !important;
    color: var(--v2-accent) !important;
}

/* Alert boxes — glass pill badges */
.alert {
    border-radius: 24px !important;
    border: none !important;
    padding: 8px 20px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.alert-success {
    background: rgba(220, 252, 231, 0.50) !important;
    color: #065f46 !important;
    border: 1px solid rgba(134, 239, 172, 0.4) !important;
}

.alert-danger {
    background: rgba(254, 226, 226, 0.45) !important;
    color: #991b1b !important;
    border: 1px solid rgba(252, 165, 165, 0.35) !important;
}

.alert-warning {
    background: rgba(254, 243, 199, 0.50) !important;
    color: #92400e !important;
    border: 1px solid rgba(253, 224, 71, 0.3) !important;
}

/* Last attempt badge — compact pill */
.lms-last-attempt,
.lms-quiz-section .alert {
    border-radius: 24px !important;
    padding: 8px 20px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    max-width: fit-content !important;
    margin: 0 auto 16px !important;
}

/* Hint box — soft amber glass (no left border) */
.lms-hint-text {
    background: rgba(255, 251, 235, 0.55) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(253, 224, 71, 0.3) !important;
    border-left: 1px solid rgba(253, 224, 71, 0.3) !important;
    border-radius: 10px !important;
}

/* File upload dropzone */
.lms-file-dropzone {
    background: rgba(255, 255, 255, 0.35) !important;
    border: 2px dashed rgba(255, 255, 255, 0.6) !important;
    border-radius: 14px !important;
}

.lms-file-dropzone:hover,
.lms-file-dragover {
    border-color: var(--v2-accent) !important;
    background: rgba(238, 242, 255, 0.35) !important;
}

.lms-file-preview {
    background: rgba(255, 255, 255, 0.40) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 12px !important;
}

/* Instructor dashboard */
.necudah-dashboard-wrapper {
    background: var(--v2-glass-bg);
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border);
    border-radius: var(--v2-glass-radius);
    box-shadow: none;
}

/* Dashboard tabs */
.necudah-dashboard-tabs .necudah-tab-link.active {
    color: var(--v2-accent);
    border-bottom-color: var(--v2-accent);
}

/* Dashboard cards */
.necudah-card-grid .necudah-card {
    background: rgba(255, 255, 255, 0.45) !important;
}

/* Progress bars site-wide */
.lms-progress-fill {
    background: linear-gradient(90deg, var(--v2-accent), var(--v2-accent-2)) !important;
}

/* LMS buttons */
.btn-primary,
.lms-start-quiz-btn,
.lms-complete-btn {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    font-family: var(--v2-font-ui);
    border-radius: 9px;
}

/* ================================================================
   TYPOGRAPHY — Global overrides
   ================================================================ */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--v2-font-display);
    color: var(--v2-text);
}

.necudah-page-title h1,
.necudah-page-header h1,
.lms-course-title {
    font-family: var(--v2-font-display);
}

/* ================================================================
   COMPREHENSIVE WHITE BACKGROUND OVERRIDES
   Catch all components from frontend.css that use solid backgrounds.
   ================================================================ */

/* Single group page (template in theme) */
.necudah-single-group,
.necudah-single-group .necudah-group-header-card,
.necudah-single-group .necudah-group-content-wrapper,
.necudah-single-group .necudah-group-sidebar .necudah-card,
.necudah-single-group .necudah-group-main .necudah-card,
.necudah-single-group .necudah-activity-form,
.necudah-group-info-card,
.necudah-group-search-card {
    background: var(--v2-glass-bg) !important;
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Group header card — the big card wrapping cover + title + tabs */
.necudah-single-group .necudah-group-header-card {
    overflow: hidden;
}

/* Group tabs */
.necudah-group-tabs .necudah-tab.active,
.necudah-profile-tabs .necudah-tab.active {
    color: var(--v2-accent) !important;
    border-bottom-color: var(--v2-accent) !important;
}

/* Activity form post button */
.necudah-activity-form .necudah-btn-primary {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
}

/* Modals — all variants */
.necudah-modal-content,
.necudah-edit-event-modal,
.necudah-modal .necudah-modal-content,
.necudah-create-group-modal,
.necudah-invite-modal {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
}

.necudah-modal-header,
.necudah-edit-event-modal-header {
    border-bottom: 1px solid var(--v2-divider) !important;
    background: transparent !important;
}

.necudah-modal-footer,
.necudah-edit-event-modal-footer {
    border-top: 1px solid var(--v2-divider) !important;
    background: transparent !important;
}

.necudah-modal-body,
.necudah-edit-event-modal-body {
    background: transparent !important;
}

/* Popover (event calendar) */
.necudah-event-popover-inner {
    background: rgba(255, 255, 255, 0.90) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

/* Events page */
.necudah-events-page .necudah-card,
.necudah-events-calendar,
.necudah-event-card {
    background: var(--v2-glass-bg) !important;
    backdrop-filter: var(--v2-glass-blur) !important;
    -webkit-backdrop-filter: var(--v2-glass-blur) !important;
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Profile page */
.necudah-profile-header-card,
.necudah-profile-content .necudah-card,
.necudah-profile-sidebar .necudah-card,
.necudah-about-section,
.necudah-profile-body {
    background: var(--v2-glass-bg) !important;
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Messages page — outer container */
.necudah-messages-page .necudah-messages-container {
    background: rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
    overflow: hidden;
}

.necudah-messages-page .necudah-conversations-sidebar {
    background: rgba(255, 255, 255, 0.30) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.necudah-messages-page .necudah-messages-main {
    background: transparent !important;
}

.necudah-messages-page .necudah-conversations-header {
    background: rgba(255, 255, 255, 0.40) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.necudah-messages-page .necudah-conversation-header {
    background: rgba(255, 255, 255, 0.40) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.necudah-messages-page .necudah-message-form,
.necudah-messages-page .necudah-message-input-area {
    background: rgba(255, 255, 255, 0.35) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.necudah-messages-page .necudah-conversation-item.active {
    background: rgba(255, 255, 255, 0.50) !important;
}

.necudah-messages-page .necudah-conversation-item:hover {
    background: rgba(255, 255, 255, 0.40) !important;
}

.necudah-messages-page .necudah-empty-conversations {
    color: var(--v2-text-muted);
}

/* Messages wrapper (legacy class) */
.necudah-messages-wrapper {
    background: rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
    overflow: hidden;
}

/* Notifications page */
.necudah-notifications-page .necudah-page-header {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

.necudah-notifications-page .necudah-card {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

.necudah-notifications-page .necudah-tabs {
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}

.necudah-notifications-page .necudah-tab {
    color: var(--v2-text-muted) !important;
}

.necudah-notifications-page .necudah-tab.active {
    color: var(--v2-accent) !important;
    border-bottom-color: var(--v2-accent) !important;
}

/* Notification items — glass cards */
.necudah-notifications-page .necudah-notification-item {
    background: rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-left: none !important;
    border-radius: 14px !important;
    margin-bottom: 10px !important;
    transition: background 0.2s ease, box-shadow 0.2s ease !important;
}

.necudah-notifications-page .necudah-notification-item:hover {
    background: rgba(255, 255, 255, 0.60) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
}

.necudah-notifications-page .necudah-notification-item.unread {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid rgba(99, 102, 241, 0.15) !important;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.06) !important;
}

/* Unread dot instead of left border */
.necudah-notifications-page .necudah-notification-item.unread::after {
    content: '' !important;
    position: absolute !important;
    top: 18px !important;
    right: 16px !important;
    width: 8px !important;
    height: 8px !important;
    background: var(--v2-accent) !important;
    border-radius: 50% !important;
}

/* Icon — glass circle with subtle tint */
.necudah-notifications-page .necudah-notification-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
}

/* Softer icon backgrounds */
.necudah-notifications-page .necudah-notification-icon.type-group_invitation {
    background: rgba(139, 92, 246, 0.12) !important;
    color: #8b5cf6 !important;
}
.necudah-notifications-page .necudah-notification-icon.type-group_post,
.necudah-notifications-page .necudah-notification-icon.type-group_announcement,
.necudah-notifications-page .necudah-notification-icon.type-group_added {
    background: rgba(59, 130, 246, 0.12) !important;
    color: #3b82f6 !important;
}
.necudah-notifications-page .necudah-notification-icon.type-post_comment,
.necudah-notifications-page .necudah-notification-icon.type-join_request_approved {
    background: rgba(16, 185, 129, 0.12) !important;
    color: #10b981 !important;
}
.necudah-notifications-page .necudah-notification-icon.type-join_request_denied {
    background: rgba(239, 68, 68, 0.12) !important;
    color: #ef4444 !important;
}
.necudah-notifications-page .necudah-notification-icon.type-event,
.necudah-notifications-page .necudah-notification-icon.type-event_reminder,
.necudah-notifications-page .necudah-notification-icon.type-event_invitation {
    background: rgba(245, 158, 11, 0.12) !important;
    color: #f59e0b !important;
}

/* Default icon style */
.necudah-notifications-page .necudah-notification-icon {
    background: rgba(99, 102, 241, 0.12) !important;
    color: var(--v2-accent) !important;
}

/* Title */
.necudah-notifications-page .necudah-notification-title {
    color: var(--v2-text) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* Message text */
.necudah-notifications-page .necudah-notification-message {
    color: var(--v2-text-muted) !important;
    font-size: 13px !important;
}

/* Time */
.necudah-notifications-page .necudah-notification-time {
    color: var(--v2-text-hint) !important;
    font-size: 12px !important;
}

/* Action buttons */
.necudah-notifications-page .necudah-btn-view {
    background: var(--v2-accent) !important;
    color: #fff !important;
    border-radius: var(--v2-btn-radius) !important;
    font-size: 12px !important;
    padding: 5px 14px !important;
}

.necudah-notifications-page .necudah-btn-view:hover {
    opacity: 0.85 !important;
}

.necudah-notifications-page .necudah-btn-delete,
.necudah-notifications-page .necudah-notification-actions button:not(.necudah-btn-view) {
    background: transparent !important;
    color: var(--v2-text-muted) !important;
    border: none !important;
    font-size: 12px !important;
}

.necudah-notifications-page .necudah-btn-delete:hover,
.necudah-notifications-page .necudah-notification-actions button:not(.necudah-btn-view):hover {
    color: #ef4444 !important;
}

/* Mark All as Read button */
.necudah-notifications-page .necudah-mark-all-read-btn {
    background: var(--v2-accent) !important;
    border-radius: var(--v2-btn-radius) !important;
}

.necudah-notifications-page .necudah-empty-state {
    color: var(--v2-text-muted);
}

/* Notifications wrapper (legacy class) */
.necudah-notifications-wrapper,
.necudah-notifications-wrapper .necudah-card {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Directory / Members page */
.necudah-directory-wrapper,
.necudah-directory-wrapper .necudah-card {
    background: var(--v2-glass-bg) !important;
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

.necudah-member-card {
    transition: background 0.15s;
}

.necudah-member-card:hover {
    background: rgba(255, 255, 255, 0.70) !important;
}

/* Gamification cards */
.necudah-leaderboard-card,
.necudah-badges-card,
.necudah-points-card {
    background: var(--v2-glass-bg) !important;
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Dropdown menus */
.necudah-dropdown-menu {
    background: rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(24px) saturate(1.3) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.3) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.10), 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    padding: 6px !important;
    min-width: 180px !important;
}

.necudah-dropdown-menu a {
    border-radius: 8px !important;
    padding: 10px 14px !important;
    color: var(--v2-text-body) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: background 0.15s ease !important;
}

.necudah-dropdown-menu a:hover {
    background: rgba(99, 102, 241, 0.08) !important;
    color: var(--v2-accent) !important;
}

.necudah-dropdown-menu a .dashicons {
    color: var(--v2-text-muted) !important;
    margin-inline-end: 8px;
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
}

.necudah-dropdown-menu a:hover .dashicons {
    color: var(--v2-accent) !important;
}

.necudah-dropdown-menu hr {
    border: none !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    margin: 4px 8px !important;
}

/* Logout link red on hover */
.necudah-dropdown-menu a[href*="logout"]:hover,
.necudah-dropdown-menu a:last-child:hover {
    background: rgba(239, 68, 68, 0.08) !important;
    color: #ef4444 !important;
}

.necudah-dropdown-menu a[href*="logout"]:hover .dashicons,
.necudah-dropdown-menu a:last-child:hover .dashicons {
    color: #ef4444 !important;
}

/* Mobile dropdown — full width near bottom */
@media (max-width: 768px) {
    .necudah-dropdown-menu {
        position: fixed !important;
        top: auto !important;
        bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
        border-radius: 16px !important;
        padding: 8px !important;
        box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.12) !important;
    }

    .necudah-dropdown-menu a {
        padding: 14px 16px !important;
        font-size: 15px !important;
    }
}

/* Media gallery */
.necudah-gallery-card,
.necudah-album-card {
    background: var(--v2-glass-bg) !important;
    backdrop-filter: var(--v2-glass-blur);
    -webkit-backdrop-filter: var(--v2-glass-blur);
    border: 1px solid var(--v2-glass-border) !important;
    border-radius: var(--v2-glass-radius) !important;
    box-shadow: none !important;
}

/* Catch-all: any remaining .necudah-card that uses var(--necudah-bg) */
[class*="necudah-"][class*="-card"],
[class*="necudah-"][class*="-wrapper"] {
    box-shadow: none;
}

/* Instructor dashboard (LMS) */
.necudah-dashboard-wrapper {
    overflow: hidden;
}

.necudah-section-header {
    border-bottom: none;
    background: transparent !important;
}

.necudah-section-header h2 {
    border-inline-start: 3px solid var(--v2-accent);
    padding-inline-start: 12px;
}

/* Active filter tabs */
.necudah-filter-tab.active,
.necudah-status-tab.active,
.necudah-view-tab.active {
    color: var(--v2-accent) !important;
}

/* ================================================================
   FORM CONTROLS — Full glass treatment
   ================================================================ */
.necudah-form-group {
    margin-bottom: 18px;
}

.necudah-form-label {
    display: block;
    font-family: var(--v2-font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--v2-text);
    margin-bottom: 6px;
}

.necudah-form-help {
    font-size: 0.72rem;
    color: var(--v2-text-hint);
    margin-top: 4px;
}

.necudah-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.necudah-form-control,
.necudah-input,
.necudah-form-select,
select.necudah-form-control,
textarea.necudah-form-control,
input.necudah-form-control {
    width: 100%;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 10px;
    font-family: var(--v2-font-body);
    font-size: 0.85rem;
    color: var(--v2-text);
    transition: all 0.15s;
    outline: none;
}

.necudah-form-control:focus,
.necudah-input:focus,
.necudah-form-select:focus {
    border-color: var(--v2-accent) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

textarea.necudah-form-control,
.necudah-form-textarea {
    resize: vertical;
    min-height: 80px;
}

/* ================================================================
   TOGGLE — Glass style
   ================================================================ */
.necudah-toggle .necudah-toggle-slider,
.necudah-glass-toggle-track {
    background: rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    transition: background 0.2s;
}

.necudah-toggle input:checked + .necudah-toggle-slider,
.necudah-glass-toggle input:checked + .necudah-glass-toggle-track {
    background: var(--v2-accent) !important;
}

/* ================================================================
   CHECKBOX — Glass style
   ================================================================ */
.necudah-glass-checkbox-box,
.necudah-checkbox span::before {
    border-radius: 6px;
    border: 1.5px solid rgba(0, 0, 0, 0.15);
    background: rgba(255, 255, 255, 0.6);
    transition: all 0.15s;
}

.necudah-glass-checkbox input:checked + .necudah-glass-checkbox-box,
.necudah-checkbox input:checked + span::before {
    background: var(--v2-accent) !important;
    border-color: var(--v2-accent) !important;
}

/* ================================================================
   RADIO — Glass style
   ================================================================ */
.necudah-glass-radio-dot,
.necudah-radio span::before {
    border-radius: 50%;
    border: 1.5px solid rgba(0, 0, 0, 0.15);
    background: rgba(255, 255, 255, 0.6);
    transition: all 0.15s;
}

.necudah-glass-radio input:checked + .necudah-glass-radio-dot,
.necudah-radio input:checked + span::before {
    border-color: var(--v2-accent) !important;
}

/* ================================================================
   PROFILE PAGE — Glass treatment
   ================================================================ */
.necudah-profile-cover {
    border-radius: var(--v2-glass-radius) var(--v2-glass-radius) 0 0;
    overflow: hidden;
}

.necudah-profile-avatar img,
.necudah-profile-avatar-wrap img {
    border: 4px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 50%;
}

.necudah-profile-name h1,
.necudah-profile-name {
    font-family: var(--v2-font-display);
}

.necudah-profile-tabs,
.necudah-tabs-nav {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.necudah-profile-tabs .necudah-tab.active,
.necudah-tabs-nav .necudah-tab.active,
.necudah-profile-tab.active {
    color: var(--v2-accent) !important;
    border-bottom-color: var(--v2-accent) !important;
}

.necudah-about-section,
.necudah-profile-section {
    font-family: var(--v2-font-body);
}

.necudah-field-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    padding: 10px 0;
}

/* ================================================================
   GROUP CARD — Details
   ================================================================ */
.necudah-group-card-avatar {
    border: 3px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 50%;
}

.necudah-group-type,
.necudah-type-public,
.necudah-type-private,
.necudah-type-hidden {
    border-radius: 20px;
    font-family: var(--v2-font-ui);
    font-size: 0.65rem;
    font-weight: 600;
}

/* ================================================================
   CALENDAR — Glass cells
   ================================================================ */
.necudah-calendar-header {
    background: rgba(255, 255, 255, 0.35) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.necudah-calendar-day-header {
    background: rgba(255, 255, 255, 0.25) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    color: var(--v2-text-muted) !important;
}

.necudah-calendar-day {
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
}

.necudah-calendar-day--today {
    background: rgba(99, 102, 241, 0.06) !important;
}

.necudah-calendar-view-tab.active {
    background: var(--v2-accent) !important;
    color: #fff !important;
    border-color: var(--v2-accent) !important;
}

.necudah-calendar-today-btn {
    color: var(--v2-accent) !important;
}

/* ================================================================
   MESSAGES — Bubble glass
   ================================================================ */
.necudah-message-theirs .necudah-msg-bubble,
.necudah-message-theirs .necudah-message-bubble {
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 14px !important;
}

.necudah-message-mine .necudah-msg-bubble,
.necudah-message-mine .necudah-message-bubble {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    color: #fff !important;
    border-radius: 14px !important;
}

.necudah-conversation-item.active {
    background: rgba(99, 102, 241, 0.06) !important;
}

.necudah-conversation-item:hover {
    background: rgba(0, 0, 0, 0.02) !important;
}

/* ================================================================
   BUTTON — Secondary glass variant
   ================================================================ */
.necudah-btn-secondary {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    color: var(--v2-text-body) !important;
    font-family: var(--v2-font-ui);
}

.necudah-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.75) !important;
}

/* ================================================================
   LINKS — Site-wide accent
   ================================================================ */
.necudah-card-header a,
.necudah-profile-tabs a,
.necudah-tab:hover {
    color: var(--v2-accent);
}

/* ================================================================
   INSTRUCTOR DASHBOARD — Inner component overrides
   ================================================================ */

/* Dashboard wrapper typography */
.necudah-dashboard-wrapper {
    font-family: var(--v2-font-body) !important;
}

.necudah-dashboard-header h1 {
    font-family: var(--v2-font-display) !important;
    color: var(--v2-text) !important;
}

.necudah-dashboard-header h1 .dashicons {
    color: var(--v2-accent) !important;
}

.necudah-dashboard-subtitle {
    color: var(--v2-text-muted) !important;
}

/* Dashboard tabs */
.necudah-dashboard-tabs {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.necudah-tab-link {
    font-family: var(--v2-font-ui) !important;
    color: var(--v2-text-muted) !important;
}

.necudah-tab-link:hover {
    color: var(--v2-accent) !important;
}

.necudah-tab-link.active {
    color: var(--v2-accent) !important;
    border-bottom-color: var(--v2-accent) !important;
}

.necudah-tab-link.active .necudah-count-badge {
    background: rgba(99, 102, 241, 0.1) !important;
    color: var(--v2-accent) !important;
}

.necudah-count-badge {
    background: rgba(0, 0, 0, 0.04) !important;
    font-family: var(--v2-font-ui) !important;
}

/* Section header */
.necudah-section-header h2 {
    font-family: var(--v2-font-ui) !important;
    color: var(--v2-text) !important;
    border-inline-start: 3px solid var(--v2-accent);
    padding-inline-start: 12px;
}

/* Dashboard wrapper — more transparent so gradient bleeds through */
.necudah-dashboard-wrapper {
    background: rgba(255, 255, 255, 0.35) !important;
}

/* Course/Quiz cards inside dashboard — subtle glass */
.necudah-dashboard-wrapper .necudah-card {
    background: rgba(255, 255, 255, 0.30) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

.necudah-dashboard-wrapper .necudah-card:hover {
    transform: none !important;
    background: rgba(255, 255, 255, 0.45) !important;
    box-shadow: none !important;
}

.necudah-card-image {
    background: linear-gradient(135deg, rgba(99,102,241,0.1), rgba(168,85,247,0.1)) !important;
}

.necudah-card-content h3 a {
    color: var(--v2-text) !important;
}

.necudah-card-content h3 a:hover {
    color: var(--v2-accent) !important;
}

.necudah-card-meta {
    color: var(--v2-text-muted) !important;
}

/* Action buttons */
.necudah-card-actions .necudah-btn-icon,
.necudah-card-actions button {
    background: rgba(255, 255, 255, 0.5) !important;
    border: none !important;
    border-radius: 8px !important;
    color: var(--v2-text-muted) !important;
}

.necudah-card-actions .necudah-btn-icon:hover,
.necudah-card-actions button:hover {
    background: rgba(99, 102, 241, 0.1) !important;
    color: var(--v2-accent) !important;
}

/* Status badges */
.necudah-status-badge {
    border-radius: 20px !important;
    font-family: var(--v2-font-ui) !important;
}

/* Empty state */
.necudah-empty-state,
.necudah-dashboard-wrapper .necudah-empty-state {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 2px dashed rgba(0, 0, 0, 0.08) !important;
    border-radius: 16px !important;
    color: var(--v2-text-muted) !important;
}

/* Select dropdowns inside dashboard */
.necudah-dashboard-wrapper select,
.necudah-section-header select {
    background: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 10px !important;
    font-family: var(--v2-font-ui) !important;
    color: var(--v2-text-body) !important;
    padding: 8px 12px !important;
}

.necudah-empty-state h3 {
    font-family: var(--v2-font-ui) !important;
    color: var(--v2-text) !important;
}

.necudah-empty-state p {
    color: var(--v2-text-muted) !important;
}

/* Status filter tabs */
.necudah-status-tabs {
    background: rgba(255, 255, 255, 0.25) !important;
    border-radius: 10px !important;
}

.necudah-status-tabs a,
.necudah-status-tab {
    color: var(--v2-text-muted) !important;
    font-family: var(--v2-font-ui) !important;
}

.necudah-status-tabs a.active,
.necudah-status-tab.active {
    color: var(--v2-accent) !important;
}

.necudah-status-tabs a:hover {
    color: var(--v2-accent) !important;
}

.necudah-status-count {
    font-family: var(--v2-font-ui) !important;
}

/* AI Generate button */
.necudah-ai-btn {
    color: var(--v2-accent) !important;
    border-color: var(--v2-accent) !important;
}

.necudah-ai-btn:hover {
    background: rgba(99, 102, 241, 0.06) !important;
}

/* LMS Modal (AI Generator) */
.necudah-lms-modal .necudah-modal-content,
.necudah-modal .necudah-modal-content {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 16px !important;
}

.necudah-modal-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    background: transparent !important;
}

.necudah-modal-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    background: transparent !important;
}

.necudah-modal-body {
    background: transparent !important;
}

/* Step indicator in AI modal */
.necudah-step.active .necudah-step-number {
    background: var(--v2-accent) !important;
}

/* ================================================================
   AI GENERATOR MODALS — Glass treatment
   ================================================================ */

/* Modal overlay — subtle glass instead of opaque white */
#necudah-ai-course-wizard-modal .necudah-modal-overlay,
#necudah-ai-curriculum-modal .necudah-modal-overlay,
#necudah-ai-lesson-modal .necudah-modal-overlay,
#necudah-ai-topic-modal .necudah-modal-overlay,
#necudah-ai-quiz-modal .necudah-modal-overlay,
#necudah-ai-standalone-quiz-modal .necudah-modal-overlay {
    background: rgba(15, 23, 42, 0.3) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

/* Modal content — glass */
#necudah-ai-course-wizard-modal .necudah-modal-content,
#necudah-ai-curriculum-modal .necudah-modal-content,
#necudah-ai-lesson-modal .necudah-modal-content,
#necudah-ai-topic-modal .necudah-modal-content,
#necudah-ai-quiz-modal .necudah-modal-content,
#necudah-ai-standalone-quiz-modal .necudah-modal-content {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
}

/* Step indicator bar */
.necudah-ai-step-indicator {
    background: rgba(255, 255, 255, 0.5) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
}

.necudah-ai-step-number {
    background: rgba(0, 0, 0, 0.06) !important;
    color: var(--v2-text-hint) !important;
}

.necudah-ai-step.active .necudah-ai-step-number {
    background: var(--v2-accent) !important;
    color: #fff !important;
}

.necudah-ai-step.completed .necudah-ai-step-number {
    background: #10b981 !important;
    color: #fff !important;
}

.necudah-ai-step-divider {
    background: rgba(0, 0, 0, 0.06) !important;
}

.necudah-ai-step-label {
    color: var(--v2-text-hint) !important;
}

.necudah-ai-step.active .necudah-ai-step-label {
    color: var(--v2-text) !important;
}

/* Provider selector */
.necudah-ai-provider-group,
.necudah-ai-providers {
    background: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    border-radius: 12px !important;
}

/* Form fields inside AI modals */
.necudah-modal-body input[type="text"],
.necudah-modal-body input[type="number"],
.necudah-modal-body textarea,
.necudah-modal-body select {
    background: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 10px !important;
    font-family: var(--v2-font-body) !important;
}

.necudah-modal-body input[type="text"]:focus,
.necudah-modal-body textarea:focus,
.necudah-modal-body select:focus {
    border-color: var(--v2-accent) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important;
}

/* Progress bar */
.necudah-ai-progress-bar,
.necudah-ai-progress {
    background: rgba(0, 0, 0, 0.04) !important;
    border-radius: 6px !important;
}

.necudah-ai-progress-fill,
.necudah-ai-progress-bar-fill {
    background: linear-gradient(90deg, var(--v2-accent), var(--v2-accent-2)) !important;
    border-radius: 6px !important;
}

/* Preview cards */
.necudah-ai-preview-lesson,
.necudah-ai-preview-topic,
.necudah-ai-preview-card {
    background: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    border-radius: 12px !important;
}

/* Quiz preview */
.necudah-ai-quiz-preview,
.necudah-ai-quiz-section {
    background: rgba(255, 250, 235, 0.5) !important;
    border: 1px solid rgba(245, 158, 11, 0.15) !important;
    border-radius: 12px !important;
}

.necudah-ai-question-item {
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    border-radius: 10px !important;
}

/* Question distribution grid */
.necudah-question-dist-item,
.necudah-ai-question-type {
    background: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 10px !important;
}

/* Cost badge */
.necudah-ai-cost {
    background: rgba(255, 255, 255, 0.5) !important;
    border-radius: 20px !important;
}

/* Feedback textarea */
.necudah-ai-feedback-section,
.necudah-ai-refinement {
    background: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    border-radius: 12px !important;
}

/* Modal header/footer */
.necudah-modal-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    background: transparent !important;
}

.necudah-modal-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    background: transparent !important;
}

/* Generate buttons */
.necudah-ai-generate-btn,
.necudah-ai-import-btn {
    background: linear-gradient(135deg, var(--v2-accent), var(--v2-accent-2)) !important;
    border: none !important;
    border-radius: var(--v2-btn-radius, 9px) !important;
    color: #fff !important;
}

/* ===== AI MODALS — Dark Mode ===== */
[data-theme="dark"] #necudah-ai-course-wizard-modal .necudah-modal-overlay,
[data-theme="dark"] #necudah-ai-quiz-modal .necudah-modal-overlay,
[data-theme="dark"] #necudah-ai-standalone-quiz-modal .necudah-modal-overlay,
[data-theme="dark"] #necudah-ai-curriculum-modal .necudah-modal-overlay,
[data-theme="dark"] #necudah-ai-lesson-modal .necudah-modal-overlay,
[data-theme="dark"] #necudah-ai-topic-modal .necudah-modal-overlay {
    background: rgba(0, 0, 0, 0.5) !important;
}

[data-theme="dark"] #necudah-ai-course-wizard-modal .necudah-modal-content,
[data-theme="dark"] #necudah-ai-quiz-modal .necudah-modal-content,
[data-theme="dark"] #necudah-ai-standalone-quiz-modal .necudah-modal-content,
[data-theme="dark"] #necudah-ai-curriculum-modal .necudah-modal-content,
[data-theme="dark"] #necudah-ai-lesson-modal .necudah-modal-content,
[data-theme="dark"] #necudah-ai-topic-modal .necudah-modal-content {
    background: rgba(15, 23, 42, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-ai-step-indicator {
    background: rgba(255, 255, 255, 0.03) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-ai-step-number {
    background: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-ai-provider-group,
[data-theme="dark"] .necudah-ai-providers {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-modal-body input[type="text"],
[data-theme="dark"] .necudah-modal-body input[type="number"],
[data-theme="dark"] .necudah-modal-body textarea,
[data-theme="dark"] .necudah-modal-body select {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-ai-preview-lesson,
[data-theme="dark"] .necudah-ai-preview-topic,
[data-theme="dark"] .necudah-ai-preview-card,
[data-theme="dark"] .necudah-ai-question-item,
[data-theme="dark"] .necudah-question-dist-item,
[data-theme="dark"] .necudah-ai-question-type {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-ai-quiz-preview,
[data-theme="dark"] .necudah-ai-quiz-section {
    background: rgba(245, 158, 11, 0.08) !important;
    border-color: rgba(245, 158, 11, 0.15) !important;
}

[data-theme="dark"] .necudah-ai-feedback-section,
[data-theme="dark"] .necudah-ai-refinement {
    background: rgba(255, 255, 255, 0.03) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-ai-cost {
    background: rgba(255, 255, 255, 0.06) !important;
}

/* ================================================================
   AVATAR DROPDOWN — Glass redesign (no purple header)
   ================================================================ */

/* Panel — glass */
.necudah-dropdown-panel {
    background: rgba(255, 255, 255, 0.80) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
}

/* Header — kill purple gradient, make it a simple glass row */
.necudah-dropdown-header {
    background: transparent !important;
    color: var(--v2-text) !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.necudah-dropdown-name {
    color: var(--v2-text) !important;
    font-size: 0.88rem !important;
}

.necudah-dropdown-role,
.necudah-dropdown-email {
    color: var(--v2-text-muted) !important;
    opacity: 1 !important;
}

.necudah-dropdown-avatar {
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
}

/* Stats row */
.necudah-dropdown-stats {
    border-color: rgba(0, 0, 0, 0.06) !important;
}

.necudah-stat-item {
    color: var(--v2-text-muted) !important;
}

.necudah-stat-item:hover {
    background: rgba(0, 0, 0, 0.03) !important;
}

.necudah-stat-item:not(:last-child) {
    border-color: rgba(0, 0, 0, 0.06) !important;
}

/* Nav links */
.necudah-dropdown-nav a {
    color: var(--v2-text-body) !important;
    font-family: var(--v2-font-ui);
    font-size: 0.82rem;
}

.necudah-dropdown-nav a:hover {
    background: rgba(0, 0, 0, 0.03) !important;
    color: var(--v2-accent) !important;
}

.necudah-dropdown-nav a:hover .dashicons {
    color: var(--v2-accent) !important;
}

/* Footer */
.necudah-dropdown-footer {
    background: transparent !important;
    border-color: rgba(0, 0, 0, 0.06) !important;
}

.necudah-dropdown-link {
    background: rgba(255, 255, 255, 0.5) !important;
    border-color: rgba(0, 0, 0, 0.06) !important;
    color: var(--v2-text-muted) !important;
    font-family: var(--v2-font-ui);
}

.necudah-dropdown-link:hover {
    color: var(--v2-accent) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

.necudah-dropdown-link.necudah-logout:hover {
    color: #ef4444 !important;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
/* ================================================================
   DARK MODE — V2 Glass Dark Theme
   ================================================================ */
[data-theme="dark"] {
    --v2-text: #f1f5f9;
    --v2-text-body: #e2e8f0;
    --v2-text-muted: #94a3b8;
    --v2-text-hint: #64748b;
    --v2-glass-bg: rgba(15, 23, 42, 0.55);
    --v2-glass-border: rgba(255, 255, 255, 0.08);
    --v2-divider: rgba(255, 255, 255, 0.06);
    --v2-divider-light: rgba(255, 255, 255, 0.04);
}

/* Dark body gradient */
[data-theme="dark"] body,
[data-theme="dark"] body.home,
[data-theme="dark"] body.page,
[data-theme="dark"] body.single,
[data-theme="dark"] body.archive,
[data-theme="dark"] body.logged-in {
    background-color: transparent !important;
    background-image: linear-gradient(135deg, #0f172a 0%, #1a1035 35%, #1f0a2e 65%, #1a0f0a 100%) !important;
}

/* Dark glass cards */
[data-theme="dark"] .necudah-card:not(.type-page):not(.hentry):not(.status-publish),
[data-theme="dark"] .necudah-home__card,
[data-theme="dark"] .necudah-home__stat-pill,
[data-theme="dark"] .necudah-home__link-card,
[data-theme="dark"] .necudah-home__continue,
[data-theme="dark"] .necudah-group-card,
[data-theme="dark"] .necudah-member-card,
[data-theme="dark"] .necudah-event-card,
[data-theme="dark"] .necudah-post-card,
[data-theme="dark"] .necudah-calendar,
[data-theme="dark"] .necudah-inbox,
[data-theme="dark"] .necudah-inbox-content,
[data-theme="dark"] .necudah-messages-wrapper,
[data-theme="dark"] .necudah-dashboard-wrapper,
[data-theme="dark"] .lms-course-card,
[data-theme="dark"] .lms-section.card,
[data-theme="dark"] .lms-sidebar-card,
[data-theme="dark"] .lms-quiz-section,
[data-theme="dark"] .lms-quiz-section.card,
[data-theme="dark"] .lms-quiz-container,
[data-theme="dark"] .lms-quiz-result,
[data-theme="dark"] .lms-lesson-sidebar,
[data-theme="dark"] .lms-course-sidebar {
    background: rgba(15, 23, 42, 0.55) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Dark LMS quiz options */
[data-theme="dark"] .lms-option {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .lms-option:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .lms-option.selected {
    background: rgba(99, 102, 241, 0.12) !important;
    border-color: var(--v2-accent) !important;
}

/* Dark quiz header and topbar */
[data-theme="dark"] .lms-quiz-header,
[data-theme="dark"] .lms-lesson-topbar {
    background: rgba(15, 23, 42, 0.40) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Dark lesson nav cards */
[data-theme="dark"] .lms-lesson-nav a,
[data-theme="dark"] .lms-child-item,
[data-theme="dark"] .lms-curriculum-lesson,
[data-theme="dark"] .lms-curriculum-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .lms-lesson-nav a:hover,
[data-theme="dark"] .lms-child-item:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}

/* Dark completion note */
[data-theme="dark"] .lms-completion-note,
[data-theme="dark"] .lms-drip-locked {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Dark question nav dots */
[data-theme="dark"] .lms-question-nav .lms-nav-btn {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Dark quiz player */
[data-theme="dark"] .lms-question,
[data-theme="dark"] .lms-quiz-title-header,
[data-theme="dark"] .lms-quiz-result {
    background: rgba(15, 23, 42, 0.55) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .lms-quiz-info,
[data-theme="dark"] .lms-question-nav {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Dark quiz review */
/* Dark review question cards — tinted per status */
[data-theme="dark"] .lms-review-question {
    background: rgba(15, 23, 42, 0.50) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .lms-review-question.lms-review-correct {
    background: rgba(16, 185, 129, 0.06) !important;
    border-color: rgba(16, 185, 129, 0.15) !important;
}

[data-theme="dark"] .lms-review-question.lms-review-incorrect {
    background: rgba(239, 68, 68, 0.06) !important;
    border-color: rgba(239, 68, 68, 0.15) !important;
}

[data-theme="dark"] .lms-review-question.lms-review-pending {
    background: rgba(245, 158, 11, 0.06) !important;
    border-color: rgba(245, 158, 11, 0.15) !important;
}

[data-theme="dark"] .lms-review-student-answer {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .lms-review-correct-answer {
    background: rgba(16, 185, 129, 0.10) !important;
    border-color: rgba(16, 185, 129, 0.2) !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] .lms-review-pending-note {
    background: rgba(245, 158, 11, 0.10) !important;
    border-color: rgba(245, 158, 11, 0.2) !important;
    color: #fbbf24 !important;
}

[data-theme="dark"] .lms-review-explanation {
    background: rgba(139, 92, 246, 0.08) !important;
    border-color: rgba(139, 92, 246, 0.15) !important;
}

[data-theme="dark"] .lms-review-question-text {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .lms-review-number {
    color: #94a3b8 !important;
}

/* Dark alerts */
[data-theme="dark"] .alert-success {
    background: rgba(16, 185, 129, 0.10) !important;
    color: #6ee7b7 !important;
    border-color: rgba(16, 185, 129, 0.2) !important;
}

[data-theme="dark"] .alert-danger {
    background: rgba(239, 68, 68, 0.10) !important;
    color: #fca5a5 !important;
    border-color: rgba(239, 68, 68, 0.2) !important;
}

[data-theme="dark"] .alert-warning {
    background: rgba(245, 158, 11, 0.10) !important;
    color: #fbbf24 !important;
    border-color: rgba(245, 158, 11, 0.2) !important;
}

/* Dark lighter glass */
[data-theme="dark"] .necudah-dashboard-wrapper .necudah-card,
[data-theme="dark"] .necudah-empty-state {
    background: rgba(15, 23, 42, 0.45) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Dark modals */
[data-theme="dark"] .necudah-modal-content,
[data-theme="dark"] .necudah-edit-event-modal,
[data-theme="dark"] .necudah-dropdown-panel,
[data-theme="dark"] .necudah-dropdown-menu,
[data-theme="dark"] .necudah-event-popover-inner {
    background: rgba(15, 23, 42, 0.90) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Dark dropdown */
[data-theme="dark"] .necudah-dropdown-header {
    background: transparent !important;
}

[data-theme="dark"] .necudah-dropdown-link {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
    color: var(--v2-text-muted) !important;
}

[data-theme="dark"] .necudah-dropdown-footer {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Dark text */
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .necudah-dashboard-header h1 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .necudah-dashboard-subtitle,
[data-theme="dark"] .necudah-tab-link {
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-section-header h2,
[data-theme="dark"] .necudah-empty-state h3 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .necudah-empty-state p,
[data-theme="dark"] .necudah-card-meta {
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-card-content h3 a {
    color: #e2e8f0 !important;
}

/* Dark form controls */
[data-theme="dark"] .necudah-form-control,
[data-theme="dark"] .necudah-input,
[data-theme="dark"] .necudah-form-select,
[data-theme="dark"] input.necudah-form-control,
[data-theme="dark"] select.necudah-form-control,
[data-theme="dark"] textarea.necudah-form-control {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

/* Dark buttons */
[data-theme="dark"] .necudah-btn-secondary,
[data-theme="dark"] .necudah-btn-outline {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-btn-secondary:hover,
[data-theme="dark"] .necudah-btn-outline:hover {
    background: rgba(255, 255, 255, 0.1) !important;
}

/* Dark toggles/checkboxes */
[data-theme="dark"] .necudah-toggle .necudah-toggle-slider,
[data-theme="dark"] .necudah-glass-toggle-track {
    background: rgba(255, 255, 255, 0.12) !important;
}

/* Dark borders */
[data-theme="dark"] .necudah-dashboard-tabs,
[data-theme="dark"] .necudah-dropdown-stats,
[data-theme="dark"] .necudah-modal-header,
[data-theme="dark"] .necudah-modal-footer,
[data-theme="dark"] .necudah-card-header,
[data-theme="dark"] .necudah-home__card-header,
[data-theme="dark"] .necudah-profile-tabs,
[data-theme="dark"] .necudah-tabs-nav {
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Dark attention bars */
[data-theme="dark"] .necudah-home__attention {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(245, 158, 11, 0.2) !important;
}

[data-theme="dark"] .necudah-home__attention--success {
    background: rgba(16, 185, 129, 0.12) !important;
    border-color: rgba(16, 185, 129, 0.2) !important;
}

/* Dark messages page */
[data-theme="dark"] .necudah-messages-page .necudah-messages-container {
    background: rgba(15, 23, 42, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-messages-page .necudah-conversations-sidebar {
    background: rgba(15, 23, 42, 0.40) !important;
    border-right-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-messages-page .necudah-conversations-header,
[data-theme="dark"] .necudah-messages-page .necudah-conversation-header {
    background: rgba(15, 23, 42, 0.50) !important;
    border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-messages-page .necudah-message-form,
[data-theme="dark"] .necudah-messages-page .necudah-message-input-area {
    background: rgba(15, 23, 42, 0.40) !important;
    border-top-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-messages-page .necudah-conversation-item.active {
    background: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-message-theirs .necudah-msg-bubble {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

/* Dark notifications page */
[data-theme="dark"] .necudah-notifications-page .necudah-page-header,
[data-theme="dark"] .necudah-notifications-page .necudah-card {
    background: rgba(15, 23, 42, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-notifications-page .necudah-tabs {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-notifications-page .necudah-tab {
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-notifications-page .necudah-tab.active {
    color: #818cf8 !important;
    border-bottom-color: #818cf8 !important;
}

[data-theme="dark"] .necudah-notifications-page .necudah-notification-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-notifications-page .necudah-notification-item:hover {
    background: rgba(255, 255, 255, 0.07) !important;
}

[data-theme="dark"] .necudah-notifications-page .necudah-notification-item.unread {
    background: rgba(99, 102, 241, 0.06) !important;
    border-color: rgba(99, 102, 241, 0.12) !important;
}

[data-theme="dark"] .necudah-notifications-page .necudah-notification-title {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-notifications-page .necudah-notification-message {
    color: #94a3b8 !important;
}

/* Dark calendar */
[data-theme="dark"] .necudah-calendar-header,
[data-theme="dark"] .necudah-calendar-day-header {
    background: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .necudah-calendar-day {
    border-color: rgba(255, 255, 255, 0.04) !important;
}

/* Dark seal badge */
[data-theme="dark"] .necudah-seal-badge .badge-pill {
    background: rgba(15, 23, 42, 0.6) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e8f0 !important;
}

/* Dark nav links */
[data-theme="dark"] .necudah-dropdown-nav a {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-dropdown-nav a:hover {
    background: rgba(255, 255, 255, 0.04) !important;
}

/* Dark action buttons */
[data-theme="dark"] .necudah-card-actions .necudah-btn-icon,
[data-theme="dark"] .necudah-card-actions button {
    background: rgba(255, 255, 255, 0.04) !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-card-actions .necudah-btn-icon:hover,
[data-theme="dark"] .necudah-card-actions button:hover {
    background: rgba(99, 102, 241, 0.15) !important;
}

/* Dark section headers and status tabs inside dashboard */
[data-theme="dark"] .necudah-section-header {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-section-header h2 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .necudah-status-tabs {
    background: transparent !important;
}

[data-theme="dark"] .necudah-status-tabs a {
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-status-tabs a.active {
    color: var(--v2-accent) !important;
}

[data-theme="dark"] .necudah-status-count {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-tab-content {
    background: transparent !important;
}

/* Dark select dropdowns in dashboard */
[data-theme="dark"] .necudah-dashboard-wrapper select,
[data-theme="dark"] .necudah-tab-content select {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

/* Dark sub-section headers (Pending Essay Reviews, Recent Quiz Attempts) */
[data-theme="dark"] .necudah-sub-header,
[data-theme="dark"] .necudah-reviews-section h3,
[data-theme="dark"] .necudah-tab-content h3 {
    color: #f1f5f9 !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Dark AI button */
[data-theme="dark"] .necudah-ai-btn {
    color: var(--v2-accent) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .necudah-btn-outline-secondary,
[data-theme="dark"] .necudah-btn-outline-primary {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

/* Dark page wrappers stay transparent */
[data-theme="dark"] article.necudah-card.type-page,
[data-theme="dark"] article.necudah-card.hentry,
[data-theme="dark"] article.necudah-card.status-publish,
[data-theme="dark"] #main, [data-theme="dark"] .site-main,
[data-theme="dark"] .entry-content, [data-theme="dark"] .content-area {
    background: transparent !important;
}

/* ================================================================
   RESPONSIVE — V2 Mobile Glass
   ================================================================ */

/* ---- 768px (Tablet) ---- */
@media (max-width: 768px) {

    .necudah-card {
        border-radius: 12px;
    }

    /* Fix floating header cut-off on mobile */
    .necudah-frontend-header.necudah-header-floating {
        min-width: auto !important;
        width: calc(100% - 32px) !important;
        max-width: none !important;
        left: 16px !important;
        right: 16px !important;
        transform: none !important;
        padding: 0 14px !important;
        height: 52px !important;
    }

    /* Hide nav menu on mobile (bottom bar handles it) */
    .necudah-frontend-header .necudah-header-center,
    .necudah-frontend-header .necudah-header-nav {
        display: none !important;
    }

    /* Bottom navigation bar — V2 glass */
    .necudah-bottom-bar {
        background: rgba(255, 255, 255, 0.65) !important;
        backdrop-filter: blur(16px) saturate(1.3) !important;
        -webkit-backdrop-filter: blur(16px) saturate(1.3) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.7) !important;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.04) !important;
    }

    .necudah-bottom-bar__tab {
        color: var(--v2-text-muted) !important;
    }

    .necudah-bottom-bar__tab--active {
        color: var(--v2-accent) !important;
    }

    .necudah-bottom-bar__tab--active::before {
        background: var(--v2-accent) !important;
    }

    /* Dark mode bottom bar */
    [data-theme="dark"] .necudah-bottom-bar {
        background: rgba(15, 23, 42, 0.75) !important;
        border-top-color: rgba(255, 255, 255, 0.06) !important;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3) !important;
    }

    [data-theme="dark"] .necudah-bottom-bar__tab {
        color: #64748b !important;
    }

    [data-theme="dark"] .necudah-bottom-bar__tab--active {
        color: #818cf8 !important;
    }

    /* Avatar dropdown — mobile: drop below header, full width */
    .necudah-avatar-dropdown {
        position: static !important;
    }

    .necudah-dropdown-panel {
        position: absolute !important;
        top: 100% !important;
        bottom: auto !important;
        left: 0 !important;
        right: 0 !important;
        min-width: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-top: 8px !important;
        border-radius: 0 0 16px 16px !important;
        max-height: calc(100vh - 80px) !important;
        overflow-y: auto !important;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
    }

    .necudah-dropdown-panel .necudah-dropdown-nav a {
        padding: 13px 16px !important;
        font-size: 15px !important;
    }

    .necudah-dropdown-panel .necudah-dropdown-footer .necudah-dropdown-link {
        padding: 12px !important;
        font-size: 14px !important;
    }

    /* Small dropdown menu (non-avatar) — stay near trigger */
    .necudah-dropdown-menu {
        max-width: calc(100vw - 24px) !important;
        right: 8px !important;
    }

    /* Reduce card padding on mobile */
    .necudah-home__card {
        padding: 16px !important;
    }

    .necudah-home__stat-pill {
        padding: 10px 14px !important;
        font-size: 13px !important;
    }

    /* Stack stat pills on narrow screens */
    .necudah-home__stats-row {
        flex-wrap: wrap !important;
    }

    /* Footer thinner on mobile */
    .site-footer,
    #colophon.site-footer {
        padding: 12px 0 !important;
        font-size: 12px !important;
    }
}

/* ---- 640px (Small screens) ---- */
@media (max-width: 640px) {

    /* Compact floating header */
    .necudah-frontend-header.necudah-header-floating {
        height: 48px !important;
        padding: 0 12px !important;
        top: 8px !important;
        width: calc(100% - 24px) !important;
        left: 12px !important;
    }

    .necudah-frontend-header.necudah-header-floating .necudah-header-logo img {
        max-height: 28px !important;
    }

    /* Glass cards tighter */
    .necudah-card,
    .necudah-group-card,
    .necudah-member-card,
    .necudah-event-card {
        border-radius: 12px !important;
    }

    /* Messages full-width on mobile */
    .necudah-messages-page .necudah-messages-container {
        border-radius: 0 !important;
        border: none !important;
    }
}

/* ---- 480px (iPhone) ---- */
@media (max-width: 480px) {

    /* Header even more compact */
    .necudah-frontend-header.necudah-header-floating {
        height: 44px !important;
        border-radius: 30px !important;
    }

    /* Quick links 2-column grid */
    .necudah-home__links {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Full-width buttons */
    .necudah-btn-primary,
    .necudah-btn-secondary {
        width: 100% !important;
    }
}

/* ================================================================
   KILL PAGE-LEVEL WRAPPERS — Must be LAST to win specificity
   WordPress themes wrap page content in article.necudah-card
   which should NOT get glass treatment.
   ================================================================ */
body article.necudah-card.type-page,
body article.necudah-card.hentry,
body article.necudah-card.status-publish,
body article.necudah-card.post,
body .necudah-card.type-page,
body .necudah-card.hentry,
body article.post.type-page,
article.necudah-card.page {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
}


/* ========================================
   LMS COURSE EDITOR — Glass Treatment
   ======================================== */

/* Editor header bar */
.necudah-editor-header {
    background: rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04) !important;
}

/* Tab navigation */
.necudah-editor-tabs {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03) !important;
}

/* Tab content panels */
.necudah-editor-tab-content {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Course builder wrapper — transparent so gradient shows */
.necudah-course-builder-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Builder toolbar (Add Section, Add Lesson, etc.) */
.necudah-builder-toolbar {
    background: rgba(255, 255, 255, 0.60) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03) !important;
}

/* Builder sections */
.necudah-builder-section {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04) !important;
}

/* Builder items — every type */
.necudah-builder-item,
.necudah-builder-lesson,
.necudah-builder-topic,
.necudah-builder-quiz,
.necudah-builder-lesson-header,
.necudah-builder-nested-actions {
    background: rgba(255, 255, 255, 0.60) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.03) !important;
}

/* Section headers */
.necudah-builder-section-header {
    background: rgba(255, 255, 255, 0.40) !important;
    border-radius: 14px 14px 0 0 !important;
}

/* Empty state */
.necudah-builder-empty {
    background: rgba(255, 255, 255, 0.30) !important;
    border: 2px dashed rgba(255, 255, 255, 0.60) !important;
    border-radius: 12px !important;
}

/* Form controls inside editor */
.necudah-editor-wrapper .necudah-form-control,
.necudah-editor-wrapper input[type="text"],
.necudah-editor-wrapper input[type="number"],
.necudah-editor-wrapper input[type="datetime-local"],
.necudah-editor-wrapper textarea,
.necudah-editor-wrapper select {
    background: rgba(255, 255, 255, 0.65) !important;
    border: 1px solid rgba(200, 210, 230, 0.60) !important;
    border-radius: 10px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.necudah-editor-wrapper .necudah-form-control:focus,
.necudah-editor-wrapper input:focus,
.necudah-editor-wrapper textarea:focus,
.necudah-editor-wrapper select:focus {
    background: rgba(255, 255, 255, 0.70) !important;
    border-color: var(--v2-accent, #6366f1) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
}

/* Quill editor */
.necudah-quill-wrapper {
    background: rgba(255, 255, 255, 0.50) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 10px !important;
    overflow: hidden;
}

.necudah-quill-wrapper .ql-toolbar {
    background: rgba(255, 255, 255, 0.40) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.70) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

.necudah-quill-wrapper .ql-container {
    background: transparent !important;
    border: none !important;
}

/* Settings accordion panels */
.necudah-settings-section,
.necudah-settings-panel,
.necudah-accordion-panel,
.necudah-settings-section-header,
.necudah-settings-section-content,
.necudah-editor-wrapper [class*="settings-section"],
.necudah-editor-wrapper [class*="accordion"] {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03) !important;
}

/* Editor panel cards (General, Students tab wrappers) */
.necudah-editor-panel-card {
    background: rgba(255, 255, 255, 0.60) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04) !important;
    padding: 28px;
}

/* Modal content in editor */
.necudah-modal-content {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 16px !important;
}

/* Slide-in editor panel (Edit Topic / Lesson / Quiz quick edit) */
.necudah-editor-panel-content {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.necudah-editor-panel-header {
    background: rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.necudah-editor-panel-title {
    color: var(--v2-text) !important;
}

.necudah-editor-panel-actions button {
    background: rgba(0, 0, 0, 0.06) !important;
    color: var(--v2-text-muted) !important;
}

.necudah-editor-panel-actions button:hover {
    background: rgba(0, 0, 0, 0.10) !important;
    color: var(--v2-text) !important;
}

.necudah-editor-panel-body {
    background: transparent !important;
}

.necudah-editor-panel-form,
.necudah-editor-panel-form #panel-item-content-editor {
    background: rgba(255, 255, 255, 0.40) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 10px !important;
}

.necudah-editor-panel-form .necudah-form-control {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 8px !important;
}

.necudah-editor-panel-form .necudah-form-control:focus {
    border-color: var(--v2-accent) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12) !important;
}

.necudah-editor-panel-form .ql-toolbar.ql-snow {
    background: rgba(255, 255, 255, 0.50) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    border-radius: 10px 10px 0 0 !important;
}

.necudah-editor-panel-form .ql-container.ql-snow {
    background: rgba(255, 255, 255, 0.40) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    border-radius: 0 0 10px 10px !important;
}

.necudah-editor-panel-footer {
    background: rgba(255, 255, 255, 0.40) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.necudah-editor-panel-overlay {
    background: rgba(0, 0, 0, 0.25) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
}

/* Question items in quiz editor */
.necudah-question-item,
.necudah-ordering-item,
.necudah-option-item {
    background: rgba(255, 255, 255, 0.50) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 10px !important;
}

/* Export dropdown */
.necudah-export-menu {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.90) !important;
    border-radius: 12px !important;
}

/* Secondary/outline buttons in editor */
.necudah-btn-secondary {
    background: rgba(255, 255, 255, 0.50) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
}

/* Icon buttons (edit, delete, move) */
.necudah-btn-icon {
    background: rgba(255, 255, 255, 0.40) !important;
    border: 1px solid rgba(255, 255, 255, 0.70) !important;
    border-radius: 8px !important;
}

/* Buttons — accent color */
.necudah-editor-wrapper .necudah-btn-primary {
    background: var(--v2-accent, #6366f1) !important;
    border-color: var(--v2-accent, #6366f1) !important;
    color: #fff !important;
    border-radius: 10px !important;
}

.necudah-editor-wrapper .necudah-btn-outline-secondary {
    background: rgba(255, 255, 255, 0.50) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 10px !important;
}

.necudah-editor-wrapper .necudah-btn-outline-secondary:hover {
    background: rgba(255, 255, 255, 0.70) !important;
}

/* Status badges */
.necudah-editor-wrapper .necudah-status-badge {
    border-radius: 8px !important;
}

/* Media upload area */
.necudah-media-upload,
.necudah-import-dropzone {
    background: rgba(255, 255, 255, 0.35) !important;
    border: 2px dashed rgba(255, 255, 255, 0.60) !important;
    border-radius: 12px !important;
}

/* ========================================
   LMS COURSE EDITOR — Dark Mode
   ======================================== */

[data-theme="dark"] .necudah-editor-header {
    background: rgba(30, 30, 50, 0.70) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-editor-tabs {
    background: rgba(30, 30, 50, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-editor-tab-content {
    background: rgba(30, 30, 50, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-builder-toolbar {
    background: rgba(30, 30, 50, 0.50) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-builder-section {
    background: rgba(30, 30, 50, 0.50) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-builder-item,
[data-theme="dark"] .necudah-builder-lesson,
[data-theme="dark"] .necudah-builder-topic,
[data-theme="dark"] .necudah-builder-quiz,
[data-theme="dark"] .necudah-builder-lesson-header,
[data-theme="dark"] .necudah-builder-nested-actions {
    background: rgba(30, 30, 50, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-builder-section-header {
    background: rgba(30, 30, 50, 0.40) !important;
}

[data-theme="dark"] .necudah-builder-empty {
    background: rgba(30, 30, 50, 0.30) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

[data-theme="dark"] .necudah-editor-wrapper .necudah-form-control,
[data-theme="dark"] .necudah-editor-wrapper input[type="text"],
[data-theme="dark"] .necudah-editor-wrapper input[type="number"],
[data-theme="dark"] .necudah-editor-wrapper textarea,
[data-theme="dark"] .necudah-editor-wrapper select {
    background: rgba(30, 30, 50, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-quill-wrapper {
    background: rgba(30, 30, 50, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-quill-wrapper .ql-toolbar {
    background: rgba(30, 30, 50, 0.40) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-quill-wrapper .ql-editor {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-settings-section,
[data-theme="dark"] .necudah-settings-panel,
[data-theme="dark"] .necudah-accordion-panel,
[data-theme="dark"] .necudah-settings-section-header,
[data-theme="dark"] .necudah-settings-section-content,
[data-theme="dark"] .necudah-editor-wrapper [class*="settings-section"],
[data-theme="dark"] .necudah-editor-wrapper [class*="accordion"] {
    background: rgba(30, 30, 50, 0.50) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-editor-panel-card {
    background: rgba(30, 30, 50, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-modal-content {
    background: rgba(30, 30, 50, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
}

/* Dark slide-in editor panel */
[data-theme="dark"] .necudah-editor-panel-content {
    background: rgba(15, 23, 42, 0.90) !important;
    border-left-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-editor-panel-header {
    background: rgba(255, 255, 255, 0.04) !important;
    border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .necudah-editor-panel-title {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-editor-panel-actions button {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-editor-panel-form,
[data-theme="dark"] .necudah-editor-panel-form #panel-item-content-editor {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-editor-panel-form .necudah-form-control {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-editor-panel-form .ql-toolbar.ql-snow,
[data-theme="dark"] .necudah-editor-panel-form .ql-container.ql-snow {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .necudah-editor-panel-footer {
    background: rgba(255, 255, 255, 0.04) !important;
    border-top-color: rgba(255, 255, 255, 0.06) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-question-item,
[data-theme="dark"] .necudah-ordering-item,
[data-theme="dark"] .necudah-option-item {
    background: rgba(30, 30, 50, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-export-menu {
    background: rgba(30, 30, 50, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
}

[data-theme="dark"] .necudah-editor-wrapper .necudah-btn-outline-secondary,
[data-theme="dark"] .necudah-btn-secondary {
    background: rgba(30, 30, 50, 0.60) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .necudah-btn-icon {
    background: rgba(30, 30, 50, 0.50) !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-course-builder-wrapper {
    background: transparent !important;
}

[data-theme="dark"] .necudah-editor-wrapper .necudah-back-link {
    color: #94a3b8 !important;
}

[data-theme="dark"] .necudah-editor-wrapper .necudah-back-link:hover {
    color: var(--v2-accent, #818cf8) !important;
}

[data-theme="dark"] .necudah-editor-wrapper label,
[data-theme="dark"] .necudah-editor-wrapper h2,
[data-theme="dark"] .necudah-editor-wrapper h3,
[data-theme="dark"] .necudah-editor-wrapper h4,
[data-theme="dark"] .necudah-editor-wrapper .necudah-form-help {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .necudah-editor-title-input {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .necudah-editor-title-input::placeholder {
    color: #64748b !important;
}

[data-theme="dark"] .necudah-media-upload,
[data-theme="dark"] .necudah-import-dropzone {
    background: rgba(30, 30, 50, 0.30) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

/* ================================================================
   V2 HEADER — GLASS VARIANTS
   ================================================================ */

/* Base V2 header — shared glass foundation */
.necudah-v2-header {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

/* Glass Bar — full-width frosted bar, gradient bleeds through */
.necudah-v2-header--glass {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    height: var(--necudah-header-height, 80px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.7) !important;
}

/* Glass Floating — rounded pill with margin */
.necudah-v2-header--glass-floating {
    position: sticky !important;
    top: 12px !important;
    z-index: 1000 !important;
    margin: 12px 24px 0 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06) !important;
    height: auto !important;
    padding: 8px 12px !important;
}

/* Glass Compact — slim floating pill */
.necudah-v2-header--glass-compact {
    position: sticky !important;
    top: 8px !important;
    z-index: 1000 !important;
    margin: 8px 32px 0 !important;
    border-radius: 50px !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
    height: auto !important;
    padding: 6px 20px !important;
    background: rgba(255, 255, 255, 0.65) !important;
}

/* Floating/compact inner container adjustments */
.necudah-v2-header--glass-floating .necudah-header-container,
.necudah-v2-header--glass-compact .necudah-header-container {
    padding: 0 !important;
}

/* Compact — smaller elements */
.necudah-v2-header--glass-compact .necudah-header-logo img {
    max-height: 32px !important;
}

.necudah-v2-header--glass-compact .necudah-header-nav a {
    font-size: 13px !important;
    padding: 4px 10px !important;
}

/* V2 header — dark mode */
[data-theme="dark"] .necudah-v2-header {
    background: rgba(15, 23, 42, 0.75) !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .necudah-v2-header--glass-floating,
[data-theme="dark"] .necudah-v2-header--glass-compact {
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
}

/* Body padding for floating headers to prevent content overlap */
.necudah-has-v2-header.necudah-has-floating-header {
    padding-top: 0 !important;
}

/* ================================================================
   V2 FOOTER — MINIMAL GLASS STRIP
   ================================================================ */
.site-footer,
#colophon.site-footer {
    background: rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-bottom: none !important;
    padding: 16px 0 !important;
    font-size: 13px !important;
    color: var(--v2-text-muted) !important;
}

.site-footer .site-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.site-footer a {
    color: var(--v2-accent) !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.site-footer a:hover {
    opacity: 0.7;
}

/* Dark mode footer */
[data-theme="dark"] .site-footer,
[data-theme="dark"] #colophon.site-footer {
    background: rgba(15, 23, 42, 0.50) !important;
    border-top-color: rgba(255, 255, 255, 0.06) !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .site-footer a {
    color: #818cf8 !important;
}
