/* KGE Tutor Safe Resizable Sidebar v2.4 */

.kge-sidebar-resize-handle {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 14px;
    z-index: 9999;
    cursor: col-resize;
    touch-action: none;
    background: transparent;
}

.kge-sidebar-resize-handle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 6px;
    width: 2px;
    height: 58px;
    transform: translateY(-50%);
    border-radius: 999px;
    background: rgba(229, 201, 141, .35);
    transition: background .15s ease, width .15s ease;
}

.kge-sidebar-resize-handle:hover::after,
.kge-sidebar-resize-handle.kge-is-dragging::after,
.kge-sidebar-resize-handle:focus-visible::after {
    width: 3px;
    background: #c5a059;
}

.kge-sidebar-resize-handle:focus-visible {
    outline: 2px solid #e5c98d;
    outline-offset: -2px;
}

body.single-lesson .tutor-learning-sidebar .tutor-learning-nav-item-title,
body.single-lesson .tutor-learning-sidebar .tutor-learning-nav-body a,
body.single-tutor_quiz .tutor-learning-sidebar .tutor-learning-nav-item-title,
body.single-tutor_quiz .tutor-learning-sidebar .tutor-learning-nav-body a {
    max-width: none !important;
}


/* v2.4.2.7: keep the resize target inside the visible sidebar edge so
   Tutor overflow/clipping cannot hide the draggable area. */
@media (min-width: 1100px) {
    .tutor-learning-sidebar.kge-resizable-ready {
        --kge-resize-handle-width: 14px;
    }

    .tutor-learning-sidebar.kge-resizable-ready > .kge-sidebar-resize-handle {
        display: block !important;
        pointer-events: auto !important;
        user-select: none !important;
        -webkit-user-select: none !important;
    }
}

@media (max-width: 1099px) {
    .kge-sidebar-resize-handle {
        display: none !important;
    }
}


/* KGE lesson/topic heading — slightly larger for clearer hierarchy */
body.single-lesson .tutor-learning-sidebar .tutor-learning-nav-topic-title,
body.single-tutor_quiz .tutor-learning-sidebar .tutor-learning-nav-topic-title {
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}


/* ---------------------------------------------------------
   KGE learning header controls
   --------------------------------------------------------- */

/* Keep Tutor's course/sidebar toggle clearly visible before hover. */
.tutor-learning-header .kge-course-menu-toggle {
    color: #C5A059 !important;
    border-color: rgba(197, 160, 89, .72) !important;
    background: rgba(197, 160, 89, .06) !important;
}

.tutor-learning-header .kge-course-menu-toggle:hover,
.tutor-learning-header .kge-course-menu-toggle:focus-visible {
    color: #E5C98D !important;
    border-color: #C5A059 !important;
    background: rgba(197, 160, 89, .14) !important;
}

/* Tutor icon fonts normally inherit currentColor. Force the hamburger
   glyph to remain visible in case Tutor assigns its own icon colour. */
.tutor-learning-header .kge-course-menu-toggle i,
.tutor-learning-header .kge-course-menu-toggle i::before,
.tutor-learning-header .kge-course-menu-toggle [class*="tutor-icon"],
.tutor-learning-header .kge-course-menu-toggle [class*="tutor-icon"]::before {
    color: currentColor !important;
}

/* SVG fallback for versions/themes that render the menu icon as SVG. */
.tutor-learning-header .kge-course-menu-toggle svg {
    color: currentColor !important;
}

.tutor-learning-header .kge-course-menu-toggle svg line,
.tutor-learning-header .kge-course-menu-toggle svg polyline,
.tutor-learning-header .kge-course-menu-toggle svg path {
    stroke: currentColor !important;
}


/* ---------------------------------------------------------
   v2.4 responsive header placement + sidebar close control
   --------------------------------------------------------- */

/* The menu button must remain visible on all header sizes. */
.tutor-learning-header .kge-course-menu-toggle {
    flex: 0 0 auto !important;
}

/* When Tutor opens the curriculum as a responsive overlay, keep its
   top-right close/X control highly visible against the dark-green panel. */
