:root {
    --ec-blue: #2f6fc8;
    --ec-orange: #ff8412;
    --ec-bg: #f4f6fa;
    --ec-soft: #f5f7ff;
    --ec-text: #0b0b0f;
    --ec-muted: #8b8fa1;
    --ec-border: #d9dbe3;
    --ec-danger: #f41f24;
}

.ec-student-page,
.ec-admin-content-only {
    font-family: Poppins, Arial, sans-serif !important;
    color: var(--ec-text) !important;
    box-sizing: border-box !important;
}

.ec-student-page *,
.ec-admin-content-only * {
    box-sizing: border-box !important;
}

.ec-student-page h2 {
    font-size: 18px !important;
    margin: 0 0 16px 0 !important;
    font-weight: 600 !important;
}

.ec-form label {
    display: block;
    font-weight: 700;
    margin-top: 14px;
}

.ec-form input,
.ec-form select,
.ec-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #aaaaaa;
    border-radius: 6px;
    box-sizing: border-box;
}

.ec-form textarea {
    min-height: 110px;
}

.ec-admin-content-only {
    width: 100%;
}

.ec-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    border: 0 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    font-weight: 600 !important;
}

.ec-btn-primary {
    background: var(--ec-blue) !important;
    color: #ffffff !important;
}

.ec-btn-orange {
    background: var(--ec-orange) !important;
    color: #ffffff !important;
}

.ec-card .ec-btn {
    margin: 0 12px 16px 12px !important;
    width: calc(100% - 24px) !important;
}

.ec-btn-secondary {
    background: #eceff5;
    color: #111111;
}

.ec-btn-small {
    padding: 6px 12px;
    font-size: 13px;
}

.ec-alert {
    padding: 12px 14px;
    border-radius: 8px;
    margin: 12px 0;
}

.ec-alert-error {
    background: #fff0f0;
    color: #9a0f0f;
}

.ec-alert-warning {
    background: #fff9e6;
    color: #765600;
}

.ec-empty {
    padding: 28px;
    text-align: center;
    color: var(--ec-muted);
}

.ec-student-page {
    width: 100%;
}

.ec-student-page.narrow {
    max-width: 900px;
    margin: auto;
}

.ec-panel,
.ec-admin-panel {
    background: #ffffff;
    border: 1px solid var(--ec-border);
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
}

.ec-student-page .ec-panel {
    background: var(--ec-soft);
}

.ec-admin-panel {
    margin-bottom: 30px;
}

.ec-admin-panel.narrow {
    max-width: 900px;
}

.ec-card,
.ec-admin-card {
    flex: 0 0 auto !important;
    width: 250px !important;
    background: #ffffff !important;
    border: 1px solid #ccd0d8 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.04) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.ec-card-img {
    height: 140px !important;
    object-fit: cover !important;
    width: 100% !important;
    border-bottom: 1px solid #eeeeee !important;
}

.ec-admin-card {
    background: #ffffff;
    border: 1px solid #ccd0d8;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    text-align: center;
    overflow: hidden;
    border-radius: 18px;
}

.ec-admin-card h3 {
    font-size: 22px;
    margin: 12px;
}

.ec-card .ec-btn {
    margin: 10px 18px 18px;
    width: calc(100% - 36px);
}

.peach {
    background: #ffeadc;
}

.blue {
    background: #dcecff;
}

.green {
    background: #e3f4ec;
}

.ec-admin-card-grid {
    display: grid;
    grid-template-columns:
        repeat(auto-fill, minmax(230px, 1fr));
    gap: 28px;
}

.ec-result {
    margin-top: 20px;
    background: #eef9ee;
    padding: 18px;
    border-radius: 10px;
}

@media (max-width: 768px) {
.ec-student-page,
    .ec-admin-content-only,
    .ec-content-box {
        padding: 16px !important;
    }
.ec-card,
    .ec-admin-card {
        width: 100% !important;
        max-width: 340px !important;
    }
.ec-panel,
    .ec-admin-panel {
        padding: 20px;
    }
}

.ec-student-page,
.ec-admin-content-only,
.ec-content-box {
    width: 98% !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 24px !important;
}

.ec-content-box .ec-stats-row,
.ec-content-box .ec-admin-panel,
.ec-content-box .ec-panel,
.ec-content-box .ec-two-col,
.ec-content-box .ec-card-grid,
.ec-content-box .ec-table {
    width: 100% !important;
    max-width: none !important;
}

.ec-content-box .ec-card,
.ec-content-box .ec-card.big,
.ec-content-box .ec-admin-card {
    width: 100% !important;
    max-width: none !important;
}

.ec-kid-page {
    --ec-kid-blue: var(--ec-blue, #2f6fc8);
    --ec-kid-blue-dark: #245eaf;
    --ec-kid-orange: var(--ec-orange, #ff8412);
    --ec-kid-text: var(--ec-text, #0b0b0f);
    --ec-kid-muted: #697386;
    --ec-kid-border: #e0e6ef;
    --ec-kid-surface: #ffffff;
    --ec-kid-soft: #f6f9ff;

    width: 98% !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: clamp(18px, 2.4vw, 28px) !important;
    color: var(--ec-kid-text) !important;
    font-family: Poppins, Arial, sans-serif !important;
}

.ec-kid-page *,
.ec-kid-page *::before,
.ec-kid-page *::after {
    box-sizing: border-box !important;
}

.ec-kid-page .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.ec-kid-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: var(--ec-kid-blue) !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
    font-weight: 750 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
}

.ec-kid-count-badge {
    min-height: 23px;
    padding: 4px 7px;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    color: #2c62a6;
    background: #eaf3ff;
    border-radius: 999px;
    font-size: 8.5px;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
}

.ec-kid-h5p-content {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e1e6ee;
    border-radius: 12px;
}

.ec-kid-h5p-content iframe,
.ec-kid-h5p-content .h5p-iframe-wrapper,
.ec-kid-h5p-content .h5p-content {
    max-width: 100% !important;
}

.ec-kid-finish-area .ec-btn {
    min-width: 130px;
    min-height: 41px !important;
    margin: 0 !important;
    border-radius: 9px !important;
}

.ec-kid-finish-area .ec-result {
    width: 100%;
    margin: 0 !important;
}

.ec-kid-table-wrap {
    width: 100%;
    overflow-x: auto;
    background: #ffffff;
    scrollbar-width: thin;
    scrollbar-color: #b8c1cc transparent;
    -webkit-overflow-scrolling: touch;
}

.ec-kid-table-wrap:focus-visible {
    outline: 3px solid rgba(47, 111, 200, 0.15);
    outline-offset: -3px;
}

.ec-kid-status.is-completed {
    color: #27713a;
    background: #e7f6e2;
    border-color: #d3ebca;
}

.ec-kid-status.is-progress {
    color: #275f9f;
    background: #e9f3ff;
    border-color: #d4e7ff;
}

.ec-kid-status.is-neutral {
    color: #8a6500;
    background: #fff4d2;
    border-color: #f1e1ad;
}

.ec-kid-empty-table {
    min-height: 125px;
    display: grid;
    place-items: center;
    color: var(--ec-kid-muted);
    font-size: 11.5px;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 680px) {
.ec-kid-page {
        width: 100% !important;
        padding: 14px !important;
    }
.ec-kid-empty-row td {
        display: block;
        padding: 0;
    }
.ec-kid-empty-row td::before {
        display: none;
    }
}

@media (max-width: 420px) {
.ec-kid-page {
        padding: 11px !important;
    }
}

.ec-kid-page {
    --ec-kid-blue: var(--ec-blue, #2f6fc8);
    --ec-kid-blue-dark: #245eaf;
    --ec-kid-orange: var(--ec-orange, #ff8412);
    --ec-kid-text: var(--ec-text, #0b0b0f);
    --ec-kid-muted: #666a76;
    --ec-kid-border: #d9dbe3;
    --ec-kid-surface: #ffffff;
    --ec-kid-soft: var(--ec-soft, #f5f7ff);
}

.ec-kid-eyebrow {
    color: var(--ec-kid-orange) !important;
}

.ec-kid-count-badge {
    border: 1px solid transparent !important;
}

.ec-kid-page {
    --ec-kid-blue: var(--ec-blue, #2f6fc8);
    --ec-kid-blue-dark: #245eaf;
    --ec-kid-orange: var(--ec-orange, #ff8412);
    --ec-kid-green: #41a865;
    --ec-kid-yellow: #f1b83d;
    --ec-kid-text: var(--ec-text, #0b0b0f);
    --ec-kid-muted: #687080;
    --ec-kid-border: #dde2ea;
    --ec-kid-surface: #ffffff;
    --ec-kid-soft: var(--ec-soft, #f5f7ff);
}

.ec-kid-count-badge {
    min-height: 22px !important;
    padding: 3px 7px !important;
    font-size: 8.5px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
}

@media (max-width: 430px) {
.ec-kid-count-badge {
        justify-self: start !important;
    }
}

.ec-kid-page {
    width: calc(100% - 32px) !important;
    max-width: 1320px !important;
    min-height: 0 !important;
    margin: 18px auto 28px !important;
    padding: clamp(18px, 2.2vw, 28px) !important;
    display: block !important;
    overflow: hidden !important;
    color: var(--ec-kid-text) !important;
    background: rgba(255, 255, 255, 0.97) !important;
    border: 1px solid rgba(217, 219, 227, 0.95) !important;
    border-radius: 22px !important;
    box-shadow:
        0 18px 45px rgba(27, 40, 63, 0.12)
        !important;
    backdrop-filter: blur(5px) !important;
}

.ec-kid-page .ec-student-topbar,
.ec-kid-page .ec-admin-topbar,
.ec-kid-page .ec-admin-sidebar {
    display: none !important;
}

.ec-kid-count-badge {
    min-height: 20px !important;
    padding: 3px 6px !important;
    font-size: 8px !important;
}

.ec-kid-h5p-content {
    background: #ffffff !important;
    border-radius: 12px !important;
}

.ec-kid-table-wrap {
    background: #ffffff !important;
}

.ec-kid-h5p-stage {
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    display: grid !important;
    gap: 15px !important;
}

.ec-kid-h5p-content {
    width: 100% !important;
    max-width: 940px !important;
    min-height: 300px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #e1e5eb !important;
    border-radius: 12px !important;
}

.ec-kid-h5p-content > *,
.ec-kid-h5p-content .h5p-iframe-wrapper,
.ec-kid-h5p-content .h5p-content {
    width: 100% !important;
    max-width: 940px !important;
    margin: 0 auto !important;
}

.ec-kid-h5p-content iframe {
    width: 100% !important;
    max-width: 940px !important;
    margin: 0 auto !important;
    display: block !important;
    border: 0 !important;
}

@media (max-width: 700px) {
.ec-kid-h5p-stage,
    .ec-kid-finish-area {
        max-width: 100% !important;
    }
.ec-kid-h5p-content {
        min-height: 250px !important;
    }
}

.ec-kid-page-back {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #344054 !important;
    background: #f7f9fc !important;
    border: 1px solid #dce2e9 !important;
    border-radius: 9px !important;
    font-size: 25px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.ec-kid-page-back:hover {
    color: var(--ec-kid-blue) !important;
    background: #eef5ff !important;
    border-color: #c8daf4 !important;
}

.ec-kid-h5p-content {
    width: 100% !important;
    max-width: 940px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 12px !important;
}

.ec-kid-h5p-content > *,
.ec-kid-h5p-content .h5p-iframe-wrapper,
.ec-kid-h5p-content .h5p-content,
.ec-kid-h5p-content iframe {
    width: 100% !important;
    max-width: 940px !important;
    margin: 0 auto !important;
}

.ec-kid-h5p-content iframe {
    display: block !important;
    border: 0 !important;
}

.ec-kid-back-to-topics {
    min-width: 180px !important;
    min-height: 40px !important;
    padding: 8px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    color: #ffffff !important;
    background: var(--ec-kid-orange) !important;
    border: 1px solid var(--ec-kid-orange) !important;
    border-radius: 9px !important;
    box-shadow: 0 5px 12px rgba(255, 132, 18, 0.18) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.ec-kid-back-to-topics:hover {
    color: #ffffff !important;
    filter: brightness(0.97) !important;
    transform: translateY(-1px) !important;
}

.ec-kid-auto-save-status {
    width: 100% !important;
    color: #287443 !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 650 !important;
    text-align: center !important;
}

.ec-kid-auto-save-status.is-error {
    color: #b42332 !important;
}

.ec-kid-h5p-content .h5p-question,
.ec-kid-h5p-content .h5p-question-content,
.ec-kid-h5p-content .h5p-question-feedback,
.ec-kid-h5p-content .h5p-question-scorebar,
.ec-kid-h5p-content .h5p-results,
.ec-kid-h5p-content .h5p-result {
    max-width: 100% !important;
}

@media (max-width: 700px) {
.ec-kid-page-back {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
    }
.ec-kid-back-to-topics {
        width: 100% !important;
        min-width: 0 !important;
    }
}

.ec-kid-h5p-stage {
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    display: grid !important;
    gap: 15px !important;
    position: relative !important;
}

.ec-kid-h5p-redirect-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 20 !important;
    min-height: 300px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 8px !important;
    color: #287443 !important;
    background: #ffffff !important;
    border: 1px solid #dfe4eb !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 15px rgba(22, 34, 51, 0.05) !important;
    text-align: center !important;
}

.ec-kid-h5p-redirect-overlay[hidden] {
    display: none !important;
}

.ec-kid-h5p-redirect-overlay span {
    color: #f3a300 !important;
    font-size: 34px !important;
    line-height: 1 !important;
}

.ec-kid-h5p-redirect-overlay strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
}


.ec-kid-h5p-content,
.ec-kid-h5p-content > *,
.ec-kid-h5p-content .h5p-iframe-wrapper,
.ec-kid-h5p-content .h5p-content,
.ec-kid-h5p-content iframe {
    max-width: 790px !important;
}

.ec-kid-tts-button {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    color: #245fae !important;
    background: #edf5ff !important;
    border: 1px solid #cbdcf3 !important;
}

@media (max-width: 700px) {
.ec-kid-tts-button {
        width: 100% !important;
        margin: 2px 0 0 46px !important;
    }
}

.ec-kid-status {
    min-width: 96px !important;
    min-height: 30px !important;
    padding: 5px 13px !important;
    justify-content: center !important;
    color: #111111 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

.ec-kid-status.is-completed {
    color: #285c35 !important;
    background: #e9f8e7 !important;
    border-color: #aad5ad !important;
}

.ec-kid-status.is-progress {
    color: #244f80 !important;
    background: #eaf3ff !important;
    border-color: #bdd5f2 !important;
}

.ec-kid-status.is-neutral {
    color: #725711 !important;
    background: #fff5d9 !important;
    border-color: #ead79d !important;
}

.ec-kid-empty-table {
    min-height: 160px !important;
    color: #4c5564 !important;
    font-size: 14px !important;
}

.ec-reading-transcript-source {
    display: none !important;
}

body.ec-reading-modal-open {
    overflow: hidden !important;
}

.ec-reading-transcript-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    padding: 22px !important;
    display: grid !important;
    place-items: center !important;
    font-family: Poppins, Arial, sans-serif !important;
}

.ec-reading-transcript-modal[hidden] {
    display: none !important;
}

.ec-reading-transcript-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(15, 23, 42, 0.58) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    opacity: 0 !important;
    transition: opacity 180ms ease !important;
}

.ec-reading-transcript-dialog {
    position: relative !important;
    z-index: 1 !important;
    width: min(560px, 100%) !important;
    max-height: min(760px, calc(100vh - 44px)) !important;
    padding: clamp(24px, 4vw, 34px) !important;
    overflow: auto !important;
    color: #182033 !important;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.88) !important;
    border-radius: 24px !important;
    box-shadow: 0 26px 75px rgba(15, 23, 42, 0.28) !important;
    opacity: 0 !important;
    transform: translateY(16px) scale(0.97) !important;
    transition: opacity 180ms ease, transform 180ms ease !important;
}

.ec-reading-transcript-modal.is-open .ec-reading-transcript-backdrop,
.ec-reading-transcript-modal.is-open .ec-reading-transcript-dialog {
    opacity: 1 !important;
}

.ec-reading-transcript-modal.is-open .ec-reading-transcript-dialog {
    transform: translateY(0) scale(1) !important;
}

.ec-reading-transcript-dialog:focus {
    outline: none !important;
}

.ec-reading-transcript-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    color: #5f6b7d !important;
    background: #f4f6f9 !important;
    border: 1px solid #e2e7ee !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    font-family: Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: transform 140ms ease, background-color 140ms ease !important;
}

.ec-reading-transcript-close:hover {
    color: #273244 !important;
    background: #e9edf3 !important;
    transform: rotate(5deg) scale(1.04) !important;
}

.ec-reading-transcript-hero {
    width: 64px !important;
    height: 64px !important;
    margin: 0 0 18px !important;
    display: grid !important;
    place-items: center !important;
    color: #2f6fc8 !important;
    background: linear-gradient(145deg, #edf5ff, #dcecff) !important;
    border: 1px solid #c7dcf7 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(47, 111, 200, 0.13) !important;
}

.ec-reading-transcript-hero svg {
    width: 34px !important;
    height: 34px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.ec-reading-transcript-eyebrow {
    display: block !important;
    margin-bottom: 5px !important;
    color: #2f6fc8 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

.ec-reading-transcript-modal.is-speaking-result .ec-reading-transcript-hero {
    color: #7c3aed !important;
    background: linear-gradient(145deg, #f5f0ff, #ede6ff) !important;
    border-color: #ddd0ff !important;
    box-shadow: 0 10px 24px rgba(124, 58, 237, 0.13) !important;
}

.ec-reading-transcript-modal.is-speaking-result .ec-reading-transcript-eyebrow {
    color: #7c3aed !important;
}

.ec-reading-transcript-modal.is-speaking-result .ec-reading-transcript-card-heading > span {
    color: #7c3aed !important;
    background: #f3edff !important;
    border-color: #ddd0ff !important;
}

.ec-reading-transcript-modal.is-speaking-result .ec-reading-transcript-done {
    background: #7c3aed !important;
    border-color: #7c3aed !important;
    box-shadow: 0 9px 20px rgba(124, 58, 237, 0.2) !important;
}

.ec-reading-transcript-modal.is-speaking-result .ec-reading-transcript-done:hover {
    background: #6d28d9 !important;
    box-shadow: 0 12px 24px rgba(124, 58, 237, 0.25) !important;
}

.ec-reading-transcript-dialog h2 {
    margin: 0 !important;
    color: #111827 !important;
    font-family: Poppins, Arial, sans-serif !important;
    font-size: clamp(24px, 4vw, 32px) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
}

.ec-reading-transcript-topic {
    margin: 8px 0 22px !important;
    color: #667085 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 600 !important;
}

.ec-reading-transcript-card {
    padding: 18px 20px !important;
    color: #1f2937 !important;
    background: #f8fafc !important;
    border: 1px solid #e1e7ef !important;
    border-radius: 16px !important;
}

.ec-reading-transcript-card-heading {
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
}

.ec-reading-transcript-card-heading > span {
    width: 30px !important;
    height: 30px !important;
    display: grid !important;
    place-items: center !important;
    color: #2f6fc8 !important;
    background: #e8f2ff !important;
    border: 1px solid #cfe3fb !important;
    border-radius: 9px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.ec-reading-transcript-card-heading strong {
    color: #344054 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 750 !important;
}

.ec-reading-transcript-text {
    margin: 0 !important;
    color: #1f2937 !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    font-weight: 450 !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
}

.ec-reading-transcript-done {
    width: 100% !important;
    min-height: 48px !important;
    margin: 20px 0 0 !important;
    padding: 11px 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    background: #2f6fc8 !important;
    border: 1px solid #2f6fc8 !important;
    border-radius: 12px !important;
    box-shadow: 0 9px 20px rgba(47, 111, 200, 0.2) !important;
    font-family: Poppins, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 750 !important;
    cursor: pointer !important;
    transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease !important;
}

.ec-reading-transcript-done:hover {
    background: #245fae !important;
    box-shadow: 0 12px 24px rgba(47, 111, 200, 0.25) !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 620px) {
.ec-reading-transcript-modal {
        padding: 12px !important;
        align-items: end !important;
    }
.ec-reading-transcript-dialog {
        width: 100% !important;
        max-height: calc(100vh - 24px) !important;
        padding: 24px 18px 18px !important;
        border-radius: 22px 22px 14px 14px !important;
        transform: translateY(28px) scale(0.99) !important;
    }
.ec-reading-transcript-hero {
        width: 54px !important;
        height: 54px !important;
        border-radius: 16px !important;
    }
.ec-reading-transcript-dialog h2 {
        padding-right: 42px !important;
        font-size: 24px !important;
    }
.ec-reading-transcript-card {
        padding: 16px !important;
    }
}

.ec-kid-h5p-feature-listening .ec-kid-h5p-content,
.ec-kid-h5p-feature-following .ec-kid-h5p-content,
.ec-kid-h5p-feature-listening .ec-kid-h5p-content > *,
.ec-kid-h5p-feature-following .ec-kid-h5p-content > *,
.ec-kid-h5p-feature-listening .ec-kid-h5p-content .h5p-iframe-wrapper,
.ec-kid-h5p-feature-following .ec-kid-h5p-content .h5p-iframe-wrapper,
.ec-kid-h5p-feature-listening .ec-kid-h5p-content .h5p-content,
.ec-kid-h5p-feature-following .ec-kid-h5p-content .h5p-content,
.ec-kid-h5p-feature-listening .ec-kid-h5p-content iframe,
.ec-kid-h5p-feature-following .ec-kid-h5p-content iframe {
    max-width: 740px !important;
}

.ec-kid-h5p-feature-listening .ec-kid-h5p-content,
.ec-kid-h5p-feature-following .ec-kid-h5p-content {
    margin-inline: auto !important;
    border-radius: 14px !important;
}

body.wp-admin .ecourse-native-admin-page {
    width: calc(100% - 56px) !important;
    max-width: 1120px !important;
    margin: 24px 36px 32px 20px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

body.wp-admin .ecourse-native-admin-page > h1,
body.wp-admin .ecourse-native-admin-page .wrap > h1 {
    display: none !important;
}

body.wp-admin .ecourse-native-admin-page input[type="text"],
body.wp-admin .ecourse-native-admin-page input[type="number"],
body.wp-admin .ecourse-native-admin-page input[type="url"],
body.wp-admin .ecourse-native-admin-page select,
body.wp-admin .ecourse-native-admin-page textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 960px) {
body.wp-admin .ecourse-native-admin-page {
        width: calc(100% - 28px) !important;
        margin: 18px 18px 28px 10px !important;
    }
}

@media (max-width: 782px) {
body.wp-admin .ecourse-native-admin-page {
        width: calc(100% - 20px) !important;
        margin: 14px 10px 24px 10px !important;
    }
}

body.wp-admin .ecourse-native-admin-page {
    width: min(1080px, calc(100% - 48px)) !important;
    max-width: 1080px !important;
    margin: 22px 32px 32px 16px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.wp-admin .ecourse-native-admin-page .ec-table,
body.wp-admin .ecourse-native-admin-page table {
    max-width: 100% !important;
}

@media (max-width: 1200px) {
body.wp-admin .ecourse-native-admin-page {
        width: calc(100% - 36px) !important;
        max-width: none !important;
        margin-right: 20px !important;
        margin-left: 12px !important;
    }
}

@media (max-width: 782px) {
body.wp-admin .ecourse-native-admin-page {
        width: calc(100% - 20px) !important;
        margin: 14px 10px 28px !important;
    }
}

.ec-kid-h5p-feature-quiz .ec-kid-back-to-topics,
.ec-kid-h5p-feature-listening .ec-kid-back-to-topics {
    order: 3 !important;
}

.ec-kid-h5p-feature-quiz .ec-kid-auto-save-status,
.ec-kid-h5p-feature-listening .ec-kid-auto-save-status {
    order: 2 !important;
}

body.wp-admin .ecourse-native-admin-page .ec-admin-content-only,
body.wp-admin .ecourse-following-admin-wrap .ec-admin-content-only {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.wp-admin .ecourse-following-admin-wrap {
    width: min(1080px, calc(100% - 48px)) !important;
    max-width: 1080px !important;
    margin: 22px 32px 32px 16px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.wp-admin .ecourse-following-admin-wrap .ec-fi-admin-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 1200px) {
body.wp-admin .ecourse-following-admin-wrap {
        width: calc(100% - 36px) !important;
        max-width: none !important;
        margin-right: 20px !important;
        margin-left: 12px !important;
    }
}

@media (max-width: 782px) {
body.wp-admin .ecourse-following-admin-wrap {
        width: calc(100% - 20px) !important;
        margin: 14px 10px 28px !important;
    }
}

.ec-kid-h5p-feature-quiz .ec-kid-back-to-topics,
.ec-kid-h5p-feature-listening .ec-kid-back-to-topics {
    order: 1 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.ec-kid-h5p-feature-quiz .ec-kid-auto-save-status,
.ec-kid-h5p-feature-listening .ec-kid-auto-save-status {
    order: 2 !important;
    width: auto !important;
    flex: 1 1 220px !important;
    text-align: center !important;
}

@media (max-width: 700px) {
.ec-kid-h5p-feature-quiz .ec-kid-auto-save-status,
    .ec-kid-h5p-feature-listening .ec-kid-auto-save-status {
        order: 1 !important;
        flex-basis: 100% !important;
    }
.ec-kid-h5p-feature-quiz .ec-kid-back-to-topics,
    .ec-kid-h5p-feature-listening .ec-kid-back-to-topics {
        order: 2 !important;
        width: auto !important;
        min-width: 150px !important;
    }
}

.ecourse-native-admin-page,
.ecourse-native-admin-page *,
.ec-student-page,
.ec-student-page *,
.ec-select-level-page,
.ec-select-level-page * {
    font-family: "Poppins", sans-serif;
    box-sizing: border-box;
}

.ecourse-native-admin-page {
    margin: 20px 20px 0 0;
}

.ec-select-level-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background: #f6f7fb;
}

.ec-select-level-card {
    width: min(100%, 430px);
    padding: 30px;
    border: 1px solid #e3e7ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.ec-select-level-kicker {
    color: #ff7600;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ec-select-level-card h1 {
    margin: 8px 0 6px;
    color: #172033;
    font-size: 28px;
    line-height: 1.25;
}

.ec-select-level-card p {
    margin: 0 0 22px;
    color: #667085;
    line-height: 1.7;
}

.ec-select-level-card label {
    display: block;
    margin-bottom: 7px;
    color: #273044;
    font-weight: 600;
}

.ec-select-level-card select {
    width: 100%;
    min-height: 46px;
    margin-bottom: 18px;
    padding: 9px 12px;
    border: 1px solid #ccd4e0;
    border-radius: 10px;
    background: #fff;
}

.ec-select-level-card .ec-btn {
    width: 100%;
    justify-content: center;
}

@media (max-width: 782px) {
.ecourse-native-admin-page {
        margin-right: 10px;
    }
.ec-select-level-page {
        padding: 14px;
    }
.ec-select-level-card {
        padding: 24px 20px;
    }
}