.tutor-learning-sidebar .kge-sidebar-close-button {
    color: #C5A059 !important;
    border: 1px solid rgba(197, 160, 89, .75) !important;
    background: rgba(197, 160, 89, .07) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.tutor-learning-sidebar .kge-sidebar-close-button:hover,
.tutor-learning-sidebar .kge-sidebar-close-button:focus-visible {
    color: #E5C98D !important;
    border-color: #C5A059 !important;
    background: rgba(197, 160, 89, .15) !important;
}

.tutor-learning-sidebar .kge-sidebar-close-button i,
.tutor-learning-sidebar .kge-sidebar-close-button i::before,
.tutor-learning-sidebar .kge-sidebar-close-button [class*="tutor-icon"],
.tutor-learning-sidebar .kge-sidebar-close-button [class*="tutor-icon"]::before {
    color: currentColor !important;
    opacity: 1 !important;
}

.tutor-learning-sidebar .kge-sidebar-close-button svg {
    color: currentColor !important;
    opacity: 1 !important;
}

.tutor-learning-sidebar .kge-sidebar-close-button svg path,
.tutor-learning-sidebar .kge-sidebar-close-button svg line,
.tutor-learning-sidebar .kge-sidebar-close-button svg polyline {
    stroke: currentColor !important;
    fill: none;
}

/* Small/medium learning windows:
   menu toggle is physically moved by JS to immediately before Back.
   These rules keep spacing and sizing tidy after the move. */
@media (max-width: 1099px) {
    .tutor-learning-header .kge-course-menu-toggle.kge-menu-moved-left {
        margin-left: 0 !important;
        margin-right: 8px !important;
        flex: 0 0 auto !important;
    }
}


/* =========================================================
   KGE v2.4.1.2 — EXACT DOM / NORMAL-FLOW HEADER FIX
   Uses the structure shown in DevTools:
   [wrapper: hamburger + back] [h5 title] [complete]
   ========================================================= */

@media (max-width: 1099px) {

    /* Move BOTH left controls inward as one group.
       This works even when DevTools makes the viewport < 700px. */
    .tutor-learning-header .kge-left-controls-exact {
        margin-left: 42px !important;
        margin-right: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        flex: 0 0 auto !important;
        position: relative !important;
        transform: none !important;
    }

    /* Cancel any transform/margin that Tutor or the earlier working JS
       applied to the hamburger after it was moved into this wrapper. */
    .tutor-learning-header .kge-left-controls-exact .kge-course-menu-toggle,
    .tutor-learning-header .kge-left-controls-exact .kge-menu-moved-left {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    /* Keep the Back button its normal square size and in normal flow. */
    .tutor-learning-header .kge-left-controls-exact .kge-fixed-course-back {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    /* THIS is the real Tutor title element shown in your DevTools.
       Put a clear gap after the Back button. */
    .tutor-learning-header h5.tutor-learning-header-title.kge-exact-header-title {
        margin-left: 30px !important;
        padding-left: 0 !important;
        position: relative !important;
        left: auto !important;
        transform: none !important;
        min-width: 0 !important;
        flex: 0 1 auto !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

/* Permanently visible KGE-gold X on the responsive curriculum close button. */
.tutor-learning-sidebar .kge-sidebar-close-button {
    position: relative !important;
    color: #C5A059 !important;
    border-color: rgba(197,160,89,.82) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.tutor-learning-sidebar .kge-sidebar-close-button::after {
    content: "×" !important;
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #C5A059 !important;
    -webkit-text-fill-color: #C5A059 !important;
    font-family: Arial, sans-serif !important;
    font-size: 30px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    z-index: 50 !important;
}

/* Remove the unwanted divider from the exact left-control wrapper. */
.tutor-learning-header .kge-left-controls-exact,
.tutor-learning-header .kge-left-controls-exact::before,
.tutor-learning-header .kge-left-controls-exact::after,
.tutor-learning-header .kge-fixed-course-back,
.tutor-learning-header .kge-fixed-course-back::before,
.tutor-learning-header .kge-fixed-course-back::after {
    border-left: 0 !important;
    border-right: 0 !important;
    border-inline-start: 0 !important;
    border-inline-end: 0 !important;
    background-image: none !important;
}

.tutor-learning-header .kge-left-controls-exact::before,
.tutor-learning-header .kge-left-controls-exact::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   KGE v2.4.1.3 — LEFT GROUP POSITION TWEAK ONLY
   Keep the now-correct layout; move the entire left control
   group closer to the edge while retaining comfortable padding.
   ========================================================= */

@media (max-width: 1099px) {
    .tutor-learning-header .kge-left-controls-exact {
        margin-left: 20px !important;
    }
}


/* =========================================================
   KGE v2.4.1.4 — PREMIUM TUTOR QUIZ DESIGN
   Styling only. Sidebar/header behaviour is untouched.
   ========================================================= */

body.single-tutor_quiz {
    --kge-green: #001F18;
    --kge-green-2: #00382B;
    --kge-gold: #C5A059;
    --kge-gold-light: #E5C98D;
    --kge-success: #3B7543;
    --kge-error: #8A1F2D;
    --kge-bg: #F5F6F4;
    --kge-card: #FFFFFF;
    --kge-border: #E2E7E4;
}

/* Main quiz canvas */
body.single-tutor_quiz .tutor-quiz-wrap,
body.single-tutor_quiz .tutor-quiz-body,
body.single-tutor_quiz .tutor-quiz-content,
body.single-tutor_quiz .tutor-quiz-attempt-details,
body.single-tutor_quiz .tutor-quiz-questions {
    font-family: 'Montserrat', sans-serif !important;
}

/* Quiz page background */
body.single-tutor_quiz .tutor-learning-area-content,
body.single-tutor_quiz .tutor-quiz-wrap {
    background: var(--kge-bg) !important;
}

/* Premium quiz shell */
body.single-tutor_quiz .tutor-quiz-questions {
    width: min(980px, calc(100% - 40px)) !important;
    margin: 28px auto 36px !important;
    padding: 28px 30px 34px !important;
    background: var(--kge-card) !important;
    border: 1px solid var(--kge-border) !important;
    border-top: 7px solid var(--kge-gold) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 30px rgba(0, 31, 24, .08) !important;
    box-sizing: border-box !important;
}

/* Question counter row */
body.single-tutor_quiz .tutor-quiz-question-meta {
    margin: 0 0 20px !important;
    padding: 0 !important;
    color: var(--kge-green) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

body.single-tutor_quiz .tutor-quiz-question-indicator {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #F8F4E8 !important;
    border: 1px solid rgba(197,160,89,.32) !important;
    color: var(--kge-green) !important;
}

body.single-tutor_quiz .tutor-quiz-question-indicator strong {
    color: var(--kge-green) !important;
    font-weight: 800 !important;
}

/* Question card */
body.single-tutor_quiz .tutor-quiz-question-wrapper {
    padding: 24px 24px 26px !important;
    background: #fff !important;
    border: 1px solid var(--kge-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 5px 16px rgba(0,31,24,.05) !important;
}

/* Number badge / question heading area */
body.single-tutor_quiz .tutor-quiz-question-wrapper .tutor-quiz-question-title,
body.single-tutor_quiz .tutor-quiz-question-wrapper h3,
body.single-tutor_quiz .tutor-quiz-question-wrapper h4,
body.single-tutor_quiz .tutor-quiz-question-wrapper h5 {
    color: var(--kge-green) !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

/* Small number tile at start of question */
body.single-tutor_quiz .tutor-quiz-question-wrapper .tutor-quiz-question-no,
body.single-tutor_quiz .tutor-quiz-question-wrapper [class*="question-no"],
body.single-tutor_quiz .tutor-quiz-question-wrapper [class*="question-number"] {
    background: #F8F4E8 !important;
    color: var(--kge-green) !important;
    border: 1px solid rgba(197,160,89,.35) !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
}

/* Points pill */
body.single-tutor_quiz .tutor-quiz-question-wrapper [class*="point"],
body.single-tutor_quiz .tutor-quiz-question-wrapper [class*="mark"] {
    background: #F5F6F4 !important;
    border: 1px solid var(--kge-border) !important;
    color: #66716C !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
}

/* Answer grid */
body.single-tutor_quiz .tutor-quiz-question-wrapper ul,
body.single-tutor_quiz .tutor-quiz-question-wrapper .tutor-quiz-answer-wrap,
body.single-tutor_quiz .tutor-quiz-question-wrapper [class*="answer"] {
    box-sizing: border-box !important;
}

/* Individual answer choice cards */
body.single-tutor_quiz .tutor-quiz-question-wrapper label {
    border-radius: 12px !important;
    transition: border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease !important;
}

body.single-tutor_quiz .tutor-quiz-question-wrapper label:has(input[type="radio"]),
body.single-tutor_quiz .tutor-quiz-question-wrapper label:has(input[type="checkbox"]) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 54px !important;
    padding: 13px 15px !important;
    background: #FAFBFA !important;
    border: 1px solid #E3E8E5 !important;
    color: #1E2B27 !important;
    cursor: pointer !important;
}

body.single-tutor_quiz .tutor-quiz-question-wrapper label:has(input[type="radio"]):hover,
body.single-tutor_quiz .tutor-quiz-question-wrapper label:has(input[type="checkbox"]):hover {
    border-color: rgba(197,160,89,.72) !important;
    background: #FFFDF7 !important;
    box-shadow: 0 5px 12px rgba(0,31,24,.05) !important;
    transform: translateY(-1px) !important;
}

body.single-tutor_quiz .tutor-quiz-question-wrapper label:has(input[type="radio"]:checked),
body.single-tutor_quiz .tutor-quiz-question-wrapper label:has(input[type="checkbox"]:checked) {
    border-color: var(--kge-gold) !important;
    background: #FBF6E9 !important;
    box-shadow: 0 0 0 2px rgba(197,160,89,.10) !important;
}

/* Native radio / checkbox accent */
body.single-tutor_quiz .tutor-quiz-question-wrapper input[type="radio"],
body.single-tutor_quiz .tutor-quiz-question-wrapper input[type="checkbox"] {
    accent-color: var(--kge-green-2) !important;
}

/* Correct / incorrect states if Tutor adds state classes */
body.single-tutor_quiz .tutor-quiz-question-wrapper .correct,
body.single-tutor_quiz .tutor-quiz-question-wrapper .is-correct,
body.single-tutor_quiz .tutor-quiz-question-wrapper [class*="correct-answer"] {
    border-color: rgba(59,117,67,.55) !important;
    background: #F1F7F2 !important;
    color: var(--kge-success) !important;
}

body.single-tutor_quiz .tutor-quiz-question-wrapper .incorrect,
body.single-tutor_quiz .tutor-quiz-question-wrapper .is-incorrect,
body.single-tutor_quiz .tutor-quiz-question-wrapper [class*="wrong-answer"] {
    border-color: rgba(138,31,45,.45) !important;
    background: #FBF3F4 !important;
    color: var(--kge-error) !important;
}

/* Header/title/progress */
body.single-tutor_quiz .tutor-quiz-header {
    width: min(980px, calc(100% - 40px)) !important;
    margin: 24px auto 0 !important;
}

body.single-tutor_quiz .tutor-quiz-header h2,
body.single-tutor_quiz .tutor-quiz-header h3,
body.single-tutor_quiz .tutor-quiz-header h4,
body.single-tutor_quiz .tutor-quiz-header [class*="title"] {
    color: var(--kge-green) !important;
    font-weight: 800 !important;
}

body.single-tutor_quiz progress,
body.single-tutor_quiz .tutor-progress-bar,
body.single-tutor_quiz [class*="progress-bar"] {
    accent-color: var(--kge-gold) !important;
}

/* Bottom navigation */
body.single-tutor_quiz .tutor-quiz-footer,
body.single-tutor_quiz .tutor-quiz-footer-button,
body.single-tutor_quiz [class*="quiz-footer"] {
    font-family: 'Montserrat', sans-serif !important;
}

body.single-tutor_quiz .tutor-quiz-footer {
    width: min(980px, calc(100% - 40px)) !important;
    margin: 0 auto 28px !important;
    padding: 18px 0 0 !important;
}

/* Main action buttons */
body.single-tutor_quiz .tutor-quiz-footer .tutor-btn,
body.single-tutor_quiz .tutor-quiz-footer button,
body.single-tutor_quiz button[type="submit"] {
    min-height: 46px !important;
    padding: 0 24px !important;
    border-radius: 12px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

body.single-tutor_quiz .tutor-quiz-footer .tutor-btn-primary,
body.single-tutor_quiz .tutor-quiz-footer button:not(.tutor-btn-ghost),
body.single-tutor_quiz button[type="submit"] {
    background: var(--kge-green-2) !important;
    border-color: var(--kge-green-2) !important;
    color: #fff !important;
}

body.single-tutor_quiz .tutor-quiz-footer .tutor-btn-primary:hover,
body.single-tutor_quiz .tutor-quiz-footer button:not(.tutor-btn-ghost):hover,
body.single-tutor_quiz button[type="submit"]:hover {
    background: var(--kge-green) !important;
    border-color: var(--kge-gold) !important;
    color: #fff !important;
}

/* Skip / secondary action */
body.single-tutor_quiz .tutor-quiz-footer .tutor-btn-ghost,
body.single-tutor_quiz .tutor-quiz-footer a {
    color: #69736F !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body.single-tutor_quiz .tutor-quiz-footer .tutor-btn-ghost:hover,
body.single-tutor_quiz .tutor-quiz-footer a:hover {
    color: var(--kge-green) !important;
}

/* Responsive quiz card */
@media (max-width: 767px) {
    body.single-tutor_quiz .tutor-quiz-header,
    body.single-tutor_quiz .tutor-quiz-questions,
    body.single-tutor_quiz .tutor-quiz-footer {
        width: calc(100% - 24px) !important;
    }

    body.single-tutor_quiz .tutor-quiz-questions {
        margin-top: 18px !important;
        padding: 20px 16px 24px !important;
        border-radius: 18px !important;
    }

    body.single-tutor_quiz .tutor-quiz-question-wrapper {
        padding: 18px 14px 20px !important;
    }

    body.single-tutor_quiz .tutor-quiz-question-wrapper label:has(input[type="radio"]),
    body.single-tutor_quiz .tutor-quiz-question-wrapper label:has(input[type="checkbox"]) {
        min-height: 50px !important;
        padding: 12px 13px !important;
    }
}


/* =========================================================
   KGE v2.4.2.3 — VERIFIED QUIZ RULES
   ========================================================= */

/* Skip is removed for Mini Quiz + Final Knowledge Check attempts. */
body.single-tutor_quiz .kge-2423-hide-skip {
    display: none !important;
}

/* Forward action stays visible but clearly unavailable without an answer. */
body.single-tutor_quiz .kge-2423-forward-blocked {
    opacity: .45 !important;
    cursor: not-allowed !important;
}

/* The Tutor-native retry source stays in its original Alpine/Tutor scope
   but is visually hidden. The top proxy clicks this real button. */
body.single-tutor_quiz .kge-2423-native-retry-source {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    clip-path: inset(50%) !important;
    pointer-events: none !important;
}

/* Top title/action row on the quiz intro / attempt-history page. */
body.single-tutor_quiz .kge-2423-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 0 18px !important;
}

body.single-tutor_quiz .kge-2423-title-row > h1,
body.single-tutor_quiz .kge-2423-title-row > h2,
body.single-tutor_quiz .kge-2423-title-row > h3,
body.single-tutor_quiz .kge-2423-title-row > h4,
body.single-tutor_quiz .kge-2423-title-row > h5 {
    margin: 0 !important;
    flex: 1 1 auto !important;
}

/* Summary-page top retry host. */
body.single-tutor_quiz .kge-2423-summary-retry-row {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin: 0 0 14px !important;
}

/* One visual treatment for both quiz types. */
body.single-tutor_quiz .kge-2423-retry-proxy {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;

    min-width: 205px !important;
    min-height: 52px !important;
    padding: 0 24px !important;

    border: 1px solid #001F18 !important;
    border-radius: 12px !important;
    background: #001F18 !important;
    color: #FFFFFF !important;

    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    box-shadow: 0 6px 16px rgba(0,31,24,.12) !important;
    cursor: pointer !important;
}

body.single-tutor_quiz .kge-2423-retry-proxy:hover,
body.single-tutor_quiz .kge-2423-retry-proxy:focus-visible {
    background: #00382B !important;
    border-color: #C5A059 !important;
    color: #FFFFFF !important;
}

/* Continue Lesson disappears only when Tutor itself supplied a valid Retry action. */
body.single-tutor_quiz .kge-2423-hide-continue {
    display: none !important;
}

/* Historical attempts created before answer-required may have unanswered items.
   Make the arithmetic explicit instead of showing 3 + 6 beside "10 total". */
body.single-tutor_quiz .kge-2423-unanswered-stat {
    color: #6F7774 !important;
}

@media (max-width: 767px) {
    body.single-tutor_quiz .kge-2423-title-row {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.single-tutor_quiz .kge-2423-retry-proxy {
        width: 100% !important;
    }
}


/* =========================================================
   KGE v2.4.2.4 — DESKTOP SIDEBAR WIDTH + INVISIBLE SCROLLBAR
   Large screens only. Mobile/tablet Tutor behaviour is untouched.
   ========================================================= */

@media (min-width: 1100px) {

    /*
     * Keep vertical scrolling fully functional while removing the visible
     * scrollbar track/thumb from the curriculum sidebar.
     */
    .tutor-learning-sidebar,
    .tutor-learning-sidebar * {
        scrollbar-width: none !important;       /* Firefox */
        -ms-overflow-style: none !important;    /* legacy Edge/IE */
    }

    .tutor-learning-sidebar::-webkit-scrollbar,
    .tutor-learning-sidebar *::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
        display: none !important;
    }
}


/* =========================================================
   KGE v2.4.2.5 — COMPACT COMPLETE BUTTONS
   Reduces both "Mark as Complete" and "Completed" considerably
   while keeping the existing wording and check icon.
   ========================================================= */

.tutor-learning-header .kge-compact-completion-button {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    gap: 6px !important;
}

.tutor-learning-header .kge-compact-completion-button span,
.tutor-learning-header .kge-compact-completion-button * {
    font-size: 11px !important;
    line-height: 1 !important;
}

.tutor-learning-header .kge-compact-completion-button svg {
    width: 15px !important;
    height: 15px !important;
}

/* Smaller again on tablet/mobile, but still text-based rather than icon-only. */
@media (max-width: 1099px) {
    .tutor-learning-header .kge-compact-completion-button {
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 8px !important;
        border-radius: 8px !important;
        font-size: 9px !important;
        gap: 4px !important;
    }

    .tutor-learning-header .kge-compact-completion-button span,
    .tutor-learning-header .kge-compact-completion-button * {
        font-size: 9px !important;
    }

    .tutor-learning-header .kge-compact-completion-button svg {
        width: 13px !important;
        height: 13px !important;
    }
}


/* =========================================================
   KGE v2.4.2.14 — PERSISTENT DESKTOP SIDEBAR REOPEN BUTTON
   Tutor's native fullscreen/sidebar button lives inside the sidebar.
   When Tutor hides the sidebar, that native control disappears with it.
   This proxy remains outside the sidebar and is shown only while the
   desktop curriculum sidebar is hidden/fullscreen.
   ========================================================= */
.kge-sidebar-reopen-proxy {
    display: none !important;
}

@media (min-width: 1100px) {
    .kge-sidebar-reopen-proxy {
        position: fixed !important;
        left: 18px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 2147482000 !important;
        width: 54px !important;
        height: 54px !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid rgba(197,160,89,.75) !important;
        border-radius: 13px !important;
        background: #ffffff !important;
        color: #001F18 !important;
        box-shadow: 0 10px 28px rgba(0,31,24,.18) !important;
        cursor: pointer !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity .16s ease, transform .16s ease, box-shadow .16s ease !important;
    }

    .kge-sidebar-reopen-proxy.kge-is-visible {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .kge-sidebar-reopen-proxy:hover,
    .kge-sidebar-reopen-proxy:focus-visible {
        transform: translateY(-50%) translateX(2px) !important;
        border-color: #C5A059 !important;
        box-shadow: 0 13px 32px rgba(0,31,24,.24) !important;
        outline: none !important;
    }

    .kge-sidebar-reopen-proxy svg {
        width: 28px !important;
        height: 28px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        pointer-events: none !important;
    }
}
